From e251be5ee099b73aebd646cb2ade4246f95d54b1 Mon Sep 17 00:00:00 2001
From: zhang_12370 <z2864490065@outlook.com>
Date: 星期四, 26 六月 2025 11:40:05 +0800
Subject: [PATCH] 添加 单位字段 自动计算属性不可修改

---
 src/views/procureMent/index.vue |   53 ++++++++++++++++++++++++++---------------------------
 1 files changed, 26 insertions(+), 27 deletions(-)

diff --git a/src/views/procureMent/index.vue b/src/views/procureMent/index.vue
index 793267a..763ef87 100644
--- a/src/views/procureMent/index.vue
+++ b/src/views/procureMent/index.vue
@@ -35,7 +35,11 @@
         @delete="handleDeleteSuccess"
         :show-selection="true"
         :border="true"
-        :maxHeight="440"
+        style="width: 100%; height: calc(100vh - 26em)"
+        @viewRow="handleView"
+        :operations="['edit', 'viewRow']"
+        :operationsWidth="200"
+        :show-overflow-tooltip="false"
       />
       <pagination
         v-if="total > 0"
@@ -69,7 +73,9 @@
   purchaseRegistration,
   getSupplyList,
   getCoalInfoList,
+  delPR
 } from "@/api/procureMent";
+import { useDelete } from "@/hooks/useDelete";
 
 import useUserStore from "@/store/modules/user";
 // 寮曞叆瀛楀吀鏁版嵁
@@ -150,7 +156,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,31 +183,32 @@
 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: "",
     coal: "",
-    unit: "鍚�",
+    unit: "t",
     purchaseQuantity: "",
     priceExcludingTax: "",
     totalPriceExcludingTax: "",
     priceIncludingTax: "",
     totalPriceIncludingTax: "",
     taxRate: "",
-    registrantId: userInfo.value.userName,
+    registrantId: userInfo.value.userId,
     registrationDate: new Date().toISOString().split("T")[0],
   };
   // 鏂板缓鏃朵篃闇�瑕佽缃� copyForm 鐢ㄤ簬閲嶇疆鍔熻兘
@@ -229,28 +236,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