From b57f2596434274698b877cf0b37680710481e533 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期六, 12 七月 2025 15:04:20 +0800
Subject: [PATCH] 1.客户管理-编辑客户联系人和联系电话后保存。列表展示的联系人、联系电话还是编辑前的记录

---
 src/views/salesManagement/invoiceRegistration/index.vue |   95 ++++++++++++++++++++++++++++++++---------------
 1 files changed, 64 insertions(+), 31 deletions(-)

diff --git a/src/views/salesManagement/invoiceRegistration/index.vue b/src/views/salesManagement/invoiceRegistration/index.vue
index 402e93c..f5c293c 100644
--- a/src/views/salesManagement/invoiceRegistration/index.vue
+++ b/src/views/salesManagement/invoiceRegistration/index.vue
@@ -74,7 +74,11 @@
                 width="60"
               />
               <el-table-column label="浜у搧澶х被" prop="productCategory" />
-              <el-table-column label="瑙勬牸鍨嬪彿" prop="specificationModel" />
+              <el-table-column
+                label="瑙勬牸鍨嬪彿"
+                prop="specificationModel"
+                width="150"
+              />
               <el-table-column label="鍗曚綅" prop="unit" width="70" />
               <el-table-column label="鏁伴噺" prop="quantity" width="70" />
               <el-table-column label="绋庣巼(%)" prop="taxRate" width="70" />
@@ -121,36 +125,48 @@
           label="閿�鍞悎鍚屽彿"
           prop="salesContractNo"
           show-overflow-tooltip
+          width="200"
         />
         <el-table-column
           label="瀹㈡埛鍚堝悓鍙�"
           prop="customerContractNo"
+          width="200"
           show-overflow-tooltip
         />
         <el-table-column
           label="瀹㈡埛鍚嶇О"
           prop="customerName"
           show-overflow-tooltip
+          width="240"
         />
         <el-table-column label="涓氬姟鍛�" prop="salesman" show-overflow-tooltip />
         <el-table-column
           label="椤圭洰鍚嶇О"
           prop="projectName"
           show-overflow-tooltip
+          width="200"
         />
         <el-table-column
           label="鍚堝悓閲戦(鍏�)"
           prop="contractAmount"
           show-overflow-tooltip
           :formatter="formattedNumber"
+					width="220"
+
         />
         <el-table-column
           label="宸插紑绁ㄩ噾棰�(鍏�)"
           prop="invoiceTotal"
           show-overflow-tooltip
           :formatter="formattedNumber"
+          width="120"
         />
-        <el-table-column label="鏈紑绁ㄩ噾棰�(鍏�)" show-overflow-tooltip>
+        <el-table-column
+          label="鏈紑绁ㄩ噾棰�(鍏�)"
+          prop="noInvoiceAmountTotal"
+          show-overflow-tooltip
+          width="120"
+        >
           <template #default="{ row, column }">
             <el-text type="danger">
               {{ formattedNumber(row, column, row.noInvoiceAmountTotal) }}
@@ -218,7 +234,7 @@
         </el-row>
         <el-row :gutter="30">
           <el-col :span="12">
-            <el-form-item label="褰曞叆浜�">
+            <el-form-item label="褰曞叆浜�" prop="createUer">
               <el-input v-model="form.createUer" placeholder="璇疯緭鍏ュ綍鍏ヤ汉" />
             </el-form-item>
           </el-col>
@@ -230,6 +246,8 @@
                 type="date"
                 placeholder="璇烽�夋嫨"
                 clearable
+                format="YYYY-MM-DD"
+                value-format="YYYY-MM-DD"
               />
             </el-form-item>
           </el-col>
@@ -272,19 +290,25 @@
             width="60"
           />
           <el-table-column label="浜у搧澶х被" prop="productCategory" />
-          <el-table-column label="瑙勬牸鍨嬪彿" prop="specificationModel" />
+          <el-table-column
+            label="瑙勬牸鍨嬪彿"
+            prop="specificationModel"
+            width="150"
+          />
           <el-table-column label="鍗曚綅" prop="unit" />
           <el-table-column label="鏁伴噺" prop="quantity" width="70" />
-          <el-table-column label="绋庣巼(%)" prop="taxRate" width="70" />
+          <el-table-column label="绋庣巼(%)" prop="taxRate" width="80" />
           <el-table-column
             label="鍚◣鍗曚环(鍏�)"
             prop="taxInclusiveUnitPrice"
             :formatter="formattedNumber"
+						width="200"
           />
           <el-table-column
             label="鍚◣鎬讳环(鍏�)"
             prop="taxInclusiveTotalPrice"
             :formatter="formattedNumber"
+						width="200"
           />
           <el-table-column
             label="涓嶅惈绋庢�讳环(鍏�)"
@@ -292,33 +316,27 @@
             :formatter="formattedNumber"
             width="150"
           />
-          <el-table-column label="鏈寮�绁ㄦ暟" prop="currentInvoiceNum">
+          <el-table-column label="鏈寮�绁ㄦ暟" prop="currentInvoiceNum" width="180">
             <template #default="scope">
-              <el-input
-                type="number"
-                :step="0.1"
-                min="0"
+              <el-input-number :step="0.1" :min="0" style="width: 100%"
                 v-model="scope.row.currentInvoiceNum"
-                @blur="invoiceNumBlur(scope.row)"
-              ></el-input>
+                @change="invoiceNumBlur(scope.row)"
+              ></el-input-number>
             </template>
           </el-table-column>
           <el-table-column
             label="鏈寮�绁ㄩ噾棰�(鍏�)"
             prop="currentInvoiceAmount"
-            width="150"
+            width="180"
           >
             <template #default="scope">
-              <el-input
-                type="number"
-                :step="0.01"
-                min="0"
+              <el-input-number :step="0.01" :min="0" style="width: 100%"
                 v-model="scope.row.currentInvoiceAmount"
-                @blur="invoiceAmountBlur(scope.row)"
-              ></el-input>
+                @change="invoiceAmountBlur(scope.row)"
+              ></el-input-number>
             </template>
           </el-table-column>
-          <el-table-column label="鏈紑绁ㄦ暟" prop="noInvoiceNum">
+          <el-table-column label="鏈紑绁ㄦ暟" prop="noInvoiceNum" width="120">
             <template #default="scope">
               <el-input
                 type="number"
@@ -331,7 +349,7 @@
           <el-table-column
             label="鏈紑绁ㄩ噾棰�(鍏�)"
             prop="noInvoiceAmount"
-            width="150"
+            width="200"
           >
             <template #default="scope">
               <el-input
@@ -345,13 +363,17 @@
               ></el-input>
             </template>
           </el-table-column>
-          <el-table-column label="鐧昏浜�" prop="register">
-            <template #default="{ row }">
-              <el-input v-model="row.register" placeholder="璇疯緭鍏ョ櫥璁颁汉" />
-            </template>
+          <el-table-column label="鐧昏浜�" prop="register" width="100">
+            <!-- <template #default="{ row }">
+              <el-input
+                v-model="row.register"
+                placeholder="璇疯緭鍏ョ櫥璁颁汉"
+                disabled
+              />
+            </template> -->
           </el-table-column>
-          <el-table-column label="鐧昏鏃ユ湡" prop="registerDate">
-            <template #default="{ row }">
+          <el-table-column label="鐧昏鏃ユ湡" prop="registerDate" width="150">
+            <!-- <template #default="{ row }">
               <el-date-picker
                 style="width: 100%"
                 v-model="row.registerDate"
@@ -360,8 +382,9 @@
                 type="date"
                 placeholder="璇烽�夋嫨"
                 clearable
+                disabled
               />
-            </template>
+            </template> -->
           </el-table-column>
         </el-table>
       </el-form>
@@ -389,6 +412,7 @@
 import { invoiceRegistrationSave } from "@/api/salesManagement/invoiceRegistration.js";
 import useFormData from "@/hooks/useFormData";
 import useUserStore from "@/store/modules/user";
+import dayjs from "dayjs";
 
 const { proxy } = getCurrentInstance();
 const userStore = useUserStore();
@@ -420,9 +444,15 @@
     salesman: "",
     projectName: "",
     productData: [],
+    invoiceNo: "",
+    createUer: userStore.nickName,
+    issueDate: dayjs().format("YYYY-MM-DD"),
   },
   rules: {
     salesLedgerId: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
+    createUer: [{ required: true, message: "璇烽�夋嫨", trigger: "blur" }],
+    issueDate: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
+    createTime: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
   },
 });
 const { form, rules } = toRefs(data);
@@ -440,7 +470,7 @@
 };
 
 const formattedInputNumber = (value) => {
-  return parseFloat(value).toFixed(2);
+  return value ? parseFloat(value).toFixed(2) : 0;
 };
 
 // 鏌ヨ鍒楄〃
@@ -479,7 +509,7 @@
       productList({ salesLedgerId: row.id, type: 1 }).then((res) => {
         const index = tableData.value.findIndex((item) => item.id === row.id);
         if (index > -1) {
-          tableData.value[index].children = res;
+          tableData.value[index].children = res.data;
         }
         expandedRowKeys.value.push(row.id);
       });
@@ -494,8 +524,8 @@
 const summarizeMainTable = (param) => {
   return proxy.summarizeTable(param, [
     "contractAmount",
-    "noInvoiceAmountTotal",
     "invoiceTotal",
+    "noInvoiceAmountTotal",
   ]);
 };
 // 瀛愯〃鍚堣鏂规硶
@@ -509,6 +539,7 @@
     "currentInvoiceAmount",
     "noInvoiceNum",
     "noInvoiceAmount",
+    "currentInvoiceNum",
   ]);
 };
 // 鎵撳紑寮规
@@ -522,6 +553,8 @@
   productData.value = [];
   getSalesLedgerWithProducts({ id: selectedRows.value[0].id }).then((res) => {
     form.value = { ...res };
+    form.value.createTime = dayjs().format("YYYY-MM-DD");
+    form.value.createUer = userStore.nickName;
     productData.value = form.value.productData.map((item) => {
       return item;
     });

--
Gitblit v1.9.3