From 02ecd75c6ba81122086b9cf75a2cf6d703eb3020 Mon Sep 17 00:00:00 2001
From: 张诺 <zhang_12370@163.com>
Date: 星期五, 23 五月 2025 18:01:18 +0800
Subject: [PATCH] 采购管理>供应商往来=>书写页面样式以及页面交互逻辑 采购管理>付款登记=>编辑无登记人问题

---
 src/views/procurementManagement/invoiceEntry/index.vue |   65 ++++++++++++++++++++++----------
 1 files changed, 44 insertions(+), 21 deletions(-)

diff --git a/src/views/procurementManagement/invoiceEntry/index.vue b/src/views/procurementManagement/invoiceEntry/index.vue
index 937dd54..cac76ba 100644
--- a/src/views/procurementManagement/invoiceEntry/index.vue
+++ b/src/views/procurementManagement/invoiceEntry/index.vue
@@ -43,11 +43,11 @@
         <el-table-column label="渚涘簲鍟嗗悕绉�" prop="supplierName" show-overflow-tooltip />
         <el-table-column label="椤圭洰鍚嶇О" prop="projectName" show-overflow-tooltip />
         <el-table-column label="鍚堝悓閲戦(鍏�)" prop="contractAmount" show-overflow-tooltip :formatter="formattedNumber" />
-        <el-table-column fixed="right" label="鎿嶄綔" min-width="60" align="center">
+        <!-- <el-table-column fixed="right" label="鎿嶄綔" min-width="60" align="center">
           <template #default="scope">
             <el-button link type="primary" size="small" @click="openForm('edit', scope.row);">缂栬緫</el-button>
           </template>
-        </el-table-column>
+        </el-table-column> -->
       </el-table>
       <pagination v-show="total > 0" :total="total" layout="total, sizes, prev, pager, next, jumper"
         :page="page.current" :limit="page.size" @pagination="paginationChange" />
@@ -99,8 +99,7 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="寮�绁ㄦ棩鏈燂細" prop="issueDate">
-              <el-date-picker disabled style="width: 100%" v-model="form.issueDate" value-format="YYYY-MM-DD"
-                format="YYYY-MM-DD" type="date" placeholder="璇烽�夋嫨" clearable />
+                <el-date-picker disabled style="width: 100%" v-model="form.issueDate" type="date" clearable />
             </el-form-item>
           </el-col>
         </el-row>
@@ -121,13 +120,17 @@
           <el-table-column label="涓嶅惈绋庢�讳环(鍏�)" prop="taxExclusiveTotalPrice" :formatter="formattedNumber" />
           <el-table-column label="鏈鏉ョエ鏁�" prop="ticketsNum" width="170">
             <template #default="scope">
-              <el-input-number v-model="scope.row.ticketsNum" :precision="0" :step="1" clearable style="width: 100%"
-                @blur="invoiceNumBlur(scope.row)" />
+              <el-input-number v-model="scope.row.ticketsNum" placeholder="璇烽�夋嫨" :precision="0" :step="1" clearable style="width: 100%"
+                @change="invoiceNumBlur(scope.row)" />
             </template>
           </el-table-column>
-          <el-table-column label="鏈鏉ョエ閲戦(鍏�)" prop="ticketsAmount" :formatter="formattedNumber"></el-table-column>
+          <el-table-column label="鏈鏉ョエ閲戦(鍏�)" prop="ticketsAmount" :formatter="formattedNumber">
+            <template #default="scope">
+              {{ scope.row.ticketsAmount || 0 }}
+            </template>
+          </el-table-column>
           <el-table-column label="鏈潵绁ㄦ暟" prop="futureTickets"
-            :formatter="(row) => row.futureTickets == null || row.futureTickets === '' ? row.quantity : row.futureTickets">
+            : ="(row) => row.futureTickets == null || row.futureTickets === '' ? row.quantity : row.futureTickets">
           </el-table-column>
           <el-table-column label="鏈潵绁ㄩ噾棰�(鍏�)" prop="futureTicketsAmount"
             :formatter="(row) => (row.futureTicketsAmount !== undefined && row.futureTicketsAmount !== null && row.futureTicketsAmount !== '' ? row.futureTicketsAmount : row.taxExclusiveTotalPrice)">
@@ -184,13 +187,18 @@
     purchaseContractNumber: '',
   },
   form: {
+    issueDate:"",// 寮�绁ㄦ棩鏈�
     purchaseLedgerId: '',
     purchaseLedgerNo: '',
     issUerId: '', // 寮�绁ㄤ汉id
     issUer: '' ,// 寮�绁ㄤ汉濮撳悕
+    invoiceNumber:"", // 鍙戠エ鍙�
+    invoiceAmount:"", // 鍙戠エ閲戦
   },
   rules: {
-    purchaseLedgerId: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
+    invoiceNumber: [{ required: true, message: '璇疯緭鍏ュ彂绁ㄥ彿' , trigger: 'blur' },{type:"string"}],
+    invoiceAmount: [{ required: true, message: '璇疯緭鍏ュ彂绁ㄩ噾棰�' , trigger: 'blur'}],
+    
   }
 })
 const { searchForm, form, rules } = toRefs(data)
@@ -229,7 +237,7 @@
 };
 // 琛ㄦ牸閫夋嫨鏁版嵁
 const handleSelectionChange = (selection) => {
-  selectedRows.value = selection
+  selectedRows.value = selection.filter(item => item.purchaseContractNumber !== undefined);
 }
 const productSelected = (selectedRows) => {
   productSelectedRows.value = selectedRows
@@ -279,12 +287,14 @@
 
 // 鎵撳紑寮规
 const openForm = (type, row) => {
+  invoiceNumBlur(row)
   operationType.value = type
   form.value = {}
   productData.value = []
   fileList.value = []
   form.value.issUerId = userStore.id
   form.value.issUer = userStore.name
+  form.value.issueDate = getNowFormatDate()
   userListNoPage().then(res => {
     userList.value = res.data
   })
@@ -292,11 +302,12 @@
   if (type === 'add' && row && row.id) {
     form.value.purchaseLedgerId = row.id
     getPurchaseNoById({ id: row.id }).then(res => {
-      purchaseLedgerList.value = res,
-        form.value.purchaseLedgerNo = res.purchaseContractNumber;
-        form.value.invoiceAmount = res.invoiceAmount;
-        form.value.invoiceNumber = res.invoiceNumber;
-      setInfo(res.id)
+      let result = res.data
+      purchaseLedgerList.value = result,
+        form.value.purchaseLedgerNo = result.purchaseContractNumber;
+        form.value.invoiceAmount = result.invoiceAmount;
+        form.value.invoiceNumber = result.invoiceNumber;
+      setInfo(result.id)
     })
   } else {
     getProduct().then(res => {
@@ -320,10 +331,11 @@
 // 閫夋嫨閲囪喘鍚堝悓鍙疯祴鍊�
 const setInfo = (value) => {
   getInfo({ id: value }).then(res => {
-    form.value.salesContractNo = res.salesContractNo
-    form.value.projectName = res.projectName
-    productData.value = res.productData
-    form.value.supplierName = res.supplierName
+    let result = res.data
+    form.value.salesContractNo = result.salesContractNo
+    form.value.projectName = result.projectName
+    productData.value = result.productData
+    form.value.supplierName = result.supplierName
   })
 }
 // 鎻愪氦琛ㄥ崟
@@ -393,8 +405,8 @@
 }
 //鏈寮�绁ㄥけ鐒︽搷浣�
 const invoiceNumBlur = (row) => {
-  if (!row.ticketsNum) {
-    row.ticketsNum = 0
+  if (!row.ticketsNum || row.ticketsNum === '') {
+      row.ticketsNum = 0
   }
   if (Number(row.ticketsNum) > Number(row.futureTickets)) {
     proxy.$modal.msgWarning('鏈寮�绁ㄦ暟涓嶅緱澶т簬鏈紑绁ㄦ暟')
@@ -408,6 +420,17 @@
   // 璁$畻鏈紑绁ㄩ噾棰�
   row.futureTicketsAmount = row.futureTickets * row.taxInclusiveUnitPrice
 }
+
+// 鑾峰彇褰撳墠鏃ユ湡鍑芥暟
+function getNowFormatDate() {
+  let date = new Date(),
+    year = date.getFullYear(), //鑾峰彇瀹屾暣鐨勫勾浠�(4浣�)
+    month = date.getMonth() + 1, //鑾峰彇褰撳墠鏈堜唤(0-11,0浠h〃1鏈�)
+    strDate = date.getDate() // 鑾峰彇褰撳墠鏃�(1-31)
+  if (month < 10) month = `0${month}` // 濡傛灉鏈堜唤鏄釜浣嶆暟锛屽湪鍓嶉潰琛�0
+  if (strDate < 10) strDate = `0${strDate}` // 濡傛灉鏃ユ槸涓綅鏁帮紝鍦ㄥ墠闈㈣ˉ0
+  return `${year}-${month}-${strDate}`
+}
 getList()
 </script>
 

--
Gitblit v1.9.3