11 changed files with 2419 additions and 11 deletions
@ -0,0 +1,120 @@ |
|||
import request from '@/utils/request' |
|||
import qs from 'querystring' |
|||
|
|||
// 收款确认管理和出纳款项管理分页列表条件查询
|
|||
export function listPage(data) { |
|||
return request({ |
|||
url: '/fin/fincollectionconfirmation/listPage', |
|||
method: 'post', |
|||
data: data, |
|||
headers: { |
|||
'Content-Type': 'application/json' |
|||
} |
|||
}) |
|||
} |
|||
// 应收未收款项明细分页列表查询
|
|||
export function listAll(data) { |
|||
return request({ |
|||
url: '/fin/finuncollectedreceivablesdetailed/listAll', |
|||
method: 'post', |
|||
data: data, |
|||
headers: { |
|||
'Content-Type': 'application/json' |
|||
} |
|||
}) |
|||
} |
|||
|
|||
// 收款确认管理h和出纳款项确认管理--回显、详情
|
|||
export function fetchBySid(data) { |
|||
return request({ |
|||
url: '/fin/fincollectionconfirmation/fetchBySid/' + data, |
|||
method: 'get', |
|||
}) |
|||
} |
|||
|
|||
// 收款确认管理保存
|
|||
export function save(data) { |
|||
return request({ |
|||
url: '/fin/fincollectionconfirmation/save', |
|||
method: 'post', |
|||
data: data, |
|||
headers: { |
|||
'Content-Type': 'application/json' |
|||
} |
|||
}) |
|||
} |
|||
|
|||
// 收款确认管理详情
|
|||
export function details(data) { |
|||
return request({ |
|||
url: '/fin/fincollectionconfirmation/fetchBySid/' + data, |
|||
method: 'get' |
|||
}) |
|||
} |
|||
|
|||
// 出纳款项管理--确认
|
|||
export function cashierConfirm(data) { |
|||
return request({ |
|||
url: '/fin/fincollectionconfirmation/cashierConfirm', |
|||
method: 'post', |
|||
params: data, |
|||
headers: { |
|||
'Content-Type': 'application/x-www-form-urlencoded' |
|||
} |
|||
}) |
|||
} |
|||
|
|||
// 出纳款项管理--驳回
|
|||
export function cashierReject(data) { |
|||
return request({ |
|||
url: '/fin/fincollectionconfirmation/cashierReject', |
|||
method: 'post', |
|||
params: data, |
|||
headers: { |
|||
'Content-Type': 'application/x-www-form-urlencoded' |
|||
} |
|||
}) |
|||
} |
|||
|
|||
// 客户账单汇总
|
|||
export function customerBillListPage(data) { |
|||
return request({ |
|||
url: '/fin/finuncollectedreceivablesdetailed/customerBillListPage', |
|||
method: 'post', |
|||
data: data, |
|||
headers: { |
|||
'Content-Type': 'application/json' |
|||
} |
|||
}) |
|||
} |
|||
|
|||
// 客户账单明细
|
|||
export function customerBillDetailedListPage(data) { |
|||
return request({ |
|||
url: '/fin/finuncollectedreceivablesdetailed/customerBillDetailedListPage', |
|||
method: 'post', |
|||
data: data, |
|||
headers: { |
|||
'Content-Type': 'application/json' |
|||
} |
|||
}) |
|||
} |
|||
|
|||
// 数据字典
|
|||
export function dataDictionary(data) { |
|||
return request({ |
|||
url: '/portal/v1/dictcommons/typeValues', |
|||
method: 'get', |
|||
params: data |
|||
}) |
|||
} |
|||
// 上传文件
|
|||
export function upload(data) { |
|||
return request({ |
|||
url: '/fin/file/upload',data, |
|||
method: 'post', |
|||
headers: { |
|||
'Content-Type': 'multipart/form-data' |
|||
} |
|||
}) |
|||
} |
@ -0,0 +1,67 @@ |
|||
<template> |
|||
<div> |
|||
<el-upload class="upload-demo" action="" :data="datas" :accept="accept" :on-remove="handleRemove" :file-list="fujian_list" :http-request="uploadSectionFile"> |
|||
<el-button size="small" type="primary">选择文件</el-button> |
|||
</el-upload> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { upload } from '@/api/anruifinmanagement/paymentConfirmation.js' |
|||
export default { |
|||
props: { |
|||
placeholder: { |
|||
type: String, |
|||
default: '' |
|||
}, |
|||
accept: { |
|||
type: String, |
|||
default: '.jpg,.jpeg,.png,.pdf,.JPG,.JPEG,' |
|||
} |
|||
}, |
|||
data() { |
|||
return { |
|||
datas: null, |
|||
name: null, |
|||
accessToken: {}, |
|||
dialogImageUrl: '', |
|||
dialogVisible: false, |
|||
fujian_list: [] |
|||
} |
|||
}, |
|||
methods: { |
|||
show(value) { |
|||
this.fujian_list = value |
|||
}, |
|||
handleRemove(file) { |
|||
this.$emit('handleRemove', file) |
|||
}, |
|||
// 上传文件 FrontPhoto |
|||
uploadSectionFile(params) { |
|||
const file = params.file |
|||
// 根据后台需求数据格式 |
|||
const form = new FormData() |
|||
// 文件对象 |
|||
form.append('file', file) |
|||
// 项目封装的请求方法,下面做简单介绍 |
|||
upload(form).then((res) => { |
|||
// 自行处理各种情况 |
|||
if (res.code === '200') { |
|||
this.$emit('handleSuccess', res) |
|||
} |
|||
if (res.msg === '操作成功') { |
|||
this.$message({ |
|||
message: '上传成功!', |
|||
type: 'success' |
|||
}) |
|||
} |
|||
}).catch((err) => { |
|||
console.log(err) |
|||
// 如果等于备案,就调备案图片上传接口 |
|||
}) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped></style> |
@ -0,0 +1,284 @@ |
|||
<template> |
|||
<div class="app-container"> |
|||
<div v-show="viewState == 1"> |
|||
<div class="tab-header webtop"> |
|||
<div>收款确认管理</div> |
|||
<div> |
|||
<el-button type="primary" size="small" @click="handleCreate()">新增</el-button> |
|||
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button> |
|||
</div> |
|||
</div> |
|||
<div class="webcon"> |
|||
<div class="searchcon"> |
|||
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button> |
|||
<div v-show="isSearchShow"> |
|||
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header"> |
|||
<el-row> |
|||
<el-form-item label="付款方名称:" class="searchlist"> |
|||
<el-input v-model="listQuery.params.payerName" placeholder="" clearable/> |
|||
</el-form-item> |
|||
<el-form-item label="收款方式:" class="searchlist"> |
|||
<el-select v-model="listQuery.params.collectionTypeKey" placeholder="请选择" filterable clearable> |
|||
<el-option v-for="item in collectionType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="收款银行:" class="searchlist"> |
|||
<el-select v-model="listQuery.params.collectionBank" placeholder="请选择" style="width: 300px" filterable clearable> |
|||
<el-option v-for="item in receiptBank_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="认款状态:" class="searchlist"> |
|||
<el-select v-model="listQuery.params.subscriptionState" placeholder="请选择" filterable clearable> |
|||
<el-option v-for="item in subscriptionState_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-row> |
|||
<el-row> |
|||
<el-form-item label="收款日期:" class="searchlist"> |
|||
<el-date-picker value-format="yyyy-MM-dd" v-model="listQuery.params.collectionStartDate" clearable style="width: 160px" type="date" placeholder="开始日期"/> |
|||
<div class="line">至</div> |
|||
<el-date-picker value-format="yyyy-MM-dd" v-model="listQuery.params.collectionEndDate" clearable style="width: 160px" type="date" placeholder="结束日期"/> |
|||
</el-form-item> |
|||
</el-row> |
|||
<div class="searchbtns"> |
|||
<el-button type="primary" size="small" @click="handleFilter">查询</el-button> |
|||
<el-button type="primary" size="small" @click="handReset">重置</el-button> |
|||
</div> |
|||
</el-form> |
|||
</div> |
|||
</div> |
|||
<div> |
|||
<div class="listtop"> |
|||
<div class="tit">收款申请列表</div> |
|||
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/> |
|||
</div> |
|||
<div class=""> |
|||
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%"> |
|||
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center"/> |
|||
<el-table-column label="操作" align="center" width="180px"> |
|||
<template slot-scope="scope"> |
|||
<el-button type="primary" :disabled="scope.row.auditState !== 3 && scope.row.subscriptionState !== 2" size="small" @click="handUpdate(scope.row)">办理</el-button> |
|||
<el-button type="primary" size="small" @click="handLook(scope.row)">查看</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="审核状态" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.auditState == 1 ? '待审核' : scope.row.auditState == 2 ? '已驳回' : scope.row.auditState ==3 ? '已审核' : '其他' }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="认款状态" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.subscriptionState == 1 ? '未认款' : scope.row.subscriptionState == 2 ? '部分认款' : scope.row.subscriptionState == 3 ? '已认款' : '其他' }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="收款日期" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.collectionDate }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="收款银行" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.collectionBank }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="收款银行账号" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.collectionBankNum }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="收款方式" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.collectionTypeValue }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="收款金额" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.collectionMoney }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="付款方名称" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.payerName }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="备注" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.remarks }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</div> |
|||
<div class="pages"> |
|||
<!-- 翻页 --> |
|||
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<acknowledgementReceiptAdd v-show="viewState == 2" ref="divAdd" @doback="resetState"/> |
|||
<acknowledgementReceiptInfo v-show="viewState == 3" ref="divInfo" @doback="resetState"/> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { listPage, dataDictionary } from '@/api/anruifinmanagement/paymentConfirmation.js' |
|||
import Pagination from '@/components/pagination' |
|||
import pageye from '@/components/pagination/pageye' |
|||
import acknowledgementReceiptAdd from './acknowledgementReceiptAdd.vue' |
|||
import acknowledgementReceiptInfo from './acknowledgementReceiptInfo.vue' |
|||
|
|||
export default { |
|||
name: 'shoukuanquerenguanli', |
|||
components: { |
|||
Pagination, |
|||
pageye, |
|||
acknowledgementReceiptAdd, |
|||
acknowledgementReceiptInfo |
|||
}, |
|||
data() { |
|||
return { |
|||
isSearchShow: false, |
|||
searchxianshitit: '隐藏查询条件', |
|||
viewState: 1, |
|||
tableKey: 0, |
|||
list: [], |
|||
receiptBank_list: [], |
|||
collectionType_list: [], |
|||
subscriptionState_list: [ |
|||
{ |
|||
dictKey: 1, |
|||
dictValue: '未认款' |
|||
}, |
|||
{ |
|||
dictKey: 2, |
|||
dictValue: '部分认款' |
|||
}, |
|||
{ |
|||
dictKey: 3, |
|||
dictValue: '已认款' |
|||
} |
|||
], |
|||
listLoading: false, |
|||
listQuery: { |
|||
current: 1, |
|||
size: 10, |
|||
params: { |
|||
payerName: '', |
|||
collectionStartDate: '', |
|||
collectionEndDate: '', |
|||
collectionBank: '', |
|||
collectionTypeKey: '', |
|||
subscriptionState: '', |
|||
useOrgSid: '', |
|||
createBySid: window.sessionStorage.getItem('staffSid') |
|||
}, |
|||
total: 0 |
|||
} |
|||
} |
|||
}, |
|||
created() { |
|||
this.getList() |
|||
this.DataDictionary() |
|||
}, |
|||
methods: { |
|||
DataDictionary() { |
|||
dataDictionary({ type: 'receiptBank' }).then((res) => { |
|||
if (res.code === '200') { |
|||
this.receiptBank_list = res.data |
|||
} |
|||
}) |
|||
dataDictionary({ type: 'receiptType' }).then((res) => { |
|||
if (res.code === '200') { |
|||
this.collectionType_list = res.data |
|||
} |
|||
}) |
|||
}, |
|||
// 搜索条件效果 |
|||
clicksearchShow() { |
|||
this.isSearchShow = !this.isSearchShow |
|||
if (this.isSearchShow) { |
|||
this.searchxianshitit = '隐藏查询条件' |
|||
} else { |
|||
this.searchxianshitit = '显示查询条件' |
|||
} |
|||
}, |
|||
// ----------功能打开结束-------- |
|||
// 序号 |
|||
indexMethod(index) { |
|||
var pagestart = (this.listQuery.current - 1) * this.listQuery.size |
|||
var pageindex = index + 1 + pagestart |
|||
return pageindex |
|||
}, |
|||
// 查询列表信息 |
|||
getList() { |
|||
this.listLoading = true |
|||
listPage(this.listQuery).then((response) => { |
|||
this.listLoading = false |
|||
if (response.code === '200') { |
|||
this.listQuery.total = response.data.total |
|||
this.list = response.data.records |
|||
} |
|||
}) |
|||
}, |
|||
// 查询按钮 |
|||
handleFilter() { |
|||
this.getList() |
|||
}, |
|||
handReset() { |
|||
this.listQuery = { |
|||
current: 1, |
|||
size: 10, |
|||
params: { |
|||
collectionStartDate: '', |
|||
collectionEndDate: '', |
|||
collectionBank: '', |
|||
collectionTypeKey: '', |
|||
subscriptionState: '', |
|||
useOrgSid: '', |
|||
createBySid: window.sessionStorage.getItem('staffSid') |
|||
}, |
|||
total: 0 |
|||
} |
|||
this.getList() |
|||
}, |
|||
handleCreate() { |
|||
this.viewState = 2 |
|||
this.$refs['divAdd'].showAdd() |
|||
}, |
|||
handUpdate(row) { |
|||
this.viewState = 2 |
|||
this.$refs['divAdd'].showEdit(row) |
|||
}, |
|||
handLook(row) { |
|||
this.viewState = 3 |
|||
this.$refs['divInfo'].showInfo(row) |
|||
}, |
|||
resetState() { |
|||
this.viewState = 1 |
|||
this.handReset() |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
<style scoped> |
|||
.listtop { |
|||
display: flex; |
|||
justify-content: space-between; |
|||
align-items: center; |
|||
border: 1px solid #dfe4ed; |
|||
height: 40px; |
|||
} |
|||
.tit { |
|||
margin-bottom: -10px; |
|||
} |
|||
.pagination { |
|||
margin-bottom: -10px; |
|||
} |
|||
.line { |
|||
display: inline-block; |
|||
margin: 0px 15px; |
|||
} |
|||
.searchlist{ |
|||
margin: 10px 0; |
|||
} |
|||
</style> |
@ -0,0 +1,631 @@ |
|||
<template> |
|||
<div class="app-container"> |
|||
<div class="tab-header webtop"> |
|||
<div>{{ viewTitle }}</div> |
|||
<div> |
|||
<el-button type="primary" size="small" :disabled="submitdisabled" @click="submit()">提交 |
|||
</el-button> |
|||
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button> |
|||
</div> |
|||
</div> |
|||
<div class="listconadd"> |
|||
<div class="wlInfo"><span>收款确认申请</span></div> |
|||
<el-form ref="form_obj" :model="formobj" :rules="rules" label-position="top" label-width="300px" class="formadd"> |
|||
<el-row> |
|||
<el-col :span="4" class="tleftb"> |
|||
<el-form-item><span>收款日期</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item> |
|||
<el-date-picker value-format="yyyy-MM-dd" v-model="formobj.collectionDate" :disabled="forbidden" clearable type="date" style="width: 93%" placeholder="请选择"/> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="tleftb"> |
|||
<el-form-item><span>收款银行</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item> |
|||
<el-select v-model="formobj.collectionBank" :disabled="forbidden" placeholder="请选择" @change="changeCollectionBank" filterable clearable> |
|||
<el-option v-for="item in receiptBank_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="tleftb"> |
|||
<el-form-item><span>收款银行账号</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item> |
|||
<el-select v-model="formobj.collectionBankNum" placeholder="请选择" :disabled="forbidden" @change="changeCollectionBankNum" filterable clearable> |
|||
<el-option v-for="item in collectionBankNum_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="4" class="tleftb"> |
|||
<el-form-item><span>收款方式</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item> |
|||
<el-select v-model="formobj.collectionTypeValue" placeholder="请选择" :disabled="forbidden" @change="changeCollectionType" filterable clearable> |
|||
<el-option v-for="item in receiptType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="tleftb"> |
|||
<el-form-item><span>付款方名称</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item> |
|||
<el-input v-model="formobj.payerName" :disabled="forbidden" placeholder="" clearable/> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="tleftb"> |
|||
<el-form-item><span>收款金额</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item> |
|||
<el-input v-model="formobj.collectionMoney" @keyup.native="UpNumber" @keydown.native="UpNumber" :disabled="forbidden" @change="changeCollectionMoney" placeholder="" clearable/> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="4" class="tleftb"> |
|||
<el-form-item><span>备注</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="20" class="trightb"> |
|||
<el-form-item> |
|||
<el-input v-model="formobj.remarks" :disabled="forbidden" style="width: 800px" placeholder="" clearable/> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="4" class="tleftb"> |
|||
<el-form-item><span>打款凭证</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="20" class="trightb"> |
|||
<el-form-item> |
|||
<Upload v-show="forbidden !== true" style="float:left;" ref="remit" @handleSuccess="remitAdd" @handleRemove="remitRemove" /> |
|||
<span v-show="forbidden == true" v-for="(item, index) in list1" :key="index">{{ item.name }} |
|||
</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="4" class="tleftb"> |
|||
<el-form-item><span>汇款确认书</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="20" class="trightb"> |
|||
<el-form-item> |
|||
<Upload style="float:left;" ref="remittance" @handleSuccess="remittanceAdd" @handleRemove="remittanceRemove" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
</el-form> |
|||
<div class="tableStyle"> |
|||
<div> |
|||
<div> |
|||
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header"> |
|||
<el-row> |
|||
<el-form-item label="合同编号:"> |
|||
<el-input v-model="listQuery.contractNo" placeholder="" style="width: 110px" clearable/> |
|||
</el-form-item> |
|||
<el-form-item label="客户名称:"> |
|||
<el-input v-model="listQuery.customerName" placeholder="" style="width: 100px" clearable/> |
|||
</el-form-item> |
|||
<el-form-item label="联系电话:"> |
|||
<el-input v-model="listQuery.customerPhone" placeholder="" style="width: 140px" clearable/> |
|||
</el-form-item> |
|||
</el-row> |
|||
<div class="searchbtns"> |
|||
<el-button type="primary" @click="handleFilter">查询</el-button> |
|||
<el-button type="primary" @click="handReset">重置</el-button> |
|||
</div> |
|||
</el-form> |
|||
</div> |
|||
<div class="tableTitle">应收未收款款项明细</div> |
|||
<el-table border :key="overduereceivableKey" style="width: 720px" :data="overduereceivable_list"> |
|||
<el-table-column label="合同编号" align="center"> |
|||
<template slot-scope="scope"> |
|||
{{ scope.row.contractNo }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="车架号" align="center"> |
|||
<template slot-scope="scope"> |
|||
{{ scope.row.VIN }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="客户名称" align="center"> |
|||
<template slot-scope="scope"> |
|||
{{ scope.row.customerName }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="联系电话" align="center"> |
|||
<template slot-scope="scope"> |
|||
{{ scope.row.customerPhone }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="应收项目名称" align="center"> |
|||
<template slot-scope="scope"> |
|||
{{ scope.row.receivablesName }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="当前应收金额" align="center"> |
|||
<template slot-scope="scope"> |
|||
{{ scope.row.currentReceivableMoney }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="操作" align="center" width="80"> |
|||
<template slot-scope="scope"> |
|||
<el-button type="primary" size="small" @click="handAdd(scope.row)">添加</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</div> |
|||
<div> |
|||
<div class="balanceStyle"> |
|||
<span style="margin-right: 20px">余额:{{ balance }}</span> |
|||
</div> |
|||
<div class="tableTitle">已选应收款项明细</div> |
|||
<el-table border :key="selectedreceivableKey" style="width: 880px" :data="formobj.finSelectedReceivablesDetaileds"> |
|||
<el-table-column label="操作" align="center" width="70"> |
|||
<template slot-scope="scope"> |
|||
<el-button type="danger" size="small" @click="handDelete(scope.row)">移除</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="合同编号" align="center" width="95"> |
|||
<template slot-scope="scope"> |
|||
{{ scope.row.contractNo }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="车架号" align="center" width="75"> |
|||
<template slot-scope="scope"> |
|||
{{ scope.row.VIN }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="客户名称" align="center" width="80"> |
|||
<template slot-scope="scope"> |
|||
{{ scope.row.customerName }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="联系电话" align="center" width="90"> |
|||
<template slot-scope="scope"> |
|||
{{ scope.row.customerPhone }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="应收项目名称" align="center" width="105"> |
|||
<template slot-scope="scope"> |
|||
{{ scope.row.receivablesName }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="当前应收金额" align="center" width="105"> |
|||
<template slot-scope="scope"> |
|||
{{ scope.row.currentReceivableMoney }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="认款金额" align="center" width="95"> |
|||
<template slot-scope="scope"> |
|||
<el-input v-model="scope.row.subscriptionMoney" @change="changeSubscriptionMoney" placeholder="" clearable/> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="认款申请日期" align="center"> |
|||
<template slot-scope="scope"> |
|||
<el-date-picker value-format="yyyy-MM-dd" v-model="scope.row.subscriptionDate" clearable style="width: 140px" type="date" placeholder="请选择"/> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { save, dataDictionary, listAll, fetchBySid } from '@/api/anruifinmanagement/paymentConfirmation.js' |
|||
import Upload from '@/components/uploadFile/filesUpload' // 上传文件 |
|||
|
|||
export default { |
|||
name: 'acknowledgementReceiptAdd', |
|||
components: { |
|||
Upload |
|||
}, |
|||
data() { |
|||
return { |
|||
viewTitle: '', |
|||
overduereceivableKey: 0, |
|||
selectedreceivableKey: 1, |
|||
receiptBank_list: [], |
|||
collectionBankNum_list: [], |
|||
receiptType_list: [], |
|||
overduereceivable_list: [], |
|||
forbidden: false, |
|||
list1: [], |
|||
list2: [], |
|||
formobj: { |
|||
sid: '', |
|||
createByName: window.sessionStorage.getItem('name'), |
|||
staffSid: window.sessionStorage.getItem('staffSid'), |
|||
collectionDate: '', |
|||
collectionBank: '', |
|||
collectionBankKey: '', |
|||
collectionBankNum: '', |
|||
collectionBankNumKey: '', |
|||
collectionTypeKey: '', |
|||
collectionTypeValue: '', |
|||
payerName: '', |
|||
collectionMoney: '', |
|||
paymentVoucherUrl: '', |
|||
remittanceConfirmationUrl: '', |
|||
balance: '', |
|||
useOrgSid: '', |
|||
finSelectedReceivablesDetaileds: [], |
|||
paymentVoucherAppendixs: [], |
|||
remittanceConfirmationAppendixs: [] |
|||
}, |
|||
listQuery: { |
|||
contractNo: '', |
|||
customerName: '', |
|||
customerPhone: '', |
|||
sids: [], |
|||
createBySid: window.sessionStorage.getItem('staffSid') |
|||
}, |
|||
rules: {}, |
|||
submitdisabled: false, |
|||
balance: '' // 余额 |
|||
} |
|||
}, |
|||
created() { |
|||
this.DataDictionary() |
|||
this.newDate() |
|||
}, |
|||
methods: { |
|||
// 获取制单日期 |
|||
newDate() { |
|||
let date = new Date() |
|||
let year = date.getFullYear() // 年 |
|||
let month = date.getMonth() + 1 // 月 |
|||
let day = date.getDate() // 日 |
|||
if (month < 10) { |
|||
month = '0' + month |
|||
} |
|||
if (day < 10) { |
|||
day = '0' + day |
|||
} |
|||
this.formobj.collectionDate = year + '-' + month + '-' + day |
|||
}, |
|||
UpNumber(e) { |
|||
e.target.value = e.target.value.replace(/[^0-9.]/g, '') |
|||
}, |
|||
DataDictionary() { |
|||
dataDictionary({ type: 'receiptBank' }).then((res) => { |
|||
if (res.code === '200') { |
|||
this.receiptBank_list = res.data |
|||
} |
|||
}) |
|||
dataDictionary({ type: 'receiptType' }).then((res) => { |
|||
if (res.code === '200') { |
|||
this.receiptType_list = res.data |
|||
} |
|||
}) |
|||
}, |
|||
collectionBankNum(sid) { |
|||
dataDictionary({ type: 'receiptAccount', psid: sid }).then((res) => { |
|||
if (res.code === '200') { |
|||
this.collectionBankNum_list = res.data |
|||
} |
|||
}) |
|||
}, |
|||
changeCollectionBank(value) { |
|||
let aa = null |
|||
this.receiptBank_list.forEach((e) => { |
|||
if (e.dictKey === value) { |
|||
aa = { |
|||
name: e.dictValue, |
|||
value: e.dictKey, |
|||
sid: e.sid |
|||
} |
|||
} |
|||
}) |
|||
this.formobj.collectionBank = aa.name |
|||
this.formobj.collectionBankKey = aa.value |
|||
this.collectionBankNum(aa.sid) |
|||
}, |
|||
changeCollectionBankNum(value) { |
|||
let aa = null |
|||
this.collectionBankNum_list.forEach((e) => { |
|||
if (e.dictKey === value) { |
|||
aa = { |
|||
name: e.dictValue, |
|||
value: e.dictKey |
|||
} |
|||
} |
|||
}) |
|||
this.formobj.collectionBankNum = aa.name |
|||
this.formobj.collectionBankNumKey = aa.value |
|||
}, |
|||
changeCollectionType(value) { |
|||
let aa = null |
|||
this.receiptType_list.forEach((e) => { |
|||
if (e.dictKey === value) { |
|||
aa = { |
|||
name: e.dictValue, |
|||
value: e.dictKey |
|||
} |
|||
} |
|||
}) |
|||
this.formobj.collectionTypeValue = aa.name |
|||
this.formobj.collectionTypeKey = aa.value |
|||
}, |
|||
changeCollectionMoney() { |
|||
this.balance = this.formobj.collectionMoney |
|||
}, |
|||
changeSubscriptionMoney() { |
|||
this.calculateBalance() |
|||
}, |
|||
// 计算余额 |
|||
calculateBalance() { |
|||
var list = [] |
|||
for (var b = 0; b < this.formobj.finSelectedReceivablesDetaileds.length; b++) { |
|||
list.push(this.formobj.finSelectedReceivablesDetaileds[b].subscriptionMoney) |
|||
} |
|||
var sumNum = 0 |
|||
for (var i = 0; i < list.length; i++) { |
|||
// 替换掉字符串中的千分位分隔符并相加 |
|||
sumNum += Number(list[i].replace(/,/g, '')) |
|||
} |
|||
// 将总数四舍五入 |
|||
var f1 = Math.round(sumNum * 100) / 100 |
|||
// 转化为字符串 |
|||
var strNum = f1.toString() |
|||
// 将整数和小数点分割 |
|||
var rs = strNum.indexOf('.') |
|||
if (rs < 0) { |
|||
rs = strNum.length |
|||
strNum += '.' |
|||
} |
|||
while (strNum.length <= rs + 2) { |
|||
strNum += '0' |
|||
} |
|||
var resNum = strNum.replace(/\d+/, function(n) { |
|||
return n.replace(/(\d)(?=(\d{3})+$)/g, function(u) { |
|||
return u |
|||
}) |
|||
}) |
|||
this.balance = parseInt(this.balance) - parseInt(resNum) |
|||
}, |
|||
getlist() { |
|||
listAll(this.listQuery).then((res) => { |
|||
if (res.code === '200') { |
|||
this.overduereceivable_list = res.data |
|||
} |
|||
}) |
|||
}, |
|||
handleFilter() { |
|||
this.getlist() |
|||
}, |
|||
handReset() { |
|||
this.listQuery = { |
|||
contractNo: '', |
|||
customerName: '', |
|||
customerPhone: '', |
|||
sids: [], |
|||
createBySid: window.sessionStorage.getItem('staffSid') |
|||
} |
|||
this.getlist() |
|||
}, |
|||
showAdd() { |
|||
this.viewTitle = '【新建】收款确认申请' |
|||
this.getlist() |
|||
}, |
|||
showEdit(row) { |
|||
this.viewTitle = '【编辑】收款确认申请' |
|||
fetchBySid(row.sid).then(resp => { |
|||
if (resp.code === '200') { |
|||
this.formobj = resp.data |
|||
this.balance = this.formobj.balance |
|||
this.getlist() |
|||
this.forbidden = true |
|||
if (this.formobj.paymentVoucherAppendixs.length > 0) { |
|||
for (var i = 0; i < this.formobj.paymentVoucherAppendixs.length; i++) { |
|||
this.list1.push({ |
|||
name: this.formobj.paymentVoucherAppendixs[i].fileName |
|||
} |
|||
) |
|||
} |
|||
} |
|||
if (this.formobj.remittanceConfirmationAppendixs.length > 0) { |
|||
for (var b = 0; b < this.formobj.remittanceConfirmationAppendixs.length; b++) { |
|||
this.list2.push({ |
|||
name: this.formobj.remittanceConfirmationAppendixs[b].fileName |
|||
} |
|||
) |
|||
} |
|||
} |
|||
this.formobj.finSelectedReceivablesDetaileds = [] |
|||
this.$nextTick(() => { |
|||
this.$refs['remit'].show(this.list1) |
|||
this.$refs['remittance'].show(this.list2) |
|||
}) |
|||
} |
|||
}).catch(e => { |
|||
this.formobj = row |
|||
}) |
|||
}, |
|||
remitAdd(item) { |
|||
var arrayList = [] |
|||
arrayList = item.data |
|||
this.formobj.paymentVoucherAppendixs.push({ |
|||
createBySid: window.sessionStorage.getItem('userSid'), |
|||
name: window.sessionStorage.getItem('name'), |
|||
fileName: arrayList.sourceFileName.substr(0, arrayList.sourceFileName.lastIndexOf('.')), |
|||
fileType: arrayList.sourceFileName.substr(arrayList.sourceFileName.lastIndexOf('.')), |
|||
linkSid: '', |
|||
attachType: '', |
|||
fileSize: arrayList.size, |
|||
filePath: arrayList.fullUrl |
|||
}) |
|||
}, |
|||
remitRemove(item) { |
|||
this.formobj.paymentVoucherAppendixs.forEach((e, index) => { |
|||
if (item.name.indexOf(e.fileName) === 0) { |
|||
this.formobj.paymentVoucherAppendixs.splice(index, 1) |
|||
} |
|||
}) |
|||
}, |
|||
remittanceAdd(item) { |
|||
var arrayList = [] |
|||
arrayList = item.data |
|||
this.formobj.remittanceConfirmationAppendixs.push({ |
|||
createBySid: window.sessionStorage.getItem('userSid'), |
|||
name: window.sessionStorage.getItem('name'), |
|||
fileName: arrayList.sourceFileName.substr(0, arrayList.sourceFileName.lastIndexOf('.')), |
|||
fileType: arrayList.sourceFileName.substr(arrayList.sourceFileName.lastIndexOf('.')), |
|||
linkSid: '', |
|||
attachType: '', |
|||
fileSize: arrayList.size, |
|||
filePath: arrayList.fullUrl |
|||
}) |
|||
}, |
|||
remittanceRemove(item) { |
|||
this.formobj.remittanceConfirmationAppendixs.forEach((e, index) => { |
|||
if (item.name.indexOf(e.fileName) === 0) { |
|||
this.formobj.remittanceConfirmationAppendixs.splice(index, 1) |
|||
} |
|||
}) |
|||
}, |
|||
handAdd(row) { |
|||
if (this.formobj.collectionMoney === '') { |
|||
this.$message({ showClose: true, type: 'error', message: '请先填写收款金额' }) |
|||
} else { |
|||
this.formobj.finSelectedReceivablesDetaileds.push({ |
|||
createByName: window.sessionStorage.getItem('name'), |
|||
contractSid: row.contractSid, |
|||
contractNo: row.contractNo, |
|||
customerSid: row.customerSid, |
|||
customerName: row.customerName, |
|||
VIN: row.VIN, |
|||
useOrgSid: '', |
|||
customerPhone: row.customerPhone, |
|||
receivablesName: row.receivablesName, |
|||
currentReceivableMoney: row.currentReceivableMoney, |
|||
lastSubscriptionMoney: '', |
|||
subscriptionMoney: '', |
|||
subscriptionDate: '', |
|||
collSid: '', |
|||
sid: row.sid |
|||
}) |
|||
this.listQuery.sids.push(row.sid) |
|||
this.getlist() |
|||
} |
|||
}, |
|||
handDelete(row) { |
|||
this.listQuery.sids.splice(this.listQuery.sids.indexOf(row.sid), 1) |
|||
this.formobj.finSelectedReceivablesDetaileds.splice(this.formobj.finSelectedReceivablesDetaileds.indexOf(row), 1) |
|||
this.calculateBalance() |
|||
this.getlist() |
|||
}, |
|||
submit() { |
|||
this.submitdisabled = true |
|||
if (this.formobj.paymentVoucherAppendixs.length > 0) { |
|||
var paymentVoucherUrl_list = [] |
|||
for (var i = 0; i < this.formobj.paymentVoucherAppendixs.length; i++) { |
|||
paymentVoucherUrl_list.push(this.formobj.paymentVoucherAppendixs[i].filePath) |
|||
} |
|||
this.formobj.paymentVoucherUrl = paymentVoucherUrl_list.join(',') |
|||
} |
|||
if (this.formobj.remittanceConfirmationAppendixs.length > 0) { |
|||
var remittanceConfirmationUrl_list = [] |
|||
for (var b = 0; b < this.formobj.remittanceConfirmationAppendixs.length; b++) { |
|||
remittanceConfirmationUrl_list.push(this.formobj.remittanceConfirmationAppendixs[b].filePath) |
|||
} |
|||
this.formobj.remittanceConfirmationUrl = remittanceConfirmationUrl_list.join(',') |
|||
} |
|||
save(this.formobj).then(resp => { |
|||
this.submitdisabled = false |
|||
if (resp.code === '200') { |
|||
this.$message({ showClose: true, type: 'success', message: resp.msg }) |
|||
this.handleReturn() |
|||
} |
|||
}).catch(() => { |
|||
this.submitdisabled = false |
|||
}) |
|||
}, |
|||
handleReturn() { |
|||
this.formobj = { |
|||
sid: '', |
|||
createByName: window.sessionStorage.getItem('name'), |
|||
staffSid: window.sessionStorage.getItem('staffSid'), |
|||
collectionDate: '', |
|||
collectionBank: '', |
|||
collectionBankKey: '', |
|||
collectionBankNum: '', |
|||
collectionBankNumKey: '', |
|||
collectionTypeKey: '', |
|||
collectionTypeValue: '', |
|||
payerName: '', |
|||
collectionMoney: '', |
|||
paymentVoucherUrl: '', |
|||
remittanceConfirmationUrl: '', |
|||
balance: '', |
|||
useOrgSid: '', |
|||
finSelectedReceivablesDetaileds: [], |
|||
paymentVoucherAppendixs: [], |
|||
remittanceConfirmationAppendixs: [] |
|||
} |
|||
this.list1 = [] |
|||
this.list2 = [] |
|||
this.forbidden = false |
|||
this.$nextTick(() => { |
|||
this.$refs['remit'].show(this.list1) |
|||
this.$refs['remittance'].show(this.list2) |
|||
}) |
|||
this.balance = '' |
|||
this.$emit('doback') |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style scoped> |
|||
.formadd { |
|||
margin-right: -14px; |
|||
margin-left: -14px; |
|||
} |
|||
.wlInfo { |
|||
padding-top: 20px; |
|||
font-size: 24px; |
|||
font-weight: bold; |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
} |
|||
.tableStyle { |
|||
margin-right: -14px; |
|||
margin-left: -14px; |
|||
display: flex; |
|||
justify-content: space-between; |
|||
align-items: center; |
|||
} |
|||
.tleftb { |
|||
text-align: right; |
|||
} |
|||
.tableTitle{ |
|||
border: 1px solid #e0e3eb; |
|||
line-height: 45px; |
|||
text-align: center; |
|||
font-weight: bold; |
|||
font-size: 18px; |
|||
} |
|||
.balanceStyle { |
|||
display: flex; |
|||
justify-content: flex-end; |
|||
align-items: center; |
|||
line-height: 100px; |
|||
} |
|||
/deep/ .tableStyle .tab-header .el-form-item{ |
|||
padding: 0; |
|||
} |
|||
/deep/ .tableStyle .tab-header { |
|||
margin-bottom: 0; |
|||
} |
|||
</style> |
@ -0,0 +1,238 @@ |
|||
<template> |
|||
<div class="app-container"> |
|||
<div class="tab-header webtop"> |
|||
<div>{{ viewTitle }}</div> |
|||
<div> |
|||
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button> |
|||
</div> |
|||
</div> |
|||
<div class="listconadd"> |
|||
<div class="wlInfo"><span>收款确认申请</span></div> |
|||
<el-form ref="form_obj" :model="formobj" :rules="rules" label-position="top" label-width="300px" class="formadd"> |
|||
<el-row> |
|||
<el-col :span="4" class="tleftb"> |
|||
<el-form-item><span>收款日期</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item> |
|||
{{ formobj.collectionDate }} |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="tleftb"> |
|||
<el-form-item><span>收款银行</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item> |
|||
{{ formobj.collectionBank }} |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="tleftb"> |
|||
<el-form-item><span>收款银行账号</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item> |
|||
{{ formobj.collectionBankNum }} |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="4" class="tleftb"> |
|||
<el-form-item><span>收款方式</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item> |
|||
{{ formobj.collectionTypeValue }} |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="tleftb"> |
|||
<el-form-item><span>付款方名称</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item> |
|||
{{ formobj.payerName }} |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="tleftb"> |
|||
<el-form-item><span>收款金额</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item> |
|||
{{ formobj.collectionMoney }} |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="4" class="tleftb"> |
|||
<el-form-item><span>备注</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="20" class="trightb"> |
|||
<el-form-item> |
|||
{{ formobj.remarks }} |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="4" class="tleftb"> |
|||
<el-form-item><span>打款凭证</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="20" class="trightb"> |
|||
<el-form-item> |
|||
<span v-for="(item, index) in list1" :key="index"> |
|||
<el-link :underline="false" :href="item.path" target="_blank">{{ item.name }}</el-link> |
|||
</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="4" class="tleftb"> |
|||
<el-form-item><span>汇款确认书</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="20" class="trightb"> |
|||
<el-form-item> |
|||
<span v-for="(item, index) in list2" :key="index"> |
|||
<el-link :underline="false" :href="item.path" target="_blank">{{ item.name }}</el-link> |
|||
</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="6" class="tleftb"> |
|||
<el-form-item><span>收款金额</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="6" class="trightb"> |
|||
<el-form-item> |
|||
{{ formobj.collectionMoney }} |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="6" class="tleftb"> |
|||
<el-form-item><span>余额</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="6" class="trightb"> |
|||
<el-form-item> |
|||
{{ formobj.balance }} |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
</el-form> |
|||
<el-table border :key="selectedreceivableKey" style="width: 100%" :data="formobj.finSelectedReceivablesDetaileds"> |
|||
<el-table-column label="合同编号" align="center"> |
|||
<template slot-scope="scope"> |
|||
{{ scope.row.contractNo }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="车架号" align="center"> |
|||
<template slot-scope="scope"> |
|||
{{ scope.row.VIN }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="客户名称" align="center"> |
|||
<template slot-scope="scope"> |
|||
{{ scope.row.customerName }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="联系电话" align="center"> |
|||
<template slot-scope="scope"> |
|||
{{ scope.row.customerPhone }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="应收项目名称" align="center"> |
|||
<template slot-scope="scope"> |
|||
{{ scope.row.receivablesName }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="当前应收金额" align="center"> |
|||
<template slot-scope="scope"> |
|||
{{ scope.row.currentReceivableMoney }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="认款金额" align="center"> |
|||
<template slot-scope="scope"> |
|||
{{ scope.row.subscriptionMoney }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="认款申请日期" align="center"> |
|||
<template slot-scope="scope"> |
|||
{{ scope.row.subscriptionDate }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="状态" align="center"> |
|||
<template slot-scope="scope"> |
|||
{{ scope.row.auditState == 1 ? '待审核' : scope.row.auditState == 2 ? '已驳回' : scope.row.auditState == 3 ? '已审核' : '其他' }} |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { fetchBySid } from '@/api/anruifinmanagement/paymentConfirmation.js' |
|||
|
|||
export default { |
|||
name: 'acknowledgementReceiptInfo', |
|||
data() { |
|||
return { |
|||
viewTitle: '', |
|||
selectedreceivableKey: 0, |
|||
formobj: {}, |
|||
rules: {}, |
|||
list1: [], |
|||
list2: [] |
|||
} |
|||
}, |
|||
methods: { |
|||
showInfo(row) { |
|||
this.viewTitle = '认款详情' |
|||
fetchBySid(row.sid).then(resp => { |
|||
if (resp.code === '200') { |
|||
this.formobj = resp.data |
|||
if (this.formobj.paymentVoucherAppendixs.length > 0) { |
|||
this.formobj.paymentVoucherAppendixs.forEach((e) => { |
|||
this.list1.push({ |
|||
name: e.fileName, |
|||
path: e.filePath |
|||
}) |
|||
}) |
|||
} |
|||
if (this.formobj.remittanceConfirmationAppendixs.length > 0) { |
|||
this.formobj.remittanceConfirmationAppendixs.forEach((e) => { |
|||
this.list2.push({ |
|||
name: e.fileName, |
|||
path: e.filePath |
|||
}) |
|||
}) |
|||
} |
|||
} |
|||
}).catch(e => { |
|||
this.formobj = row |
|||
}) |
|||
}, |
|||
handleReturn() { |
|||
this.formobj = {} |
|||
this.list1 = [] |
|||
this.list2 = [] |
|||
this.$emit('doback') |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style scoped> |
|||
.wlInfo { |
|||
padding-top: 20px; |
|||
font-size: 24px; |
|||
font-weight: bold; |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
} |
|||
.tleftb { |
|||
text-align: right; |
|||
} |
|||
.listadd { |
|||
width: 100%; |
|||
height: calc(100vh - 0px); |
|||
overflow-y: auto; |
|||
overflow-x: hidden; |
|||
} |
|||
</style> |
@ -0,0 +1,276 @@ |
|||
<template> |
|||
<div class="app-container"> |
|||
<div v-show="viewState == 1"> |
|||
<div class="tab-header webtop"> |
|||
<div>出纳款项确认管理</div> |
|||
<div> |
|||
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button> |
|||
</div> |
|||
</div> |
|||
<div class="webcon"> |
|||
<div class="searchcon"> |
|||
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button> |
|||
<div v-show="isSearchShow"> |
|||
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header"> |
|||
<el-row> |
|||
<el-form-item label="付款方名称:" class="searchlist"> |
|||
<el-input v-model="listQuery.params.payerName" placeholder="" clearable/> |
|||
</el-form-item> |
|||
<el-form-item label="收款方式:" class="searchlist"> |
|||
<el-select v-model="listQuery.params.collectionTypeKey" placeholder="请选择" filterable clearable> |
|||
<el-option v-for="item in collectionType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="收款银行:" class="searchlist"> |
|||
<el-select v-model="listQuery.params.collectionBank" placeholder="请选择" style="width: 300px" filterable clearable> |
|||
<el-option v-for="item in receiptBank_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="认款状态:" class="searchlist"> |
|||
<el-select v-model="listQuery.params.subscriptionState" placeholder="请选择" filterable clearable> |
|||
<el-option v-for="item in subscriptionState_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-row> |
|||
<el-row> |
|||
<el-form-item label="盖章日期:" class="searchlist"> |
|||
<el-date-picker value-format="yyyy-MM-dd" v-model="listQuery.params.collectionStartDate" clearable style="width: 160px" type="date" placeholder="开始日期"/> |
|||
<div class="line">至</div> |
|||
<el-date-picker value-format="yyyy-MM-dd" v-model="listQuery.params.collectionEndDate" clearable style="width: 160px" type="date" placeholder="结束日期"/> |
|||
</el-form-item> |
|||
</el-row> |
|||
<div class="searchbtns"> |
|||
<el-button type="primary" size="small" @click="handleFilter">查询</el-button> |
|||
<el-button type="primary" size="small" @click="handReset">重置</el-button> |
|||
</div> |
|||
</el-form> |
|||
</div> |
|||
</div> |
|||
<div> |
|||
<div class="listtop"> |
|||
<div class="tit">应收款项列表</div> |
|||
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/> |
|||
</div> |
|||
<div class=""> |
|||
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%"> |
|||
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center"/> |
|||
<el-table-column label="操作" align="center" width="180px"> |
|||
<template slot-scope="scope"> |
|||
<el-button :disabled="scope.row.auditState !== 1" type="primary" size="small" @click="handUpdate(scope.row)">办理</el-button> |
|||
<el-button type="primary" size="small" @click="handLook(scope.row)">查看</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="审核状态" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.auditState == 1 ? '待审核' : scope.row.auditState == 2 ? '已驳回' : scope.row.auditState ==3 ? '已审核' : '其他' }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="认款状态" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.subscriptionState == 1 ? '未认款' : scope.row.subscriptionState == 2 ? '部分认款' : scope.row.subscriptionState == 3 ? '已认款' : '其他' }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="收款日期" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.collectionDate }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="收款银行" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.collectionBank }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="收款银行账号" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.collectionBankNum }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="收款方式" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.collectionTypeValue }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="收款金额" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.collectionMoney }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="付款方名称" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.payerName }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="备注" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.remarks }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</div> |
|||
<div class="pages"> |
|||
<!-- 翻页 --> |
|||
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<cashierConfirmationInfo v-show="viewState == 2 || viewState == 3" ref="divInfo" @doback="resetState"/> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { listPage, dataDictionary } from '@/api/anruifinmanagement/paymentConfirmation.js' |
|||
import Pagination from '@/components/pagination' |
|||
import pageye from '@/components/pagination/pageye' |
|||
import cashierConfirmationInfo from './cashierConfirmationInfo.vue' |
|||
|
|||
export default { |
|||
name: 'chunakuanxiangquerenguanli', |
|||
components: { |
|||
Pagination, |
|||
pageye, |
|||
cashierConfirmationInfo |
|||
}, |
|||
data() { |
|||
return { |
|||
isSearchShow: false, |
|||
searchxianshitit: '隐藏查询条件', |
|||
viewState: 1, |
|||
tableKey: 0, |
|||
list: [], |
|||
receiptBank_list: [], |
|||
collectionType_list: [], |
|||
subscriptionState_list: [ |
|||
{ |
|||
dictKey: 1, |
|||
dictValue: '未认款' |
|||
}, |
|||
{ |
|||
dictKey: 2, |
|||
dictValue: '部分认款' |
|||
}, |
|||
{ |
|||
dictKey: 3, |
|||
dictValue: '已认款' |
|||
} |
|||
], |
|||
listLoading: false, |
|||
listQuery: { |
|||
current: 1, |
|||
size: 10, |
|||
params: { |
|||
payerName: '', |
|||
collectionStartDate: '', |
|||
collectionEndDate: '', |
|||
collectionBank: '', |
|||
collectionTypeKey: '', |
|||
subscriptionState: '', |
|||
useOrgSid: '', |
|||
createBySid: window.sessionStorage.getItem('staffSid') |
|||
}, |
|||
total: 0 |
|||
} |
|||
} |
|||
}, |
|||
created() { |
|||
this.getList() |
|||
this.DataDictionary() |
|||
}, |
|||
methods: { |
|||
DataDictionary() { |
|||
dataDictionary({ type: 'receiptBank' }).then((res) => { |
|||
if (res.code === '200') { |
|||
this.receiptBank_list = res.data |
|||
} |
|||
}) |
|||
dataDictionary({ type: 'receiptType' }).then((res) => { |
|||
if (res.code === '200') { |
|||
this.collectionType_list = res.data |
|||
} |
|||
}) |
|||
}, |
|||
// 搜索条件效果 |
|||
clicksearchShow() { |
|||
this.isSearchShow = !this.isSearchShow |
|||
if (this.isSearchShow) { |
|||
this.searchxianshitit = '隐藏查询条件' |
|||
} else { |
|||
this.searchxianshitit = '显示查询条件' |
|||
} |
|||
}, |
|||
// ----------功能打开结束-------- |
|||
// 序号 |
|||
indexMethod(index) { |
|||
var pagestart = (this.listQuery.current - 1) * this.listQuery.size |
|||
var pageindex = index + 1 + pagestart |
|||
return pageindex |
|||
}, |
|||
// 查询列表信息 |
|||
getList() { |
|||
this.listLoading = true |
|||
listPage(this.listQuery).then((response) => { |
|||
this.listLoading = false |
|||
if (response.code === '200') { |
|||
this.listQuery.total = response.data.total |
|||
this.list = response.data.records |
|||
} |
|||
}) |
|||
}, |
|||
// 查询按钮 |
|||
handleFilter() { |
|||
this.getList() |
|||
}, |
|||
handReset() { |
|||
this.listQuery = { |
|||
current: 1, |
|||
size: 10, |
|||
params: { |
|||
collectionStartDate: '', |
|||
collectionEndDate: '', |
|||
collectionBank: '', |
|||
collectionTypeKey: '', |
|||
subscriptionState: '', |
|||
useOrgSid: '', |
|||
createBySid: window.sessionStorage.getItem('staffSid') |
|||
}, |
|||
total: 0 |
|||
} |
|||
this.getList() |
|||
}, |
|||
handUpdate(row) { |
|||
this.viewState = 2 |
|||
this.$refs['divInfo'].showInfo(row, this.viewState) |
|||
}, |
|||
handLook(row) { |
|||
this.viewState = 3 |
|||
this.$refs['divInfo'].showInfo(row, this.viewState) |
|||
}, |
|||
resetState() { |
|||
this.viewState = 1 |
|||
this.handReset() |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
<style scoped> |
|||
.listtop { |
|||
display: flex; |
|||
justify-content: space-between; |
|||
align-items: center; |
|||
border: 1px solid #dfe4ed; |
|||
height: 40px; |
|||
} |
|||
.tit { |
|||
margin-bottom: -10px; |
|||
} |
|||
.pagination { |
|||
margin-bottom: -10px; |
|||
} |
|||
.line { |
|||
display: inline-block; |
|||
margin: 0px 15px; |
|||
} |
|||
.searchlist{ |
|||
margin: 10px 0; |
|||
} |
|||
</style> |
@ -0,0 +1,269 @@ |
|||
<template> |
|||
<div class="app-container"> |
|||
<div class="tab-header webtop"> |
|||
<div>{{ viewTitle }}</div> |
|||
<div> |
|||
<el-button v-show="viewState == 2" type="primary" size="small" @click="handAffirm()">确认</el-button> |
|||
<el-button v-show="viewState == 2" type="primary" size="small" @click="handReject()">驳回</el-button> |
|||
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button> |
|||
</div> |
|||
</div> |
|||
<div class="listconadd"> |
|||
<div class="wlInfo"><span>收款确认申请</span></div> |
|||
<el-form ref="form_obj" :model="formobj" :rules="rules" label-position="top" label-width="300px" class="formadd"> |
|||
<el-row> |
|||
<el-col :span="4" class="tleftb"> |
|||
<el-form-item><span>收款日期</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item> |
|||
{{ formobj.collectionDate }} |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="tleftb"> |
|||
<el-form-item><span>收款银行</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item> |
|||
{{ formobj.collectionBank }} |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="tleftb"> |
|||
<el-form-item><span>收款银行账号</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item> |
|||
{{ formobj.collectionBankNum }} |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="4" class="tleftb"> |
|||
<el-form-item><span>收款方式</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item> |
|||
{{ formobj.collectionTypeValue }} |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="tleftb"> |
|||
<el-form-item><span>付款方名称</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item> |
|||
{{ formobj.payerName }} |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="tleftb"> |
|||
<el-form-item><span>收款金额</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item> |
|||
{{ formobj.collectionMoney }} |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="4" class="tleftb"> |
|||
<el-form-item><span>备注</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="20" class="trightb"> |
|||
<el-form-item> |
|||
{{ formobj.remarks }} |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="4" class="tleftb"> |
|||
<el-form-item><span>打款凭证</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="20" class="trightb"> |
|||
<el-form-item> |
|||
<span v-for="(item, index) in list1" :key="index"> |
|||
<el-link :underline="false" :href="item.path" target="_blank">{{ item.name }}</el-link> |
|||
</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="4" class="tleftb"> |
|||
<el-form-item><span>汇款确认书</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="20" class="trightb"> |
|||
<el-form-item> |
|||
<span v-for="(item, index) in list2" :key="index"> |
|||
<el-link :underline="false" :href="item.path" target="_blank">{{ item.name }}</el-link> |
|||
</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="6" class="tleftb"> |
|||
<el-form-item><span>收款金额</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="6" class="trightb"> |
|||
<el-form-item> |
|||
{{ formobj.collectionMoney }} |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="6" class="tleftb"> |
|||
<el-form-item><span>余额</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="6" class="trightb"> |
|||
<el-form-item> |
|||
{{ formobj.balance }} |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
</el-form> |
|||
<el-table border :key="selectedreceivableKey" style="width: 100%" :data="formobj.finSelectedReceivablesDetaileds"> |
|||
<el-table-column label="合同编号" align="center"> |
|||
<template slot-scope="scope"> |
|||
{{ scope.row.contractNo }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="车架号" align="center"> |
|||
<template slot-scope="scope"> |
|||
{{ scope.row.VIN }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="客户名称" align="center"> |
|||
<template slot-scope="scope"> |
|||
{{ scope.row.customerName }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="联系电话" align="center"> |
|||
<template slot-scope="scope"> |
|||
{{ scope.row.customerPhone }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="应收项目名称" align="center"> |
|||
<template slot-scope="scope"> |
|||
{{ scope.row.receivablesName }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="当前应收金额" align="center"> |
|||
<template slot-scope="scope"> |
|||
{{ scope.row.currentReceivableMoney }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="认款金额" align="center"> |
|||
<template slot-scope="scope"> |
|||
{{ scope.row.subscriptionMoney }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="认款申请日期" align="center"> |
|||
<template slot-scope="scope"> |
|||
{{ scope.row.subscriptionDate }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="状态" align="center"> |
|||
<template slot-scope="scope"> |
|||
{{ scope.row.auditState == 1 ? '待审核' : scope.row.auditState == 2 ? '已驳回' : scope.row.auditState == 3 ? '已审核' : '其他' }} |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { fetchBySid, cashierConfirm, cashierReject } from '@/api/anruifinmanagement/paymentConfirmation.js' |
|||
|
|||
export default { |
|||
name: 'cashierConfitmationInfo', |
|||
data() { |
|||
return { |
|||
sid: '', |
|||
viewTitle: '', |
|||
viewState: '', |
|||
selectedreceivableKey: 0, |
|||
formobj: {}, |
|||
list1: [], |
|||
list2: [], |
|||
rules: {} |
|||
} |
|||
}, |
|||
methods: { |
|||
showInfo(row, viewState) { |
|||
this.viewState = viewState |
|||
this.sid = row.sid |
|||
this.viewTitle = '认款详情' |
|||
fetchBySid(row.sid).then(resp => { |
|||
if (resp.code === '200') { |
|||
this.formobj = resp.data |
|||
if (this.formobj.paymentVoucherAppendixs.length > 0) { |
|||
this.formobj.paymentVoucherAppendixs.forEach((e) => { |
|||
this.list1.push({ |
|||
name: e.fileName, |
|||
path: e.filePath |
|||
}) |
|||
}) |
|||
} |
|||
if (this.formobj.remittanceConfirmationAppendixs.length > 0) { |
|||
this.formobj.remittanceConfirmationAppendixs.forEach((e) => { |
|||
this.list2.push({ |
|||
name: e.fileName, |
|||
path: e.filePath |
|||
}) |
|||
}) |
|||
} |
|||
} |
|||
}).catch(e => { |
|||
this.formobj = row |
|||
}) |
|||
}, |
|||
handAffirm() { |
|||
cashierConfirm({ sid: this.sid }).then((res) => { |
|||
if (res.code === '200') { |
|||
this.$message({ |
|||
showClose: true, |
|||
message: '确认成功', |
|||
type: 'success' |
|||
} |
|||
) |
|||
this.handleReturn() |
|||
} |
|||
}) |
|||
}, |
|||
handReject() { |
|||
cashierReject({ sid: this.sid }).then((res) => { |
|||
if (res.code === '200') { |
|||
this.message({ |
|||
showClose: true, |
|||
message: '已驳回', |
|||
type: 'success' |
|||
} |
|||
) |
|||
} |
|||
}) |
|||
}, |
|||
handleReturn() { |
|||
this.formobj = {} |
|||
this.list1 = [] |
|||
this.list2 = [] |
|||
this.$emit('doback') |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style scoped> |
|||
.wlInfo { |
|||
padding-top: 20px; |
|||
font-size: 24px; |
|||
font-weight: bold; |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
} |
|||
.tleftb { |
|||
text-align: right; |
|||
} |
|||
.listadd { |
|||
width: 100%; |
|||
height: calc(100vh - 0px); |
|||
overflow-y: auto; |
|||
overflow-x: hidden; |
|||
} |
|||
</style> |
@ -0,0 +1,227 @@ |
|||
<template> |
|||
<div class="app-container"> |
|||
<div> |
|||
<div class="tab-header webtop"> |
|||
<div>客户账单明细</div> |
|||
<div> |
|||
<el-button type="info" size="small">导表</el-button> |
|||
<el-button type="info" size="small">关闭</el-button> |
|||
</div> |
|||
</div> |
|||
<div class="webcon"> |
|||
<div class="searchcon"> |
|||
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button> |
|||
<div v-show="isSearchShow" class="search"> |
|||
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header"> |
|||
<el-row> |
|||
<el-form-item label="客户名称:"> |
|||
<el-input v-model="listQuery.params.customerName" placeholder="" clearable class="addinputw"/> |
|||
</el-form-item> |
|||
<el-form-item label="合同编号:"> |
|||
<el-input v-model="listQuery.params.contractNo" placeholder="" clearable class="addinputw"/> |
|||
</el-form-item> |
|||
<el-form-item label="款项类型:"> |
|||
<el-select v-model="listQuery.params.paymentTypeKey" placeholder="请选择" filterable clearable> |
|||
<el-option v-for="item in paymentType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="生成时间:"> |
|||
<el-date-picker value-format="yyyy-MM-dd" v-model="listQuery.params.createStartTime" clearable style="width: 160px" type="date" placeholder="开始日期"/> |
|||
<div class="line">至</div> |
|||
<el-date-picker value-format="yyyy-MM-dd" v-model="listQuery.params.createEndTime" clearable style="width: 160px" type="date" placeholder="结束日期"/> |
|||
</el-form-item> |
|||
</el-row> |
|||
<el-row> |
|||
<el-form-item label="款项名称:"> |
|||
<el-input v-model="listQuery.params.receivablesName" placeholder="" clearable class="addinputw"/> |
|||
</el-form-item> |
|||
</el-row> |
|||
<div class="searchbtns"> |
|||
<el-button type="primary" @click="handleFilter">查询</el-button> |
|||
<el-button type="primary" @click="handReset">重置</el-button> |
|||
</div> |
|||
</el-form> |
|||
</div> |
|||
</div> |
|||
<div> |
|||
<div class="listtop"> |
|||
<div class="tit">应收款项列表</div> |
|||
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/> |
|||
</div> |
|||
<div class=""> |
|||
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%"> |
|||
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center"/> |
|||
<el-table-column label="客户名称" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.customerName }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="合同编号" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.contractNo }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="款项类型" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.paymentTypeValue }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="款项名称" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.receivablesName }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="应收金额" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.currentReceivableMoney }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="实收金额" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.subscriptionMoney }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="未收金额" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.noSubscriptionMoney }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="生成时间" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.createTime }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="备注" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.remarks }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</div> |
|||
<div class="pages"> |
|||
<!-- 翻页 --> |
|||
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { customerBillDetailedListPage, dataDictionary } from '@/api/anruifinmanagement/paymentConfirmation.js' |
|||
import Pagination from '@/components/pagination' |
|||
import pageye from '@/components/pagination/pageye' |
|||
|
|||
export default { |
|||
name: 'kehuzhangdanmingxi', |
|||
components: { |
|||
Pagination, |
|||
pageye |
|||
}, |
|||
data() { |
|||
return { |
|||
isSearchShow: false, |
|||
searchxianshitit: '隐藏查询条件', |
|||
tableKey: 0, |
|||
list: [], |
|||
paymentType_list: [], |
|||
listLoading: false, |
|||
listQuery: { |
|||
current: 1, |
|||
size: 10, |
|||
params: { |
|||
customerName: '', |
|||
contractNo: '', |
|||
paymentTypeKey: '', |
|||
receivablesName: '', |
|||
createStartTime: '', |
|||
createEndTime: '', |
|||
createBySid: window.sessionStorage.getItem('staffSid') |
|||
}, |
|||
total: 0 |
|||
} |
|||
} |
|||
}, |
|||
created() { |
|||
this.getList() |
|||
this.DataDictionary() |
|||
}, |
|||
methods: { |
|||
DataDictionary() { |
|||
dataDictionary({ type: 'spaymentType' }).then((res) => { |
|||
if (res.code === '200') { |
|||
this.paymentType_list = res.data |
|||
} |
|||
}) |
|||
}, |
|||
// 搜索条件效果 |
|||
clicksearchShow() { |
|||
this.isSearchShow = !this.isSearchShow |
|||
if (this.isSearchShow) { |
|||
this.searchxianshitit = '隐藏查询条件' |
|||
} else { |
|||
this.searchxianshitit = '显示查询条件' |
|||
} |
|||
}, |
|||
// ----------功能打开结束-------- |
|||
// 序号 |
|||
indexMethod(index) { |
|||
var pagestart = (this.listQuery.current - 1) * this.listQuery.size |
|||
var pageindex = index + 1 + pagestart |
|||
return pageindex |
|||
}, |
|||
// 查询列表信息 |
|||
getList() { |
|||
this.listLoading = true |
|||
customerBillDetailedListPage(this.listQuery).then((response) => { |
|||
this.listLoading = false |
|||
if (response.code === '200') { |
|||
this.listQuery.total = response.data.total |
|||
this.list = response.data.records |
|||
} |
|||
}) |
|||
}, |
|||
// 查询按钮 |
|||
handleFilter() { |
|||
this.getList() |
|||
}, |
|||
handReset() { |
|||
this.listQuery = { |
|||
current: 1, |
|||
size: 10, |
|||
params: { |
|||
customerName: '', |
|||
contractNo: '', |
|||
paymentTypeKey: '', |
|||
receivablesName: '', |
|||
createStartTime: '', |
|||
createEndTime: '', |
|||
createBySid: window.sessionStorage.getItem('staffSid') |
|||
}, |
|||
total: 0 |
|||
} |
|||
this.getList() |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
<style scoped> |
|||
.listtop { |
|||
display: flex; |
|||
justify-content: space-between; |
|||
align-items: center; |
|||
border: 1px solid #dfe4ed; |
|||
height: 40px; |
|||
} |
|||
.tit { |
|||
margin-bottom: -10px; |
|||
} |
|||
.pagination { |
|||
margin-bottom: -10px; |
|||
} |
|||
.line { |
|||
display: inline-block; |
|||
margin: 0px 15px; |
|||
} |
|||
</style> |
@ -0,0 +1,259 @@ |
|||
<template> |
|||
<div class="app-container"> |
|||
<div> |
|||
<div class="tab-header webtop"> |
|||
<div>客户账单汇总</div> |
|||
<div> |
|||
<el-button type="info" size="small">导表</el-button> |
|||
<el-button type="info" size="small">关闭</el-button> |
|||
</div> |
|||
</div> |
|||
<div class="webcon"> |
|||
<div class="searchcon"> |
|||
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button> |
|||
<div v-show="isSearchShow" class="search"> |
|||
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header"> |
|||
<el-row> |
|||
<el-form-item label="客户名称:"> |
|||
<el-input v-model="listQuery.params.customerName" placeholder="" clearable class="addinputw"/> |
|||
</el-form-item> |
|||
<el-form-item label="合同编号:"> |
|||
<el-input v-model="listQuery.params.contractNo" placeholder="" clearable class="addinputw"/> |
|||
</el-form-item> |
|||
<el-form-item label="款项类型:"> |
|||
<el-select v-model="listQuery.params.paymentTypeKey" placeholder="请选择" filterable clearable> |
|||
<el-option v-for="item in paymentType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="生成时间:"> |
|||
<el-date-picker value-format="yyyy-MM-dd" v-model="listQuery.params.createStartTime" clearable style="width: 160px" type="date" placeholder="开始日期"/> |
|||
<div class="line">至</div> |
|||
<el-date-picker value-format="yyyy-MM-dd" v-model="listQuery.params.createEndTime" clearable style="width: 160px" type="date" placeholder="结束日期"/> |
|||
</el-form-item> |
|||
</el-row> |
|||
<el-row> |
|||
<el-form-item label="款项名称:"> |
|||
<el-input v-model="listQuery.params.receivablesName" placeholder="" clearable class="addinputw"/> |
|||
</el-form-item> |
|||
<el-form-item label="款项状态:"> |
|||
<el-select v-model="listQuery.params.subscriptionState" placeholder="请选择" filterable clearable> |
|||
<el-option v-for="item in subscriptionState_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-row> |
|||
<div class="searchbtns"> |
|||
<el-button type="primary" @click="handleFilter">查询</el-button> |
|||
<el-button type="primary" @click="handReset">重置</el-button> |
|||
</div> |
|||
</el-form> |
|||
</div> |
|||
</div> |
|||
<div> |
|||
<div class="listtop"> |
|||
<div class="tit">应收款项列表</div> |
|||
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/> |
|||
</div> |
|||
<div class=""> |
|||
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%"> |
|||
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center"/> |
|||
<el-table-column label="客户名称" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.customerName }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="合同编号" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.contractNo }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="款项类型" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.paymentTypeValue }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="款项名称" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.receivablesName }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="款项状态" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.subscriptionState }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="应收金额" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.currentReceivableMoney }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="实收金额" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.subscriptionMoney }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="未收金额" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.noSubscriptionMoney }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="生成时间" align="center" width="200"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.createTime }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="最新处理时间" align="center" width="200"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.auditDate }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="备注" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.remarks }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</div> |
|||
<div class="pages"> |
|||
<!-- 翻页 --> |
|||
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { customerBillListPage, dataDictionary } from '@/api/anruifinmanagement/paymentConfirmation.js' |
|||
import Pagination from '@/components/pagination' |
|||
import pageye from '@/components/pagination/pageye' |
|||
|
|||
export default { |
|||
name: 'kehuzhangdanhuizong', |
|||
components: { |
|||
Pagination, |
|||
pageye, |
|||
}, |
|||
data() { |
|||
return { |
|||
isSearchShow: false, |
|||
searchxianshitit: '隐藏查询条件', |
|||
tableKey: 0, |
|||
list: [], |
|||
paymentType_list: [], |
|||
subscriptionState_list: [ |
|||
{ |
|||
dictKey: 1, |
|||
dictValue: '未认款' |
|||
}, |
|||
{ |
|||
dictKey: 2, |
|||
dictValue: '部分认款' |
|||
}, |
|||
{ |
|||
dictKey: 3, |
|||
dictValue: '已认款' |
|||
} |
|||
], |
|||
listLoading: false, |
|||
listQuery: { |
|||
current: 1, |
|||
size: 10, |
|||
params: { |
|||
customerName: '', |
|||
contractNo: '', |
|||
paymentTypeKey: '', |
|||
receivablesName: '', |
|||
createStartTime: '', |
|||
createEndTime: '', |
|||
subscriptionState: '', |
|||
createBySid: window.sessionStorage.getItem('staffSid') |
|||
}, |
|||
total: 0 |
|||
} |
|||
} |
|||
}, |
|||
created() { |
|||
this.getList() |
|||
this.DataDictionary() |
|||
}, |
|||
methods: { |
|||
DataDictionary() { |
|||
dataDictionary({ type: 'spaymentType' }).then((res) => { |
|||
if (res.code === '200') { |
|||
this.paymentType_list = res.data |
|||
} |
|||
}) |
|||
}, |
|||
// 搜索条件效果 |
|||
clicksearchShow() { |
|||
this.isSearchShow = !this.isSearchShow |
|||
if (this.isSearchShow) { |
|||
this.searchxianshitit = '隐藏查询条件' |
|||
} else { |
|||
this.searchxianshitit = '显示查询条件' |
|||
} |
|||
}, |
|||
// ----------功能打开结束-------- |
|||
// 序号 |
|||
indexMethod(index) { |
|||
var pagestart = (this.listQuery.current - 1) * this.listQuery.size |
|||
var pageindex = index + 1 + pagestart |
|||
return pageindex |
|||
}, |
|||
// 查询列表信息 |
|||
getList() { |
|||
this.listLoading = true |
|||
customerBillListPage(this.listQuery).then((response) => { |
|||
this.listLoading = false |
|||
if (response.code === '200') { |
|||
this.listQuery.total = response.data.total |
|||
this.list = response.data.records |
|||
} |
|||
}) |
|||
}, |
|||
// 查询按钮 |
|||
handleFilter() { |
|||
console.log(this.listQuery, 999) |
|||
this.getList() |
|||
}, |
|||
handReset() { |
|||
this.listQuery = { |
|||
current: 1, |
|||
size: 10, |
|||
params: { |
|||
customerName: '', |
|||
contractNo: '', |
|||
paymentTypeKey: '', |
|||
receivablesName: '', |
|||
createStartTime: '', |
|||
createEndTime: '', |
|||
subscriptionState: '', |
|||
createBySid: window.sessionStorage.getItem('staffSid') |
|||
}, |
|||
total: 0 |
|||
} |
|||
this.getList() |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
<style scoped> |
|||
.listtop { |
|||
display: flex; |
|||
justify-content: space-between; |
|||
align-items: center; |
|||
border: 1px solid #dfe4ed; |
|||
height: 40px; |
|||
} |
|||
.tit { |
|||
margin-bottom: -10px; |
|||
} |
|||
.pagination { |
|||
margin-bottom: -10px; |
|||
} |
|||
.line { |
|||
display: inline-block; |
|||
margin: 0px 15px; |
|||
} |
|||
</style> |
Loading…
Reference in new issue