From f63e51553b520b5dd760ba186d9b274ed246a64a Mon Sep 17 00:00:00 2001
From: xwt <2740516069@qq.com>
Date: 星期四, 16 十月 2025 14:27:18 +0800
Subject: [PATCH] SJ,XJ,RKJ单独检验项目拍照+提交限制
---
pages/QC/RKJ/Add.vue | 133 ++++++++++++++++++++++++++++++-------------
1 files changed, 92 insertions(+), 41 deletions(-)
diff --git a/pages/QC/RKJ/Add.vue b/pages/QC/RKJ/Add.vue
index 3a0fa04..00437a2 100644
--- a/pages/QC/RKJ/Add.vue
+++ b/pages/QC/RKJ/Add.vue
@@ -1191,51 +1191,102 @@
return;
}
- // 妫�鏌ラ拤閽夋帹閫佹潯浠讹細PSZT涓哄緟鍒わ紝涓斾笉鑹師鍥犮�佷笉鑹弿杩般�佹墍灞炶溅闂翠笉涓虹┖
- const shouldPushToDingTalk = this.PSTYPE === '寰呭垽' &&
- this.badreason &&
- this.formData.fngDesc &&
- this.WORKSHOP;
+ // 楠岃瘉涓嶅悎鏍兼楠岄」鐩繀椤讳笂浼犲浘鐗囧苟濉啓涓嶈壇鎻忚堪
+ this.validateUnqualifiedItems().then(() => {
+ // 妫�鏌ラ拤閽夋帹閫佹潯浠讹細PSZT涓哄緟鍒わ紝涓斾笉鑹師鍥犮�佷笉鑹弿杩般�佹墍灞炶溅闂翠笉涓虹┖
+ const shouldPushToDingTalk = this.PSTYPE === '寰呭垽' &&
+ this.badreason &&
+ this.formData.fngDesc &&
+ this.WORKSHOP;
- let confirmMessage = '纭畾瑕佹彁浜ゆ妫�楠屽崟鍚楋紵鎻愪氦鍚庡皢鏃犳硶淇敼銆�';
- if (shouldPushToDingTalk) {
- confirmMessage += '\n\n婊¤冻閽夐拤鎺ㄩ�佹潯浠讹紝灏嗚嚜鍔ㄦ帹閫佸埌閽夐拤瀹℃壒娴佺▼銆�';
- }
-
- // 纭鎻愪氦
- uni.showModal({
- title: '纭鎻愪氦',
- content: confirmMessage,
- success: (res) => {
- if (res.confirm) {
- this.$post({
- url: "/RKJ/submitInspection",
- data: {
- id: this.formData.id,
- userNo: this.$loginInfo.account
- }
- }).then(res => {
- if (res.status == 0) {
- let successMessage = "妫�楠屽崟鎻愪氦鎴愬姛锛�";
- if (shouldPushToDingTalk) {
- successMessage += "\n宸叉帹閫佸埌閽夐拤瀹℃壒娴佺▼銆�";
- }
- this.$showMessage(successMessage);
- // 鏇存柊鏈湴鐘舵��
- this.formData.fsubmit = 1;
- // 鍒锋柊鏁版嵁
- this.init();
- } else {
- this.$showMessage(res.message || "鎻愪氦澶辫触");
- }
- }).catch(error => {
- console.error("鎻愪氦澶辫触:", error);
- this.$showMessage("鎻愪氦澶辫触锛岃閲嶈瘯");
- });
- }
+ let confirmMessage = '纭畾瑕佹彁浜ゆ妫�楠屽崟鍚楋紵鎻愪氦鍚庡皢鏃犳硶淇敼銆�';
+ if (shouldPushToDingTalk) {
+ confirmMessage += '\n\n婊¤冻閽夐拤鎺ㄩ�佹潯浠讹紝灏嗚嚜鍔ㄦ帹閫佸埌閽夐拤瀹℃壒娴佺▼銆�';
}
+
+ // 纭鎻愪氦
+ uni.showModal({
+ title: '纭鎻愪氦',
+ content: confirmMessage,
+ success: (res) => {
+ if (res.confirm) {
+ this.$post({
+ url: "/RKJ/submitInspection",
+ data: {
+ id: this.formData.id,
+ userNo: this.$loginInfo.account
+ }
+ }).then(res => {
+ if (res.status == 0) {
+ let successMessage = "妫�楠屽崟鎻愪氦鎴愬姛锛�";
+ if (shouldPushToDingTalk) {
+ successMessage += "\n宸叉帹閫佸埌閽夐拤瀹℃壒娴佺▼銆�";
+ }
+ this.$showMessage(successMessage);
+ // 鏇存柊鏈湴鐘舵��
+ this.formData.fsubmit = 1;
+ // 鍒锋柊鏁版嵁
+ this.init();
+ } else {
+ this.$showMessage(res.message || "鎻愪氦澶辫触");
+ }
+ }).catch(error => {
+ console.error("鎻愪氦澶辫触:", error);
+ this.$showMessage("鎻愪氦澶辫触锛岃閲嶈瘯");
+ });
+ }
+ }
+ });
+ }).catch(error => {
+ this.$showMessage(error);
});
},
+
+ // 楠岃瘉涓嶅悎鏍兼楠岄」鐩�
+ async validateUnqualifiedItems() {
+ const unqualifiedItems = this.tableData.filter(item => item.result === '涓嶅悎鏍�');
+
+ if (unqualifiedItems.length === 0) {
+ return Promise.resolve();
+ }
+
+ // 妫�鏌ユ瘡涓笉鍚堟牸椤圭洰鏄惁鏈夊浘鐗囧拰鎻忚堪
+ for (const item of unqualifiedItems) {
+ try {
+ const detail = await this.getInspectionItemDetail(item.id);
+ if (!detail.hasImage || !detail.hasRemarks) {
+ const missingItems = [];
+ if (!detail.hasImage) missingItems.push('鍥剧墖');
+ if (!detail.hasRemarks) missingItems.push('涓嶈壇鎻忚堪');
+
+ throw new Error(`妫�楠岄」鐩�"${item.projName}"涓嶅悎鏍硷紝浣嗙己灏戯細${missingItems.join('銆�')}锛岃瀹屽杽鍚庨噸鏂版彁浜わ紒`);
+ }
+ } catch (error) {
+ throw error;
+ }
+ }
+
+ return Promise.resolve();
+ },
+
+ // 鑾峰彇妫�楠岄」鐩缁嗕俊鎭�
+ getInspectionItemDetail(itemId) {
+ return new Promise((resolve, reject) => {
+ this.$post({
+ url: "/RKJ/getXjDetail02ById",
+ data: { id: itemId }
+ }).then(res => {
+ const itemData = res.data.tbBillList.itemXj01;
+ resolve({
+ hasImage: itemData.imageData && itemData.imageData.length > 0,
+ hasRemarks: itemData.remarks && itemData.remarks.trim() !== ''
+ });
+ }).catch(error => {
+ reject('鑾峰彇妫�楠岄」鐩鎯呭け璐�');
+ });
+ });
+ },
+
viewAttachmentInfo() {
this.showAttachmentPopup = true; // 鍏堝脊绐�
this.attachmentsLoading = true;
--
Gitblit v1.9.3