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 |   85 ++++++++++++++++++++++++++++--------------
 1 files changed, 56 insertions(+), 29 deletions(-)

diff --git a/src/views/equipment/management/index.vue b/src/views/equipment/management/index.vue
index 8c9d8be..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" @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
@@ -120,7 +131,7 @@
 </template>
 
 <script setup>
-import { computed, onMounted, reactive, ref } from "vue";
+import { computed, onMounted, reactive, ref, nextTick } from "vue";
 import { ElMessage } from "element-plus";
 import { Delete, Plus } from "@element-plus/icons-vue";
 
@@ -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.usageStatus == 1 ? "浣跨敤涓�" : "宸插綊杩�"
+        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,9 +365,17 @@
 
 // 璁惧棰嗙敤寮圭獥鎻愪氦澶勭悊
 const onEquipmentRequisitionSubmit = (formData) => {
-  ElMessage.success('璁惧棰嗙敤鎴愬姛');
+  console.log("璁惧棰嗙敤鎻愪氦鏁版嵁锛�", formData);
+  if (formData.equipmentStatus == "1") {
+    ElMessage.success("璁惧褰掕繕鎴愬姛");
+  } else {
+    ElMessage.success("璁惧棰嗙敤鎴愬姛");
+  }
   equipmentRequisitionDialog.value = false;
-  getList();
+  nextTick(() => {
+    form.value = {};
+    getList();
+  });
 };
 
 // 鏁版嵁鑾峰彇
@@ -364,7 +391,7 @@
     const { data, code } = await currentTabConfig.value.api(apiParams);
 
     if (code !== 200) {
-      ElMessage.error("鑾峰彇鏁版嵁澶辫触锛�" + (data?.msg || "鏈煡閿欒"));
+      // ElMessage.error("鑾峰彇鏁版嵁澶辫触锛�" + (data?.msg || "鏈煡閿欒"));
       return;
     }
 
@@ -403,7 +430,7 @@
   flex-wrap: wrap;
   gap: 10px;
 }
-.app-container{
+.app-container {
   padding: 18px !important;
 }
 /* 鍝嶅簲寮忚〃鏍� */

--
Gitblit v1.9.3