From 6b9dd0a1b0c259a02c086f7834467e1fa2c2a5ea Mon Sep 17 00:00:00 2001
From: 张诺 <zhang_12370@163.com>
Date: 星期五, 30 五月 2025 17:58:54 +0800
Subject: [PATCH] 调整基础信息供应商模块,客户信息模块并新增联动查询省市区联动,修改table表格方法

---
 src/views/basicInformation/index.vue |   84 +++++++++++++++++++++++++++++++++---------
 1 files changed, 66 insertions(+), 18 deletions(-)

diff --git a/src/views/basicInformation/index.vue b/src/views/basicInformation/index.vue
index 62ceb31..c77fc2d 100644
--- a/src/views/basicInformation/index.vue
+++ b/src/views/basicInformation/index.vue
@@ -1,12 +1,11 @@
 <template>
   <div class="app-container">
-      <el-form :inline="true" :model="queryParams" class="search-form">
+          <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="渚涘簲鍟嗗悕绉�">
@@ -14,7 +13,6 @@
             v-model="queryParams.supplierName"
             placeholder="璇疯緭鍏�"
             clearable
-            :style="{ width: '100%' }"
           />
         </el-form-item>
         <el-form-item label="缁熶竴浜鸿瘑鍒彿">
@@ -22,7 +20,6 @@
             v-model="queryParams.identifyNumber"
             placeholder="璇疯緭鍏�"
             clearable
-            :style="{ width: '100%' }"
           />
         </el-form-item>
         <el-form-item label="缁忚惀鍦板潃">
@@ -30,7 +27,6 @@
             v-model="queryParams.address"
             placeholder="璇疯緭鍏�"
             clearable
-            :style="{ width: '100%' }"
           />
         </el-form-item>
         <el-form-item>
@@ -99,6 +95,7 @@
         :form="form"
         :title="title"
         @submit="handleSubmit"
+        :addOrEdit="addOrEdit"
         @beforeClose="handleBeforeClose"
       />
       <Coal
@@ -106,6 +103,15 @@
         v-model:coalDialogFormVisible="dialogFormVisible"
         :form="form"
         :title="title"
+        :addOrEdit="addOrEdit"
+        @submit="handleSubmit"
+      />
+      <coalQualityMaintenance
+        v-if="tabName === 'coalQualityMaintenance'"
+        v-model:coalQualityMaintenanceDialogFormVisible="dialogFormVisible"
+        :form="form"
+        :title="title"
+        :addOrEdit="addOrEdit"
         @submit="handleSubmit"
       />
     </el-card>
@@ -121,8 +127,10 @@
 import Supplier from "./mould/supplier.vue";
 import Customer from "./mould/customer.vue";
 import Coal from "./mould/coal.vue";
+import coalQualityMaintenance from "./mould/coalQualityMaintenance.vue";
 const { proxy } = getCurrentInstance()
 // 寮圭獥
+const coalQualityMaintenanceDialogFormVisible = ref(false);
 const customerDialogFormVisible = ref(false);
 const coalDialogFormVisible = ref(false);
 const supplierDialogFormVisible = ref(false);
@@ -134,7 +142,7 @@
 const tabName = ref("supplier");
 // 鐘舵�佸彉閲�
 const loading = ref(false);
-const total = ref(200);
+const total = ref(0);
 const pageNum = ref(1);
 const pageSize = ref(10);
 const activeTab = ref("supplier");
@@ -155,6 +163,7 @@
   { name: "supplier", label: "渚涘簲鍟嗕俊鎭�" },
   { name: "customer", label: "瀹㈡埛淇℃伅" },
   { name: "coal", label: "鐓ょ淇℃伅" },
+  { name: "coalQualityMaintenance", label: "鐓よ川缁存姢" },
 ]);
 // 鏄惁缂栬緫
 const addOrEdit = ref("add");
@@ -168,10 +177,11 @@
   }, 500);
 };
 // supplier 渚涘簲鍟嗘暟鎹�
-const supplierColumns = reactive([
+const supplierColumns = ref([
   { prop: "supplierName", label: "渚涘簲鍟嗗悕绉�", minWidth: 200 },
   { prop: "identifyNumber", label: "缁熶竴浜鸿瘑鍒彿", minWidth: 120 },
   { prop: "address", label: "缁忚惀鍦板潃", minWidth: 150 },
+  { prop: "detailedaddress", label: "璇︾粏鍦板潃", minWidth: 150 },
   { prop: "bank", label: "寮�鎴疯", minWidth: 120 },
   { prop: "bankAccount", label: "閾惰璐﹀彿", minWidth: 150 },
   { prop: "contacts", label: "鑱旂郴浜�", minWidth: 100 },
@@ -180,10 +190,11 @@
   { prop: "maintainDate", label: "缁存姢鏃ユ湡", minWidth: 100 },
 ]);
 // customer 瀹㈡埛鏁版嵁
-const customerColumns = reactive([
+const customerColumns = ref([
   { prop: "customerName", label: "瀹㈡埛鍚嶇О", minWidth: 200 },
   { prop: "identifyNumber", label: "缁熶竴浜鸿瘑鍒彿", minWidth: 120 },
   { prop: "address", label: "缁忚惀鍦板潃", minWidth: 150 },
+  { prop: "detailedaddress", label: "璇︾粏鍦板潃", minWidth: 150 },
   { prop: "bank", label: "寮�鎴疯", minWidth: 120 },
   { prop: "bankAccount", label: "閾惰璐﹀彿", minWidth: 150 },
   { prop: "contacts", label: "鑱旂郴浜�", minWidth: 100 },
@@ -192,10 +203,21 @@
   { prop: "maintainDate", label: "缁存姢鏃ユ湡", minWidth: 100 },
 ]);
 // coal 鐓ょ鏁版嵁
-const coalColumns = reactive([
+const coalColumns = ref([
   { prop: "coalName", label: "鐓ょ鍚嶇О", minWidth: 200 },
   { prop: "maintainer", label: "缁存姢浜�", minWidth: 120 },
   { prop: "maintenanceDate", label: "缁存姢鏃ユ湡", minWidth: 150 },
+]);
+// coalQualityMaintenance 鐓よ川缁存姢鏁版嵁
+const coalQualityMaintenanceColumns = ref([
+  { prop: "supplierName", label: "鍏ㄦ按(<)", minWidth: 200 },
+  { prop: "identifyNumber", label: "姘村垎鏋�(<)", minWidth: 120 },
+  { prop: "address", label: "鐏板垎", minWidth: 150 },
+  { prop: "bank", label: "鎸ュ彂(>)", minWidth: 100 },
+  { prop: "bankAccount", label: "纭�(<)", minWidth: 100 },
+  { prop: "contacts", label: "鍥哄畾纰�", minWidth: 100 },
+  { prop: "contactAddress", label: "楂樹綅鍙戠儹閲�", minWidth: 100 },
+  { prop: "maintainer", label: "浣庝綅鍙戠儹閲�", minWidth: 100 },
 ]);
 // 鏍囩椤电偣鍑�
 const handleTabClick = (tab) => {
@@ -208,16 +230,20 @@
   getList();
   switch (tabName.value) {
     case "supplier":
-      columns.value = supplierColumns;
+      columns.value = supplierColumns.value;
       dialogFormVisible.value = supplierDialogFormVisible.value;
       break;
     case "customer":
-      columns.value = customerColumns;
+      columns.value = customerColumns.value;
       dialogFormVisible.value = customerDialogFormVisible.value;
       break;
     case "coal":
-      columns.value = coalColumns;
+      columns.value = coalColumns.value;
       dialogFormVisible.value = coalDialogFormVisible.value;
+      break;
+    case "coalQualityMaintenance":
+      columns.value = coalQualityMaintenanceColumns.value;
+      dialogFormVisible.value = coalQualityMaintenanceDialogFormVisible.value;
       break;
   }
   setTimeout(() => {
@@ -240,7 +266,7 @@
 };
 // 鏂板缂栬緫
 const handleAddEdit = (tabName) => {
-  addOrEdit.value == "add" ? (title.value = "鏂板") : (title.value = "缂栬緫");
+  addOrEdit.value == "add" ? title.value = "鏂板" : title.value = "缂栬緫";
   if (tabName === "supplier") {
     dialogFormVisible.value = true;
     title.value = title.value + "渚涘簲鍟嗕俊鎭�";
@@ -252,6 +278,10 @@
   } else if (tabName === "coal") {
     dialogFormVisible.value = true;
     title.value = title.value + "鐓ょ淇℃伅";
+    openDialog();
+  } else if (tabName === "coalQualityMaintenance") {
+    dialogFormVisible.value = true;
+    title.value = title.value + "鐓よ川缁存姢";
     openDialog();
   }
 };
@@ -266,9 +296,14 @@
   dialogFormVisible.value = true;
 };
 // 鎻愪氦琛ㄥ崟
-const handleSubmit = (val) => {
+const handleSubmit = () => {
   // 鎷垮埌鎻愪氦鏁版嵁
   dialogFormVisible.value = false;
+  if (addOrEdit.value === "add") {
+    ElMessage.success("鏂板鎴愬姛锛�" + copyForm.value.supplierName);
+  } else {
+    ElMessage.success("缂栬緫鎴愬姛锛�" + copyForm.value.supplierName);
+  }
   getList();
 };
 const handleDialogFormVisible = (value) => {
@@ -326,6 +361,7 @@
 };
 const getList = () => {
   loading.value = true;
+
   setTimeout(() => {
     // 鏆傛椂寮曞叆娴嬭瘯鏁版嵁
     tableData.value = [
@@ -473,15 +509,22 @@
 </script>
 
 <style scoped>
-.app-container{
+.app-container {
+  padding: 20px;
+  background-color: #f5f7fa;
   box-sizing: border-box;
+  min-height: calc(100vh - 84px);
 }
 .search-form {
-  background-color: #fff;
+  background: #fff;
   padding: 20px 20px 0 20px;
   margin-bottom: 20px;
   border-radius: 4px;
   box-shadow: var(--el-box-shadow-light);
+}
+.el-form-item__label{
+  padding: 0 5px 0 0 !important;
+  font-weight: 500;
 }
 .search-form :deep(.el-form-item) {
   margin-bottom: 16px;
@@ -496,7 +539,7 @@
 }
 @media screen and (min-width: 1200px) {
   .search-form :deep(.el-form-item) {
-    width: 18%;
+    width: 16%;
   }
 }
 .info-tabs {
@@ -508,7 +551,6 @@
   flex-wrap: wrap;
   gap: 10px;
 }
-
 /* 鍝嶅簲寮忚〃鏍� */
 @media screen and (max-width: 768px) {
   .table-toolbar {
@@ -525,4 +567,10 @@
 .table-toolbar{
   margin-bottom: 20px !important;
 }
+.el-form--inline .el-form-item {
+  margin-right: 25px;
+}
+.main-container{
+  background: red !important;
+}
 </style>
\ No newline at end of file

--
Gitblit v1.9.3