From d6c50376cca57aae25141f537c3db9088660b28f Mon Sep 17 00:00:00 2001
From: 张诺 <zhang_12370@163.com>
Date: 星期五, 23 五月 2025 15:21:59 +0800
Subject: [PATCH] 采购管理>来票登记=》数据新增发票时数据校验 处理调整ui 采购管理>来票台账=》重构模块 调整前端交互逻辑 采购管理>付款台账=》后端联调

---
 src/views/procurementManagement/paymentEntry/index.vue |   50 ++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 36 insertions(+), 14 deletions(-)

diff --git a/src/views/procurementManagement/paymentEntry/index.vue b/src/views/procurementManagement/paymentEntry/index.vue
index 4022021..a209b87 100644
--- a/src/views/procurementManagement/paymentEntry/index.vue
+++ b/src/views/procurementManagement/paymentEntry/index.vue
@@ -19,10 +19,10 @@
       </div>
     </div>
     <div class="table_list">
-      <PIMTable :column="tableColumn" :tableData="tableData" :page="page" :handleSelectionChange="handleSelectionChange"
+      <PIMTable :column="tableColumn" :tableData="tableData" :page="page" :isSelection="true" :handleSelectionChange="handleSelectionChange"
                 :tableLoading="tableLoading" @pagination="pagination" :total="total"></PIMTable>
     </div>
-    <el-dialog v-model="dialogFormVisible" :title="operationType === 'add' ? '鏂板渚涘簲鍟嗕俊鎭�' : '缂栬緫渚涘簲鍟嗕俊鎭�'" width="60%" @close="closeDia">
+    <el-dialog v-model="dialogFormVisible" :title="operationType === 'add' ? '鏂板浠樻鐧昏' : '缂栬緫浠樻鐧昏'" width="60%" @close="closeDia">
       <el-form :model="form" label-width="140px" label-position="top" :rules="rules" ref="formRef">
         <el-row :gutter="30">
           <el-col :span="12">
@@ -46,7 +46,9 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="鍙戠エ鍙凤細" prop="invoiceNumber">
-              <el-input v-model="form.invoiceNumber" placeholder="鑷姩濉厖" clearable disabled/>
+              <el-select v-model="form.invoiceNumber" placeholder="璇烽�夋嫨" clearable :disabled="operationType === 'edit'" @change="setInvoiceAmount">
+                <el-option v-for="item in invoiceNumberList" :key="item.id" :label="item.invoiceNumber" :value="item.invoiceNumber"/>
+              </el-select>
             </el-form-item>
           </el-col>
         </el-row>
@@ -58,7 +60,10 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="绋庣巼(%)锛�" prop="taxRate">
-              <el-input type="number" :step="0.01" v-model="form.taxRate" placeholder="鑷姩濉厖" clearable disabled/>
+              <!-- <el-input type="number" :step="0.01" v-model="form.taxRate" placeholder="鑷姩濉厖" clearable/> -->
+               <el-select v-model="form.taxRate"  placeholder="璇烽�夋嫨" clearable :disabled="operationType === 'edit'">
+                <el-option v-for="item in taxRateSelection" :key="item.value" :label="item.label" :value="item.value"/>
+              </el-select>
             </el-form-item>
           </el-col>
         </el-row>
@@ -121,10 +126,18 @@
   paymentRegistrationAdd, paymentRegistrationDel,
   paymentRegistrationEdit,
   registrationInfo,
-  registrationList
+  registrationList,
+  getTicketNo
 } from "@/api/procurementManagement/paymentEntry.js";
 const { proxy } = getCurrentInstance()
-
+const taxRateSelection = [
+  { value: '0', label: '0%' },
+  { value: '3', label: '3%' },
+  { value: '6', label: '6%' },
+  { value: '9', label: '9%' },
+  { value: '13', label: '13%' },
+  { value: '17', label: '17%' },
+]
 const tableColumn = ref([
   {
     label: '閲囪喘鍚堝悓鍙�',
@@ -145,10 +158,6 @@
   {
     label: '鍙戠エ閲戦(鍏�)',
     prop: 'invoiceAmount'
-  },
-  {
-    label: '绋庣巼(%)',
-    prop: 'taxRate'
   },
   {
     label: '寰呬粯娆鹃噾棰�(鍏�)',
@@ -173,6 +182,7 @@
 const selectedRows = ref([])
 const tableLoading = ref(false)
 const purchaseLedgerList = ref([])
+const invoiceNumberList = ref([])
 const userStore = useUserStore()
 const page = reactive({
   current: 1,
@@ -235,6 +245,7 @@
 const openForm = (type, row) => {
   operationType.value = type
   form.value = {}
+  invoiceNumberList.value = []
   // 鏌ヨ閲囪喘鍚堝悓鍙�
   getPurchaseNo().then(res => {
     purchaseLedgerList.value = res
@@ -249,22 +260,33 @@
   }
   dialogFormVisible.value = true
 }
+// 閫夋嫨鍙戠エ鍙蜂互鍚庣粰鍙戠エ閲戦璧嬪��
+const setInvoiceAmount = (value) => {
+  if (value) {
+    invoiceNumberList.value.forEach(item => {
+      if (item.invoiceNumber === value) {
+        form.value.invoiceAmount = item.invoiceAmount
+      }
+    })
+  } else {
+    form.value.invoiceAmount = ''
+  }
+}
 // 閫夋嫨閲囪喘鍚堝悓鍙疯祴鍊�
 const setInfo = (value) => {
+  getTicketNo().then((res)=>{
+        invoiceNumberList.value = res.data
+      })
   if (value) {
     byPurchaseId(value).then(res => {
       form.value.salesContractNo = res.data.salesContractNo
       form.value.supplierName = res.data.supplierName
-      form.value.invoiceNumber = res.data.invoiceNumber
-      form.value.invoiceAmount = res.data.invoiceAmount
       form.value.taxRate = res.data.taxRate
       form.value.supplierId = res.data.supplierId
     })
   } else {
     form.value.salesContractNo = ''
     form.value.supplierName = ''
-    form.value.invoiceNumber = ''
-    form.value.invoiceAmount = ''
     form.value.taxRate = ''
     form.value.supplierId = ''
   }

--
Gitblit v1.9.3