给收款单和付款单页面增加欠款列表界面

This commit is contained in:
jishenghua
2025-04-28 23:04:53 +08:00
parent 970938a52d
commit 320fb7d404
6 changed files with 203 additions and 7 deletions

View File

@@ -502,10 +502,16 @@ public class DepotHeadController extends BaseController {
*/ */
@GetMapping(value = "/getNeedCount") @GetMapping(value = "/getNeedCount")
@ApiOperation(value = "获取待收款或付款的条数") @ApiOperation(value = "获取待收款或付款的条数")
public BaseResponseInfo getNeedCount(@RequestParam("supplierType") String supplierType, HttpServletRequest request)throws Exception { public BaseResponseInfo getNeedCount(@RequestParam("type") String type, HttpServletRequest request)throws Exception {
BaseResponseInfo res = new BaseResponseInfo(); BaseResponseInfo res = new BaseResponseInfo();
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
try { try {
String supplierType = "";
if (("vendor").equals(type)) {
supplierType = "供应商";
} else if (("customer").equals(type)) {
supplierType = "客户";
}
int needCount = depotHeadService.getNeedCount(supplierType); int needCount = depotHeadService.getNeedCount(supplierType);
map.put("needCount", needCount); map.put("needCount", needCount);
res.code = 200; res.code = 200;

View File

@@ -934,13 +934,13 @@ public class DepotHeadService {
String typeBack = ""; String typeBack = "";
String subTypeBack = ""; String subTypeBack = "";
String billType = ""; String billType = "";
if (("vendor").equals(supplierType)) { if (("供应商").equals(supplierType)) {
type = "入库"; type = "入库";
subType = "采购"; subType = "采购";
typeBack = "出库"; typeBack = "出库";
subTypeBack = "采购退货"; subTypeBack = "采购退货";
billType = "付款"; billType = "付款";
} else if (("customer").equals(supplierType)) { } else if (("客户").equals(supplierType)) {
type = "出库"; type = "出库";
subType = "销售"; subType = "销售";
typeBack = "入库"; typeBack = "入库";

View File

@@ -100,7 +100,7 @@
<!-- 操作按钮区域 --> <!-- 操作按钮区域 -->
<div class="table-operator" style="margin-top: 5px"> <div class="table-operator" style="margin-top: 5px">
<a-button v-if="btnEnableList.indexOf(1)>-1" @click="myHandleAdd" type="primary" icon="plus">新增</a-button> <a-button v-if="btnEnableList.indexOf(1)>-1" @click="myHandleAdd" type="primary" icon="plus">新增</a-button>
<a-button v-if="btnEnableList.indexOf(1)>-1" @click="handleWaitBill" icon="link">待收款({{waitTotal}})</a-button> <a-button v-if="btnEnableList.indexOf(1)>-1" @click="handleWaitNeed('客户')" icon="link">待收款({{waitTotal}})</a-button>
<a-button v-if="btnEnableList.indexOf(1)>-1" icon="delete" @click="batchDel">删除</a-button> <a-button v-if="btnEnableList.indexOf(1)>-1" icon="delete" @click="batchDel">删除</a-button>
<a-button v-if="checkFlag && btnEnableList.indexOf(2)>-1" icon="check" @click="batchSetStatus(1)">审核</a-button> <a-button v-if="checkFlag && btnEnableList.indexOf(2)>-1" icon="check" @click="batchSetStatus(1)">审核</a-button>
<a-button v-if="checkFlag && btnEnableList.indexOf(7)>-1" icon="stop" @click="batchSetStatus(0)">反审核</a-button> <a-button v-if="checkFlag && btnEnableList.indexOf(7)>-1" icon="stop" @click="batchSetStatus(0)">反审核</a-button>
@@ -145,6 +145,7 @@
<!-- 表单区域 --> <!-- 表单区域 -->
<money-in-modal ref="modalForm" @ok="modalFormOk" @close="modalFormClose"></money-in-modal> <money-in-modal ref="modalForm" @ok="modalFormOk" @close="modalFormClose"></money-in-modal>
<financial-detail ref="modalDetail" @ok="modalFormOk" @close="modalFormClose"></financial-detail> <financial-detail ref="modalDetail" @ok="modalFormOk" @close="modalFormClose"></financial-detail>
<wait-need-list ref="waitNeedList" @ok="modalFormOk" @close="modalFormClose"></wait-need-list>
<bill-excel-iframe ref="billExcelIframe" @ok="modalFormOk" @close="modalFormClose"></bill-excel-iframe> <bill-excel-iframe ref="billExcelIframe" @ok="modalFormOk" @close="modalFormClose"></bill-excel-iframe>
</a-card> </a-card>
</a-col> </a-col>
@@ -153,6 +154,7 @@
<script> <script>
import MoneyInModal from './modules/MoneyInModal' import MoneyInModal from './modules/MoneyInModal'
import FinancialDetail from './dialog/FinancialDetail' import FinancialDetail from './dialog/FinancialDetail'
import WaitNeedList from './dialog/WaitNeedList'
import BillExcelIframe from '@/components/tools/BillExcelIframe' import BillExcelIframe from '@/components/tools/BillExcelIframe'
import { JeecgListMixin } from '@/mixins/JeecgListMixin' import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import { FinancialListMixin } from './mixins/FinancialListMixin' import { FinancialListMixin } from './mixins/FinancialListMixin'
@@ -164,6 +166,7 @@
components: { components: {
MoneyInModal, MoneyInModal,
FinancialDetail, FinancialDetail,
WaitNeedList,
BillExcelIframe, BillExcelIframe,
JDate JDate
}, },

View File

@@ -100,7 +100,7 @@
<!-- 操作按钮区域 --> <!-- 操作按钮区域 -->
<div class="table-operator" style="margin-top: 5px"> <div class="table-operator" style="margin-top: 5px">
<a-button v-if="btnEnableList.indexOf(1)>-1" @click="myHandleAdd" type="primary" icon="plus">新增</a-button> <a-button v-if="btnEnableList.indexOf(1)>-1" @click="myHandleAdd" type="primary" icon="plus">新增</a-button>
<a-button v-if="btnEnableList.indexOf(1)>-1" @click="handleWaitBill" icon="link">待款({{waitTotal}})</a-button> <a-button v-if="btnEnableList.indexOf(1)>-1" @click="handleWaitNeed('供应商')" icon="link">待款({{waitTotal}})</a-button>
<a-button v-if="btnEnableList.indexOf(1)>-1" icon="delete" @click="batchDel">删除</a-button> <a-button v-if="btnEnableList.indexOf(1)>-1" icon="delete" @click="batchDel">删除</a-button>
<a-button v-if="checkFlag && btnEnableList.indexOf(2)>-1" icon="check" @click="batchSetStatus(1)">审核</a-button> <a-button v-if="checkFlag && btnEnableList.indexOf(2)>-1" icon="check" @click="batchSetStatus(1)">审核</a-button>
<a-button v-if="checkFlag && btnEnableList.indexOf(7)>-1" icon="stop" @click="batchSetStatus(0)">反审核</a-button> <a-button v-if="checkFlag && btnEnableList.indexOf(7)>-1" icon="stop" @click="batchSetStatus(0)">反审核</a-button>
@@ -145,6 +145,7 @@
<!-- 表单区域 --> <!-- 表单区域 -->
<money-out-modal ref="modalForm" @ok="modalFormOk" @close="modalFormClose"></money-out-modal> <money-out-modal ref="modalForm" @ok="modalFormOk" @close="modalFormClose"></money-out-modal>
<financial-detail ref="modalDetail" @ok="modalFormOk" @close="modalFormClose"></financial-detail> <financial-detail ref="modalDetail" @ok="modalFormOk" @close="modalFormClose"></financial-detail>
<wait-need-list ref="waitNeedList" @ok="modalFormOk" @close="modalFormClose"></wait-need-list>
<bill-excel-iframe ref="billExcelIframe" @ok="modalFormOk" @close="modalFormClose"></bill-excel-iframe> <bill-excel-iframe ref="billExcelIframe" @ok="modalFormOk" @close="modalFormClose"></bill-excel-iframe>
</a-card> </a-card>
</a-col> </a-col>
@@ -153,6 +154,7 @@
<script> <script>
import MoneyOutModal from './modules/MoneyOutModal' import MoneyOutModal from './modules/MoneyOutModal'
import FinancialDetail from './dialog/FinancialDetail' import FinancialDetail from './dialog/FinancialDetail'
import WaitNeedList from './dialog/WaitNeedList'
import BillExcelIframe from '@/components/tools/BillExcelIframe' import BillExcelIframe from '@/components/tools/BillExcelIframe'
import { JeecgListMixin } from '@/mixins/JeecgListMixin' import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import { FinancialListMixin } from './mixins/FinancialListMixin' import { FinancialListMixin } from './mixins/FinancialListMixin'
@@ -164,6 +166,7 @@
components: { components: {
MoneyOutModal, MoneyOutModal,
FinancialDetail, FinancialDetail,
WaitNeedList,
BillExcelIframe, BillExcelIframe,
JDate JDate
}, },

View File

@@ -0,0 +1,181 @@
<template>
<div ref="container">
<a-modal
:title="title"
:width="800"
:visible="visible"
:getContainer="() => $refs.container"
:maskStyle="{'top':'93px','left':'154px'}"
:wrapClassName="wrapClassNameInfo()"
:mask="isDesktop()"
:maskClosable="false"
@cancel="handleCancel"
cancelText="关闭"
style="top:20px;height: 95%;">
<template slot="footer">
<a-button key="back" @click="handleCancel">取消(ESC)</a-button>
</template>
<!-- 查询区域 -->
<div class="table-page-search-wrapper">
<!-- 搜索区域 -->
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :md="12" :sm="24">
<a-form-item :label="organType" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-select :placeholder="'请选择'+ organType" v-model="queryParam.organId"
:dropdownMatchSelectWidth="false" showSearch allow-clear optionFilterProp="children">
<a-select-option v-for="(item,index) in supList" :key="index" :value="item.id">
{{ item.supplier }}
</a-select-option>
</a-select>
</a-form-item>
</a-col>
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-col :md="12" :sm="24">
<a-button type="primary" @click="searchQuery">查询</a-button>
<a-button style="margin-left: 8px" @click="searchReset">重置</a-button>
</a-col>
</span>
</a-row>
</a-form>
</div>
<!-- table区域-begin -->
<a-table
bordered
ref="table"
size="middle"
rowKey="id"
:columns="columns"
:dataSource="dataSource"
:pagination="ipagination"
:loading="loading"
@change="handleTableChange">
<span slot="action" slot-scope="text, record">
<a @click="handleAction(record)">{{actionType}}</a>
</span>
</a-table>
<!-- table区域-end -->
<div>注意:具体欠款详情,请到<b>报表查询</b>中的<b>{{organType}}对账</b>查看</div>
</a-modal>
</div>
</template>
<script>
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import { findBySelectCus, findBySelectSup } from '@/api/api'
import { getFormatDate } from '@/utils/util'
export default {
name: 'WaitNeedList',
mixins:[JeecgListMixin],
data () {
return {
title: "操作",
visible: false,
disableMixinCreated: true,
organType: '',
actionType: '',
supList: [],
queryParam: {
organId: undefined,
supplierType: '',
hasDebt: '1',
beginTime: '1990-01-01',
endTime: getFormatDate(),
},
labelCol: {
xs: { span: 24 },
sm: { span: 8 },
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 16 },
},
// 表头
columns: [
{
title: '操作',
dataIndex: 'action',
width:100,
align:"center",
scopedSlots: { customRender: 'action' },
},
{ title: '', dataIndex: 'supplier',width:400, ellipsis:true},
{ title: '欠款金额', dataIndex: 'allNeed',width:150 }
],
url: {
list: "/depotHead/getStatementAccount"
}
}
},
created() {
},
methods: {
getQueryParams() {
let param = Object.assign({}, this.queryParam, this.isorter);
param.field = this.getQueryField();
param.currentPage = this.ipagination.current;
param.pageSize = this.ipagination.pageSize-1;
return param;
},
show(organType) {
this.organType = organType
this.columns[1].title = organType
this.model = Object.assign({}, {});
this.visible = true
if(organType === '客户') {
this.title = '待收款客户'
this.queryParam.supplierType = '客户'
this.actionType = '收款'
} else if(organType === '供应商') {
this.title = '待付款供应商'
this.queryParam.supplierType = '供应商'
this.actionType = '付款'
}
this.ipagination.pageSize = 100
this.ipagination.pageSizeOptions = ['100', '200', '300']
this.loadData(1)
this.initSupplier()
},
initSupplier() {
let that = this
if(this.organType === '客户') {
findBySelectCus({}).then((res) => {
if (res) {
that.supList = res
}
})
} else if(this.organType === '供应商') {
findBySelectSup({}).then((res) => {
if (res) {
that.supList = res;
}
})
}
},
handleAction(record) {
},
close () {
this.$emit('close')
this.visible = false
},
handleCancel () {
this.close()
},
searchReset() {
this.queryParam = {
organId: undefined,
supplierType: this.organType,
hasDebt: '1',
beginTime: '1990-01-01',
endTime: getFormatDate(),
}
this.loadData(1)
}
}
}
</script>
<style scoped>
</style>

View File

@@ -187,8 +187,8 @@ export const FinancialListMixin = {
} }
}) })
}, },
initGetNeedCount(supplierType) { initGetNeedCount(type) {
getNeedCount({supplierType: supplierType}).then((res)=>{ getNeedCount({type: type}).then((res)=>{
if(res && res.code === 200) { if(res && res.code === 200) {
this.waitTotal = res.data.needCount this.waitTotal = res.data.needCount
} }
@@ -204,6 +204,9 @@ export const FinancialListMixin = {
onDateOk(value) { onDateOk(value) {
console.log(value); console.log(value);
}, },
handleWaitNeed(organType) {
this.$refs.waitNeedList.show(organType)
},
//导出单据 //导出单据
handleExport() { handleExport() {
let search = this.getQueryParams().search let search = this.getQueryParams().search