From 3d3addba8618bd44db53f7089732e3fae16bdfef Mon Sep 17 00:00:00 2001 From: zhang_12370 <z2864490065@outlook.com> Date: 星期二, 15 七月 2025 18:01:28 +0800 Subject: [PATCH] 1、修改配置删除文件 2、优化设备领用 使用户归还完以后 无法重新选择使用中 --- src/views/equipment/management/index.vue | 79 +++++++++++++++++++++++++-------------- src/views/equipment/management/mould/equipmentRequisitionDialog.vue | 6 ++ src/hooks/useDelete.js | 3 - 3 files changed, 56 insertions(+), 32 deletions(-) diff --git a/src/hooks/useDelete.js b/src/hooks/useDelete.js index 60615b3..bfdde61 100644 --- a/src/hooks/useDelete.js +++ b/src/hooks/useDelete.js @@ -125,13 +125,10 @@ ElMessage.success(successText); return true; } else { - ElMessage.error("鍒犻櫎澶辫触锛�" + (res.msg || "鏈煡閿欒")); return false; } } catch (error) { if (error !== "cancel") { - console.error("鍒犻櫎鎿嶄綔澶辫触:", error); - ElMessage.error("鍒犻櫎澶辫触锛�" + (error.message || "璇风◢鍚庨噸璇�")); } else { ElMessage.info("宸插彇娑堝垹闄�"); } diff --git a/src/views/equipment/management/index.vue b/src/views/equipment/management/index.vue index 876a4b1..97ca889 100644 --- a/src/views/equipment/management/index.vue +++ b/src/views/equipment/management/index.vue @@ -30,13 +30,25 @@ <!-- 鎿嶄綔鎸夐挳鍖� --> <el-row :gutter="24" class="table-toolbar"> - <el-button :icon="Plus" type="primary" v-show="activeTab === 'management'" @click="handleAdd" + <el-button + :icon="Plus" + type="primary" + v-show="activeTab === 'management'" + @click="handleAdd" >璁惧鏂板</el-button > - <el-button :icon="Plus" type="primary" v-show="activeTab === 'equipmentRequisition'" @click="handleAdd" + <el-button + :icon="Plus" + type="primary" + v-show="activeTab === 'equipmentRequisition'" + @click="handleAdd" >棰嗙敤</el-button > - <el-button :icon="Delete" type="danger" v-show="activeTab === 'management'" @click="handleDelete" + <el-button + :icon="Delete" + type="danger" + v-show="activeTab === 'management'" + @click="handleDelete" >鍒犻櫎</el-button > </el-row> @@ -55,7 +67,6 @@ @selection-change="handleSelectionChange" :operations="['edit', 'viewRow']" :operationsWidth="200" - > <!-- 瀛楁鍚嶇О鍒楃殑鑷畾涔夋彃妲� - 鏄剧ず涓烘爣绛� --> <template @@ -77,8 +88,7 @@ </el-tag> </template> <template v-else> - <el-tag size="small" type="primary"> - </el-tag> + <el-tag size="small" type="primary"> </el-tag> </template> </template> </data-table> @@ -92,7 +102,7 @@ @pagination="handPagination" /> <managementDialog - v-if="activeTab == 'management'" + v-if="activeTab == 'management'" v-model:copyForm="copyForm" v-model:managementFormDialog="manaDialog" :addOrEdit="addOrEdit" @@ -105,6 +115,7 @@ :formData="form" :maxQuantity="getMaxQuantity()" :addOrEdit="addOrEdit" + :equipmentStatus="form.equipmentStatus" @submit="onEquipmentRequisitionSubmit" /> <!-- <UsageRecord @@ -133,7 +144,10 @@ // API 鏈嶅姟瀵煎叆 import { useDelete } from "@/hooks/useDelete.js"; -import { getManagementList, delEquipment } from "@/api/equipment/management/index.js"; +import { + getManagementList, + delEquipment, +} from "@/api/equipment/management/index.js"; import { getUsageRecordList } from "@/api/equipment/requisition/index.js"; // 鍝嶅簲寮忕姸鎬佺鐞� @@ -156,7 +170,7 @@ // 鏌ヨ鍙傛暟 const queryParams = reactive({ - searchAll: "" + searchAll: "", }); // 鏍囩椤甸厤缃� - 渚夸簬鍚庣画鎵╁睍 @@ -175,9 +189,9 @@ { prop: "specification", label: "瑙勬牸鍨嬪彿", minWidth: 100 }, { prop: "purchaseDate", label: "閲囪喘鏃ユ湡", minWidth: 100 }, { prop: "purchasePrice", label: "閲囪喘浠锋牸", minWidth: 100 }, - ] + ], }, - equipmentRequisition:{ + equipmentRequisition: { label: "璁惧棰嗙敤", searchPlaceholder: "璁惧缂栧彿/璁惧鍚嶇О/瑙勬牸鍨嬪彿", showSearch: true, @@ -188,16 +202,16 @@ { prop: "equipmentNo", label: "璁惧缂栧彿", minWidth: 100 }, { prop: "equipmentName", label: "璁惧鍚嶇О", minWidth: 100 }, { prop: "usageQuantity", label: "棰嗙敤鏁伴噺", minWidth: 100 }, - { - prop: "equipmentStatus", - label: "浣跨敤鐘舵��", + { + prop: "equipmentStatus", + label: "浣跨敤鐘舵��", minWidth: 100, - formatter: (row) => row.equipmentStatus == "0" ? "浣跨敤涓�" : "宸插綊杩�" + formatter: (row) => (row.equipmentStatus == "0" ? "浣跨敤涓�" : "宸插綊杩�"), }, { prop: "usageStartTime", label: "浣跨敤寮�濮嬫椂闂�", minWidth: 100 }, { prop: "usageEndTime", label: "浣跨敤缁撴潫鏃堕棿", minWidth: 100 }, { prop: "remarks", label: "澶囨敞", minWidth: 100 }, - ] + ], }, // usageRecord:{ // label: "棰嗙敤璁板綍", @@ -210,9 +224,9 @@ // { prop: "equipmentName", label: "璁惧鍚嶇О", minWidth: 100 }, // { prop: "quantity", label: "鏁伴噺", minWidth: 100 }, // { prop: "specification", label: "瑙勬牸鍨嬪彿", minWidth: 100 }, - // { - // prop: "usageStatus", - // label: "浣跨敤鐘舵��", + // { + // prop: "usageStatus", + // label: "浣跨敤鐘舵��", // minWidth: 100, // formatter: (row) => row.usageStatus == 1 ? "鍚敤" : "绂佺敤" // }, @@ -228,7 +242,7 @@ const tabs = reactive( Object.entries(tabsConfig).map(([name, config]) => ({ name, - label: config.label + label: config.label, })) ); @@ -236,8 +250,12 @@ const currentTabConfig = computed(() => tabsConfig[activeTab.value]); // 璁$畻灞炴�� -const searchPlaceholder = computed(() => currentTabConfig.value?.searchPlaceholder || "璇疯緭鍏ユ悳绱俊鎭�"); -const shouldShowSearch = computed(() => currentTabConfig.value?.showSearch || false); +const searchPlaceholder = computed( + () => currentTabConfig.value?.searchPlaceholder || "璇疯緭鍏ユ悳绱俊鎭�" +); +const shouldShowSearch = computed( + () => currentTabConfig.value?.showSearch || false +); const columns = computed(() => currentTabConfig.value?.columns || []); const selectedCount = computed(() => selectedRows.value.length); @@ -323,7 +341,6 @@ selectedRows.value = selection; }; - // 鍒犻櫎澶勭悊 const { handleDeleteBatch: handleDelete } = useDelete({ deleteApi: () => currentTabConfig.value.deleteApi, @@ -338,7 +355,9 @@ // 鑾峰彇璁惧鏈�澶у彲棰嗙敤鏁伴噺 const getMaxQuantity = () => { if (form.value.equipmentId) { - const equipment = tableData.value.find(item => item.equipmentId === form.value.equipmentId); + const equipment = tableData.value.find( + (item) => item.equipmentId === form.value.equipmentId + ); return equipment ? equipment.quantity : null; } return null; @@ -346,8 +365,12 @@ // 璁惧棰嗙敤寮圭獥鎻愪氦澶勭悊 const onEquipmentRequisitionSubmit = (formData) => { - console.log("鎻愪氦鐨勯鐢ㄦ暟鎹細", formData); - ElMessage.success('璁惧棰嗙敤鎴愬姛'); + console.log("璁惧棰嗙敤鎻愪氦鏁版嵁锛�", formData); + if (formData.equipmentStatus == "1") { + ElMessage.success("璁惧褰掕繕鎴愬姛"); + } else { + ElMessage.success("璁惧棰嗙敤鎴愬姛"); + } equipmentRequisitionDialog.value = false; nextTick(() => { form.value = {}; @@ -368,7 +391,7 @@ const { data, code } = await currentTabConfig.value.api(apiParams); if (code !== 200) { - ElMessage.error("鑾峰彇鏁版嵁澶辫触锛�" + (data?.msg || "鏈煡閿欒")); + // ElMessage.error("鑾峰彇鏁版嵁澶辫触锛�" + (data?.msg || "鏈煡閿欒")); return; } @@ -407,7 +430,7 @@ flex-wrap: wrap; gap: 10px; } -.app-container{ +.app-container { padding: 18px !important; } /* 鍝嶅簲寮忚〃鏍� */ diff --git a/src/views/equipment/management/mould/equipmentRequisitionDialog.vue b/src/views/equipment/management/mould/equipmentRequisitionDialog.vue index c3be23d..82b6f85 100644 --- a/src/views/equipment/management/mould/equipmentRequisitionDialog.vue +++ b/src/views/equipment/management/mould/equipmentRequisitionDialog.vue @@ -129,6 +129,10 @@ type: String, default: "", }, + equipmentStatus:{ + type: String, + default: "0" + } }); const maxQuantity = computed(() => { if (!form.value.equipmentId) return 0; @@ -144,7 +148,7 @@ get: () => props.modelValue, set: (v) => emit("update:modelValue", v), }); -const isViewMode = computed(() => props.addOrEdit === "view" || props.addOrEdit === "viewRow"); +const isViewMode = computed(() => props.addOrEdit === "view" || props.addOrEdit === "viewRow" || props.equipmentStatus ==="1"); const isEdit = computed(() => !!props.formData?.id); const formRef = ref(); -- Gitblit v1.9.3