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