From b73b5dd97cbda40d0584f579ed9f65f4fcffe23f Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期一, 31 三月 2025 15:33:02 +0800
Subject: [PATCH] 测试完成
---
src/views/patient/propaganda/QuestionnaireTask.vue | 308 +++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 249 insertions(+), 59 deletions(-)
diff --git a/src/views/patient/propaganda/QuestionnaireTask.vue b/src/views/patient/propaganda/QuestionnaireTask.vue
index eaf564c..0a1d7e0 100644
--- a/src/views/patient/propaganda/QuestionnaireTask.vue
+++ b/src/views/patient/propaganda/QuestionnaireTask.vue
@@ -197,13 +197,14 @@
</div>
</el-form-item>
<el-form-item label="浠诲姟鍏宠仈" prop="longTask">
- <el-radio-group v-model="form.relevance">
- <el-radio :label="0">绉戝鍏宠仈</el-radio>
- <el-radio :label="1">鐥呭尯鍏宠仈</el-radio>
- <el-radio :label="2">鐤剧梾鍏宠仈</el-radio>
+ <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.relevance == 0">
+ <el-row v-if="form.appltype == 1">
<el-col :span="20"
><el-form-item label="閫傜敤绉戝" prop="region">
<el-select
@@ -218,7 +219,6 @@
<el-option
class="ruleFormaa"
v-for="item in belongDepts"
- :key="item.deptCode"
:label="item.deptName"
:value="item.deptCode"
>
@@ -226,7 +226,7 @@
</el-select> </el-form-item
></el-col>
</el-row>
- <el-row v-if="form.relevance == 1">
+ <el-row v-if="form.appltype == 2">
<el-col :span="20"
><el-form-item label="閫傜敤鐥呭尯" prop="region">
<el-select
@@ -241,7 +241,6 @@
<el-option
class="ruleFormaa"
v-for="item in belongWards"
- :key="item.districtCode"
:label="item.districtName"
:value="item.districtCode"
>
@@ -249,24 +248,81 @@
</el-select> </el-form-item
></el-col>
</el-row>
- <el-row v-if="form.relevance == 2">
- <el-col :span="20"
+ <el-row v-if="form.appltype == 3">
+ <!-- <el-col :span="20"
><el-form-item label="閫傜敤鐤剧梾" prop="region">
<el-select
- v-model="leavehospitaldistrictcodes"
+ v-model="illnesscodes"
style="width: 400px"
- @remove-tag="removehpsp"
+ @remove-tag="removediagg"
size="medium"
+ :remote-method="remotedonor"
multiple
filterable
+ remote
placeholder="璇烽�夋嫨鐥呭尯"
>
<el-option
class="ruleFormaa"
- v-for="item in belongWards"
- :key="item.districtCode"
- :label="item.districtName"
- :value="item.districtCode"
+ v-for="item in donorchargeList"
+ :key="item.icdcode"
+ :label="item.icdname"
+ :value="item.icdcode"
+ >
+ </el-option>
+ </el-select> </el-form-item
+ ></el-col> -->
+ <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
@@ -617,31 +673,6 @@
</div>
</el-form-item>
- <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>
-
- <el-tag
- v-for="tag in illnesslist"
- :key="tag.icdid"
- type="warning"
- :disable-transitions="false"
- >
- {{ tag.icdname }}
- </el-tag>
- <!-- <el-tag v-if="hasMore" type="info">+{{ remaining }} more</el-tag> -->
- </el-form-item>
- </div>
<el-form-item label="闂嵎鎻忚堪" prop="description">
<el-input
type="textarea"
@@ -808,6 +839,13 @@
</div>
</div>
</el-drawer>
+ <Optional-Form
+ ref="child"
+ :dialogVisiblepatient="dialogVisiblepatientjb"
+ :overallCase="diagglist"
+ @addoption="dialogVisiblepatientjb = false"
+ @kkoption="dialogVisiblepatientjb = true"
+ />
</div>
</template>
@@ -816,7 +854,10 @@
import store from "@/store";
import {
getTaskpatientQC,
- getlibrarylist,
+ taskoperhospgetsondel,
+ taskdiaghospgetsondel,
+ getillnesslist,
+ getbaseopera,
Externallist,
getQtemplatelist,
getQtemplateobj,
@@ -828,11 +869,12 @@
getillness,
Editsingletask,
getQtemplateclassify,
- depthospgetsonlist,
taskdepthospgetsondel,
taskdepthospgetsonlist,
+ taskdiaggetlist,
+ taskopergetlist,
} from "@/api/AiCentre/index";
-
+import OptionalForm from "@/components/OptionalForm"; //姝e垯缁勪欢
import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢
import { MessageBox } from "element-ui";
@@ -860,12 +902,17 @@
loading: false, // 閬僵灞�
patientloading: false, // 閬僵灞�
dialogVisiblepatient: false, //娣诲姞鎮h�呭脊妗�
+ dialogVisiblepatientjb: false, //娣诲姞鐤剧梾寮规
deptcodesWards: [], //绉戝鏁版嵁
leavehospitaldistrictcodes: [], //鐥呭尯鏁版嵁
+ operationcodes: [], //鎵嬫湳鏁版嵁
+ illnesscodes: [], //鐤剧梾鏁版嵁
radio: 1,
checkboxlist: [],
tableLabel: [],
questionList: [],
+ donorchargeList: [],
+ baseoperaList: [],
usable: [
{ value: "0", label: "鍙敤" },
{ value: "1", label: "鍋滅敤" },
@@ -1045,6 +1092,10 @@
value: "6",
label: "闄㈠鎮h��",
},
+ {
+ value: "5",
+ label: "鎵嬫湳鐥呬汉",
+ },
],
source: [
{
@@ -1095,6 +1146,8 @@
belongWards: [],
deptlist: [],
hosplist: [],
+ diagglist: [],
+ operlist: [],
tempDetpRelevanceslist: [], //绉戝鏁版嵁
tempDetpRelevanceslistform: [], //绉戝鏁版嵁
tempbelongWards: [], //鐥呭尯鏁版嵁
@@ -1126,7 +1179,7 @@
serviceType: null,
};
},
- components: { SFtable },
+ components: { SFtable, OptionalForm },
created() {
this.appraiselist = store.getters.appraiselist;
@@ -1140,6 +1193,7 @@
this.serviceType = Number(this.$route.query.serviceType);
this.form.serviceType = Number(this.$route.query.serviceType);
this.Acquisitiontype();
+ this.getillnesslist();
this.Getdetails();
this.getQtemplateclassify();
},
@@ -1150,13 +1204,21 @@
this.getQtemplateclassify();
}
},
-
+ computed: {
+ displayedTags() {
+ // 杩斿洖鍓�10涓猼ag
+ return this.illnesslist.slice(0, 10);
+ },
+ hasMore() {
+ // 鍒ゆ柇鏄惁鏈夋洿澶氱殑tag
+ return this.illnesslist.length > 10;
+ },
+ remaining() {
+ // 璁$畻鍓╀綑鐨則ag鏁伴噺
+ return this.illnesslist.length - 10;
+ },
+ },
methods: {
- // {
- // 濮撳悕: { "${name}": "榫欏偛澶�" },
- // 鍦板潃: { "${dzz}": "榫欏" },
- // 鐢佃瘽: { "${dhh}": "鍏釜鍏�" },
- // }
// 鍙橀噺杞崲瀵硅薄杞暟缁�
convertFormat1ToFormat2(data) {
let result = [];
@@ -1235,7 +1297,12 @@
// label: "鏅鸿兘鏈哄櫒浜�",
// },
];
- } else if (this.form.serviceType == 7 || this.form.serviceType == 9) {
+ } else if (
+ this.form.serviceType == 7 ||
+ this.form.serviceType == 10 ||
+ this.form.serviceType == 11 ||
+ this.form.serviceType == 9
+ ) {
this.checkboxlist = [
{
value: "1",
@@ -1260,6 +1327,10 @@
{
value: "6",
label: "寰俊灏忕▼搴�",
+ },
+ {
+ value: "7",
+ label: "鏈悗闅忚",
},
];
} else if (
@@ -1323,15 +1394,40 @@
xh: 1,
},
];
+ 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.checkList) {
this.form.preachform = this.checkList;
} else {
this.$modal.msgError("璇烽�夋嫨鏈嶅姟绫诲瀷");
return;
}
- if (this.deptcodesWards[0] || this.leavehospitaldistrictcodes[0]) {
+ console.log(this.operationcodes[0]);
+ console.log(this.operationcodes);
+
+ if (
+ this.deptcodesWards[0] ||
+ this.leavehospitaldistrictcodes[0] ||
+ this.diagglist[0] ||
+ this.operationcodes[0]
+ ) {
} else {
- this.$modal.msgError("璇烽�夋嫨绉戝鎴栫梾鍖�");
+ this.$modal.msgError("璇烽�夋嫨浠诲姟鍏宠仈鏉′欢");
return;
}
@@ -1370,7 +1466,10 @@
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) {
@@ -1445,6 +1544,44 @@
this.illnesslist.forEach((item) => {
item.icdname = item.icd10name;
});
+ });
+ }
+ },
+ 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;
});
}
},
@@ -1781,7 +1918,7 @@
this.time3 = ""; //鏅氫笂鏃堕棿娈�
this.time4 = ""; //鏅氫笂鏃堕棿娈�
},
- // 鑾峰彇浠诲姟绉戝鍒楄〃
+ // 鑾峰彇鍚勭被
listDept() {
this.leavehospitaldistrictcodes = [];
this.deptcodesWards = [];
@@ -1800,6 +1937,29 @@
});
}
});
+ 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);
+ });
+ }
+ });
},
// 浠诲姟绉戝鍒犻櫎瑙﹀彂
removetag(row) {
@@ -1810,6 +1970,7 @@
if (result.length) {
taskdepthospgetsondel(result).then((res) => {
if (res.code) {
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
}
});
}
@@ -1822,10 +1983,39 @@
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) {
+ 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("鍒犻櫎鎴愬姛");
+ }
+ });
+ }
+ },
+
getQtemplateclassify() {
getQtemplateclassify({}).then((res) => {
this.optionsclass = res.rows;
@@ -2012,10 +2202,10 @@
this.objyl.svyTaskTemplateScriptVOS =
this.objyl.svyTemplateLibScripts;
this.form.svyTaskTemplateVO = this.objyl;
- this.form.templatename=this.objyl.svyname;
+ this.form.templatename = this.objyl.svyname;
this.$modal.msgSuccess("鏆傚瓨鎴愬姛淇濆瓨浠诲姟鍚庢ā鏉垮け鏁�");
- this.drawermb=false;
- this.previewtf=false;
+ this.drawermb = false;
+ this.previewtf = false;
});
} else {
setTimeout(() => {
--
Gitblit v1.9.3