From df1406d0f571972d033dffd6a93fb4b94febeb56 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 24 六月 2025 16:46:44 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

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

diff --git a/src/views/procureMent/index.vue b/src/views/procureMent/index.vue
index ba02734..793267a 100644
--- a/src/views/procureMent/index.vue
+++ b/src/views/procureMent/index.vue
@@ -3,32 +3,8 @@
     <el-form :inline="true" :model="queryParams" class="search-form">
       <el-form-item label="鎼滅储">
         <el-input
-          v-model="queryParams.searchText"
-          placeholder="璇疯緭鍏ュ叧閿瘝"
-          clearable
-          :style="{ width: '100%' }"
-        />
-      </el-form-item>
-      <el-form-item label="渚涘簲鍟嗗悕绉�">
-        <el-input
-          v-model="queryParams.supplierName"
-          placeholder="璇疯緭鍏�"
-          clearable
-          :style="{ width: '100%' }"
-        />
-      </el-form-item>
-      <el-form-item label="缁熶竴浜鸿瘑鍒彿">
-        <el-input
-          v-model="queryParams.identifyNumber"
-          placeholder="璇疯緭鍏�"
-          clearable
-          :style="{ width: '100%' }"
-        />
-      </el-form-item>
-      <el-form-item label="缁忚惀鍦板潃">
-        <el-input
-          v-model="queryParams.address"
-          placeholder="璇疯緭鍏�"
+          v-model="queryParams.searchAll"
+          placeholder="璇疯緭鍏ヤ緵搴斿晢/鐓ょ"
           clearable
           :style="{ width: '100%' }"
         />
@@ -42,12 +18,11 @@
       <!-- 鎿嶄綔鎸夐挳鍖� -->
       <el-row :gutter="24" class="table-toolbar">
         <el-button type="primary" :icon="Plus" @click="handleAdd"
-          >鏂板缓</el-button
-        >
+          >鏂板缓
+        </el-button>
         <el-button type="danger" :icon="Delete" @click="handleDelete"
-          >鍒犻櫎</el-button
-        >
-        <!-- <el-button type="info" :icon="Download" @click="handleExport">瀵煎嚭</el-button> -->
+          >鍒犻櫎
+        </el-button>
       </el-row>
       <!-- 琛ㄦ牸缁勪欢 -->
       <data-table
@@ -56,6 +31,7 @@
         :columns="columns"
         @selection-change="handleSelectionChange"
         @edit="handleEdit"
+        :showOverflowTooltip="false"
         @delete="handleDeleteSuccess"
         :show-selection="true"
         :border="true"
@@ -89,7 +65,12 @@
 import DataTable from "@/components/Table/ETable.vue";
 import Pagination from "@/components/Pagination";
 import ProductionDialog from "./components/ProductionDialog.vue";
-import { purchaseRegistration } from "@/api/procureMent";
+import {
+  purchaseRegistration,
+  getSupplyList,
+  getCoalInfoList,
+} from "@/api/procureMent";
+
 import useUserStore from "@/store/modules/user";
 // 寮曞叆瀛楀吀鏁版嵁
 const { proxy } = getCurrentInstance();
@@ -105,7 +86,7 @@
 const copyForm = ref({});
 // 鏌ヨ鍙傛暟
 const queryParams = reactive({
-  searchText: "",
+  searchAll: "",
   supplierName: "",
   identifyNumber: "",
   address: "",
@@ -140,9 +121,22 @@
 
 // supplier 渚涘簲鍟嗘暟鎹�
 const columns = ref([
-  { prop: "supplierName", label: "渚涘簲鍟嗗悕绉�", minWidth: 200 },
-  { prop: "coal", label: "鐓ょ绫诲瀷", minWidth: 120 },
-  { prop: "unit", label: "鍗曚綅", minWidth: 150 },
+  {
+    prop: "supplierId",
+    label: "渚涘簲鍟嗗悕绉�",
+    minWidth: 200,
+    formatter: (row) => {
+      return MatchQuery(row.supplierId, "supplyRes") || "鏈煡渚涘簲鍟�";
+    },
+  },
+  {
+    prop: "coalId",
+    label: "鐓ょ绫诲瀷",
+    minWidth: 120,
+    formatter: (row) => {
+      return MatchQuery(row.coalId, "coalRes") || "鏈煡鐓ょ";
+    },
+  },
   { prop: "purchaseQuantity", label: "閲囪喘鏁伴噺", minWidth: 100 },
   { prop: "priceIncludingTax", label: "鍗曚环锛堝惈绋庯級", minWidth: 150 },
   { prop: "totalPriceIncludingTax", label: "鎬讳环锛堝惈绋庯級", minWidth: 100 },
@@ -152,13 +146,27 @@
   { prop: "registrationDate", label: "鐧昏鏃ユ湡", minWidth: 100 },
 ]);
 
+// 鍖归厤鏌ヨ瀛楁
+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  : "";
+};
+// 鑾峰彇渚涘簲鍟嗗垪琛�
+const supplyRes = ref([]);
+const coalRes = ref([]);
+
 // 閲嶇疆鏌ヨ
 const resetQuery = () => {
-  Object.keys(queryParams).forEach((key) => {
-    if (key !== "current" && key !== "pageSize") {
-      queryParams[key] = "";
-    }
-  });
+  queryParams.searchAll = "";
+  queryParams.supplierName = "";
+  queryParams.identifyNumber = "";
+  queryParams.address = "";
+  current.value = 1;
+  pageSize.value = 10;
+  queryParams.current = current.value;
+  queryParams.pageSize = pageSize.value;
+  getList();
 };
 // 鏂板
 const handleAdd = () => {
@@ -186,7 +194,7 @@
   form.value = {
     supplierName: "",
     coal: "",
-    unit: "",
+    unit: "鍚�",
     purchaseQuantity: "",
     priceExcludingTax: "",
     totalPriceExcludingTax: "",
@@ -246,17 +254,6 @@
 const handleDeleteSuccess = (row) => {
   ElMessage.success("鍒犻櫎鎴愬姛锛�" + row.supplierName);
 };
-// 瀵煎嚭
-const handleExport = (row) => {
-  proxy.download(
-    "system/post/export",
-    {
-      ...queryParams.value,
-    },
-    `post_${new Date().getTime()}.xlsx`
-  );
-  ElMessage.success("瀵煎嚭鏁版嵁锛�" + row.supplierName);
-};
 // 鎴愬姛
 const handleSuccess = (val) => {
   tableData.value.push(val);
@@ -267,6 +264,10 @@
 const getList = async () => {
   loading.value = true;
   try {
+    [supplyRes.value, coalRes.value] = await Promise.all([
+      getSupplyList(),
+      getCoalInfoList(),
+    ]);
     // 浼犻�掑垎椤靛弬鏁�
     let res = await purchaseRegistration({
       current: current.value,
@@ -290,6 +291,7 @@
 .app-container {
   box-sizing: border-box;
 }
+
 .search-form {
   background-color: #fff;
   padding: 20px 20px 0 20px;
@@ -297,6 +299,7 @@
   border-radius: 4px;
   box-shadow: var(--el-box-shadow-light);
 }
+
 .search-form :deep(.el-form-item) {
   margin-bottom: 16px;
   width: 100%;
@@ -308,11 +311,13 @@
     width: 50%;
   }
 }
+
 @media screen and (min-width: 1200px) {
   .search-form :deep(.el-form-item) {
     width: 18%;
   }
 }
+
 .table-toolbar {
   margin-bottom: 20px;
   display: flex;
@@ -325,15 +330,18 @@
   .table-toolbar {
     flex-direction: column;
   }
+
   .table-toolbar .el-button {
     width: 100%;
   }
 }
+
 /* 琛ㄦ牸宸ュ叿鏍� */
 .table-toolbar,
 .table-toolbar > * {
   margin: 0 0 0 0 !important;
 }
+
 .table-toolbar {
   margin-bottom: 20px !important;
 }

--
Gitblit v1.9.3