From d123ca35bb3ec4982af44aeb1ffffa8a3569a21b Mon Sep 17 00:00:00 2001
From: zjh <2207896513@qq.com>
Date: 星期五, 25 七月 2025 13:25:22 +0800
Subject: [PATCH] 代码提交
---
pages/QC/XJ/Add.vue | 126 +++++++++++++++++++++++++++++++----------
1 files changed, 95 insertions(+), 31 deletions(-)
diff --git a/pages/QC/XJ/Add.vue b/pages/QC/XJ/Add.vue
index 1930b90..6190db1 100644
--- a/pages/QC/XJ/Add.vue
+++ b/pages/QC/XJ/Add.vue
@@ -61,13 +61,8 @@
</view>
<!-- 鎿嶄綔鎸夐挳鍖� - 妫�楠岄」鐩幏鍙� -->
- <view v-if="isUpdate && !isShowTable" class="action-buttons">
- <button class="primary-btn" @click="getItem">鍒涘缓妫�楠屽崟</button>
- </view>
-
- <view v-if="isShowTable" class="action-buttons">
- <button class="secondary-btn" @click="getTable">鑾峰彇椤圭洰</button>
- <button v-if="isUpdate" class="primary-btn" @click="saveTable">鐢熸垚椤圭洰</button>
+ <view v-if="isUpdate" class="action-buttons">
+ <button class="secondary-btn" @click="getTable">鑾峰彇妫�楠岄」鐩�</button>
</view>
<!-- 妫�楠岄」鐩〃鏍� -->
@@ -126,11 +121,12 @@
<view class="description-text">{{ item.itemMod }}</view>
</td>
<td>
- <button :class="{
- 'record-btn-fill': item.isCheck >= item.levelNum,
- 'record-btn-view': item.isCheck < item.levelNum
- }" class="record-btn" @click="toDetail(item)">
- {{ item.isCheck >= item.levelNum ? '鏌ョ湅' : '濉啓' }}
+ <button v-if="item.isCheck < item.levelNum" class="record-btn record-btn-fill"
+ @click="toDetail(item)">
+ 濉啓 ({{ item.isCheck }}/{{ item.levelNum }})
+ </button>
+ <button v-else class="record-btn record-btn-view" @click="toDetail(item)">
+ 鏌ョ湅 ({{ item.isCheck }}/{{ item.levelNum }})
</button>
</td>
</tr>
@@ -138,27 +134,31 @@
</table>
</view>
- <!-- 鎿嶄綔鎸夐挳鍖� - 搴曢儴鎿嶄綔 -->
- <view v-if="!isUpdate && !isShowTable" class="action-buttons">
- <button class="secondary-btn" @click="toImage">鍥剧墖绠$悊</button>
- <button class="secondary-btn" @click="saveRemarks">娣诲姞鎻忚堪</button>
- <button v-if="!formData.fcheckResu" class="primary-btn"
- style="background: linear-gradient(135deg, #e74c3c, #c0392b);" @click="removeXJ">鍒犻櫎鍗曟嵁
+ <!-- 鎿嶄綔鎸夐挳鍖� -->
+ <view class="action-buttons">
+ <button v-if="isUpdate && !isShowTable" class="secondary-btn" @click="getItem">鍒涘缓妫�楠屽崟骞剁敓鎴愰儴鍒嗛粯璁ゅ��</button>
+ <button v-if="!isUpdate && !isShowTable" class="secondary-btn" @click="toImage">涓婁紶/鏌ョ湅鍥剧墖</button>
+ <button v-if="!isUpdate && !formData.fsubmit && !isShowTable" class="secondary-btn" @click="removeXJ">
+ 鍒犻櫎鍗曟嵁
</button>
+ <button v-if="!isUpdate && !isShowTable" class="secondary-btn" @click="saveRemarks">娣诲姞澶囨敞</button>
+ <button v-if="!isUpdate && !isShowTable && formData.fsubmit !== 1 && getPendingCount() === 0 && tableData.length > 0" class="primary-btn" @click="submit">瀹℃牳鍗曟嵁</button>
+ <button v-if="isShowTable" class="secondary-btn" @click="getTable">鑾峰彇妫�楠岄」鐩�</button>
+ <button v-if="isShowTable && isUpdate" class="primary-btn" @click="saveTable">鐢熸垚妫�楠岄」鐩�</button>
</view>
<!-- 涓嶅悎鏍兼弿杩板脊绐� -->
<view v-if="remarksPopup" class="overlay">
<view class="popup">
- <h3>淇敼涓嶅悎鏍兼弿杩�</h3>
- <view class="form-group">
- <label class="form-label">涓嶅悎鏍兼弿杩�:</label>
- <input v-model="remarks" class="form-input" placeholder="璇疯緭鍏ヤ笉鍚堟牸鎻忚堪" type="text"/>
- </view>
- <view class="popup-buttons">
+ <h3>淇敼澶囨敞</h3>
+ <form>
+ <view class="form-group">
+ <label class="form-label">澶囨敞:</label>
+ <textarea v-model="remarks" class="form-input form-textarea" placeholder="璇疯緭鍏ュ娉ㄤ俊鎭�..."></textarea>
+ </view>
<button class="updateBut" @click="editRemarks">淇敼</button>
- <button class="secondary-btn" @click="remarksPopup = !remarksPopup">鍙栨秷</button>
- </view>
+ <button @click="remarksPopup = !remarksPopup">鍙栨秷</button>
+ </form>
</view>
</view>
</view>
@@ -179,11 +179,12 @@
catQty: "",
detailMem: "",
taskNo: "",
- fcheckResu: "",
+ fcheckResu: 0,
boardModel: "",
planQty: "",
mocode: "",
- boardStyle: ""
+ boardStyle: "",
+ fSubmit: 0
},
DAA020List: [],
@@ -254,8 +255,51 @@
},
// 鑾峰彇寰呮楠岄」鐩暟閲�
getPendingCount() {
- return this.tableData.filter(item => !item.result || item.result === '').length;
+ return this.tableData.filter(item => item.result === '鏈畬鎴�').length;
},
+ submit() {
+ // 鍙岄噸淇濋櫓锛氭鏌ユ槸鍚﹁繕鏈夋湭瀹屾垚鐨勬楠岄」鐩�
+ const pendingCount = this.getPendingCount();
+ if (pendingCount > 0) {
+ this.$showMessage(`杩樻湁 ${pendingCount} 涓楠岄」鐩湭瀹屾垚锛岃瀹屾垚鎵�鏈夋楠岄」鐩悗鍐嶆彁浜ゅ鏍竊);
+ return;
+ }
+
+ // 妫�鏌ユ槸鍚︽湁妫�楠岄」鐩�
+ if (this.tableData.length === 0) {
+ this.$showMessage("娌℃湁妫�楠岄」鐩紝鏃犳硶鎻愪氦瀹℃牳");
+ return;
+ }
+
+ this.$post({
+ url: "/XJ/XJQaSubmit",
+ data: {
+ userNo: this.$loginInfo.account,
+ gid: this.formData.id
+ }
+ }).then(res => {
+ console.log("瀹屾暣鍝嶅簲鏁版嵁:", res);
+ console.log("Status Code鐨勫��:", res.statusCode);
+ console.log("杩斿洖鐨勬暟鎹�:", res.data);
+
+ // 妫�鏌ュ绉嶆垚鍔熸潯浠�
+ if (res.statusCode === 200 || res.status === 0 || res.data === true || res.data.tbBillList === true) {
+ this.$showMessage("鎴愬姛鎻愪氦妫�楠�");
+ // 鎻愪氦鎴愬姛鍚庤烦杞埌鍒楄〃椤甸潰
+ setTimeout(() => {
+ uni.navigateTo({
+ url: '/pages/QC/XJ/List'
+ });
+ }, 1500); // 1.5绉掑悗璺宠浆锛岃鐢ㄦ埛鐪嬪埌鎴愬姛鎻愮ず
+ } else {
+ this.$showMessage(res.data.message || res.message || "鎻愪氦澶辫触");
+ }
+ }).catch(err => {
+ console.log("鎻愪氦鍑洪敊:", err);
+ this.$showMessage("鎻愪氦澶辫触锛岃閲嶈瘯");
+ })
+ },
+
removeXJ() {
if (this.formData.id) {
this.$post({
@@ -959,8 +1003,9 @@
padding: 20px;
border: 1px solid #ccc;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
- width: 68vw;
- height: 25vh;
+ width: 85vw;
+ min-height: 35vh;
+ max-height: 60vh;
border-radius: 8px;
}
@@ -993,6 +1038,13 @@
border-radius: 4px;
font-size: 14px;
box-sizing: border-box;
+}
+
+.popup .form-textarea {
+ min-height: 120px;
+ resize: vertical;
+ font-family: inherit;
+ line-height: 1.5;
}
.popup-buttons {
@@ -1033,5 +1085,17 @@
display: block;
overflow-x: auto;
}
+
+ /* 绉诲姩绔脊鍑烘浼樺寲 */
+ .popup {
+ width: 95vw;
+ min-height: 40vh;
+ max-height: 70vh;
+ padding: 15px;
+ }
+
+ .popup .form-textarea {
+ min-height: 100px;
+ }
}
</style>
\ No newline at end of file
--
Gitblit v1.9.3