From fe631515b71782a10a750874f6d4582fe027cd22 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 03 十一月 2025 09:32:49 +0800
Subject: [PATCH] 公司-所有的表格添加斑马纹

---
 src/views/salesManagement/invoiceRegistration/index.vue |  139 ++++++++++++++++++++++++++++++++++++----------
 1 files changed, 109 insertions(+), 30 deletions(-)

diff --git a/src/views/salesManagement/invoiceRegistration/index.vue b/src/views/salesManagement/invoiceRegistration/index.vue
index 917eb47..9d39684 100644
--- a/src/views/salesManagement/invoiceRegistration/index.vue
+++ b/src/views/salesManagement/invoiceRegistration/index.vue
@@ -2,7 +2,7 @@
   <div class="app-container">
     <div class="search_form">
       <el-form :inline="true" :model="searchForm">
-        <el-form-item label="寮�绁ㄧ櫥璁�">
+        <el-form-item label="瀹㈡埛鍚嶇О">
           <el-input
             v-model="searchForm.customerName"
             style="width: 240px"
@@ -33,6 +33,12 @@
             @change="handleQuery"
           />
         </el-form-item>
+        <br/>
+        <el-form-item label="鍚堝悓褰曞叆鏃ユ湡">
+          <el-date-picker style="width: 240px" v-model="searchForm.commonDate" value-format="YYYY-MM-DD"
+                          format="YYYY-MM-DD" type="daterange" start-placeholder="寮�濮嬫椂闂�" end-placeholder="缁撴潫鏃堕棿" clearable
+                          @change="changeDateRange" @clear="clearRange" />
+        </el-form-item>
         <el-form-item>
           <el-button type="primary" @click="handleQuery"> 鎼滅储 </el-button>
           <el-button @click="resetForm"> 閲嶇疆 </el-button>
@@ -57,6 +63,7 @@
         :summary-method="summarizeMainTable"
         @expand-change="expandChange"
         @selection-change="handleSelectionChange"
+        stripe
       >
         <el-table-column align="center" type="selection" width="55" />
         <el-table-column type="expand">
@@ -66,6 +73,7 @@
               border
               show-summary
               :summary-method="summarizeChildrenTable"
+              stripe
             >
               <el-table-column
                 align="center"
@@ -74,10 +82,14 @@
                 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" />
+              <el-table-column label="绋庣巼(%)" prop="taxRate" width="80" />
               <el-table-column
                 label="鍚◣鍗曚环(鍏�)"
                 prop="taxInclusiveUnitPrice"
@@ -117,40 +129,53 @@
           </template>
         </el-table-column>
         <el-table-column align="center" label="搴忓彿" type="index" width="60" />
+        <el-table-column label="鍚堝悓褰曞叆鏃ユ湡" prop="entryDate" width="120" />
         <el-table-column
           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="salesman" show-overflow-tooltip width="90"/>
         <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 +243,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 +255,8 @@
                 type="date"
                 placeholder="璇烽�夋嫨"
                 clearable
+                format="YYYY-MM-DD"
+                value-format="YYYY-MM-DD"
               />
             </el-form-item>
           </el-col>
@@ -246,8 +273,6 @@
               />
             </el-form-item>
           </el-col>
-        </el-row>
-        <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="鍙戠エ鍙风爜锛�" prop="invoiceNo">
               <el-input
@@ -274,19 +299,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="涓嶅惈绋庢�讳环(鍏�)"
@@ -294,33 +325,29 @@
             :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%"
+															 :precision="2"
                 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%"
+															 :precision="2"
                 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"
@@ -333,7 +360,7 @@
           <el-table-column
             label="鏈紑绁ㄩ噾棰�(鍏�)"
             prop="noInvoiceAmount"
-            width="150"
+            width="200"
           >
             <template #default="scope">
               <el-input
@@ -346,6 +373,29 @@
                 :step="0.01"
               ></el-input>
             </template>
+          </el-table-column>
+          <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" width="150">
+            <!-- <template #default="{ row }">
+              <el-date-picker
+                style="width: 100%"
+                v-model="row.registerDate"
+                value-format="YYYY-MM-DD"
+                format="YYYY-MM-DD"
+                type="date"
+                placeholder="璇烽�夋嫨"
+                clearable
+                disabled
+              />
+            </template> -->
           </el-table-column>
         </el-table>
       </el-form>
@@ -372,8 +422,11 @@
 } from "@/api/salesManagement/salesLedger.js";
 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();
 const tableData = ref([]);
 const productData = ref([]);
 const selectedRows = ref([]);
@@ -392,7 +445,7 @@
     status: false,
     customerContractNo: undefined, // 瀹㈡埛鍚堝悓鍙�
     projectName: undefined, // 椤圭洰鍚嶇О
-    createUer: undefined, // 褰曞叆浜�
+    createUer: undefined, // 鐧昏浜�
     issueDate: undefined, // 寮�绁ㄦ棩鏈�
     createTime: undefined, // 褰曞叆鏃ユ湡锛�
   },
@@ -402,14 +455,36 @@
     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" }],
+    invoiceNo: [{ required: true, message: "璇疯緭鍏�", trigger: "change" }],
+    createTime: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
   },
 });
 const { form, rules } = toRefs(data);
 const { form: searchForm, resetForm } = useFormData(data.searchForm);
 
+
+const changeDateRange = (date) => {
+  if (date) {
+    searchForm.entryDateStart = date[0];
+    searchForm.entryDateEnd = date[1];
+    getList();
+  }
+};
+
+const clearRange = () => {
+  searchForm.commonDate = [];
+  searchForm.entryDateStart = undefined;
+  searchForm.entryDateEnd = undefined;
+  getList();
+};
 const formattedNumber = (row, column, cellValue) => {
   if (cellValue == 0) {
     return parseFloat(cellValue).toFixed(2);
@@ -422,7 +497,7 @@
 };
 
 const formattedInputNumber = (value) => {
-  return parseFloat(value).toFixed(2);
+  return value ? parseFloat(value).toFixed(2) : 0;
 };
 
 // 鏌ヨ鍒楄〃
@@ -461,7 +536,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);
       });
@@ -476,8 +551,8 @@
 const summarizeMainTable = (param) => {
   return proxy.summarizeTable(param, [
     "contractAmount",
-    "noInvoiceAmountTotal",
     "invoiceTotal",
+    "noInvoiceAmountTotal",
   ]);
 };
 // 瀛愯〃鍚堣鏂规硶
@@ -491,6 +566,7 @@
     "currentInvoiceAmount",
     "noInvoiceNum",
     "noInvoiceAmount",
+    "currentInvoiceNum",
   ]);
 };
 // 鎵撳紑寮规
@@ -504,6 +580,9 @@
   productData.value = [];
   getSalesLedgerWithProducts({ id: selectedRows.value[0].id }).then((res) => {
     form.value = { ...res };
+    form.value.createTime = dayjs().format("YYYY-MM-DD");
+    form.value.issueDate = dayjs().format("YYYY-MM-DD");
+    form.value.createUer = userStore.nickName;
     productData.value = form.value.productData.map((item) => {
       return item;
     });

--
Gitblit v1.9.3