From 8fc09566cc3ee8d0dae10992de31d0f09f257bb4 Mon Sep 17 00:00:00 2001
From: zhang_12370 <z2864490065@outlook.com>
Date: 星期二, 08 七月 2025 17:58:04 +0800
Subject: [PATCH] 1、删除通过审核进入正式库存的采购记录,页面弹出报错信息 2、开发首页模块 3、开发设备领用记录 4、调整生产明细不能为负数 5、修复采购登记人匹配问题

---
 src/views/procureMent/index.vue |   71 ++++++++++++++++++++---------------
 1 files changed, 40 insertions(+), 31 deletions(-)

diff --git a/src/views/procureMent/index.vue b/src/views/procureMent/index.vue
index 2949e2b..24929ac 100644
--- a/src/views/procureMent/index.vue
+++ b/src/views/procureMent/index.vue
@@ -20,9 +20,9 @@
         <el-button type="primary" :icon="Plus" @click="handleAdd"
           >鏂板缓
         </el-button>
-        <el-button type="danger" :icon="Delete" @click="handleDelete"
+        <!-- <el-button type="danger" :icon="Delete" @click="handleDelete"
           >鍒犻櫎
-        </el-button>
+        </el-button> -->
       </el-row>
       <!-- 琛ㄦ牸缁勪欢 -->
       <data-table
@@ -35,7 +35,11 @@
         @delete="handleDeleteSuccess"
         :show-selection="true"
         :border="true"
-        style="width: 100%;height: calc(100vh - 26em)"
+        style="width: 100%; height: calc(100vh - 26em)"
+        @viewRow="handleView"
+        :operations="['edit', 'viewRow']"
+        :operationsWidth="200"
+        :show-overflow-tooltip="false"
       />
       <pagination
         v-if="total > 0"
@@ -69,9 +73,15 @@
   purchaseRegistration,
   getSupplyList,
   getCoalInfoList,
+  delPR
 } from "@/api/procureMent";
-
+import { useDelete } from "@/hooks/useDelete";
+const userStore = useUserStore();
 import useUserStore from "@/store/modules/user";
+let userList = ref([]);
+userStore.getUserList().then((res) => {
+  userList.value = res;
+});
 // 寮曞叆瀛楀吀鏁版嵁
 const { proxy } = getCurrentInstance();
 const dialogFormVisible = ref(false);
@@ -103,7 +113,7 @@
   // 杩欓噷娣诲姞瀹為檯鐨勬煡璇㈤�昏緫
   getList();
 };
-const userStore = useUserStore();
+
 // 鑾峰彇鐢ㄦ埛淇℃伅
 const userInfo = ref({});
 onMounted(async () => {
@@ -142,7 +152,13 @@
   { prop: "totalPriceIncludingTax", label: "鎬讳环锛堝惈绋庯級", minWidth: 100 },
   { prop: "taxRate", label: "绋庣巼", minWidth: 100 },
   { prop: "priceExcludingTax", label: "涓嶅惈绋庡崟浠�", minWidth: 100 },
-  { prop: "registrantId", label: "鐧昏浜�", minWidth: 100 },
+  { prop: "registrantId", label: "鐧昏浜�", minWidth: 100,
+    formatter: (row) => {
+      // 鍖归厤鐢ㄦ埛淇℃伅
+      const user = userList.value.find((user) => user.userId === row.registrantId);
+      return user ? user.nickName : "鏈煡鐢ㄦ埛";
+    },
+  },
   { prop: "registrationDate", label: "鐧昏鏃ユ湡", minWidth: 100 },
 ]);
 
@@ -150,7 +166,7 @@
 const MatchQuery = (data, name) => {
   const list = name === "supplyRes" ? supplyRes.value.data : coalRes.value.data;
   const item = list.find((items) => items.id == data);
-  return item ? item.coal || item.supplierName  : "";
+  return item ? item.coal || item.supplierName : "";
 };
 // 鑾峰彇渚涘簲鍟嗗垪琛�
 const supplyRes = ref([]);
@@ -177,19 +193,20 @@
 const productionDialogs = ref(null); // 娣诲姞ref澹版槑
 
 const handleAddEdit = () => {
-  addOrEdit.value == "add" ? (title.value = "鏂板") : (title.value = "缂栬緫");
+  addOrEdit.value == "add" ? (title.value = "鏂板") : addOrEdit.value == "viewRow" ? (title.value = "鏌ョ湅") : (title.value = "缂栬緫");
   title.value = title.value + "閲囪喘淇℃伅";
   openDialog();
 };
 // 鎵撳紑寮圭獥
 const openDialog = () => {
-  if (addOrEdit.value === "edit") {
+  if (addOrEdit.value === "edit" || addOrEdit.value === "viewRow") {
     // 纭繚澶嶅埗涓�浠芥暟鎹紝閬垮厤鐩存帴寮曠敤
     copyForm.value = JSON.parse(JSON.stringify(form.value));
     dialogFormVisible.value = true;
     // 瑙﹀彂ref閲岄潰鐨勬柟娉�
     return;
   }
+  console.log(userInfo.value)
   // 鏂板缓鏃跺垵濮嬪寲琛ㄥ崟
   form.value = {
     supplierName: "",
@@ -201,7 +218,7 @@
     priceIncludingTax: "",
     totalPriceIncludingTax: "",
     taxRate: "",
-    registrantId: userInfo.value.userName,
+    registrantId: userInfo.value.userId,
     registrationDate: new Date().toISOString().split("T")[0],
   };
   // 鏂板缓鏃朵篃闇�瑕佽缃� copyForm 鐢ㄤ簬閲嶇疆鍔熻兘
@@ -229,28 +246,20 @@
   addOrEdit.value = "edit";
   handleAddEdit();
 };
-const handleDelete = () => {
-  if (selectedRows.value.length === 0) {
-    ElMessage.warning("璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁");
-    return;
-  }
-  ElMessageBox.confirm(`纭畾鍒犻櫎閫変腑鐨勬暟鎹悧锛焋, "鎻愮ず", {
-    confirmButtonText: "纭畾",
-    cancelButtonText: "鍙栨秷",
-    type: "warning",
-  })
-    .then(() => {
-      // 妯℃嫙鍒犻櫎鎿嶄綔
-      tableData.value = tableData.value.filter(
-        (item) => !selectedRows.value.includes(item)
-      );
-      total.value = tableData.value.length;
-      ElMessage.success("鍒犻櫎鎴愬姛");
-    })
-    .catch(() => {
-      ElMessage.info("宸插彇娑堝垹闄�");
-    });
+const handleView = (row) => {
+  form.value = JSON.parse(JSON.stringify(row));
+  addOrEdit.value = "viewRow";
+  handleAddEdit();
 };
+// 浣跨敤鍒犻櫎缁勫悎寮忓嚱鏁� - 绠�鍖栫増鏈�
+const { handleDeleteBatch: handleDelete } = useDelete({
+  deleteApi: delPR,
+  selectedRows,
+  tableData,
+  total,
+  confirmText: "纭畾鍒犻櫎閫変腑鐨勯噰璐褰曞悧锛�",
+  useLocalUpdate: true
+});
 const handleDeleteSuccess = (row) => {
   ElMessage.success("鍒犻櫎鎴愬姛锛�" + row.supplierName);
 };

--
Gitblit v1.9.3