From 21230681ce497427ec17b93e1c66dc58ae739446 Mon Sep 17 00:00:00 2001
From: lkk <364857242@qq.com>
Date: 星期三, 22 一月 2025 15:19:52 +0800
Subject: [PATCH] 111

---
 src/views/doctor/check/index.vue     |    7 
 src/views/doctor/checkAll/index.vue  |  110 +++++++++++++----
 src/views/hosp/order/index.vue       |  168 ++++++++++++++++++++++++++-
 src/views/system/packages/index.vue  |   23 ++-
 vue.config.js                        |    4 
 src/views/hosp/advicerules/index.vue |   25 ---
 6 files changed, 265 insertions(+), 72 deletions(-)

diff --git a/src/views/doctor/check/index.vue b/src/views/doctor/check/index.vue
index ac92118..8ae35f1 100644
--- a/src/views/doctor/check/index.vue
+++ b/src/views/doctor/check/index.vue
@@ -1969,9 +1969,9 @@
       });
     },
     hb() {
-      if (this.queryParams.tjNumber != "") {
-        this.submitForm();
-      }
+     /*  if (this.queryParams.tjNumber != "") {
+        // this.submitForm(); 
+      } */
     },
     propoChange() {
       this.cusobj = { sex: this.tableAll.cusSex, isZj: 1 };
@@ -2004,6 +2004,7 @@
       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) {
diff --git a/src/views/doctor/checkAll/index.vue b/src/views/doctor/checkAll/index.vue
index cd45cf2..c99d765 100644
--- a/src/views/doctor/checkAll/index.vue
+++ b/src/views/doctor/checkAll/index.vue
@@ -655,21 +655,44 @@
                   >
                     <el-table-column type="expand">
                       <template slot-scope="props">
-                        <div
-                          v-if="
-                            props.row.advices && props.row.advices.length > 0
-                          "
-                        >
+                        <div>
                           <div
-                            v-for="(jianyi, index1) in props.row.advices"
-                            :key="index1"
-                            style="padding: 0 10px; margin-bottom: 10px"
+                            v-if="
+                              props.row.advices && props.row.advices.length > 0
+                            "
                           >
+                            <div
+                              v-for="(jianyi, index1) in props.row.advices"
+                              :key="index1"
+                              style="padding: 0 10px; margin-bottom: 10px"
+                            >
+                              <div>
+                                鏍囬锛�
+                                <el-input
+                                  v-model="jianyi.bt"
+                                  size="small"
+                                  type="textarea"
+                                  autosize
+                                ></el-input>
+                              </div>
+                              <div>
+                                鍐呭锛�
+                                <el-input
+                                  v-model="jianyi.nr"
+                                  size="small"
+                                  type="textarea"
+                                  autosize
+                                ></el-input>
+                              </div>
+                            </div>
+                          </div>
+
+                          <!-- 濡傛灉 advices 涓虹┖鏃讹紝娓叉煋绌虹殑杈撳叆妗� -->
+                          <div v-else>
                             <div>
                               鏍囬锛�
-                              <!-- {{ jianyi.bt || "" }} -->
                               <el-input
-                                v-model="jianyi.bt"
+                                v-model="emptyAdvice.bt"
                                 size="small"
                                 type="textarea"
                                 autosize
@@ -678,7 +701,7 @@
                             <div>
                               鍐呭锛�
                               <el-input
-                                v-model="jianyi.nr"
+                                v-model="emptyAdvice.nr"
                                 size="small"
                                 type="textarea"
                                 autosize
@@ -686,7 +709,6 @@
                             </div>
                           </div>
                         </div>
-                        <!-- <div v-else style="padding: 0 10px">鏆傛棤鍐呭</div> -->
                       </template>
                     </el-table-column>
 
@@ -737,23 +759,45 @@
                   >
                     <el-table-column type="expand">
                       <template slot-scope="props">
-                        <div
-                          v-if="
-                            props.row.advices && props.row.advices.length > 0
-                          "
-                        >
+                        <div>
+                          <!-- 濡傛灉 advices 闈炵┖锛屾覆鏌撳叾鍐呭 -->
                           <div
-                            v-for="(jianyi, index1) in props.row.advices"
-                            :key="index1"
-                            style="padding: 0 10px; margin-bottom: 10px"
+                            v-if="
+                              props.row.advices && props.row.advices.length > 0
+                            "
                           >
-                            <!-- <div>鏍囬锛歿{ jianyi.bt || "" }}</div>
-                            <div>鍐呭锛歿{ jianyi.nr || "" }}</div> -->
+                            <div
+                              v-for="(jianyi, index1) in props.row.advices"
+                              :key="index1"
+                              style="padding: 0 10px; margin-bottom: 10px"
+                            >
+                              <div>
+                                鏍囬锛�
+                                <el-input
+                                  v-model="jianyi.bt"
+                                  size="small"
+                                  type="textarea"
+                                  autosize
+                                ></el-input>
+                              </div>
+                              <div>
+                                鍐呭锛�
+                                <el-input
+                                  v-model="jianyi.nr"
+                                  size="small"
+                                  type="textarea"
+                                  autosize
+                                ></el-input>
+                              </div>
+                            </div>
+                          </div>
+
+                          <!-- 濡傛灉 advices 涓虹┖鏃讹紝娓叉煋绌虹殑杈撳叆妗� -->
+                          <div v-else>
                             <div>
                               鏍囬锛�
-                              <!-- {{ jianyi.bt || "" }} -->
                               <el-input
-                                v-model="jianyi.bt"
+                                v-model="emptyAdvice.bt"
                                 size="small"
                                 type="textarea"
                                 autosize
@@ -762,7 +806,7 @@
                             <div>
                               鍐呭锛�
                               <el-input
-                                v-model="jianyi.nr"
+                                v-model="emptyAdvice.nr"
                                 size="small"
                                 type="textarea"
                                 autosize
@@ -770,7 +814,6 @@
                             </div>
                           </div>
                         </div>
-                        <!-- <div v-else style="padding: 0 10px">鏆傛棤鍐呭</div> -->
                       </template>
                     </el-table-column>
 
@@ -1368,7 +1411,10 @@
   data() {
     return {
       // 鏇存柊鎬绘寤鸿
-
+      emptyAdvice: {
+        bt: "",
+        nr: "",
+      },
       initialTotalCheckAdvice: "",
       initialState: "",
       preObj: {},
@@ -2331,7 +2377,7 @@
         .flat(); // 浣跨敤 flat() 鏂规硶灏嗗祵濂楁暟缁勫睍骞�
       console.log(dataList, 777);
 
-     /*  addOrder(dataList).then((res) => {
+      /*  addOrder(dataList).then((res) => {
         console.log(res, 999);
       }); */
       getTjdetailList(data)
@@ -2382,7 +2428,12 @@
             });
 
             // 绛夊緟鎵�鏈夎姹傚畬鎴�
-            Promise.all([reportPromise, statePromise,addOrderPromise, ...updatePromises])
+            Promise.all([
+              reportPromise,
+              statePromise,
+              addOrderPromise,
+              ...updatePromises,
+            ])
               .then(() => {
                 // 鎵�鏈夎姹傚畬鎴愶紝鍏抽棴 loading
                 this.loading = false;
@@ -2591,6 +2642,7 @@
     max-height: calc(100vh - 100px); /* 鍋囪浣犳兂涓洪《閮ㄥ拰搴曢儴鐣欏嚭涓�浜涚┖闂� */
     overflow-y: auto; /* 鍏佽鍨傜洿婊氬姩 */
     padding: 0 0 50px; /* 鍙�夛細娣诲姞涓�浜涘唴杈硅窛浠ラ伩鍏嶅唴瀹圭揣璐磋竟缂� */
+    padding-bottom: 200px;
   }
 }
 
diff --git a/src/views/hosp/advicerules/index.vue b/src/views/hosp/advicerules/index.vue
index d64735b..a4c9279 100644
--- a/src/views/hosp/advicerules/index.vue
+++ b/src/views/hosp/advicerules/index.vue
@@ -240,9 +240,9 @@
           />
         </el-form-item>
 
-        <el-form-item label="鑼冨洿" prop="fw">
+        <el-form-item label="鑼冨洿" prop="fwz">
           <el-input
-            v-model="form.fw"
+            v-model="form.fwz"
             placeholder="璇疯緭鍏ヨ寖鍥�"
             style="width: 200px"
           />
@@ -276,37 +276,22 @@
           <el-checkbox
             v-model="form.sfcjb"
             true-label="鏄�"
-            false-label="鍚�"
+            false-label=""
           ></el-checkbox>
-          <!--  <el-input
-            v-model="form.sfcjb"
-            style="width: 200px"
-            placeholder="璇疯緭鍏ユ槸鍚﹀父瑙佺梾"
-          /> -->
         </el-form-item>
         <el-form-item label="鎱㈡�х梾" prop="sfmxb">
           <el-checkbox
             v-model="form.sfmxb"
             true-label="鏄�"
-            false-label="鍚�"
+            false-label=""
           ></el-checkbox>
-          <!-- <el-input
-            v-model="form.sfmxb"
-            style="width: 200px"
-            placeholder="璇疯緭鍏ユ槸鍚︽參鎬х梾"
-          /> -->
         </el-form-item>
         <el-form-item label="閲嶅ぇ鐤剧梾" prop="sfzdjb">
           <el-checkbox
             v-model="form.sfzdjb"
             true-label="鏄�"
-            false-label="鍚�"
+            false-label=""
           ></el-checkbox>
-          <!-- <el-input
-            v-model="form.sfzdjb"
-            style="width: 200px"
-            placeholder="璇疯緭鍏ユ槸鍚﹂噸澶х柧鐥�"
-          /> -->
         </el-form-item>
         <el-form-item label="寤鸿鍚嶇О" prop="jymc" style="display: block">
           <el-input
diff --git a/src/views/hosp/order/index.vue b/src/views/hosp/order/index.vue
index c5e9a65..31be2bf 100644
--- a/src/views/hosp/order/index.vue
+++ b/src/views/hosp/order/index.vue
@@ -673,7 +673,7 @@
                         :props="defaultProps"
                         show-checkbox
                         node-key="proId"
-                        @check="handleCurrentChecked"
+                        @check-change="handleCurrentChecked"
                         :default-checked-keys="checkedkey"
                         :filter-node-method="filterNode"
                         ref="tree"
@@ -966,7 +966,7 @@
                         :props="defaultProp"
                         show-checkbox
                         node-key="id"
-                        @check="handlepackage"
+                        @check-change="handlepackage"
                         :default-checked-keys="checkedkeys"
                         :filter-node-method="filterpackage"
                         ref="treas"
@@ -1027,7 +1027,7 @@
                         :props="defaultProps"
                         show-checkbox
                         node-key="proId"
-                        @check="handleCurrentChecked"
+                        @check-change="handleCurrentChecked"
                         :default-checked-keys="checkedkey"
                         :filter-node-method="filterNode"
                         ref="tree"
@@ -1180,7 +1180,7 @@
             </el-table-column>
           </el-table>
 
-          <!-- <h3 style="font-weight: 600">鍚堣锛歿{ marryalls }}鍏�</h3> -->
+          <h3 style="font-weight: 600">鍚堣锛歿{ marryalls }}鍏�</h3>
         </div>
       </div>
 
@@ -2513,8 +2513,88 @@
         // }
       }
     },
-
     handlepackage(data, checked, checkedNodes) {
+      if (checked == true) {
+        this.$refs.treas.setCheckedKeys([data.id]);
+        let datas = {
+          zhId: data.id,
+        };
+
+        getlistByZhId(datas).then((res) => {
+          this.packagedataList = res.data.tjProjectList;
+          for (var i = 0; i < this.packagedataList.length; i++) {
+            let proId = this.packagedataList[i].proId;
+            getProSonDxList(proId).then((res) => {
+              this.TreedataList = res.data.list;
+              this.TreedataList.forEach((item) => {
+                this.Datalists.push(item);
+              });
+
+              // 鍚堝苟 Datalists 鍜� DataList 鍒� DataList3
+              this.DataList3 = this.DataList.concat(this.Datalists);
+
+              // 娓呯┖绱姞鍣�
+              this.marryalls = 0;
+              this.TotalPrice1 = 0;
+
+              // 閲嶆柊璁$畻浠锋牸
+              this.DataList3.forEach((item) => {
+                console.log(item.proPrice);
+                this.TotalPrice1 += item.proPrice * item.sl;
+                this.marryalls += item.proPrice; 
+              });
+
+              // 涓烘瘡涓」鐩坊鍔� propinName
+              this.Datalists.forEach((item1) => {
+                this.packagedataList.forEach((item3) => {
+                  if (item1.proParentId == item3.proId) {
+                    item1.propinName = item3.proName;
+                  }
+                });
+              });
+            });
+          }
+        });
+      } else if (checked == false) {
+        let datas = {
+          zhId: data.id,
+        };
+
+        this.marryalls = 0;
+
+        // 娓呯┖ Datalists 鍜� DataList3
+        this.Datalists = [];
+        this.DataList3 = [...this.DataList]; // 閲嶆柊璁剧疆 DataList3锛屼粎鍖呭惈鍘熷 DataList
+
+        getlistByZhId(datas).then((res) => {
+          this.packagedataList = res.data.tjProjectList;
+          for (var i = 0; i < this.packagedataList.length; i++) {
+            let proId = this.packagedataList[i].proId;
+            getProSonDxList(proId).then((res) => {
+              this.TreedataList = res.data.list;
+              this.checkedListkey = this.checkedListkey.filter(
+                (id) => id !== proId
+              );
+
+              // 浠� DataList3 涓Щ闄ょ浉鍏崇殑瀛愰」
+              this.DataList3 = this.DataList3.filter(
+                (item) => item.proParentId !== proId
+              );
+
+              // 鏇存柊鎬讳环鏍�
+              this.TotalPrice1 = 0; // 娓呯┖浠锋牸
+              this.DataList3.forEach((item) => {
+                this.TotalPrice1 += item.proPrice;
+              });
+            });
+          }
+        });
+      }
+    },
+
+    /* handlepackage(data, checked, checkedNodes) {
+      console.log(checked, 3333);
+
       if (checked.checkedNodes.length != 0) {
         this.$refs.treas.setCheckedKeys([data.id]);
         let datas = {
@@ -2537,7 +2617,7 @@
                     this.marryalls += item1.proPrice;
                     // this.TotalPrice1 = this.marryalls;
                     this.TotalPrice1 = 0;
-                    console.log(this.DataList3, 9999999999);
+
                     if (this.DataList3.length != 0) {
                       this.DataList3.forEach((item) => {
                         console.log(item.proPrice);
@@ -2557,7 +2637,7 @@
         });
       } else if (checked.checkedNodes.length == 0) {
       }
-    },
+    }, */
 
     renderContent(h, { node, data, store }) {
       return (
@@ -2664,9 +2744,10 @@
     },
 
     // 鐐瑰嚮鑾峰彇姣忎釜鏍戣妭鐐�
-    handleCurrentChecked(data, checked, checkedNodes) {
+    /*  handleCurrentChecked(data, checked, checkedNodes) {
       this.dataObj = data;
-      if (checked.checkedNodes.length != 0) {
+      this.checkedObj = checked;
+      if (checked == true) {
         this.$refs.tree.setCheckedKeys([data.proId]);
         let proId = data.proId;
         getProSonDxList(proId).then((res) => {
@@ -2699,11 +2780,78 @@
           //   }
           // }
         });
-      } else if (checked.checkedNodes.length == 0) {
+      } else if (checked == false) {
         let proId = data.proId;
         getProSonDxList(proId).then((res) => {
           this.TreedataList = res.data.list;
           this.checkedListkey = [];
+          this.TreedataList.forEach((item) => {
+            item.disabled = true;
+          });
+          this.DataList3.forEach((item, index) => {
+            if (item.proParentId == this.dataObj.proId) {
+              this.DataList3.splice(index, this.TreedataList.length);
+            }
+          });
+
+          // 鎵嬪姩鏇存柊鎬讳环鏍�
+          this.TotalPrice1 = 0;
+          this.DataList3.forEach((item, index) => {
+            this.TotalPrice1 += item.proPrice * item.sl;
+          });
+        });
+      }
+    }, */
+    handleCurrentChecked(data, checked, checkedNodes) {
+      this.dataObj = data;
+      this.checkedObj = checked;
+
+      if (checked === true) {
+        this.$refs.tree.setCheckedKeys([data.proId]);
+        let proId = data.proId;
+        getProSonDxList(proId).then((res) => {
+          this.TreedataList = res.data.list;
+          this.TreedataList.forEach((item) => {
+            item.disabled = true;
+            this.checkedListkey.push(item.proId);
+            this.DataList3.push(item);
+            this.spliceData();
+            this.DataList3.forEach((item1) => {
+              this.TotalPrice1 += item1.proPrice * item1.sl;
+              if (item1.proParentId == data.proId) {
+                item1.propinName = data.proName;
+                item1.propinPrice = this.dataObj.proPrice;
+              }
+            });
+          });
+
+          // 鏇存柊鎬讳环鏍�
+          this.TotalPrice1 = 0;
+          this.DataList3.forEach((item) => {
+            this.TotalPrice1 += item.proPrice * item.sl;
+          });
+        });
+      } else if (checked === false) {
+        // 褰撳彇娑堥�変腑鏃�
+        let proId = data.proId;
+        getProSonDxList(proId).then((res) => {
+          this.TreedataList = res.data.list;
+
+          // 浠庡凡閫夊垪琛ㄤ腑绉婚櫎璇ラ」鐩殑 ID
+          this.checkedListkey = this.checkedListkey.filter(
+            (id) => id !== proId
+          );
+
+          // 浠� DataList3 涓Щ闄ょ浉鍏崇殑瀛愰」
+          this.DataList3 = this.DataList3.filter(
+            (item) => item.proParentId !== proId
+          );
+
+          // 鏇存柊鎬讳环鏍�
+          this.TotalPrice1 = 0;
+          this.DataList3.forEach((item) => {
+            this.TotalPrice1 += item.proPrice * item.sl;
+          });
         });
       }
     },
diff --git a/src/views/system/packages/index.vue b/src/views/system/packages/index.vue
index 838fbe1..c427a25 100644
--- a/src/views/system/packages/index.vue
+++ b/src/views/system/packages/index.vue
@@ -263,6 +263,8 @@
             >
               <el-table-column prop="propinName" label="妫�鏌ラ」鐩�">
               </el-table-column>
+              <el-table-column prop="sl" label="鏁伴噺" width="56px">
+              </el-table-column>
               <el-table-column prop="proPrice" label="鍘熶环" width="56px">
               </el-table-column>
               <el-table-column prop="proName" label="鏄庣粏椤圭洰" width="260px">
@@ -589,7 +591,10 @@
                       });
                       this.pics = 0;
                       this.DataList.forEach((item) => {
-                        this.pics += item.proPrice;
+                        console.log(this.DataList,8888);
+                        
+                        this.pics += item.proPrice * item.sl;
+                        // this.pics += item.proPrice;
                       });
                     }
                   });
@@ -612,7 +617,7 @@
               });
               this.pics = 0;
               this.DataList.forEach((item) => {
-                this.pics += item.proPrice;
+                this.pics += item.proPrice * item.sl;
               });
             });
           });
@@ -623,6 +628,8 @@
     handleCurrentChecked(data, checked, checkedNodes) {
       this.dataObj = data;
       this.checkedObj = checked;
+      console.log(checked,555);
+      
       if (checked == true) {
         // this.$refs.tree.setCheckedKeys([data.proId]);
         let proId = data.proId;
@@ -635,7 +642,7 @@
             this.spliceData();
             this.pics = 0;
             this.DataList.forEach((item1) => {
-              this.pics += item1.proPrice;
+              this.pics += item1.proPrice * item1.sl;
               if (item1.proParentId == data.proId) {
                 item1.propinName = data.proName;
                 item1.propinPrice = this.dataObj.proPrice;
@@ -648,7 +655,7 @@
             this.list1 = false;
             this.DataList.forEach((item) => {
               this.TotalPrice1 = item.proPrice + this.TotalPrice1;
-              this.pics += item.proPrice;
+              this.pics += item.proPrice * item.sl;
             });
           }
         });
@@ -667,7 +674,7 @@
           });
           this.pics = 0;
           this.DataList.forEach((item, index) => {
-            this.pics += item.proPrice;
+            this.pics += item.proPrice * item.sl;
           });
         });
       }
@@ -695,7 +702,7 @@
             this.TotalPrice1 = 0;
             this.pics = 0;
             this.DataList.forEach((item1) => {
-              this.pics += item1.proPrice;
+              this.pics + item1.proPrice * item1.sl;
               // this.TotalPrice1 = item1.proPrice + this.TotalPrice1;
             });
           }
@@ -704,7 +711,7 @@
         this.DataList.push(data);
         this.pics = 0;
         this.DataList.forEach((item1) => {
-          this.pics += item1.proPrice;
+          this.pics += item1.proPrice * item1.sl;
           if (item1.proParentId == this.dataObj.proId) {
             item1.propinName = this.dataObj.proName;
             item1.propinPrice = this.dataObj.proPrice;
@@ -715,7 +722,7 @@
         this.pics = 0;
         this.DataList.forEach((item1) => {
           // this.TotalPrice1 = item1.proPrice + this.TotalPrice1;
-          this.pics += item1.proPrice;
+          this.pics += item1.proPrice * item1.sl;
         });
       }
     },
diff --git a/vue.config.js b/vue.config.js
index fd5ce6e..0e775f0 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -53,8 +53,8 @@
       // detail: https://cli.vuejs.org/config/#devserver-proxy
       [process.env.VUE_APP_BASE_API]: {
         // target: `https://ltpeis.xaltjdkj.cn:5801/`,
-        target: `http://192.168.1.2:5011`,
-        // target: `http://192.168.1.113:5011`,
+        // target: `http://192.168.1.2:5011`,
+        target: `http://192.168.1.113:5011`,
         // // target: `http://192.168.0.99:8080/ltkj-admin`,
         // target: `https://ltpeis.xaltjdkj.cn:5011/ltkj-admin`,
         // target: `http://10.168.0.9:5011`,

--
Gitblit v1.8.0