修改付款单流程

This commit is contained in:
yangjun 2026-04-08 10:13:53 +08:00
parent a4925a96b6
commit 93aec1886e
8 changed files with 91 additions and 39 deletions

View File

@ -6,19 +6,19 @@ import { getWeekMonthQuarterYear } from '/@/utils';
//列表数据 //列表数据
export const columns: BasicColumn[] = [ export const columns: BasicColumn[] = [
{ {
title: '付款单号', title: '付款单号',
align: 'center', align: 'center',
dataIndex: 'fkdNo', dataIndex: 'fkdNo',
width: 200, width: 200,
}, },
{ {
title: '供应商名称', title: '供应商',
align: 'center', align: 'center',
dataIndex: 'gysName', dataIndex: 'gysName',
width: 400, width: 400,
}, },
{ {
title: '金额(元)', title: '付款金额(元)',
align: 'center', align: 'center',
dataIndex: 'totalPrice', dataIndex: 'totalPrice',
customRender: ({ text }) => { customRender: ({ text }) => {

View File

@ -21,12 +21,12 @@
</a-col> </a-col>
<a-col :lg="6"> <a-col :lg="6">
<a-form-item name="fksj"> <a-form-item name="fksj">
<template #label><span title="付款时间">付款时间</span></template> <template #label><span title="付款日期">付款日期</span></template>
<a-range-picker value-format="YYYY-MM-DD" v-model:value="queryParam.fksj" class="query-group-cust" /> <a-range-picker value-format="YYYY-MM-DD" v-model:value="queryParam.fksj" class="query-group-cust" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-col :xl="6" :lg="7" :md="8" :sm="24">
<span style="float: left; overflow: hidden" class="table-page-search-submitButtons"> <span style="float: right; overflow: hidden" class="table-page-search-submitButtons">
<a-col :lg="6"> <a-col :lg="6">
<a-button type="primary" preIcon="ant-design:search-outlined" @click="searchQuery">查询</a-button> <a-button type="primary" preIcon="ant-design:search-outlined" @click="searchQuery">查询</a-button>
<a-button type="primary" preIcon="ant-design:reload-outlined" @click="searchReset" <a-button type="primary" preIcon="ant-design:reload-outlined" @click="searchReset"
@ -107,13 +107,13 @@ const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({
const [registerTable, { reload, collapseAll, updateTableDataRecord, findTableDataRecord, getDataSource }, { rowSelection, selectedRowKeys }] = tableContext; const [registerTable, { reload, collapseAll, updateTableDataRecord, findTableDataRecord, getDataSource }, { rowSelection, selectedRowKeys }] = tableContext;
const labelCol = reactive({ const labelCol = reactive({
xs: 24, xs: 24,
sm: 4, sm: 8,
xl: 6, xl: 8,
xxl: 4 xxl: 8
}); });
const wrapperCol = reactive({ const wrapperCol = reactive({
xs: 24, xs: 24,
sm: 20, sm: 16,
}); });
/** /**

View File

@ -4,12 +4,18 @@
<div style="width:100%;display: flex;justify-content: space-between;"> <div style="width:100%;display: flex;justify-content: space-between;">
<div class="divider-content"> <div class="divider-content">
<!-- 总金额{{ zongJinE }} --> <!-- 总金额{{ zongJinE }} -->
<!-- <j-dict-select-tag type='radio' v-model:value="ddNo" :dictCode="`nu_invoicing_fkd_info,`" /> -->
<a-radio-group v-model:value="ddNo" >
<a-radio v-for="item of ddList" :value="item.id" @click="(e) => handleRadioClick(item, e)"
>{{ item.cgdNo }}
</a-radio>
</a-radio-group>
</div> </div>
<div style="float: right;"> <div style="float: right;">
<span style="color: red;font-size: 16px; font-weight: bold;"> <span style="color: red;font-size: 16px; font-weight: bold;">
总金额{{ handlePriceFormat(zongJinE || zongJinECalc) }} 订单金额{{ handlePriceFormat(xiaoji) }}
</span> </span>
<span style="margin-left: 20px;"> 单位</span> <!-- <span style="margin-left: 20px;"> 单位</span> -->
</div> </div>
</div> </div>
</template> </template>
@ -28,6 +34,7 @@ import { useListPage } from '/@/hooks/system/useListPage';
import { listAndJh } from '../../cgd/NuInvoicingCgdInfo.api'; import { listAndJh } from '../../cgd/NuInvoicingCgdInfo.api';
import { wlColumns } from './cgd.data'; import { wlColumns } from './cgd.data';
import { any } from 'vue-types'; import { any } from 'vue-types';
import { defHttp } from '/@/utils/http/axios';
// props // props
const props = defineProps({ const props = defineProps({
@ -47,6 +54,9 @@ const zongJinECalc = ref()
const emit = defineEmits(['total-amount-change']); const emit = defineEmits(['total-amount-change']);
const queryParam = reactive<any>({}); const queryParam = reactive<any>({});
const ddNo = ref<string>('');
const ddList = ref<any>([]);
const xiaoji = ref<string>('');
// table // table
const { tableContext } = useListPage({ const { tableContext } = useListPage({
@ -66,7 +76,8 @@ const { tableContext } = useListPage({
fixed: 'right', fixed: 'right',
}, },
beforeFetch: async (params) => { beforeFetch: async (params) => {
queryParam.cgdId = props.cgdId; queryParam.cgdId = ddNo.value;
console.log("🚀 ~ ddNo.value:", ddNo.value)
return Object.assign(params, queryParam); return Object.assign(params, queryParam);
}, },
afterFetch: (data) => { afterFetch: (data) => {
@ -75,6 +86,8 @@ const { tableContext } = useListPage({
const totalAmount = data[0].zongJinE || ''; const totalAmount = data[0].zongJinE || '';
zongJinECalc.value = totalAmount zongJinECalc.value = totalAmount
emit('total-amount-change', totalAmount); emit('total-amount-change', totalAmount);
xiaoji.value = data[0].zongJinE
} }
return data; return data;
} }
@ -83,10 +96,26 @@ const { tableContext } = useListPage({
const [registerTable, { reload, setLoading }] = tableContext; const [registerTable, { reload, setLoading }] = tableContext;
function handleRadioClick(item, e) {
ddNo.value = item.id
queryParam.ddNo = item.id
reload()
}
// cgdId // cgdId
watch(() => props.cgdId, (newCgdId) => { watch(() => props.cgdId, (newCgdId) => {
if (newCgdId) { if (newCgdId) {
//
defHttp.get({ url: '/cgd/nuInvoicingCgdInfo/getFkdList', params: { pkId: newCgdId} }).then(res => {
console.log("🚀 ~ res:", res)
// ddNo.value = res.data;
ddList.value = res;
if(res.length > 0){
ddNo.value = res[0].id
}
queryParam.cgdNo = ddNo.value
reload(); reload();
});
} }
}); });
@ -102,6 +131,7 @@ function handlePriceFormat(text) {
} }
} }
// //
defineExpose({ defineExpose({
reload reload

View File

@ -1,6 +1,6 @@
<template> <template>
<a-spin :spinning="confirmLoading"> <a-spin :spinning="confirmLoading">
<JFormContainer :disabled="true"> <JFormContainer :disabled="true" v-show="formData.izXq =='N' && formData.status=='0'">
<template #detail> <template #detail>
<a-form ref="formRef" class="antd-modal-form" :labelCol="labelCol2" :wrapperCol="wrapperCol2" <a-form ref="formRef" class="antd-modal-form" :labelCol="labelCol2" :wrapperCol="wrapperCol2"
name="NuInvoicingFkdMainForm"> name="NuInvoicingFkdMainForm">
@ -18,7 +18,7 @@
</a-form> </a-form>
</template> </template>
</JFormContainer> </JFormContainer>
<JFormContainer :disabled="true" style="margin-top:-63px ;"> <JFormContainer :disabled="true" style="margin-top:-63px ;" v-show="formData.izXq =='N' && formData.status=='0'">
<template #detail> <template #detail>
<a-form ref="formRef" class="antd-modal-form" :labelCol="labelCol" :wrapperCol="wrapperCol" <a-form ref="formRef" class="antd-modal-form" :labelCol="labelCol" :wrapperCol="wrapperCol"
name="NuInvoicingFkdMainForm"> name="NuInvoicingFkdMainForm">
@ -30,7 +30,7 @@
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item label="账号信息" v-bind="validateInfos.openingBankNo" id="NuInvoicingFkdMainForm-openingBankNo" <a-form-item label="开户行账号" v-bind="validateInfos.openingBankNo" id="NuInvoicingFkdMainForm-openingBankNo"
name="openingBankNo"> name="openingBankNo">
<a-input v-model:value="formData.openingBankNo"></a-input> <a-input v-model:value="formData.openingBankNo"></a-input>
</a-form-item> </a-form-item>
@ -51,7 +51,7 @@
</a-form> </a-form>
</template> </template>
</JFormContainer> </JFormContainer>
<JFormContainer :disabled="disabled" style="margin-top:-60px ;"> <JFormContainer :disabled="disabled" style="margin-top:-60px ;" v-show="formData.izXq =='N' && formData.status=='0'">
<template #detail> <template #detail>
<a-form ref="formRef" class="antd-modal-form" :labelCol="labelCol2" :wrapperCol="wrapperCol2" <a-form ref="formRef" class="antd-modal-form" :labelCol="labelCol2" :wrapperCol="wrapperCol2"
name="NuInvoicingFkdMainForm"> name="NuInvoicingFkdMainForm">
@ -75,7 +75,7 @@
</a-form> </a-form>
</template> </template>
</JFormContainer> </JFormContainer>
<JFormContainer :disabled="disabled" style="margin-top:-60px ;"> <JFormContainer :disabled="disabled" style="margin-top:-60px ;" v-show="formData.izXq =='N' && formData.status=='0'">
<template #detail> <template #detail>
<a-form ref="formRef" class="antd-modal-form" :labelCol="labelCol3" :wrapperCol="wrapperCol3" <a-form ref="formRef" class="antd-modal-form" :labelCol="labelCol3" :wrapperCol="wrapperCol3"
name="NuInvoicingFkdMainForm"> name="NuInvoicingFkdMainForm">
@ -130,6 +130,8 @@ const formData = reactive<Record<string, any>>({
fp: '', fp: '',
bz: '', bz: '',
status_dictText: '', status_dictText: '',
izXq: '',
status: '',
}); });
const { createMessage, createConfirm } = useMessage(); const { createMessage, createConfirm } = useMessage();
const labelCol = ref<any>({ xs: { span: 24 }, sm: { span: 4 } }); const labelCol = ref<any>({ xs: { span: 24 }, sm: { span: 4 } });
@ -170,6 +172,7 @@ function add() {
* 编辑 * 编辑
*/ */
function edit(record) { function edit(record) {
console.log("🚀 ~ edit ~ record:", record)
queryFkdCgdIds({ pkId: record.id }).then(res => { queryFkdCgdIds({ pkId: record.id }).then(res => {
cgdIdsValue.value = res.result cgdIdsValue.value = res.result
}) })

View File

@ -52,6 +52,7 @@ function edit(record) {
title.value = disableSubmit.value ? '详情' : '付款'; title.value = disableSubmit.value ? '详情' : '付款';
visible.value = true; visible.value = true;
nextTick(() => { nextTick(() => {
record.izXq = disableSubmit.value ? 'Y' : 'N';
registerForm.value.edit(record); registerForm.value.edit(record);
}); });
} }

View File

@ -2,24 +2,16 @@
<div> <div>
<!--供应商选择--> <!--供应商选择-->
<div class="jeecg-basic-table-form-container"> <div class="jeecg-basic-table-form-container">
<a-form ref="formRef" @keyup.enter.native="searchQuery" :model="queryParam" :label-col="labelCol2" <a-form ref="formRef" @keyup.enter.native="searchQuery" :model="queryParam" :label-col="labelCol"
:wrapper-col="wrapperCol2"> :wrapper-col="wrapperCol">
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :lg="8"> <a-col :lg="6">
<a-form-item name="gysId"> <a-form-item name="gysId">
<template #label><span title="供应商">供应商</span></template> <template #label><span title="供应商">供应商</span></template>
<j-search-select placeholder="请选择供应商" v-model:value="queryParam.gysId" <j-search-select placeholder="请选择供应商" v-model:value="queryParam.gysId"
dict="view_cgd_gys,gys_name,gys_id,cgd_type = '2'" allow-clear @change="changeGysFunc()" /> dict="view_cgd_gys,gys_name,gys_id,cgd_type = '2'" allow-clear @change="changeGysFunc()" />
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row>
</a-form>
</div>
<!-- 时间查询 -->
<div class="jeecg-basic-table-form-container">
<a-form ref="formRef" @keyup.enter.native="searchQuery" :model="queryParam" :label-col="labelCol2"
:wrapper-col="wrapperCol2">
<a-row :gutter="24">
<a-col :lg="8"> <a-col :lg="8">
<a-form-item> <a-form-item>
<template #label> <template #label>
@ -33,8 +25,8 @@
class="query-group-cust" /> class="query-group-cust" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-col :lg="10" :sm="24">
<span style="float: left; overflow: hidden" class="table-page-search-submitButtons"> <span style="float: right; overflow: hidden" class="table-page-search-submitButtons">
<a-col :lg="6"> <a-col :lg="6">
<a-button type="primary" preIcon="ant-design:search-outlined" @click="searchQuery">查询</a-button> <a-button type="primary" preIcon="ant-design:search-outlined" @click="searchQuery">查询</a-button>
<a-button type="primary" preIcon="ant-design:reload-outlined" @click="searchReset" <a-button type="primary" preIcon="ant-design:reload-outlined" @click="searchReset"

View File

@ -17,7 +17,7 @@ export const columns: BasicColumn[] = [
width: 400, width: 400,
}, },
{ {
title: '付款金额(元)', title: '订单金额(元)',
align: 'center', align: 'center',
dataIndex: 'xiaoJi', dataIndex: 'xiaoJi',
customRender: ({ text }) => { customRender: ({ text }) => {
@ -73,7 +73,17 @@ export const wlColumns: BasicColumn[] = [
dataIndex: 'wlUnits', dataIndex: 'wlUnits',
}, },
{ {
title: '采购单价', title: '品牌型号',
align: 'center',
dataIndex: 'brandType',
},
{
title: '生产厂家',
align: 'center',
dataIndex: 'manufacturer',
},
{
title: '采购价格',
align: 'center', align: 'center',
dataIndex: 'procurementPrice', dataIndex: 'procurementPrice',
customRender: ({ text }) => { customRender: ({ text }) => {
@ -87,7 +97,7 @@ export const wlColumns: BasicColumn[] = [
}, },
}, },
{ {
title: '到货价', title: '到货',
align: 'center', align: 'center',
dataIndex: 'crkje', dataIndex: 'crkje',
customRender: ({ text }) => { customRender: ({ text }) => {
@ -100,11 +110,21 @@ export const wlColumns: BasicColumn[] = [
return num.toFixed(2); return num.toFixed(2);
}, },
}, },
{
title: '采购数量',
align: 'center',
dataIndex: 'purchaseQuantity',
},
{ {
title: '入库数量', title: '入库数量',
align: 'center', align: 'center',
dataIndex: 'crksl', dataIndex: 'crksl',
}, },
{
title: '销账数量',
align: 'center',
dataIndex: 'xzsl',
},
{ {
title: '小计', title: '小计',
align: 'center', align: 'center',

View File

@ -6,7 +6,7 @@
name="NuInvoicingFkdMainForm"> name="NuInvoicingFkdMainForm">
<a-row class="card-class"> <a-row class="card-class">
<a-col :span="24" style="border-bottom: 2px solid #f7f7f7; margin-bottom: 14px;"> <a-col :span="24" style="border-bottom: 2px solid #f7f7f7; margin-bottom: 14px;">
<SectionDivider :title="'采购单信息'" /> <SectionDivider :title="'采购单'" />
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item label="采购单号" v-bind="validateInfos.cgdNo" id="NuInvoicingFkdMainForm-cgdNo" name="cgdNo"> <a-form-item label="采购单号" v-bind="validateInfos.cgdNo" id="NuInvoicingFkdMainForm-cgdNo" name="cgdNo">
@ -31,16 +31,21 @@
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item label="总金额(元)" v-bind="validateInfos.zje" id="NuInvoicingFkdMainForm-zje" name="zje"> <a-form-item label="总金额(元)" v-bind="validateInfos.zje" id="NuInvoicingFkdMainForm-zje" name="zje">
<a-input v-model:value="formData.zje"></a-input> <a-input v-model:value="formData.zje"></a-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12">
<a-form-item label="供应商" v-bind="validateInfos.gysName" id="NuInvoicingFkdMainForm-gysName" name="gysName">
<a-input v-model:value="formData.gysName"></a-input>
</a-form-item>
</a-col>
<a-col :span="24" style="border-bottom: 2px solid #f7f7f7; margin-bottom: 14px;"> <a-col :span="24" style="border-bottom: 2px solid #f7f7f7; margin-bottom: 14px;">
<SectionDivider :title="'随行单'" /> <SectionDivider :title="'随行单'" />
</a-col> </a-col>
<a-col :span="23" :push="1"> <a-col :span="12" :push="1">
<a-form-item label="" :value="sxdValue"> <a-form-item label="随货同行单">
<j-image-upload :fileMax="0" :value="sxdValue" :disabled="true" <j-image-upload :fileMax="1" :value="sxdValue" :disabled="true"
:show-upload-button="false"></j-image-upload> :show-upload-button="false"></j-image-upload>
</a-form-item> </a-form-item>
</a-col> </a-col>
@ -78,6 +83,7 @@ const formData = reactive<Record<string, any>>({
arrivalPrice: '',// arrivalPrice: '',//
wlUnits: '',// wlUnits: '',//
rksl: '',// rksl: '',//
gysName: '',
}); });
const { createMessage } = useMessage(); const { createMessage } = useMessage();
const labelCol = ref<any>({ xs: { span: 24 }, sm: { span: 5 } }); const labelCol = ref<any>({ xs: { span: 24 }, sm: { span: 5 } });