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 |   93 ++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 76 insertions(+), 17 deletions(-)

diff --git a/src/views/equipment/management/mould/equipmentRequisitionDialog.vue b/src/views/equipment/management/mould/equipmentRequisitionDialog.vue
index 8f58ee2..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,14 +123,38 @@
 });
 // 鑾峰彇璁惧鍒楄〃
 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(() => {
@@ -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