From 5061c27b5fe99450a192843195b53cc04d95974a Mon Sep 17 00:00:00 2001
From: qx <1084500556@qq.com>
Date: 星期二, 13 五月 2025 16:40:05 +0800
Subject: [PATCH] qx

---
 src/components/jianqianwenzhen/index.vue |  494 +++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 465 insertions(+), 29 deletions(-)

diff --git a/src/components/jianqianwenzhen/index.vue b/src/components/jianqianwenzhen/index.vue
index 5e27f62..7b19825 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,9 +53,27 @@
               </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"
@@ -63,7 +81,25 @@
               ></el-input-number
               >骞�
             </el-form-item>
-            <el-form-item label="鎺ヨЕ姣掔墿" prop="contactPoison">
+            <el-form-item
+              label="鎺ヨЕ鏈夊鐗╁伐榫�"
+              prop="gongLing"
+              label-width="150px"
+            >
+              <!-- <el-input v-model="form.cusName" placeholder="璇疯緭鍏ュ伐榫�" style="width: 150px" />骞� -->
+              <el-input-number
+                v-model="form.gongLing"
+                label="璇疯緭鍏ユ帴瑙︽湁瀹崇墿宸ラ緞"
+              ></el-input-number
+              >骞�
+            </el-form-item>
+            <el-form-item label="鏄惁澶嶈瘖" prop="">
+              <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="tjwhyx">
+              <el-select
+                filterable
+                v-model="form.tjwhyx"
+                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="tcwhyx"
+              style="margin-left: 30px"
+            >
+              <el-select
+                filterable
+                v-model="form.tcwhyx"
+                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-input
                 type="textarea"
                 rows="4"
                 v-model="form.medicalHistory"
-                placeholder="璇疯緭鍏�"
+                placeholder="璇疯緭鍏ユ棦寰�鐥呭彶"
                 style="width: 700px"
               />
+            </el-form-item> -->
+            <el-form-item label="鏃㈠線鐥呭彶" prop="medicalHistory">
+              <el-select
+                v-model="form.medicalHistory"
+                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-select>
+              <!-- <el-input
+                type="textarea"
+                rows="4"
+                v-model="form.medicalHistory"
+                placeholder="璇疯緭鍏ユ棦寰�鐥呭彶"
+                style="width: 700px"
+              /> -->
             </el-form-item>
-            <el-form-item label="鐥囩姸" prop="zzsjj">
+
+            <!--  <el-form-item label="鐥囩姸" prop="zzsjj">
               <el-select
                 multiple
                 filterable
@@ -97,7 +194,99 @@
                   :value="dict.proName"
                 />
               </el-select>
-            </el-form-item>
+            </el-form-item> -->
+            <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="搴忓彿"
+                  width="80"
+                  align="center"
+                  type="index"
+                  :index="indexMethod"
+                />
+                <el-table-column
+                  label="鐥囩姸鍚嶇О"
+                  prop="diseaseName"
+                  align="center"
+                >
+                  <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 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="remark" align="center">
+                  <template slot-scope="scope">
+                    <el-input
+                      size="mini"
+                      v-model="scope.row.remark"
+                      placeholder="璇疯緭鍏ュ娉�"
+                    />
+                  </template>
+                </el-table-column>
+              </el-table>
+            </div>
           </div>
         </el-collapse-item>
         <el-collapse-item title="鏈堢粡鍙�" name="2" v-show="sex">
@@ -120,7 +309,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 +319,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 +370,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 +393,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 +406,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">
@@ -271,6 +464,187 @@
                     />
                   </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>
+                <!-- </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>
+                </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>
+                </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-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>
+                </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="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="搴忓彿"
+            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>
+                </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-table-column>
               <el-table-column label="鐤剧梾鍚嶇О" prop="diseaseName">
                 <template slot-scope="scope">
@@ -518,6 +892,8 @@
       }
     };
     return {
+      zhiyebingshi: true,
+      jiwangbingshi: true,
       diseaseNames: "",
       zhenghuzangList: [],
       options: [
@@ -531,6 +907,7 @@
         },
       ],
       icdId: "",
+      radio: "1",
       zhiye: true,
       queryParams: {
         pageNum: 1,
@@ -578,7 +955,10 @@
       title: "",
       harmTypeList: [],
       // 琛ㄥ崟鍙傛暟
-      form: {},
+      form: {
+        yjsfyc: "", // 鏄惁寮傚父
+        ycms: "", // 寮傚父鎻忚堪
+      },
       chageall: [],
       bingshiall: [],
       // 鐤剧梾瀛楀吀琛ㄦ牸鏁版嵁
@@ -593,9 +973,22 @@
             trigger: "blur",
           },
         ],
+        ycms: [
+          {
+            validator: (rule, value, callback) => {
+              if (this.form.yjsfyc === "Y" && !value) {
+                callback(new Error("鏈堢粡寮傚父鎻忚堪涓嶈兘涓虹┖"));
+              } else {
+                callback();
+              }
+            },
+            trigger: "blur",
+          },
+        ], // 鍒濆涓嶈缃负蹇呭~
       },
     };
   },
+
   watch: {
     jianqianwenzhendata(val, newVla) {
       if (val) {
@@ -610,8 +1003,12 @@
             }
             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";
@@ -634,6 +1031,10 @@
             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.isdisabled= true
           });
@@ -646,6 +1047,8 @@
     this.getList();
     this.getzhenzhuangList();
     console.log("鎺ユ敹", this.jianqianwenzhendata);
+    // console.log(this.dict.type.sys_yes_no,666666);
+
     if (this.jianqianwenzhendata.length == 1) {
       this.jianqianwenzhendata.forEach((item) => {
         let tjNumber = item;
@@ -658,8 +1061,12 @@
           }
           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";
@@ -694,7 +1101,6 @@
     getList() {
       list(this.queryParams).then((response) => {
         this.rulesList = response.rows;
-        console.log(this.rulesList);
       });
     },
 
@@ -771,13 +1177,29 @@
       this.$forceUpdate();
     },
 
+    indexMethod(index) {
+      return (
+        (this.queryParams.pageNum - 1) * this.queryParams.pageSize + index + 1
+      );
+    },
+
+    onYjsfycChange() {
+      // 鎵嬪姩瑙﹀彂鈥滄湀缁忓紓甯告弿杩扳�濈殑鏍¢獙
+      this.$nextTick(() => {
+        this.$refs.form.validateField('ycms');
+      });
+    },
+
     jibing(sel) {
-      console.log(sel);
       this.diseaseNames = sel;
       this.rulesList.forEach((item) => {
         if (sel == item.icdname) {
           this.icdId = item.id;
-          console.log(this.icdId);
+        }
+      });
+      this.form.tjAskHistorysList.forEach((item) => {
+        if (item.diseaseName == sel) {
+          item.icdId = this.icdId;
         }
       });
     },
@@ -786,8 +1208,8 @@
       if (query) {
         let data = {
           icdname: query,
-           pageNum: 1,
-        pageSize: 200,
+          pageNum: 1,
+          pageSize: 200,
         };
         list(data).then((response) => {
           this.rulesList = response.rows;
@@ -832,19 +1254,33 @@
       this.chageall = selection;
     },
     /** 鎻愪氦鎸夐挳 */
-    submitForm() {
-      this.form.tjAskHistorysList.forEach(element=>{
-        // console.log(element,111);
-        this.rulesList.forEach((item) => {
-          // console.log(item,222);
-        if(element.diseaseName == item.icdname){
-          element.icdId = item.id;
-        }
-      });
-        
-      })
+    /* submitForm() {
+      // this.form.tjAskHistorysList.forEach(element=>{
+      //   element.icdId = this.icdId;
+      // })
       updateHistory(this.form).then((response) => {
         this.$modal.msgSuccess("淇敼鎴愬姛");
+        this.form = response.data;
+      });
+    }, */
+    submitForm() {
+      this.$refs.form.validate((valid) => {
+        if (valid) {
+          this.$emit("submitLoading", true);
+          updateHistory(this.form)
+            .then((response) => {
+              this.$message.success("淇敼鎴愬姛");
+              this.form = response.data; // 鏇存柊琛ㄥ崟鏁版嵁
+            })
+            .catch((error) => {
+              this.$message.error("淇敼澶辫触");
+            })
+            .finally(() => {
+              this.$emit("submitLoading", false);
+            });
+        } else {
+          this.$message.error("璇锋鏌ヨ〃鍗曞唴瀹�");
+        }
       });
     },
   },

--
Gitblit v1.8.0