From c1cf70d01a5b11075170cfc6278a213833d1f799 Mon Sep 17 00:00:00 2001 From: lkk <364857242@qq.com> Date: 星期二, 10 六月 2025 16:55:57 +0800 Subject: [PATCH] 1 --- src/components/jianqianwenzhen/index.vue | 597 +++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 494 insertions(+), 103 deletions(-) diff --git a/src/components/jianqianwenzhen/index.vue b/src/components/jianqianwenzhen/index.vue index acaed3a..082bc96 100644 --- a/src/components/jianqianwenzhen/index.vue +++ b/src/components/jianqianwenzhen/index.vue @@ -59,10 +59,17 @@ style="width: 710px" /> </el-form-item> - <el-form-item label="宸ヤ綔鍗曚綅鍚嶇О" prop="gongZhong" > + <el-form-item label="鍗曚綅鍚嶇О" prop="dwmc"> <el-input - v-model="form.gongZhong" - placeholder="璇疯緭鍏ュ伐绉�" + v-model="form.dwmc" + placeholder="璇疯緭鍏ュ崟浣嶅悕绉�" + style="width: 710px" + /> + </el-form-item> + <el-form-item label="鐢ㄥ伐鍗曚綅" prop="ygdw"> + <el-input + v-model="form.ygdw" + placeholder="璇疯緭鍏ョ敤宸ュ崟浣�" style="width: 710px" /> </el-form-item> @@ -70,18 +77,18 @@ <!-- <el-input v-model="form.cusName" placeholder="璇疯緭鍏ュ伐榫�" style="width: 150px" />骞� --> <el-input-number v-model="form.gongLing" - label="璇疯緭鍏ュ伐榫�" + label="璇疯緭鍏ユ�诲伐榫�" ></el-input-number >骞� </el-form-item> <el-form-item label="鎺ヨЕ鏈夊鐗╁伐榫�" - prop="gongLing" + prop="jhgl" label-width="150px" > <!-- <el-input v-model="form.cusName" placeholder="璇疯緭鍏ュ伐榫�" style="width: 150px" />骞� --> <el-input-number - v-model="form.gongLing" + v-model="form.jhgl" label="璇疯緭鍏ユ帴瑙︽湁瀹崇墿宸ラ緞" ></el-input-number >骞� @@ -92,7 +99,7 @@ <el-radio :label="2">鍚�</el-radio> </el-radio-group> </el-form-item> - <el-form-item label="鎺ヨЕ姣掔墿" prop="contactPoison"> + <!-- <el-form-item label="鎺ヨЕ姣掔墿" prop="contactPoison"> <el-input type="textarea" rows="4" @@ -100,17 +107,78 @@ placeholder="璇疯緭鍏ユ帴瑙︽瘨鐗�" style="width: 700px" /> + </el-form-item> --> + <el-form-item label="浣撴鍗卞鍥犵礌" prop="tjwhys"> + <el-select + filterable + v-model="form.tjwhys" + @change="handleTjwhysChange" + placeholder="璇烽�夋嫨浣撴鍗卞鍥犵礌" + clearable + style="width: 180px" + > + <el-option + v-for="dict in dict.type.tj_work_status" + :key="dict.value" + :label="dict.label" + :value="dict.value" + /> + </el-select> </el-form-item> - <el-form-item label="鏃㈠線鐥呭彶" prop="medicalHistory"> + <el-form-item + label="鎺ヨЕ鍗卞鍥犵礌" + prop="jcwhys" + style="margin-left: 30px" + > + <el-select + filterable + v-model="form.jcwhys" + placeholder="璇烽�夋嫨鎺ヨЕ鍗卞鍥犵礌" + clearable + style="width: 180px" + > + <el-option + v-for="dict in dict.type.tj_work_status" + :key="dict.value" + :label="dict.label" + :value="dict.value" + /> + </el-select> + </el-form-item> + <el-form-item label="鏃㈠線鐥呭彶" prop="mediHistoryq"> + <el-select + v-model="form.mediHistoryq" + multiple + allow-create + filterable + placeholder="璇烽�夋嫨鎴栬緭鍏ユ棦寰�鐥呭彶" + style="width: 700px" + > + <!-- <el-option + v-for="item in rulesList" + :key="item.id" + :label="item.icdname" + :value="item.icdname" + /> --> + <el-option + v-for="item in rulesList" + :key="item.id" + :label="item.icdname" + :value="item.id" + /> + </el-select> + </el-form-item> + <el-form-item label="鏃㈠線鐥呭彶" prop="medicalHistoryOther"> <el-input type="textarea" rows="4" - v-model="form.medicalHistory" + v-model="form.medicalHistoryOther" placeholder="璇疯緭鍏ユ棦寰�鐥呭彶" style="width: 700px" /> </el-form-item> - <el-form-item label="鐥囩姸" prop="zzsjj"> + + <!-- <el-form-item label="鐥囩姸" prop="zzsjj"> <el-select multiple filterable @@ -126,9 +194,100 @@ :value="dict.proName" /> </el-select> - </el-form-item> + </el-form-item> --> </div> </el-collapse-item> + <el-collapse-item title="鑱屼笟鐥囩姸" name="6"> + <div style="width: 900px"> + <el-row :gutter="10" class="mb8"> + <el-col :span="1.5"> + <el-button + type="primary" + icon="el-icon-plus" + size="mini" + @click="addzj()" + >娣诲姞 + </el-button> + </el-col> + <el-col :span="1.5"> + <el-button + type="danger" + icon="el-icon-delete" + size="mini" + @click="delezz()" + >鍒犻櫎 + </el-button> + </el-col> + </el-row> + <el-table + border + :data="form.zhiyezzList" + ref="zhiyezzList" + style="width: 98%" + @selection-change="handlezzChange" + > + <el-table-column type="selection" width="40" align="center" /> + <el-table-column + label="搴忓彿" + width="80" + align="center" + type="index" + :index="indexMethod" + /> + <el-table-column label="鐥囩姸鍚嶇О" prop="name" align="center"> + <template slot-scope="scope"> + <el-select + :remote-method="getZzData" + v-model="scope.row.diseaseName" + remote + filterable + placeholder="璇烽�夋嫨鐥囩姸鍚嶇О" + clearable + @change="zz" + > + <el-option + v-for="dict in zhenghuzangList" + :key="dict.id" + :label="dict.proName" + :value="dict.proName" + /> + </el-select> + </template> + </el-table-column> + <el-table-column + label="鐥囩姸鏃ユ湡" + width="160" + prop="diseaseData" + align="center" + > + <template slot-scope="scope"> + <el-date-picker + size="mini" + v-model="scope.row.diseaseData" + align="right" + type="date" + placeholder="閫夋嫨鏃ユ湡" + :picker-options="pickerOptions" + style="width: 130px" + value-format="yyyy-MM-dd" + > + </el-date-picker> + </template> + </el-table-column> + + <el-table-column label="澶囨敞" prop="bz" align="center"> + <template slot-scope="scope"> + <el-input + size="mini" + v-model="scope.row.bz" + placeholder="璇疯緭鍏ュ娉�" + /> + </template> + </el-table-column> + </el-table> + </div> + </el-collapse-item> + <el-collapse-item title="鏈堢粡鍙�" name="2" v-show="sex"> <div style="width: 900px"> <el-form-item label="鍒濇疆(宀�)" prop="chuchao"> @@ -149,7 +308,8 @@ v-model="form.yjsfyc" placeholder="璇烽�夋嫨鏄惁寮傚父" clearable - style="width: 150px" + style="width: 70px" + @change="onYjsfycChange" > <el-option v-for="dict in dict.type.sys_yes_no" @@ -158,6 +318,9 @@ :value="dict.value" /> </el-select> + </el-form-item> + <el-form-item label="鏈堢粡寮傚父鎻忚堪" prop="ycms"> + <el-input v-model="form.ycms" style="width: 490px" /> </el-form-item> </div> </el-collapse-item> @@ -206,7 +369,7 @@ <el-input v-model="form.xiyanyear" style="width: 70px" - />骞� </el-form-item + />鏈� </el-form-item ><br /> <el-form-item label="鏄惁楗厭" prop="yinjiu"> <!-- <el-input v-model="form.yinjiupinlv" placeholder="璇疯緭鍏ラギ閰掗鐜�" /> --> @@ -229,7 +392,7 @@ <el-input v-model="form.yinjiupinlv" style="width: 70px" />ml/澶� </el-form-item> <el-form-item label="楗厭鏃堕棿" prop="yinjiuyear"> - <el-input v-model="form.yinjiuyear" style="width: 70px" />骞� + <el-input v-model="form.yinjiuyear" style="width: 70px" />鏈� </el-form-item> <el-form-item label="鍏朵粬" prop="qita"> <el-input @@ -242,7 +405,7 @@ </el-form-item> </div> </el-collapse-item> - <el-collapse-item title="鑱屼笟鐥�" name="5" v-show="zhiyebingshi"> + <el-collapse-item title="鑱屼笟鐥呭彶" name="5" v-show="zhiyebingshi"> <div style="width: 900px"> <el-row :gutter="10" class="mb8"> <el-col :span="1.5"> @@ -272,19 +435,8 @@ @selection-change="handlebingChange" > <el-table-column type="selection" width="40" align="center" /> - <!-- <el-table-column - label="搴忓彿" - align="center" - prop="index" - width="50" - /> --> <el-table-column label="鐤剧梾绫诲瀷" prop="type"> <template slot-scope="scope"> - <!-- <el-input - size="mini" - v-model="scope.row.diseaseName" - placeholder="璇疯緭鍏ョ柧鐥呭悕绉�" - /> --> <el-select v-model="scope.row.type" remote @@ -302,7 +454,6 @@ </template> </el-table-column> <el-table-column label="鐤剧梾id" prop="icdId" v-if="false"> - <!-- <template slot-scope="scope"> --> <el-select :remote-method="getRemoteData" v-model="icdId" @@ -318,15 +469,9 @@ :value="dict.id" /> </el-select> - <!-- </template> --> </el-table-column> <el-table-column label="鐤剧梾鍚嶇О" prop="diseaseName"> <template slot-scope="scope"> - <!-- <el-input - size="mini" - v-model="scope.row.diseaseName" - placeholder="璇疯緭鍏ョ柧鐥呭悕绉�" - /> --> <el-select :remote-method="getRemoteData" v-model="scope.row.diseaseName" @@ -347,10 +492,6 @@ </el-table-column> <el-table-column label="璇婃柇鏃ユ湡" prop="diseaseData"> <template slot-scope="scope"> - <!-- <el-input - v-model="scope.row.diseaseData" - placeholder="璇疯緭鍏ヨ瘖鏂棩鏈�" - /> --> <el-date-picker size="mini" v-model="scope.row.diseaseData" @@ -375,7 +516,6 @@ </el-table-column> <el-table-column label="鏄惁鐥婃剤" prop="isOk"> <template slot-scope="scope"> - <!-- <el-input v-model="scope.row.isOk" placeholder="璇疯緭鍏ユ槸鍚︾棅鎰�" /> --> <el-select filterable size="mini" @@ -404,7 +544,7 @@ </el-table> </div> </el-collapse-item> - <el-collapse-item title="鏃㈠線鐥呭彶" name="5" v-show="jiwangbingshi"> + <!-- <el-collapse-item title="鏃㈠線鐥呭彶" name="5" v-show="jiwangbingshi"> <div style="width: 900px"> <el-row :gutter="10" class="mb8"> <el-col :span="1.5"> @@ -434,19 +574,8 @@ @selection-change="handlebingChange" > <el-table-column type="selection" width="40" align="center" /> - <!-- <el-table-column - label="搴忓彿" - align="center" - prop="index" - width="50" - /> --> <el-table-column label="鐤剧梾绫诲瀷" prop="type"> <template slot-scope="scope"> - <!-- <el-input - size="mini" - v-model="scope.row.diseaseName" - placeholder="璇疯緭鍏ョ柧鐥呭悕绉�" - /> --> <el-select v-model="scope.row.type" remote @@ -464,7 +593,6 @@ </template> </el-table-column> <el-table-column label="鐤剧梾id" prop="icdId" v-if="false"> - <!-- <template slot-scope="scope"> --> <el-select :remote-method="getRemoteData" v-model="icdId" @@ -480,15 +608,9 @@ :value="dict.id" /> </el-select> - <!-- </template> --> </el-table-column> <el-table-column label="鐤剧梾鍚嶇О" prop="diseaseName"> <template slot-scope="scope"> - <!-- <el-input - size="mini" - v-model="scope.row.diseaseName" - placeholder="璇疯緭鍏ョ柧鐥呭悕绉�" - /> --> <el-select :remote-method="getRemoteData" v-model="scope.row.diseaseName" @@ -509,10 +631,6 @@ </el-table-column> <el-table-column label="璇婃柇鏃ユ湡" prop="diseaseData"> <template slot-scope="scope"> - <!-- <el-input - v-model="scope.row.diseaseData" - placeholder="璇疯緭鍏ヨ瘖鏂棩鏈�" - /> --> <el-date-picker size="mini" v-model="scope.row.diseaseData" @@ -537,7 +655,6 @@ </el-table-column> <el-table-column label="鏄惁鐥婃剤" prop="isOk"> <template slot-scope="scope"> - <!-- <el-input v-model="scope.row.isOk" placeholder="璇疯緭鍏ユ槸鍚︾棅鎰�" /> --> <el-select filterable size="mini" @@ -565,9 +682,9 @@ </el-table-column> </el-table> </div> - </el-collapse-item> + </el-collapse-item> --> - <el-collapse-item title="鑱屼笟鍙�" name="7" v-show="zhiye"> + <!-- <el-collapse-item title="鑱屼笟鍙�" name="7" v-show="zhiye"> <div style="width: 900px"> <el-row :gutter="10" class="mb8"> <el-col :span="1.5"> @@ -596,12 +713,6 @@ @selection-change="handlezhiyeChange" > <el-table-column type="selection" width="40" align="center" /> - <!-- <el-table-column - label="搴忓彿" - align="center" - prop="index" - width="50" - /> --> <el-table-column label="寮�濮嬫椂闂�" prop="beginTime"> <template slot-scope="scope"> <el-date-picker @@ -659,7 +770,6 @@ </el-table-column> <el-table-column label="鏈夊鍥犵礌" prop="harmTypeLogs"> <template slot-scope="scope"> - <!-- <el-input v-model="scope.row.isOk" placeholder="璇疯緭鍏ユ槸鍚︾棅鎰�" /> --> <el-select filterable size="mini" @@ -688,7 +798,7 @@ </el-table-column> </el-table> </div> - </el-collapse-item> + </el-collapse-item> --> </el-collapse> </el-form> <div slot="footer" class="dialog-footer"> @@ -704,9 +814,13 @@ </template> <script> -import { updateHistory, getInfoById, getZhengZhuang } from "@/api/hosp/history"; +import { + updateHistory, + getInfoById, + getZhengZhuang, + removeAskHistorys, +} from "@/api/hosp/history"; import { list } from "@/api/hosp/rules"; -import { listIcd } from "@/api/system/icd"; export default { dicts: ["tj_smoking_pinlv", "sys_yes_no", "tj_work_status", "tj_work"], name: "jianqianwenzhen", @@ -743,7 +857,7 @@ }, ], icdId: "", - radio: '1', + radio: 1, zhiye: true, queryParams: { pageNum: 1, @@ -787,13 +901,37 @@ multiple: true, // ${subTable.functionName}琛ㄦ牸鏁版嵁 tjAskHistorysList: [], + zhiyezzList: [], // 寮瑰嚭灞傛爣棰� title: "", harmTypeList: [], // 琛ㄥ崟鍙傛暟 - form: {}, + form: { + cusName: "", + work: "", + workStatus: "", + gongZhong: "", + dwmc: "", + ygdw: "", + gongLing: "", + jhgl: "", + yjsfyc: "", // 鏄惁寮傚父 + ycms: "", // 寮傚父鎻忚堪 + tjwhys: "", + jcwhys: "", + xiyan: "", + xiyanpinlv: "", + xiyanyear: "", + yinjiu: "", + yinjiupinlv: "", + yinjiuyear: "", + qita: "", + medicalHistoryOther: "", + mediHistoryq: [], + }, chageall: [], bingshiall: [], + selectedZhiyezz: [], // 鐤剧梾瀛楀吀琛ㄦ牸鏁版嵁 icdList: [], rulesList: [], @@ -806,22 +944,47 @@ trigger: "blur", }, ], + ycms: [ + { + validator: (rule, value, callback) => { + if (this.form.yjsfyc === "Y" && !value) { + callback(new Error("鏈堢粡寮傚父鎻忚堪涓嶈兘涓虹┖")); + } else { + callback(); + } + }, + trigger: "blur", + }, + ], // 鍒濆涓嶈缃负蹇呭~ }, }; }, + watch: { jianqianwenzhendata(val, newVla) { + console.log(val, 555); if (val) { val.forEach((item) => { let tjNumber = item; getInfoById(tjNumber).then((response) => { - this.form = response.data; + // this.form = response.data; + + Object.assign(this.form, response.data); + console.log(response.data.medicalHistoryIds, 8888); + + const medicalHistoryIds = response.data.medicalHistoryIds; + const splitIds = medicalHistoryIds + ? medicalHistoryIds.split(",") + : []; + this.form.mediHistoryq = splitIds; + // this.form.medicalHistoryOther = response.data.medicalHistoryOther; + if (this.form.cusSex === "1") { this.sex = true; } else { this.sex = false; } - if (this.form.tjLx === "02") { + /* if (this.form.tjLx === "02") { this.zhiye = true; this.zhiyebingshi = true; this.jiwangbingshi = false; @@ -829,7 +992,7 @@ this.zhiye = false; this.zhiyebingshi = false; this.jiwangbingshi = true; - } + } */ if (this.form.xiyan == null) { this.form.xiyan = "1"; } @@ -856,6 +1019,8 @@ this.form.gongLing = 1; // 宸ラ緞榛樿鍊� } this.form.tjAskHistorysList = response.data.tjAskHistorysList; + this.form.zhiyezzList = response.data.zhiyezzList; + // this.isdisabled= true }); }); @@ -866,12 +1031,20 @@ created() { this.getList(); this.getzhenzhuangList(); - console.log("鎺ユ敹", this.jianqianwenzhendata); + // console.log(this.form.cusSex, 15555); + // console.log("鎺ユ敹", this.jianqianwenzhendata); + if (this.jianqianwenzhendata.length == 1) { this.jianqianwenzhendata.forEach((item) => { let tjNumber = item; getInfoById(tjNumber).then((response) => { - this.form = response.data; + // this.form = response.data; + Object.assign(this.form, response.data); + + const splitIds = response.data.medicalHistoryIds.split(","); + this.form.mediHistoryq = splitIds; + this.form.medicalHistoryOther = response.data.medicalHistoryOther; + if (this.form.cusSex === "1") { this.sex = true; } else { @@ -908,6 +1081,7 @@ this.form.yinjiuyear = "0"; } this.form.tjAskHistorysList = response.data.tjAskHistorysList; + this.form.zhiyezzList = response.data.zhiyezzList; // this.isdisabled= true }); }); @@ -922,11 +1096,117 @@ }); }, + handleTjwhysChange(val) { + console.log("tjwhys changed:", val); + }, + getzhenzhuangList() { getZhengZhuang().then((response) => { this.zhenghuzangList = response.data; }); }, + + /* addzj() { + if (this.form.cusName) { + if (!this.form.zhiyezzList) { + this.form.zhiyezzList = []; + this.form.zhiyezzList.push({ + id: parseInt(length), + diseaseName: "", + diseaseData: "", + diseaseCompany: "", + isOk: "", + remark: "", + icdId: "", + type: "", + }); + } else { + this.form.zhiyezzList.push({ + id: parseInt(length), + diseaseName: "", + diseaseData: "", + diseaseCompany: "", + isOk: "", + remark: "", + icdId: "", + type: "", + }); + } + } else { + this.$message.warning("璇峰厛濉啓瀹㈡埛鍚�"); + } + this.$forceUpdate(); + }, */ + + addzj() { + if (!this.form.cusName) { + this.$message.warning("璇峰厛濉啓瀹㈡埛鍚�"); + return; + } + + if (!this.form.zhiyezzList) { + this.form.zhiyezzList = []; + } + + this.form.zhiyezzList.push({ + id: Date.now(), // 鐢ㄦ椂闂存埑褰撴湰鍦板敮涓� id + diseaseId: null, // 鍏抽敭锛佹槑纭爣璇嗏�滆繕娌″瓨杩涙暟鎹簱鈥� + isLocal: true, // 鍙�夛紝渚夸簬鍚庣画澶勭悊 + diseaseName: "", + diseaseData: "", + diseaseCompany: "", + isOk: "", + remark: "", + icdId: "", + type: "", + }); + + this.$forceUpdate(); // 寮哄埗鍒锋柊锛堝鏋滈渶瑕侊級 + }, + + async delezz() { + if (!this.selectedZhiyezz?.length) { + this.$message.warning("璇峰厛閫夋嫨瑕佸垹闄ょ殑椤�"); + return; + } + + // 鎷嗗垎鈥滄湰鍦版暟鎹�濆拰鈥滄暟鎹簱鏁版嵁鈥� + const localItems = this.selectedZhiyezz.filter((item) => !item.diseaseId); + const dbItems = this.selectedZhiyezz.filter((item) => item.diseaseId); + + // 鍏堝浠戒竴涓嬪綋鍓嶅垪琛紝鏂逛究鍑洪敊鏃舵仮澶� + const backupList = [...this.form.zhiyezzList]; + + // 鍒犻櫎鏈湴鏂板椤癸紙涓嶉渶瑕佽皟鎺ュ彛锛� + this.form.zhiyezzList = this.form.zhiyezzList.filter( + (item) => !localItems.includes(item) + ); + + try { + // 濡傛灉鏈夋暟鎹簱椤癸紝瑕佽皟鐢ㄦ帴鍙e垹闄� + if (dbItems.length) { + const deletedIds = dbItems.map((item) => item.diseaseId); + const res = await removeAskHistorys(deletedIds); + if (res?.code !== 200) throw new Error("鍒犻櫎澶辫触"); + + // 鎺ュ彛鎴愬姛锛屽啀浠庨〉闈㈢Щ闄ゆ暟鎹簱鏁版嵁 + this.form.zhiyezzList = this.form.zhiyezzList.filter( + (item) => !dbItems.includes(item) + ); + this.$message.success("鍒犻櫎鎴愬姛"); + } + } catch (err) { + // 鍒犻櫎澶辫触 + this.form.zhiyezzList = backupList; + this.$message.error("鍒犻櫎澶辫触"); + console.error(err); + } + + // 娓呯┖閫変腑 + this.selectedZhiyezz = []; + this.$forceUpdate(); + }, + // 鏂板琛� addmembers() { if (this.form.cusName) { @@ -995,6 +1275,19 @@ this.$forceUpdate(); }, + indexMethod(index) { + return ( + (this.queryParams.pageNum - 1) * this.queryParams.pageSize + index + 1 + ); + }, + + onYjsfycChange() { + // 鎵嬪姩瑙﹀彂鈥滄湀缁忓紓甯告弿杩扳�濈殑鏍¢獙 + this.$nextTick(() => { + this.$refs.form.validateField("ycms"); + }); + }, + jibing(sel) { this.diseaseNames = sel; this.rulesList.forEach((item) => { @@ -1004,6 +1297,19 @@ }); this.form.tjAskHistorysList.forEach((item) => { if (item.diseaseName == sel) { + item.icdId = this.icdId; + } + }); + }, + zz(sel) { + this.name = sel; + this.zhenghuzangList.forEach((item) => { + if (sel == item.icdname) { + this.icdId = item.id; + } + }); + this.form.zhiyezzList.forEach((item) => { + if (item.name == sel) { item.icdId = this.icdId; } }); @@ -1022,6 +1328,19 @@ } }, + getZzData(query) { + if (query) { + let data = { + icdname: query, + pageNum: 1, + pageSize: 200, + }; + getZhengZhuang(data).then((response) => { + this.zhenghuzangList = response.data; + }); + } + }, + delememberss() { let that = this; if (that.form.workLogs.length == that.chageall.length) { @@ -1036,46 +1355,118 @@ }); } }, + delemembers() { - let that = this; - if (that.form.tjAskHistorysList.length == that.bingshiall.length) { - that.form.tjAskHistorysList = []; - } else { - that.bingshiall.forEach((item1, index1) => { - that.form.tjAskHistorysList.forEach((item, index) => { - if (item == item1) { - that.form.tjAskHistorysList.splice(index, 1); - } - }); - }); + if (!this.bingshiall || this.bingshiall.length === 0) { + this.$message.warning("璇峰厛閫夋嫨瑕佸垹闄ょ殑椤�"); + return; } + + // 鍖哄垎鏂板椤瑰拰鏁版嵁搴撻」 + const localItems = this.bingshiall.filter((item) => !item.diseaseId); // 鏂板鐨� + const dbItems = this.bingshiall.filter((item) => item.diseaseId); // 鏁版嵁搴撳凡鏈夌殑 + + // 鍏堝垹闄ゆ柊澧炵殑锛堟湰鍦扮洿鎺ュ垹锛� + if (localItems.length > 0) { + this.form.tjAskHistorysList = this.form.tjAskHistorysList.filter( + (item) => !localItems.includes(item) + ); + } + + if (dbItems.length === 0) { + // 鍙湁鏂板椤癸紝鏃犻渶璋冪敤鎺ュ彛锛岀洿鎺ユ竻绌洪�変腑锛岄��鍑� + this.bingshiall = []; + this.$forceUpdate(); + return; + } + + // 璋冩帴鍙e垹闄ゆ暟鎹簱椤� + const historyId = dbItems.map((item) => item.diseaseId); + removeAskHistorys(historyId) + .then((res) => { + this.$message.success("鍒犻櫎鎴愬姛"); + // 鎺ュ彛鎴愬姛鍚庡垹闄ゆ暟鎹簱椤� + this.form.tjAskHistorysList = this.form.tjAskHistorysList.filter( + (item) => + !dbItems.some((selected) => selected.diseaseId === item.diseaseId) + ); + this.bingshiall = []; + this.$forceUpdate(); + }) + .catch(() => { + this.$message.warning("鍒犻櫎澶辫触"); + }); }, + /* delemembers() { + if (this.bingshiall && this.bingshiall.length > 0) { + const historyId = this.bingshiall.map((item) => item.diseaseId); + + // 鍙戣姹� + removeAskHistorys(historyId).then((res) => { + console.log(res, "鍒犻櫎鎺ュ彛鍝嶅簲"); + + this.$message.success("鍒犻櫎鎴愬姛"); + + // 鎺ュ彛鎴愬姛鍚庡啀鏈湴鍒犻櫎 + this.form.tjAskHistorysList = this.form.tjAskHistorysList.filter( + (item) => + !this.bingshiall.some( + (selected) => selected.diseaseId === item.diseaseId + ) + ); + + this.bingshiall = []; + this.$forceUpdate(); + }); + } else { + this.$message.warning("璇峰厛閫夋嫨瑕佸垹闄ょ殑椤�"); + } + }, */ + handlebingChange(selection) { this.bingshiall = []; this.bingshiall = selection; + }, + handlezzChange(val) { + // 鏇存柊閫変腑鐨勯」 + this.selectedZhiyezz = val; }, handlezhiyeChange(selection) { this.chageall = []; this.chageall = selection; }, - /** 鎻愪氦鎸夐挳 */ - /* submitForm() { - // this.form.tjAskHistorysList.forEach(element=>{ - // element.icdId = this.icdId; - // }) - updateHistory(this.form).then((response) => { - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.form = response.data; - }); - }, */ + submitForm() { + // console.log("鎻愪氦鍓� form:", JSON.parse(JSON.stringify(this.form))); this.$refs.form.validate((valid) => { + // console.log("鏍¢獙鍚� form:", JSON.parse(JSON.stringify(this.form))); if (valid) { this.$emit("submitLoading", true); + + const selected = this.form.mediHistoryq || []; + + this.form.medicalHistory = selected.map((name) => { + const match = this.rulesList.find((item) => item.id === name); + // console.log(match); + + return { + icdname: match ? match.icdname : "", + id: match ? match.id : "", + }; + }); + // console.log(this.form, 1236); + updateHistory(this.form) .then((response) => { + console.log("鎺ュ彛杩斿洖鏁版嵁", response.data); this.$message.success("淇敼鎴愬姛"); - this.form = response.data; // 鏇存柊琛ㄥ崟鏁版嵁 + // this.form = response.data; // 鏇存柊琛ㄥ崟鏁版嵁 + + Object.assign(this.form, response.data); + + const splitIds = response.data.medicalHistoryIds.split(","); + this.form.medicalHistoryOther = response.data.medicalHistoryOther; + this.form.mediHistoryq = splitIds; }) .catch((error) => { this.$message.error("淇敼澶辫触"); -- Gitblit v1.8.0