From 5dff3baef47eca75e0ceb3cda069cf8f0b7b768a Mon Sep 17 00:00:00 2001
From: wwl <xchao828@163.com>
Date: 星期五, 24 一月 2025 17:53:30 +0800
Subject: [PATCH] 1

---
 src/views/doctor/checkAll/index.vue |  473 ++++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 339 insertions(+), 134 deletions(-)

diff --git a/src/views/doctor/checkAll/index.vue b/src/views/doctor/checkAll/index.vue
index cd5b5d4..b36f769 100644
--- a/src/views/doctor/checkAll/index.vue
+++ b/src/views/doctor/checkAll/index.vue
@@ -190,7 +190,12 @@
             />
           </template>
         </el-table-column>
-        <el-table-column label="鎿嶄綔" align="center" width="90px" fixed="right">
+        <el-table-column
+          label="鎿嶄綔"
+          align="center"
+          width="120px"
+          fixed="right"
+        >
           <template slot-scope="scope">
             <el-button
               fixed="right"
@@ -397,6 +402,12 @@
                     <div v-else>{{ scope.row.proAdvice }}</div>
                   </template>
                 </el-table-column>
+                <el-table-column
+                  align="center"
+                  prop="conclusion"
+                  label="寮傚父"
+                  width="180"
+                ></el-table-column>
                 <el-table-column align="center" prop="" label=" 鍙傝�冭寖鍥�">
                   <template slot-scope="scope">
                     <div v-if="scope.row.project != null">
@@ -644,27 +655,67 @@
                   >
                     <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>鏍囬锛歿{ 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>
+                              鏍囬锛�
+                              <el-input
+                                v-model="emptyAdvice.bt"
+                                size="small"
+                                type="textarea"
+                                autosize
+                              ></el-input>
+                            </div>
+                            <div>
+                              鍐呭锛�
+                              <el-input
+                                v-model="emptyAdvice.nr"
+                                size="small"
+                                type="textarea"
+                                autosize
+                              ></el-input>
+                            </div>
                           </div>
                         </div>
-                        <div v-else style="padding: 0 10px">鏆傛棤鍐呭</div>
                       </template>
                     </el-table-column>
 
                     <el-table-column
                       align="center"
                       label="妫�娴嬮」鐩�"
+                      :show-overflow-tooltip="true"
                       width="353"
                     >
                       <template slot-scope="scope">
@@ -709,21 +760,61 @@
                   >
                     <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>
+                              鏍囬锛�
+                              <el-input
+                                v-model="emptyAdvice.bt"
+                                size="small"
+                                type="textarea"
+                                autosize
+                              ></el-input>
+                            </div>
+                            <div>
+                              鍐呭锛�
+                              <el-input
+                                v-model="emptyAdvice.nr"
+                                size="small"
+                                type="textarea"
+                                autosize
+                              ></el-input>
+                            </div>
                           </div>
                         </div>
-                        <div v-else style="padding: 0 10px">鏆傛棤鍐呭</div>
                       </template>
                     </el-table-column>
 
@@ -731,6 +822,7 @@
                       align="center"
                       label="妫�娴嬮」鐩�"
                       width="232"
+                      :show-overflow-tooltip="true"
                     >
                       <template slot-scope="scope">
                         <div>{{ scope.row.proName }}</div>
@@ -763,7 +855,6 @@
                   :data="statusList"
                   style="width: 100%"
                   :header-cell-style="{ background: '#e6a23c' }"
-                  :stripe="true"
                 >
                   <el-table-column
                     align="center"
@@ -1281,6 +1372,7 @@
   gettoPdf,
   getModified,
   isPdfOrJimu,
+  addOrder,
 } from "@/api/doctor/checkAll";
 import { getInfoById } from "@/api/hosp/history";
 import { getInfo } from "@/api/login";
@@ -1295,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: {
@@ -1321,6 +1414,10 @@
   data() {
     return {
       // 鏇存柊鎬绘寤鸿
+      emptyAdvice: {
+        bt: "",
+        nr: "",
+      },
       initialTotalCheckAdvice: "",
       initialState: "",
       preObj: {},
@@ -1510,9 +1607,29 @@
         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({
+          _this.$message({
             type: "warning ",
             message: "鏆傛棤寮傚父鎶ュ憡",
           });
@@ -1521,10 +1638,10 @@
     },
     getdate() {
       getNewDateList().then((res) => {
-        this.startTime = [
+        /* this.startTime = [
           moment(res.data).format("YYYY-MM-DD 00:00:00"),
           moment(res.data).format("YYYY-MM-DD 23:59:00"),
-        ];
+        ]; */
         this.getList();
       });
     },
@@ -1799,6 +1916,7 @@
       if (this.tjproject == "0") {
         getupdateCheckType(this.tjNumber).then((response) => {
           this.changedate = response.data;
+
           this.changedate.forEach((item) => {
             this.textarea1 = item.checkAdvice;
           });
@@ -1937,10 +2055,11 @@
       };
     },
     redxiangmu({ row }) {
-      if (row.type == 0) {
+      if (row.type != 1) {
         // 鍙橀鑹茬殑鏉′欢
         return {
-          color: "red", // 杩欎釜return鐨勫氨鏄牱寮� 鍙互鏄痗olor 涔熷彲浠ユ槸backgroundColor
+          backgroundColor: "#AAD8DF !important", // 杩欎釜return鐨勫氨鏄牱寮� 鍙互鏄痗olor 涔熷彲浠ユ槸backgroundColor
+          // color: "#AAD8DF ",
         };
       }
     },
@@ -2251,63 +2370,121 @@
     //   }
     // },
     change(vale) {},
-    /*  determine() {
-      let tjNumber = this.tableAll.tjNumber;
-      let advice = this.textarea1;
-      let data = {
-        tjNumber,
-        advice,
-        checkStatus: 1,
-      };
-      this.loading = true;
-      getTjdetailList(data).then((response) => {
-        if (response.code === 200) {
-          this.$modal.msgSuccess("鎻愪氦鎴愬姛");
-          let tjNumber = this.tjNumber;
-          let data = {
-            userId: this.userId,
-            tjNumber: tjNumber,
-            state: 1,
-            id: this.MsgId,
-          };
-          gettoPdf(tjNumber)
-            .then((res) => {
-              this.$modal.msgSuccess("宸茬敓鎴愭姤鍛婏紒璇峰墠寰�鎶ュ憡鏍告敹椤甸潰纭锛�");
-            })
-            .catch((error) => {
-              this.$modal.msgError(
-                "鎵撳嵃鎶ュ憡澶辫触锛岃鍓嶅線鎶ュ憡鎵撳嵃椤甸潰琛ユ墦鎶ュ憡锛�"
-              );
-            })
-          getfiedState(data).then((res) => {
-            this.drawer = false;
-          });
-          this.queryParams.page = 1;
-          this.queryParams.pageSize = 10;
-          this.submitForm();
-          this.$forceUpdate();
-      });
 
-      for (let i = 0; i < this.changedate.length; i++) {
-        this.proIds = this.changedate[i].parentId;
-        let remarks = this.changedate[i].remark;
-        let updateOrderRemarkVos = [
-          {
-            tjNumber,
-            proId: this.proIds.toString(),
-            remarks,
-          },
-        ];
-        getModified(updateOrderRemarkVos).then((response) => {});
-      }
+    // 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,
+    //   };
 
-      // this.changedate.forEach((item) => {
-      //   this.proIds = item.parentId;
-      //   // this.remark = item.remark;
-      // });
-    }, */
+    //   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 advice = this.textarea1;
       let data = {
         tjNumber,
@@ -2315,10 +2492,23 @@
         checkStatus: 1,
       };
 
-      // 寮�濮嬪姞杞�
-      this.loading = true;
+      console.log(this.yichangList, 6644);
 
-      // 鎻愪氦鏁版嵁
+      let dataList = this.yichangList
+        .map((item) => {
+          return item.sone.map((soneItem) => ({
+            tjh,
+            parentName: item.proName,
+            jcxm: soneItem.proName,
+            map: soneItem.advices,
+            jyjc: item.jyjc,
+            jcjg: soneItem.proResult,
+            ckfw: soneItem.stanId,
+            dw: soneItem.proAdvice,
+          }));
+        })
+        .flat(); // 浣跨敤 flat() 鏂规硶灏嗗祵濂楁暟缁勫睍骞�
+
       getTjdetailList(data)
         .then((response) => {
           if (response.code === 200) {
@@ -2332,51 +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 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, ...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
@@ -2491,16 +2692,16 @@
   width: 1700px;
   height: 900px;
 }
-::v-deep .el-dialog__header{
+::v-deep .el-dialog__header {
   padding: 8px;
 }
-::v-deep .el-dialog__body{
-padding: 0;
+::v-deep .el-dialog__body {
+  padding: 0;
 }
 ::v-deep .el-button--medium {
   padding: 10px;
 }
-::v-deep .el-dialog__headerbtn{
+::v-deep .el-dialog__headerbtn {
   // position: relative;
   top: 13px;
 }
@@ -2559,19 +2760,23 @@
 }
 
 .rightbox {
-  margin-left: 60px;
-  position: fixed;
-  top: 107px;
-  right: 56px;
+  // margin-left: 60px;
+  // position: fixed;
+  // top: 107px;
+  // right: 56px;
   width: 684px;
+  position: fixed; /* 鍥哄畾瀹氫綅 */
+  right: 60px;
 
   .right {
     background-color: #fff;
     // box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
     z-index: 10;
+
     max-height: calc(100vh - 100px); /* 鍋囪浣犳兂涓洪《閮ㄥ拰搴曢儴鐣欏嚭涓�浜涚┖闂� */
     overflow-y: auto; /* 鍏佽鍨傜洿婊氬姩 */
     padding: 0 0 50px; /* 鍙�夛細娣诲姞涓�浜涘唴杈硅窛浠ラ伩鍏嶅唴瀹圭揣璐磋竟缂� */
+    padding-bottom: 200px;
   }
 }
 

--
Gitblit v1.8.0