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