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 | 1047 +++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 961 insertions(+), 86 deletions(-) diff --git a/src/components/jianqianwenzhen/index.vue b/src/components/jianqianwenzhen/index.vue index 92ff394..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" @@ -52,7 +52,54 @@ /> </el-select> </el-form-item> - <el-form-item label="鎺ヨЕ姣掔墿" prop="contactPoison"> + <el-form-item label="宸ョ" prop="gongZhong"> + <el-input + v-model="form.gongZhong" + placeholder="璇疯緭鍏ュ伐绉�" + style="width: 710px" + /> + </el-form-item> + <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="璇疯緭鍏ユ�诲伐榫�" + ></el-input-number + >骞� + </el-form-item> + <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" @@ -60,18 +107,187 @@ 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-select + multiple + filterable + v-model="form.zzsjj" + placeholder="璇烽�夋嫨鐥囩姸" + clearable + style="width: 700px" + > + <el-option + v-for="dict in zhenghuzangList" + :key="dict.id" + :label="dict.proName" + :value="dict.proName" + /> + </el-select> + </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"> @@ -85,6 +301,26 @@ </el-form-item> <el-form-item label="鏈鏈堢粡" prop="mociage"> <el-input v-model="form.mociage" style="width: 100px" /> + </el-form-item> + <el-form-item label="鏄惁寮傚父" prop="yjsfyc"> + <el-select + filterable + v-model="form.yjsfyc" + placeholder="璇烽�夋嫨鏄惁寮傚父" + clearable + style="width: 70px" + @change="onYjsfycChange" + > + <el-option + v-for="dict in dict.type.sys_yes_no" + :key="dict.value" + :label="dict.label" + :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> @@ -133,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="璇疯緭鍏ラギ閰掗鐜�" /> --> @@ -156,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 @@ -169,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"> @@ -199,39 +435,63 @@ @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="diseaseName"> + <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.diseaseName" - placeholder="璇烽�夋嫨鐤剧梾鍚嶇О" + v-model="scope.row.type" + remote filterable + placeholder="璇烽�夋嫨鐤剧梾绫诲瀷" + clearable > <el-option - v-for="dict in icdList" - :key="dict.icdname" + 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.id" + :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" @@ -256,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" @@ -285,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"> + <!-- <el-collapse-item title="鑱屼笟鍙�" name="7" v-show="zhiye"> <div style="width: 900px"> <el-row :gutter="10" class="mb8"> <el-col :span="1.5"> @@ -315,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 @@ -330,7 +722,6 @@ type="date" placeholder="閫夋嫨鏃ユ湡" :picker-options="pickerOptions" - style="width: 130px" value-format="yyyy-MM-dd" > </el-date-picker> @@ -345,7 +736,6 @@ type="date" placeholder="閫夋嫨鏃ユ湡" :picker-options="pickerOptions" - style="width: 130px" value-format="yyyy-MM-dd" > </el-date-picker> @@ -380,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" @@ -409,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"> @@ -425,20 +814,24 @@ </template> <script> -import { listIcd } from "@/api/system/icd"; -import { updateHistory } from "@/api/hosp/history"; +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: () => [], + default: null, }, }, data() { let checkPhoneNum = (rule, value, callback) => { - console.log(value); let patter = new RegExp(/^1\s*[3456789]\s*(\d\s*){9}$/); if (value == "" && value == undefined && !value) { return callback(""); @@ -449,6 +842,27 @@ } }; return { + zhiyebingshi: true, + jiwangbingshi: true, + diseaseNames: "", + zhenghuzangList: [], + options: [ + { + value: "鏃㈠線鐥�", + label: "鏃㈠線鐥�", + }, + { + value: "鑱屼笟鐥�", + label: "鑱屼笟鐥�", + }, + ], + icdId: "", + radio: 1, + zhiye: true, + queryParams: { + pageNum: 1, + pageSize: 100, + }, dataList: [], pickerOptions: { disabledDate(time) { @@ -487,15 +901,40 @@ 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: [], // 琛ㄥ崟鏍¢獙 rules: { deleted: [ @@ -505,60 +944,269 @@ 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) { - this.loading = false; - this.form = val; - if (this.form.xiyan == null) { - this.form.xiyan = "1"; - } - 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 = val.tjAskHistorysList; - } + val.forEach((item) => { + let tjNumber = item; + getInfoById(tjNumber).then((response) => { + // this.form = response.data; - // if (this.fList) { - // this.getList() - // } + 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") { + 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"; + } + // 璁剧疆榛樿鍊� + 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; + } }, }, 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() { - this.loading = true; - listIcd(this.queryParams).then((response) => { - this.icdList = response.rows; - console.log(this.icdList); - response.rows.forEach((item, index) => { - item.newID = - (this.queryParams.pageNum - 1) * this.queryParams.pageSize + - index + - 1; - }); - this.total = response.total; - this.loading = false; + list(this.queryParams).then((response) => { + this.rulesList = response.rows; }); }, + + 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) { @@ -571,6 +1219,8 @@ diseaseCompany: "", isOk: "", remark: "", + icdId: "", + type: "", Selection, }); } else { @@ -581,6 +1231,8 @@ diseaseCompany: "", isOk: "", remark: "", + icdId: "", + type: "", Selection, }); } @@ -589,19 +1241,242 @@ } this.$forceUpdate(); }, + addmemberss() { + if (this.form.cusName) { + if (!this.form.workLogs) { + this.form.workLogs = []; + this.form.workLogs.push({ + // id: parseInt(length), + beginTime: "", + endTime: "", + workCompany: "", + workDept: "", + workType: "", + harmTypeLogs: "", + fangHu: "", + Selection, + }); + } else { + this.form.workLogs.push({ + // id: parseInt(length), + beginTime: "", + endTime: "", + workCompany: "", + workDept: "", + workType: "", + harmTypeLogs: "", + fangHu: "", + Selection, + }); + } + } else { + Message.warning("璇峰厛濉啓瀹㈡埛鍚�"); + } + 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) { + that.form.workLogs = []; + } else { + that.chageall.forEach((item1, index1) => { + that.form.workLogs.forEach((item, index) => { + if (item == item1) { + that.form.workLogs.splice(index, 1); + } + }); + }); + } + }, + + delemembers() { + 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; - 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