From 5da536668e047dbaefbb79731ab2cacfdf70dc56 Mon Sep 17 00:00:00 2001 From: zhang_12370 <z2864490065@outlook.com> Date: 星期二, 22 七月 2025 17:36:38 +0800 Subject: [PATCH] 1、提交配煤计算器 解除煤种限制 2、增加销售出库的导出功能 3、库存管理正式库的导出功能 4、文档管理优化 5、优化设备管理模块 --- src/views/equipment/management/mould/equipmentRequisitionDialog.vue | 97 +++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 78 insertions(+), 19 deletions(-) diff --git a/src/views/equipment/management/mould/equipmentRequisitionDialog.vue b/src/views/equipment/management/mould/equipmentRequisitionDialog.vue index b6382ef..8438624 100644 --- a/src/views/equipment/management/mould/equipmentRequisitionDialog.vue +++ b/src/views/equipment/management/mould/equipmentRequisitionDialog.vue @@ -7,7 +7,12 @@ > <el-form :model="form" :rules="rules" ref="formRef" label-width="150px"> <el-form-item label="棰嗙敤浜�" prop="userId"> - <el-select v-model="form.userId" placeholder="璇烽�夋嫨"> + <el-select + v-model="form.userId" + placeholder="璇烽�夋嫨" + :disabled="isViewMode" + @change="getEquipment" + > <el-option v-for="item in userList" :key="item.userId" @@ -17,7 +22,11 @@ </el-select> </el-form-item> <el-form-item label="璁惧鍚嶇О" prop="equipmentId"> - <el-select v-model="form.equipmentId" placeholder="璇烽�夋嫨"> + <el-select + v-model="form.equipmentId" + placeholder="璇烽�夋嫨" + :disabled="isViewMode" + > <el-option v-for="item in equipmentList" :key="item.id" @@ -42,6 +51,7 @@ :min="1" :max="maxQuantity || 999" style="width: 100%" + :disabled="isViewMode" /> <span v-if="maxQuantity !== null" @@ -50,12 +60,15 @@ > </el-form-item> <el-form-item label="浣跨敤鐘舵��" prop="equipmentStatus"> - <el-select v-model="form.equipmentStatus" placeholder="璇烽�夋嫨"> - <el-option label="鍚敤" :value="1" /> - <el-option label="绂佺敤" :value="0" /> - <el-option label="缁翠慨涓�" :value="2" /> - <el-option label="鎶ュ簾" :value="3" /> - <el-option label="寰呴鐢�" :value="4" /> + <!-- 缂栬緫鐨勬椂鍊欒嚜鍔ㄥ尮閰� --> + <el-select + v-model="form.equipmentStatus" + placeholder="璇烽�夋嫨" + :disabled="isViewMode" + default-first-option + > + <el-option label="浣跨敤涓�" :value="1" /> + <el-option label="宸插綊杩�" :value="2" :disabled="props.id" /> </el-select> </el-form-item> <el-form-item label="浣跨敤寮�濮嬫椂闂�" prop="usageStartTime"> @@ -66,6 +79,7 @@ style="width: 100%" value-format="YYYY-MM-DD" format="YYYY-MM-DD" + :disabled="isViewMode" /> </el-form-item> <!-- <el-form-item label="浣跨敤缁撴潫鏃堕棿" prop="usageEndTime"> @@ -81,12 +95,15 @@ v-model="form.remarks" type="textarea" placeholder="璇疯緭鍏ュ娉�" + :disabled="isViewMode" /> </el-form-item> </el-form> <template #footer> <el-button @click="handleClose">鍙栨秷</el-button> - <el-button type="primary" @click="handleSubmit">纭畾</el-button> + <el-button type="primary" @click="handleSubmit" v-if="!isViewMode" + >纭畾</el-button + > </template> </el-dialog> </template> @@ -99,7 +116,6 @@ import useUserStore from "@/store/modules/user"; -onMounted(() => {}); const userStore = useUserStore(); let userList = ref([]); userStore.getUserList().then((res) => { @@ -107,20 +123,44 @@ }); // 鑾峰彇璁惧鍒楄〃 const equipmentList = ref([]); -getEquipmentList().then((res) => { - equipmentList.value = res.data; -}); +// 鑾峰彇鏈�鏂版暟鎹� +const getEquipment = async () => { + try { + await getEquipmentList().then((res) => { + equipmentList.value = res.data; + }); + } catch (error) { + ElMessage.error("鑾峰彇璁惧鍒楄〃澶辫触"); + } +}; + const props = defineProps({ modelValue: Boolean, formData: { type: Object, default: () => ({}), }, + beforeClose: { + type: Function, + default: () => {}, + }, + addOrEdit: { + type: String, + default: "add", + }, + title: { + type: String, + default: "", + }, + equipmentStatus: { + type: [Number, String], // 鍏佽鏁板瓧鎴栧瓧绗︿覆 + default: 1, + }, }); const maxQuantity = computed(() => { - if (!props.formData.equipmentId) return 0; + if (!form.value.equipmentId) return 0; const eq = equipmentList.value.find( - (item) => item.id == props.formData.equipmentId + (item) => item.id == form.value.equipmentId ); // 闃叉涓�0鎴栬礋鏁帮紝鏈�灏忎负1 return eq && eq.quantity > 0 ? eq.quantity : 999; @@ -131,6 +171,12 @@ get: () => props.modelValue, set: (v) => emit("update:modelValue", v), }); +const isViewMode = computed( + () => + props.addOrEdit === "view" || + props.addOrEdit === "viewRow" || + Number(props.equipmentStatus) === 2 +); const isEdit = computed(() => !!props.formData?.id); const formRef = ref(); @@ -140,19 +186,32 @@ userId: "", equipmentId: "", usageQuantity: 1, - equipmentStatus: 1, + equipmentStatus: 1, // 榛樿浣跨敤涓� usageStartTime: "", - remarks: "" + remarks: "", }; const form = ref({ ...defaultForm }); + +// 纭繚鍒濆鍖栨椂浣跨敤鐘舵�佹湁榛樿鍊� +onMounted(() => { + if ( + form.value.equipmentStatus === undefined || + form.value.equipmentStatus === null + ) { + console.log(form.value.equipmentStatus); + form.value.equipmentStatus = 1; + } + getEquipment(); +}); watch( () => props.formData, (val) => { if (val && Object.keys(val).length > 0) { - form.value = { ...defaultForm, ...val }; + // 缂栬緫妯″紡锛岀洿鎺ヨ祴鍊硷紝涓嶄娇鐢ㄩ粯璁ゅ�煎悎骞� + form.value = { ...val }; } else { - // 鏂板缓鏃堕噸缃负鍒濆鍊硷紝闃叉鑴忔暟鎹� + // 鏂板妯″紡锛屼娇鐢ㄩ粯璁ゅ�� form.value = { ...defaultForm }; } }, -- Gitblit v1.9.3