From 3573a134c7c7d4d99f605420f9afb2f80e9b8967 Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期六, 22 十一月 2025 14:59:46 +0800
Subject: [PATCH] 宣教更新
---
src/views/patient/propaganda/Missioncreation.vue | 1334 ++++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 1,034 insertions(+), 300 deletions(-)
diff --git a/src/views/patient/propaganda/Missioncreation.vue b/src/views/patient/propaganda/Missioncreation.vue
index 39ed15a..cfd57e0 100644
--- a/src/views/patient/propaganda/Missioncreation.vue
+++ b/src/views/patient/propaganda/Missioncreation.vue
@@ -7,7 +7,7 @@
<el-step
icon="el-icon-edit"
title="鍩虹淇℃伅"
- description="閫夋嫨妯$増銆佸舰寮忕瓑鍩虹淇℃伅"
+ description="閫夋嫨妯℃澘銆佸舰寮忕瓑鍩虹淇℃伅"
></el-step>
<el-step
icon="el-icon-user"
@@ -21,7 +21,7 @@
<div class="leftvlue" style="margin: 0 20px">
<!-- 鍩烘湰淇℃伅 -->
<div v-if="Editprogress == 1">
- <el-alert title="閫夋嫨妯$増銆佸舰寮忕瓑鍩虹淇℃伅" type="success" effect="dark">
+ <el-alert title="閫夋嫨妯℃澘銆佸舰寮忕瓑鍩虹淇℃伅" type="success" effect="dark">
</el-alert>
<div class="leftvlue-jbxx">
<!-- 鍩虹淇℃伅 -->
@@ -41,7 +41,7 @@
/> </el-form-item
></el-col>
<el-col :span="8"
- ><el-form-item label="妯$増鍚嶇О">
+ ><el-form-item label="妯℃澘鍚嶇О">
<el-input
style="width: 220px"
:disabled="true"
@@ -56,7 +56,23 @@
@click="drawermb = true"
circle
></el-button>
+ <el-button
+ v-if="form.templatename"
+ type="success"
+ icon="el-icon-search"
+ @click="previewfnm"
+ circle
+ ></el-button>
</el-col>
+ <!-- <el-col :span="2">
+ <el-button
+ v-if="form.templatename"
+ type="success"
+ icon="el-icon-search"
+ @click="previewfnm"
+ circle
+ ></el-button>
+ </el-col> -->
</el-row>
<el-form-item label="浠诲姟鎻忚堪">
@@ -66,14 +82,44 @@
placeholder="璇疯緭鍏ヤ换鍔℃弿杩�"
/>
</el-form-item>
- <el-form-item label="鍙戦�佽缃細" v-if="currenttype != 2">
+ <el-form-item label="鏈嶅姟褰㈠紡">
+ <SortCheckbox
+ v-model="checkList"
+ :options="checkboxlist"
+ :initialselectedOrder="selectedOrder"
+ value-key="value"
+ label-key="label"
+ @change="checkSelectionChange"
+ />
+ </el-form-item>
+
+ <el-form-item label="鎵ц鍛ㄦ湡" prop="longTask">
+ <el-radio-group v-model="form.longTask">
+ <el-radio :label="0">鑷畾涔夊懆鏈�</el-radio>
+ <el-radio :label="1">闀挎湡浠诲姟</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ <el-row :gutter="20" v-if="form.longTask">
+ <el-col :span="8">
+ <el-form-item label="鍛ㄦ湡鏃堕棿" prop="name">
+ <el-input
+ v-model="form.sendDay"
+ placeholder="榛樿5澶╁悗"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-form-item label="鎵ц璁剧疆" v-if="!form.longTask">
<el-radio-group v-model="form.sendType">
<el-radio :label="1">鏃堕棿娈靛彂閫�</el-radio>
<el-radio :label="3">鏃堕棿鐐瑰彂閫�</el-radio>
<el-radio :label="2">鍗冲埢鍙戦��</el-radio>
</el-radio-group>
</el-form-item>
- <el-form-item label="鍙戦�佹棩鏈燂細" v-if="form.sendType == 1">
+ <el-form-item
+ label="鎵ц鏃ユ湡锛�"
+ v-if="form.sendType == 1 && !form.longTask"
+ >
<el-date-picker
v-model="daytime"
@change="changeTimeday"
@@ -86,7 +132,10 @@
</el-date-picker>
</el-form-item>
- <el-form-item label="鍙戦�佹椂闂寸偣锛�" v-if="form.sendType == 3">
+ <el-form-item
+ label="鎵ц鏃堕棿鐐癸細"
+ v-if="form.sendType == 3 && !form.longTask"
+ >
<div style="display: flex">
<div style="margin-right: 10px">
<el-date-picker
@@ -101,12 +150,13 @@
</div>
</el-form-item>
- <el-form-item label="鍙戦�佹椂闂存锛�" v-if="form.sendType == 1">
+ <el-form-item
+ label="鎵ц鏃堕棿娈碉細"
+ v-if="form.sendType == 1 && !form.longTask"
+ >
<div style="display: flex">
<div style="margin-right: 10px">
- <span style="font-size: 18px; margin-right: 10px"
- >鏃堕棿娈典竴</span
- >
+ <span style="font-size: 18px; margin-right: 10px">鈶�</span>
<el-time-picker
is-range
arrow-control
@@ -121,9 +171,7 @@
</el-time-picker>
</div>
<div style="margin-right: 10px">
- <span style="font-size: 18px; margin-right: 10px"
- >鏃堕棿娈典簩</span
- >
+ <span style="font-size: 18px; margin-right: 10px">鈶�</span>
<el-time-picker
is-range
arrow-control
@@ -138,9 +186,7 @@
</el-time-picker>
</div>
<div style="margin-right: 10px">
- <span style="font-size: 18px; margin-right: 10px"
- >鏃堕棿娈典笁</span
- >
+ <span style="font-size: 18px; margin-right: 10px">鈶�</span>
<el-time-picker
is-range
arrow-control
@@ -156,17 +202,136 @@
</div>
</div>
</el-form-item>
- <el-form-item label="鏈嶅姟褰㈠紡">
- <el-checkbox-group v-model="checkList">
- <el-checkbox
- v-for="(item, index) in checkboxlist"
- :key="index"
- :label="item.value"
- >
- {{ item.label }}</el-checkbox
- >
- </el-checkbox-group>
+ <el-row>
+ <el-col :span="12"
+ ><el-form-item label="寮�鍦虹櫧" prop="kcb">
+ <el-input
+ type="textarea"
+ :rows="3"
+ v-model="form.kcb"
+ placeholder="璇疯緭鍏ュ紑鍦虹櫧"
+ /> </el-form-item
+ ></el-col>
+ <el-col :span="12"
+ ><el-form-item label="缁撴潫璇�" prop="jsy">
+ <el-input
+ type="textarea"
+ :rows="3"
+ v-model="form.jsy"
+ placeholder="璇疯緭鍏ョ粨鏉熻"
+ /> </el-form-item
+ ></el-col>
+ </el-row>
+
+ <el-form-item label="浠诲姟鍏宠仈" prop="longTask">
+ <el-radio-group v-model="form.appltype">
+ <el-radio label="1">绉戝鍏宠仈</el-radio>
+ <el-radio label="2">鐥呭尯鍏宠仈</el-radio>
+ <el-radio label="3">鐤剧梾鍏宠仈</el-radio>
+ <el-radio label="4">鎵嬫湳鍏宠仈</el-radio>
+ </el-radio-group>
</el-form-item>
+ <el-row v-if="form.appltype == 1">
+ <el-col :span="20"
+ ><el-form-item label="閫傜敤绉戝" prop="region">
+ <el-select
+ v-model="deptcodesWards"
+ @remove-tag="removetag"
+ style="width: 400px"
+ size="medium"
+ multiple
+ filterable
+ placeholder="璇烽�夋嫨绉戝"
+ >
+ <el-option
+ class="ruleFormaa"
+ v-for="item in belongDepts"
+ :label="item.deptName"
+ :value="item.deptCode"
+ >
+ </el-option>
+ </el-select> </el-form-item
+ ></el-col>
+ </el-row>
+ <el-row v-if="form.appltype == 2">
+ <el-col :span="20"
+ ><el-form-item label="閫傜敤鐥呭尯" prop="region">
+ <el-select
+ v-model="leavehospitaldistrictcodes"
+ style="width: 400px"
+ @remove-tag="removehpsp"
+ size="medium"
+ multiple
+ filterable
+ placeholder="璇烽�夋嫨鐥呭尯"
+ >
+ <el-option
+ class="ruleFormaa"
+ v-for="item in belongWards"
+ :label="item.districtName"
+ :value="item.districtCode"
+ >
+ </el-option>
+ </el-select> </el-form-item
+ ></el-col>
+ </el-row>
+ <el-row v-if="form.appltype == 3">
+ <div class="xinz-infs">
+ <el-form-item>
+ <template #label>
+ <el-tooltip
+ class="item"
+ effect="light"
+ content="閫夋嫨濂介�傜敤鐤剧梾鍚庯紝鍙互鏂逛究鎮ㄩ�氳繃鐤剧梾璇婃柇鏌ユ壘鍒板搴旂殑鐥呬汉!"
+ placement="top-start"
+ >
+ <i class="el-icon-warning-outline"></i>
+ </el-tooltip>
+ </template>
+ <div style="margin-bottom: 10px">
+ <el-button
+ type="warning"
+ @click="$refs.child.handleAddpatient()"
+ >娣诲姞鐤剧梾璇婃柇</el-button
+ >
+ </div>
+ <el-tag
+ v-for="tag in diagglist"
+ @close="removediagg(tag.icd10code)"
+ type="warning"
+ closable
+ :disable-transitions="false"
+ >
+ {{ tag.icdname }}
+ </el-tag>
+ <!-- <el-tag v-if="hasMore" type="info">+{{ remaining }} more</el-tag> -->
+ </el-form-item>
+ </div>
+ </el-row>
+ <el-row v-if="form.appltype == 4">
+ <el-col :span="20"
+ ><el-form-item label="閫傜敤鎵嬫湳" prop="region">
+ <el-select
+ v-model="operationcodes"
+ style="width: 400px"
+ @remove-tag="removeopera"
+ size="medium"
+ :remote-method="remoteopcode"
+ multiple
+ filterable
+ remote
+ placeholder="璇烽�夋嫨鎵嬫湳"
+ >
+ <el-option
+ class="ruleFormaa"
+ v-for="item in baseoperaList"
+ :label="item.opdesc"
+ :value="item.opcode"
+ >
+ </el-option>
+ </el-select> </el-form-item
+ ></el-col>
+ </el-row>
</el-form>
</div>
</div>
@@ -234,45 +399,6 @@
<div class="examine-jic">
<div class="jic-value">
<el-row :gutter="20">
- <!--鐢ㄦ埛鏁版嵁-->
- <!-- <el-form
- :model="topqueryParams"
- ref="queryForm"
- size="small"
- :inline="true"
- v-show="showSearch"
- label-width="98px"
- >
- <el-form-item label="鎮h�呭悕绉�">
- <el-input v-model="topqueryParams.name"></el-input>
- </el-form-item>
-
- <el-form-item label="灏辫瘖绉戝">
- <el-input v-model="topqueryParams.deptName"></el-input>
- </el-form-item>
- <el-form-item>
- <el-button
- type="primary"
- icon="el-icon-search"
- size="medium"
- @click="handleQuery"
- >鎼滅储</el-button
- >
- <el-button
- icon="el-icon-refresh"
- size="medium"
- @click="resetQuery"
- >閲嶇疆</el-button
- >
- <el-button
- icon="el-icon-upload2"
- size="medium"
- type="warning"
- >褰撳墠鎮h�呬竴閿彂閫�</el-button
- >
- </el-form-item>
- </el-form> -->
- <!-- <el-divider></el-divider> -->
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-select
@@ -295,7 +421,7 @@
icon="el-icon-plus"
size="medium"
:disabled="!patientqueryParams.allhosp"
- @click="handleAddpatient"
+ @click="handleQuery"
>鏂板</el-button
>
</el-col>
@@ -311,6 +437,16 @@
>鍒犻櫎</el-button
>
</el-col>
+ <el-col :span="1.5">
+ <el-button
+ type="info"
+ plain
+ icon="el-icon-upload2"
+ size="medium"
+ @click="handleImport"
+ >瀵煎叆</el-button
+ >
+ </el-col>
<!-- <el-col :span="1.5"> </el-col> -->
</el-row>
@@ -319,7 +455,7 @@
@details="detailhz"
@handleUpdate="handleUpdate"
:currentList="overallCase"
- :tableLabel="tableLabelhz"
+ :tableLabel="tableLabelhzwb"
:serialnumber="false"
:searchTrue="true"
:multiplechoice="false"
@@ -365,30 +501,36 @@
v-show="showSearch"
label-width="98px"
>
- <el-form-item label="鎮h�呭悕绉帮細">
- <el-input v-model="patientqueryParams.name"></el-input>
+ <el-form-item label="鎮h�咃細">
+ <el-input
+ v-model="patientqueryParams.name"
+ @keyup.enter.native="handleQuery"
+ ></el-input>
</el-form-item>
-
- <!-- <el-form-item label="灏辫瘖绉戝" prop="status">
- <el-select
- v-model="patientqueryParams.topic"
- placeholder="璇烽�夋嫨"
+ <el-form-item label="鎮h�呰瘖鏂細">
+ <el-input
+ v-model="patientqueryParams.leavediagname"
+ @keyup.enter.native="handleQuery"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="涓绘不鍖荤敓锛�">
+ <el-input
+ v-model="patientqueryParams.drname"
+ @keyup.enter.native="handleQuery"
+ ></el-input>
+ </el-form-item>
+ <el-select
+ v-model="patientqueryParams.searchscope"
+ placeholder="璇烽�夋嫨鎮h�呰寖鍥�"
+ >
+ <el-option
+ v-for="item in source"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
>
- <el-option-group
- v-for="group in topicoptions[0].children"
- :key="group.deptName"
- :label="group.deptName"
- >
- <el-option
- v-for="item in group.children"
- :key="item.deptId"
- :label="item.deptName"
- :value="item.deptId"
- >
- </el-option>
- </el-option-group>
- </el-select>
- </el-form-item> -->
+ </el-option>
+ </el-select>
<el-form-item>
<el-button
@@ -419,7 +561,7 @@
/>
</el-row>
<pagination
- v-show="patienttotal > 0"
+ v-show="patienttotal > 0 && this.patientqueryParams.allhosp != 6"
:total="patienttotal"
:page.sync="patientqueryParams.pageNum"
:limit.sync="patientqueryParams.pageSize"
@@ -434,15 +576,120 @@
>
</span>
</el-dialog>
- <el-dialog title="妯$増棰勮" :visible.sync="previewtf" width="60%">
+ <!-- 妯℃澘棰勮 -->
+ <el-dialog title="妯℃澘棰勮" :visible.sync="previewtf" width="60%">
<div class="preview-left">
- <!-- 鍗曢�� -->
- <div v-html="richText"></div>
+ <!-- 鏍规嵁妯℃澘绫诲瀷鏄剧ず涓嶅悓鍐呭 -->
+ <div v-if="currentTemplateType == '2'">
+ <!-- 閫氱煡妯℃澘鍙樉绀虹函鏂囨湰鍐呭 -->
+ <div style="white-space: pre-wrap; font-size: 16px; line-height: 1.6">
+ {{ plainTextContent }}
+ </div>
+ </div>
+ <div v-else>
+ <!-- 鍏朵粬绫诲瀷妯℃澘鏄剧ず瀵屾枃鏈唴瀹� -->
+ <div v-html="htmlRichText"></div>
+ </div>
</div>
<span slot="footer" class="dialog-footer">
- <el-button @click="previewGo">鍓嶅線妯$増璇︽儏淇敼</el-button>
<el-button type="primary" @click="previewFn">纭浣跨敤</el-button>
</span>
+ </el-dialog>
+ <!-- 鐢ㄦ埛瀵煎叆瀵硅瘽妗� -->
+ <el-dialog
+ :title="upload.title"
+ :visible.sync="upload.open"
+ width="70%"
+ append-to-body
+ >
+ <el-steps :active="dractive" simple>
+ <el-step title="涓婁紶瀵煎叆鏂囦欢" icon="el-icon-upload"></el-step>
+ <el-step title="瀵煎叆妫�鏌�" icon="el-icon-picture"></el-step>
+ </el-steps>
+ <!-- 涓婁紶瀵煎叆鏂囦欢 -->
+ <div class="download" v-if="dractive == 1">
+ <el-upload
+ class="upload-demo"
+ ref="upload"
+ :limit="1"
+ accept=".xlsx, .xls"
+ :headers="upload.headers"
+ :action="upload.url"
+ :disabled="upload.isUploading"
+ :on-progress="handleFileUploadProgress"
+ :on-success="handleFileSuccess"
+ drag
+ >
+ <i class="el-icon-upload"></i>
+ <div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div>
+ <div class="el-upload__tip text-center" slot="tip">
+ <!-- <div class="el-upload__tip" slot="tip">
+ <el-checkbox v-model="upload.updateSupport" />
+ 鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹�
+ </div> -->
+ <span>浠呭厑璁稿鍏ls銆亁lsx鏍煎紡鏂囦欢銆�</span>
+ <el-link
+ type="primary"
+ :underline="false"
+ style="font-size: 24px; vertical-align: baseline"
+ @click="importTemplate"
+ >涓嬭浇妯℃澘
+ </el-link>
+ <!-- <el-link
+ type="success"
+ :underline="false"
+ style="font-size: 24px; vertical-align: baseline"
+ href="http://m.qpic.cn/psc?/V50ZTolo1AIhq00dqrJP2169QM2VHGTU/ruAMsa53pVQWN7FLK88i5qfmCJclyMduqqL6kjE4h7TXDAjimVtmLmTyGVfF4qlkyOISsYQ4Mxx705X2tkXEIUPrfCS4L4yK.f11SmO8Tq0!/b&bo=twb0AgAAAAADB2U!&rf=viewer_4"
+ target="_blank"
+ >
+ 鏌ョ湅妯℃澘</el-link
+ > -->
+ </div>
+ </el-upload>
+ </div>
+
+ <!-- 瀹屾垚 -->
+ <div class="drexamine" v-else-if="dractive == 2">
+ <div style="display: flex">
+ <img src="@/assets/images/瀵煎叆.png" />
+ <p>瀵煎叆鎮h�呮垚鍔燂紒</p>
+ <p>
+ 鏈鎴愬姛瀵煎叆<span style="color: #72d3a9; font-size: 20px">{{
+ uploadingData.length
+ }}</span
+ >浣嶆偅鑰�
+ </p>
+ </div>
+
+ <el-table :data="uploadingData" style="width: 100%">
+ <el-table-column prop="serial" label="鎮h�卛d"> </el-table-column>
+ <el-table-column prop="name" label="濮撳悕" width="100">
+ </el-table-column>
+ <el-table-column prop="sex" label="鎬у埆" width="100">
+ </el-table-column>
+ <el-table-column prop="idcardno" width="300" label="璇佷欢鍙风爜">
+ </el-table-column>
+ <el-table-column prop="goday" label="鍑虹敓鏃ユ湡"> </el-table-column>
+ <el-table-column prop="telcode" width="200" label="鑱旂郴鏂瑰紡">
+ </el-table-column>
+ <el-table-column prop="createTime" width="200" label="鍒涘缓鏃ユ湡">
+ </el-table-column>
+ </el-table>
+ <!-- <pagination
+ v-show="total > 0"
+ :total="total"
+ :page.sync="queryParams.pageNum"
+ :limit.sync="queryParams.pageSize"
+ @pagination="geterryList"
+ /> -->
+ </div>
+
+ <div slot="footer">
+ <el-button type="primary" @click="submitFileForm">{{
+ dractive == 1 ? "涓嬩竴姝�" : "鍔犲叆浠诲姟"
+ }}</el-button>
+ <el-button @click="submitclose">鍙� 娑�</el-button>
+ </div>
</el-dialog>
<el-drawer
title="瀹f暀鍐呭鍒楄〃"
@@ -463,97 +710,27 @@
v-show="showSearch"
label-width="98px"
>
- <el-form-item
- label="瀹f暀涓婚"
- v-if="currenttype == 1 || currenttype == 8"
- >
- <el-input v-model="topqueryParams.name"></el-input>
+ <el-form-item label="瀹f暀鍚嶇О">
+ <el-input v-model="topqueryParams.preachname"></el-input>
</el-form-item>
- <el-form-item
- label="瀹f暀鍚嶇О"
- v-if="currenttype == 2 || currenttype == 3 || currenttype == 7"
- >
- <el-input
- v-model="topqueryParams.name"
- ></el-input> </el-form-item
- ><el-form-item
- label="閫氱煡鍚嶇О"
- v-if="currenttype == 4 || currenttype == 5"
- >
- <el-input
- v-model="topqueryParams.name"
- ></el-input> </el-form-item
- ><el-form-item label="浣撴濂楅" v-if="currenttype == 5">
- <el-input v-model="topqueryParams.name"></el-input>
- </el-form-item>
- <el-form-item label="闂嵎涓婚" v-if="currenttype == 6">
- <el-input v-model="topqueryParams.name"></el-input>
- </el-form-item>
- <el-form-item label="閫傜敤鐤剧梾" v-if="currenttype != 5">
- <el-input v-model="topqueryParams.name"></el-input>
+ <el-form-item label="瀹f暀绫诲瀷" prop="region">
+ <el-select
+ v-model="topqueryParams.hetype"
+ size="medium"
+ filterable
+ placeholder="璇烽�夋嫨鍒嗙被"
+ >
+ <el-option
+ v-for="item in heLibraryAssortList"
+ :key="item.id"
+ :label="item.value"
+ :value="item.id"
+ >
+ </el-option>
+ </el-select>
</el-form-item>
- <el-form-item
- label="瀹f暀绫诲瀷"
- prop="status"
- v-if="currenttype == 1 || currenttype == 8"
- >
- <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨">
- <el-option
- v-for="item in taskoptions"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item
- label="閫氱煡绫诲瀷"
- prop="status"
- v-if="currenttype == 4 || currenttype == 5"
- >
- <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨">
- <el-option
- v-for="item in taskoptions"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item
- label="瀹f暀绫诲瀷"
- prop="status"
- v-if="currenttype == 2 || currenttype == 3 || currenttype == 7"
- >
- <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨">
- <el-option
- v-for="item in taskoptions"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item
- label="闂嵎绫诲瀷"
- prop="status"
- v-if="currenttype == 6"
- >
- <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨">
- <el-option
- v-for="item in taskoptions"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="閫傜敤褰㈠紡" prop="status">
+ <!-- <el-form-item label="閫傜敤褰㈠紡" prop="status">
<el-select v-model="topqueryParams.topica" placeholder="璇烽�夋嫨">
<el-option
v-for="item in taskoptions"
@@ -563,9 +740,9 @@
>
</el-option>
</el-select>
- </el-form-item>
+ </el-form-item> -->
- <el-form-item label="閫傜敤绉戝" prop="status">
+ <!-- <el-form-item label="閫傜敤绉戝" prop="status">
<el-select v-model="topqueryParams.topicd" placeholder="璇烽�夋嫨">
<el-option
v-for="item in topicoptions"
@@ -575,25 +752,25 @@
>
</el-option>
</el-select>
- </el-form-item>
+ </el-form-item> -->
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="medium"
- @click="handleQuery"
+ @click="Acquisitiontypeget"
>鎼滅储</el-button
>
<el-button
icon="el-icon-refresh"
size="medium"
- @click="resetQuery"
+ @click="resetQuerymb"
>閲嶇疆</el-button
>
</el-form-item>
</el-form>
<el-divider></el-divider>
- <!-- 閫夋嫨妯$増鍒楄〃 -->
+ <!-- 閫夋嫨妯℃澘鍒楄〃 -->
<SFtable
@selectfn="selectfn"
:currentList="userList"
@@ -608,12 +785,19 @@
:total="total"
:page.sync="topqueryParams.pageNum"
:limit.sync="topqueryParams.pageSize"
- @pagination="Acquisitiontype"
+ @pagination="Acquisitiontypeget"
/>
</el-row>
</div>
</div>
</el-drawer>
+ <Optional-Form
+ ref="child"
+ :dialogVisiblepatient="dialogVisiblepatientjb"
+ :overallCase="diagglist"
+ @addoption="dialogVisiblepatientjb = false"
+ @kkoption="dialogVisiblepatientjb = true"
+ />
</div>
</template>
@@ -623,19 +807,36 @@
import store from "@/store";
import {
- getTaskpatient,
- getlibrarylist,
- getFollowuplist,
+ getTaskpatientQC,
+ taskoperhospgetsondel,
+ taskdiaghospgetsondel,
+ getillnesslist,
+ getbaseopera,
+ Externallist,
getQtemplatelist,
+ getQtemplateobj,
+ taskgetQtemplateobj,
TaskQuestioncomit,
- getTaskInfo,
- gethetaskinfo,
- delhetaskinfo,
+ deleteTaskQuestioncomit,
+ Questionnairetaskgetson,
+ getTaskQuestioncomit,
+ depthospgetson,
+ getillness,
Editsingletask,
+ getQtemplateclassify,
+ taskdepthospgetsondel,
+ taskdepthospgetsonlist,
+ taskdiaggetlist,
+ taskopergetlist,
+ getTaskInfo,
+ getheLibraryAssort,
+ getlibrarylist,
} from "@/api/AiCentre/index";
import { listDept } from "@/api/system/dept";
-
+import { getToken } from "@/utils/auth";
import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢
+import OptionalForm from "@/components/OptionalForm";
+import SortCheckbox from "@/components/SortCheckbox"; //琛ㄦ牸缁勪欢
export default {
name: "ServiceDetails",
@@ -643,41 +844,70 @@
return {
title: "瀹f暀鍐呭鍒楄〃",
currenttype: 1, //1瀹f暀2闂ㄨ瘖3鍑洪櫌4澶嶈瘖5浣撴6闂嵎
+ currentTemplateType: "", // 褰撳墠妯℃澘绫诲瀷
+ plainTextContent: "", // 绾枃鏈唴瀹�
id: "", //
- previewid: "", //浠诲姟妯$増浼犻�抜d
+ previewid: "", //浠诲姟妯℃澘浼犻�抜d
libName: "",
overallCase: [], //閫夋嫨鎮h�呮��
allpids: [],
- libId: null, //妯℃澘搴撴ā鐗坕d
+ diagglist: [],
+ libId: null, //妯℃澘搴撴ā鏉縤d
Editprogress: 1, //缂栬緫杩涘害
- drawermb: false, //閫夋嫨妯$増寮圭獥
+ drawermb: false, //閫夋嫨妯℃澘寮圭獥
previewtf: false, //棰勮
loading: false, // 閬僵灞�
patientloading: false, // 閬僵灞�
dialogVisiblepatient: false, //娣诲姞鎮h�呭脊妗�
+ dialogVisiblepatientjb: false, //娣诲姞鐤剧梾寮规
radio: 1,
checkboxlist: [],
+ selectedOrder: [],
+ baseoperaList: [],
+ // 绉戝/鐥呭尯
+ belongWards: [],
tableLabel: [],
questionList: [],
- richText: "<p>Hello, <strong>world</strong>!</p>",
+ uploadingData: [],
+ deptcodesWards: [], //绉戝鏁版嵁
+ leavehospitaldistrictcodes: [], //鐥呭尯鏁版嵁
+ operationcodes: [], //鎵嬫湳鏁版嵁
+ illnesscodes: [], //鐤剧梾鏁版嵁
+ htmlRichText: "<p>Hello, <strong>world</strong>!</p>",
// 鎮h�呰〃鍗�
tableLabelhz: [
- { label: "搴忓彿", width: "", prop: "patid" },
- { label: "鎮h�呭悕绉�", width: "", prop: "name" },
+ { label: "鍑洪櫌鏃ユ湡", width: "150", prop: "endtime" },
+ { label: "鎮h��", width: "", prop: "name" },
+ { label: "韬唤璇�", width: "200", prop: "idcardno" },
+ { label: "鐢佃瘽鍙风爜", width: "180", prop: "telcode" },
{ label: "鎬у埆", width: "", prop: "sex" },
{ label: "骞撮緞", width: "", prop: "age" },
- { label: "灏辫瘖绉戝", width: "", prop: "deptName" },
- { label: "鍏ラ櫌鏃ユ湡", width: "", prop: "inhosptime" },
- { label: "鍒涘缓浜�", width: "", prop: "createBy" },
+ { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" },
+ { label: "涓绘不鍖荤敓", width: "", prop: "drname" },
+ { label: "绉戝", width: "240", prop: "dept" },
+ { label: "鐥呭尯", width: "240", prop: "leavehospitaldistrictname" },
+ ],
+ // 鎮h�呰〃鍗�
+ tableLabelhzwb: [
+ { label: "鍑洪櫌鏃ユ湡", width: "150", prop: "endtime" },
+ { label: "鎮h��", width: "", prop: "name" },
+ { label: "韬唤璇�", width: "200", prop: "sfzh" },
+ { label: "鐢佃瘽鍙风爜", width: "180", prop: "telcode" },
+ { label: "鎬у埆", width: "", prop: "sex" },
+ { label: "骞撮緞", width: "", prop: "age" },
+ { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" },
+ { label: "涓绘不鍖荤敓", width: "", prop: "drname" },
+ { label: "绉戝", width: "180", prop: "deptName" },
+ { label: "鐥呭尯", width: "150", prop: "leavehospitaldistrictname" },
],
tableLabelxj: [
- { label: "瀹f暀鍚嶇О", width: "", prop: "preachname" },
- { label: "瀹f暀鎻忚堪", width: "", prop: "note" },
- { label: "瀹f暀褰㈠紡", width: "", prop: "playType" },
+ { label: "鍒涘缓浜�", width: "", prop: "createBy" },
+ { label: "瀹f暀鍚嶇О", width: "180", prop: "preachname" },
+ { label: "瀹f暀鍐呭", width: "180", prop: "preachcontent" },
+ // { label: "瀹f暀褰㈠紡", width: "", prop: "playType" },
{ label: "閫傜敤鏂瑰紡", width: "", prop: "suitway" },
{ label: "淇敼鏃ユ湡", width: "", prop: "uploadTime" },
- { label: "鍒涘缓浜�", width: "", prop: "createBy" },
],
// 鍙橀噺
tableLabelvariable: [
@@ -692,8 +922,24 @@
{ label: "鐭俊", value: 4 },
{ label: "寰俊鍏紬", value: 5 },
{ label: "閽夐拤", value: 6 },
- { label: "鏅鸿兘鏈哄櫒浜�", value: 7 },
+ // { label: "鏅鸿兘鏈哄櫒浜�", value: 7 },
],
+ upload: {
+ // 鏄惁鏄剧ず寮瑰嚭灞傦紙鐢ㄦ埛瀵煎叆锛�
+ open: false,
+ // 寮瑰嚭灞傛爣棰橈紙鐢ㄦ埛瀵煎叆锛�
+ title: "",
+ // 鏄惁绂佺敤涓婁紶
+ isUploading: false,
+ // 鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹�
+ updateSupport: 0,
+ // 璁剧疆涓婁紶鐨勮姹傚ご閮�
+ headers: { Authorization: "Bearer " + getToken() },
+ // 涓婁紶鐨勫湴鍧�
+ url: process.env.VUE_APP_BASE_API + "/smartor/import/importPatInfo",
+ },
+ //瀵煎叆杩涘害
+ dractive: 1,
// 鏃堕棿澶勭悊
daytime: [], //鏃ユ湡
applydaytime: [], //璁$畻鏃ユ湡
@@ -713,6 +959,8 @@
patientqueryParams: {
pageNum: 1, //
pageSize: 10,
+ leavehospitaldistrictcodes: [],
+ leaveldeptcodes: [],
},
topicoptions: [{ children: [{ children: [] }] }],
showSearch: true, //
@@ -726,7 +974,7 @@
// 闈炲涓鐢�
multiple: true,
// 鐢ㄦ埛琛ㄦ牸鏁版嵁
- userList: [], //妯$増鍒楄〃
+ userList: [], //妯℃澘鍒楄〃
patientuserList: [], //閫夋嫨鎮h�呭垪琛�
sonuserList: [], //閫変腑鎮h�呭垪琛�
delvariableList: [], //鍒犻櫎鍙橀噺涓存椂瀛樺偍
@@ -771,19 +1019,36 @@
},
],
variableListTime: [],
+ sortlist: [],
+ heLibraryAssortList: [
+ { id: 1, value: "瀹f暀" },
+ { id: 2, value: "閫氱煡" },
+ ],
tasktopic: null, //鏂板绫诲瀷
SelectPatientslist: [],
+ belongDepts: [],
+
form: {
patTaskRelevances: [],
sendType: 1,
+ longTask: 0,
templatename: "",
templateid: null,
libtemplateid: null,
+ kcb:
+ "浜茬埍鐨勬偅鑰�-瀹跺睘锛屾垜浠槸" +
+ localStorage.getItem("orgname") +
+ "鐨勫尰鎶や汉鍛橈紝涓轰簡鏇村ソ鍦颁簡瑙f偍鐨勫悍澶嶆儏鍐碉紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝瑙傜湅杩欎唤瀹f暀璧勮銆�",
+ jsy: "鐢熸椿涓婅鍔抽�哥粨鍚堬紝娉ㄦ剰浼戞伅鍜岃惀鍏伙紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈瀹f暀鍐呭灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒",
},
taskoptions: [
{
- value: "1",
+ value: "4",
label: "鍑洪櫌鐥呬汉",
+ },
+ {
+ value: "1",
+ label: "鍦ㄩ櫌鐥呬汉",
},
{
value: "2",
@@ -793,20 +1058,46 @@
value: "3",
label: "浣撴鐥呬汉",
},
+ {
+ value: "6",
+ label: "闄㈠鎮h��",
+ },
+ {
+ value: "5",
+ label: "鎵嬫湳鐥呬汉",
+ },
+ ],
+ source: [
+ {
+ value: 0,
+ label: "鎵�灞炴偅鑰�",
+ },
+ {
+ value: 1,
+ label: "绉戝鎮h��",
+ },
+ {
+ value: 2,
+ label: "鐥呭尯鎮h��",
+ },
],
quote: false,
};
},
- components: { SFtable },
+ components: { SFtable, OptionalForm, SortCheckbox },
created() {
this.id = this.$route.query.id;
this.form.type = this.$route.query.type;
+ this.newadd = this.$route.query.newadd;
+ this.belongWards = store.getters.belongWards;
+ this.belongDepts = store.getters.belongDepts;
this.form.typename = this.$route.query.typename;
this.form.serviceType = Number(this.$route.query.serviceType);
- this.listDept();
+ // this.listDept();
this.Acquisitiontype();
this.Getdetails();
+ this.getheLibraryAssort();
},
methods: {
@@ -838,6 +1129,14 @@
});
return result;
},
+ Acquisitiontypeget() {
+ console.log(2211);
+
+ getlibrarylist(this.topqueryParams).then((response) => {
+ this.userList = response.rows;
+ this.total = response.total;
+ });
+ },
// 鑾峰彇褰撳墠绫诲瀷
Acquisitiontype() {
let queryParams = {
@@ -868,10 +1167,10 @@
label: "寰俊灏忕▼搴�",
},
- {
- value: "8",
- label: "鏅鸿兘鏈哄櫒浜�",
- },
+ // {
+ // value: "8",
+ // label: "鏅鸿兘鏈哄櫒浜�",
+ // },
];
} else if (this.form.serviceType == 8) {
this.checkboxlist = [
@@ -888,10 +1187,10 @@
label: "寰俊灏忕▼搴�",
},
- {
- value: "8",
- label: "鏅鸿兘鏈哄櫒浜�",
- },
+ // {
+ // value: "8",
+ // label: "鏅鸿兘鏈哄櫒浜�",
+ // },
{
value: "9",
label: "閽夐拤",
@@ -909,12 +1208,61 @@
}
},
// 淇濆瓨
- submitForm(formName) {
+ async submitForm(formName) {
this.form.preachform = this.checkList.join(",");
// this.formatFn(1);
- this.form.hospType = this.currenttype;
- if (!this.form.patTaskRelevances[0]) {
- this.$modal.msgError("璇烽�夋嫨鐥呬汉");
+ if (!this.form.patTaskRelevances[0] && this.form.longTask == 0) {
+ try {
+ // 绛夊緟鐢ㄦ埛纭
+ await this.$modal.confirm("褰撳墠浠诲姟鏈�夋嫨鎮h�呮槸鍚︿繚瀛橈紵");
+ // 鍙湁鐢ㄦ埛鐐瑰嚮鈥滅‘璁も�濆悗锛屼唬鐮佹墠浼氭墽琛屽埌杩欓噷
+ } catch (error) {
+ // 鐢ㄦ埛鐐瑰嚮浜嗏�滃彇娑堚�濓紝鐩存帴涓柇鍑芥暟鎵ц
+ this.$modal.msgWarning("鎿嶄綔宸插彇娑�");
+ return; // 鍏抽敭锛氳繖閲宺eturn鐩存帴閫�鍑哄嚱鏁�
+ }
+ }
+ if (!this.form.templatename) {
+ this.$modal.msgError("鏈�夋嫨妯℃澘");
+ return;
+ }
+ if (this.checkList) {
+ this.form.preachform = this.checkList.join(",");
+ this.form.preachformList = this.selectedOrder;
+ } else {
+ this.$modal.msgError("璇烽�夋嫨鏈嶅姟绫诲瀷");
+ this.submitLoading = false;
+
+ return;
+ }
+ if (this.form.appltype == 1) {
+ this.leavehospitaldistrictcodes = [];
+ this.operationcodes = [];
+ this.illnesscodes = [];
+ } else if (this.form.appltype == 2) {
+ this.deptcodesWards = [];
+ this.operationcodes = [];
+ this.illnesscodes = [];
+ } else if (this.form.appltype == 3) {
+ this.deptcodesWards = [];
+ this.leavehospitaldistrictcodes = [];
+ this.operationcodes = [];
+ } else if (this.form.appltype == 4) {
+ this.deptcodesWards = [];
+ this.illnesscodes = [];
+ this.leavehospitaldistrictcodes = [];
+ }
+ if (
+ this.deptcodesWards[0] ||
+ this.leavehospitaldistrictcodes[0] ||
+ this.diagglist[0] ||
+ this.operationcodes[0] ||
+ this.form.longTask == 2 ||
+ this.serviceType == 3
+ ) {
+ } else {
+ this.$modal.msgError("璇烽�夋嫨浠诲姟鍏宠仈鏉′欢");
+ this.submitLoading = false;
return;
}
const filteredArray = this.variableList.filter(
@@ -927,10 +1275,18 @@
this.form.isoperation = 2;
} else {
this.form.isoperation = 1;
+ this.form.sendState = 1;
}
if (!this.form.type) {
this.form.type = this.$route.query.type;
}
+ this.form.deptcode = this.deptcodesWards.join(",");
+ this.form.leavehospitaldistrictcode =
+ this.leavehospitaldistrictcodes.join(",");
+ this.form.opcode = this.operationcodes.join(",");
+ this.form.icd10code = this.diagglist
+ .map((item) => item.icdcode)
+ .join(",");
Editsingletask(this.form).then((res) => {
if (res.code == 200) {
if (this.form.taskid) {
@@ -940,35 +1296,70 @@
}
this.$router.push({
path: "/followvisit/tasklist",
- query: { tasktopic: 1 },
+ query: { tasktopic: this.form.serviceType },
});
}
});
},
// ----------------------琛ㄦ牸瀛愮粍浠朵簨浠�
- // 纭閫夋嫨妯$増鏀惧叆浠诲姟妯$増
+ // 閫夋嫨妯℃澘骞堕瑙�
selectfn(row, type) {
- // 妯$増鎯呭喌涓嬭幏鍙栨ā鐗堜俊鎭�
this.libName = row.preachname;
- this.richText = null;
+ this.htmlRichText = null;
this.libId = row.id;
- console.log(row, "row");
this.Tasktemplate = row;
+
+ // 璁剧疆褰撳墠妯℃澘绫诲瀷
+ this.currentTemplateType = row.hetype || "1"; // 榛樿涓哄鏁欑被鍨�
+
this.previewtf = true;
this.previewid = row.svyid;
- console.log(this.questionList, "questionList");
- // this.Variablehandling(row.svyLibScripts, 1);
- console.log(row.richText);
- axios
- .get(row.richText)
- .then((response) => {
- console.log(response.data, "鏁版嵁"); // 杈撳嚭鑾峰彇鍒扮殑鏂囦欢鍐呭
- this.richText = response.data;
- this.richText = this.addStyleToImages(this.richText);
- })
- .catch((error) => {
- console.error("Failed to fetch file:", error);
- });
+
+ if (this.currentTemplateType == "2") {
+ // 濡傛灉鏄�氱煡妯℃澘锛岃幏鍙栫函鏂囨湰鍐呭
+ this.plainTextContent = row.preachcontent;
+ } else {
+ // 鍏朵粬绫诲瀷妯℃澘鑾峰彇瀵屾枃鏈唴瀹�
+ axios
+ .get(row.htmlRichText)
+ .then((response) => {
+ this.htmlRichText = response.data;
+ this.htmlRichText = this.addStyleToImages(this.htmlRichText);
+ })
+ .catch((error) => {
+ this.$modal.msgError("鑾峰彇瀵屾枃鏈け璐�");
+ console.error("Failed to fetch file:", error);
+ });
+ }
+ },
+ // 棰勮妯℃澘
+ previewfnm() {
+ getlibrarylist({ id: this.form.libtemplateid }).then((res) => {
+ this.libName = res.rows[0].preachname;
+ this.htmlRichText = null;
+ this.libId = res.rows[0].id;
+ this.Tasktemplate = res.rows[0];
+ this.previewtf = true;
+ this.previewid = res.rows[0].svyid;
+ this.currentTemplateType = res.rows[0].hetype || "1"; // 榛樿涓哄鏁欑被鍨�
+
+ if (this.currentTemplateType == "2") {
+ // 濡傛灉鏄�氱煡妯℃澘锛岃幏鍙栫函鏂囨湰鍐呭
+ this.plainTextContent = res.rows[0].preachcontent;
+ } else {
+ // 鍏朵粬绫诲瀷妯℃澘鑾峰彇瀵屾枃鏈唴瀹�
+ axios
+ .get(res.rows[0].htmlRichText)
+ .then((response) => {
+ this.htmlRichText = response.data;
+ this.htmlRichText = this.addStyleToImages(this.htmlRichText);
+ })
+ .catch((error) => {
+ this.$modal.msgError("鑾峰彇瀵屾枃鏈け璐�");
+ console.error("Failed to fetch file:", error);
+ });
+ }
+ });
},
addStyleToImages(html) {
return html.replace(
@@ -976,75 +1367,85 @@
'<img$1style="width:100%;height:auto;"$3>'
);
},
- // 澶勭悊闂灞傚彉閲�
- // Variablehandling(arr, type) {
- // let Variablist = [];
- // if (type == 1) {
- // console.log(arr);
- // // 寰幆闂
- // arr.forEach((res) => {
- // console.log(JSON.parse(res.otherdata), "ss");
- // // 寰幆閫夐」
- // JSON.parse(res.otherdata).forEach((item) => {
- // if (item.default != 1) {
- // Variablist.push({
- // value: item.variate,
- // fill: "",
- // name: item.variatename,
- // });
- // }
- // });
- // });
- // console.log(Variablist, "Variablist");
- // const Aarr = Variablist.filter(
- // (obj, index, self) =>
- // index ===
- // self.findIndex((t) => t.name === obj.name && t.value === obj.value)
- // );
- // this.variableList = this.transitionList.concat(Aarr);
- // // this.form.textParam = this.convertFormat2ToFormat1(this.variableList);
- // }
- // },
+
// 瀛愪换鍔′簩绾у脊妗�
handleAddpatient(row) {
- console.log(this.overallCase, "ssaaa");
this.allpids = [];
this.overallCase.forEach((item) => {
this.allpids.push(item.patid);
});
- if (this.patientqueryParams.allhosp == 1) {
+ if (this.patientqueryParams.allhosp == 4) {
this.tableLabelhz = [
- { label: "搴忓彿", width: "", prop: "patid" },
- { label: "鎮h�呭悕绉�", width: "", prop: "name" },
+ // { label: "鍏ラ櫌鏃ユ湡", width: "170", prop: "starttime" },
+ { label: "鍑洪櫌鏃ユ湡", width: "150", prop: "endtime" },
+ { label: "鎮h��", width: "", prop: "name" },
+ { label: "鎮h�呰瘖鏂�", width: "", prop: "leavediagname" },
+ { label: "韬唤璇�", width: "200", prop: "idcardno" },
{ label: "鎬у埆", width: "", prop: "sex" },
{ label: "骞撮緞", width: "", prop: "age" },
- { label: "涓讳换鍖诲笀", width: "", prop: "drname" },
- { label: "灏辫瘖绉戝", width: "", prop: "deptName" },
- { label: "鍏ラ櫌鏃ユ湡", width: "", prop: "inhosptime" },
- { label: "鍒涘缓浜�", width: "", prop: "createBy" },
+ { label: "鐢佃瘽", width: "180", prop: "telcode" },
+ { label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" },
+ { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" },
+ { label: "鍖荤敓", width: "", prop: "drname" },
+ { label: "绉戝", width: "180", prop: "dept" },
+ { label: "鐥呭尯", width: "150", prop: "leavehospitaldistrictname" },
+ ];
+ } else if (this.patientqueryParams.allhosp == 1) {
+ this.tableLabelhz = [
+ { label: "鍏ラ櫌鏃ユ湡", width: "150", prop: "starttime" },
+ { label: "鎮h��", width: "", prop: "name" },
+ { label: "鎮h�呰瘖鏂�", width: "", prop: "leavediagname" },
+ { label: "韬唤璇�", width: "200", prop: "idcardno" },
+ { label: "鎬у埆", width: "", prop: "sex" },
+ { label: "骞撮緞", width: "", prop: "age" },
+ { label: "鐢佃瘽", width: "180", prop: "telcode" },
+ { label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" },
+ { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" },
+ { label: "鍖荤敓", width: "", prop: "drname" },
+ { label: "绉戝", width: "180", prop: "dept" },
+ { label: "鐥呭尯", width: "150", prop: "leavehospitaldistrictname" },
];
} else if (this.patientqueryParams.allhosp == 2) {
this.tableLabelhz = [
- { label: "搴忓彿", width: "", prop: "patid" },
- { label: "鎮h�呭悕绉�", width: "", prop: "name" },
+ { label: "灏辫瘖鏃ユ湡", width: "150", prop: "admitdate" },
+ { label: "鎮h��", width: "", prop: "name" },
+ { label: "韬唤璇�", width: "200", prop: "idcardno" },
+ { label: "鐢佃瘽鍙风爜", width: "180", prop: "telcode" },
{ label: "鎬у埆", width: "", prop: "sex" },
{ label: "骞撮緞", width: "", prop: "age" },
- { label: "璇婃柇", width: "", prop: "diagname" },
- { label: "灏辫瘖绉戝", width: "", prop: "deptName" },
- { label: "鍏ラ櫌鏃ユ湡", width: "", prop: "inhosptime" },
- { label: "鍒涘缓浜�", width: "", prop: "createBy" },
+ { label: "鐢佃瘽", width: "180", prop: "telcode" },
+ { label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" },
+ { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" },
+ { label: "鍖荤敓", width: "", prop: "drname" },
+ { label: "绉戝", width: "180", prop: "dept" },
+ { label: "鐥呭尯", width: "150", prop: "leavehospitaldistrictname" },
];
}
if (this.allpids[0]) {
this.patientqueryParams.pids = this.allpids;
- console.log(this.patientqueryParams.pids);
} else {
this.patientqueryParams.pids = null;
}
+ if (this.patientqueryParams.allhosp == 4) {
+ this.patientqueryParams.hospitaldistrictcodes = [];
+ this.patientqueryParams.deptcodes = [];
+ } else if (this.patientqueryParams.allhosp == 1) {
+ this.patientqueryParams.deptcodes =
+ this.patientqueryParams.leaveldeptcodes;
+ this.patientqueryParams.hospitaldistrictcodes =
+ this.patientqueryParams.leavehospitaldistrictcodes;
+ this.patientqueryParams.leavehospitaldistrictcodes = [];
+ this.patientqueryParams.leaveldeptcodes = [];
+ }
- getTaskpatient(this.patientqueryParams).then((response) => {
+ getTaskpatientQC(this.patientqueryParams).then((response) => {
console.log(response);
this.patientuserList = response.rows;
+ this.patientuserList.forEach((item) => {
+ if (item.endtime) {
+ item.endDay = this.daysBetween(item.endtime);
+ }
+ });
this.patienttotal = response.total;
this.loading = false;
this.Restorecheck();
@@ -1057,8 +1458,7 @@
// 閫夋嫨鎮h�呰〃鏁版嵁
handleSelectionChange(selection) {
- console.log("澶氶�夋偅鑰�");
- this.SelectPatientslist = selection;
+ this.SelectPatientslist = structuredClone(selection);
this.multiple = !selection.length;
// 璧嬪�肩粰鏁翠綋閫変腑鏁扮粍
@@ -1066,7 +1466,24 @@
const isExist = this.overallCase.find((obj) => obj.name == item.name);
if (!isExist) {
item.isoperation = 1;
+ item.patid = item.id;
item.hospType = this.patientqueryParams.allhosp;
+ item.sfzh = item.idcardno;
+ item.deptCode = item.deptcode;
+ item.deptName = item.dept;
+ item.admindate = item.inhosptime;
+ item.diagname = item.leavediagname;
+ item.sfzh = item.idcardno;
+ if (this.patientqueryParams.allhosp == 6) {
+ item.patfrom = 1;
+ }
+ if (this.patientqueryParams.allhosp == 1) {
+ item.visittime = item.endtime;
+ } else if (this.patientqueryParams.allhosp == 4) {
+ item.visittime = item.starttime;
+ } else if (this.patientqueryParams.allhosp == 2) {
+ item.visittime = item.admitdate;
+ }
this.overallCase.push(item);
this.form.patTaskRelevances.push(item);
}
@@ -1114,9 +1531,54 @@
},
getList() {},
handleQuery() {
+ if (this.patientqueryParams.allhosp == 6) {
+ this.Externallist();
+ console.log();
+
+ return;
+ }
+ if (this.patientqueryParams.searchscope == 1) {
+ this.patientqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
+ (obj) => obj.deptCode
+ );
+ this.patientqueryParams.leavehospitaldistrictcodes = [];
+ } else if (this.patientqueryParams.searchscope == 2) {
+ this.patientqueryParams.leavehospitaldistrictcodes =
+ store.getters.belongWards.map((obj) => obj.districtCode);
+ this.patientqueryParams.leaveldeptcodes = [];
+ } else {
+ this.patientqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
+ (obj) => obj.deptCode
+ );
+ this.patientqueryParams.leavehospitaldistrictcodes =
+ store.getters.belongWards.map((obj) => obj.districtCode);
+ }
+ if (
+ !this.patientqueryParams.leavehospitaldistrictcodes ||
+ !this.patientqueryParams.leavehospitaldistrictcodes[0]
+ )
+ this.patientqueryParams.leavehospitaldistrictcodes = null;
+ if (
+ !this.patientqueryParams.leaveldeptcodes ||
+ !this.patientqueryParams.leaveldeptcodes[0]
+ )
+ this.patientqueryParams.leaveldeptcodes = null;
this.handleAddpatient();
},
- resetQuery() {},
+ resetQuery() {
+ this.patientqueryParams = {
+ pageNum: 1, //
+ pageSize: 10,
+ topica: 1, //0鍏ㄩ儴1绉戝2鐥呭尯
+ leavehospitaldistrictcodes: [],
+ leaveldeptcodes: [],
+ };
+ this.handleQuery();
+ },
+ resetQuerymb() {
+ this.topqueryParams = { svyname: "" };
+ this.handleQuerymb();
+ },
handleClosehz() {
this.dialogVisiblepatient = false;
},
@@ -1128,13 +1590,27 @@
resetForm(formName) {
this.$refs[formName].resetFields();
},
- // 棰勮妯$増
+ // 棰勮妯℃澘
PreviewTemplate() {},
Acknowledgereference() {
this.quote = true;
},
// 鑾峰彇璇︽儏
Getdetails() {
+ this.form = {
+ patTaskRelevances: [],
+ sendType: 1,
+ templatename: "",
+ templateid: null,
+ libtemplateid: null,
+ serviceType: Number(this.$route.query.serviceType),
+ kcb:
+ "浜茬埍鐨勬偅鑰�-瀹跺睘锛屾垜浠槸" +
+ localStorage.getItem("orgname") +
+ "鐨勫尰鎶や汉鍛橈紝涓轰簡鏇村ソ鍦颁簡瑙f偍鐨勫悍澶嶆儏鍐碉紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝瑙傜湅杩欎唤瀹f暀璧勮銆�",
+ jsy: "鐢熸椿涓婅鍔抽�哥粨鍚堬紝娉ㄦ剰浼戞伅鍜岃惀鍏伙紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈鍥炶灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒",
+ };
+
if (this.id) {
getTaskInfo({ taskid: this.id }).then((res) => {
let filteredArray = "";
@@ -1147,9 +1623,11 @@
: [];
this.overallCase = this.form.patTaskRelevances.concat();
this.checkList = this.form.preachform.split(",");
-
+ this.selectedOrder = this.form.preachformList;
console.log(this.form.showDate, "this.form");
- this.daytime = this.form.showDate.split(",");
+ if (this.form.daytime) this.daytime = this.form.showDate.split(",");
+ console.log(this.newadd, "渚濈収");
+
if (this.form.showTimeMorn) {
if (this.form.sendType == 3) {
this.time4 = this.form.showTimeMorn;
@@ -1167,14 +1645,118 @@
} else {
this.$modal.msgError(res.code);
}
+ if (this.newadd) {
+ this.neWaddfn();
+ }
});
}
},
+ checkSelectionChange(selectedValues, selectedOrder) {
+ this.selectedOrder = selectedValues;
+ console.log("褰撳墠閫変腑:", selectedValues);
+ console.log("閫変腑椤哄簭:", selectedOrder);
+ },
+ getillnesslist() {
+ getillnesslist({
+ pageNum: 1,
+ pageSize: 1000,
+ }).then((res) => {
+ this.donorchargeList = res.rows;
+ });
+ getbaseopera({
+ pageNum: 1,
+ pageSize: 1000,
+ }).then((res) => {
+ this.baseoperaList = res.rows;
+ });
+ },
+ // 鎵嬫湳鏌ヨ
+ remoteopcode(name) {
+ if (name) {
+ getbaseopera({
+ pageNum: 1,
+ pageSize: 1000,
+ opdesc: name,
+ }).then((res) => {
+ this.baseoperaList = res.rows;
+ });
+ }
+ },
+ // 鐤剧梾鏌ヨ
+ remotedonor(name) {
+ if (name) {
+ getbaseopera({
+ pageNum: 1,
+ pageSize: 1000,
+ opdesc: name,
+ }).then((res) => {
+ this.baseoperaList = res.rows;
+ });
+ }
+ },
+ // 渚濈収鏂板鏃跺鐞�
+ neWaddfn() {
+ this.id = null;
+ // this.form.taskName = "";
+ this.form.taskid = null;
+ console.log("渚濈収");
+ this.overallCase = [];
+ this.form.patTaskRelevances = [];
+ this.daytime = []; //鏃ユ湡
+ this.applydaytime = []; //璁$畻鏃ユ湡
+ this.time1 = ""; //涓婂崍鏃堕棿娈�
+ this.time2 = ""; //涓嬪崍鏃堕棿娈�
+ this.time3 = ""; //鏅氫笂鏃堕棿娈�
+ this.time4 = ""; //鏅氫笂鏃堕棿娈�
+ },
+ getheLibraryAssort() {
+ // 瀹f暀鍒嗙被
+ getheLibraryAssort({}).then((res) => {
+ this.sortlist = res.rows;
+ console.log(this.sortlist);
+ });
+ },
// 鑾峰彇绉戝鍒楄〃
listDept() {
- listDept().then((res) => {
- this.topicoptions = this.handleTree(res.data, "deptId");
- console.log(this.topicoptions, "topicoptions");
+ this.leavehospitaldistrictcodes = [];
+ this.deptcodesWards = [];
+ this.queryParamsdept.taskId = this.form.taskid;
+ taskdepthospgetsonlist(this.queryParamsdept).then((res) => {
+ if (res.code == 200) {
+ let arr = res.rows;
+ arr.forEach((item) => {
+ if (item.deptType == 1) {
+ this.deptlist.push(item);
+ this.deptcodesWards.push(item.deptCode);
+ } else if (item.deptType == 2) {
+ this.hosplist.push(item);
+ this.leavehospitaldistrictcodes.push(item.deptCode);
+ }
+ });
+ }
+ });
+ taskdiaggetlist(this.queryParamsdept).then((res) => {
+ if (res.code == 200) {
+ let arr = res.rows;
+ arr.forEach((item) => {
+ getillnesslist({
+ icdcode: item.icd10code,
+ }).then((res) => {
+ item.icdname = res.rows[0].icdname;
+ this.diagglist.push(item);
+ });
+ this.illnesscodes.push(item.icd10code);
+ });
+ }
+ });
+ taskopergetlist(this.queryParamsdept).then((res) => {
+ if (res.code == 200) {
+ let arr = res.rows;
+ arr.forEach((item) => {
+ this.operlist.push(item);
+ this.operationcodes.push(item.opcode);
+ });
+ }
});
},
// 鏂板娲鹃�佹偅鑰�
@@ -1265,7 +1847,7 @@
if (this.time3) this.form.showTimeNight = this.time3.join(",");
console.log(combinedData, "combinedData");
},
- // 鏌ョ湅妯$増
+ // 鏌ョ湅妯℃澘
previewGo() {
this.$router.push({
path: "/knowledge/tpuconfigurat/",
@@ -1280,10 +1862,11 @@
TaskQuestioncomit(this.Tasktemplate).then((response) => {
console.log(response);
this.previewtf = false;
+ this.drawermb = false;
this.form.templateid = response.data;
this.form.libtemplateid = this.libId;
this.form.templatename = this.libName;
- this.$modal.msgSuccess("閫夋嫨妯$増鎴愬姛");
+ this.$modal.msgSuccess("閫夋嫨妯℃澘鎴愬姛");
});
},
// 澶勭悊鏈嶅姟褰㈠紡
@@ -1315,6 +1898,105 @@
});
this.checkList = list;
}
+ },
+ // 浠诲姟绉戝鍒犻櫎瑙﹀彂
+ removetag(row) {
+ let result = this.deptlist
+ .filter((item) => item.deptCode == row)
+ .map((item) => item.id);
+
+ if (result.length) {
+ taskdepthospgetsondel(result).then((res) => {
+ if (res.code) {
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ }
+ });
+ }
+ },
+ // 闄㈠尯鍒犻櫎鍒犻櫎瑙﹀彂
+ removehpsp(row) {
+ let result = this.hosplist
+ .filter((item) => item.deptCode == row)
+ .map((item) => item.id);
+ if (result.length) {
+ taskdepthospgetsondel(result).then((res) => {
+ if (res.code) {
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ }
+ });
+ }
+ },
+ // 鎵嬫湳鍒犻櫎瑙﹀彂
+ removeopera(row) {
+ let result = this.operlist
+ .filter((item) => item.opcode == row)
+ .map((item) => item.id);
+ if (result.length) {
+ taskoperhospgetsondel(result).then((res) => {
+ if (res.code) {
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ }
+ });
+ }
+ },
+ // 鐤剧梾鍒犻櫎瑙﹀彂
+ removediagg(row) {
+ console.log(row, "row");
+ console.log(this.diagglist, "this.diagglist");
+
+ let result = this.diagglist
+ .filter((item) => item.icd10code == row)
+ .map((item) => item.id);
+ if (result.length) {
+ taskdiaghospgetsondel(result).then((res) => {
+ if (res.code) {
+ this.diagglist = this.diagglist.filter(
+ (item) => item.icd10code != row
+ );
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ }
+ });
+ }
+ },
+ /** 瀵煎叆鎸夐挳鎿嶄綔 */
+ handleImport() {
+ this.upload.title = "鐢ㄦ埛瀵煎叆";
+ this.upload.open = true;
+ },
+ handleFileUploadProgress(event, file, fileList) {
+ this.upload.isUploading = true;
+ },
+ // 鏂囦欢涓婁紶鎴愬姛澶勭悊
+ handleFileSuccess(response, file, fileList) {
+ this.upload.isUploading = false;
+ this.uploadingData = response.rows;
+
+ this.$refs.upload.clearFiles();
+ },
+ // 鎻愪氦涓婁紶鏂囦欢
+ submitFileForm() {
+ // 涓婁紶
+ if (this.dractive == 1) {
+ this.$refs.upload.submit();
+ this.dractive++;
+ } else if (this.dractive == 2) {
+ this.handleSelectionChange(this.uploadingData, 4);
+ this.upload.open = false;
+ this.dractive = 1;
+ }
+ },
+
+ /** 涓嬭浇妯℃澘鎿嶄綔 */
+ importTemplate() {
+ this.download(
+ "smartor/import/getImportPatTemplate",
+ {},
+ `user_template_${new Date().getTime()}.xlsx`
+ );
+ },
+ submitclose() {
+ this.upload.open = false;
+ this.dractive = 1;
},
},
};
@@ -1451,6 +2133,58 @@
}
}
}
+/* 鏂板鏍峰紡 */
+.preview-left {
+ padding: 20px;
+ max-height: 70vh;
+ overflow-y: auto;
+}
+
+/* 绾枃鏈唴瀹规牱寮� */
+.plain-text-content {
+ white-space: pre-wrap;
+ font-size: 16px;
+ line-height: 1.6;
+ padding: 15px;
+ background: #f9f9f9;
+ border-radius: 4px;
+}
+
+.download {
+ text-align: center;
+ .el-upload__tip {
+ font-size: 23px;
+ }
+ .el-upload__text {
+ font-size: 23px;
+ }
+}
+.uploading {
+ margin-top: 20px;
+ margin: 20px;
+ padding: 30px;
+ background: #ffffff;
+ border: 1px solid #dcdfe6;
+ -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
+ 0 0 6px 0 rgba(0, 0, 0, 0.04);
+}
+.drexamine {
+ // display: flex;
+ align-items: center;
+ justify-content: center;
+ padding: 20px;
+ background: #daeaf5;
+ img {
+ width: 50px;
+ height: 50px;
+ }
+}
+.button-textsc {
+ color: #3664d9;
+}
+.button-textxg {
+ color: #de7897;
+}
::v-deep .addtopic-input {
input {
background: #02a7f0;
--
Gitblit v1.9.3