From ee6f8c315926a871f11a96a69702efcef4d0b49f Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 26 五月 2025 13:49:03 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev
---
src/views/procurementManagement/paymentEntry/index.vue | 145 +++++++++++++++++++++++++++++-------------------
1 files changed, 87 insertions(+), 58 deletions(-)
diff --git a/src/views/procurementManagement/paymentEntry/index.vue b/src/views/procurementManagement/paymentEntry/index.vue
index b327dc9..0c2365d 100644
--- a/src/views/procurementManagement/paymentEntry/index.vue
+++ b/src/views/procurementManagement/paymentEntry/index.vue
@@ -3,14 +3,8 @@
<div class="search_form">
<div>
<span class="search_title">渚涘簲鍟嗗悕绉�/鍚堝悓鍙凤細</span>
- <el-input
- v-model="searchForm.supplierNameOrContractNo"
- style="width: 240px"
- placeholder="杈撳叆渚涘簲鍟嗗悕绉�/鍚堝悓鍙锋悳绱�"
- @change="handleQuery"
- clearable
- :prefix-icon="Search"
- />
+ <el-input v-model="searchForm.supplierNameOrContractNo" style="width: 240px" placeholder="杈撳叆渚涘簲鍟嗗悕绉�/鍚堝悓鍙锋悳绱�"
+ @change="handleQuery" clearable :prefix-icon="Search" />
<el-button type="primary" @click="handleQuery" style="margin-left: 10px">鎼滅储</el-button>
</div>
<div>
@@ -19,60 +13,71 @@
</div>
</div>
<div class="table_list">
- <PIMTable :column="tableColumn" :tableData="tableData" :page="page" :handleSelectionChange="handleSelectionChange"
- :tableLoading="tableLoading" @pagination="pagination" :total="total"></PIMTable>
+ <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">
- <el-form-item label="閲囪喘鍚堝悓鍙凤細" prop="purchaseLedgerId">
- <el-select v-model="form.purchaseLedgerId" placeholder="璇烽�夋嫨" clearable @change="setInfo" :disabled="operationType === 'edit'">
- <el-option v-for="item in purchaseLedgerList" :key="item.id" :label="item.purchaseContractNumber" :value="item.id"/>
+ <el-form-item label="閲囪喘鍚堝悓鍙�11111锛�" prop="purchaseLedgerId">
+ <el-select v-model="form.purchaseLedgerId" placeholder="璇烽�夋嫨" clearable @change="setInfo"
+ :disabled="operationType === 'edit'">
+ <el-option v-for="item in purchaseLedgerList" :key="item.id" :label="item.purchaseContractNumber"
+ :value="item.id" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="閿�鍞悎鍚屽彿锛�" prop="salesContractNo">
- <el-input v-model="form.salesContractNo" placeholder="鑷姩濉厖" clearable disabled/>
+ <el-input v-model="form.salesContractNo" placeholder="鑷姩濉厖" clearable disabled />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="12">
<el-form-item label="渚涘簲鍟嗗悕绉帮細" prop="supplierName">
- <el-input v-model="form.supplierName" placeholder="鑷姩濉厖" clearable disabled/>
+ <el-input v-model="form.supplierName" placeholder="鑷姩濉厖" clearable disabled />
</el-form-item>
</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>
<el-row :gutter="30">
<el-col :span="12">
<el-form-item label="鍙戠エ閲戦(鍏�)锛�" prop="invoiceAmount">
- <el-input type="number" :step="0.01" v-model="form.invoiceAmount" placeholder="鑷姩濉厖" clearable disabled/>
+ <el-input type="number" :step="0.01" v-model="form.invoiceAmount" placeholder="鑷姩濉厖" clearable disabled />
</el-form-item>
</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>
<el-row :gutter="30">
<el-col :span="12">
<el-form-item label="鏈浠樻閲戦锛�" prop="currentPaymentAmount">
- <el-input type="number" :step="0.01" v-model="form.currentPaymentAmount" placeholder="璇疯緭鍏�" clearable/>
+ <el-input type="number" :step="0.01" v-model="form.currentPaymentAmount" placeholder="璇疯緭鍏�" clearable />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="浠樻褰㈠紡锛�" prop="paymentMethod">
<el-select v-model="form.paymentMethod" placeholder="璇烽�夋嫨" clearable>
- <el-option label="鐢垫眹" value="鐢垫眹"/>
- <el-option label="鎵垮厬" value="鎵垮厬"/>
+ <el-option label="鐢垫眹" value="鐢垫眹" />
+ <el-option label="鎵垮厬" value="鎵垮厬" />
</el-select>
</el-form-item>
</el-col>
@@ -80,21 +85,20 @@
<el-row :gutter="30">
<el-col :span="12">
<el-form-item label="鐧昏浜猴細" prop="registrant">
- <el-input v-model="form.registrant" placeholder="璇疯緭鍏�" clearable disabled/>
+ <el-input v-model="form.registrant" placeholder="璇疯緭鍏�" clearable disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="浠樻鏃ユ湡锛�" prop="paymentDate">
- <el-date-picker
- disabled
- style="width: 100%"
- v-model="form.paymentDate"
- value-format="YYYY-MM-DD"
- format="YYYY-MM-DD"
- type="date"
- placeholder="璇烽�夋嫨"
- clearable
- />
+ <el-date-picker disabled style="width: 100%" v-model="form.paymentDate" value-format="YYYY-MM-DD"
+ format="YYYY-MM-DD" type="date" placeholder="璇烽�夋嫨" clearable />
+ </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>
@@ -111,9 +115,9 @@
<script setup>
import { ref } from 'vue'
-import {Search} from "@element-plus/icons-vue";
-import {ElMessageBox } from "element-plus";
-import {getInfo} from "@/api/login.js";
+import { Search } from "@element-plus/icons-vue";
+import { ElMessageBox } from "element-plus";
+import { getInfo } from "@/api/login.js";
import useUserStore from "@/store/modules/user.js";
import {
byPurchaseId,
@@ -121,10 +125,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: '閲囪喘鍚堝悓鍙�',
@@ -147,8 +159,8 @@
prop: 'invoiceAmount'
},
{
- label: '绋庣巼(%)',
- prop: 'taxRate'
+ label: '鏈浠樻閲戦(鍏�)',
+ prop: 'currentPaymentAmount'
},
{
label: '寰呬粯娆鹃噾棰�(鍏�)',
@@ -173,6 +185,7 @@
const selectedRows = ref([])
const tableLoading = ref(false)
const purchaseLedgerList = ref([])
+const invoiceNumberList = ref([])
const userStore = useUserStore()
const page = reactive({
current: 1,
@@ -199,11 +212,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)
@@ -221,9 +236,9 @@
}
const getList = () => {
tableLoading.value = true
- registrationList({...searchForm.value, ...page}).then(res => {
+ registrationList({ ...searchForm.value, ...page }).then(res => {
tableLoading.value = false
- tableData.value = res.data.records
+ tableData.value = res.rows
total.value = res.total
})
}
@@ -235,36 +250,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}
+ 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({ id: value }).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 = ''
}
@@ -312,12 +343,12 @@
return
}
ElMessageBox.confirm(
- '閫変腑鐨勫唴瀹瑰皢琚垹闄わ紝鏄惁纭鍒犻櫎锛�',
- '鍒犻櫎鎻愮ず', {
- confirmButtonText: '纭',
- cancelButtonText: '鍙栨秷',
- type: 'warning',
- }
+ '閫変腑鐨勫唴瀹瑰皢琚垹闄わ紝鏄惁纭鍒犻櫎锛�',
+ '鍒犻櫎鎻愮ず', {
+ confirmButtonText: '纭',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning',
+ }
).then(() => {
tableLoading.value = true
paymentRegistrationDel(ids).then(res => {
@@ -341,6 +372,4 @@
getList()
</script>
-<style scoped lang="scss">
-
-</style>
+<style scoped lang="scss"></style>
--
Gitblit v1.9.3