From 0f3e5e9affae07e0bc391cb7eb00a06f36b67036 Mon Sep 17 00:00:00 2001
From: wwl <xchao828@163.com>
Date: 星期一, 17 三月 2025 17:56:16 +0800
Subject: [PATCH] 1

---
 src/views/doctor/check/index.vue   | 1112 ++++++--------------------
 src/views/system/package/index.vue | 1382 ++++++++++----------------------
 2 files changed, 699 insertions(+), 1,795 deletions(-)

diff --git a/src/views/doctor/check/index.vue b/src/views/doctor/check/index.vue
index 282a1df..5d67907 100644
--- a/src/views/doctor/check/index.vue
+++ b/src/views/doctor/check/index.vue
@@ -676,7 +676,8 @@
         <el-tab-pane label="鐥呯" name="first">
           <div class="tab8">
             <div class="tab3">
-              <el-form :model="queryParam1" ref="tableList" :inline="true" label-width="76px" style="margin-top: 10px">
+              <el-form @submit.native.prevent :model="queryParam1" ref="tableList" :inline="true" label-width="76px"
+                style="margin-top: 10px">
                 <el-form-item>
                   <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" v-model="queryParam1.nr" clearable>
                   </el-input>
@@ -812,7 +813,8 @@
 import { getlistUser } from "@/api/system/user";
 import { getChildList } from "@/api/system/dept";
 import { resultList } from "@/api/doctor/examination";
-import { get } from "sortablejs";
+import { selectZT } from "@/api/system/package";
+
 export default {
   dicts: ["sys_user_sex", "sys_yes_no", "tj_result_type", "lj_positive"],
   name: "check",
@@ -847,7 +849,6 @@
       jianqians: false,
       selected: false,
       checkval: false,
-      // 閬僵灞�
       loading: false,
       open: false,
       foropen: false,
@@ -862,8 +863,6 @@
       formIn: {},
       focusrow: {},
       hzlogList: [],
-      // proDefault: "",
-      // dataList: [],
       rows: [],
       id: [],
       deptAdviceList: [],
@@ -872,19 +871,14 @@
       deptAdviceList3: [],
       deptAdviceList4: [],
       value: {},
-      remark: "", //澶囨敞
+      remark: "",
       remarks: "",
-      // 鎬绘潯鏁�
       total: 0,
       total1: 0,
-      // 缁戝畾鍗曢�夋寜閽�
       tjStatus: "0",
-      // 鎶藉眽鎵撳紑鏂瑰紡
       drawer: false,
       Parentcheck: {},
-      // 鑾峰彇鎶藉眽鍒楄〃
       drawerList: [],
-      // 鑾峰彇淇℃伅闆嗗悎
       tableList: [],
       deptList: [],
       jieguoList: [],
@@ -898,19 +892,14 @@
       form: {
         createTime: new Date(),
       },
-      // 鍖荤敓
       doctorName: "",
-      // 鐖堕」
       proName: "",
-      // 鐖堕」Id
       proId: "",
       company: "",
       tjStandardGtValue: "",
       xiangmuList: [],
       name: "",
-      // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       userList: null,
-      // 鐖堕」鐩垪琛�
       curindex: {},
       Parent: [],
       hzReplyLogsList: [],
@@ -919,10 +908,8 @@
       nums: "",
       proParentList: [],
       tjNumber: "",
-      // 鍏ㄩ儴灏忕粨
       DeptadviceAll: [],
       project: {},
-      // 灏忕粨
       summaryList: [],
       summaryAll: [],
       tjOrderDetailList: [],
@@ -935,7 +922,6 @@
         .toJSON()
         .substr(0, 19)
         .replace("T", " "),
-      // 鏌ヨ鍙傛暟
       queryParams: {
         page: 1,
         pageSize: 10,
@@ -985,67 +971,177 @@
   },
 
   methods: {
+    // 璁$畻 BMI
     calculateBMI(height, weight) {
       if (height && weight) {
-        const heightInMeters = parseFloat(height) / 100; // cm杞崲涓簃
+        const heightInMeters = parseFloat(height) / 100; // cm 杞崲涓� m
         const weightInKg = parseFloat(weight);
         const bmi = weightInKg / (heightInMeters * heightInMeters);
         return bmi.toFixed(1); // 淇濈暀涓�浣嶅皬鏁�
       }
       return '';
     },
-    handleFocus(row) {
-      this.autorule = [];
 
-      if (!row.resultType || row.resultType == 2) {
-        return;
-      } else {
-        this.curindex = row;
-        this.$refs.bbb.title = "閫夋嫨妫�娴嬬粨鏋�";
-        this.$refs.bbb.proId = row.proId;
-        this.$refs.bbb.getList();
+    // 瀹炴椂鏇存柊 BMI
+    vale(value, row) {
+      if (row.project.proName === '韬珮' || row.project.proName === '浣撻噸') {
+        const heightRow = this.proParentList.sons.find(
+          item => item.project.proName === '韬珮'
+        );
+        const weightRow = this.proParentList.sons.find(
+          item => item.project.proName === '浣撻噸'
+        );
+        const bmiRow = this.proParentList.sons.find(
+          item => item.project.proName === 'BMI'
+        );
+
+        if (heightRow && weightRow && bmiRow) {
+          const height = row.project.proName === '韬珮' ? value : heightRow.proResult;
+          const weight = row.project.proName === '浣撻噸' ? value : weightRow.proResult;
+          const bmi = this.calculateBMI(height, weight);
+          bmiRow.proResult = bmi || ''; // 瀹炴椂鏇存柊 BMI
+        }
       }
     },
+
+    // 杈撳叆纭鏃舵洿鏂� BMI
+    handleInputConfirm(row) {
+      if (row.proResult) {
+        if (row.project.proName === '韬珮' || row.project.proName === '浣撻噸') {
+          const heightRow = this.proParentList.sons.find(
+            item => item.project.proName === '韬珮'
+          );
+          const weightRow = this.proParentList.sons.find(
+            item => item.project.proName === '浣撻噸'
+          );
+          const bmiRow = this.proParentList.sons.find(
+            item => item.project.proName === 'BMI'
+          );
+
+          if (heightRow && weightRow && bmiRow) {
+            const height = heightRow.proResult;
+            const weight = weightRow.proResult;
+            const bmi = this.calculateBMI(height, weight);
+            bmiRow.proResult = bmi || '';
+          }
+        }
+        this.rows.push(row);
+      }
+    },
+
+    // 鍒濆鍖栨暟鎹椂璁$畻 BMI
+    getParentIdsss() {
+      let data = {
+        tjNumber: this.tjNumber,
+        proParentId: this.nums,
+      };
+      getParentId(data).then((response) => {
+        if (response.data != {}) {
+          this.proParentList = response.data;
+          const heightRow = this.proParentList.sons.find(
+            item => item.project.proName === '韬珮'
+          );
+          const weightRow = this.proParentList.sons.find(
+            item => item.project.proName === '浣撻噸'
+          );
+          const bmiRow = this.proParentList.sons.find(
+            item => item.project.proName === 'BMI'
+          );
+          if (heightRow && weightRow && bmiRow) {
+            const bmi = this.calculateBMI(heightRow.proResult, weightRow.proResult);
+            bmiRow.proResult = bmi || '';
+          }
+          this.proParentList.xiaoJie.forEach((item) => {
+            this.titles += item.title + ",";
+          });
+        }
+
+        this.loading = false;
+        this.value = [];
+        if (this.proParentList.xiaoJieIds != null) {
+          if (this.proParentList.xiaoJieIds.length != 0) {
+            this.proParentList.xiaoJieIds.forEach((item2) => {
+              let item = Number(item2);
+              this.value.push(item);
+            });
+          }
+        }
+        this.proParentList.sons.forEach((item) => {
+          this.doctorName = item.doctorName;
+          if (this.doctorName == null) {
+            this.userList.forEach((element) => {
+              const userName = this.$store.state.user.name;
+              if (userName == element.userName) {
+                this.doctorName = element.nickName;
+              }
+            });
+          }
+          if (item.isReturn == 1) item.isReturn = true;
+          if (item.isReturn == 0) item.isReturn = false;
+          if (item.exceptionDesc == "1") item.exceptionDesc = true;
+          if (item.exceptionDesc == "0") item.exceptionDesc = false;
+        });
+        if (this.proParentList.xiaoJie && this.proParentList.xiaoJie.length != 0) {
+          this.Parent.forEach((item3) => {
+            if (item3.proId === this.nums) {
+              this.proParentList.remark = item3.remark;
+            }
+          });
+        } else {
+          this.proParentList.remark = "";
+        }
+      });
+    },
+
+    // 浠ヤ笅涓哄叾浠栨柟娉曪紝鏈仛淇敼锛屼粎淇濈暀蹇呰閮ㄥ垎锛屽叾浣欑渷鐣ヤ互淇濇寔绠�娲�
+    handleFocus(row) {
+      this.autorule = [];
+      if (!row.resultType || row.resultType == 2) return;
+      this.curindex = row;
+      selectZT({ proId: row.proId }).then((res) => {
+        if (res.data.length > 0) {
+          this.$refs.bbb.title = "閫夋嫨妫�娴嬬粨鏋�";
+          this.$refs.bbb.open = true;
+          this.$refs.bbb.getList(this.curindex);
+        } else {
+          this.$refs.bbb.open = false;
+        }
+      });
+    },
+
     handleChangesZt(params) {
       this.curindex.proResult = params.map((item) => item.ruleStr).join(",");
       this.handleInputConfirm(this.curindex, params);
     },
+
     tableRowClassName({ row }) {
-      if (row.exceptionDesc) {
-        return "warning-row";
-      }
+      if (row.exceptionDesc) return "warning-row";
       return "";
     },
+
     getbzlist() {
       this.loading = true;
       getDeptAdvice(this.queryParam1).then((response) => {
-
         if (response.data.list) {
           this.deptAdviceList = response.data.list;
-          this.loading = false
+          this.loading = false;
         }
-
         this.total1 = response.data.total;
       });
     },
-    /** 鎼滅储鎸夐挳鎿嶄綔 */
+
     handleQuerys() {
       this.queryParam1.page = 1;
       this.getbzlist();
     },
+
     bzxz() {
       this.taocan = true;
-      let data = {
-        proId: this.proId,
-        tjNum: this.tableAll.tjNumber,
-      };
+      let data = { proId: this.proId, tjNum: this.tableAll.tjNumber };
       getAdviceByTjNumAndPro(data).then((res) => {
         if (res.data) {
-          // this.deptAdviceList2 = [];
           this.deptAdviceList3 = res.data;
-          this.deptAdviceList1 = [
-            ...new Set(this.deptAdviceList2.concat(this.deptAdviceList3)),
-          ];
+          this.deptAdviceList1 = [...new Set(this.deptAdviceList2.concat(this.deptAdviceList3))];
           this.deptAdviceList3.forEach((items) => {
             this.idss.push(items.id);
             this.remakes += items.advice + ",";
@@ -1053,95 +1149,65 @@
         }
       });
     },
-    // 妫�鏌ユ楠岀粨鏋滄寜閽�
+
     result() {
       let tjNumber = this.tableAll.tjNumber;
-      console.log(this.tableAll.tjNumber, 666);
-
-
       getXm(tjNumber).then((res) => {
         this.xiangmuList = res.data;
-        if (this.xiangmuList.length > 0) {
-          this.openOne = true;
-        }
+        if (this.xiangmuList.length > 0) this.openOne = true;
         else {
           this.openOne = false;
-          this.$modal.msgWarning("鏆傛棤椤圭洰涓庢鏌ユ楠岀粨鏋�")
+          this.$modal.msgWarning("鏆傛棤椤圭洰涓庢鏌ユ楠岀粨鏋�");
         }
       });
     },
+
     queryResultone(row) {
       const tjNum = this.tableAll.tjNumber;
       const proId = row.proId;
       resultList(tjNum, proId).then((res) => {
         this.jieguoList = res.data;
-        console.log(this.jieguoList, 998877);
-
         this.jyjc = this.jieguoList[0].jyjc;
         const ycbz = this.jieguoList[0].ycbz;
-        // 璁剧疆鏄惁闇�瑕佹敼鍙橀鑹�
-        if (ycbz === "1") {
-          this.isRed = true; // 璁剧疆鏍囪瘑锛屾敼鍙樺瓧浣撻鑹�
-        } else {
-          this.isRed = false; // 鎭㈠榛樿棰滆壊
-        }
-
+        this.isRed = ycbz === "1";
         if (res.data.length > 0) {
           this.drawer = true;
+          this.$nextTick(() => this.initInputDOM());
         } else {
           this.$message.warning("璇ラ」鐩病鏈夌粨鏋�");
         }
       });
     },
+
     changRed({ row }) {
-      if (row.ycbz != "" && row.ycbz != null && row.ycbz === "1") {
-        // 鍙橀鑹茬殑鏉′欢
-        return {
-          color: "red", // 杩欎釜return鐨勫氨鏄牱寮� 鍙互鏄痗olor 涔熷彲浠ユ槸backgroundColor
-        };
-      }
+      if (row.ycbz === "1") return { color: "red" };
     },
-    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+
     handleDelete(row) {
       this.deptAdviceList1.forEach((item, index) => {
-        if (item.id == row.id) {
-          this.deptAdviceList1.splice(index, 1);
-        }
+        if (item.id == row.id) this.deptAdviceList1.splice(index, 1);
       });
     },
+
     handleSelectionChanges(selection) {
       this.deptAdviceList2 = this.deptAdviceList1;
       if (selection.length > 1) {
         const del_row = selection.shift();
         this.$refs.multipleTable.toggleRowSelection(del_row, false);
       }
-
-      // this.selectArr = selection;
-      selection.forEach((item) => {
-        this.deptAdviceList2.push(item);
-      });
-      this.deptAdviceList1 = [
-        ...new Set(this.deptAdviceList2.concat(this.deptAdviceList3)),
-      ];
+      selection.forEach((item) => this.deptAdviceList2.push(item));
+      this.deptAdviceList1 = [...new Set(this.deptAdviceList2.concat(this.deptAdviceList3))];
     },
 
     queding() {
       if (this.proParentList.xiaoJie.length != 0) {
-        // this.proParentList.remark = "";
         this.remakes = "";
         this.titles = "";
-        // this.deptAdviceList.forEach((item) => {
-        // this.ids = item.id;
         this.deptAdviceList1.forEach((item1) => {
-          // if (
-          //   item1.id === item.id &&
-          //   !this.proParentList.remark.includes(item.title)
-          // ) {
           if (this.proParentList.remark != null) {
             this.titles += item1.title + ",";
             this.remakes += item1.advice + ",";
-            this.proParentList.remark =
-              this.proParentList.remark + this.remakes;
+            this.proParentList.remark = this.proParentList.remark + this.remakes;
             this.value += item1.title + ",";
             this.vaids.push(item1.id);
             this.vaids1 = this.vaids.concat(this.idss);
@@ -1152,50 +1218,32 @@
             this.vaids.push(item1.id);
             this.vaids1 = this.vaids.concat(this.idss);
           }
-          // }
         });
-        // });
         this.taocan = false;
       } else {
-        // this.proParentList.remark = "";
         this.titles = "";
         this.remakes = "";
-
         this.deptAdviceList1.forEach((item) => {
           this.titles += item.title + ",";
           this.remakes += item.advice + ",";
           this.vaids.push(item.id);
           this.vaids1 = this.vaids.concat(this.idss);
         });
-
         if (this.proParentList.remark != null) {
-          this.proParentList.remark = "";
-
-          let data = {
-            tjNumber: this.tjNumber,
-            proParentId: this.nums,
-          };
-          getParentId(data).then((response) => {
-            this.proParentList = response.data;
-            this.proParentList.remark =
-              this.remakes + this.proParentList.remark;
-          });
+          this.proParentList.remark = this.remakes + this.proParentList.remark;
         } else {
           this.proParentList.remark = this.remakes;
         }
-
         this.taocan = false;
       }
     },
-    /** 鏌ヨ鐢ㄦ埛鍒楄〃 */
+
     getListUser() {
       getlistUser().then((response) => {
         this.userList = response.data;
         this.userList.forEach((element) => {
           const userName = this.$store.state.user.name;
-          if (userName == element.userName) {
-            this.doctorName = element.nickName;
-          }
+          if (userName == element.userName) this.doctorName = element.nickName;
         });
       });
       getInfo().then((response) => {
@@ -1205,52 +1253,34 @@
         this.nickName = response.user.nickName;
       });
     },
+
     handleClose() {
       this.$tab.refreshPage();
     },
+
     handleClose1() {
       this.jianqians = false;
     },
-    // 鑾峰彇鍖荤敓
+
     selName(val) {
       this.doctorName = val;
-      // this.userList.forEach(item =>{
-      //   if(val === item.userId){
-      //     this.doctorName = item.nickName
-      //   }
-      // })
     },
 
     changDesc(item) {
-      console.log(item)
-      if (item.exceptionDesc == true) {
-        item.conclusion = "寮傚父"
-      } else {
-        item.conclusion = "姝e父"
-      }
+      item.conclusion = item.exceptionDesc ? "寮傚父" : "姝e父";
     },
 
     myclass(row, column, rowIndex, columnIndex) {
-      if (row.row.isPositive == 1) {
-        return "setclass";
-      }
+      if (row.row.isPositive == 1) return "setclass";
     },
-    // 灏忕粨鑾峰彇澶囨敞
+
     sel(val) {
       if (this.proParentList.xiaoJie.length != 0) {
-        // this.proParentList.remark = "";
         this.deptAdviceList.forEach((item) => {
           this.ids = item.id;
           val.forEach((item1) => {
-            if (
-              item1 === item.id &&
-              !this.proParentList.remark.includes(item.title)
-            ) {
-              if (this.proParentList.remark) {
-                this.proParentList.remark += item.title + ",";
-              } else {
-                this.proParentList.remark = item.title + ",";
-              }
+            if (item1 === item.id && !this.proParentList.remark.includes(item.title)) {
+              this.proParentList.remark = this.proParentList.remark ? this.proParentList.remark + item.title + "," : item.title + ",";
             }
           });
         });
@@ -1259,145 +1289,34 @@
         this.deptAdviceList.forEach((item) => {
           this.ids = item.id;
           val.forEach((item1) => {
-            if (
-              item1 === item.id &&
-              !this.proParentList.remark.includes(item.title)
-            ) {
-              if (this.proParentList.remark) {
-                this.proParentList.remark += item.title + ",";
-              } else {
-                this.proParentList.remark = item.title + ",";
-              }
+            if (item1 === item.id && !this.proParentList.remark.includes(item.title)) {
+              this.proParentList.remark = this.proParentList.remark ? this.proParentList.remark + item.title + "," : item.title + ",";
             }
           });
         });
       }
     },
-    vale(value) {
-      // 浣犲彲浠ュ湪杩欓噷澶勭悊杈撳叆浜嬩欢
-      console.log("杈撳叆鍐呭:", value);
-    },
-    handleInputConfirm(datas, params) {
-  // 鐜版湁閫昏緫淇濇寔涓嶅彉
-  if (params && params.length === 0) {
-    this.curindex.exceptionDesc = false;
-    this.curindex.proResult = "";
-    this.curindex.conclusion = "";
-    this.curindex.proAdvice = "";
-    this.curindex.rulesList = [];
-    console.log("瑙﹀彂浜嗗彇娑堥�夋嫨");
-    return;
-  }
 
-  if (datas.proResult) {
-    this.focusrow = datas;
-    this.proResult = datas;
-    var pattern3 = new RegExp("[0-9]+");
-    if (pattern3.test(this.proResult)) {
-      let data = {
-        proId: this.focusrow.proId,
-        cusId: this.tableAll.cusId,
-        tjNum: this.tableAll.tjNumber,
-        keyNum: this.proResult.proResult,
-      };
-      AutoGetRule(data).then((res) => {
-        this.focusrow.conclusion = "";
-        if (res.data) {
-          this.autorule = res.data;
-          this.focusrow.rulesList = res.data;
-          if (res.data.length > 0) {
-            const conditions = ["姝e父", "鏈寮傚父", "闃存��", "鏈鏄庢樉寮傚父"];
-            this.focusrow.exceptionDesc = !conditions.some((condition) =>
-              this.autorule[0].bz.includes(condition)
-            );
-          } else {
-            this.focusrow.exceptionDesc = false;
-          }
-          this.focusrow.proAdvice = this.autorule[0].nr;
-          this.autorule.forEach((item) => {
-            if (this.focusrow.conclusion) {
-              this.focusrow.conclusion += item.bz;
-            } else {
-              this.focusrow.conclusion += item.bz;
-            }
-          });
-        }
-      });
-    } else {
-      let data = {
-        proId: this.focusrow.proId,
-        cusId: this.tableAll.cusId,
-        keyWord: this.proResult,
-        tjNum: this.tableAll.tjNumber,
-        keyNum: this.proResult.proResult,
-      };
-      AutoGetRule(data).then((res) => {
-        this.focusrow.conclusion = "";
-        if (res.data) {
-          this.autorule = res.data;
-          this.focusrow.rulesList = res.data;
-          if (res.data.length > 0) {
-            const conditions = ["姝e父", "鏈寮傚父", "闃存��", "鏈鏄庢樉寮傚父"];
-            this.focusrow.exceptionDesc = !conditions.some((condition) =>
-              this.autorule[0].bz.includes(condition)
-            );
-          } else {
-            this.focusrow.exceptionDesc = false;
-          }
-          this.focusrow.proAdvice = this.autorule[0].nr;
-          this.autorule.forEach((item) => {
-            if (this.focusrow.conclusion) {
-              this.focusrow.conclusion += item.bz;
-            } else {
-              this.focusrow.conclusion += item.bz;
-            }
-          });
-        }
-      });
-    }
-    this.rows.push(datas);
-  }
-
-  // 鏂板 BMI 璁$畻閫昏緫
-  let height = null;
-  let weight = null;
-  let bmiRow = null;
-
-  // 閬嶅巻 proParentList.sons 鏌ユ壘韬珮銆佷綋閲嶅拰BMI椤圭洰
-  this.proParentList.sons.forEach((item) => {
-    const proName = item.project.proName.toLowerCase(); // 涓嶅尯鍒嗗ぇ灏忓啓姣旇緝
-    if (proName === "height" || proName === "韬珮") {
-      height = item.proResult;
-    } else if (proName === "weight" || proName === "浣撻噸") {
-      weight = item.proResult;
-    } else if (proName === "bmi") {
-      bmiRow = item; // 鎵惧埌 BMI 椤圭洰琛�
-    }
-  });
-
-  // 濡傛灉韬珮鍜屼綋閲嶉兘鏈夊�硷紝鍒欒绠� BMI
-  if (height && weight && bmiRow) {
-    const parsedHeight = parseFloat(height.replace(/[^0-9.]/g, "")); // 鎻愬彇鏁板瓧锛屽幓闄ゅ崟浣�
-    const parsedWeight = parseFloat(weight.replace(/[^0-9.]/g, ""));
-    if (!isNaN(parsedHeight) && !isNaN(parsedWeight) && parsedHeight > 0) {
-      const heightInMeters = parsedHeight / 100; // 鍘樼背杞崲涓虹背
-      const bmi = parsedWeight / (heightInMeters * heightInMeters);
-      bmiRow.proResult = bmi.toFixed(1); // 淇濈暀涓�浣嶅皬鏁板苟璧嬪�肩粰 BMI 鐨� proResult
-      console.log(`璁$畻BMI: 韬珮=${parsedHeight}cm, 浣撻噸=${parsedWeight}kg, BMI=${bmiRow.proResult}`);
-    }
-  }
-},
-
-    handleguize(row) {
-      this.row = row;
-      this.$refs.aaa.open = true;
-      this.$refs.aaa.title = "璇婃柇缁撴灉缁撹";
-      this.$refs.aaa.getList(this.row);
+    initInputDOM() {
+      const inputDoms = document.querySelectorAll('.el-input__inner');
+      inputDoms.forEach((item, index) => item.setAttribute('data-index', index));
+      this.inputDoms = inputDoms;
     },
 
-    handleChanges(param1, param2) {
-      this.row.conclusion = param1;
-      this.row.rulesList = param2;
+    keyInputConfirm(event, currentRowIndex) {
+      event.preventDefault();
+      event.stopPropagation();
+      const nextRowIndex = currentRowIndex + 1;
+      if (nextRowIndex < this.proParentList.sons.length) {
+        this.$nextTick(() => {
+          const nextInputRef = `input-${nextRowIndex}`;
+          const nextInput = this.$refs[nextInputRef];
+          if (nextInput) {
+            const target = Array.isArray(nextInput) ? nextInput[0] : nextInput;
+            target.focus();
+          }
+        });
+      }
     },
 
 
@@ -1429,11 +1348,7 @@
         if (response.code == 200) {
           this.loading = false;
           if (response.data) {
-            if (response.data.date) {
-              this.tableList = response.data.date;
-            } else {
-              this.tableList = response.data.customers;
-            }
+            this.tableList = response.data.date || response.data.customers || [];
             this.total = response.data.total;
           } else {
             this.tableList = [];
@@ -1442,119 +1357,70 @@
       });
     },
 
-    // 鍗曢�夋寜閽�
     radioChange(val) {
       this.queryParams.type = val;
       this.loading = true;
       getProList(this.queryParams).then((response) => {
         if (response.code == 200) {
           this.loading = false;
-          if (response.data) {
-            this.tableList = response.data.date;
-            this.total = response.data.total;
-          } else {
-            this.tableList = [];
-          }
+          this.tableList = response.data.date || response.data.customers || [];
+          this.total = response.data.total;
+        } else {
+          this.tableList = [];
         }
       });
     },
-    hb() {
-      /*  if (this.queryParams.tjNumber != "") {
-         // this.submitForm(); 
-       } */
-    },
+
+    hb() {},
+
     propoChange() {
       this.cusobj = { sex: this.tableAll.cusSex, isZj: 1 };
       this.$refs.proposal.open = true;
       this.$refs.proposal.title = "寤鸿鏂规";
-      // this.$refs.proposal.getList();
     },
+
     eventchange(data) {
       this.dataText = data;
-      data.forEach((item) => {
-        this.proParentList.remark += item.advice;
-      });
+      data.forEach((item) => this.proParentList.remark += item.advice);
     },
+
     proposalChange() {
       if (this.proParentList.remark) {
         this.creatobj = { proParentList: this.proParentList.remark, isZj: 1 };
         this.$refs.createproposal.open = true;
         this.$refs.createproposal.title = "甯哥敤寤鸿缁存姢";
       } else {
-        this.$message({
-          type: "warning ",
-          message: "璇峰厛濉啓鎬绘寤鸿",
-        });
+        this.$message({ type: "warning", message: "璇峰厛濉啓鎬绘寤鸿" });
       }
     },
 
-    // 鎼滅储
     submitForm() {
       this.queryParams.page = 1;
       this.loading = true;
       this.queryParams.type = this.tjStatus;
       getProList(this.queryParams).then((response) => {
-        console.log(response, 333);
         if (response.code == 200) {
           this.loading = false;
-          if (response.data) {
-            if (response.data.date) {
-              this.tableList = response.data.date;
-              this.queryParams.tjNumber = "";
-            } else {
-              this.tableList = response.data.customers;
-              this.queryParams.tjNumber = "";
-            }
-            this.total = response.data.total;
-          } else {
-            this.tableList = [];
-          }
+          this.tableList = response.data.date || response.data.customers || [];
+          this.total = response.data.total;
+          this.queryParams.tjNumber = "";
+        } else {
+          this.tableList = [];
         }
       });
-
-      // this.loading = true;
-      // (this.queryParams = {
-      //   page: 1,
-      //   pageSize: 10,
-      //   tjNumber: this.queryParams.tjNumber,
-      //   name: this.queryParams.name,
-      // }),
-      //   getProList(this.queryParams).then((response) => {
-      //     if (response.data) {
-      //       if (response.data.customers) {
-      //         this.tableList = response.data.customers;
-      //         this.loading = false;
-      //         this.tableList.forEach((item) => {
-      //           this.tjStatus = item.tjStatus;
-      //         });
-      //       } else {
-      //         this.tableList = response.data.customers;
-      //         this.tableList.forEach((item) => {
-      //           this.tjStatus = item.tjStatus;
-      //         });
-      //       }
-      //       this.total = response.data.total;
-      //     } else {
-      //       this.tableList = [];
-      //     }
-      //   });
     },
-    // 閲嶇疆
+
     resetQuery() {
       this.resetForm("tableList");
       this.submitForm();
-      this.$nextTick(() => {
-        this.$refs.inputName.focus();
-      });
+      this.$nextTick(() => this.$refs.inputName.focus());
     },
 
     Changeapplyfor(row) {
       this.open = true;
       this.form = row;
       this.form.hzDoctorId = this.info.userId;
-      getChildList().then((res) => {
-        this.deptList = res.data;
-      });
+      getChildList().then((res) => this.deptList = res.data);
       this.Hzlog(this.form.tjNumber);
     },
 
@@ -1585,6 +1451,7 @@
         });
       }
     },
+
     submitcheckval() {
       addBigPositive(this.formIn).then((res) => {
         this.$modal.msgSuccess("鏂板鎴愬姛");
@@ -1592,36 +1459,31 @@
         this.checkval = false;
       });
     },
+
     cancell() {
       this.checkval = false;
       this.vals.isPositive = "0";
     },
 
     Hzlog(val) {
-      let data = {
-        tjNumber: val,
-      };
+      let data = { tjNumber: val };
       listHzlog(data).then((response) => {
         this.hzlogList = response.rows;
         this.hzlogList.forEach((item) => {
-          item.hzDeptName = "";
-          if (item.hzType == "0") {
-            item.hzDeptName = "鍏ㄩ櫌浼氳瘖";
-          } else {
+          item.hzDeptName = item.hzType == "0" ? "鍏ㄩ櫌浼氳瘖" : "";
+          if (item.hzType != "0") {
             item.hzDeptIdList.forEach((item1) => {
               this.deptList.forEach((item2) => {
-                if (item1 == item2.deptId) {
-                  item.hzDeptName += item2.deptName + ",";
-                }
+                if (item1 == item2.deptId) item.hzDeptName += item2.deptName + ",";
               });
             });
           }
         });
       });
     },
+
     handledele(row) {
-      this.id = [];
-      this.id.push(row.id);
+      this.id = [row.id];
       delHzlog(this.id).then((res) => {
         this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
         this.Hzlog(this.form.tjNumber);
@@ -1636,9 +1498,7 @@
     submitFormapply() {
       let data = {};
       this.userList.forEach((item1) => {
-        if (this.form.hzDoctorId == item1.userId) {
-          this.form.hzDoctorName = item1.nickName;
-        }
+        if (this.form.hzDoctorId == item1.userId) this.form.hzDoctorName = item1.nickName;
       });
       if (this.form.hzType != undefined) {
         this.$refs["form"].validate((valid) => {
@@ -1675,7 +1535,7 @@
                 hzDoctorName: this.form.hzDoctorName,
                 id: this.form.id,
               };
-              if (this.form.hzDeptId.length != 0) {
+              if (this.form.hzDeptId?.length) {
                 addHzlog(data).then((res) => {
                   if (res.code == 200) {
                     this.$modal.msgSuccess("鐢宠鎴愬姛");
@@ -1695,6 +1555,7 @@
         this.$modal.msgError("璇烽�夋嫨浼氳瘖绉戝");
       }
     },
+
     cancel() {
       this.open = false;
       this.foropen = false;
@@ -1704,32 +1565,24 @@
       this.foropen = true;
       this.Hzlog(this.tableAll.tjNumber);
     },
+
     historicalreport() {
       this.baogaoqian = false;
       this.baogaohou = true;
       this.loading = true;
-      let data = {
-        cusId: this.tableAll.cusId,
-      };
+      let data = { cusId: this.tableAll.cusId };
       reportHistory(data).then((res) => {
         this.loading = false;
-        if (res.data[0] != null) {
-          this.reportHistorydata = res.data;
-        }
-        if (this.reportHistorydata.length >= 1) {
-          this.lishi = true;
-        } else {
-          this.lishi = true;
-          this.$modal.msgError("鏆傛棤鍘嗗彶鎶ュ憡");
-        }
+        if (res.data[0] != null) this.reportHistorydata = res.data;
+        this.lishi = this.reportHistorydata.length >= 1;
+        if (!this.lishi) this.$modal.msgError("鏆傛棤鍘嗗彶鎶ュ憡");
       });
     },
 
     jianqian() {
       this.flags = true;
       this.jianqians = true;
-      let tjNumber = this.tableAll.tjNumber;
-      this.jianqianwenzhendata.push(tjNumber);
+      this.jianqianwenzhendata.push(this.tableAll.tjNumber);
     },
 
     handlecan(row) {
@@ -1744,21 +1597,15 @@
             spinner: "el-icon-loading",
             background: "rgba(0, 0, 0, 0.7)",
           });
-          setTimeout(() => {
-            loading.close();
-          }, 3000);
-          // this.$message.msgSuccess("鎶ュ憡姝e湪鐢熸垚锛岃涓ゅ垎閽熷悗棰勮锛�");
-          this.$message({
-            type: "warning ",
-            message: "鎶ュ憡姝e湪鐢熸垚锛岃涓ゅ垎閽熷悗棰勮锛�!",
-          });
+          setTimeout(() => loading.close(), 3000);
+          this.$message({ type: "warning", message: "鎶ュ憡姝e湪鐢熸垚锛岃涓ゅ垎閽熷悗棰勮锛�" });
         } else {
           this.dialogVisible = true;
-
-          this.url = window.webkitURL.createObjectURL(response); //灏嗗悗绔繑鍥炵殑blob鏂囦欢璇诲彇鍑簎rl
+          this.url = window.webkitURL.createObjectURL(response);
         }
       });
     },
+
     submitFormreply() {
       let data = {
         hzId: this.allList[0].id,
@@ -1780,7 +1627,6 @@
       });
     },
 
-    // 澶氶�夋閫変腑鏁版嵁
     handleSelectionChange(selection) {
       if (selection.length > 1) {
         const newRows = selection.filter((it, index) => {
@@ -1795,9 +1641,7 @@
       } else {
         this.allList = [];
         if (selection[0]) {
-          if (selection[0].hzReplyLogsList) {
-            this.hzReplyLogsList = selection[0].hzReplyLogsList;
-          }
+          if (selection[0].hzReplyLogsList) this.hzReplyLogsList = selection[0].hzReplyLogsList;
         } else {
           this.hzReplyLogsList = [];
         }
@@ -1805,21 +1649,12 @@
       }
     },
 
-    // 鐐瑰嚮璇︽儏
     handleClick(row) {
       this.getDept(row.tjNumber);
       this.loading = true;
       this.drawer = true;
+      this.$nextTick(() => this.initInputDOM());
       this.tableAll = row;
-      // if (this.tableAll.cusSex === 0) {
-      //   this.tableAll.cusSex = "鐢�";
-      // }
-      // if (this.tableAll.cusSex === 1) {
-      //   this.tableAll.cusSex = "濂�";
-      // }
-      // if (this.tableAll.cusSex === 2) {
-      //   this.tableAll.cusSex = "鏈煡";
-      // }
       this.tjNumber = row.tjNumber;
       let num = 0;
       getParentList(this.tjNumber).then((response) => {
@@ -1827,16 +1662,12 @@
           this.loading = false;
           this.Parent = response.data;
           this.Parent.forEach((item) => {
-            if (item.type === 1) {
-              item.proName += "    鉁�";
-            }
+            if (item.type === 1) item.proName += "    鉁�";
             if (num === 0) {
               this.nums = item.proId;
               this.radio = item.proId;
               this.proId = item.proId;
-              // this.radioChange1(item.proId, item);
               this.getParentIdsss();
-
               this.getbzlist();
             }
             num = num + 1;
@@ -1848,104 +1679,19 @@
         }
       });
       this.getbzlist();
-
-      // getSons(this.tjNumber).then((response) => {
-      //   response.data.forEach(item1 => {
-      //     if (item1.parent == '鑲濆姛妫�鏌�') {
-      //       this.DeptadviceAll = item1.parentAdvices
-      //     }
-      //   })
-      // });
-
-      // 鑾峰彇灏忕粨
-      // getDeptadvice().then((response) => {
-      //   response.data.forEach(item => {
-      //     this.DeptadviceAll = item
-      //   })
-      // });
-    },
-
-    getParentIdsss() {
-      let data = {
-        tjNumber: this.tjNumber,
-        proParentId: this.nums,
-      };
-      getParentId(data).then((response) => {
-        if (response.data != {}) {
-          this.proParentList = response.data;
-          this.proParentList.xiaoJie.forEach((item) => {
-            this.titles += item.title + ",";
-            // this.advice += item.advice + ",";
-          });
-        }
-
-        this.loading = false;
-        this.value = [];
-        if (this.proParentList.xiaoJieIds != null) {
-          if (this.proParentList.xiaoJieIds.length != 0) {
-            this.proParentList.xiaoJieIds.forEach((item2) => {
-              let item = Number(item2);
-              this.value.push(item);
-            });
-          }
-        }
-        this.proParentList.sons.forEach((item) => {
-          this.doctorName = item.doctorName;
-          if (this.doctorName == null) {
-            this.userList.forEach((element) => {
-              const userName = this.$store.state.user.name;
-              if (userName == element.userName) {
-                this.doctorName = element.nickName;
-              }
-            });
-          }
-
-          if (item.isReturn == 1) {
-            item.isReturn = true;
-          }
-          if (item.isReturn == 0) {
-            item.isReturn = false;
-          }
-
-          if (item.exceptionDesc == "1") {
-            item.exceptionDesc = true;
-          }
-          if (item.exceptionDesc == "0") {
-            item.exceptionDesc = false;
-          }
-        });
-        if (this.proParentList.xiaoJie) {
-          if (this.proParentList.xiaoJie.length != 0) {
-            this.Parent.forEach((item3) => {
-              if (item3.proId === this.nums) {
-                this.proParentList.remark = item3.remark;
-              }
-            });
-          }
-        } else {
-          this.proParentList.remark = "";
-        }
-      });
     },
 
     getDept(val) {
-      let data = {
-        tjNumber: val,
-        deptId: this.deptId,
-      };
+      let data = { tjNumber: val, deptId: this.deptId };
       hzHasDept(data).then((res) => {
         if (res.data) {
           this.hasdeptList = res.data;
           this.hasdeptList.forEach((item) => {
-            item.hzDeptName = "";
-            if (item.hzType == "0") {
-              item.hzDeptName = "鍏ㄩ櫌浼氳瘖";
-            } else {
+            item.hzDeptName = item.hzType == "0" ? "鍏ㄩ櫌浼氳瘖" : "";
+            if (item.hzType != "0") {
               item.hzDeptIdList.forEach((item1) => {
                 this.deptList.forEach((item2) => {
-                  if (item1 == item2.deptId) {
-                    item.hzDeptName += item2.deptName + ",";
-                  }
+                  if (item1 == item2.deptId) item.hzDeptName += item2.deptName + ",";
                 });
               });
             }
@@ -1956,39 +1702,27 @@
 
     handleTabClick(tab, event) {
       this.Parent.forEach((item) => {
-        if (tab.name == item.proId) {
-          this.Parentcheck = item;
-        }
+        if (tab.name == item.proId) this.Parentcheck = item;
       });
 
-      this.$confirm(
-        "妫�娴嬪埌浣撴缁撴灉鏈彁浜わ紝鏄惁鍦ㄧ寮�璇ラ」鐩墠鎻愪氦淇敼锛�",
-        "纭淇℃伅",
-        {
-          distinguishCancelAndClose: true,
-          confirmButtonText: "鎻愪氦",
-          cancelButtonText: "涓嶄繚瀛橈紝绂诲紑",
-        }
-      )
+      this.$confirm("妫�娴嬪埌浣撴缁撴灉鏈彁浜わ紝鏄惁鍦ㄧ寮�璇ラ」鐩墠鎻愪氦淇敼锛�", "纭淇℃伅", {
+        distinguishCancelAndClose: true,
+        confirmButtonText: "鎻愪氦",
+        cancelButtonText: "涓嶄繚瀛橈紝绂诲紑",
+      })
         .then(() => {
-          // 浣撴鍙�
           let tjNumber = this.tableAll.tjNumber;
           this.userList.forEach((item) => {
-            if (this.doctorName == item.nickName) {
-              this.doctorName = item.userId;
-            }
+            if (this.doctorName == item.nickName) this.doctorName = item.userId;
           });
           this.proParentList.sons.forEach((item) => {
             if (this.rows) {
               this.rows.forEach((item1) => {
-                if (item1 === item) {
-                  item = item1;
-                }
+                if (item1 === item) item = item1;
               });
             }
             this.tjOrderDetail.push({
               proAdvice: item.proAdvice,
-
               proName: item.project.proName,
               proId: item.project.proId,
               orderDetailId: item.orderDetailId,
@@ -2002,349 +1736,41 @@
             });
           });
 
-          var data = [
-            {
-              tjNumber,
-              proId: this.proId,
-              remark: this.proParentList.remark, // 澶囨敞
-              proName: this.proName, //鐖堕」
-              summaryList: this.value, //灏忕粨
-              doctorName: this.doctorName,
-              tjOrderDetailList: this.tjOrderDetail,
-            },
-          ];
-          getaddRemark(data).then((res) => {
-            this.$modal.msgSuccess("鎻愪氦鎴愬姛");
-          });
-          this.proName = item.proName;
-          this.nums = tab.name;
-          this.proId = tab.name;
-          var data = {
-            tjNumber: this.tjNumber,
-            proParentId: this.nums,
-          };
-          this.loading = true;
-          getParentId(data).then((response) => {
-            this.proParentList = response.data;
-            this.value = [];
-            if (this.proParentList.xiaoJieIds != null) {
-              if (this.proParentList.xiaoJieIds.length != 0) {
-                this.proParentList.xiaoJieIds.forEach((item2) => {
-                  let item = Number(item2);
-                  this.value.push(item);
-                });
-              }
-            }
-            this.proParentList.sons.forEach((item) => {
-              this.doctorName = item.doctorName;
-              if (this.doctorName == null) {
-                this.userList.forEach((element) => {
-                  const userName = this.$store.state.user.name;
-                  if (userName == element.userName) {
-                    this.doctorName = element.nickName;
-                  }
-                });
-              }
-              if (item.isReturn == 1) {
-                item.isReturn = true;
-              }
-              if (item.isReturn == 0) {
-                item.isReturn = false;
-              }
-
-              if (item.exceptionDesc == "1") {
-                item.exceptionDesc = true;
-              }
-              if (item.exceptionDesc == "0") {
-                item.exceptionDesc = false;
-              }
-            });
-            if (this.proParentList.xiaoJie) {
-              if (this.proParentList.xiaoJie.length != 0) {
-                this.Parent.forEach((item3) => {
-                  if (item3.proId === tab.name) {
-                    this.remark = this.Parentcheck.remark;
-                  }
-                });
-              }
-            } else {
-              this.remark = "";
-            }
-          });
-
-          this.getbzlist();
-        })
-        .catch((action) => {
-          if (action === "cancel") {
-            this.$message({
-              type: "warning",
-              message: "鏀惧純淇濆瓨骞剁寮�",
-            });
-          }
-
+          var data = [{
+            tjNumber,
+            proId: this.proId,
+            remark: this.proParentList.remark,
+            proName: this.proName,
+            summaryList: this.value,
+            doctorName: this.doctorName,
+            tjOrderDetailList: this.tjOrderDetail,
+          }];
+          getaddRemark(data).then((res) => this.$modal.msgSuccess("鎻愪氦鎴愬姛"));
           this.proName = this.Parentcheck.proName;
           this.nums = tab.name;
           this.proId = tab.name;
-          let data = {
-            tjNumber: this.tjNumber,
-            proParentId: this.nums,
-          };
-          getParentId(data).then((response) => {
-            this.proParentList = response.data;
-            this.value = [];
-            if (this.proParentList.xiaoJieIds != null) {
-              if (this.proParentList.xiaoJieIds.length != 0) {
-                this.proParentList.xiaoJieIds.forEach((item2) => {
-                  let item = Number(item2);
-                  this.value.push(item);
-                });
-              }
-            }
-            this.proParentList.sons.forEach((item) => {
-              this.doctorName = item.doctorName;
-              if (this.doctorName == null) {
-                this.userList.forEach((element) => {
-                  const userName = this.$store.state.user.name;
-                  if (userName == element.userName) {
-                    this.doctorName = element.nickName;
-                  }
-                });
-              }
-              if (item.isReturn == 1) {
-                item.isReturn = true;
-              }
-              if (item.isReturn == 0) {
-                item.isReturn = false;
-              }
-
-              if (item.exceptionDesc == "1") {
-                item.exceptionDesc = true;
-              }
-              if (item.exceptionDesc == "0") {
-                item.exceptionDesc = false;
-              }
-            });
-            if (this.proParentList.xiaoJie) {
-              if (this.proParentList.xiaoJie.length != 0) {
-                this.Parent.forEach((item3) => {
-                  if (item3.proId === tab.name) {
-                    this.remark = this.Parentcheck.remark;
-                  }
-                });
-              }
-            } else {
-              this.remark = "";
-            }
-          });
-
-          this.getbzlist();
-        });
-    },
-
-    // 鎸夐挳鐐瑰嚮浜嬩欢
-    radioChange1(proParentId, item) {
-      this.Parentcheck = item;
-      this.$confirm(
-        "妫�娴嬪埌浣撴缁撴灉鏈彁浜わ紝鏄惁鍦ㄧ寮�璇ラ」鐩墠鎻愪氦淇敼锛�",
-        "纭淇℃伅",
-        {
-          distinguishCancelAndClose: true,
-          confirmButtonText: "鎻愪氦",
-          cancelButtonText: "涓嶄繚瀛橈紝绂诲紑",
-        }
-      )
-        .then(() => {
-          // 浣撴鍙�
-          let tjNumber = this.tableAll.tjNumber;
-          this.userList.forEach((item) => {
-            if (this.doctorName == item.nickName) {
-              this.doctorName = item.userId;
-            }
-          });
-          this.proParentList.sons.forEach((item) => {
-            if (this.rows) {
-              this.rows.forEach((item1) => {
-                if (item1 === item) {
-                  item = item1;
-                }
-                // if (item.isReturn == true) {
-                //   item.isReturn = 1;
-                // }
-                // if (item.isReturn == false) {
-                //   item.isReturn = 0;
-                // }
-              });
-            }
-            this.tjOrderDetail.push({
-              proAdvice: item.proAdvice,
-
-              proName: item.project.proName,
-              proId: item.project.proId,
-              orderDetailId: item.orderDetailId,
-              flowingWaterId: item.flowingWaterId,
-              proResult: item.proResult,
-              tjStatus: 1,
-              isReturn: item.isReturn === true ? 1 : 0,
-              exceptionDesc: item.exceptionDesc === true ? 1 : 0,
-              conclusion: item.conclusion,
-              rulesList: item.rulesList,
-            });
-          });
-
-          var data = [
-            {
-              tjNumber,
-              proId: this.proId,
-              remark: this.proParentList.remark, // 澶囨敞
-              proName: this.proName, //鐖堕」
-              summaryList: this.value, //灏忕粨
-              doctorName: this.doctorName,
-              tjOrderDetailList: this.tjOrderDetail,
-            },
-          ];
-          getaddRemark(data).then((res) => {
-            this.$modal.msgSuccess("鎻愪氦鎴愬姛");
-          });
-          this.proName = item.proName;
-          this.nums = proParentId;
-          this.proId = proParentId;
-          var data = {
-            tjNumber: this.tjNumber,
-            proParentId: this.nums,
-          };
-          getParentId(data).then((response) => {
-            this.proParentList = response.data;
-            this.value = [];
-            if (this.proParentList.xiaoJieIds != null) {
-              if (this.proParentList.xiaoJieIds.length != 0) {
-                this.proParentList.xiaoJieIds.forEach((item2) => {
-                  let item = Number(item2);
-                  this.value.push(item);
-                });
-              }
-            }
-            this.proParentList.sons.forEach((item) => {
-              this.doctorName = item.doctorName;
-              if (this.doctorName == null) {
-                this.userList.forEach((element) => {
-                  const userName = this.$store.state.user.name;
-                  if (userName == element.userName) {
-                    this.doctorName = element.nickName;
-                  }
-                });
-              }
-              if (item.isReturn == 1) {
-                item.isReturn = true;
-              }
-              if (item.isReturn == 0) {
-                item.isReturn = false;
-              }
-
-              if (item.exceptionDesc == "1") {
-                item.exceptionDesc = true;
-              }
-              if (item.exceptionDesc == "0") {
-                item.exceptionDesc = false;
-              }
-            });
-            if (this.proParentList.xiaoJie.length != 0) {
-              this.Parent.forEach((item3) => {
-                if (item3.proId === proParentId) {
-                  this.remark = item.remark;
-                }
-              });
-            } else {
-              this.remark = "";
-            }
-          });
-
+          this.getParentIdsss();
           this.getbzlist();
         })
         .catch((action) => {
-          if (action === "cancel") {
-            this.$message({
-              type: "warning",
-              message: "鏀惧純淇濆瓨骞剁寮�",
-            });
-          }
-          this.proName = item.proName;
-          this.nums = proParentId;
-          this.proId = proParentId;
-          let data = {
-            tjNumber: this.tjNumber,
-            proParentId: this.nums,
-          };
-          getParentId(data).then((response) => {
-            this.proParentList = response.data;
-            this.value = [];
-            if (this.proParentList.xiaoJieIds != null) {
-              if (this.proParentList.xiaoJieIds.length != 0) {
-                this.proParentList.xiaoJieIds.forEach((item2) => {
-                  let item = Number(item2);
-                  this.value.push(item);
-                });
-              }
-            }
-            this.proParentList.sons.forEach((item) => {
-              this.doctorName = item.doctorName;
-              if (this.doctorName == null) {
-                this.userList.forEach((element) => {
-                  const userName = this.$store.state.user.name;
-                  if (userName == element.userName) {
-                    this.doctorName = element.nickName;
-                  }
-                });
-              }
-              if (item.isReturn == 1) {
-                item.isReturn = true;
-              }
-              if (item.isReturn == 0) {
-                item.isReturn = false;
-              }
-
-              if (item.exceptionDesc == "1") {
-                item.exceptionDesc = true;
-              }
-              if (item.exceptionDesc == "0") {
-                item.exceptionDesc = false;
-              }
-            });
-            if (this.proParentList.xiaoJie.length != 0) {
-              this.Parent.forEach((item3) => {
-                if (item3.proId === proParentId) {
-                  this.remark = item.remark;
-                }
-              });
-            } else {
-              this.remark = "";
-            }
-          });
-
+          if (action === "cancel") this.$message({ type: "warning", message: "鏀惧純淇濆瓨骞剁寮�" });
+          this.proName = this.Parentcheck.proName;
+          this.nums = tab.name;
+          this.proId = tab.name;
+          this.getParentIdsss();
           this.getbzlist();
         });
     },
 
-    // 鐐瑰嚮纭
     determine() {
-      // 浣撴鍙�
       let tjNumber = this.tableAll.tjNumber;
       this.userList.forEach((item) => {
-        if (this.doctorName == item.nickName) {
-          this.doctorName = item.userId;
-        }
+        if (this.doctorName == item.nickName) this.doctorName = item.userId;
       });
       this.proParentList.sons.forEach((item) => {
         if (this.rows) {
           this.rows.forEach((item1) => {
-            if (item1 === item) {
-              item = item1;
-            }
-            // if (item.isReturn == true) {
-            //   item.isReturn = 1;
-            // }
-            // if (item.isReturn == false) {
-            //   item.isReturn = 0;
-            // }
+            if (item1 === item) item = item1;
           });
         }
         this.tjOrderDetail.push({
@@ -2362,17 +1788,15 @@
         });
       });
 
-      let data = [
-        {
-          tjNumber,
-          proId: this.proId,
-          remark: this.proParentList.remark, // 澶囨敞
-          proName: this.proName, //鐖堕」
-          summaryList: this.vaids1, //灏忕粨
-          doctorName: this.doctorName,
-          tjOrderDetailList: this.tjOrderDetail,
-        },
-      ];
+      let data = [{
+        tjNumber,
+        proId: this.proId,
+        remark: this.proParentList.remark,
+        proName: this.proName,
+        summaryList: this.vaids1,
+        doctorName: this.doctorName,
+        tjOrderDetailList: this.tjOrderDetail,
+      }];
       getaddRemark(data).then((res) => {
         this.$modal.msgSuccess("鎻愪氦鎴愬姛");
         this.drawer = false;
diff --git a/src/views/system/package/index.vue b/src/views/system/package/index.vue
index 8a46b9a..2a1edc4 100644
--- a/src/views/system/package/index.vue
+++ b/src/views/system/package/index.vue
@@ -1,106 +1,42 @@
 <template>
   <div class="app-container">
-    <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="pacName">
-        <el-input
-          v-model="queryParams.pacName"
-          placeholder="璇疯緭鍏ュ椁愬悕绉�"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+        <el-input v-model="queryParams.pacName" placeholder="璇疯緭鍏ュ椁愬悕绉�" clearable @keyup.enter.native="handleQuery" />
       </el-form-item>
       <el-form-item label="濂楅鎻忚堪" prop="pacRemark">
-        <el-input
-          v-model="queryParams.pacRemark"
-          placeholder="璇疯緭鍏ュ椁愭弿杩�"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+        <el-input v-model="queryParams.pacRemark" placeholder="璇疯緭鍏ュ椁愭弿杩�" clearable @keyup.enter.native="handleQuery" />
       </el-form-item>
       <el-form-item label="浣撴绫诲埆" prop="tjCategory">
-        <el-select
-          v-model="queryParams.tjCategory"
-          placeholder="璇烽�夋嫨鐘舵��"
-          style="width: 200px"
-          filterable
-          clearable
-        >
-          <el-option
-            v-for="dict in dict.type.dict_tjtype"
-            :key="dict.id"
-            :label="dict.label"
-            :value="dict.value"
-          ></el-option>
+        <el-select v-model="queryParams.tjCategory" placeholder="璇烽�夋嫨鐘舵��" style="width: 200px" filterable clearable>
+          <el-option v-for="dict in dict.type.dict_tjtype" :key="dict.id" :label="dict.label"
+            :value="dict.value"></el-option>  
         </el-select>
       </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-row :gutter="10" class="mb8">
       <el-col :span="1.5">
-        <el-button
-          type="primary"
-          icon="el-icon-plus"
-          size="mini"
-          @click="handleAdd"
-          v-hasPermi="['system:package:add']"
-          >鏂板</el-button
-        >
+        <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd"
+          v-hasPermi="['system:package:add']">鏂板</el-button>
       </el-col>
       <el-col :span="1.5">
-        <el-button
-          type="primary"
-          icon="el-icon-edit"
-          size="mini"
-          :disabled="single"
-          @click="handleUpdate"
-          v-hasPermi="['system:package:edit']"
-          >淇敼</el-button
-        >
+        <el-button type="primary" icon="el-icon-edit" size="mini" :disabled="single" @click="handleUp"
+          v-hasPermi="['system:package:edit']">淇敼</el-button>
       </el-col>
       <el-col :span="1.5">
-        <el-button
-          type="primary"
-          icon="el-icon-delete"
-          size="mini"
-          :disabled="multiple"
-          @click="handleDelete"
-          v-hasPermi="['system:package:remove']"
-          >鍒犻櫎</el-button
-        >
+        <el-button type="primary" icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
+          v-hasPermi="['system:package:remove']">鍒犻櫎</el-button>
       </el-col>
       <el-col :span="1.5">
-        <el-button
-          type="primary"
-          icon="el-icon-download"
-          size="mini"
-          @click="handleExport"
-          v-hasPermi="['system:package:export']"
-          >瀵煎嚭</el-button
-        >
+        <el-button type="primary" icon="el-icon-download" size="mini" @click="handleExport"
+          v-hasPermi="['system:package:export']">瀵煎嚭</el-button>
       </el-col>
-      <right-toolbar
-        :showSearch.sync="showSearch"
-        @queryTable="getList"
-      ></right-toolbar>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
     <!-- 
@@ -108,77 +44,22 @@
     element-loading-spinner="el-icon-loading"
         element-loading-text="姝e湪鍔犺浇涓�..." -->
     <template>
-      <el-table
-        v-loading="loading"
-        style="width: 100%"
-        :data="packageList"
-        @selection-change="handleSelectionChange"
-        border
-      >
-        <el-table-column
-          fixed
-          type="selection"
-          width="40"
-          align="center"
-          :show-overflow-tooltip="true"
-        />
-        <el-table-column
-          label="搴忓彿"
-          align="center"
-          width="50"
-          prop="newID"
-          fixed
-        />
+      <el-table v-loading="loading" style="width: 100%" :data="packageList" @selection-change="handleSelectionChange"
+        border>
+        <el-table-column fixed type="selection" width="40" align="center" :show-overflow-tooltip="true" />
+        <el-table-column label="搴忓彿" align="center" width="50" prop="newID" fixed />
         <!-- <el-table-column label="缂栧彿" align="center" prop="pacId" /> -->
-        <el-table-column
-          label="浣撴绫诲埆"
-          width="100px"
-          align="center"
-          prop="categoryNames"
-          fixed
-        >
+        <el-table-column label="浣撴绫诲埆" width="100px" align="center" prop="categoryNames" fixed>
           <template slot-scope="scope">
-            <dict-tag
-              :options="dict.type.dict_tjtype"
-              :value="scope.row.tjCategory"
-            />
+            <dict-tag :options="dict.type.dict_tjtype" :value="scope.row.tjCategory" />
           </template>
         </el-table-column>
-        <el-table-column
-          label="濂楅鍚嶇О"
-          align="center"
-          prop="pacName"
-          width="150px"
-          fixed
-        />
-        <el-table-column
-          label="鍘熶环"
-          width="80px"
-          align="center"
-          prop="price"
-          fixed
-        ></el-table-column>
-        <el-table-column
-          label="鎶樻墸"
-          width="80px"
-          align="center"
-          prop="limits"
-          fixed
-        ></el-table-column>
-        <el-table-column
-          label="浼樻儬浠�"
-          width="80px"
-          align="center"
-          prop="newPrice"
-          fixed
-        >
+        <el-table-column label="濂楅鍚嶇О" align="center" prop="pacName" width="150px" fixed />
+        <el-table-column label="鍘熶环" width="80px" align="center" prop="price" fixed></el-table-column>
+        <el-table-column label="鎶樻墸" width="80px" align="center" prop="limits" fixed></el-table-column>
+        <el-table-column label="鐜颁环" width="80px" align="center" prop="newPrice" fixed>
         </el-table-column>
-        <el-table-column
-          label="鍗曢」鍒楄〃"
-          align="center"
-          prop="allProName"
-          width="1200px"
-        >
+        <el-table-column label="鍗曢」鍒楄〃" align="center" prop="allProName" width="1200px">
         </el-table-column>
         <!-- <el-table-column
           label="椤圭洰鏄庣粏"
@@ -187,12 +68,7 @@
           :show-overflow-tooltip="true"
         > 
         </el-table-column>-->
-        <el-table-column
-          label="濂楅鎻忚堪"
-          align="center"
-          :show-overflow-tooltip="true"
-          width="120px"
-        >
+        <el-table-column label="濂楅鎻忚堪" align="center" :show-overflow-tooltip="true" width="120px">
           <template slot-scope="scope">
             <div class="showInline">{{ scope.row.pacRemark }}</div>
           </template>
@@ -209,23 +85,10 @@
           </template>
         </el-table-column> -->
 
-        <el-table-column
-          label="鍏抽敭瀛�"
-          width="110px"
-          align="center"
-          prop="keyNames"
-        ></el-table-column>
-        <el-table-column
-          label="鏄惁涓婃灦"
-          width="94px"
-          align="center"
-          prop="isOnSale"
-        >
+        <el-table-column label="鍏抽敭瀛�" width="110px" align="center" prop="keyNames"></el-table-column>
+        <el-table-column label="鏄惁涓婃灦" width="94px" align="center" prop="isOnSale">
           <template slot-scope="scope">
-            <dict-tag
-              :options="dict.type.sys_yes_no"
-              :value="scope.row.isOnSale"
-            />
+            <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isOnSale" />
           </template>
         </el-table-column>
         <!-- <el-table-column
@@ -235,70 +98,27 @@
           align="center"
           prop="detail"
         ></el-table-column> -->
-        <el-table-column
-          label="鎺掑簭"
-          width="50px"
-          align="center"
-          prop="sort"
-        ></el-table-column>
-        <el-table-column
-          label="灏忕▼搴忎环鏍�"
-          width="90px"
-          align="center"
-          prop="retailPrice"
-        ></el-table-column>
+        <el-table-column label="鎺掑簭" width="50px" align="center" prop="sort"></el-table-column>
+        <el-table-column label="灏忕▼搴忎环鏍�" width="90px" align="center" prop="retailPrice"></el-table-column>
         <!-- <el-table-column
           label="鍘熶环"
           width="90px"
           align="center"
           prop="counterPrice"
         ></el-table-column> -->
-        <el-table-column
-          label="宸插敭鏁伴噺"
-          width="90px"
-          align="center"
-          prop="saleNum"
-        ></el-table-column>
-        <el-table-column
-          label="鐘舵��"
-          align="center"
-          prop="pacStatus"
-          fixed="right"
-          width="100px"
-        >
+        <el-table-column label="宸插敭鏁伴噺" width="90px" align="center" prop="saleNum"></el-table-column>
+        <el-table-column label="鐘舵��" align="center" prop="pacStatus" fixed="right" width="100px">
           <template slot-scope="scope">
-            <el-switch
-              v-model="scope.row.pacStatus"
-              active-value="0"
-              inactive-value="1"
-              @change="handleStatusChange(scope.row)"
-            ></el-switch>
+            <el-switch v-model="scope.row.pacStatus" active-value="0" inactive-value="1"
+              @change="handleStatusChange(scope.row)"></el-switch>
           </template>
         </el-table-column>
-        <el-table-column
-          label="鎿嶄綔"
-          align="center"
-          width="80px"
-          fixed="right"
-          class-name="small-padding fixed-width"
-        >
+        <el-table-column label="鎿嶄綔" align="center" width="80px" fixed="right" class-name="small-padding fixed-width">
           <template slot-scope="scope">
-            <el-button
-              size="mini"
-              type="text"
-              icon="el-icon-edit"
-              @click="handleUpdate(scope.row)"
-              v-hasPermi="['system:package:edit']"
-              title="淇敼"
-            ></el-button>
-            <el-button
-              size="mini"
-              type="text"
-              icon="el-icon-delete"
-              @click="handleDelete(scope.row)"
-              v-hasPermi="['system:package:remove']"
-              title="鍒犻櫎"
-            ></el-button>
+            <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
+              v-hasPermi="['system:package:edit']" title="淇敼"></el-button>
+            <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
+              v-hasPermi="['system:package:remove']" title="鍒犻櫎"></el-button>
             <!-- <el-button size="mini" type="text" icon="el-icon-circle-check" @click="handleSeach(scope.row)"
               v-hasPermi="['system:package:Seach']" title="濂楅璇︽儏"></el-button> -->
           </template>
@@ -307,66 +127,31 @@
 
       <div class="pag">
         <div class="pag1">
-          <pagination
-            v-show="total > 0"
-            :total="total"
-            :page.sync="queryParams.pageNum"
-            :limit.sync="queryParams.pageSize"
-            @pagination="getList"
-          />
+          <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
+            :limit.sync="queryParams.pageSize" @pagination="getList" />
         </div>
       </div>
     </template>
 
     <!-- 淇敼浣撴濂楅瀵硅瘽妗� -->
-    <el-dialog
-      :title="title"
-      :visible.sync="open"
-      width="1400px"
-      append-to-body
-      :close-on-click-modal="false"
-    >
-      <el-form
-        ref="form"
-        :model="form"
-        :rules="rules"
-        label-width="100px"
-        :inline="true"
-      >
+    <el-dialog :title="title" :visible.sync="open" width="1400px" append-to-body :close-on-click-modal="false">
+      <el-form ref="form" :model="form" :rules="rules" label-width="100px" :inline="true">
         <!-- <div class="dialo">
         <div class="dialo1"> -->
         <el-form-item label="濂楅鍚嶇О" prop="pacName">
-          <span
-            slot="label"
-            style="display: inline-block; border-bottom: 2px solid blue"
-            @click="handlePackage"
-          >
+          <span slot="label" style="display: inline-block; border-bottom: 2px solid blue" @click="handlePackage">
             濂楅鍚嶇О
           </span>
-          <el-input
-            v-model="form.pacName"
-            placeholder="璇疯緭鍏ュ椁愬悕绉�"
-            style="width: 150px"
-          />
+          <el-input v-model="form.pacName" placeholder="璇疯緭鍏ュ椁愬悕绉�" style="width: 150px" />
         </el-form-item>
         <el-form-item label="濂楅鐘舵��" prop="pacStatus">
           <!-- <el-radio-group v-model="form.pacStatus">
               <el-radio :label="0">鍚敤</el-radio>
               <el-radio :label="1">鍋滅敤</el-radio>
             </el-radio-group> -->
-          <el-select
-            v-model="form.pacStatus"
-            placeholder="璇烽�夋嫨鐘舵��"
-            style="width: 150px"
-            filterable
-            clearable
-          >
-            <el-option
-              v-for="dict in dict.type.sys_normal_disable"
-              :key="dict.value"
-              :label="dict.label"
-              :value="dict.value"
-            ></el-option>
+          <el-select v-model="form.pacStatus" placeholder="璇烽�夋嫨鐘舵��" style="width: 150px" filterable clearable>
+            <el-option v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.label"
+              :value="dict.value"></el-option>
           </el-select>
         </el-form-item>
 
@@ -377,7 +162,7 @@
             style="width: 150px"
             @change="shangpin"
             filterable
-            clearable
+            clearablez
           >
             <el-option
               v-for="item in categoryList"
@@ -388,19 +173,9 @@
           </el-select>
         </el-form-item> -->
         <el-form-item label="浣撴绫诲埆" prop="tjCategory">
-          <el-select
-            v-model="form.tjCategory"
-            placeholder="璇烽�夋嫨浣撴绫诲埆"
-            style="width: 150px"
-            filterable
-            clearable
-          >
-            <el-option
-              v-for="dict in dict.type.dict_tjtype"
-              :key="dict.value"
-              :label="dict.label"
-              :value="dict.value"
-            ></el-option>
+          <el-select v-model="form.tjCategory" placeholder="璇烽�夋嫨浣撴绫诲埆" style="width: 150px" filterable clearable>
+            <el-option v-for="dict in dict.type.dict_tjtype" :key="dict.value" :label="dict.label"
+              :value="dict.value"></el-option>
           </el-select>
         </el-form-item>
 
@@ -409,93 +184,42 @@
               <el-radio :label="0">鍚敤</el-radio>
               <el-radio :label="1">鍋滅敤</el-radio>
             </el-radio-group> -->
-          <el-select
-            v-model="form.isOnSale"
-            placeholder="璇烽�夋嫨鏄惁涓婃灦"
-            style="width: 140px"
-            filterable
-            clearable
-          >
-            <el-option
-              v-for="dict in dict.type.sys_yes_no"
-              :key="dict.value"
-              :label="dict.label"
-              :value="dict.value"
-            ></el-option>
+          <el-select v-model="form.isOnSale" placeholder="璇烽�夋嫨鏄惁涓婃灦" style="width: 140px" filterable clearable>
+            <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label"
+              :value="dict.value"></el-option>
           </el-select>
         </el-form-item>
 
         <el-form-item label="鎺掑簭" prop="sort">
-          <el-input
-            v-model="form.sort"
-            placeholder="璇疯緭鍏ユ帓搴�"
-            style="width: 150px"
-          />
+          <el-input v-model="form.sort" placeholder="璇疯緭鍏ユ帓搴�" style="width: 150px" />
         </el-form-item>
         <el-form-item label="灏忕▼搴忎环鏍�" prop="retailPrice">
-          <el-input
-            v-model="form.retailPrice"
-            placeholder="璇疯緭鍏ュ皬绋嬪簭浠锋牸"
-            style="width: 150px"
-          />
+          <el-input v-model="form.retailPrice" placeholder="璇疯緭鍏ュ皬绋嬪簭浠锋牸" style="width: 150px" />
         </el-form-item>
         <el-form-item label="鍘熶环" prop="pics">
-          <el-input
-            v-model="pics"
-            placeholder="璇疯緭鍏ュ師浠�"
-            style="width: 150px"
-          />
+          <el-input v-model="pics" placeholder="璇疯緭鍏ュ師浠�" style="width: 150px" />
         </el-form-item>
         <el-form-item label="鎶樻墸">
-          <el-input-number
-            ref="inputNumber"
-            style="width: 150px"
-            v-model="youhui"
-            :precision="2"
-            :step="0.1"
-            :max="10"
-            :min="1"
-            @change="numberChange"
-          ></el-input-number>
+          <el-input-number style="width: 150px" v-model="youhui" :precision="2" :step="0.1" :max="10" :min="0.1"
+          @change="debounceNumberChange" :debounce="3000"></el-input-number>
         </el-form-item>
-        <el-form-item label="浼樻儬浠�">
-          <el-input
-            ref="inputName"
-            v-model="form.xianprice"
-            placeholder="浼樻儬浠�"
-            clearable
-            style="width: 140px"
-          />
+
+        <el-form-item label="鐜颁环" prop="xianprice">
+          <el-input v-model="form.xianprice" placeholder="鐜颁环" clearable style="width: 140px" @input="changeXianjia"
+            @blur="numberChangeXianPrice(youhui, youhui)" type="number" :debounce="3000"/>
         </el-form-item>
         <el-form-item label="鍏抽敭瀛�" prop="keywords">
-          <el-select
-            multiple
-            v-model="form.keywords"
-            placeholder="璇烽�夋嫨鍏抽敭瀛�"
-            style="width: 160px"
-            @change="sel"
-            filterable
-            clearable
-          >
-            <el-option
-              v-for="item in keywordList"
-              :key="item.id"
-              :label="item.keyword"
-              :value="item.id"
-            ></el-option>
+          <el-select multiple v-model="form.keywords" placeholder="璇烽�夋嫨鍏抽敭瀛�" style="width: 160px" @change="sel" filterable
+            clearable>
+            <el-option v-for="item in keywordList" :key="item.id" :label="item.keyword" :value="item.id"></el-option>
           </el-select>
         </el-form-item>
 
         <div v-if="!isCollapsed" style="display: flex">
           <div>
             <el-form-item label="濂楅鎻忚堪" prop="pacRemark">
-              <el-input
-                type="textarea"
-                v-model="form.pacRemark"
-                placeholder="璇疯緭鍏ュ椁愭弿杩�"
-                style="width: 670px"
-                rows="2"
-              ></el-input>
+              <el-input type="textarea" v-model="form.pacRemark" placeholder="璇疯緭鍏ュ椁愭弿杩�" style="width: 670px"
+                rows="2"></el-input>
             </el-form-item>
             <el-form-item label="璇︾粏浠嬬粛" prop="detail">
               <!-- <el-input
@@ -503,11 +227,7 @@
             placeholder="璇疯緭鍏ヨ缁嗕粙缁�"
             style="width: 200px"
           /> -->
-              <editor
-                v-model="form.detail"
-                :min-height="192"
-                style="width: 670px"
-              />
+              <editor v-model="form.detail" :min-height="192" style="width: 670px" />
             </el-form-item>
           </div>
           <!-- </div> -->
@@ -554,40 +274,17 @@
 
       <el-row style="display: flex; width: 1300px">
         <el-col>
-          <div
-            style="text-align: center; margin-bottom: 10px; margin-top: 10px"
-          >
+          <div style="text-align: center; margin-bottom: 10px; margin-top: 10px">
             椤圭洰鍒楄〃
           </div>
-          <el-input
-            placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�"
-            @input="handleFilterInput"
-            v-model="queryParams1.nr"
-            clearable
-          />
+          <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" @input="handleFilterInput" v-model="queryParams1.nr" clearable />
           <div class="tab3" style="height: 365px">
-            <el-tree
-              class="filter-tree"
-              v-loading="loading"
-              :data="Treedata"
-              :props="defaultProps"
-              show-checkbox
-              node-key="proId"
-              @check-change="handleCurrentChecked"
-              :default-checked-keys="checkedkey"
-              :filter-node-method="filterNode"
-              ref="tree"
-              :render-content="renderContent"
-            >
+            <el-tree class="filter-tree" v-loading="loading" :data="Treedata" :props="defaultProps" show-checkbox
+              node-key="proId" @check-change="handleCurrentChecked" :default-checked-keys="checkedkey"
+              :filter-node-method="filterNode" ref="tree" :render-content="renderContent">
             </el-tree>
-            <pagination
-              small
-              v-show="total1 > 0"
-              :total="total1"
-              :page.sync="queryParams1.page"
-              :limit.sync="queryParams1.pageSize"
-              @pagination="getDataList"
-            />
+            <pagination small v-show="total1 > 0" :total="total1" :page.sync="queryParams1.page"
+              :limit.sync="queryParams1.pageSize" @pagination="getDataList" />
           </div>
         </el-col>
         <!--  <el-col :span="6">
@@ -615,65 +312,34 @@
         </el-col> -->
         <el-col>
           <div class="grid-content bg-purple">
-            <div
-              style="
+            <div style="
                 text-align: center;
                 margin-bottom: 10px;
                 margin-top: 10px;
                 margin-left: 8%;
-              "
-            >
+              ">
               宸查�夐」鐩垪琛�
             </div>
-            <el-table
-              :data="DataList"
-              border
-              style="width: 90%; margin-left: 20px"
-              height="400"
-              :span-method="objectSpanMethod"
-            >
+            <el-table :data="DataList" border style="width: 90%; margin-left: 20px" height="400"
+              :span-method="objectSpanMethod">
               <el-table-column prop="proName" label="妫�鏌ラ」鐩�">
               </el-table-column>
 
-              <el-table-column
-                prop="priceOrd"
-                label="鍘熶环"
-                align="center"
-                width="80px"
-              >
+              <el-table-column prop="priceOrd" label="鍘熶环" align="center" width="80px">
               </el-table-column>
               <el-table-column label="鎶樻墸" width="100px">
                 <template slot-scope="scope">
                   <!-- 鍙緭鍏ョ函鏁板瓧鎶樻墸 -->
-                  <el-input
-                    v-model.number="scope.row.limits"
-                    @input="calculateDiscount(scope.row)"
-                    placeholder="杈撳叆鎶樻墸"
-                    size="small"
-                    type="number"
-                    min="0"
-                    step="0.1"
-                    max="10"
-                  >
+                  <el-input v-model.number="scope.row.limits" @input="calculateDiscount(scope.row)" placeholder="杈撳叆鎶樻墸"
+                    size="small" type="number" min="0" step="0.1" max="10">
                   </el-input>
                 </template>
               </el-table-column>
-              <el-table-column
-                prop="priceNow"
-                label="浼樻儬浠�"
-                width="80px"
-                align="center"
-              >
+              <el-table-column prop="priceNow" label="鐜颁环" width="80px" align="center">
               </el-table-column>
               <el-table-column label="鎿嶄綔" align="center" width="80px">
                 <template slot-scope="scope">
-                  <el-button
-                    size="mini"
-                    type="text"
-                    icon="el-icon-delete"
-                    @click="handleDelete1(scope.row)"
-                    title="鍒犻櫎"
-                  >
+                  <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete1(scope.row)" title="鍒犻櫎">
                   </el-button>
                 </template>
               </el-table-column>
@@ -698,10 +364,7 @@
                 </template> 
               </el-table-column>-->
             </el-table>
-            <!-- 娣诲姞椤圭洰鎬绘暟鏄剧ず -->
-            <div style="margin-top: 10px; text-align: right;font-size: 14px">
-              鍏辫 <span style="font-weight: bold;">{{ DataList.length }}</span> 鏉¢」鐩�
-            </div>
+            <h4 style="font-weight: 600;padding-left:20px">涓�鍏遍�変腑{{DataList.length}}椤癸紝鍚堣锛歿{ form.xianprice }}鍏�</h4>
           </div>
         </el-col>
       </el-row>
@@ -736,12 +399,7 @@
 import Packages from "@/components/Packages";
 import { listCategory } from "@/api/mall/category";
 import { listKeyword } from "@/api/mall/keyword";
-// import { getProParentIdDxList, getProSonDxList } from "@/api/system/tijian";
-import {
-  getProParentIdDxList,
-  search,
-  getProSonDxList,
-} from "@/api/system/package";
+import { getProParentIdDxList, search, getProSonDxList } from "@/api/system/package";
 import {
   getPacList,
   getPacInFo,
@@ -758,22 +416,13 @@
   saveOreditTjPacNew,
 } from "@/api/system/package";
 import { Message } from "element-ui";
-import Big from "big.js";
+import Big from 'big.js';
+
 export default {
   name: "Package",
   dicts: ["sys_normal_disable", "sys_yes_no", "dict_tjtype"],
   components: { Packages },
   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 {
       pics: 0,
       filterText: "",
@@ -792,48 +441,33 @@
         children: [],
         label: "proName",
       },
-      isCollapsed: true, // 榛樿涓烘姌鍙犵姸鎬�
+      isCollapsed: true,
       categoryList: [],
       keys: "",
       keywordList: [],
       dataListAll: [],
-      // 澶氶�夋
       priceNow: "",
       checkAll: false,
       isIndeterminate: true,
-      // 閬僵灞�
       loading: false,
       radio: 3,
-      // 閫変腑鏁扮粍
       ids: [],
-      // 闈炲崟涓鐢�
       single: true,
-      // 闈炲涓鐢�
       multiple: true,
-      // 鏄剧ず鎼滅储鏉′欢
       showSearch: true,
-      // 浣撴濂楅琛ㄦ牸鏁版嵁
       packageList: [],
-      // 濂楅閫変腑鐨勭埗椤�
       allpackageList: [],
-      // 宸查��
       newproName: [],
-      // 鎵�鏈変綋妫�椤圭洰路
       allList: [],
       treeList: [],
-      // 鎵�鏈夊椁愭暟鎹�
-      // allpackage:[],
-      // 寮瑰嚭灞傛爣棰�
       title: "",
-      // 鏄惁鏄剧ず寮瑰嚭灞�
+      lastXianPrice: 0,
       open: false,
       Seachopen: false,
       checkedNodes: [],
       pacId: "",
-      // 鎬绘潯鏁�
       total: 0,
       total1: 0,
-      // 鏌ヨ鍙傛暟
       queryParams: {
         pageNum: 1,
         pageSize: 10,
@@ -845,364 +479,29 @@
         pageSize: 30,
         nr: "",
       },
-      // 琛ㄥ崟鍙傛暟
       form: {
-        xianprice: null, // 浼樻儬浠�
-        counterPrice: null, //鍘熶环
+        xianprice: null,
+        counterPrice: null,
         limits: 10,
       },
       forms: {},
       youhui: 10,
-      // 琛ㄥ崟鏍¢獙
-      rules: {
-        deleted: [
-          { required: true, validator: checkPhoneNum, trigger: "blur" },
-        ],
-        pacName: [
-          { required: true, validator: checkPhoneNum, trigger: "blur" },
-        ],
-        pacStatus: [
-          { required: true, validator: checkPhoneNum, trigger: "change" },
-        ],
-        // categoryId: [
-        //   { required: true, validator: checkPhoneNum, trigger: "change" },
-        // ],
-        /*  keywords: [
-          { required: true, validator: checkPhoneNum, trigger: "change" },
-        ], */
-        isOnSale: [
-          { required: true, validator: checkPhoneNum, trigger: "change" },
-        ],
-        sort: [{ required: true, validator: checkPhoneNum, trigger: "blur" }],
-        retailPrice: [
-          { required: true, validator: checkPhoneNum, trigger: "blur" },
-        ],
-        counterPrice: [
-          { required: true, validator: checkPhoneNum, trigger: "blur" },
-        ],
-        tjCategory: [
-          { required: true, validator: checkPhoneNum, trigger: "blur" },
-        ],
-      },
+      debounceTimer: null,
+      rules: {},
     };
   },
-  // watch: {
-  //   filterText(val) {
-  //     this.$refs.tree.filter(val);
-  //   },
-  // },
-
   created() {
     this.getList();
     this.getKeyword();
     this.getCategory();
   },
   methods: {
-    toggleCollapse() {
-      this.isCollapsed = !this.isCollapsed; // 鐐瑰嚮鎸夐挳鏃跺垏鎹sCollapsed鐨勫��
+    debounceNumberChange(currentValue, oldValue) {
+      clearTimeout(this.debounceTimer);
+      this.debounceTimer = setTimeout(() => {
+        this.numberChange(currentValue, oldValue);
+      }, 300);
     },
-    filterNode(value, data) {
-      if (!value) return true;
-      // return data.proName.indexOf(value) !== -1;
-      if (data.proName.indexOf(value) !== -1) {
-        return data.proName.indexOf(value) !== -1;
-      } else {
-        return data.proEngName.indexOf(value) !== -1;
-      }
-    },
-    /** 鏌ヨ浣撴濂楅鍒楄〃 */
-    getList() {
-      this.loading = true;
-      getPacTjProjectList().then((response) => {
-        this.allList = response.data;
-        if (this.allList.proStatus === 0) {
-          this.allList.proStatus = "鍚敤";
-        } else {
-          this.allList.proStatus = "鍋滅敤";
-        }
-        this.loading = false;
-      });
-      getPacList(this.queryParams).then((response) => {
-        response.rows.forEach((item, index) => {
-          item.newID =
-            (this.queryParams.pageNum - 1) * this.queryParams.pageSize +
-            index +
-            1;
-        });
-        this.total = response.total;
-        this.packageList = response.rows;
-        this.loading = false;
-      });
-    },
-
-    /** 鏌ヨ鍏抽敭瀛楀垪琛� */
-    getKeyword() {
-      this.loading = true;
-      listKeyword(this.queryParams).then((response) => {
-        this.keywordList = response.rows;
-      });
-    },
-    sel(val) {
-      let id = val;
-      this.keys = "";
-      id.forEach((item) => {
-        this.keys += item + ",";
-      });
-    },
-    /** 鏌ヨ绫荤洰鍒楄〃 */
-    getCategory() {
-      this.loading = true;
-      listCategory(this.queryParams).then((response) => {
-        this.categoryList = response.rows;
-        console.log(this.categoryList, 9988);
-      });
-    },
-    shangpin(vals) {},
-    // 鍙栨秷鎸夐挳
-    cancel() {
-      this.open = false;
-      this.Seachopen = false;
-      this.reset();
-    },
-    // 琛ㄥ崟閲嶇疆
-    reset() {
-      this.form = {
-        pacId: null,
-        pacName: null,
-        pacRemark: null,
-        createBy: null,
-        createTime: null,
-        updateBy: null,
-        updateTime: null,
-        deleted: null,
-        allSonName: null,
-        allProName: null,
-        priceNow: null,
-        proId: null,
-        // pacStatus: "鍚敤",
-      };
-      this.resetForm("form");
-    },
-    /** 鎼滅储鎸夐挳鎿嶄綔 */
-    handleQuery() {
-      this.queryParams.pageNum = 1;
-      this.getList();
-    },
-
-    handlePackage() {
-      this.$refs.aaa.open = true;
-      this.$refs.aaa.getList();
-      this.$refs.aaa.title = "濂楅瀛楀吀";
-    },
-    handleChanges(param1) {
-      this.form.pacName = param1[0].pacName;
-      this.form.hisPacId = param1[0].pacId;
-      if (param1[0].price) {
-        this.form.counterPrice = param1[0].price;
-        this.form.retailPrice = param1[0].price;
-      }
-    },
-    /** 閲嶇疆鎸夐挳鎿嶄綔 */
-    resetQuery() {
-      this.resetForm("queryForm");
-      this.handleQuery();
-    },
-    // 澶氶�夋閫変腑鏁版嵁
-    handleSelectionChange(selection) {
-      if (!selection[0]) {
-        return;
-      }
-      this.forms = selection[0];
-      this.ids = selection.map((item) => item.pacId);
-      this.single = selection.length !== 1;
-      this.multiple = !selection.length;
-    },
-    /** 鏂板鎸夐挳鎿嶄綔 */
-    handleAdd() {
-      this.reset();
-      this.open = true;
-      this.title = "浣撴濂楅淇℃伅缁存姢";
-      this.DataList = [];
-      this.checkedkey = [];
-      this.checkedListkey = [];
-      this.getDataList();
-      // getAllList().then((response) => {
-      //   this.allList = response.data;
-      //   if (this.allList.proStatus === 0) {
-      //     this.allList.proStatus = "鍚敤";
-      //   } else {
-      //     this.allList.proStatus = "鍋滅敤";
-      //   }
-      //   this.loading = false;
-      // });
-      // if (!this.form.tjProjectList) {
-      //     this.form.tjProjectList = []
-      //     this.form.tjProjectList.push({
-      //       id: parseInt(length),
-      //       proName: "",
-      //       allSonProName: "",
-      //       proPrice: "",
-      //       priceNow: "",
-      //       proId: "",
-      //       Selection,
-      //     });
-      //   }
-    },
-
-    // 鏄惁鍚敤
-    handleStatusChange(row) {
-      let data = {
-        pacId: row.pacId,
-        pacStatus: row.pacStatus,
-      };
-      let text = row.pacStatus === "0" ? "鍚敤" : "鍋滅敤";
-      this.$confirm("纭瑕�" + text + row.pacName + "濂楅鍚楋紵")
-        .then(function () {
-          return updateStatus(data);
-        })
-        .then(() => {
-          this.msgSuccess(text + "鎴愬姛");
-        })
-        .catch(function () {
-          row.pacStatus = row.pacStatus === "0" ? "0" : "1";
-        });
-    },
-
-    /** 淇敼鎸夐挳鎿嶄綔 */
-    handleUpdate(row) {
-      this.title = "浣撴濂楅淇℃伅缁存姢";
-      this.open = true;
-      // 閲嶇疆鏁版嵁
-      this.DataList = [];
-      this.checkedkey = [];
-      this.checkedListkey = [];
-      this.checkedNodes = []; // 娣诲姞杩欒锛岄噸缃�変腑鑺傜偣
-
-      getPacInFo(row.pacId).then((response) => {
-        this.form = response.data;
-        
-        // 澶勭悊鍏抽敭瀛�
-        if (this.form.keywords) {
-          this.form.keywords = this.form.keywords.slice(0, -1);
-          this.form.keywords = this.form.keywords.split(",");
-        }
-
-        // 澶勭悊椤圭洰鏁版嵁
-        if (response.data.packageProjects && response.data.packageProjects.length > 0) {
-          this.DataList = response.data.packageProjects;
-          
-          // 鏇存柊閫変腑鐘舵��
-          this.DataList.forEach((item) => {
-            this.checkedkey.push(item.proId);
-            this.checkedListkey.push(item.proId);
-            this.checkedNodes.push(item.proId); // 娣诲姞鍒伴�変腑鑺傜偣鏁扮粍
-          });
-
-          // 璁$畻鎬讳环鍜屾姌鎵�
-          this.pics = this.DataList.reduce((total, item) => total + item.priceOrd, 0);
-          this.form.xianprice = this.DataList.reduce((total, item) => total + item.priceNow, 0);
-          this.youhui = this.DataList[0]?.limits || 10;
-        }
-
-        // 鑾峰彇鏂扮殑鏁版嵁鍒楄〃
-        this.getDataList();
-      });
-    },
-
-    // 鏂板琛�
-    addmembers() {
-      if (this.form.pacName) {
-        if (!this.form.tjProjectList) {
-          this.form.tjProjectList = [];
-          this.form.tjProjectList.push({
-            id: parseInt(length),
-            proName: "",
-            allSonProName: "",
-            proPrice: "",
-            priceNow: "",
-            proId: "",
-            Selection,
-          });
-        } else {
-          this.form.tjProjectList.push({
-            id: parseInt(length),
-            proName: "",
-            allSonProName: "",
-            proPrice: "",
-            priceNow: "",
-            proId: "",
-            Selection,
-          });
-        }
-      } else {
-        Message.warning("璇峰厛濉啓濂楅鍚嶇О");
-      }
-      this.$forceUpdate();
-    },
-
-    // 鍒犻櫎琛�
-    Delete(index) {
-      if (this.form.tjProjectList.length == 0) {
-        this.$alert("璇峰厛閫夋嫨瑕佸垹闄ょ殑鏁版嵁", "鎻愮ず", {
-          confirmButtonText: "纭畾",
-        });
-      } else {
-        this.form.tjProjectList.splice(index, 1);
-      }
-    },
-
-    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
-    handleDelete1(row) {
-      this.DataList = this.DataList.filter((item) => item.proId !== row.proId);
-      // 浠� checkedNodes 涓Щ闄�
-      const index = this.checkedNodes.indexOf(row.proId);
-      if (index > -1) {
-        this.checkedNodes.splice(index, 1);
-      }
-      const tree = this.$refs.tree;
-      const node = tree.getNode(row.proId);
-      if (node) {
-        node.setChecked(false);
-      }
-      this.updateTotalPrice();
-    },
-    getSelectValue(val) {
-      this.form.tjProjectList.forEach((formitem) => {
-        if (formitem.proName == val) {
-          formitem.allSonProName = "";
-          this.allList.find((item) => {
-            if (item.proName == val) {
-              formitem.proId = item.proId;
-              formitem.proPrice = item.proPrice;
-              formitem.priceNow = item.proPrice;
-              formitem.allSonProName = item.allSonProName;
-              // item.tjProjectList.forEach((item1) => {
-              //   this.$nextTick(() => {
-              //     formitem.allSonProName =
-              //       formitem.allSonProName + "," + item1.proName;
-              //   });
-              //   // this.form.tjProjectList.allSonProName = this.form.tjProjectList.allSonProName+','+item1.proName
-              // });
-            }
-          });
-        }
-      });
-
-      for (let i = 0; i < this.form.tjProjectList.length; i++) {
-        for (let j = i + 1; j < this.form.tjProjectList.length; j++) {
-          if (
-            this.form.tjProjectList[i].proId == this.form.tjProjectList[j].proId
-          ) {
-            this.form.tjProjectList.splice(j, 1);
-            j--;
-            this.$modal.msgError("姝ら」鐩凡褰曞叆锛屼笉鍙噸澶嶅綍鍏�");
-          }
-        }
-      }
-
-      return this.form.tjProjectList;
-    },
-
     numberChange(currentValue, oldValue) {
       this.$confirm("纭畾淇敼鎵�鏈夊瓙椤圭殑鎶樻墸鍚楋紵", "鎻愮ず", {
         confirmButtonText: "纭畾",
@@ -1217,37 +516,279 @@
             const limits = new Big(item.limits);
             const result = proPrice.times(limits.div(10));
             item.priceNow = result.toNumber();
-            this.form.xianprice = this.DataList.reduce((sum, item) => {
-              return sum.plus(new Big(item.priceNow || "0"));
-            }, new Big(0));
           });
+          this.form.xianprice = this.DataList.reduce((sum, item) => {
+            return sum.plus(new Big(item.priceNow || "0"));
+          }, new Big(0)).toNumber();
+          this.lastXianPrice = this.form.xianprice;
         })
         .catch(() => {
           this.youhui = oldValue;
         });
     },
-
     updateProPrice(row) {
       const proPrice = new Big(row.priceOrd);
       const limits = new Big(row.limits);
-      const result = proPrice.times(limits.div(10)); // ordPrice * (discount / 10)
+      const result = proPrice.times(limits.div(10));
       row.priceNow = result.toNumber();
       this.form.xianprice = this.DataList.reduce((sum, item) => {
         return sum.plus(new Big(item.priceNow || "0"));
       }, new Big(0)).toNumber();
-      this.youhui =
-        (Math.floor((this.form.xianprice / this.pics) * 100) / 100) * 10;
-      // console.log(this.youhui, 1212);
+      this.youhui = (Math.floor((this.form.xianprice / this.pics) * 100) / 100) * 10;
     },
     calculateDiscount(row) {
       if (row.limits > 10) {
-        row.limits = 10; // 寮哄埗灏嗗�艰缃负鏈�澶у��
+        row.limits = 10;
       } else if (row.limits < 0) {
-        row.limits = 0; // 寮哄埗灏嗗�艰缃负鏈�灏忓��
+        row.limits = 0;
       }
-      this.updateProPrice(row); // 鏇存柊浠锋牸鎴栧叾浠栭�昏緫
+      this.updateProPrice(row);
     },
-    // 榛樿鎺ュ彈鍥涗釜鍊� { 褰撳墠琛岀殑鍊�, 褰撳墠鍒楃殑鍊�, 琛岀殑涓嬫爣, 鍒楃殑涓嬫爣 }
+    toggleCollapse() {
+      this.isCollapsed = !this.isCollapsed;
+    },
+    filterNode(value, data) {
+      if (!value) return true;
+      return data.proName.indexOf(value) !== -1 || data.proEngName.indexOf(value) !== -1;
+    },
+    getList() {
+      this.loading = true;
+      getPacTjProjectList().then((response) => {
+        this.allList = response.data;
+        this.loading = false;
+      });
+      getPacList(this.queryParams).then((response) => {
+        response.rows.forEach((item, index) => {
+          item.newID = (this.queryParams.pageNum - 1) * this.queryParams.pageSize + index + 1;
+        });
+        this.total = response.total;
+        this.packageList = response.rows;
+        this.loading = false;
+      });
+    },
+    getKeyword() {
+      this.loading = true;
+      listKeyword(this.queryParams).then((response) => {
+        this.keywordList = response.rows;
+      });
+    },
+    sel(val) {
+      let id = val;
+      this.keys = id.join(",");
+    },
+    getCategory() {
+      this.loading = true;
+      listCategory(this.queryParams).then((response) => {
+        this.categoryList = response.rows;
+      });
+    },
+    shangpin(vals) {},
+    cancel() {
+      this.open = false;
+      this.Seachopen = false;
+      this.reset();
+    },
+    reset() {
+      this.form = {
+        pacId: null,
+        pacName: null,
+        pacRemark: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null,
+        deleted: null,
+        allSonName: null,
+        allProName: null,
+        priceNow: null,
+        proId: null,
+        xianprice: null,
+        counterPrice: null,
+        limits: 10,
+      };
+      this.resetForm("form");
+    },
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    handlePackage() {
+      this.$refs.aaa.open = true;
+      this.$refs.aaa.getList();
+      this.$refs.aaa.title = "濂楅瀛楀吀";
+    },
+    handleChanges(param1) {
+      this.form.pacName = param1[0].pacName;
+      this.form.hisPacId = param1[0].pacId;
+      if (param1[0].price) {
+        this.form.counterPrice = param1[0].price;
+        this.form.retailPrice = param1[0].price;
+      }
+    },
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    handleSelectionChange(selection) {
+      if (!selection[0]) return;
+      this.forms = selection[0];
+      this.ids = selection.map((item) => item.pacId);
+      this.single = selection.length !== 1;
+      this.multiple = !selection.length;
+    },
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "浣撴濂楅淇℃伅缁存姢";
+      this.DataList = [];
+      this.checkedkey = [];
+      this.queryParams1.nr = "";
+      this.queryParams1.page = 1;
+      this.checkedListkey = [];
+      this.checkedNodes = [];
+      this.getDataList();
+    },
+    handleStatusChange(row) {
+      let data = {
+        pacId: row.pacId,
+        pacStatus: row.pacStatus,
+      };
+      let text = row.pacStatus === "0" ? "鍚敤" : "鍋滅敤";
+      this.$confirm("纭瑕�" + text + row.pacName + "濂楅鍚楋紵")
+        .then(() => updateStatus(data))
+        .then(() => {
+          this.msgSuccess(text + "鎴愬姛");
+        })
+        .catch(() => {
+          row.pacStatus = row.pacStatus === "0" ? "0" : "1";
+        });
+    },
+    handleUp() {
+      this.title = "浣撴濂楅淇℃伅缁存姢";
+      this.open = true;
+      getPacInFo(this.forms.pacId).then((response) => {
+        Object.keys(response.data).forEach((key) => {
+          this.$set(this.form, key, response.data[key]);
+        });
+        this.youhui = response.data.limits || 10;
+        this.pics = response.data.price || 0;
+        this.form.xianprice = response.data.newPrice || 0;
+        this.lastXianPrice = this.form.xianprice;
+        this.form.keywords = response.data.keywords && response.data.keywords.length > 0
+          ? response.data.keywords.slice(0, -1).split(",")
+          : [];
+        this.DataList = response.data.packageProjects || [];
+        this.checkedkey = this.DataList.map(item => item.proId || '');
+        this.checkedListkey = [...this.checkedkey];
+        this.checkedNodes = [...this.checkedkey];
+        this.getDataList();
+      });
+    },
+    handleUpdate(row) {
+      this.reset();
+      this.title = "浣撴濂楅淇℃伅缁存姢";
+      this.open = true;
+      this.loading = true;
+      getPacInFo(row.pacId).then((response) => {
+        const data = response.data || {};
+        Object.keys(data).forEach((key) => {
+          this.$set(this.form, key, data[key]);
+        });
+        this.youhui = data.limits || 10;
+        this.pics = data.price || 0;
+        this.form.xianprice = data.newPrice || 0;
+        this.lastXianPrice = this.form.xianprice;
+        this.form.keywords = data.keywords && data.keywords.length > 0
+          ? data.keywords.slice(0, -1).split(",")
+          : [];
+        this.DataList = data.packageProjects || [];
+        this.checkedkey = this.DataList.map(item => item.proId || '');
+        this.checkedListkey = [...this.checkedkey];
+        this.checkedNodes = [...this.checkedkey];
+        return this.getDataList();
+      }).then(() => {
+        this.loading = false;
+        this.$nextTick(() => {
+          this.$refs.form.validate();
+        });
+      }).catch((error) => {
+        this.loading = false;
+        this.$message.error("鍔犺浇鏁版嵁澶辫触");
+        console.error(error);
+      });
+    },
+    addmembers() {
+      if (this.form.pacName) {
+        if (!this.form.tjProjectList) {
+          this.form.tjProjectList = [];
+          this.form.tjProjectList.push({
+            id: parseInt(length),
+            proName: "",
+            allSonProName: "",
+            proPrice: "",
+            priceNow: "",
+            proId: "",
+          });
+        } else {
+          this.form.tjProjectList.push({
+            id: parseInt(length),
+            proName: "",
+            allSonProName: "",
+            proPrice: "",
+            priceNow: "",
+            proId: "",
+          });
+        }
+      } else {
+        Message.warning("璇峰厛濉啓濂楅鍚嶇О");
+      }
+      this.$forceUpdate();
+    },
+    Delete(index) {
+      if (this.form.tjProjectList.length === 0) {
+        this.$alert("璇峰厛閫夋嫨瑕佸垹闄ょ殑鏁版嵁", "鎻愮ず", { confirmButtonText: "纭畾" });
+      } else {
+        this.form.tjProjectList.splice(index, 1);
+      }
+    },
+    handleDelete1(row) {
+      this.DataList = this.DataList.filter((item) => item.proId !== row.proId);
+      const index = this.checkedNodes.indexOf(row.proId);
+      if (index > -1) {
+        this.checkedNodes.splice(index, 1);
+      }
+      const tree = this.$refs.tree;
+      const node = tree.getNode(row.proId);
+      if (node) {
+        node.setChecked(false);
+      }
+      this.updateTotalPrice();
+    },
+    getSelectValue(val) {
+      this.form.tjProjectList.forEach((formitem) => {
+        if (formitem.proName === val) {
+          formitem.allSonProName = "";
+          this.allList.find((item) => {
+            if (item.proName === val) {
+              formitem.proId = item.proId;
+              formitem.proPrice = item.proPrice;
+              formitem.priceNow = item.proPrice;
+              formitem.allSonProName = item.allSonProName;
+            }
+          });
+        }
+      });
+      for (let i = 0; i < this.form.tjProjectList.length; i++) {
+        for (let j = i + 1; j < this.form.tjProjectList.length; j++) {
+          if (this.form.tjProjectList[i].proId === this.form.tjProjectList[j].proId) {
+            this.form.tjProjectList.splice(j, 1);
+            j--;
+            this.$modal.msgError("姝ら」鐩凡褰曞叆锛屼笉鍙噸澶嶅綍鍏�");
+          }
+        }
+      }
+      return this.form.tjProjectList;
+    },
     objectSpanMethod({ row, column, rowIndex, columnIndex }) {
       let fields = ["propinName"];
       let cellValue = row[column.property];
@@ -1278,14 +819,9 @@
     getDataList() {
       this.loading = true;
       search(this.queryParams1).then((response) => {
-        this.Treedata = response.data.list; // 鏇存柊鏍戝舰鏁版嵁
-        this.total1 = response.data.total; // 鏇存柊鎬绘潯鏁�
-        this.pics = this.DataList.reduce(
-          (total, item) => total + item.priceOrd,
-          0
-        );
-
-        // 纭繚鍦ㄦ暟鎹姞杞藉悗淇濇寔閫変腑鐘舵��
+        this.Treedata = response.data.list;
+        this.total1 = response.data.total;
+        this.pics = this.DataList.reduce((total, item) => total + item.priceOrd, 0);
         this.$nextTick(() => {
           this.$refs.tree.setCheckedKeys(this.checkedNodes);
         });
@@ -1293,140 +829,116 @@
       this.loading = false;
     },
     handleFilterInput() {
-      this.queryParams1.page = 1; // 鎼滅储鏃堕噸缃负绗竴椤�
-      this.getDataList(); // 璋冪敤鎺ュ彛鑾峰彇鏁版嵁
-      // 鍦ㄨ繃婊ゅ悗锛岄噸鏂拌缃�変腑鐘舵��
+      this.queryParams1.page = 1;
+      this.getDataList();
       this.$nextTick(() => {
         this.$refs.tree.setCheckedKeys(this.checkedNodes);
       });
     },
-
-    // 鍒嗛〉浜嬩欢
-    handlePageChange({ page, pageSize }) {
-      this.queryParams.page = page; // 鏇存柊褰撳墠椤�
-      this.queryParams.pageSize = pageSize; // 鏇存柊姣忛〉鏉℃暟
-      this.getDataList(); // 璋冪敤鎺ュ彛鑾峰彇鏁版嵁
-    },
-
     handleCurrentChecked(data, checked, indeterminate) {
       if (checked) {
-        // 妫�鏌ユ槸鍚﹀凡瀛樺湪
-        if (!this.DataList.some(item => item.proId === data.proId)) {
-          // 娣诲姞鏂伴」鐩椂浣跨敤涓庡凡鏈夐」鐩浉鍚岀殑鎶樻墸鐜�
-          const currentDiscount = this.DataList.length > 0 ? this.DataList[0].limits : 10;
-          const priceNow = new Big(data.proPrice).times(new Big(currentDiscount).div(10)).toNumber();
-          
+        if (!this.DataList.some((item) => item.proId === data.proId)) {
           this.DataList.push({
             proId: data.proId,
             proName: data.proName,
             priceOrd: data.proPrice,
-            limits: currentDiscount,
-            priceNow: priceNow
+            limits: 10,
+            priceNow: data.proPrice,
           });
-          
-          if (!this.checkedNodes.includes(data.proId)) {
-            this.checkedNodes.push(data.proId);
-          }
+        }
+        if (!this.checkedNodes.includes(data.proId)) {
+          this.checkedNodes.push(data.proId);
         }
       } else {
-        // 绉婚櫎椤圭洰
-        this.DataList = this.DataList.filter(item => item.proId !== data.proId);
+        this.DataList = this.DataList.filter((item) => item.proId !== data.proId);
         const index = this.checkedNodes.indexOf(data.proId);
         if (index > -1) {
           this.checkedNodes.splice(index, 1);
         }
       }
-
-      // 鏇存柊鎬讳环鍜屾姌鎵�
       this.updateTotalPrice();
     },
     updateTotalPrice() {
-      // 璁$畻鎵�鏈夐」鐩殑鎬讳紭鎯犱环
       this.form.xianprice = this.DataList.reduce((sum, item) => {
         return sum.plus(new Big(item.priceNow || "0"));
       }, new Big(0)).toNumber();
-
-      // 璁$畻鍘熶环鎬诲拰
-      this.pics = this.DataList.reduce(
-        (total, item) => total + item.priceOrd,
-        0
-      );
+      this.pics = this.DataList.reduce((total, item) => total + item.priceOrd, 0);
+    },
+    changeXianjia() {
+      if (this.form.xianprice !== 0) {
+        this.youhui = (Math.floor((this.form.xianprice / this.pics) * 100) / 100) * 10;
+      }
+    },
+    numberChangeXianPrice(currentValue, oldValue) {
+      if (this.form.xianprice === this.lastXianPrice || !this.form.xianprice) return;
+      clearTimeout(this.debounceTimer);
+      this.debounceTimer = setTimeout(() => {
+        this.$confirm("纭畾淇敼鎵�鏈夊瓙椤圭殑鎶樻墸鍚楋紵", "鎻愮ず", {
+          confirmButtonText: "纭畾",
+          cancelButtonText: "鍙栨秷",
+          type: "warning",
+        })
+          .then(() => {
+            this.youhui = currentValue;
+            let totalYsprice = new Big(0);
+            this.DataList.forEach((item) => {
+              item.limits = this.youhui;
+              const ordPrice = new Big(item.priceOrd);
+              const discount = new Big(item.limits);
+              const result = ordPrice.times(discount.div(10));
+              item.priceNow = result.toNumber();
+              totalYsprice = totalYsprice.plus(new Big(item.priceNow));
+            });
+            if (!totalYsprice.eq(this.form.xianprice)) {
+              const diff = new Big(this.form.xianprice).minus(totalYsprice);
+              if (this.DataList.length > 0) {
+                const lastItem = this.DataList[this.DataList.length - 1];
+                const newYsPrice = new Big(lastItem.priceNow).plus(diff).toNumber();
+                this.$set(this.DataList[this.DataList.length - 1], "priceNow", newYsPrice);
+              }
+            }
+            this.lastXianPrice = this.form.xianprice;
+          })
+          .catch(() => {
+            this.youhui = oldValue;
+          });
+      }, 500);
     },
     spliceData() {
       for (var i = 0; i < this.DataList.length; i++) {
         for (var j = i + 1; j < this.DataList.length; j++) {
-          if (this.DataList[i].proId == this.DataList[j].proId) {
-            //濡傛灉绗竴涓瓑浜庣浜屼釜锛宻plice鏂规硶鍒犻櫎绗簩涓�
+          if (this.DataList[i].proId === this.DataList[j].proId) {
             this.DataList.splice(j, 1);
             j--;
           }
         }
       }
+      return this.DataList;
     },
-
-    // 鐐瑰嚮鑾峰彇姣忎釜鏍戣妭鐐�
     handleCurrentChecked1(data, checked, checkedNodes) {
-      if (checked == false) {
-        this.DataList.forEach((item, index) => {
-          if (item.proId == data.proId) {
-            this.DataList.splice(index, 1);
-            this.TotalPrice1 = 0;
-            this.pics = 0;
-            this.DataList.forEach((item1) => {
-              this.pics += item1.priceOrd;
-              // this.TotalPrice1 = item1.proPrice + this.TotalPrice1;
-            });
-          }
-        });
-      } else if (checked == true) {
+      if (!checked) {
+        this.DataList = this.DataList.filter((item) => item.proId !== data.proId);
+        this.TotalPrice1 = this.DataList.reduce((sum, item) => sum + item.priceOrd, 0);
+        this.pics = this.TotalPrice1;
+      } else {
         this.DataList.push(data);
-        this.pics = 0;
-        this.DataList.forEach((item1) => {
-          this.pics += item1.priceOrd;
-          if (item1.proParentId == this.dataObj.proId) {
-            item1.propinName = this.dataObj.proName;
-            item1.propinPrice = this.dataObj.proPrice;
-          }
-        });
+        this.pics = this.DataList.reduce((sum, item) => sum + item.priceOrd, 0);
         this.spliceData();
-        this.TotalPrice1 = 0;
-        this.pics = 0;
-        this.DataList.forEach((item1) => {
-          // this.TotalPrice1 = item1.proPrice + this.TotalPrice1;
-          this.pics += item1.priceOrd;
-        });
+        this.TotalPrice1 = this.pics;
       }
     },
-
-    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
     handleDeletes(row) {
-      this.DataList.forEach((item, index) => {
-        if (item.proParentId == row.proParentId) {
-          this.DataList.splice(index, 1);
-          this.TotalPrice1 = 0;
-          this.DataList.forEach((item1) => {
-            this.TotalPrice1 = item1.proPrice + this.TotalPrice1;
-          });
-        }
-      });
-
-      // this.$refs.trees.setCheckedKeys([]);
+      this.DataList = this.DataList.filter((item) => item.proParentId !== row.proParentId);
+      this.TotalPrice1 = this.DataList.reduce((sum, item) => sum + item.priceOrd, 0);
     },
-
-    /** 鎻愪氦鎸夐挳 */
     submitForm() {
       this.form.limits = this.youhui;
       this.form.price = this.pics;
-      this.form.priceNow = this.queryParams.xianprice;
-
+      this.form.priceNow = this.form.xianprice;
       if (this.keys) {
-        this.form.keywords = this.keys; // 濡傛灉鏈� this.keys锛屽垯鐩存帴璧嬪��
-      } else {
-        // this.form.keywords = this.form.keywords; // 濡傛灉娌℃湁锛屽垯灏� this.form.keywords 杞垚瀛楃涓�
+        this.form.keywords = this.keys;
       }
-
-      let packageProjects = []; // 瀹氫箟涓�涓┖鏁扮粍
-
+      let packageProjects = [];
       this.DataList.forEach((item) => {
         packageProjects.push({
           proName: item.proName,
@@ -1445,76 +957,42 @@
         price: this.pics,
         pacId: this.form.pacId || null,
         isOnSale: this.form.isOnSale,
-        // keywords: this.form.keywords,
         sort: this.form.sort,
         retailPrice: this.form.retailPrice,
         tjCategory: this.form.tjCategory,
         pacRemark: this.form.pacRemark,
         detail: this.form.detail,
       };
-
       saveOreditTjPacNew(data).then((res) => {
-        console.log(res, 555);
         this.open = false;
         this.getList();
       });
     },
-    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
     handleDelete(row) {
       const pacIds = row.pacId || this.ids;
       this.$modal
         .confirm('鏄惁纭鍒犻櫎浣撴濂楅缂栧彿涓�"' + pacIds + '"鐨勬暟鎹」锛�')
-        .then(function () {
-          return delPackage(pacIds);
-        })
+        .then(() => delPackage(pacIds))
         .then(() => {
           this.getList();
           this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
         })
         .catch(() => {});
     },
-
-    /** 鍒嗛厤濂楅鍐呴」鐩搷浣� */
-    handleProject: function (row) {
+    handleProject(row) {
       const pacId = row.pacId;
       this.$router.push("/system/user-auth/role/" + pacId);
     },
-
-    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
     handleExport() {
       this.download(
         "system/package/export",
-        {
-          ...this.queryParams,
-        },
+        { ...this.queryParams },
         `package_${new Date().getTime()}.xlsx`
       );
-    },
-    submitcheckbox() {
-      let _this = this;
-      let proIds = [];
-      this.allList.forEach((item) => {
-        _this.newproName.forEach((item1) => {
-          if (item.proName == item1) {
-            proIds.push(item.proId);
-          }
-        });
-      });
-      let data = {
-        pacid: Number(this.pacId),
-        proIds: proIds.toString(),
-      };
-
-      updateProject(data).then((response) => {
-        this.$modal.msgSuccess("鎴愬姛");
-        this.Seachopen = false;
-      });
     },
   },
 };
 </script>
-
-
 <style>
 .el-tooltip__popper {
   max-width: 800px;
@@ -1544,11 +1022,13 @@
   left: 40%;
   bottom: 2%;
 }
+
 .tab3 {
   max-height: 400px;
   overflow-y: auto;
   border: 1px solid #d9d9d9;
 }
+
 /* .custom-tree-node {
     flex: 1;
     display: flex;

--
Gitblit v1.8.0