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 |  364 +++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 307 insertions(+), 57 deletions(-)

diff --git a/src/components/jianqianwenzhen/index.vue b/src/components/jianqianwenzhen/index.vue
index 831aee8..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,8 +107,44 @@
                 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"
@@ -80,8 +152,33 @@
                 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
@@ -274,21 +467,21 @@
               </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>
+                <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">
@@ -436,21 +629,21 @@
               </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>
+                <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">
@@ -699,8 +892,8 @@
       }
     };
     return {
-      zhiyebingshi:true,
-      jiwangbingshi:true,
+      zhiyebingshi: true,
+      jiwangbingshi: true,
       diseaseNames: "",
       zhenghuzangList: [],
       options: [
@@ -714,6 +907,7 @@
         },
       ],
       icdId: "",
+      radio: "1",
       zhiye: true,
       queryParams: {
         pageNum: 1,
@@ -761,7 +955,10 @@
       title: "",
       harmTypeList: [],
       // 琛ㄥ崟鍙傛暟
-      form: {},
+      form: {
+        yjsfyc: "", // 鏄惁寮傚父
+        ycms: "", // 寮傚父鎻忚堪
+      },
       chageall: [],
       bingshiall: [],
       // 鐤剧梾瀛楀吀琛ㄦ牸鏁版嵁
@@ -776,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) {
@@ -821,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
           });
@@ -833,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;
@@ -843,15 +1059,15 @@
           } else {
             this.sex = false;
           }
-         if (this.form.tjLx === "02") {
-              this.zhiye = true;
-              this.zhiyebingshi = true;
-              this.jiwangbingshi = false;
-            } else {
-              this.zhiye = false;
-              this.zhiyebingshi = false;
-              this.jiwangbingshi = true;
-            }
+          if (this.form.tjLx === "02") {
+            this.zhiye = true;
+            this.zhiyebingshi = true;
+            this.jiwangbingshi = false;
+          } else {
+            this.zhiye = false;
+            this.zhiyebingshi = false;
+            this.jiwangbingshi = true;
+          }
           if (this.form.xiyan == null) {
             this.form.xiyan = "1";
           }
@@ -961,6 +1177,19 @@
       this.$forceUpdate();
     },
 
+    indexMethod(index) {
+      return (
+        (this.queryParams.pageNum - 1) * this.queryParams.pageSize + index + 1
+      );
+    },
+
+    onYjsfycChange() {
+      // 鎵嬪姩瑙﹀彂鈥滄湀缁忓紓甯告弿杩扳�濈殑鏍¢獙
+      this.$nextTick(() => {
+        this.$refs.form.validateField('ycms');
+      });
+    },
+
     jibing(sel) {
       this.diseaseNames = sel;
       this.rulesList.forEach((item) => {
@@ -968,11 +1197,11 @@
           this.icdId = item.id;
         }
       });
-      this.form.tjAskHistorysList.forEach(item => {
-        if(item.diseaseName == sel){
-          item.icdId =  this.icdId
+      this.form.tjAskHistorysList.forEach((item) => {
+        if (item.diseaseName == sel) {
+          item.icdId = this.icdId;
         }
-      })
+      });
     },
     // 鎼滅储
     getRemoteData(query) {
@@ -1025,12 +1254,33 @@
       this.chageall = selection;
     },
     /** 鎻愪氦鎸夐挳 */
-    submitForm() {
+    /* 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