From 75d99a1160ca9bc5e13590b769b7b8f793b698ff Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期一, 26 一月 2026 13:21:12 +0800
Subject: [PATCH] 库存管理和采购管理增加删除
---
src/views/procureMent/index.vue | 88 ++++++++++++++++++++++++++++++--------------
1 files changed, 60 insertions(+), 28 deletions(-)
diff --git a/src/views/procureMent/index.vue b/src/views/procureMent/index.vue
index 793267a..fa58789 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,13 +73,22 @@
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);
-const form = ref({});
+const form = ref({
+ taxRate: 13,
+ freight: 20,
+});
const title = ref("");
// 鐘舵�佸彉閲�
const loading = ref(false);
@@ -100,10 +113,12 @@
// 鏂规硶瀹氫箟
const handleQuery = () => {
loading.value = true;
+ current.value = 1;
+ pageSize.value = 10;
// 杩欓噷娣诲姞瀹為檯鐨勬煡璇㈤�昏緫
getList();
};
-const userStore = useUserStore();
+
// 鑾峰彇鐢ㄦ埛淇℃伅
const userInfo = ref({});
onMounted(async () => {
@@ -140,9 +155,16 @@
{ prop: "purchaseQuantity", label: "閲囪喘鏁伴噺", minWidth: 100 },
{ prop: "priceIncludingTax", label: "鍗曚环锛堝惈绋庯級", minWidth: 150 },
{ prop: "totalPriceIncludingTax", label: "鎬讳环锛堝惈绋庯級", minWidth: 100 },
+ { prop: "freight", 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 +172,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 +199,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: "",
@@ -200,8 +223,9 @@
totalPriceExcludingTax: "",
priceIncludingTax: "",
totalPriceIncludingTax: "",
- taxRate: "",
- registrantId: userInfo.value.userName,
+ taxRate: 13,
+ freight:20,
+ registrantId: userInfo.value.userId,
registrationDate: new Date().toISOString().split("T")[0],
};
// 鏂板缓鏃朵篃闇�瑕佽缃� copyForm 鐢ㄤ簬閲嶇疆鍔熻兘
@@ -229,30 +253,38 @@
addOrEdit.value = "edit";
handleAddEdit();
};
+const handleView = (row) => {
+ form.value = JSON.parse(JSON.stringify(row));
+ addOrEdit.value = "viewRow";
+ handleAddEdit();
+};
const handleDelete = () => {
if (selectedRows.value.length === 0) {
- ElMessage.warning("璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁");
+ proxy.$modal.msgWarning("璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁");
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("宸插彇娑堝垹闄�");
- });
-};
+ proxy.$modal
+ .confirm("鏄惁瑕佸垹闄�" +`閫変腑鐨�${selectedRows.value.length}鏉℃暟鎹紵`)
+ .then((res) => {
+ if (res) {
+ delPR(selectedRows.value.map((row) => row.id)).then((res) => {
+ if (res.result.code === 200) {
+ proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ getList();
+ } else {
+ proxy.$modal.msgError("鍒犻櫎澶辫触锛�" + res.result.msg);
+ }
+ }).finally(() => {
+ handleQuery()
+ })
+ }
+ })
+ .catch(() => {})
+}
+
const handleDeleteSuccess = (row) => {
ElMessage.success("鍒犻櫎鎴愬姛锛�" + row.supplierName);
+ handleQuery()
};
// 鎴愬姛
const handleSuccess = (val) => {
--
Gitblit v1.9.3