src/api/salesManagement/receiptPayment.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/procurementManagement/paymentLedger/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/procurementManagement/thePaymentLedger/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/salesManagement/receiptPayment/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/salesManagement/receiptPaymentLedger/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
vite.config.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/api/salesManagement/receiptPayment.js
@@ -36,3 +36,21 @@ data: query }) } // 查询已经绑定发票的开票台账 export function bindInvoiceNoRegPage(query) { return request({ url: '/receiptPayment/bindInvoiceNoRegPage', method: 'get', params: query }) } // 开票台账详情 export function invoiceInfo(query) { return request({ url: '/receiptPayment/invoiceInfo', method: 'get', params: query }) } src/views/procurementManagement/paymentLedger/index.vue
@@ -15,25 +15,49 @@ >搜索</el-button > </div> <div> </div> <div></div> </div> <el-row> <el-col :span="14"> <div class="table_list"> <PIMTable :column="tableColumn" :tableData="tableData" :page="page" :isSelection="false" :handleSelectionChange="handleSelectionChange" :tableLoading="tableLoading" @pagination="pagination" :total="total" :rowClick="rowClick" :isShowSummary="isShowSummary" <el-table ref="multipleTable" v-loading="tableLoading" :data="tableData" :header-cell-style="{ background: '#F0F1F5', color: '#333333' }" height="calc(100vh - 18.5em)" :highlight-current-row="true" ></PIMTable> style="width: 100%" tooltip-effect="dark" @row-click="rowClick" :show-summary="isShowSummary" class="lims-table" > <el-table-column align="center" label="序号" type="index" width="60" /> <el-table-column v-for="(item, index) in tableColumn" :key="index" :column-key="item.columnKey" :filter-method="item.filterHandler" :filter-multiple="item.filterMultiple" :filtered-value="item.filteredValue" :filters="item.filters" :fixed="item.fixed" :label="item.label" :prop="item.prop" show-overflow-tooltip :align="item.align" :sortable="!!item.sortable" :type="item.type" :width="item.width" > </el-table-column> </el-table> </div> </el-col> <el-col :span="10"> @@ -44,12 +68,20 @@ :page="pageSon" :isSelection="false" :tableLoading="tableLoadingSon" @pagination="paginationSon" :total="totalSon" :isShowSummary="isShowSummarySon" ></PIMTable> </div> </el-col> <div class="el-pagination"> <pagination v-show="total > 0" @pagination="paginationSearch" :total="total" :layout="page.layout" :page="page.current" :limit="page.size" /> </div> </el-row> </div> </template> @@ -77,6 +109,7 @@ prop: "payableAmount", }, ]); const tableData = ref([]); const tableLoading = ref(false); const data = reactive({ searchForm: { @@ -89,16 +122,10 @@ }); const total = ref(0); const isShowSummary = ref(true); const tableData = ref([]); const { searchForm } = toRefs(data); import {getInfo} from "@/api/login.js"; const rowClick = (row) => { tableDataSon.value = Array.isArray(row.details) ? row.details : []; }; // 子模块 const tableColumnSon = ref([ { @@ -120,11 +147,6 @@ ]); const tableDataSon = ref([]); const tableLoadingSon = ref(false); const pageSon = reactive({ current: 1, size: 10, }); const totalSon = ref(0); const isShowSummarySon = ref(true); const detailPageNum = ref(1); const detailPageSize = ref(10); @@ -134,14 +156,10 @@ page.current = 1; getList(); }; const pagination = ({ current, limit }) => { const paginationSearch = ({ current, limit }) => { page.current = current; page.size = limit; getList(); }; const paginationSon = ({ current, limit }) => { pageSon.current = current; pageSon.size = limit; tableDataSon.value = []; getList(); }; const getList = () => { @@ -150,7 +168,7 @@ ...searchForm.value, ...page, detailPageNum: detailPageNum.value, // 新增 detailPageSize: detailPageSize.value // 新增 detailPageSize: detailPageSize.value, // 新增 }).then((res) => { let result = res.data; tableLoading.value = false; @@ -158,20 +176,11 @@ total.value = result.total || 0; }); }; // 表格选择数据 const handleSelectionChange = (selection) => { selectedRows.value = selection; }; getList(); </script> <style scoped lang="scss"> /* 选中某行时的背景色*/ /* .el-table__body tr.current-row > td { color: #c0c0c0; background: #F6F7FB !important; } */ .el-row { .el-col-14 { .table_list { @@ -184,4 +193,23 @@ } } } .el-pagination { width: 100%; height: 55px; display: flex; justify-content: flex-end; float: right; flex-direction: row; align-items: center; background: #fff; margin: -20px 0 0 0; padding: 0 20px; } .pagination-container { margin-top: 0; } .table_list { height: calc(100vh - 13.5em); overflow: auto; } </style> src/views/procurementManagement/thePaymentLedger/index.vue
@@ -15,97 +15,9 @@ </div> </div> <div class="table_list"> <PIMTable :column="tableColumn" :tableData="tableData" :page="page" :handleSelectionChange="handleSelectionChange" <PIMTable :column="tableColumn" :tableData="tableData" :page="page" :tableLoading="tableLoading" @pagination="pagination" :total="total"></PIMTable> </div> <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-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-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-form-item> </el-col> <el-col :span="12"> <el-form-item label="发票号:" prop="invoiceNumber"> <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-form-item> </el-col> <el-col :span="12"> <el-form-item label="税率(%):" prop="taxRate"> <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-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-select> </el-form-item> </el-col> </el-row> <el-row :gutter="30"> <el-col :span="12"> <el-form-item label="登记人:" prop="registrant"> <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-form-item> </el-col> </el-row> </el-form> <template #footer> <div class="dialog-footer"> <el-button type="primary" @click="submitForm">确认</el-button> <el-button @click="closeDia">取消</el-button> </div> </template> </el-dialog> </div> </template> src/views/salesManagement/receiptPayment/index.vue
@@ -15,7 +15,6 @@ </div> <div> <el-button type="primary" @click="openForm('add')">新增回款</el-button> <el-button type="danger" plain @click="handleDelete">删除</el-button> </div> </div> <div class="table_list"> @@ -30,33 +29,22 @@ <el-table-column label="销售合同号" prop="salesContractNo" show-overflow-tooltip/> <el-table-column label="客户合同号" prop="customerContractNo" show-overflow-tooltip/> <el-table-column label="客户名称" prop="customerName" show-overflow-tooltip/> <el-table-column label="产品大类" prop="productCategory" show-overflow-tooltip/> <el-table-column label="发票号" prop="invoiceNo" show-overflow-tooltip/> <el-table-column label="发票金额(元)" prop="invoiceAmount" show-overflow-tooltip/> <el-table-column label="发票金额(元)" prop="invoiceTotal" show-overflow-tooltip/> <el-table-column label="税率" prop="taxRate" show-overflow-tooltip/> <el-table-column label="本次回款金额(元)" prop="receiptPaymentAmount" show-overflow-tooltip/> <el-table-column label="回款形式" prop="receiptPaymentType" show-overflow-tooltip> <template #default="scope"> {{transferValue(scope.row.receiptPaymentType)}} </template> </el-table-column> <el-table-column label="待回款金额(元)" prop="entryDate" show-overflow-tooltip/> <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 label="回款金额(元)" prop="receiptPaymentAmountTotal" show-overflow-tooltip/> <el-table-column label="待回款金额(元)" prop="noReceiptAmount" show-overflow-tooltip/> </el-table> <pagination v-show="total > 0" :total="total" layout="total, sizes, prev, pager, next, jumper" :page="page.current" :limit="page.size" @pagination="paginationChange" /> </div> <el-dialog v-model="dialogFormVisible" :title="operationType === 'add' ? '新增发票号页面' : '修改发票号页面'" width="70%" @close="closeDia"> <el-dialog v-model="dialogFormVisible" title="新增发票号页面" width="70%" @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="invoiceLedgerId"> <el-select v-model="form.invoiceLedgerId" placeholder="请选择" clearable @change="ledgerChange"> <el-option v-for="item in invoiceLedgerList" :key="item.id" :label="item.salesContractNo + '(' + item.invoiceDate + ')' " :value="item.id"/> </el-select> <el-form-item label="销售合同号:" prop="salesContractNo"> <el-input v-model="form.salesContractNo" placeholder="自动填充" disabled /> </el-form-item> </el-col> <el-col :span="12"> @@ -72,8 +60,8 @@ </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="发票金额(元):" prop="invoiceAmount"> <el-input type="number" v-model="form.invoiceAmount" placeholder="自动填充" :step="0.01" disabled/> <el-form-item label="发票金额(元):" prop="invoiceTotal"> <el-input type="number" v-model="form.invoiceTotal" placeholder="自动填充" :step="0.01" disabled/> </el-form-item> </el-col> </el-row> @@ -132,20 +120,13 @@ <script setup> import pagination from '@/components/PIMTable/Pagination.vue' import { ref } from 'vue' import {ElMessageBox } from "element-plus"; import { invoiceLedgerListNoPage, invoiceLedgerDetail } from "../../../api/salesManagement/invoiceLedger.js"; import { receiptPaymentSaveOrUpdate, receiptPaymentListPage, receiptPaymentInfo, receiptPaymentDel bindInvoiceNoRegPage, invoiceInfo } from "../../../api/salesManagement/receiptPayment.js"; const { proxy } = getCurrentInstance() const tableData = ref([]) const productData = ref([]) const selectedRows = ref([]) const tableLoading = ref(false) const page = reactive({ @@ -155,17 +136,16 @@ const total = ref(0) // 用户信息表单弹框数据 const operationType = ref('') const dialogFormVisible = ref(false) const data = reactive({ searchForm: { searchText: '', }, form: { invoiceLedgerId: '', salesContractNo: '', customerName: '', invoiceNo: '', invoiceAmount: '', invoiceTotal: '', taxRate: '', receiptPaymentAmount: '', receiptPaymentType: '', @@ -173,10 +153,10 @@ receiptPaymentDate: '' }, rules: { invoiceLedgerId: [{ required: true, message: "请选择", trigger: "change" }], salesContractNo: [{ required: true, message: "请选择", trigger: "change" }], customerName: [{ required: true, message: "请输入", trigger: "blur" }], invoiceNo: [{ required: true, message: "请选择", trigger: "change" }], invoiceAmount: [{ required: true, message: "请输入", trigger: "blur" }], invoiceTotal: [{ required: true, message: "请输入", trigger: "blur" }], taxRate: [{ required: true, message: "请选择", trigger: "change" }], receiptPaymentAmount: [{ required: true, message: "请选择", trigger: "change" }], receiptPaymentType: [{ required: true, message: "请选择", trigger: "change" }], @@ -185,9 +165,6 @@ } }) const { searchForm, form, rules } = toRefs(data) const currentId = ref('') // 开票台账数组 const invoiceLedgerList = ref([]) const { receipt_payment_type } = proxy.useDict("receipt_payment_type") // 查询列表 @@ -203,7 +180,7 @@ } const getList = () => { tableLoading.value = true receiptPaymentListPage({...searchForm.value, ...page}).then(res => { bindInvoiceNoRegPage({...searchForm.value, ...page}).then(res => { tableLoading.value = false tableData.value = res.data.records total.value = res.data.total @@ -239,19 +216,17 @@ return sums; }; // 打开弹框 const openForm = (type, row) => { operationType.value = type const openForm = () => { form.value = {} productData.value = [] invoiceLedgerListNoPage({}).then(res => { invoiceLedgerList.value = res.data }) if (type === 'edit') { currentId.value = row.id; receiptPaymentInfo({id: row.id}).then(res => { form.value = {...res.data} }) if(selectedRows.value.length !== 1) { proxy.$modal.msgError("请选择一条数据") return } invoiceInfo({id: selectedRows.value[0].id}).then(res => { form.value = {...res.data} form.value.invoiceLedgerId = form.value.id form.value.id = '' }) dialogFormVisible.value = true } // 提交表单 @@ -270,61 +245,6 @@ const closeDia = () => { proxy.resetForm("formRef") dialogFormVisible.value = false } // 删除 const handleDelete = () => { let ids = [] if (selectedRows.value.length > 0) { ids = selectedRows.value.map(item => item.id); } else { proxy.$modal.msgWarning('请选择数据') return } ElMessageBox.confirm( '选中的内容将被删除,是否确认删除?', '导出', { confirmButtonText: '确认', cancelButtonText: '取消', type: 'warning', } ).then(() => { receiptPaymentDel(ids).then(res => { proxy.$modal.msgSuccess("删除成功") getList() }) }).catch(() => { proxy.$modal.msg("已取消") }) } // 销售台账筛选 const ledgerChange = (val) => { console.log('val', val) if(val){ invoiceLedgerDetail({id: val}).then(res => { form.value.customerName = res.data.customerName, form.value.invoiceNo= res.data.invoiceNo, form.value.invoiceAmount= res.data.invoiceAmount, form.value.taxRate= res.data.taxRate, form.value.salesLedgerId= res.data.salesLedgerId, form.value.customerId= res.data.customerId, form.value.salesContractNo = res.data.salesContractNo }) }else { form.value.customerName = '', form.value.invoiceNo= '', form.value.invoiceAmount= '', form.value.taxRate= '', form.value.salesLedgerId= '', form.value.customerId= '', form.value.salesContractNo= '' } } // 收款类别转换 const transferValue = (val) => { const findIndex = receipt_payment_type.value.findIndex(item => item.value === val); if (findIndex > -1) { return receipt_payment_type.value[findIndex].label } } getList() </script> src/views/salesManagement/receiptPaymentLedger/index.vue
@@ -24,7 +24,7 @@ height="calc(100vh - 18.5em)"> <el-table-column align="center" label="序号" type="index" width="60" /> <el-table-column label="客户名称" prop="customerName" show-overflow-tooltip/> <el-table-column label="开票金额" prop="invoiceAmount" show-overflow-tooltip/> <el-table-column label="开票金额" prop="invoiceTotal" show-overflow-tooltip/> <el-table-column label="回款金额" prop="receiptPaymentAmount" show-overflow-tooltip/> <el-table-column label="未回款金额" prop="unReceiptPaymentAmount" show-overflow-tooltip/> </el-table> @@ -40,7 +40,8 @@ <el-table-column align="center" label="序号" type="index" width="60" /> <el-table-column label="发生日期" prop="receiptPaymentDate" show-overflow-tooltip/> <el-table-column label="回款金额" prop="receiptPaymentAmount" show-overflow-tooltip/> <el-table-column label="应收金额" prop="invoiceAmount" show-overflow-tooltip/> <el-table-column label="待收金额" prop="noReceiptAmount" show-overflow-tooltip/> <el-table-column label="应收金额" prop="invoiceTotal" show-overflow-tooltip/> </el-table> <pagination v-show="recordTotal > 0" :total="recordTotal" layout="total, sizes, prev, pager, next, jumper" :page="recordPage.current" :limit="recordPage.size" @pagination="recordPaginationChange" /> @@ -86,9 +87,10 @@ page.current = 1 getList() } const paginationChange = ({ current, limit }) => { page.current = current; page.size = limit; const paginationChange = (obj) => { console.log('paginationChange', current,limit) page.current = obj.page; page.size = obj.limit; getList() } const getList = () => { @@ -99,7 +101,7 @@ total.value = res.data.total; if(tableData.value.length > 0) { recordPage.current = 1 customerId.value = tableData.value[0].customerId customerId.value = tableData.value[0].id receiptPaymentList(customerId.value); } }) @@ -131,24 +133,28 @@ const receiptPaymentList = (id) => { const param = { customerId:id, current: page.current, size: page.size, current: recordPage.current, size: recordPage.size, } console.log('param', param) receiptPaymentListPage(param).then(res => { receiptRecord.value = res.data.records; recordTotal.value = res.data.total; }) } // 汇款记录列表分页 const recordPaginationChange = (currentPage, pageSize) => { recordPage.current = currentPage; recordPage.size = pageSize; const recordPaginationChange = (obj) => { console.log('recordPaginationChange', obj ); recordPage.current = obj.page; recordPage.size = obj.limit; console.log('recordPage',recordPage) receiptPaymentList(customerId.value); } const rowClickMethod = (row) => { customerId.value = row.customerId; customerId.value = row.id; receiptPaymentList(customerId.value); } vite.config.js
@@ -2,7 +2,7 @@ import path from 'path' import createVitePlugins from './vite/plugins' const baseUrl = 'http://192.168.1.35:8080' // 后端接口 const baseUrl = 'http://192.168.1.36:8080' // 后端接口 // https://vitejs.dev/config/ export default defineConfig(({ mode, command }) => {