From 35412dc0ad60ae6cbf09035914356be9c4e4c3a4 Mon Sep 17 00:00:00 2001 From: lkk <364857242@qq.com> Date: 星期二, 10 六月 2025 16:38:44 +0800 Subject: [PATCH] 1 --- src/components/jianqianwenzhen/index.vue | 866 +++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 592 insertions(+), 274 deletions(-) diff --git a/src/components/jianqianwenzhen/index.vue b/src/components/jianqianwenzhen/index.vue index 608eb8a..19172bc 100644 --- a/src/components/jianqianwenzhen/index.vue +++ b/src/components/jianqianwenzhen/index.vue @@ -55,53 +55,217 @@ <el-form-item label="宸ョ" prop="gongZhong"> <el-input v-model="form.gongZhong" placeholder="璇疯緭鍏ュ伐绉�" /> </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-input - @focus="change" - type="textarea" - rows="4" - v-model="form.contactPoison" - placeholder="璇疯緭鍏ユ帴瑙︽瘨鐗�" - style="width: 700px" - /> + <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="medicalHistory"> + <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 @focus="change" type="textarea" rows="4" v-model="form.contactPoison" placeholder="璇疯緭鍏ユ帴瑙︽瘨鐗�" + style="width: 700px" /> + </el-form-item> --> + <el-form-item label="浣撴鍗卞鍥犵礌" prop="tjwhys"> + <el-select + filterable + v-model="form.tjwhys" + 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="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 - @focus="change" 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-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> + </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"> @@ -131,6 +295,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> @@ -215,7 +382,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"> @@ -245,19 +412,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 @@ -275,7 +431,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" @@ -291,15 +446,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" @@ -320,10 +469,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" @@ -377,291 +522,130 @@ </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"> - <el-button - type="primary" - icon="el-icon-plus" - size="mini" - @click="addmembers()" - >娣诲姞 + <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 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 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="搴忓彿" - 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 - > - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value" - /> + <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"> - <!-- <template slot-scope="scope"> --> - <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 :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> - <!-- </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" - remote - filterable - placeholder="璇烽�夋嫨鐥呯鍚�" - clearable - @change="jibing" - > - <el-option - v-for="dict in rulesList" - :key="dict.id" - :label="dict.icdname" - :value="dict.icdname" - /> + <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-input - v-model="scope.row.diseaseData" - placeholder="璇疯緭鍏ヨ瘖鏂棩鏈�" - /> --> - <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 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="璇疯緭鍏ヨ瘖鏂崟浣�" - /> + <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-input v-model="scope.row.isOk" placeholder="璇疯緭鍏ユ槸鍚︾棅鎰�" /> --> - <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 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="璇疯緭鍏ュ娉�" - /> + <el-input size="mini" v-model="scope.row.remark" placeholder="璇疯緭鍏ュ娉�" /> </template> </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"> - <el-button - type="primary" - icon="el-icon-plus" - size="mini" - @click="addmemberss()" - >娣诲姞 + <el-button type="primary" icon="el-icon-plus" size="mini" @click="addmemberss()">娣诲姞 </el-button> </el-col> <el-col :span="1.5"> - <el-button - type="danger" - icon="el-icon-delete" - size="mini" - @click="delememberss()" - >鍒犻櫎 + <el-button type="danger" icon="el-icon-delete" size="mini" @click="delememberss()">鍒犻櫎 </el-button> </el-col> </el-row> - <el-table - border - :data="form.workLogs" - style="width: 98%" - @selection-change="handlezhiyeChange" - > + <el-table border :data="form.workLogs" style="width: 98%" @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 - size="mini" - v-model="scope.row.beginTime" - align="right" - type="date" - placeholder="閫夋嫨鏃ユ湡" - :picker-options="pickerOptions" - value-format="yyyy-MM-dd" - > + <el-date-picker size="mini" v-model="scope.row.beginTime" align="right" type="date" placeholder="閫夋嫨鏃ユ湡" + :picker-options="pickerOptions" value-format="yyyy-MM-dd"> </el-date-picker> </template> </el-table-column> <el-table-column label="缁撴潫鏃堕棿" prop="endTime"> <template slot-scope="scope"> - <el-date-picker - size="mini" - v-model="scope.row.endTime" - align="right" - type="date" - placeholder="閫夋嫨鏃ユ湡" - :picker-options="pickerOptions" - value-format="yyyy-MM-dd" - > + <el-date-picker size="mini" v-model="scope.row.endTime" align="right" type="date" placeholder="閫夋嫨鏃ユ湡" + :picker-options="pickerOptions" value-format="yyyy-MM-dd"> </el-date-picker> </template> </el-table-column> <el-table-column label="宸ヤ綔鍗曚綅" prop="workCompany"> <template slot-scope="scope"> - <el-input - size="mini" - v-model="scope.row.workCompany" - placeholder="璇疯緭鍏ュ伐浣滃崟浣�" - /> + <el-input size="mini" v-model="scope.row.workCompany" placeholder="璇疯緭鍏ュ伐浣滃崟浣�" /> </template> </el-table-column> <el-table-column label="閮ㄩ棬" prop="workDept"> <template slot-scope="scope"> - <el-input - size="mini" - v-model="scope.row.workDept" - placeholder="璇疯緭鍏ラ儴闂�" - /> + <el-input size="mini" v-model="scope.row.workDept" placeholder="璇疯緭鍏ラ儴闂�" /> </template> </el-table-column> <el-table-column label="宸ョ" prop="workType"> <template slot-scope="scope"> - <el-input - size="mini" - v-model="scope.row.workType" - placeholder="璇疯緭鍏ュ伐绉�" - /> + <el-input size="mini" v-model="scope.row.workType" placeholder="璇疯緭鍏ュ伐绉�" /> </template> </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" - v-model="scope.row.harmTypeLogs" - multiple - placeholder="璇烽�夋嫨鏈夊鍥犵礌" - clearable - > - <el-option - v-for="dict in harmTypeList" - :key="dict.aid" - :label="dict.harmType" - :value="dict.aid" - /> + <el-select filterable size="mini" v-model="scope.row.harmTypeLogs" multiple placeholder="璇烽�夋嫨鏈夊鍥犵礌" + clearable> + <el-option v-for="dict in harmTypeList" :key="dict.aid" :label="dict.harmType" :value="dict.aid" /> </el-select> </template> </el-table-column> <el-table-column label="闃叉姢鎺柦" prop="fangHu"> <template slot-scope="scope"> - <el-input - size="mini" - v-model="scope.row.fangHu" - placeholder="璇疯緭鍏ラ槻鎶ゆ帾鏂�" - /> + <el-input size="mini" v-model="scope.row.fangHu" placeholder="璇疯緭鍏ラ槻鎶ゆ帾鏂�" /> </template> </el-table-column> </el-table> </div> - </el-collapse-item> + </el-collapse-item> --> </el-collapse> </el-form> <div slot="footer" class="dialog-footer"> @@ -673,13 +657,67 @@ >鎻愪氦</el-button > </div> + + <el-dialog title="鎺ヨЕ姣掔墿" :visible.sync="dialogTableVisible"> + <el-table + :data="gridData" + ref="multipleTable" + @selection-change="handleSelectionChange" + > + <el-table-column type="selection" width="55"> </el-table-column> + <el-table-column + property="date" + label="搴忓彿" + width="150" + ></el-table-column> + <el-table-column + property="value" + label="姣掔墿" + width="200" + ></el-table-column> + </el-table> + + <div slot="footer" class="dialog-footer"> + <el-button @click="dialogTableVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="dialogFormVisible">纭� 瀹�</el-button> + </div> + </el-dialog> + + <el-dialog title="鏃㈠線鐥呭彶" :visible.sync="dialogHistoryVisible"> + <el-table + :data="historyData" + ref="historyTable" + @selection-change="handleHistoryChange" + > + <el-table-column type="selection" width="55"> </el-table-column> + <el-table-column + property="date" + label="搴忓彿" + width="150" + ></el-table-column> + <el-table-column + property="value" + label="姣掔墿" + width="200" + ></el-table-column> + </el-table> + + <div slot="footer" class="dialog-footer"> + <el-button @click="dialogHistoryVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="dialogVisible">纭� 瀹�</el-button> + </div> + </el-dialog> </div> </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", @@ -705,6 +743,30 @@ jiwangbingshi: true, diseaseNames: "", zhenghuzangList: [], + dialogTableVisible: false, + dialogHistoryVisible: false, + historySelection: [], + multipleSelection: [], + historyData: [ + { + value: "鏃㈠線鐥�", + label: "鏃㈠線鐥�", + }, + { + value: "鑱屼笟鐥�", + label: "鑱屼笟鐥�", + }, + ], + gridData: [ + { + value: "鏃㈠線鐥�", + label: "鏃㈠線鐥�", + }, + { + value: "鑱屼笟鐥�", + label: "鑱屼笟鐥�", + }, + ], options: [ { value: "鏃㈠線鐥�", @@ -716,6 +778,7 @@ }, ], icdId: "", + radio: 1, zhiye: true, queryParams: { pageNum: 1, @@ -759,13 +822,38 @@ multiple: true, // ${subTable.functionName}琛ㄦ牸鏁版嵁 tjAskHistorysList: [], + zhiyezzList: [], // 寮瑰嚭灞傛爣棰� title: "", harmTypeList: [], // 琛ㄥ崟鍙傛暟 - form: {}, + form: { + contactPoison: "", + cusName: "", + work: "", + workStatus: "", + gongZhong: "", + dwmc: "", + ygdw: "", + gongLing: "", + jhgl: "", + yjsfyc: "", // 鏄惁寮傚父 + ycms: "", // 寮傚父鎻忚堪 + xiyan: "", + xiyanpinlv: "", + xiyanyear: "", + yinjiu: "", + jcwhys: "", + tjwhys: "", + yinjiupinlv: "", + yinjiuyear: "", + qita: "", + medicalHistoryOther: "", + mediHistoryq: [], + }, chageall: [], bingshiall: [], + selectedZhiyezz: [], // 鐤剧梾瀛楀吀琛ㄦ牸鏁版嵁 icdList: [], rulesList: [], @@ -778,6 +866,18 @@ trigger: "blur", }, ], + ycms: [ + { + validator: (rule, value, callback) => { + if (this.form.yjsfyc === "Y" && !value) { + callback(new Error("鏈堢粡寮傚父鎻忚堪涓嶈兘涓虹┖")); + } else { + callback(); + } + }, + trigger: "blur", + }, + ], // 鍒濆涓嶈缃负蹇呭~ }, }; }, @@ -787,13 +887,21 @@ 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; 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; @@ -801,7 +909,7 @@ this.zhiye = false; this.zhiyebingshi = false; this.jiwangbingshi = true; - } + } */ if (this.form.xiyan == null) { this.form.xiyan = "1"; } @@ -828,6 +936,7 @@ this.form.gongLing = 1; // 宸ラ緞榛樿鍊� } this.form.tjAskHistorysList = response.data.tjAskHistorysList; + this.form.zhiyezzList = response.data.zhiyezzList; // this.isdisabled= true }); }); @@ -843,7 +952,12 @@ 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 { @@ -880,6 +994,7 @@ this.form.yinjiuyear = "0"; } this.form.tjAskHistorysList = response.data.tjAskHistorysList; + this.form.zhiyezzList = response.data.zhiyezzList; // this.isdisabled= true }); }); @@ -887,7 +1002,6 @@ } }, - methods: { /** 鏌ヨ鐤剧梾瀛楀吀鍒楄〃 */ getList() { @@ -901,6 +1015,80 @@ 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 { + Message.warning("璇峰厛濉啓瀹㈡埛鍚�"); + } + 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) { @@ -969,6 +1157,12 @@ this.$forceUpdate(); }, + indexMethod(index) { + return ( + (this.queryParams.pageNum - 1) * this.queryParams.pageSize + index + 1 + ); + }, + jibing(sel) { this.diseaseNames = sel; this.rulesList.forEach((item) => { @@ -978,6 +1172,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; } }); @@ -996,10 +1203,57 @@ } }, + getZzData(query) { + if (query) { + let data = { + icdname: query, + pageNum: 1, + pageSize: 200, + }; + getZhengZhuang(data).then((response) => { + this.zhenghuzangList = response.data; + }); + } + }, - change(){ - console.log(111) - }, + change() { + this.multipleSelection = []; + this.dialogTableVisible = true; + if (this.form.contactPoison == null || this.form.contactPoison == "") { + this.form.contactPoison = ""; + } + }, + + changemedicalhistory() { + this.multipleSelection = []; + this.dialogHistoryVisible = true; + if (this.form.medicalHistory == null || this.form.medicalHistory == "") { + this.form.medicalHistory = ""; + } + }, + + handleHistoryChange(val) { + this.historySelection = val; + }, + dialogVisible() { + this.historySelection.forEach((item) => { + this.form.medicalHistory += item.value + ","; + }); + this.dialogHistoryVisible = false; + this.$refs.historyTable.clearSelection(); + }, + + handleSelectionChange(val) { + this.multipleSelection = val; + }, + + dialogFormVisible() { + this.multipleSelection.forEach((item) => { + this.form.contactPoison += item.value + ","; + }); + this.dialogTableVisible = false; + this.$refs.multipleTable.clearSelection(); + }, delememberss() { let that = this; @@ -1016,22 +1270,37 @@ } }, 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) { + 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 = []; @@ -1047,7 +1316,7 @@ this.form = response.data; }); }, */ - submitForm() { + /* submitForm() { this.$refs.form.validate((valid) => { if (valid) { this.$emit('submitLoading', true); @@ -1066,7 +1335,48 @@ this.$message.error("璇锋鏌ヨ〃鍗曞唴瀹�"); } }); - } + } */ + + submitForm() { + this.$refs.form.validate((valid) => { + if (valid) { + this.$emit("submitLoading", true); + // this.form.medicalHistory =this.form.mediHistory + 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.icdname, + id: match ? match.id : "", + }; + }); + console.log(this.form.medicalHistory, 1236); + + updateHistory(this.form) + .then((response) => { + 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("璇锋鏌ヨ〃鍗曞唴瀹�"); + } + }); + }, }, }; </script> @@ -1080,7 +1390,15 @@ justify-content: center; margin-bottom: 20px; } + .coll { width: 100%; } + +/* 璋冩暣涓嬫媺妗嗕綅缃拰灞傜骇 */ +.el-select-dropdown { + position: absolute !important; + top: 30px !important; + left: 0px !important; +} </style> \ No newline at end of file -- Gitblit v1.8.0