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/paymentEntry/index.vue |   63 ++++++++++++++++++++++++-------
 1 files changed, 49 insertions(+), 14 deletions(-)

diff --git a/src/views/procurementManagement/paymentEntry/index.vue b/src/views/procurementManagement/paymentEntry/index.vue
index 5f8054a..5fad409 100644
--- a/src/views/procurementManagement/paymentEntry/index.vue
+++ b/src/views/procurementManagement/paymentEntry/index.vue
@@ -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>
@@ -98,6 +103,13 @@
             </el-form-item>
           </el-col>
         </el-row>
+        <el-row :gutter="30">
+            <el-col :span="12">
+              <el-form-item label="鐧昏鏃ユ湡锛�" prop="registrationtDate">
+              <el-input v-model="form.registrationtDate" placeholder="璇疯緭鍏�" clearable disabled/>
+            </el-form-item>
+            </el-col>
+        </el-row>
       </el-form>
       <template #footer>
         <div class="dialog-footer">
@@ -121,10 +133,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 +165,6 @@
   {
     label: '鍙戠エ閲戦(鍏�)',
     prop: 'invoiceAmount'
-  },
-  {
-    label: '绋庣巼(%)',
-    prop: 'taxRate'
   },
   {
     label: '寰呬粯娆鹃噾棰�(鍏�)',
@@ -173,6 +189,7 @@
 const selectedRows = ref([])
 const tableLoading = ref(false)
 const purchaseLedgerList = ref([])
+const invoiceNumberList = ref([])
 const userStore = useUserStore()
 const page = reactive({
   current: 1,
@@ -199,11 +216,13 @@
     registrant: '',
     registrantId: '',
     paymentDate: '',
+    registrationtDate:"",
   },
   rules: {
     purchaseLedgerId: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
     currentPaymentAmount: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
     paymentMethod: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
+    invoiceNumber: [{ required: true, message: "璇烽�夋嫨閲囪喘鍚堝悓鍙�", trigger: "change" }],
   }
 })
 const { searchForm, form, rules } = toRefs(data)
@@ -235,36 +254,52 @@
 const openForm = (type, row) => {
   operationType.value = type
   form.value = {}
+  invoiceNumberList.value = []
   // 鏌ヨ閲囪喘鍚堝悓鍙�
   getPurchaseNo().then(res => {
     purchaseLedgerList.value = res
   })
-  form.value.registrantId = userStore.id
-  form.value.registrant = userStore.name
+  form.value.registrationtDate = getCurrentDate();
   form.value.paymentDate = getCurrentDate();
+  form.value.registrant = userStore.name
   if (type === 'edit') {
     registrationInfo(row.id).then(res => {
       form.value = {...res.data}
+      if(form.value.registrantId == userStore.id){
+        form.value.registrant = userStore.name
+      }
     })
   }
   dialogFormVisible.value = true
 }
+// 閫夋嫨鍙戠エ鍙蜂互鍚庣粰鍙戠エ閲戦璧嬪��
+const setInvoiceAmount = (value) => {
+  if (value) {
+    invoiceNumberList.value.forEach(item => {
+      if (item.invoiceNumber === value) {
+        form.value.invoiceAmount = item.invoiceAmount
+        form.value.ticketRegistrationId = item.id
+      }
+    })
+  } 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