From 009a117ddee0ec3e720f7535c210ef9a4a9f4c94 Mon Sep 17 00:00:00 2001
From: wwl <xchao828@163.com>
Date: 星期一, 24 三月 2025 17:51:58 +0800
Subject: [PATCH] 总检审核

---
 src/views/doctor/checkAll/index.vue |  205 +++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 190 insertions(+), 15 deletions(-)

diff --git a/src/views/doctor/checkAll/index.vue b/src/views/doctor/checkAll/index.vue
index a019722..a67e45e 100644
--- a/src/views/doctor/checkAll/index.vue
+++ b/src/views/doctor/checkAll/index.vue
@@ -96,20 +96,17 @@
     </template>
 
     <!-- 鐐瑰嚮寮瑰嚭妗� -->
-    <el-drawer custom-class="tanchu" :visible.sync="drawer" :before-close="handleClose" :with-header="false" size="100%"
-      show-close="true">
-      <div class="top">
-        <table style="
-            width: 100%;
-            margin: 10px 10px;
-            border: 1px solid #dfe6ec;
-            border-collapse: collapse;
-          " cellspacing="4">
-          <caption style="background-color: #f8f8f9; font-size: 18px">
-            {{
-              tableAll.cusName
-            }}鐨勪綋妫�璧勬枡
-          </caption>
+    <el-drawer custom-class="tanchu"
+  :visible.sync="drawer"
+  :before-close="handleClose"
+  :with-header="false"
+  size="100%"
+  :show-close="true">
+  <div class="top">
+    <table style="width: 100%; margin: 10px 10px; border: 1px solid #dfe6ec; border-collapse: collapse;" cellspacing="4">
+      <caption style="background-color: #f8f8f9; font-size: 18px">
+        {{ tableAll.cusName }}鐨勪綋妫�璧勬枡
+      </caption>
           <tr style="
               border: 1px solid #dfe6ec;
               border-collapse: collapse;
@@ -502,6 +499,7 @@
                 </el-table>
               </div>
             </template>
+            <el-button type="primary" @click="addnew" :disabled="isdisabled">鏂板</el-button>
           </div>
         </div>
       </div>
@@ -719,6 +717,50 @@
         <el-button @click="jianqians = false">鍙� 娑�</el-button>
       </span>
     </el-dialog>
+    <el-dialog title="鏂板寮傚父缁撴灉" :visible.sync="addNewDialogVisible" width="900px" :before-close="handleAddNewClose"
+      class="custom-dialog">
+      <el-form :model="newItem" ref="newItemForm" label-width="100px" class="custom-form">
+        <el-form-item label="椤圭洰鍒嗙被" prop="parentName">
+          <el-select v-model="newItem.parentName" placeholder="璇烽�夋嫨椤圭洰鍒嗙被" clearable filterable
+            @change="handleCategoryChange">
+            <el-option v-for="item in projectCategories" :key="item.proId" :label="item.proName"
+              :value="item.proName" />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="妫�娴嬮」鐩�" prop="jcxm">
+          <el-input v-model="newItem.jcxm" placeholder="璇疯緭鍏ユ娴嬮」鐩垨浠庡垎绫婚�夋嫨" clearable></el-input>
+        </el-form-item>
+        <el-form-item label="妫�娴嬬粨鏋�" prop="jcjg">
+          <el-input v-model="newItem.jcjg" placeholder="璇疯緭鍏ユ娴嬬粨鏋�" clearable></el-input>
+        </el-form-item>
+        <el-form-item label="鍙傝�冭寖鍥�" prop="ckfw">
+          <el-input v-model="newItem.ckfw" placeholder="璇疯緭鍏ュ弬鑰冭寖鍥�" clearable></el-input>
+        </el-form-item>
+        <el-form-item label="鍗曚綅" prop="dw">
+          <el-input v-model="newItem.dw" placeholder="璇疯緭鍏ュ崟浣�" clearable></el-input>
+        </el-form-item>
+
+        <!-- 鍔ㄦ�佸缓璁粍 -->
+        <div v-for="(advice, index) in newItem.map" :key="index" class="advice-group">
+          <el-form-item label="寤鸿鏍囬" :prop="'map.' + index + '.bt'">
+            <el-input v-model="advice.bt" placeholder="璇疯緭鍏ュ缓璁爣棰�" clearable></el-input>
+          </el-form-item>
+          <el-form-item label="寤鸿鍐呭" :prop="'map.' + index + '.nr'">
+            <el-input v-model="advice.nr" type="textarea" rows="3" placeholder="璇疯緭鍏ュ缓璁唴瀹�" resize="none"></el-input>
+          </el-form-item>
+          <el-button v-if="index > 0" type="danger" size="small" @click="removeAdvice(index)"
+            style="margin-left: 100px; margin-bottom: 10px;">鍒犻櫎</el-button>
+        </div>
+
+        <el-form-item>
+          <el-button type="primary" size="small" @click="addAdvice" style="margin-left: 100px;">娣诲姞寤鸿</el-button>
+        </el-form-item>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="addNewDialogVisible = false">鍙栨秷</el-button>
+        <el-button type="primary" @click="submitNewItem">纭畾</el-button>
+      </span>
+    </el-dialog>
     <Packages ref="bbb" :baogao="baogao" />
     <Prescription ref="Pre" :preObj="preObj" />
     <proposal ref="proposal" :cusobj="cusobj" @event1="eventchange($event)" />
@@ -749,6 +791,7 @@
   getModified,
   isPdfOrJimu,
   addOrder,
+  addOrder1
 } from "@/api/doctor/checkAll";
 import { getInfoById } from "@/api/hosp/history";
 import { getInfo } from "@/api/login";
@@ -789,6 +832,19 @@
   name: "checkAll",
   data() {
     return {
+      addNewDialogVisible: false,
+      newItem: {
+        parentName: '',   // 椤圭洰鍒嗙被锛屽搴旀ā鏉夸腑鐨� parentName
+        jcxm: '',         // 妫�娴嬮」鐩紝瀵瑰簲妯℃澘涓殑 jcxm
+        jcjg: '',         // 妫�娴嬬粨鏋滐紝瀵瑰簲妯℃澘涓殑 jcjg
+        ckfw: '',         // 鍙傝�冭寖鍥达紝瀵瑰簲妯℃澘涓殑 ckfw
+        dw: '',           // 鍗曚綅锛屽搴旀ā鏉夸腑鐨� dw
+        map: [{           // 寤鸿鍒楄〃锛屽搴旀ā鏉夸腑鐨勫姩鎬佸缓璁粍 map
+          bt: '',         // 寤鸿鏍囬锛屽搴旀ā鏉夸腑鐨� map[index].bt
+          nr: ''          // 寤鸿鍐呭锛屽搴旀ā鏉夸腑鐨� map[index].nr
+        }]
+      },
+      projectCategories: [],
       // 鏇存柊鎬绘寤鸿
       emptyAdvice: {
         bt: "",
@@ -940,6 +996,82 @@
     });
   },
   methods: {
+    submitNewItem() {
+      const data = {
+        tjh: this.tableAll.tjNumber, // 浣撴鍙凤紝浠� tableAll 涓幏鍙�
+        parentName: this.newItem.parentName,
+        jcxm: this.newItem.jcxm,
+        jcjg: this.newItem.jcjg,
+        ckfw: this.newItem.ckfw,
+        dw: this.newItem.dw,
+        map: this.newItem.map,
+        jyjc: this.newItem.ckfw ? "0" : "1"
+      };
+
+      addOrder1(data).then((res) => {
+        console.log(res);
+        if (res.code === 200) {
+          this.$message.success('鏂板寮傚父缁撴灉鎴愬姛');
+          this.addNewDialogVisible = false;
+          this.yichangjieguo();
+        } else {
+          this.$message.error('鏂板澶辫触');
+        }
+      }).catch((error) => {
+        console.error('鏂板寮傚父缁撴灉澶辫触:', error);
+        this.$message.error('鏂板寮傚父缁撴灉澶辫触');
+      });
+    },
+    addnew() {
+      this.newItem = {
+        parentName: '',
+        jcxm: '',
+        jcjg: '',
+        ckfw: '',
+        dw: '',
+        map: [{ bt: '', nr: '' }]
+      };
+      this.addNewDialogVisible = true;
+
+      cSWebGetPro(this.tjNumber).then((res) => {
+        console.log(res);
+        if (res.data && Array.isArray(res.data)) {
+          this.projectCategories = res.data;
+        } else {
+          this.$message.warning('鏈幏鍙栧埌椤圭洰鍒嗙被鏁版嵁');
+          this.projectCategories = [];
+        }
+      }).catch((error) => {
+        console.error('鑾峰彇椤圭洰鍒嗙被澶辫触:', error);
+        this.$message.error('鑾峰彇椤圭洰鍒嗙被澶辫触');
+        this.projectCategories = [];
+      });
+    },
+
+    handleCategoryChange(value) {
+      if (value) {
+        this.newItem.jcxm = value; // 灏嗛�夋嫨鐨勯」鐩垎绫昏祴鍊肩粰妫�娴嬮」鐩�
+      }
+    },
+
+    handleAddNewClose(done) {
+      // this.$confirm('纭畾鍏抽棴鏂板绐楀彛鍚楋紵鏈繚瀛樼殑鏁版嵁灏嗕涪澶便��')
+      //   .then(() => done())
+      //   .catch(() => { });
+    },
+
+    // 娣诲姞鏂扮殑寤鸿缁�
+    addAdvice() {
+      this.newItem.map.push({ bt: '', nr: '' });
+    },
+
+    removeAdvice(index) {
+      if (this.newItem.map.length > 1) {
+        this.newItem.map.splice(index, 1);
+      } else {
+        this.$message.warning('鑷冲皯淇濈暀涓�缁勫缓璁�');
+      }
+    },
     shanchu(row) {
       shanchu({
         id: row.orderDetailId,
@@ -993,7 +1125,7 @@
     },
 
     getRowKeys(row) {
-      return row.proId;
+      return row.orderDetailId;
     },
     // 椤圭洰鎯呭喌
     xiangmuqingkuang() {
@@ -2282,4 +2414,47 @@
 ::v-deep .el-drawer {
   padding: 0 0 50px;
 }
+
+.custom-dialog {
+  ::v-deep .el-dialog__header {
+    padding: 15px 20px;
+    background-color: #f5f7fa;
+    border-bottom: 1px solid #e8ecef;
+  }
+
+  ::v-deep .el-dialog__title {
+    font-size: 18px;
+    color: #303133;
+    font-weight: 600;
+  }
+
+  ::v-deep .el-dialog__body {
+    padding: 20px; // 澧炲姞鍐呰竟璺�
+    background-color: #fff;
+  }
+
+  ::v-deep .el-dialog__footer {
+    padding: 10px 20px;
+    border-top: 1px solid #e8ecef;
+    text-align: right;
+  }
+
+  .custom-form {
+    .advice-group {
+      border: 1px solid #e8ecef;
+      border-radius: 4px;
+      padding: 10px;
+      margin-bottom: 15px;
+      background-color: #f9fbfc;
+
+      .el-form-item {
+        margin-bottom: 15px;
+      }
+
+      .el-button {
+        margin-top: 5px;
+      }
+    }
+  }
+}
 </style>

--
Gitblit v1.8.0