From 35cebfa072de707605d52842672c50beca04f398 Mon Sep 17 00:00:00 2001
From: lkk <364857242@qq.com>
Date: 星期四, 23 一月 2025 17:03:53 +0800
Subject: [PATCH] 1

---
 src/views/doctor/checkAll/index.vue |  246 +++++++++++++++++++++++++++++++---------
 src/views/hosp/order/index.vue      |   60 +++------
 src/views/system/package/index.vue  |   49 ++++---
 3 files changed, 236 insertions(+), 119 deletions(-)

diff --git a/src/views/doctor/checkAll/index.vue b/src/views/doctor/checkAll/index.vue
index 40f47b1..b36f769 100644
--- a/src/views/doctor/checkAll/index.vue
+++ b/src/views/doctor/checkAll/index.vue
@@ -715,6 +715,7 @@
                     <el-table-column
                       align="center"
                       label="妫�娴嬮」鐩�"
+                      :show-overflow-tooltip="true"
                       width="353"
                     >
                       <template slot-scope="scope">
@@ -821,6 +822,7 @@
                       align="center"
                       label="妫�娴嬮」鐩�"
                       width="232"
+                      :show-overflow-tooltip="true"
                     >
                       <template slot-scope="scope">
                         <div>{{ scope.row.proName }}</div>
@@ -1385,6 +1387,7 @@
 import { getNewDateList } from "@/api/hosp/order";
 import { getconfigKey } from "@/api/login";
 import moment from "moment";
+import { get } from "sortablejs";
 
 export default {
   components: {
@@ -1604,7 +1607,27 @@
         tjNum: this.tjNumber,
       }).then((res) => {
         this.yichangList = res.data;
+
+        console.log(this.yichangList, 3232);
         this.getExpends();
+
+        this.yichangList.forEach((item) => {
+          item.sone.forEach((soneItem) => {
+            if (
+              !Array.isArray(soneItem.advices) ||
+              soneItem.advices.length === 0
+            ) {
+              // 濡傛灉 advices 鏄┖锛岃缃粯璁ゅ��
+              soneItem.advices = [
+                {
+                  bt: "",
+                  nr: "",
+                },
+              ];
+            }
+          });
+        });
+
         if (!this.yichangList) {
           _this.$message({
             type: "warning ",
@@ -2348,10 +2371,120 @@
     // },
     change(vale) {},
 
+    // determine() {
+    //   let tjNumber = this.tableAll.tjNumber;
+    //   let tjh = this.tableAll.tjNumber;
+    //   // let jyjc = this.yichangList.map(item => item.jyjc || null);
+    //   let advice = this.textarea1;
+    //   let data = {
+    //     tjNumber,
+    //     advice,
+    //     checkStatus: 1,
+    //   };
+
+    //   console.log(this.yichangList, 66);
+
+    //   let dataList = this.yichangList
+    //     .map((item) => {
+    //       return item.sone.map((soneItem) => ({
+    //         tjh,
+    //         parentName: item.proName,
+    //         jcxm: soneItem.proName,
+    //         map: soneItem.advices,
+    //         jyjc: item.jyjc, // assuming jyjc belongs to the outer item, not soneItem
+    //         jcjg: soneItem.proResult,
+    //         ckfw: soneItem.stanId,
+    //         dw: soneItem.proAdvice,
+    //       }));
+    //     })
+    //     .flat(); // 浣跨敤 flat() 鏂规硶灏嗗祵濂楁暟缁勫睍骞�
+    //   console.log(dataList, 777);
+
+    //   /*  addOrder(dataList).then((res) => {
+    //     console.log(res, 999);
+    //   }); */
+    //   getTjdetailList(data)
+    //     .then((response) => {
+    //       if (response.code === 200) {
+    //         this.$modal.msgSuccess("鎻愪氦鎴愬姛");
+
+    //         // 鍑嗗鐢熸垚鎶ュ憡鐨勮姹傛暟鎹�
+    //         let reportData = {
+    //           userId: this.userId,
+    //           tjNumber: tjNumber,
+    //           state: 1,
+    //           id: this.MsgId,
+    //         };
+
+    //         // 鐢熸垚鎶ュ憡骞朵繚鎸� loading 鎵撳紑
+    //         const reportPromise = gettoPdf(tjNumber)
+    //           .then((res) => {
+    //             this.$modal.msgSuccess("宸茬敓鎴愭姤鍛婏紒璇峰墠寰�鎶ュ憡鏍告敹椤甸潰纭锛�");
+    //           })
+    //           .catch((error) => {
+    //             this.$modal.msgError(
+    //               "鎵撳嵃鎶ュ憡澶辫触锛岃鍓嶅線鎶ュ憡鎵撳嵃椤甸潰琛ユ墦鎶ュ憡锛�"
+    //             );
+    //           });
+
+    //         // 鏇存柊鐘舵�佸苟鎻愪氦淇敼璇锋眰
+    //         const statePromise = getfiedState(reportData).then((res) => {
+    //           this.drawer = false;
+    //         });
+
+    //         // const addOrderPromise = addOrder(dataList).then((res) => {
+    //         //   console.log(res, 999);
+    //         // });
+
+    //         // 澶勭悊鍏朵粬淇敼鎿嶄綔
+    //         const updatePromises = this.changedate.map((item) => {
+    //           this.proIds = item.parentId;
+    //           let remarks = item.remark;
+    //           let updateOrderRemarkVos = [
+    //             {
+    //               tjNumber,
+    //               proId: this.proIds.toString(),
+    //               remarks,
+    //             },
+    //           ];
+    //           return getModified(updateOrderRemarkVos); // 杩斿洖 Promise
+    //         });
+
+    //         // 绛夊緟鎵�鏈夎姹傚畬鎴�
+    //         Promise.all([
+    //           reportPromise,
+    //           statePromise,
+    //           // addOrderPromise,
+    //           ...updatePromises,
+    //         ])
+    //           .then(() => {
+    //             // 鎵�鏈夎姹傚畬鎴愶紝鍏抽棴 loading
+    //             this.loading = false;
+    //             // 鏇存柊鍒嗛〉淇℃伅
+    //             this.queryParams.page = 1;
+    //             this.queryParams.pageSize = 10;
+    //             this.submitForm();
+    //             this.$forceUpdate();
+    //           })
+    //           .catch((error) => {
+    //             // 澶勭悊閿欒鎯呭喌
+    //             this.loading = false;
+    //             console.error("鍙戠敓閿欒:", error);
+    //           });
+    //       } else {
+    //         // 鎻愪氦澶辫触锛屽叧闂� loading
+    //         this.loading = false;
+    //       }
+    //     })
+    //     .catch((error) => {
+    //       // 鎻愪氦璇锋眰澶辫触锛屽叧闂� loading
+    //       this.loading = false;
+    //       console.error("鎻愪氦璇锋眰澶辫触:", error);
+    //     });
+    // },
     determine() {
       let tjNumber = this.tableAll.tjNumber;
       let tjh = this.tableAll.tjNumber;
-      // let jyjc = this.yichangList.map(item => item.jyjc || null);
       let advice = this.textarea1;
       let data = {
         tjNumber,
@@ -2359,7 +2492,7 @@
         checkStatus: 1,
       };
 
-      console.log(this.yichangList, 66);
+      console.log(this.yichangList, 6644);
 
       let dataList = this.yichangList
         .map((item) => {
@@ -2368,18 +2501,14 @@
             parentName: item.proName,
             jcxm: soneItem.proName,
             map: soneItem.advices,
-            jyjc: item.jyjc, // assuming jyjc belongs to the outer item, not soneItem
+            jyjc: item.jyjc,
             jcjg: soneItem.proResult,
             ckfw: soneItem.stanId,
             dw: soneItem.proAdvice,
           }));
         })
         .flat(); // 浣跨敤 flat() 鏂规硶灏嗗祵濂楁暟缁勫睍骞�
-      console.log(dataList, 777);
 
-      /*  addOrder(dataList).then((res) => {
-        console.log(res, 999);
-      }); */
       getTjdetailList(data)
         .then((response) => {
           if (response.code === 200) {
@@ -2393,60 +2522,62 @@
               id: this.MsgId,
             };
 
-            // 鐢熸垚鎶ュ憡骞朵繚鎸� loading 鎵撳紑
-            const reportPromise = gettoPdf(tjNumber)
+            // 璋冪敤 addOrderPromise
+            console.log(dataList, 5555);
+
+            addOrder(dataList)
               .then((res) => {
-                this.$modal.msgSuccess("宸茬敓鎴愭姤鍛婏紒璇峰墠寰�鎶ュ憡鏍告敹椤甸潰纭锛�");
+                console.log(res, 999);
+                if (res.code == 200) {
+                  gettoPdf(tjNumber)
+                    .then((res) => {
+                      this.$modal.msgSuccess(
+                        "宸茬敓鎴愭姤鍛婏紒璇峰墠寰�鎶ュ憡鏍告敹椤甸潰纭锛�"
+                      );
+                    })
+                    .catch(() => {
+                      this.$modal.msgError(
+                        "鎵撳嵃鎶ュ憡澶辫触锛岃鍓嶅線鎶ュ憡鎵撳嵃椤甸潰琛ユ墦鎶ュ憡锛�"
+                      );
+                    });
+                  const statePromise = getfiedState(reportData).then(() => {
+                    this.drawer = false;
+                  });
+                  const updatePromises = this.changedate.map((item) => {
+                    this.proIds = item.parentId;
+                    let remarks = item.remark;
+                    let updateOrderRemarkVos = [
+                      {
+                        tjNumber,
+                        proId: this.proIds.toString(),
+                        remarks,
+                      },
+                    ];
+                    return getModified(updateOrderRemarkVos); // 杩斿洖 Promise
+                  });
+
+                  // 绛夊緟鎵�鏈夎姹傚畬鎴�
+                  Promise.all([statePromise, ...updatePromises])
+                    .then(() => {
+                      // 鎵�鏈夎姹傚畬鎴愶紝鍏抽棴 loading
+                      this.loading = false;
+                      // 鏇存柊鍒嗛〉淇℃伅
+                      this.queryParams.page = 1;
+                      this.queryParams.pageSize = 10;
+                      this.submitForm();
+                      this.$forceUpdate();
+                    })
+                    .catch((error) => {
+                      // 澶勭悊閿欒鎯呭喌
+                      this.loading = false;
+                      console.error("鍙戠敓閿欒:", error);
+                    });
+                }
               })
               .catch((error) => {
-                this.$modal.msgError(
-                  "鎵撳嵃鎶ュ憡澶辫触锛岃鍓嶅線鎶ュ憡鎵撳嵃椤甸潰琛ユ墦鎶ュ憡锛�"
-                );
-              });
-
-            // 鏇存柊鐘舵�佸苟鎻愪氦淇敼璇锋眰
-            const statePromise = getfiedState(reportData).then((res) => {
-              this.drawer = false;
-            });
-
-            const addOrderPromise = addOrder(dataList).then((res) => {
-              console.log(res, 999);
-            });
-
-            // 澶勭悊鍏朵粬淇敼鎿嶄綔
-            const updatePromises = this.changedate.map((item) => {
-              this.proIds = item.parentId;
-              let remarks = item.remark;
-              let updateOrderRemarkVos = [
-                {
-                  tjNumber,
-                  proId: this.proIds.toString(),
-                  remarks,
-                },
-              ];
-              return getModified(updateOrderRemarkVos); // 杩斿洖 Promise
-            });
-
-            // 绛夊緟鎵�鏈夎姹傚畬鎴�
-            Promise.all([
-              reportPromise,
-              statePromise,
-              addOrderPromise,
-              ...updatePromises,
-            ])
-              .then(() => {
-                // 鎵�鏈夎姹傚畬鎴愶紝鍏抽棴 loading
+                // 濡傛灉 addOrderPromise 澶辫触锛屽鐞嗛敊璇�
                 this.loading = false;
-                // 鏇存柊鍒嗛〉淇℃伅
-                this.queryParams.page = 1;
-                this.queryParams.pageSize = 10;
-                this.submitForm();
-                this.$forceUpdate();
-              })
-              .catch((error) => {
-                // 澶勭悊閿欒鎯呭喌
-                this.loading = false;
-                console.error("鍙戠敓閿欒:", error);
+                console.error("addOrderPromise 澶辫触:", error);
               });
           } else {
             // 鎻愪氦澶辫触锛屽叧闂� loading
@@ -2636,7 +2767,6 @@
   width: 684px;
   position: fixed; /* 鍥哄畾瀹氫綅 */
   right: 60px;
-
 
   .right {
     background-color: #fff;
diff --git a/src/views/hosp/order/index.vue b/src/views/hosp/order/index.vue
index be4a6e1..5f122fb 100644
--- a/src/views/hosp/order/index.vue
+++ b/src/views/hosp/order/index.vue
@@ -2294,36 +2294,6 @@
       //   return [rowspan, 1];
       // }
     },
-     objectspanmethod({ row, column, rowIndex, columnIndex }) {
-      let fields = ["propinName"];
-      let cellValue = row[column.property];
-      if (cellValue && fields.includes(column.property)) {
-        let prevRow = this.Datalists[rowIndex - 1];
-        let nextRow = this.Datalists[rowIndex + 1];
-        if (prevRow && prevRow[column.property] === cellValue) {
-          return { rowspan: 0, colspan: 0 };
-        } else {
-          let countRowspan = 1;
-          while (nextRow && nextRow[column.property] === cellValue) {
-            nextRow = this.Datalists[++countRowspan + rowIndex];
-          }
-
-          if (countRowspan > 1) {
-            return { rowspan: countRowspan, colspan: 1 };
-          }
-        }
-      }
-
-      // if (columnIndex == 3) {
-      //   let rowspan = 0;
-      //   this.DataLists.forEach((element) => {
-      //     if (element.propinName === row.propinName) {
-      //       rowspan++;
-      //     }
-      //   });
-      //   return [rowspan, 1];
-      // }
-    },
     filterpackage(value, data) {
       if (!value) return true;
       if (data.zhmc.indexOf(value) !== -1) {
@@ -2527,6 +2497,8 @@
         // this.marryalls = 0;
         // this.Datalists = [];
         this.checkedkeys = [];
+
+        this.DataList3 = [];
         getZhList().then((response) => {
           if (response.data) {
             this.packageList = response.data;
@@ -2535,8 +2507,10 @@
         });
       } else {
         // this.TotalPrice1 = 0;
-        this.checkedkey = [];
+        this.checkedkeys = [];
         // this.DataList = [];
+        this.Datalists = [];
+        this.DataList3 = [];
         this.getDataList();
         // if (this.marryalls != 0) {
         //   this.TotalPrice1 += this.marryalls;
@@ -2549,7 +2523,7 @@
         let datas = {
           zhId: data.id,
         };
-        
+
         getlistByZhId(datas).then((res) => {
           this.packagedataList = res.data.tjProjectList;
           for (var i = 0; i < this.packagedataList.length; i++) {
@@ -2841,15 +2815,19 @@
       if (checked === true) {
         // this.$refs.tree.setCheckedKeys([data.proId]);
         let proId = data.proId;
-        console.log(data,9898);
-        
         getProSonDxList(proId).then((res) => {
           this.TreedataList = res.data.list;
+
           this.TreedataList.forEach((item) => {
             // item.disabled = true;
-            this.checkedListkey.push(item.proId);
+            // this.checkedListkey.push(item.proId);
+            if (!this.checkedListkey.includes(item.proId)) {
+              this.checkedListkey.push(item.proId);
+            }
             this.Datalists.push(item);
+
             this.DataList3.push(item);
+
             this.spliceData();
             this.DataList3.forEach((item1) => {
               this.TotalPrice1 += item1.proPrice * item1.sl;
@@ -2872,9 +2850,15 @@
         getProSonDxList(proId).then((res) => {
           this.TreedataList = res.data.list;
 
-          // 浠庡凡閫夊垪琛ㄤ腑绉婚櫎璇ラ」鐩殑 ID
-          this.checkedListkey = this.checkedListkey.filter(
-            (id) => id !== proId
+          // 閬嶅巻 TreedataList 骞剁Щ闄ょ浉鍏崇殑瀛愰」 ID
+          this.TreedataList.forEach((item) => {
+            this.checkedListkey = this.checkedListkey.filter(
+              (id) => id !== item.proId
+            );
+          });
+
+          this.Datalists = this.Datalists.filter(
+            (item) => item.proParentId !== proId
           );
 
           // 浠� DataList3 涓Щ闄ょ浉鍏崇殑瀛愰」
diff --git a/src/views/system/package/index.vue b/src/views/system/package/index.vue
index 83d3587..839dfd1 100644
--- a/src/views/system/package/index.vue
+++ b/src/views/system/package/index.vue
@@ -387,25 +387,23 @@
             ></el-option>
           </el-select>
         </el-form-item> -->
-
-        <el-form-item label="鍏抽敭瀛�" prop="keywords">
+        <el-form-item label="浣撴绫诲埆" prop="tjCategory">
           <el-select
-            multiple
-            v-model="form.keywords"
-            placeholder="璇烽�夋嫨鍏抽敭瀛�"
+            v-model="form.tjCategory"
+            placeholder="璇烽�夋嫨浣撴绫诲埆"
             style="width: 150px"
-            @change="sel"
             filterable
             clearable
           >
             <el-option
-              v-for="item in keywordList"
-              :key="item.id"
-              :label="item.keyword"
-              :value="item.id"
+              v-for="dict in dict.type.dict_tjtype"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
             ></el-option>
           </el-select>
         </el-form-item>
+
         <el-form-item label="鏄惁涓婃灦" prop="isOnSale">
           <!-- <el-radio-group v-model="form.pacStatus">
               <el-radio :label="0">鍚敤</el-radio>
@@ -414,7 +412,7 @@
           <el-select
             v-model="form.isOnSale"
             placeholder="璇烽�夋嫨鏄惁涓婃灦"
-            style="width: 150px"
+            style="width: 140px"
             filterable
             clearable
           >
@@ -469,19 +467,21 @@
             style="width: 140px"
           />
         </el-form-item>
-        <el-form-item label="浣撴绫诲埆" prop="tjCategory">
+        <el-form-item label="鍏抽敭瀛�" prop="keywords">
           <el-select
-            v-model="form.tjCategory"
-            placeholder="璇烽�夋嫨浣撴绫诲埆"
-            style="width: 150px"
+            multiple
+            v-model="form.keywords"
+            placeholder="璇烽�夋嫨鍏抽敭瀛�"
+            style="width: 160px"
+            @change="sel"
             filterable
             clearable
           >
             <el-option
-              v-for="dict in dict.type.dict_tjtype"
-              :key="dict.value"
-              :label="dict.label"
-              :value="dict.value"
+              v-for="item in keywordList"
+              :key="item.id"
+              :label="item.keyword"
+              :value="item.id"
             ></el-option>
           </el-select>
         </el-form-item>
@@ -864,9 +864,9 @@
         // categoryId: [
         //   { required: true, validator: checkPhoneNum, trigger: "change" },
         // ],
-        keywords: [
+        /*  keywords: [
           { required: true, validator: checkPhoneNum, trigger: "change" },
-        ],
+        ], */
         isOnSale: [
           { required: true, validator: checkPhoneNum, trigger: "change" },
         ],
@@ -875,6 +875,9 @@
           { required: true, validator: checkPhoneNum, trigger: "blur" },
         ],
         counterPrice: [
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
+        ],
+        tjCategory: [
           { required: true, validator: checkPhoneNum, trigger: "blur" },
         ],
       },
@@ -1491,7 +1494,7 @@
       if (this.keys) {
         this.form.keywords = this.keys; // 濡傛灉鏈� this.keys锛屽垯鐩存帴璧嬪��
       } else {
-        this.form.keywords = this.form.keywords.toString(); // 濡傛灉娌℃湁锛屽垯灏� this.form.keywords 杞垚瀛楃涓�
+        // this.form.keywords = this.form.keywords; // 濡傛灉娌℃湁锛屽垯灏� this.form.keywords 杞垚瀛楃涓�
       }
 
       let packageProjects = []; // 瀹氫箟涓�涓┖鏁扮粍
@@ -1514,7 +1517,7 @@
         price: this.pics,
         pacId: this.form.pacId || null,
         isOnSale: this.form.isOnSale,
-        keywords: this.form.keywords,
+        // keywords: this.form.keywords,
         sort: this.form.sort,
         retailPrice: this.form.retailPrice,
         tjCategory: this.form.tjCategory,

--
Gitblit v1.8.0