From caef1ff213da160e818342eceb3d77fac0db280d Mon Sep 17 00:00:00 2001
From: qx <1084500556@qq.com>
Date: 星期五, 30 五月 2025 16:41:29 +0800
Subject: [PATCH] qx

---
 src/views/sampling/sampling/index.vue |  182 ++++++++++++++++++++++++++-------------------
 1 files changed, 106 insertions(+), 76 deletions(-)

diff --git a/src/views/sampling/sampling/index.vue b/src/views/sampling/sampling/index.vue
index 2c7a66a..8157f73 100644
--- a/src/views/sampling/sampling/index.vue
+++ b/src/views/sampling/sampling/index.vue
@@ -104,9 +104,10 @@
         </el-table>
       </div>
       <div style="width: 50%">
-        <!-- v-if="this.rightTabShow"  v-if="tableList.length > 0"-->
-        <el-table  v-loading="loading" :data="tableList" @selection-change="handleChange" :span-method="objectSpanMethod"
-          ref="elTable" :row-class-name="tableRowClassName" border height="520px">
+        <!-- v-if="this.rightTabShow" -->
+        <el-table :key="tableKey" :row-key="getRowKey" v-if="tableList.length > 0" v-loading="loading" :data="tableList"
+          @selection-change="handleChange" :span-method="objectSpanMethod" ref="tab1"
+          :row-class-name="tableRowClassName" border height="520px">
           <el-table-column type="selection" width="40" align="center" />
           <!--  :selectable="selectEnable" -->
           <!-- <el-table-column label="鏄惁绛炬敹" align="center" prop="isSignFor" /> -->
@@ -197,7 +198,7 @@
                 :limit.sync="queryParams.pageSize" @pagination="getList" />
         </div> -->
 
-    <div style="margin-right: 70%">
+    <div style="margin-right: 50%">
       <!-- <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :pager-count="5" :current-page.sync="currentPage1" :current-page="page"
                 :page-sizes="pageSize" :page-size="size" layout="total, sizes, prev, pager, next, jumper" :total="total">
             </el-pagination> -->
@@ -211,7 +212,12 @@
 
 <script>
 import {
+  listSampling,
+  getSampling,
   getList,
+  delSampling,
+  addSampling,
+  updateSampling,
   confirmSampling,
   getCusCyList,
   mergeCaiYang,
@@ -222,8 +228,10 @@
 import { getNewDateList } from "@/api/hosp/order";
 import moment from "moment";
 import {
+  SubmitCompany,
   getCompany,
   queryCompany,
+  addbatch,
 } from "@/api/team/tuanti";
 export default {
   dicts: [
@@ -237,6 +245,7 @@
   data() {
     return {
       CheckBox: {},
+
       CompanyList: [],
       piliangList: [],
       msg: "",
@@ -256,6 +265,7 @@
       tjStatus: "1",
       dayinData: [],
       jsonObj: {},
+
       // 闈炲崟涓鐢�
       single: true,
       // 闈炲涓鐢�
@@ -322,19 +332,23 @@
       },
       // 琛ㄥ崟鍙傛暟
       form: {},
+      tableKey: "",
       // 琛ㄥ崟鏍¢獙
       rules: {},
+      // rightTabShow: false
       allSelected: false,
       disableSelections: false, // 鎺у埗閫夋嫨绂佺敤鐘舵��
     };
   },
   created() {
+    // this.getNowTime();
     getTxmmccd().then((res) => {
       this.msg = Number(res.msg);
       console.log(res, 444);
     });
     getCompany(this.queryParams).then((response) => {
       this.CompanyList = response.data;
+
       this.loading = false;
     });
     this.getdate();
@@ -520,6 +534,7 @@
       return ""; // 濡傛灉 applicationTime 鏃犳晥锛岃繑鍥炵┖瀛楃涓�
     },
     /** 鏌ヨ浣撴閲囨牱绠$悊鍒楄〃 */
+    /** 鏌ヨ浣撴閲囨牱绠$悊鍒楄〃 */
     getList() {
       this.queryParams.compId = this.CheckBox.drugManufacturerId;
       this.loading1 = true;
@@ -528,68 +543,40 @@
       if (this.createTimeList) {
         this.queryParams.beginTime = this.createTimeList[0];
         this.queryParams.endTime = this.createTimeList[1];
-      } else if (this.createTimeList == null) {
+      } else {
         this.queryParams.beginTime = null;
         this.queryParams.endTime = null;
       }
+
       getList(this.queryParams).then((response) => {
         this.loading1 = false;
-        if (response.data) {
-          if (!response.data.list || response.data.list.length === 0) {
-            this.samplingList = [];
-            this.tableList = [];
-            this.loading1 = false;
-            this.loading = false;
-            return;
-          } else {
-            this.samplingList = response.data.list;
-            // 鍒ゆ柇鏄惁闇�瑕佸埛鏂板彸杈硅〃鏍�
-            this.$nextTick(() => {
-              this.$refs.tb.toggleRowSelection(this.samplingList[0], true);
-              // 妫�鏌ユ槸鍚﹀叏閫�
-              if (this.samplingList.length === this.selectedRows.length) {
-                this.disableSelections = true;
-              } else {
-                this.disableSelections = false;
-              }
-            });
-          }
+        if (response.data && response.data.list && response.data.list.length > 0) {
+          this.samplingList = response.data.list;
           this.total = response.data.total;
-          this.loading1 = false;
-        } else {
-          this.samplingList = [];
-          this.tableList = [];
-          this.loading1 = false;
-        }
-      });
+          this.$nextTick(() => {
+            if (this.$refs.tb) {
 
-      /* getList(this.queryParams).then((response) => {
-        if (response.data) {
-          if (response.data.list == null) {
-            this.samplingList = [];
-            this.tableList = [];
-            this.loading = false;
-          } else {
-            this.samplingList = response.data.list;
-            console.log(this.samplingList,888);
-            
-            this.loading = false;
-            if (this.samplingList.length != 0) {
-              this.$nextTick(() => {
-                this.$refs.tb.toggleRowSelection(this.samplingList[0], true);
-              });
-            } else {
-              this.$refs.tb.clearSelection();
+              const headerCheckbox = this.$refs.tb.$el.querySelector('.el-table__header .el-checkbox');
+              if (headerCheckbox) headerCheckbox.style.display = 'none';
+
             }
-          }
-          this.total = response.data.total;
-          this.loading = false;
+          });
+          // 绉婚櫎榛樿閫変腑绗竴琛岀殑閫昏緫
+          // this.$nextTick(() => {
+          //   this.$refs.tb.toggleRowSelection(this.samplingList[0], true); // 榛樿閫変腑绗竴琛�
+          //   this.fetchData(this.samplingList[0].tjNumber); // 鍒锋柊鍙充晶琛ㄦ牸
+          // });
         } else {
           this.samplingList = [];
           this.tableList = [];
-          this.loading = false;
+          this.selectList = []; // 娓呯┖ selectList
+          this.ids = []; // 娓呯┖ ids
+          if (this.$refs.tab1) {
+            this.$refs.tab1.clearSelection(); // 娓呯┖鍙充晶琛ㄦ牸閫変腑鐘舵��
+          }
         }
-      }); */
+        this.loading1 = false;
+      });
     },
     // 鍙栨秷鎸夐挳
     cancel() {
@@ -627,8 +614,19 @@
     },
     /** 閲嶇疆鎸夐挳鎿嶄綔 */
     resetQuery() {
-      this.createTimeList = [];
-      this.handleQuery();
+      this.createTimeList = []; // 娓呯┖鏃ユ湡鑼冨洿
+      this.queryParams.tjNumber = null; // 娓呯┖浣撴鍙�
+      this.queryParams.name = null; // 娓呯┖濮撳悕
+      this.queryParams.tjCompName = null; // 娓呯┖鍗曚綅鍚嶇О
+      this.selectList = []; // 娓呯┖鍙充晶閫変腑椤�
+      this.selectedRows = []; // 娓呯┖宸︿晶閫変腑椤�
+      this.tableList = []; // 娓呯┖鍙充晶琛ㄦ牸鏁版嵁
+      this.ids = []; // 娓呯┖閫変腑鐨� ID
+      this.$refs.tb.clearSelection(); // 娓呯┖宸︿晶琛ㄦ牸閫変腑鐘舵��
+      if (this.$refs.tab1) {
+        this.$refs.tab1.clearSelection(); // 娓呯┖鍙充晶琛ㄦ牸閫変腑鐘舵��
+      }
+      this.handleQuery(); // 閲嶆柊鏌ヨ
     },
 
     handleSelectionChange(selection) {
@@ -674,6 +672,10 @@
       console.log(`鏄惁绂佺敤閫夋嫨: ${this.disableSelections}`);
     },
 
+    getRowKey(row) {
+      return row.id; // 蹇呴』鍞竴涓旂ǔ瀹�
+    },
+
     fetchData(tjNumber) {
       return new Promise((resolve, reject) => {
         this.loading = true;
@@ -681,12 +683,24 @@
           .then((response) => {
             if (response.data) {
               this.tableList = response.data;
+              this.tableKey = Date.now()
               this.$nextTick(() => {
-      this.$refs.elTable.doLayout(); // 閫氳繃 ref 璋冪敤琛ㄦ牸鏂规硶
-    });
+                if (this.$refs.tab1) {
+                  this.$refs.tab1.doLayout(); // 淇敼涓烘纭殑 ref 鍚嶇О
+                  this.$refs.tab1.clearSelection(); // 娓呯┖閫変腑鐘舵��
+                  const headerCheckbox = this.$refs.tab1.$el.querySelector('.el-table__header .el-checkbox');
+                  if (headerCheckbox) headerCheckbox.style.display = 'inline';
+                }
+              });
               resolve(this.tableList);
+              this.loading = false;
             } else {
               this.tableList = [];
+              this.selectList = [];
+              this.ids = [];
+              if (this.$refs.tab1) {
+                this.$refs.tab1.clearSelection();
+              }
               resolve([]);
             }
           })
@@ -907,10 +921,7 @@
     },
 
     handleChange(selection) {
-      // console.log(selection);
-
       this.selectList = selection;
-      console.log(this.selectList, 9977);
       var array = selection;
       this.ids = array.map((item) => item.id);
     },
@@ -930,6 +941,7 @@
       };
       websocket.onopen = () => {
         this.websocket = websocket;
+        console.log(this.selectList, "this.selectList")
         this.dayinData = this.selectList.map((item) => ({
           jyxh: item.jyxh,
           proName: item.proName,
@@ -939,6 +951,8 @@
           cardId: item.cardId,
           tjTime: item.createTime,
         }));
+
+
         // 杩炴帴璁惧
         this.jsonObj = {
           type: "3",
@@ -947,7 +961,12 @@
           },
         };
         var jStr = JSON.stringify(this.jsonObj);
+        console.log(jStr, "jStr");
+
         this.websocket.send(jStr);
+        this.$refs.tab1.clearSelection(); // 娓呴櫎鍙充晶琛ㄦ牸鐨勯�変腑鐘舵��
+        this.selectList = []; // 娓呯┖ selectList
+        this.ids = []; // 娓呯┖ ids
         this.jsonObj = {};
         // this.dialogVisible = false;
       };
@@ -956,23 +975,24 @@
     // 纭閲囨牱
     Confirmreceipt() {
       const loadingInstance = this.$loading({
-        lock: true, // 閿佸畾灞忓箷
-        text: "鍔犺浇涓�...", // 鍔犺浇鏂囨湰
-        spinner: "el-icon-loading", // 鑷畾涔夊姞杞藉浘鏍�
-        background: "rgba(255, 255, 255, 0.7)", // 鑳屾櫙棰滆壊
+        lock: true,
+        text: "鍔犺浇涓�...",
+        spinner: "el-icon-loading",
+        background: "rgba(255, 255, 255, 0.7)",
       });
       confirmSampling(this.ids)
         .then((res) => {
-          console.log(this.selectList, 2222);
-
           if (res.code === 200) {
-            this.buda();
-            this.getList();
+            this.buda(); // 鎵撳嵃鏉$爜
+
+            this.getList(); // 鍒锋柊宸︿晶琛ㄦ牸
+            console.log("閲囨牱鍚� - selectList:", this.selectList, "qiehuan:", this.qiehuan);
           } else {
             this.$message.error(res.msg);
           }
         })
         .catch((error) => {
+          console.error("閲囨牱澶辫触:", error);
         })
         .finally(() => {
           loadingInstance.close();
@@ -995,6 +1015,7 @@
         });
     },
     // 鍗曢�夋寜閽�
+    // 鍗曢�夋寜閽�
     radioChange(value) {
       this.loading = true;
       this.queryParams.isSignFor = value;
@@ -1006,14 +1027,23 @@
             this.loading = false;
           } else {
             this.samplingList = response.data.list;
-            this.loading = false;
-            if (this.samplingList.length != 0) {
-              this.$nextTick(() => {
-                this.$refs.tb.toggleRowSelection(this.samplingList[0], true);
-              });
-            } else {
-              this.$refs.tb.clearSelection();
+            this.$nextTick(() => {
+            if (this.$refs.tb) {
+
+              const headerCheckbox = this.$refs.tb.$el.querySelector('.el-table__header .el-checkbox');
+              if (headerCheckbox) headerCheckbox.style.display = 'none';
+
             }
+          });
+            this.loading = false;
+            // 绉婚櫎榛樿閫変腑绗竴琛岀殑閫昏緫
+            // if (this.samplingList.length != 0) {
+            //   this.$nextTick(() => {
+            //     this.$refs.tb.toggleRowSelection(this.samplingList[0], true);
+            //   });
+            // } else {
+            //   this.$refs.tb.clearSelection();
+            // }
           }
           this.total = response.data.total;
           this.loading = false;

--
Gitblit v1.8.0