From a9929166ee6f4def812519684a739336c7202531 Mon Sep 17 00:00:00 2001
From: qx <1084500556@qq.com>
Date: 星期四, 12 六月 2025 16:53:07 +0800
Subject: [PATCH] Merge branch 'master' of http://101.42.27.146:5001/r/ltkj_peisweb_region

---
 src/components/jianqianwenzhen/index.vue |  907 +++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 638 insertions(+), 269 deletions(-)

diff --git a/src/components/jianqianwenzhen/index.vue b/src/components/jianqianwenzhen/index.vue
index c82e398..00a748e 100644
--- a/src/components/jianqianwenzhen/index.vue
+++ b/src/components/jianqianwenzhen/index.vue
@@ -55,51 +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
-                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
                 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">
@@ -129,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>
@@ -213,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">
@@ -243,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
@@ -273,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"
@@ -289,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"
@@ -318,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"
@@ -375,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">
@@ -671,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",
@@ -703,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: "鏃㈠線鐥�",
@@ -714,6 +778,7 @@
         },
       ],
       icdId: "",
+      radio: 1,
       zhiye: true,
       queryParams: {
         pageNum: 1,
@@ -757,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: [],
@@ -776,6 +866,18 @@
             trigger: "blur",
           },
         ],
+        ycms: [
+          {
+            validator: (rule, value, callback) => {
+              if (this.form.yjsfyc === "Y" && !value) {
+                callback(new Error("鏈堢粡寮傚父鎻忚堪涓嶈兘涓虹┖"));
+              } else {
+                callback();
+              }
+            },
+            trigger: "blur",
+          },
+        ], // 鍒濆涓嶈缃负蹇呭~
       },
     };
   },
@@ -785,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;
@@ -799,7 +909,7 @@
               this.zhiye = false;
               this.zhiyebingshi = false;
               this.jiwangbingshi = true;
-            }
+            } */
             if (this.form.xiyan == null) {
               this.form.xiyan = "1";
             }
@@ -826,6 +936,7 @@
               this.form.gongLing = 1; // 宸ラ緞榛樿鍊�
             }
             this.form.tjAskHistorysList = response.data.tjAskHistorysList;
+            this.form.zhiyezzList = response.data.zhiyezzList;
             // this.isdisabled= true
           });
         });
@@ -841,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 {
@@ -878,12 +994,14 @@
             this.form.yinjiuyear = "0";
           }
           this.form.tjAskHistorysList = response.data.tjAskHistorysList;
+          this.form.zhiyezzList = response.data.zhiyezzList;
           // this.isdisabled= true
         });
       });
       this.loading = false;
     }
   },
+
   methods: {
     /** 鏌ヨ鐤剧梾瀛楀吀鍒楄〃 */
     getList() {
@@ -897,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) {
@@ -965,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) => {
@@ -974,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;
         }
       });
@@ -992,6 +1203,58 @@
       }
     },
 
+    getZzData(query) {
+      if (query) {
+        let data = {
+          icdname: query,
+          pageNum: 1,
+          pageSize: 200,
+        };
+        getZhengZhuang(data).then((response) => {
+          this.zhenghuzangList = response.data;
+        });
+      }
+    },
+
+    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;
       if (that.form.workLogs.length == that.chageall.length) {
@@ -1007,22 +1270,79 @@
       }
     },
     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 = [];
@@ -1038,7 +1358,7 @@
         this.form = response.data;
       });
     }, */
-    submitForm() {
+    /*  submitForm() {
       this.$refs.form.validate((valid) => {
         if (valid) {
           this.$emit('submitLoading', true);
@@ -1057,7 +1377,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>
@@ -1071,7 +1432,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