| @@ -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> | |||