From 196bcb5caf222eea3e6a74d84a8367b169fd228a Mon Sep 17 00:00:00 2001
From: lkk <364857242@qq.com>
Date: 星期三, 23 七月 2025 10:47:35 +0800
Subject: [PATCH] 1

---
 src/views/reservation/reservations/index.vue |  281 +++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 195 insertions(+), 86 deletions(-)

diff --git a/src/views/reservation/reservations/index.vue b/src/views/reservation/reservations/index.vue
index c887aac..53eb1b0 100644
--- a/src/views/reservation/reservations/index.vue
+++ b/src/views/reservation/reservations/index.vue
@@ -119,10 +119,10 @@
             />
           </el-form-item>
 
-          <el-form-item label="鍗曚綅鍚嶇О" prop="company">
+          <el-form-item label="鍗曚綅鍚嶇О" prop="companyId">
             <el-select
               :remote-method="getRemoteData"
-              v-model="queryParams.company"
+              v-model="queryParams.companyId"
               remote
               default-first-option
               allow-create
@@ -142,6 +142,18 @@
             <i class="el-icon-circle-plus-outline" @click="handleAdd1"></i>
           </el-form-item>
 
+          <!-- <el-form-item label="濂楅鍚嶇О" prop="dwDeptName">
+            <el-select v-model="queryParams.dwDeptName" placeholder="璇烽�夋嫨濂楅鍚嶇О" clearable style="width: 100%"
+              @change="idFn2">
+              <el-option v-for="dict in deptList" :key="dict.id" :label="dict.dwDeptName" :value="dict.id" />
+            </el-select>
+          </el-form-item>
+
+          <el-form-item label="鍒嗙粍鍚嶇О" prop="groupingName">
+            <el-select v-model="queryParams.groupingName" placeholder="璇烽�夋嫨鍒嗙粍鍚嶇О" clearable style="width: 100%">
+              <el-option v-for="dict in groupingList" :key="dict.id" :label="dict.pacName" :value="dict.id" />
+            </el-select>
+          </el-form-item> -->
           <el-form-item label="棰勭害鏃堕棿">
             <el-date-picker
               clearable
@@ -184,6 +196,7 @@
               />
             </el-select>
           </el-form-item>
+
           <el-form-item>
             <el-button
               type="primary"
@@ -319,7 +332,7 @@
           <span>{{ parseTime(scope.row.reservationTime, "{y}-{m}-{d}") }}</span>
         </template>
       </el-table-column>
-      <el-table-column
+      <!-- <el-table-column
         label="浣撴绫诲瀷"
         align="center"
         prop="tjType"
@@ -329,7 +342,7 @@
         <template slot-scope="scope">
           <dict-tag :options="dict.type.dict_team" :value="scope.row.tjType" />
         </template>
-      </el-table-column>
+      </el-table-column> -->
       <el-table-column
         label="濠氬Щ"
         align="center"
@@ -379,9 +392,23 @@
         :show-overflow-tooltip="true"
       />
       <el-table-column
-        label="閭"
+        label="濂楅鍚嶇О"
         align="center"
-        prop="email"
+        prop="dwDeptName"
+        :show-overflow-tooltip="true"
+        width="160px"
+      />
+      <el-table-column
+        label="鍒嗙粍鍚嶇О"
+        align="center"
+        prop="groupingName"
+        :show-overflow-tooltip="true"
+        width="160px"
+      />
+      <el-table-column
+        label="鍗曚綅閮ㄩ棬"
+        align="center"
+        prop="department"
         :show-overflow-tooltip="true"
         width="160px"
       />
@@ -578,10 +605,10 @@
                   style="width: 160px"
                 />
               </el-form-item>
-              <el-form-item label="鍗曚綅鍚嶇О" prop="company">
+              <el-form-item label="鍗曚綅鍚嶇О" prop="companyId">
                 <el-select
                   :remote-method="getRemoteData"
-                  v-model="formIn.company"
+                  v-model="formIn.companyId"
                   remote
                   default-first-option
                   allow-create
@@ -593,7 +620,7 @@
                 >
                   <el-option
                     v-for="dict in CompanyList"
-                    :key="dict.cnName"
+                    :key="dict.drugManufacturerId"
                     :label="dict.cnName"
                     :value="dict.drugManufacturerId"
                   />
@@ -901,7 +928,7 @@
                         <template v-else>
                           <dict-tag
                             :options="dict.type.sys_user_sex"
-                            :value="scope.row.proType"
+                            :value="String(scope.row.proType || '')"
                           />
                         </template>
                       </template>
@@ -1384,7 +1411,7 @@
                 >
                   <el-option
                     v-for="dict in CompanyList"
-                    :key="dict.cnName"
+                    :key="dict.drugManufacturerId"
                     :label="dict.cnName"
                     :value="dict.drugManufacturerId"
                   />
@@ -1920,7 +1947,12 @@
 </template>
 
 <script>
-import { addComp, addPlOrderAndDetail } from "@/api/system/comp";
+import {
+  addComp,
+  addPlOrderAndDetail,
+  Deptlist,
+  getDwAndDwDept,
+} from "@/api/system/comp";
 import Big from "big.js";
 import { Loading } from "element-ui";
 import {
@@ -1989,6 +2021,8 @@
       taocan: false,
       webSocket: null,
       defaultKeys: [],
+      deptList: [],
+      groupingList: [],
       value1: "",
       pacName: "",
       hides: false,
@@ -2106,31 +2140,77 @@
         cusIntroduce: null,
         cusNumber: null,
         cusIsvip: null,
+        orderByColumn: "reservationTime",
+        isAsc: "desc",
+        name: "",
+        reservationTime: null,
+        idCard: null,
+        phoe: null,
+        email: null,
+        tjType: null,
+        companyId: null,
+        isExpire: null,
       },
+      // 鏌ヨ鍙傛暟
+      /*  queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        orderByColumn: "reservationTime",
+        isAsc: "desc",
+        name: null,
+        reservationTime: null,
+        idCard: null,
+        phoe: null,
+        email: null,
+        tjType: null,
+        companyId: null,
+        reservationTime: null,
+        isExpire: null,
+      }, */
+      /* formIn: {
+        name: "",
+        // age: "",
+        // idCard: "",
+        // remark: null,
+        // pacName: "",
+        // cusaddr: null,
+        // idType: null,
+        // ageUnit: null,
+        // sex: null,
+        // phoe: "",
+        // nation: null,
+        // email: "",
+        // marriage: null,
+        // address: "",
+        // tjCategory: null,
+        company: "",
+        // career: null,
+        // reservationTime: null,
+        // timeRegion: null,
+        // indexCard: "",
+        // department: "",
+      }, */
+      fmobj: {},
       formIn: {
         name: "",
-        age: "",
+        idType: "",
         idCard: "",
-        remark: null,
-        pacName: "",
-        cusaddr: null,
-        idType: null,
-        ageUnit: null,
-        sex: null,
+        age: "",
+        ageUnit: "",
+        sex: "",
         phoe: "",
-        nation: null,
+        nation: "",
         email: "",
-        marriage: null,
+        marriage: "",
         address: "",
-        tjCategory: null,
-        company: "",
-        career: null,
-        reservationTime: null,
-        timeRegion: null,
-        indexCard: "",
+        tjCategory: "",
         department: "",
+        company: "", // 涓嶈璁句负瀵硅薄
+        career: "",
+        reservationTime: "",
+        timeRegion: "",
+        indexCard: "",
       },
-      fmobj: {},
       // 琛ㄥ崟鏍¢獙
       form1: {},
       open1: false,
@@ -2201,22 +2281,7 @@
       valueUrls: "ws://127.0.0.1:6789/websocket",
       drawer: false,
       drawer1: false,
-      // 鏌ヨ鍙傛暟
-      queryParams: {
-        pageNum: 1,
-        pageSize: 10,
-        orderByColumn: "reservationTime",
-        isAsc: "desc",
-        name: null,
-        reservationTime: null,
-        idCard: null,
-        phoe: null,
-        email: null,
-        tjType: null,
-        company: null,
-        reservationTime: null,
-        isExpire: null,
-      },
+
       // 琛ㄥ崟鍙傛暟
       form: {},
       // 琛ㄥ崟鏍¢獙
@@ -2286,6 +2351,11 @@
   created() {
     this.getList();
   },
+  watch: {
+    "formIn.company"(val) {
+      console.log("formIn.company changed:", val, typeof val);
+    },
+  },
   methods: {
     isAll(value) {
       return value === "" || value === null;
@@ -2333,7 +2403,7 @@
         .then(() => {
           this.TotalPrice1 = 0;
           getTransitionList1(row.cusId).then((response) => {
-            this.tableData1 = response.data;
+            this.tableData1 = response.data.list;
 
             this.tableData1.forEach((item) => {
               this.TotalPrice1 += item.ordPrice;
@@ -2392,15 +2462,29 @@
       this.title = "娣诲姞浣撴鍗曚綅淇℃伅缁存姢";
     },
     idFn1(value) {
+      console.log(value, 888888);
       if (value) {
         this.form.dictCompId = value;
-        this.CompanyList.forEach((item) => {
-          if (item.drugManufacturerId == this.form.dictCompId) {
-            this.form.compName = item.cnName;
-            this.queryParams.company = item.cnName;
-          }
+        // this.CompanyList.forEach((item) => {
+        //   if (item.drugManufacturerId == this.form.dictCompId) {
+        //     this.form.compName = item.cnName;
+        //     this.queryParams.company = item.cnName;
+        //   }
+        // });
+        Deptlist(value).then((response) => {
+          this.deptList = response.data;
         });
       }
+    },
+    idFn2(value) {
+      let data = {
+        deptId: value,
+        dwId: this.form.dictCompId,
+      };
+      getDwAndDwDept(data).then((response) => {
+        // 閮ㄩ棬鍚嶇О
+        this.groupingList = response.data;
+      });
     },
     /** 鏌ヨ浣撴棰勭害鍒楄〃 */
     getList() {
@@ -2467,6 +2551,7 @@
         proIds: null,
         pacId: null,
         company: null,
+        drugManufacturerId: null,
         companyId: null,
         jobNo: null,
         department: null,
@@ -2600,7 +2685,7 @@
               let cusId = response.data.idCard;
               getTransitionList1(cusId).then((response) => {
                 if (response.data) {
-                  this.tableData1 = response.data;
+                  this.tableData1 = response.data.list;
                   if (this.tableData1.length != 0) {
                     this.TotalPrice1 = 0;
                     this.tableData1.forEach((item) => {
@@ -2644,41 +2729,28 @@
     /** 淇敼璇︾粏鎸夐挳鎿嶄綔 */
     handleUpdate1(row) {
       this.title = "棰勭害璇︾粏淇℃伅";
-      this.formIn = row;
-      if (this.formIn.timeRegion === 0) {
-        this.formIn.timeRegion = "8:00-9:00";
-      }
-      if (row.timeRegion === 1) {
-        this.formIn.timeRegion = "9:00-10:00";
-      }
-      if (row.timeRegion === 2) {
-        this.formIn.timeRegion = "10:00-11:00";
-      }
-      if (row.timeRegion === 3) {
-        this.formIn.timeRegion = "11:00-12:00";
-      }
-      if (this.formIn.isExpire === 1) {
-        this.tijiao1 = false;
-      }
-      this.drawer1 = true;
-      if (this.formIn.discount != null) {
-        this.discount = this.formIn.discount;
-      }
+
       //鍏ㄩ儴濂楅
-      if (this.formIn.sex != null) {
-        let cusSex = this.formIn.sex;
+      if (row.sex != null) {
+        let cusSex = row.sex;
         deptTreeSelect(cusSex).then((response) => {
           this.newpacName = response.rows;
           this.newpacName.forEach((item3) => {
             this.tableData1.forEach((item4) => {
-              item4.list.forEach((item6) => {
-                if (item6.pacName === item3.pacName) {
-                  this.$nextTick(() => {
-                    this.$refs.tb.toggleRowSelection(item3, true);
-                  });
-                  throw Error();
-                }
-              });
+              // item4.list.forEach((item6) => {
+              //   if (item6.pacName === item3.pacName) {
+              //     this.$nextTick(() => {
+              //       this.$refs.tb.toggleRowSelection(item3, true);
+              //     });
+              //     throw Error();
+              //   }
+              // });
+              if (item4.pacName === item3.pacName) {
+                this.$nextTick(() => {
+                  this.$refs.tb.toggleRowSelection(item3, true);
+                });
+                throw Error();
+              }
             });
           });
           this.loading = false;
@@ -2701,16 +2773,52 @@
           this.loading = false;
         });
       }
-      let id = this.formIn.id;
+      let id = row.id;
       this.list1 = true;
       (this.tableData1 = []),
         (this.newpacName = []),
+        this.drawer1 = true;
         getReservation(id).then((response) => {
+
           if (response.data) {
-            let cusId = response.data.idCard;
+            // console.log("formIn data:", this.formIn);
+            this.formIn = response.data;
+            /* for (const key in this.formIn) {
+              if (
+                typeof this.formIn[key] === "object" &&
+                this.formIn[key] !== null
+              ) {
+                console.warn(
+                  `formIn.${key} 鏄璞★紝鍙兘瀵艰嚧缁戝畾閿欒`,
+                  this.formIn[key]
+                );
+              }
+            } */
+
+            if (this.formIn.timeRegion === 0) {
+              this.formIn.timeRegion = "8:00-9:00";
+            }
+            if (row.timeRegion === 1) {
+              this.formIn.timeRegion = "9:00-10:00";
+            }
+            if (row.timeRegion === 2) {
+              this.formIn.timeRegion = "10:00-11:00";
+            }
+            if (row.timeRegion === 3) {
+              this.formIn.timeRegion = "11:00-12:00";
+            }
+            if (this.formIn.isExpire === 1) {
+              this.tijiao1 = false;
+            }
+            // this.drawer1 = true;
+            if (this.formIn.discount != null) {
+              this.discount = this.formIn.discount;
+            }
+            let cusId = this.formIn.idCard;
             getTransitionList1(cusId).then((response) => {
               if (response.data) {
-                this.tableData1 = response.data;
+                this.tableData1 = response.data.list;
+                console.log('tableData1', this.tableData1);
 
                 if (this.tableData1.length != 0) {
                   this.TotalPrice1 = 0;
@@ -2751,7 +2859,6 @@
       this.discount = currentValue;
       this.TotalPrice = (this.TotalPrice1 * (this.discount / 10)).toFixed(2);
     },
-
     Package() {
       this.taocan = true;
       this.datekey = Date.now();
@@ -3071,7 +3178,7 @@
           id: this.formIn.id,
           isExpire: this.formIn.isExpire,
           address: this.formIn.address,
-          company: this.formIn.company,
+          company: this.formIn.companyId,
           department: this.formIn.department,
           discount: this.discount,
           email: this.formIn.email,
@@ -3359,12 +3466,14 @@
   -moz-border-radius: 2em;
   border-radius: 2em;
 }
+
 .dialog-footer2 {
   width: 960px;
   height: 36px;
   display: flex;
   justify-content: center;
 }
+
 /* 淇敼 婊戝潡 */
 #printIframe::-webkit-scrollbar-thumb {
   background-color: #dcdfe6;

--
Gitblit v1.8.0