@@ -66,6 +66,12 @@ export function delAccount(id) { | |||
method: 'get' | |||
}) | |||
} | |||
export function balanceEnquiry(id) { | |||
return request({ | |||
url: '/yinnong/transfer/balanceEnquiry/' + id, | |||
method: 'get' | |||
}) | |||
} | |||
// 查询管控类型为中心账套时中心账套列表 | |||
export function getCentralBooks(query) { | |||
@@ -0,0 +1,120 @@ | |||
import request from '@/utils/request' | |||
// 查询交易明细数据列表 | |||
export function listRecordDetail(query) { | |||
return request({ | |||
url: '/yinnong/recordDetail/list', | |||
method: 'get', | |||
params: query | |||
}) | |||
} | |||
// 中心账套入账查询交易明细数据列表 | |||
export function listByVoucher(query) { | |||
return request({ | |||
url: '/yinnong/recordDetail/listByVoucher', | |||
method: 'get', | |||
params: query | |||
}) | |||
} | |||
// 导出中心账套交易明细数据 | |||
export function exportCoreRecordDetail(query) { | |||
return request({ | |||
url: '/yinnong/recordDetail/voucherExport', | |||
method: 'get', | |||
params: query | |||
}) | |||
} | |||
// 导出交易明细数据 | |||
export function exportRecordDetail(query) { | |||
return request({ | |||
url: '/yinnong/recordDetail/export', | |||
method: 'get', | |||
params: query | |||
}) | |||
} | |||
// 查询交易明细数据详细 | |||
export function getRecordDetail(id) { | |||
return request({ | |||
url: '/yinnong/recordDetail/get/' + id, | |||
method: 'get' | |||
}) | |||
} | |||
// 下载电子回单 | |||
export function getDianzihuidan(id) { | |||
return request({ | |||
url: '/yinnong/recordDetail/getDianzihuidan/' + id, | |||
method: 'get' | |||
}) | |||
} | |||
// 新增交易明细数据 | |||
export function addRecordDetail(data) { | |||
return request({ | |||
url: '/yinnong/recordDetail/add', | |||
method: 'post', | |||
data: data | |||
}) | |||
} | |||
// 修改交易明细数据 | |||
export function updateRecordDetail(data) { | |||
return request({ | |||
url: '/yinnong/recordDetail/edit', | |||
method: 'post', | |||
data: data | |||
}) | |||
} | |||
// 删除交易明细数据 | |||
export function delRecordDetail(id) { | |||
return request({ | |||
url: '/yinnong/recordDetail/remove/' + id, | |||
method: 'get' | |||
}) | |||
} | |||
// 查询常规对账列表 | |||
export function getReconciliation(query) { | |||
return request({ | |||
url: '/yinnong/recordDetail/getReconciliation', | |||
method: 'get', | |||
params: query | |||
}) | |||
} | |||
// 查询备付金对账列表 | |||
export function getCashReconciliation(query) { | |||
return request({ | |||
url: '/yinnong/recordDetail/getCashReconciliation', | |||
method: 'get', | |||
params: query | |||
}) | |||
} | |||
// 查询非平台支付列表 | |||
export function getNonPlatformPay(query) { | |||
return request({ | |||
url: '/yinnong/recordDetail/getNonPlatformPay', | |||
method: 'get', | |||
params: query | |||
}) | |||
} | |||
// 查询所有数据 | |||
export function getAllList(query) { | |||
return request({ | |||
url: '/yinnong/recordDetail/getAllList', | |||
method: 'get', | |||
params: query | |||
}) | |||
} | |||
// 导出非平台支付数据 | |||
export function exportNonPlatformPay(query) { | |||
return request({ | |||
url: '/yinnong/recordDetail/exportNonPlatformPay', | |||
method: 'get', | |||
params: query | |||
}) | |||
} |
@@ -2485,6 +2485,15 @@ export const constantRoutes = [ | |||
}, | |||
component: (resolve) => require(['@/views/yinnong/bankAgriculture/paymentAccount/paymentAccountDetail'], resolve) | |||
}, | |||
{ | |||
path: '/yinnong/recordDetailDetail', | |||
name: 'recordDetailDetail', | |||
meta: { | |||
title: '查看交易明细详情', | |||
hidden: true, | |||
}, | |||
component: (resolve) => require(['@/views/yinnong/bankAgriculture/recordDetail/recordDetailDetail'], resolve) | |||
}, | |||
{ | |||
path: '/yinnong/villagePortrait', | |||
name: 'yinnongvillagePortrait', | |||
@@ -2530,6 +2539,15 @@ export const constantRoutes = [ | |||
}, | |||
component: (resolve) => require(['@/views/yinnong/bankAgriculture/bankOfDeposit/bankOfDepositModify'], resolve) | |||
}, | |||
{ | |||
path: '/yinnong/recordDetailList', | |||
name: 'yinnongRecordDetailList', | |||
meta: { | |||
title: '交易明细', | |||
hidden: true, | |||
}, | |||
component: (resolve) => require(['@/views/yinnong/bankAgriculture/recordDetail/recordDetailList'], resolve) | |||
}, | |||
{ | |||
path: '/yinnong/listBalanceRanking', | |||
@@ -5187,6 +5205,15 @@ export const constantRoutes = [ | |||
}, | |||
component: (resolve) => require(['@/views/sunVillage_info/bankAgriculture/bankOfDeposit/bankOfDepositModify'], resolve) | |||
}, | |||
{ | |||
path: '/sunVillage_info/recordDetailList', | |||
name: 'sunVillageRecordDetailList', | |||
meta: { | |||
title: '交易明细', | |||
hidden: true, | |||
}, | |||
component: (resolve) => require(['@/views/yinnong/bankAgriculture/recordDetail/recordDetailList'], resolve) | |||
}, | |||
//<--------------------------------------农业大托管--------------------------------------> | |||
{ | |||
@@ -40,6 +40,9 @@ | |||
</van-cell> | |||
<template #right> | |||
<van-row> | |||
<van-col> | |||
<van-button v-if="item.accountType=='银行存款' && item.status != '是'" square text="余额查询" color="#FFA63E" type="info" @click="balanceEnquiry(item.id)" class="delete-button" /> | |||
</van-col> | |||
<van-col> | |||
<van-button square text="修改" type="info" :to="{name:'paymentAccountModify', query: {id:item.id}}" class="delete-button" /> | |||
</van-col> | |||
@@ -54,7 +57,7 @@ | |||
</template> | |||
<script> | |||
import { getList , delAccount } from "@/api/onlineHome/bankAgriculture/paymentAccount"; | |||
import { getList , delAccount , balanceEnquiry } from "@/api/onlineHome/bankAgriculture/paymentAccount"; | |||
export default { | |||
name: "paymentAccountList", | |||
data() { | |||
@@ -131,6 +134,21 @@ export default { | |||
.catch(() => { | |||
// on cancel | |||
}); | |||
}, | |||
balanceEnquiry(id){ | |||
this.$dialog.confirm({ | |||
message: '您确认查询账户余额?', | |||
}) | |||
.then(() => { | |||
balanceEnquiry(id).then(res => { | |||
if(res.code = 200){ | |||
this.$toast.success('余额查询成功'); | |||
} | |||
}); | |||
}) | |||
.catch(() => { | |||
// on cancel | |||
}); | |||
} | |||
}, | |||
} | |||
@@ -52,7 +52,7 @@ | |||
<van-button v-if="item.auditStatus=='待审'" square text="撤回" type="danger" @click="cancelApply(item)" class="delete-button" /> | |||
</van-col> | |||
<van-col> | |||
<van-button v-if="item.paymentState === '银行受理'" square text="核实结果" type="danger" @click="transactionStatusQuery(item.id)" class="delete-button" /> | |||
<van-button v-if="item.paymentState === '银行受理'" square text="核实结果" color="#FFA63E" type="info" @click="transactionStatusQuery(item.id)" class="delete-button" /> | |||
</van-col> | |||
<van-col> | |||
<van-button v-if="(item.paymentState === '支付失败' || item.paymentState === '部分失败') && item.downId == null" square text="重新申请" type="danger" @click="reapply(item.id)" class="delete-button" /> | |||
@@ -0,0 +1,142 @@ | |||
<template> | |||
<div class="app-container"> | |||
<van-nav-bar | |||
left-arrow | |||
fixed | |||
placeholder | |||
@click-left="$router.back(-1)" | |||
> | |||
<template #title> | |||
<p style="font-weight: bold;">查看交易明细信息</p> | |||
</template> | |||
</van-nav-bar> | |||
<div class="main_box" v-if="form"> | |||
<van-field readonly label="流水号" v-model="form.vchnum" input-align="right" label-width="auto"/> | |||
<van-field readonly label="交易时间" v-model="form.txndate" input-align="right" label-width="auto"/> | |||
<van-field label="来往账标识"> | |||
<template #right-icon> | |||
{{form.direction == '1' ? '来账/汇入':'往账/汇出'}} | |||
</template> | |||
</van-field> | |||
<van-field readonly label="我方账户" v-model="form.actacn" input-align="right" label-width="auto"/> | |||
<van-field readonly label="对方账号" v-model="form.payeeActacn" input-align="right" label-width="auto"/> | |||
<van-field readonly label="对方人" v-model="form.payeeToname" input-align="right" label-width="auto"/> | |||
<van-field readonly label="开户银行" v-model="form.payeeTobank" input-align="right" label-width="auto"/> | |||
<van-field readonly label="对方行号" v-model="form.payeeToibkn" input-align="right" label-width="auto"/> | |||
<van-field readonly label="金额" v-model="form.txnamt" input-align="right" label-width="auto"/> | |||
<van-field readonly label="交易后余额" v-model="form.acctbal" input-align="right" label-width="auto"/> | |||
<van-field readonly label="用途" v-model="form.useinfo" input-align="right" label-width="auto"/> | |||
<van-field readonly label="附言" v-model="form.furinfo" input-align="right" label-width="auto"/> | |||
<van-field readonly label="整合信息" v-model="form.interinfo" input-align="right" label-width="auto"/> | |||
<van-field readonly label="渠道标识" v-model="form.channelflg" input-align="right" label-width="auto"/> | |||
<van-field readonly label="记录标识号" v-model="form.transid" input-align="right" label-width="auto"/> | |||
<van-field readonly label="客户业务编号" v-model="form.insid" input-align="right" label-width="auto"/> | |||
<van-field readonly label="交易状态码" v-model="form.rsRspcod" input-align="right" label-width="auto"/> | |||
<van-field readonly label="交易状态内容" v-model="form.rsRspmsg" input-align="right" label-width="auto"/> | |||
<van-field readonly label="对方行业务编号" v-model="form.payeeTobref" input-align="right" label-width="auto"/> | |||
<van-field readonly label="被代理行号" v-model="form.mactibkn" input-align="right" label-width="auto"/> | |||
<van-field readonly label="被代理账号" v-model="form.mactacn" input-align="right" label-width="auto"/> | |||
<van-field readonly label="被代理账户名" v-model="form.mactname" input-align="right" label-width="auto"/> | |||
<van-field readonly label="被代理账户开户银行" v-model="form.mactbank" input-align="right" label-width="auto"/> | |||
<van-field readonly label="可用余额" v-model="form.avlbal" input-align="right" label-width="auto"/> | |||
<van-field readonly label="冻结金额" v-model="form.frzamt" input-align="right" label-width="auto"/> | |||
<van-field readonly label="透支额度" v-model="form.overdramt" input-align="right" label-width="auto"/> | |||
<van-field readonly label="可用透支额度" v-model="form.avloverdramt" input-align="right" label-width="auto"/> | |||
<van-field readonly label="业务类型" v-model="form.transtype" input-align="right" label-width="auto"/> | |||
<van-field readonly label="新业务类型" v-model="form.bustype" input-align="right" label-width="auto"/> | |||
<van-field readonly label="货币名称" v-model="form.trncur" input-align="right" label-width="auto"/> | |||
<van-field readonly label="费用账户" v-model="form.feeact" input-align="right" label-width="auto"/> | |||
<van-field readonly label="费用金额" v-model="form.feeamt" input-align="right" label-width="auto"/> | |||
<van-field readonly label="费用货币" v-model="form.feecur" input-align="right" label-width="auto"/> | |||
<van-field readonly label="起息日期" v-model="form.valdat" input-align="right" label-width="auto"/> | |||
<van-field readonly label="凭证类型" v-model="form.vouchtp" input-align="right" label-width="auto"/> | |||
<van-field readonly label="凭证号码" v-model="form.vouchnum" input-align="right" label-width="auto"/> | |||
<van-field readonly label="汇率" v-model="form.fxrate" input-align="right" label-width="auto"/> | |||
<van-field readonly label="商户号" v-model="form.commnum" input-align="right" label-width="auto"/> | |||
</div> | |||
</div> | |||
</template> | |||
<script> | |||
import { getRecordDetail} from "@/api/onlineHome/bankAgriculture/recordDetail"; | |||
export default { | |||
name: "paymentAccountDetail", | |||
data() { | |||
return { | |||
showAccountType:false, | |||
showSubjectId:false, | |||
minDate: new Date(), | |||
maxDate: new Date(2025, 10, 1), | |||
currentDate: new Date(), | |||
jgList:{}, | |||
accountType:'', | |||
bankType:'', | |||
villageAccountType:'', | |||
taccountId:'', | |||
accountNo:'', | |||
managementControlType:'', | |||
centralBookId:'', | |||
centralSubjectId:'', | |||
bankAccountType:'', | |||
alternateField1:'', | |||
alternateField2:'', | |||
alternateField3:'', | |||
subjectValue:'', | |||
wfydlx:'', | |||
wfydlxDictionaries:[], | |||
jglxDictionaries:[], | |||
subjectDictionaries:[], | |||
typeDictionaries:[], | |||
subjectDeatil:[], | |||
form:{} | |||
}; | |||
}, | |||
created() { | |||
this.getDetail(); | |||
}, | |||
methods: { | |||
getDetail(){ | |||
getRecordDetail(this.$route.query.id).then((response) => { | |||
this.form = response.data; | |||
}); | |||
}, | |||
}, | |||
} | |||
</script> | |||
<style scoped lang="scss"> | |||
.app-container { | |||
padding: 2% 0; | |||
} | |||
.main_title{ | |||
font-size: 0.4rem; | |||
color: #1D6FE9; | |||
margin: 0.2rem 6%; | |||
margin-top: 0; | |||
position: relative; | |||
} | |||
.main_box{ | |||
width: 96%; | |||
margin: 0 auto; | |||
border-radius: 6px; | |||
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||
overflow: hidden; | |||
background-color: #FFF; | |||
} | |||
.submitButton{ | |||
width: 80%; | |||
margin: 0 auto; | |||
background-color: #1D6FE9; | |||
} | |||
.addFamily{ | |||
position: absolute; | |||
top: -2px; | |||
right: 0; | |||
border-radius: 50%; | |||
} | |||
</style> |
@@ -0,0 +1,209 @@ | |||
<template> | |||
<div class="app-container"> | |||
<van-nav-bar | |||
left-arrow | |||
fixed | |||
placeholder | |||
@click-left="$router.back(-1)" | |||
> | |||
<template #title> | |||
<p style="font-weight: bold;">银农交易明细列表</p> | |||
</template> | |||
</van-nav-bar> | |||
<div class="main_box"> | |||
<!-- <van-field label="付款方" v-model="form.payer" placeholder="请输入付款方" input-align="right" label-width="auto"/>--> | |||
<van-field | |||
readonly | |||
clickable | |||
label="付款方" | |||
placeholder="请选择付款方" | |||
v-model="payer" | |||
@click="showpayer = true" | |||
input-align="right" | |||
right-icon="arrow-down" | |||
label-width="auto" | |||
required | |||
:rules="[{ required: true , message:'请选择付款方' }]" | |||
/> | |||
<van-popup v-model="showpayer" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="payerOptions" | |||
@confirm="onConfirmPayer($event)" | |||
@cancel="showpayer = false" | |||
/> | |||
</van-popup> | |||
</div> | |||
<van-list | |||
v-model="loading" | |||
:finished="finished" | |||
finished-text="没有更多了" | |||
@load="getList" | |||
> | |||
<van-swipe-cell v-for="(item,index) in applicationList" :key="index"> | |||
<van-cell :title="item.txnamt" center :to="{name:'recordDetailDetail', query: {id:item.id}}"> | |||
<template #icon> | |||
<van-icon v-if="item.direction=='1'" name="../../../../../static/images/onlineHome/icon_yn9.png" size="30" color="#539FFD" style="margin-right: 10px;" /> | |||
<van-icon v-if="item.direction=='2'" name="../../../../../static/images/onlineHome/icon_yn10.png" size="30" color="#539FFD" style="margin-right: 10px;" /> | |||
</template> | |||
<template #label> | |||
<p style="font-size: 12px;font-weight: normal;color: #878787;display: flex;justify-content: space-between;"> | |||
<span style="width: 100%;text-align:left;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;word-break: | |||
break-all;overflow: hidden;">{{item.payeeToname}}</span> | |||
</p> | |||
</template> | |||
<template #default> | |||
<p style="display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;word-break: break-all;overflow: hidden;">{{item.actacn}}</p> | |||
<p style="font-size: 12px;font-weight: normal;color: #878787;display: flex;justify-content: space-between;"> | |||
<span style="width: 100%;text-align:right;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;word-break: | |||
break-all;overflow: hidden;">{{item.payeeActacn}}</span> | |||
</p> | |||
</template> | |||
</van-cell> | |||
</van-swipe-cell> | |||
</van-list> | |||
</div> | |||
</template> | |||
<script> | |||
import { listRecordDetail, getRecordDetail,getDianzihuidan} from "@/api/onlineHome/bankAgriculture/recordDetail"; | |||
import { getAccount} from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
export default { | |||
name: "recordDetailList", | |||
data() { | |||
return { | |||
applicationList:[], | |||
houseApplyStatus:[], | |||
payerOptions:[], | |||
// 账户类型 字典字典 | |||
accountTypeOptions: [], | |||
// 是否停用 字典 sys_yes_no字典 | |||
statusOptions: [], | |||
// 查询类型字典 | |||
selectTypeOptions: [], | |||
// 来往账标识字典 | |||
directionOptions: [], | |||
loading: false, | |||
finished: false, | |||
showpayer:false, | |||
payer:"", | |||
queryParams:{ | |||
pageNum: 1, | |||
pageSize: 10, | |||
actacn: null, | |||
}, | |||
statusColor:'#1D6FE9' | |||
}; | |||
}, | |||
created() { | |||
this.getAccountList(); | |||
this.getList(); | |||
}, | |||
methods: { | |||
getList(){ | |||
// if(this.queryParams.actacn ==null && this.payerOptions != null && this.payerOptions != [] && this.payerOptions.length>0){ | |||
// this.queryParams.actacn = this.payerOptions[0].bankAccountNumber; | |||
// this.payer = this.payerOptions[0].accountName; | |||
// } | |||
listRecordDetail(this.queryParams).then(response => { | |||
for (var i = 0; i < response.rows.length; i++) { | |||
this.applicationList.push(response.rows[i]); | |||
} | |||
if(this.applicationList != null && this.applicationList != [] && this.applicationList.length>0){ | |||
if(this.applicationList.length >= response.total){ | |||
this.finished = true; | |||
return; | |||
}else{ | |||
this.loading = false; | |||
this.queryParams.pageNum += 1 ; | |||
} | |||
} | |||
}); | |||
}, | |||
getAccountList(){ | |||
let params1={ | |||
accountType: "102", | |||
status: "N", | |||
} | |||
getAccount(params1).then((response) => { | |||
this.payerOptions = response.rows; | |||
response.rows.map((res,index) => { | |||
this.payerOptions[index].text = res.accountName; | |||
this.payerOptions[index].value = res.bankAccountNumber; | |||
}) | |||
}); | |||
}, | |||
onConfirmPayer(data){ | |||
this.showpayer = false; | |||
this.payer = data.text; | |||
this.selectChange(data.value) | |||
}, | |||
selectChange(select) { | |||
this.applicationList = []; | |||
this.queryParams.actacn = select; | |||
listRecordDetail(this.queryParams).then(response => { | |||
for (var i = 0; i < response.rows.length; i++) { | |||
this.applicationList.push(response.rows[i]); | |||
} | |||
if(this.applicationList != null && this.applicationList != [] && this.applicationList.length>0){ | |||
if(this.applicationList.length >= response.total){ | |||
this.finished = true; | |||
return; | |||
}else{ | |||
this.loading = false; | |||
this.queryParams.pageNum += 1 ; | |||
} | |||
} | |||
}); | |||
} | |||
}, | |||
} | |||
</script> | |||
<style scoped lang="scss"> | |||
.app-container { | |||
padding: 0.2rem 3%; | |||
} | |||
/deep/.van-cell__title{ | |||
flex: 0.4; | |||
} | |||
/deep/.van-cell__title span{ | |||
font-family: Arial; | |||
font-size: 0.4rem; | |||
font-weight: normal; | |||
} | |||
/deep/.van-cell__label span{ | |||
color: #1D6FE9; | |||
font-weight: bold; | |||
i{ | |||
font-size: 0.2rem; | |||
} | |||
} | |||
.van-cell__label{ | |||
font-size: 14Px; | |||
font-weight: bold; | |||
} | |||
/deep/.van-cell__value{ | |||
flex: 0.6; | |||
color: #333333; | |||
} | |||
/deep/.van-swipe-cell{ | |||
margin-bottom: 0.2rem; | |||
border-radius: 0.2rem; | |||
overflow: hidden; | |||
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||
} | |||
/deep/van-ellipsis{ | |||
font-weight: bold; | |||
} | |||
.van-row{ | |||
height: 100%; | |||
} | |||
.van-col{ | |||
height: 100%; | |||
} | |||
.delete-button { | |||
height: 100%; | |||
} | |||
</style> |