From 5f09dde37cbe8e22d7af973ee5bc3a2b72abff6e Mon Sep 17 00:00:00 2001
From: 张诺 <2864490065@qq.com>
Date: 星期四, 24 七月 2025 10:43:45 +0800
Subject: [PATCH] 归还数量
---
src/views/equipment/management/mould/equipmentRequisitionDialog.vue | 86 ++++++++++++++++++++++++++++++++++++++----
1 files changed, 77 insertions(+), 9 deletions(-)
diff --git a/src/views/equipment/management/mould/equipmentRequisitionDialog.vue b/src/views/equipment/management/mould/equipmentRequisitionDialog.vue
index c3f6907..c8c088d 100644
--- a/src/views/equipment/management/mould/equipmentRequisitionDialog.vue
+++ b/src/views/equipment/management/mould/equipmentRequisitionDialog.vue
@@ -87,10 +87,17 @@
>(鏈�澶歿{ remainingReturnQuantity }}鍙�)</span
>
<span
- style="color: #ff4d4f; font-size: 12px; margin-left: 8px"
+ style="color: #67c23a; font-size: 12px; margin-left: 8px"
v-else
>(宸插叏閮ㄥ綊杩�)</span
>
+ <!-- 褰掕繕瀹屾垚鎻愮ず -->
+ <div
+ v-if="remainingReturnQuantity > 0 && form.returnQuantity === remainingReturnQuantity"
+ style="color: #67c23a; font-size: 12px; margin-top: 4px"
+ >
+ 馃挕 鎻愮ず锛氭湰娆″綊杩樺悗灏嗗畬鎴愬叏閮ㄥ綊杩�
+ </div>
</el-form-item>
<!-- 浣跨敤寮�濮嬫椂闂� - 鍙湪闈炲綊杩樻ā寮忔樉绀� -->
<el-form-item label="浣跨敤寮�濮嬫椂闂�" prop="usageStartTime" v-if="!isReturnMode">
@@ -136,7 +143,7 @@
<script setup>
import { ref, watch, computed, onMounted } from "vue";
-import { ElMessage } from "element-plus";
+import { ElMessage, ElMessageBox } from "element-plus";
import { getEquipmentList } from "@/api/publicApi/index.js";
import { addOrEditUsageRecord } from "@/api/equipment/requisition/index.js";
@@ -313,8 +320,8 @@
emit("update:modelValue", false);
}
-function handleSubmit() {
- formRef.value.validate((valid) => {
+function handleSubmit () {
+ formRef.value.validate(async (valid) => {
if (!valid) return;
let submitData = { ...form.value };
@@ -326,20 +333,81 @@
const alreadyReturnedQuantity = props.formData.totalReturnNo || 0;
const newTotalReturnedQuantity = alreadyReturnedQuantity + currentReturnQuantity;
+ // 鍒ゆ柇鏄惁鍏ㄩ儴褰掕繕瀹屾垚
+ let equipmentStatus = 2; // 榛樿涓洪儴鍒嗗綊杩�
+ let isFullyReturned = newTotalReturnedQuantity >= totalUsageQuantity;
+
+ if (isFullyReturned) {
+ equipmentStatus = 3; // 鍏ㄩ儴褰掕繕瀹屾垚
+
+ // 鍏ㄩ儴褰掕繕鏃剁殑纭鎻愮ず
+ try {
+ await ElMessageBox.confirm(
+ `纭灏嗚澶�"${props.formData.equipmentName || '鏈煡璁惧'}"鍏ㄩ儴褰掕繕鍚楋紵褰掕繕鍚庤澶囩姸鎬佸皢鍙樹负"宸插綊杩�"銆俙,
+ '纭鍏ㄩ儴褰掕繕',
+ {
+ confirmButtonText: '纭褰掕繕',
+ cancelButtonText: '鍙栨秷',
+ type: 'success',
+ }
+ );
+ } catch (error) {
+ if (error === 'cancel') {
+ ElMessage.info('宸插彇娑堝綊杩樻搷浣�');
+ return;
+ }
+ }
+
+ console.log('璁惧褰掕繕瀹屾垚:', {
+ 璁惧鍚嶇О: props.formData.equipmentName,
+ 鎬讳娇鐢ㄦ暟閲�: totalUsageQuantity,
+ 鏂扮殑褰掕繕鎬绘暟: newTotalReturnedQuantity,
+ 鐘舵��: '宸插叏閮ㄥ綊杩�'
+ });
+ } else {
+ console.log('璁惧閮ㄥ垎褰掕繕:', {
+ 璁惧鍚嶇О: props.formData.equipmentName,
+ 鎬讳娇鐢ㄦ暟閲�: totalUsageQuantity,
+ 宸插綊杩樻暟閲�: newTotalReturnedQuantity,
+ 鍓╀綑鏈綊杩�: totalUsageQuantity - newTotalReturnedQuantity,
+ 鐘舵��: '閮ㄥ垎褰掕繕'
+ });
+ }
+
submitData = {
...props.formData,
totalReturnNo: newTotalReturnedQuantity,
returnQuantity: currentReturnQuantity,
returnTime: form.value.returnTime,
- equipmentStatus: 2,
+ equipmentStatus: equipmentStatus,
remarks: form.value.remarks,
usageQuantity: totalUsageQuantity
};
}
-
- addOrEditUsageRecord(submitData);
- emit("submit", submitData);
- handleClose();
+
+ try {
+ let {code,data} = await addOrEditUsageRecord(submitData);
+ if (code !== 200) {
+ ElMessage.error(data.msg || "鎿嶄綔澶辫触");
+ return;
+ }
+ if(code == 200 && data == 1){
+ // 鏍规嵁褰掕繕鐘舵�佺粰鍑轰笉鍚岀殑鎴愬姛鎻愮ず
+ if (isReturnMode.value && submitData.equipmentStatus === 3) {
+ ElMessage.success("璁惧宸插叏閮ㄥ綊杩樺畬鎴愶紒");
+ } else if (isReturnMode.value && submitData.equipmentStatus === 2) {
+ ElMessage.success("璁惧閮ㄥ垎褰掕繕鎴愬姛锛�");
+ } else {
+ ElMessage.success("鎿嶄綔鎴愬姛锛�");
+ }
+
+ emit("submit", submitData);
+ }
+ handleClose();
+ } catch (error) {
+ console.error('鎻愪氦澶辫触:', error);
+ ElMessage.error("鎿嶄綔澶辫触锛岃绋嶅悗鍐嶈瘯");
+ }
});
}
</script>
--
Gitblit v1.9.3