소스 검색

银农:+交易结果查询、余额查询功能;+交易明细模块

rongxin_prod
yangfuda 1 년 전
부모
커밋
146b2c996b
7개의 변경된 파일524개의 추가작업 그리고 2개의 파일을 삭제
  1. +6
    -0
      src/api/onlineHome/bankAgriculture/paymentAccount.js
  2. +120
    -0
      src/api/onlineHome/bankAgriculture/recordDetail.js
  3. +27
    -0
      src/router/index.js
  4. +19
    -1
      src/views/yinnong/bankAgriculture/paymentAccount/paymentAccountList.vue
  5. +1
    -1
      src/views/yinnong/bankAgriculture/paymentApproval/approvalList.vue
  6. +142
    -0
      src/views/yinnong/bankAgriculture/recordDetail/recordDetailDetail.vue
  7. +209
    -0
      src/views/yinnong/bankAgriculture/recordDetail/recordDetailList.vue

+ 6
- 0
src/api/onlineHome/bankAgriculture/paymentAccount.js 파일 보기

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


+ 120
- 0
src/api/onlineHome/bankAgriculture/recordDetail.js 파일 보기

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

+ 27
- 0
src/router/index.js 파일 보기

@@ -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)
},

//<--------------------------------------农业大托管-------------------------------------->
{


+ 19
- 1
src/views/yinnong/bankAgriculture/paymentAccount/paymentAccountList.vue 파일 보기

@@ -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
});
}
},
}


+ 1
- 1
src/views/yinnong/bankAgriculture/paymentApproval/approvalList.vue 파일 보기

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


+ 142
- 0
src/views/yinnong/bankAgriculture/recordDetail/recordDetailDetail.vue 파일 보기

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

+ 209
- 0
src/views/yinnong/bankAgriculture/recordDetail/recordDetailList.vue 파일 보기

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

불러오는 중...
취소
저장