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 | 926 ++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 778 insertions(+), 148 deletions(-) diff --git a/src/components/jianqianwenzhen/index.vue b/src/components/jianqianwenzhen/index.vue index 380f83e..082bc96 100644 --- a/src/components/jianqianwenzhen/index.vue +++ b/src/components/jianqianwenzhen/index.vue @@ -1,6 +1,6 @@ <template> <div> - <span class="txt">闂瘖淇℃伅</span> + <span class="txt"></span> <el-form ref="form" :model="form" @@ -53,17 +53,53 @@ </el-select> </el-form-item> <el-form-item label="宸ョ" prop="gongZhong"> - <el-input v-model="form.gongZhong" placeholder="璇疯緭鍏ュ伐绉�" /> + <el-input + v-model="form.gongZhong" + placeholder="璇疯緭鍏ュ伐绉�" + style="width: 710px" + /> </el-form-item> - <el-form-item label="宸ラ緞" prop="gongLing"> + <el-form-item label="鍗曚綅鍚嶇О" prop="dwmc"> + <el-input + 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> + <el-form-item label="鎬诲伐榫�" prop="gongLing"> <!-- <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="contactPoison"> + <el-form-item + label="鎺ヨЕ鏈夊鐗╁伐榫�" + prop="jhgl" + label-width="150px" + > + <!-- <el-input v-model="form.cusName" placeholder="璇疯緭鍏ュ伐榫�" style="width: 150px" />骞� --> + <el-input-number + v-model="form.jhgl" + label="璇疯緭鍏ユ帴瑙︽湁瀹崇墿宸ラ緞" + ></el-input-number + >骞� + </el-form-item> + <el-form-item label="鏄惁澶嶈瘖" prop=""> + <el-radio-group v-model="radio"> + <el-radio :label="1">鏄�</el-radio> + <el-radio :label="2">鍚�</el-radio> + </el-radio-group> + </el-form-item> + <!-- <el-form-item label="鎺ヨЕ姣掔墿" prop="contactPoison"> <el-input type="textarea" rows="4" @@ -71,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" - placeholder="璇疯緭鍏�" + 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 @@ -97,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"> @@ -120,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" @@ -129,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> @@ -177,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="璇疯緭鍏ラギ閰掗鐜�" /> --> @@ -200,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 @@ -213,7 +405,7 @@ </el-form-item> </div> </el-collapse-item> - <el-collapse-item title="鑱屼笟鐥�" name="5"> + <el-collapse-item title="鑱屼笟鐥呭彶" name="5" v-show="zhiyebingshi"> <div style="width: 900px"> <el-row :gutter="10" class="mb8"> <el-col :span="1.5"> @@ -243,26 +435,14 @@ @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 filterable placeholder="璇烽�夋嫨鐤剧梾绫诲瀷" clearable - @change="jibing" > <el-option v-for="item in options" @@ -273,13 +453,25 @@ </el-select> </template> </el-table-column> + <el-table-column label="鐤剧梾id" prop="icdId" v-if="false"> + <el-select + :remote-method="getRemoteData" + v-model="icdId" + remote + filterable + placeholder="璇烽�夋嫨鐥呯鍚�" + clearable + > + <el-option + v-for="dict in rulesList" + :key="dict.id" + :label="dict.icdname" + :value="dict.id" + /> + </el-select> + </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" @@ -291,19 +483,15 @@ > <el-option v-for="dict in rulesList" - :key="dict.aid" - :label="dict.bingzhong" - :value="dict.bingzhong" + :key="dict.id" + :label="dict.icdname" + :value="dict.icdname" /> </el-select> </template> </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" @@ -328,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" @@ -357,8 +544,147 @@ </el-table> </div> </el-collapse-item> + <!-- <el-collapse-item title="鏃㈠線鐥呭彶" name="5" v-show="jiwangbingshi"> + <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="addmembers()" + >娣诲姞 + </el-button> + </el-col> + <el-col :span="1.5"> + <el-button + type="danger" + icon="el-icon-delete" + size="mini" + @click="delemembers()" + >鍒犻櫎 + </el-button> + </el-col> + </el-row> + <el-table + border + :data="form.tjAskHistorysList" + ref="tjAskHistorys" + style="width: 98%" + @selection-change="handlebingChange" + > + <el-table-column type="selection" width="40" align="center" /> + <el-table-column label="鐤剧梾绫诲瀷" prop="type"> + <template slot-scope="scope"> + <el-select + v-model="scope.row.type" + remote + filterable + placeholder="璇烽�夋嫨鐤剧梾绫诲瀷" + clearable + > + <el-option + v-for="item in options" + :key="item.value" + :label="item.label" + :value="item.value" + /> + </el-select> + </template> + </el-table-column> + <el-table-column label="鐤剧梾id" prop="icdId" v-if="false"> + <el-select + :remote-method="getRemoteData" + v-model="icdId" + remote + filterable + placeholder="璇烽�夋嫨鐥呯鍚�" + clearable + > + <el-option + v-for="dict in rulesList" + :key="dict.id" + :label="dict.icdname" + :value="dict.id" + /> + </el-select> + </el-table-column> + <el-table-column label="鐤剧梾鍚嶇О" prop="diseaseName"> + <template slot-scope="scope"> + <el-select + :remote-method="getRemoteData" + v-model="scope.row.diseaseName" + remote + filterable + placeholder="璇烽�夋嫨鐥呯鍚�" + clearable + @change="jibing" + > + <el-option + v-for="dict in rulesList" + :key="dict.id" + :label="dict.icdname" + :value="dict.icdname" + /> + </el-select> + </template> + </el-table-column> + <el-table-column label="璇婃柇鏃ユ湡" prop="diseaseData"> + <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="diseaseCompany"> + <template slot-scope="scope"> + <el-input + size="mini" + v-model="scope.row.diseaseCompany" + placeholder="璇疯緭鍏ヨ瘖鏂崟浣�" + /> + </template> + </el-table-column> + <el-table-column label="鏄惁鐥婃剤" prop="isOk"> + <template slot-scope="scope"> + <el-select + filterable + size="mini" + v-model="scope.row.isOk" + placeholder="璇烽�夋嫨鏄惁鐥婃剤" + clearable + > + <el-option + v-for="dict in dict.type.sys_yes_no" + :key="dict.value" + :label="dict.label" + :value="dict.value" + /> + </el-select> + </template> + </el-table-column> + <el-table-column label="澶囨敞" prop="remark"> + <template slot-scope="scope"> + <el-input + size="mini" + v-model="scope.row.remark" + placeholder="璇疯緭鍏ュ娉�" + /> + </template> + </el-table-column> + </el-table> + </div> + </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"> @@ -387,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 @@ -450,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" @@ -479,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"> @@ -495,19 +814,19 @@ </template> <script> -import { updateHistory, getInfoById, getZhengZhuang } from "@/api/hosp/history"; -import { listRules } from "@/api/hosp/rules"; -import { listIcd } from "@/api/system/icd"; +import { + updateHistory, + getInfoById, + getZhengZhuang, + removeAskHistorys, +} from "@/api/hosp/history"; +import { list } from "@/api/hosp/rules"; export default { dicts: ["tj_smoking_pinlv", "sys_yes_no", "tj_work_status", "tj_work"], name: "jianqianwenzhen", props: { jianqianwenzhendata: { type: Array, //鏁扮粍绫诲瀷 - default: null, - }, - jianqianwenzhendatas: { - type: Array, //瀛楃涓茬被鍨� default: null, }, }, @@ -523,6 +842,9 @@ } }; return { + zhiyebingshi: true, + jiwangbingshi: true, + diseaseNames: "", zhenghuzangList: [], options: [ { @@ -534,11 +856,12 @@ label: "鑱屼笟鐥�", }, ], - icd: "", + icdId: "", + radio: 1, zhiye: true, queryParams: { pageNum: 1, - pageSize: 10, + pageSize: 100, }, dataList: [], pickerOptions: { @@ -578,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: [], @@ -597,26 +944,55 @@ 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; } else { this.zhiye = false; - } + this.zhiyebingshi = false; + this.jiwangbingshi = true; + } */ if (this.form.xiyan == null) { this.form.xiyan = "1"; } @@ -638,77 +1014,90 @@ if (this.form.yinjiuyear == null) { this.form.yinjiuyear = "0"; } + // 璁剧疆榛樿鍊� + if (this.form.gongLing == null) { + this.form.gongLing = 1; // 宸ラ緞榛樿鍊� + } this.form.tjAskHistorysList = response.data.tjAskHistorysList; + this.form.zhiyezzList = response.data.zhiyezzList; + // this.isdisabled= true }); }); this.loading = false; } - - // if (this.fList) { - // this.getList() - // } - }, - jianqianwenzhendatas(valse, newVla) { - console.log(valse); - if (valse) { - console.log(valse); - let tjNumber = valse.tjNum; - console.log(tjNumber,111); - getInfoById(tjNumber).then((response) => { - this.form = response.data; - if (this.form.cusSex === "1") { - this.sex = true; - } else { - this.sex = false; - } - if (this.form.tjLx === "02") { - this.zhiye = true; - } else { - this.zhiye = false; - } - if (this.form.xiyan == null) { - this.form.xiyan = "1"; - } - if (this.form.yjsfyc == null) { - this.form.yjsfyc = "N"; - } - if (this.form.xiyanpinlv == null) { - this.form.xiyanpinlv = "0"; - } - if (this.form.xiyanyear == null) { - this.form.xiyanyear = "0"; - } - if (this.form.yinjiu == null) { - this.form.yinjiu = "1"; - } - if (this.form.yinjiupinlv == null) { - this.form.yinjiupinlv = "0"; - } - if (this.form.yinjiuyear == null) { - this.form.yinjiuyear = "0"; - } - this.form.tjAskHistorysList = response.data.tjAskHistorysList; - // this.isdisabled= true - }); - this.loading = false; - } - - // if (this.fList) { - // this.getList() - // } }, }, created() { this.getList(); this.getzhenzhuangList(); + // 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; + 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 { + this.sex = false; + } + if (this.form.tjLx === "02") { + this.zhiye = true; + this.zhiyebingshi = true; + this.jiwangbingshi = false; + } else { + this.zhiye = false; + this.zhiyebingshi = false; + this.jiwangbingshi = true; + } + if (this.form.xiyan == null) { + this.form.xiyan = "1"; + } + if (this.form.yjsfyc == null) { + this.form.yjsfyc = "N"; + } + if (this.form.xiyanpinlv == null) { + this.form.xiyanpinlv = "0"; + } + if (this.form.xiyanyear == null) { + this.form.xiyanyear = "0"; + } + if (this.form.yinjiu == null) { + this.form.yinjiu = "1"; + } + if (this.form.yinjiupinlv == null) { + this.form.yinjiupinlv = "0"; + } + if (this.form.yinjiuyear == null) { + this.form.yinjiuyear = "0"; + } + this.form.tjAskHistorysList = response.data.tjAskHistorysList; + this.form.zhiyezzList = response.data.zhiyezzList; + // this.isdisabled= true + }); + }); + this.loading = false; + } }, methods: { /** 鏌ヨ鐤剧梾瀛楀吀鍒楄〃 */ getList() { - listRules(this.queryParams).then((response) => { + list(this.queryParams).then((response) => { this.rulesList = response.rows; }); + }, + + handleTjwhysChange(val) { + console.log("tjwhys changed:", val); }, getzhenzhuangList() { @@ -717,25 +1106,105 @@ }); }, - jibing(sel) { - console.log(sel); - this.rulesList.forEach((item) => { - console.log(item); - if (sel == item.bingzhong) { - this.icd = item.aid; + /* 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: "", + }); } - }); - }, - // 鎼滅储 - getRemoteData(query) { - if (query) { - let data = { - bingzhong: query, - }; - listRules(data).then((response) => { - this.rulesList = response.rows; - }); + } 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(); }, // 鏂板琛� @@ -805,6 +1274,73 @@ } 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) => { + if (sel == item.icdname) { + this.icdId = item.id; + } + }); + 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; + } + }); + }, + // 鎼滅储 + getRemoteData(query) { + if (query) { + let data = { + icdname: query, + pageNum: 1, + pageSize: 200, + }; + list(data).then((response) => { + this.rulesList = response.rows; + }); + } + }, + + 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) { @@ -819,34 +1355,128 @@ }); } }, + 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.tjNum = this.jianqianwenzhendata.tjNum; - // this.form.tjAskHistorysList.icdId = this.icd; - updateHistory(this.form).then((response) => { - this.$modal.msgSuccess("淇敼鎴愬姛"); + // 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; // 鏇存柊琛ㄥ崟鏁版嵁 + + 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("淇敼澶辫触"); + }) + .finally(() => { + this.$emit("submitLoading", false); + }); + } else { + this.$message.error("璇锋鏌ヨ〃鍗曞唴瀹�"); + } }); }, }, -- Gitblit v1.8.0