From c47ec7b37e7f68c49b40fc4b59098e79626e66de Mon Sep 17 00:00:00 2001
From: xwt <2740516069@qq.com>
Date: 星期日, 03 八月 2025 13:39:14 +0800
Subject: [PATCH] 首检巡检

---
 pages/QC/XJ/Add.vue |   97 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 95 insertions(+), 2 deletions(-)

diff --git a/pages/QC/XJ/Add.vue b/pages/QC/XJ/Add.vue
index f152e1e..7140538 100644
--- a/pages/QC/XJ/Add.vue
+++ b/pages/QC/XJ/Add.vue
@@ -24,10 +24,18 @@
               <view class="info-value">{{ formData.createDate }}</view>
             </view>
             <view class="info-item">
+              <view class="info-label">鐢熶骇杞﹂棿</view>
+              <picker v-if="isUpdate" class="picker-input" name="selector" :range="departmentList" range-key="departmentname"
+                      @change="onDepartmentChange">
+                <view class="picker-value">{{ getSelectedDepartmentName() || '璇烽�夋嫨杞﹂棿' }}</view>
+              </picker>
+              <view v-else class="info-value">{{ WORKSHOP }}</view>
+            </view>
+            <view class="info-item">
               <view class="info-label">绾夸綋缂栧彿</view>
-              <picker v-if="isUpdate" class="picker-input" name="selector" :range="DAA020List"
+              <picker v-if="isUpdate" class="picker-input" name="selector" :range="filteredDAA020List"
                       @change="onDaa020Change">
-                <view class="picker-value">{{ DAA020List[DAA020Index] || '璇烽�夋嫨' }}</view>
+                <view class="picker-value">{{ filteredDAA020List[DAA020Index] || '璇烽�夋嫨' }}</view>
               </picker>
               <view v-else class="info-value">{{ formData.daa020 }}</view>
             </view>
@@ -163,6 +171,7 @@
   
         DAA020List: [],
         DAA020Index: -1,
+        filteredDAA020List: [],
   
         DAA001List: [],
         DAA001Index: -1,
@@ -186,6 +195,11 @@
   
         remarks: "",
         remarksPopup: false,
+        
+        // 閮ㄩ棬閫夋嫨鐩稿叧
+        departmentList: [],
+        selectedDepartment: '',
+        WORKSHOP: '',
       };
     },
     onLoad(options) {
@@ -215,7 +229,11 @@
         }).then(res => {
           this.lineList = res.data.tbBillList;
           this.DAA020List = res.data.tbBillList.map(item => item.lineName);
+          this.filteredDAA020List = this.DAA020List; // 鍒濆鏃舵樉绀烘墍鏈夌嚎浣�
         })
+        
+        // 鑾峰彇閮ㄩ棬鍒楄〃
+        this.loadDepartments();
       }
     },
     methods: {
@@ -283,6 +301,81 @@
           this.isUpdate = false;
         });
       },
+      
+      // 鍔犺浇閮ㄩ棬鍒楄〃
+      loadDepartments() {
+        this.$post({
+          url: "/XJ/getDepartmentsWithLines"
+        }).then(res => {
+          if (res.status === 0) {
+            this.departmentList = res.data.tbBillList;
+          } else {
+            this.$showMessage("鑾峰彇閮ㄩ棬鍒楄〃澶辫触");
+          }
+        });
+      },
+      
+      // 閮ㄩ棬閫夋嫨鍙樺寲澶勭悊
+      onDepartmentChange(e) {
+        const index = e.detail.value;
+        if (index >= 0 && index < this.departmentList.length) {
+          const selectedDept = this.departmentList[index];
+          this.selectedDepartment = selectedDept.departmentid;
+          this.WORKSHOP = selectedDept.departmentname;
+          
+          // 鏍规嵁閫変腑鐨勯儴闂ㄨ繃婊ょ嚎浣撳垪琛�
+          this.filterLinesByDepartment(selectedDept.departmentid);
+          
+          // 淇濆瓨閮ㄩ棬閫夋嫨
+          this.saveDepartmentSelection();
+        }
+      },
+      
+      // 鑾峰彇閫変腑鐨勯儴闂ㄥ悕绉�
+      getSelectedDepartmentName() {
+        if (!this.selectedDepartment) return '';
+        const dept = this.departmentList.find(item => item.departmentid === this.selectedDepartment);
+        return dept ? dept.departmentname : '';
+      },
+      
+      // 淇濆瓨閮ㄩ棬閫夋嫨
+      saveDepartmentSelection() {
+        if (this.formData.id && this.selectedDepartment) {
+          this.$post({
+            url: "/XJ/saveDepartmentSelection",
+            data: {
+              id: this.formData.id,
+              departmentId: this.selectedDepartment,
+              departmentName: this.WORKSHOP
+            }
+          }).then(res => {
+            if (res.status === 0) {
+              this.$showMessage("閮ㄩ棬閫夋嫨宸蹭繚瀛�");
+            }
+          });
+        }
+      },
+      
+      // 鏍规嵁閮ㄩ棬杩囨护绾夸綋鍒楄〃
+      filterLinesByDepartment(departmentId) {
+        this.$post({
+          url: "/XJ/getLinesByDepartment",
+          data: {
+            departmentId: departmentId
+          }
+        }).then(res => {
+          if (res.status === 0) {
+            this.filteredDAA020List = res.data.tbBillList.map(item => item.lineName);
+            this.lineList = res.data.tbBillList;
+            // 閲嶇疆绾夸綋閫夋嫨绱㈠紩
+            this.DAA020Index = -1;
+            this.formData.daa020 = '';
+          } else {
+            this.$showMessage("鑾峰彇绾夸綋鍒楄〃澶辫触");
+          }
+        });
+      },
+      
       //鐢熶骇绾垮埆閫夋嫨骞跺垵濮嬭瘽宸ュ崟鍙�
       onDaa020Change(event) {
         //鑾峰彇鐢熶骇绾垮埆鐨勪笅鏍囧湴鍧�

--
Gitblit v1.9.3