From cb1f69717eed3b6a61b6c61a8934bac752782b2d Mon Sep 17 00:00:00 2001
From: wwl <xchao828@163.com>
Date: 星期三, 05 三月 2025 17:00:38 +0800
Subject: [PATCH] 1

---
 src/views/hosp/history/index.vue |  551 ++++++++++++++++++------------------------------------
 1 files changed, 183 insertions(+), 368 deletions(-)

diff --git a/src/views/hosp/history/index.vue b/src/views/hosp/history/index.vue
index 7a54ea5..154a1d9 100644
--- a/src/views/hosp/history/index.vue
+++ b/src/views/hosp/history/index.vue
@@ -2,32 +2,107 @@
   <div class="app-container">
     <div class="hist1">
       <div class="hist2">
-        <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+        <el-form
+          :model="queryParams"
+          ref="queryForm"
+          size="small"
+          :inline="true"
+          v-show="showSearch"
+          label-width="68px"
+        >
           <el-form-item label="濮撳悕" prop="name">
-            <el-input v-model="queryParams.name" placeholder="璇疯緭鍏ュ鎴峰悕" clearable @keyup.enter.native="handleQuery" style="width:130px"/>
+            <el-input
+              v-model="queryParams.name"
+              placeholder="璇疯緭鍏ュ鎴峰悕"
+              clearable
+              @keyup.enter.native="handleQuery"
+              style="width: 130px"
+            />
           </el-form-item>
           <el-form-item label="浣撴鍙�" prop="tjNum">
-            <el-input ref="inputName" v-model="queryParams.tjNum" placeholder="璇疯緭鍏ヤ綋妫�鍙�" style="width: 170px" clearable @keyup.enter.native="handleQuery"/>
+            <el-input
+              ref="inputName"
+              v-model="queryParams.tjNum"
+              placeholder="璇疯緭鍏ヤ綋妫�鍙�"
+              style="width: 170px"
+              clearable
+              @keyup.enter.native="handleQuery"
+              @blur="hb"
+            />
           </el-form-item>
           <el-form-item>
-            <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
-            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
+            <el-button
+              type="primary"
+              icon="el-icon-search"
+              size="mini"
+              @click="handleQuery"
+              >鎼滅储</el-button
+            >
+            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+              >閲嶇疆</el-button
+            >
           </el-form-item>
         </el-form>
-        <el-table :row-class-name="tableRowClassName" height="650px" v-loading="loading" :data="orderList" ref="multipleTable" @selection-change="handleSelectionChange" border style="width: 95%">
+        <el-table
+          :row-class-name="tableRowClassName"
+          height="650px"
+          v-loading="loading"
+          :data="orderList"
+          ref="multipleTable"
+          @selection-change="handleSelectionChange"
+          border
+          style="width: 95%"
+        >
           <el-table-column type="selection" width="40px" align="center" />
-          <el-table-column label="搴忓彿" align="center" prop="newID" width="50px" :show-overflow-tooltip="true" fixed="left"/>
-          <el-table-column label="濮撳悕" align="center" prop="tjCustomerName" width="110px" :show-overflow-tooltip="true"/>
-          <el-table-column label="鎬у埆" align="center" prop="tjCustomerSex" width="55px" :show-overflow-tooltip="true">
+          <el-table-column
+            label="搴忓彿"
+            align="center"
+            prop="newID"
+            width="50px"
+            :show-overflow-tooltip="true"
+            fixed="left"
+          />
+          <el-table-column
+            label="濮撳悕"
+            align="center"
+            prop="tjCustomerName"
+            width="110px"
+            :show-overflow-tooltip="true"
+          />
+          <el-table-column
+            label="鎬у埆"
+            align="center"
+            prop="tjCustomerSex"
+            width="55px"
+            :show-overflow-tooltip="true"
+          >
             <template slot-scope="scope">
               <span v-if="scope.row.tjCustomerSex == '0'">鐢�</span>
               <span v-if="scope.row.tjCustomerSex == '1'">濂�</span>
+              <span v-if="scope.row.tjCustomerSex == '2'">鏈煡</span>
             </template>
           </el-table-column>
-          <el-table-column label="鐢佃瘽" align="center" prop="tjCustomerPhone" width="120px" :show-overflow-tooltip="true"/>
-          <el-table-column label="骞撮緞" align="center" prop="tjCustomerAge" width="70" :show-overflow-tooltip="true"
+          <el-table-column
+            label="鐢佃瘽"
+            align="center"
+            prop="tjCustomerPhone"
+            width="120px"
+            :show-overflow-tooltip="true"
           />
-          <el-table-column label="骞撮緞鍗曚綅" align="center" prop="ageUnit" width="80" :show-overflow-tooltip="true">
+          <el-table-column
+            label="骞撮緞"
+            align="center"
+            prop="tjCustomerAge"
+            width="70"
+            :show-overflow-tooltip="true"
+          />
+          <el-table-column
+            label="骞撮緞鍗曚綅"
+            align="center"
+            prop="ageUnit"
+            width="80"
+            :show-overflow-tooltip="true"
+          >
             <template slot-scope="scope">
               <dict-tag
                 :options="dict.type.dict_ageunit"
@@ -35,7 +110,13 @@
               />
             </template>
           </el-table-column>
-          <el-table-column label="鑱屼笟" align="center" prop="career" width="120" :show-overflow-tooltip="true">
+          <el-table-column
+            label="鑱屼笟"
+            align="center"
+            prop="career"
+            width="120"
+            :show-overflow-tooltip="true"
+          >
             <template slot-scope="scope">
               <dict-tag
                 :options="dict.type.dict_job"
@@ -57,278 +138,7 @@
         </div>
       </div>
       <div class="hist3">
-        <span class="txt">闂瘖淇℃伅</span>
-        <el-form
-          ref="form"
-          :model="form"
-          :rules="rules"
-          label-width="100px"
-          :inline="true"
-          size="mini"
-        >
-          <el-collapse class="coll" v-model="activeName" accordion>
-            <el-collapse-item
-              class="coll"
-              title="鍩烘湰淇℃伅"
-              name="1"
-              style="width: 900px; font-weight: 600"
-            >
-              <div style="width: 900px">
-                <el-form-item label="濮撳悕" prop="cusName">
-                  <el-input v-model="form.cusName" placeholder="璇疯緭鍏ュ鍚�" />
-                </el-form-item>
-                <el-form-item label="鑱屼笟" prop="work">
-                  <el-select
-                  filterable
-                    v-model="form.work"
-                    placeholder="璇烽�夋嫨鑱屼笟"
-                    clearable
-                    style="width: 150px"
-                  >
-                    <el-option
-                      v-for="dict in dict.type.tj_work"
-                      :key="dict.value"
-                      :label="dict.label"
-                      :value="dict.value"
-                    />
-                  </el-select>
-                </el-form-item>
-                <el-form-item label="宸ヤ綔鐘舵��" prop="workStatus">
-                  <el-select
-                  filterable
-                    v-model="form.workStatus"
-                    placeholder="璇烽�夋嫨宸ヤ綔鐘舵��"
-                    clearable
-                    style="width: 150px"
-                  >
-                    <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="璇疯緭鍏ユ棦寰�鐥呭彶"
-                    style="width: 700px"
-                  />
-                </el-form-item>
-              </div>
-            </el-collapse-item>
-            <el-collapse-item title="鏈堢粡鍙�" name="2" v-show="sex">
-              <div style="width: 900px">
-                <el-form-item label="鍒濇疆(宀�)" prop="chuchao">
-                  <el-input v-model="form.chuchao" style="width: 70px" />
-                </el-form-item>
-                <el-form-item label="缁忔湡" prop="jingqi">
-                  <el-input v-model="form.jingqi" style="width: 70px" />澶�
-                </el-form-item>
-                <el-form-item label="鍛ㄦ湡" prop="zhouqi">
-                  <el-input v-model="form.zhouqi" style="width: 70px" />澶�
-                </el-form-item>
-                <el-form-item label="鏈鏈堢粡" prop="mociage">
-                  <el-input v-model="form.mociage" style="width: 100px" />
-                </el-form-item>
-              </div>
-            </el-collapse-item>
-            <el-collapse-item title="鐢熻偛鍙�" name="3" v-show="sex">
-              <div style="width: 900px">
-                <el-form-item label="鐜版湁瀛愬コ(浜�)" prop="zinv">
-                  <el-input v-model="form.zinv" style="width: 70px" />
-                </el-form-item>
-                <el-form-item label="娴佷骇(娆�)" prop="liuchan">
-                  <el-input v-model="form.liuchan" style="width: 70px" />
-                </el-form-item>
-                <el-form-item label="鏃╀骇(娆�)" prop="zaochan">
-                  <el-input v-model="form.zaochan" style="width: 70px" />
-                </el-form-item>
-                <el-form-item label="姝讳骇(娆�)" prop="sichan">
-                  <el-input v-model="form.sichan" style="width: 70px" />
-                </el-form-item>
-                <el-form-item label="寮傚父鑳�(娆�)" prop="yichangtai">
-                  <el-input v-model="form.yichangtai" style="width: 70px" />
-                </el-form-item>
-              </div>
-            </el-collapse-item>
-            <el-collapse-item title="鐑熼厭鍙�" name="4">
-              <div style="width: 900px">
-                <el-form-item label="鏄惁鍚哥儫" prop="xiyan">
-                  <!-- <el-input v-model="form.xiyanpinlv" placeholder="璇疯緭鍏ュ惛鐑熼鐜�" /> -->
-                  <el-select
-                  filterable
-                    v-model="form.xiyan"
-                    placeholder="璇烽�夋嫨鏄惁鍚哥儫"
-                    clearable
-                    style="width: 150px"
-                  >
-                    <el-option
-                      v-for="dict in dict.type.tj_smoking_pinlv"
-                      :key="dict.value"
-                      :label="dict.label"
-                      :value="dict.value"
-                    />
-                  </el-select>
-                </el-form-item>
-                <el-form-item label="鍚哥儫棰戠巼" prop="xiyanpinlv">
-                  <el-input
-                    v-model="form.xiyanpinlv"
-                    style="width: 70px"
-                  />鏀�/澶�
-                </el-form-item>
-                <el-form-item label="鍚哥儫鏃堕棿" prop="xiyanyear">
-                  <el-input
-                    v-model="form.xiyanyear"
-                    style="width: 70px"
-                  />骞� </el-form-item
-                ><br />
-                <el-form-item label="鏄惁楗厭" prop="yinjiu">
-                  <!-- <el-input v-model="form.yinjiupinlv" placeholder="璇疯緭鍏ラギ閰掗鐜�" /> -->
-                  <el-select
-                  filterable
-                    v-model="form.yinjiu"
-                    placeholder="璇烽�夋嫨鏄惁楗厭"
-                    clearable
-                    style="width: 150px"
-                  >
-                    <el-option
-                      v-for="dict in dict.type.tj_smoking_pinlv"
-                      :key="dict.value"
-                      :label="dict.label"
-                      :value="dict.value"
-                    />
-                  </el-select>
-                </el-form-item>
-                <el-form-item label="楗厭棰戠巼" prop="yinjiupinlv">
-                  <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-form-item>
-                <el-form-item label="鍏朵粬" prop="qita">
-                  <el-input
-                    v-model="form.qita"
-                    placeholder="璇疯緭鍏ュ叾浠�"
-                    type="textarea"
-                    style="width: 600px"
-                    rows="2"
-                  />
-                </el-form-item>
-              </div>
-            </el-collapse-item>
-            <el-collapse-item title="鎬ユ參鎬ц亴涓氱梾鍙蹭俊鎭�" name="5">
-              <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"
-                      >鍒犻櫎
-                    </el-button>
-                  </el-col>
-                </el-row>
-                <el-table
-                  border
-                  :data="form.tjAskHistorysList"
-                  ref="tjAskHistorys"
-                  style="width: 98%"
-                >
-                  <el-table-column type="selection" width="40" align="center" />
-                  <!-- <el-table-column
-            label="搴忓彿"
-            align="center"
-            prop="index"
-            width="50"
-          /> -->
-                  <el-table-column label="鐤剧梾鍚嶇О" prop="diseaseName">
-                    <template slot-scope="scope">
-                      <el-input
-                        size="mini"
-                        v-model="scope.row.diseaseName"
-                        placeholder="璇疯緭鍏ョ柧鐥呭悕绉�"
-                      />
-                    </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>
-        </el-form>
-        <div slot="footer" class="dialog-footer">
-          <el-button type="primary" @click="submitForm" style="margin-top: 10px" :disabled="isdisabled"
-            >鎻愪氦</el-button
-          >
-        </div>
+        <jianqianwenzhen @submitLoading="handleLoading" :jianqianwenzhendata="jianqianwenzhendata"></jianqianwenzhen>
       </div>
     </div>
 
@@ -344,19 +154,36 @@
 </template>
 
 <script>
-import {
-  updateHistory,
-  getInfoById,
-} from "@/api/hosp/history";
+import jianqianwenzhen from "@/components/jianqianwenzhen";
 import { Message } from "element-ui";
 import { getOrderList } from "@/api/hosp/order";
-
+import { listHarmType } from "@/api/hosp/harmType";
 export default {
   name: "History",
-  dicts: ["tj_smoking_pinlv", "sys_yes_no", "tj_work_status", "tj_work","dict_ageunit","dict_job"],
+  components: { jianqianwenzhen },
+  dicts: [
+    "tj_smoking_pinlv",
+    "sys_yes_no",
+    "tj_work_status",
+    "tj_work",
+    "dict_ageunit",
+    "dict_job",
+  ],
   data() {
+    let checkPhoneNum = (rule, value, callback) => {
+      let patter = new RegExp(/^1\s*[3456789]\s*(\d\s*){9}$/);
+      if (value == "" && value == undefined && !value) {
+        return callback("");
+      } else if (value != undefined && value != "") {
+        return callback();
+      } else if (!patter.test(value)) {
+        return callback("");
+      }
+    };
     return {
-      selectList:[],
+      jianqianwenzhendata: [],
+      selectList: [],
+      dataList: [],
       pickerOptions: {
         disabledDate(time) {
           return time.getTime() > Date.now();
@@ -390,6 +217,7 @@
       activeName: "1",
       // 閬僵灞�
       loading: true,
+      tableLoading: false,
       isdisabled: false,
       // 閫変腑鏁扮粍
       ids: [],
@@ -419,15 +247,18 @@
         pageSize: 20,
         cusName: null,
       },
+      harmTypeList: [],
       // 琛ㄥ崟鍙傛暟
       form: {},
+      chageall: [],
+      bingshiall: [],
       rew: [],
       // 琛ㄥ崟鏍¢獙
       rules: {
         deleted: [
           {
             required: true,
-            message: "$comment涓嶈兘涓虹┖",
+            validator: checkPhoneNum,
             trigger: "blur",
           },
         ],
@@ -436,6 +267,11 @@
   },
   created() {
     this.getList();
+  },
+  mounted() {
+    this.$nextTick(() => {
+      this.$refs.inputName.focus();
+    });
   },
   methods: {
     /** 鏌ヨ闂瘖鍒楄〃 */
@@ -456,6 +292,10 @@
     /** 鏌ヨ浣撴璁板綍鍒楄〃 */
     getList() {
       this.loading = true;
+      listHarmType().then((response) => {
+        this.harmTypeList = response.rows;
+        
+      });
       getOrderList(this.queryParams).then((response) => {
         this.orderList = response.data.list;
         if (this.orderList) {
@@ -473,6 +313,7 @@
                   true
                 );
               });
+              this.dataList = this.orderList[0];
             } else {
               this.$refs.multipleTable.clearSelection();
             }
@@ -523,6 +364,11 @@
       this.tjAskHistorysList = [];
       this.resetForm("form");
     },
+    hb(){
+       if (this.queryParams.tjNum != undefined) {
+        this.handleQuery();
+      }
+    },
     /** 鎼滅储鎸夐挳鎿嶄綔 */
     handleQuery() {
       this.queryParams.pageNum = 1;
@@ -535,6 +381,7 @@
     },
     // 鍗曢�夋閫変腑鏁版嵁
     handleSelectionChange(selection) {
+      this.dataList = [];
       this.selectList = selection;
       // this.ids = selection.map((item) => item.askId);
       // this.single = selection.length !== 1;
@@ -549,37 +396,40 @@
         let del_row = selection.shift();
         this.$refs.multipleTable.toggleRowSelection(del_row, false);
       }
-      selection.forEach(item1=>{
+      selection.forEach((item1) => {
         if (item1.tjCustomerSex === 1) {
-        this.sex = true;
-      } else {
-        this.sex = false;
-      }
-      })
-      let userId = selection.map((item) => item.userId);
-      getInfoById(userId).then((response) => {
-        this.form = response.data;
-        if(this.form.xiyan == null){
-          this.form.xiyan ="1"
+          this.sex = true;
+        } else {
+          this.sex = false;
         }
-        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
       });
+      let tjNumber = selection.map((item) => item.tjNumber);
+      this.jianqianwenzhendata = tjNumber;
+      
+      
+      // getInfoById(tjNumber).then((response) => {
+      //   this.jianqianwenzhendata = response.data;
+      //   if (this.form.xiyan == null) {
+      //     this.form.xiyan = "1";
+      //   }
+      //   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
+      // });
     },
     tableRowClassName({ row, rowIndex }) {
       for (let i = 0; i < this.selectList.length; i++) {
@@ -588,42 +438,14 @@
         }
       }
     },
-    // 鏂板琛�
-    addmembers() {
-      if (this.form.cusName) {
-        if (!this.form.tjAskHistorysList) {
-          this.form.tjAskHistorysList = [];
-          this.form.tjAskHistorysList.push({
-            id: parseInt(length),
-            diseaseName: "",
-            diseaseData: "",
-            diseaseCompany: "",
-            isOk: "",
-            remark: "",
-            Selection,
-          });
-        } else {
-          this.form.tjAskHistorysList.push({
-            id: parseInt(length),
-            diseaseName: "",
-            diseaseData: "",
-            diseaseCompany: "",
-            isOk: "",
-            remark: "",
-            Selection,
-          });
-        }
-      } else {
-        Message.warning("璇峰厛濉啓瀹㈡埛鍚�");
-      }
-      this.$forceUpdate();
-    },
-    /** 鎻愪氦鎸夐挳 */
-    submitForm() {
-      updateHistory(this.form).then((response) => {
-        this.$modal.msgSuccess("淇敼鎴愬姛");
-      });
-    },
+
+    handleLoading(isLoading) {
+      this.loading = isLoading;
+    }
+
+    
+
+   
   },
 };
 </script>
@@ -640,27 +462,20 @@
   display: flex;
   justify-content: space-evenly;
 }
+
 .hist2 {
   width: 708px;
 }
+
 .hist3 {
   margin-top: 60px;
 }
-.coll {
-  width: 100%;
-}
+
 ::v-deep .el-collapse-item__header {
   font-weight: 800;
   font-size: 16px;
 }
-.txt {
-  font-size: 16px;
-  font-weight: 800;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  margin-bottom: 20px;
-}
+
 .el-table .warning-row {
   background: #e5f3ff !important;
 }

--
Gitblit v1.8.0