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 |  727 +++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 586 insertions(+), 141 deletions(-)

diff --git a/src/components/jianqianwenzhen/index.vue b/src/components/jianqianwenzhen/index.vue
index 5b28fb0..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"
+                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" 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">
@@ -243,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
@@ -273,31 +454,24 @@
                 </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>
-                <!-- </template> -->
+                <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"
@@ -318,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"
@@ -346,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"
@@ -375,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">
@@ -405,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
@@ -435,31 +593,24 @@
                 </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>
-                <!-- </template> -->
+                <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"
@@ -480,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"
@@ -508,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"
@@ -536,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">
@@ -567,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
@@ -630,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"
@@ -659,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">
@@ -675,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",
@@ -699,8 +842,8 @@
       }
     };
     return {
-      zhiyebingshi:true,
-      jiwangbingshi:true,
+      zhiyebingshi: true,
+      jiwangbingshi: true,
       diseaseNames: "",
       zhenghuzangList: [],
       options: [
@@ -714,6 +857,7 @@
         },
       ],
       icdId: "",
+      radio: 1,
       zhiye: true,
       queryParams: {
         pageNum: 1,
@@ -757,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: [],
@@ -776,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;
@@ -799,7 +992,7 @@
               this.zhiye = false;
               this.zhiyebingshi = false;
               this.jiwangbingshi = true;
-            }
+            } */
             if (this.form.xiyan == null) {
               this.form.xiyan = "1";
             }
@@ -821,7 +1014,13 @@
             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
           });
         });
@@ -832,26 +1031,34 @@
   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 {
             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.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";
           }
@@ -874,6 +1081,7 @@
             this.form.yinjiuyear = "0";
           }
           this.form.tjAskHistorysList = response.data.tjAskHistorysList;
+          this.form.zhiyezzList = response.data.zhiyezzList;
           // this.isdisabled= true
         });
       });
@@ -888,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) {
@@ -961,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) => {
@@ -968,11 +1295,24 @@
           this.icdId = item.id;
         }
       });
-      this.form.tjAskHistorysList.forEach(item => {
-        if(item.diseaseName == sel){
-          item.icdId =  this.icdId
+      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) {
@@ -984,6 +1324,19 @@
         };
         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;
         });
       }
     },
@@ -1002,36 +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.tjAskHistorysList.forEach(element=>{
-      //   element.icdId = this.icdId;
-      // })
-      updateHistory(this.form).then((response) => {
-        this.$modal.msgSuccess("淇敼鎴愬姛");
-        this.form = response.data;
+      // 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