feat(financial): 充值明细添加隶属体系字段

This commit is contained in:
woody 2025-05-12 11:17:01 +08:00
parent 81ea1d6da5
commit 45f84b7762
9 changed files with 1691 additions and 1586 deletions

View File

@ -2,35 +2,32 @@
<div class="page">
<topBar
v-if="topList.length > 0"
:topList="topList"
:top-list="topList"
:moren="moren"
></topBar>
/>
<div class="thetopbox">
<el-form label-width="100px">
<el-row>
<el-col :span="8">
<el-form-item :label="'创建日期'">
<el-date-picker
@change="checkTime1"
v-model="queryParams.times1"
type="daterange"
range-separator="——"
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
value-format="yyyy-MM-dd"
>
</el-date-picker>
@change="checkTime1"
/>
</el-form-item>
</el-col>
<el-col :span="4">
<div class="searchbox">
<el-button class="my_search" @click="getSearch">
{{ '搜索' }}</el-button
>
{{ '搜索' }}</el-button>
<el-button class="my_reset" @click="reChongzhi">
{{ '重置' }}</el-button
>
{{ '重置' }}</el-button>
</div>
</el-col>
</el-row>
@ -40,45 +37,34 @@
<div class="maintop">
<div class="mainbtn">
<el-button
v-has-buttons="['BalanceSumExport']"
size="mini"
style="background: #ffad41; border-color: #ffad41"
class="addBtn"
@click="handleExport"
v-has-buttons="['BalanceSumExport']"
>{{ '导出' }}</el-button
>
>{{ '导出' }}</el-button>
</div>
</div>
<div class="maintable">
<el-table
:data="tableData"
:header-cell-style="{ background: '#EEEEEE' }"
@selection-change="handleSelectionChange"
height="700px"
style="width: 100%"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55"> </el-table-column>
<el-table-column align="center" prop="cover" :label="'国家'">
<template slot-scope="scope">
<div class="tem">
<img :src="scope.row.pkCountryIcon" alt="" />
<div>{{ scope.row.pkCountryName }}</div>
</div>
</template>
</el-table-column>
<el-table-column type="selection" width="55" />
<el-table-column
min-width="100px"
align="center"
prop="createTime"
:label="'日期'"
>
</el-table-column>
/>
<el-table-column
v-if="showData.account1"
align="center"
prop="account1"
v-if="showData.account1"
min-width="100px"
:label="'消费账户余额' + `(${isLocalSymbol()})`"
>
@ -87,9 +73,9 @@
</template>
</el-table-column>
<el-table-column
v-if="showData.account2"
align="center"
prop="account2"
v-if="showData.account2"
:label="'现金账户余额' + `(${isLocalSymbol()})`"
>
<template slot-scope="scope">
@ -97,9 +83,9 @@
</template>
</el-table-column>
<el-table-column
v-if="showData.account3"
align="center"
prop="account3"
v-if="showData.account3"
:label="'政策账户余额' + `(${isLocalSymbol()})`"
>
<template slot-scope="scope">
@ -107,10 +93,10 @@
</template>
</el-table-column>
<el-table-column
v-if="showData.account4"
align="center"
prop="account4"
:label="'奖金账户余额' + `(${isLocalSymbol()})`"
v-if="showData.account4"
>
<template slot-scope="scope">
{{ scope.row.account4 | numberToCurrency }}
@ -118,10 +104,10 @@
</el-table-column>
<el-table-column
v-if="showData.account5"
align="center"
prop="account5"
:label="'重消账户余额' + `(${isLocalSymbol()})`"
v-if="showData.account5"
>
<template slot-scope="scope">
{{ scope.row.account5 | numberToCurrency }}
@ -138,9 +124,9 @@
</template>
</el-table-column>
<el-table-column
v-if="showData.account7"
align="center"
prop="account7"
v-if="showData.account7"
:label="'鼓励账户余额' + `(${isLocalSymbol()})`"
>
<template slot-scope="scope">
@ -158,149 +144,149 @@
</template>
</el-table-column>
<el-table-column
align="center"
v-if="showData.account9"
align="center"
prop="account9"
:label="'全球积分余额' + `(${isLocalSymbol()})`"
><template slot-scope="scope">
{{ scope.row.account9 | numberToCurrency }}
</template>
><template slot-scope="scope">
{{ scope.row.account9 | numberToCurrency }}
</template>
</el-table-column>
<el-table-column
v-if="showData.account10"
align="center"
prop="account10"
v-if="showData.account10"
:label="'车奖积分余额' + `(${isLocalSymbol()})`"
><template slot-scope="scope">
{{ scope.row.account10 | numberToCurrency }}
</template>
><template slot-scope="scope">
{{ scope.row.account10 | numberToCurrency }}
</template>
</el-table-column>
<el-table-column
v-if="showData.account11"
align="center"
prop="account11"
v-if="showData.account11"
:label="'直播代金券余额' + `(${isLocalSymbol()})`"
><template slot-scope="scope">
{{ scope.row.account11 | numberToCurrency }}
</template>
><template slot-scope="scope">
{{ scope.row.account11 | numberToCurrency }}
</template>
</el-table-column>
<el-table-column
v-if="showData.account12"
align="center"
prop="account12"
v-if="showData.account12"
:label="'乐学代金券余额' + `(${isLocalSymbol()})`"
><template slot-scope="scope">
{{ scope.row.account12 | numberToCurrency }}
</template>
><template slot-scope="scope">
{{ scope.row.account12 | numberToCurrency }}
</template>
</el-table-column>
<el-table-column
v-if="showData.settleAccount1"
align="center"
prop="settleAccount1"
v-if="showData.settleAccount1"
:label="'消费账户余额' + `(${isLocals()})`"
><template slot-scope="scope">
{{ scope.row.settleAccount1 | numberToCurrency }}
</template>
><template slot-scope="scope">
{{ scope.row.settleAccount1 | numberToCurrency }}
</template>
</el-table-column>
<el-table-column
v-if="showData.settleAccount2"
align="center"
prop="settleAccount2"
v-if="showData.settleAccount2"
:label="'现金账户余额' + `(${isLocals()})`"
><template slot-scope="scope">
{{ scope.row.settleAccount2 | numberToCurrency }}
</template>
><template slot-scope="scope">
{{ scope.row.settleAccount2 | numberToCurrency }}
</template>
</el-table-column>
<el-table-column
v-if="showData.settleAccount3"
align="center"
prop="settleAccount3"
v-if="showData.settleAccount3"
:label="'政策账户余额' + `(${isLocals()})`"
><template slot-scope="scope">
{{ scope.row.settleAccount3 | numberToCurrency }}
</template>
><template slot-scope="scope">
{{ scope.row.settleAccount3 | numberToCurrency }}
</template>
</el-table-column>
<el-table-column
v-if="showData.settleAccount4"
align="center"
prop="settleAccount4"
:label="'奖金账户余额' + `(${isLocals()})`"
v-if="showData.settleAccount4"
><template slot-scope="scope">
{{ scope.row.settleAccount4 | numberToCurrency }}
</template>
><template slot-scope="scope">
{{ scope.row.settleAccount4 | numberToCurrency }}
</template>
</el-table-column>
<el-table-column
v-if="showData.settleAccount5"
align="center"
prop="settleAccount5"
:label="'重消账户余额' + `(${isLocals()})`"
v-if="showData.settleAccount5"
><template slot-scope="scope">
{{ scope.row.settleAccount5 | numberToCurrency }}
</template>
><template slot-scope="scope">
{{ scope.row.settleAccount5 | numberToCurrency }}
</template>
</el-table-column>
<el-table-column
v-if="showData.settleAccount6"
align="center"
prop="settleAccount6"
:label="'积分账户余额' + `(${isLocals()})`"
v-if="showData.settleAccount6"
><template slot-scope="scope">
{{ scope.row.settleAccount6 | numberToCurrency }}
</template>
><template slot-scope="scope">
{{ scope.row.settleAccount6 | numberToCurrency }}
</template>
</el-table-column>
<el-table-column
v-if="showData.settleAccount7"
align="center"
prop="settleAccount7"
:label="'鼓励账户余额' + `(${isLocals()})`"
v-if="showData.settleAccount7"
><template slot-scope="scope">
{{ scope.row.settleAccount7 | numberToCurrency }}
</template>
><template slot-scope="scope">
{{ scope.row.settleAccount7 | numberToCurrency }}
</template>
</el-table-column>
<el-table-column
v-if="showData.settleAccount8"
align="center"
prop="settleAccount8"
:label="'复购券余额' + `(${isLocals()})`"
v-if="showData.settleAccount8"
><template slot-scope="scope">
{{ scope.row.settleAccount8 | numberToCurrency }}
</template>
><template slot-scope="scope">
{{ scope.row.settleAccount8 | numberToCurrency }}
</template>
</el-table-column>
<el-table-column
v-if="showData.settleAccount9"
align="center"
prop="settleAccount9"
:label="'全球积分余额' + `(${isLocals()})`"
v-if="showData.settleAccount9"
><template slot-scope="scope">
{{ scope.row.settleAccount9 | numberToCurrency }}
</template>
><template slot-scope="scope">
{{ scope.row.settleAccount9 | numberToCurrency }}
</template>
</el-table-column>
<el-table-column
v-if="showData.settleAccount10"
align="center"
prop="settleAccount10"
:label="'车奖积分余额' + `(${isLocals()})`"
v-if="showData.settleAccount10"
><template slot-scope="scope">
{{ scope.row.settleAccount10 | numberToCurrency }}
</template>
><template slot-scope="scope">
{{ scope.row.settleAccount10 | numberToCurrency }}
</template>
</el-table-column>
<el-table-column
v-if="showData.settleAccount11"
align="center"
prop="settleAccount11"
:label="'直播代金券余额' + `(${isLocals()})`"
v-if="showData.settleAccount11"
><template slot-scope="scope">
{{ scope.row.settleAccount11 | numberToCurrency }}
</template>
><template slot-scope="scope">
{{ scope.row.settleAccount11 | numberToCurrency }}
</template>
</el-table-column>
<el-table-column
v-if="showData.settleAccount12"
align="center"
prop="settleAccount12"
:label="'乐学代金券余额' + `(${isLocals()})`"
v-if="showData.settleAccount12"
><template slot-scope="scope">
{{ scope.row.settleAccount12 | numberToCurrency }}
</template>
><template slot-scope="scope">
{{ scope.row.settleAccount12 | numberToCurrency }}
</template>
</el-table-column>
<el-table-column align="center" prop="time" :label="'操作'">
<template slot-scope="scope">
@ -334,120 +320,120 @@
/>
</div>
</template>
<script>
import topBar from "@/components/topBar";
import { isLocals, isLocalSymbol } from "@/utils/numberToCurrency";
import * as fin from "@/api/financial.js";
import { mapGetters } from "vuex";
<script>
import topBar from '@/components/topBar'
import { isLocals, isLocalSymbol } from '@/utils/numberToCurrency'
import * as fin from '@/api/financial.js'
import { mapGetters } from 'vuex'
export default {
name: "BalanceSummary",
name: 'BalanceSummary',
components: {
topBar,
topBar
},
data() {
return {
moren: "balanceSummary",
moren: 'balanceSummary',
topList: [
{
name: '余额汇总',
path: "balanceSummary",
},
path: 'balanceSummary'
}
],
tableData: [],
queryParams: {
pageNum: 1,
pageSize: 50,
pageSize: 50
},
total: 0,
multipleSelection: [],
showData: {},
};
showData: {}
}
},
computed: {
...mapGetters(["getUser"]),
...mapGetters(['getUser'])
},
created() {
this.getOthers();
this.getSearch();
this.getOthers()
this.getSearch()
},
methods: {
isLocals,
isLocalSymbol,
goDetail(row) {
this.$router.push({
path: "detailSummary",
path: 'detailSummary',
query: {
createTime: row.createTime,
},
});
createTime: row.createTime
}
})
},
getOthers() {
fin.getBalanceSummaryField().then((res) => {
const obj = {};
const obj = {}
res.data.forEach((ele) => {
obj[ele] = true;
});
this.showData = obj;
});
obj[ele] = true
})
this.showData = obj
})
},
//
//
handleExport() {
this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: "warning",
type: 'warning'
}).then((_) => {
this.download(
"/member/manager/account-detail/export",
'/member/manager/account-detail/export',
{ ...this.queryParams },
`余额汇总-${new Date().getTime()}.xlsx`
);
});
)
})
},
exportRow(row) {
this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: "warning",
type: 'warning'
}).then((_) => {
this.download(
"/member/manager/account-detail/export",
'/member/manager/account-detail/export',
{ ...row },
`余额汇总详情-${new Date().getTime()}.xlsx`
);
});
)
})
},
checkTime1(val) {
this.queryParams.startDate = val[0];
this.queryParams.endDate = val[1];
this.queryParams.startDate = val[0]
this.queryParams.endDate = val[1]
},
handleSelectionChange(val) {
this.multipleSelection = val;
this.queryParams.createTimes = val.map((item) => item.createTime);
this.multipleSelection = val
this.queryParams.createTimes = val.map((item) => item.createTime)
},
reChongzhi() {
this.queryParams = {
pageNum: 1,
pageSize: 50,
type: 1,
};
this.getSearch();
type: 1
}
this.getSearch()
},
getSearch() {
fin.getBalanceSummaryList(this.queryParams).then((res) => {
res.rows.forEach((item) => {
item.pkCountryName = this.getUser.country.shortName;
item.pkCountryIcon = this.getUser.country.nationalFlag2;
});
this.tableData = res.rows;
this.total = res.total;
});
},
},
};
item.pkCountryName = this.getUser.country.shortName
item.pkCountryIcon = this.getUser.country.nationalFlag2
})
this.tableData = res.rows
this.total = res.total
})
}
}
}
</script>
<style lang="scss" scoped>
::v-deep .el-table--scrollable-x .el-table__body-wrapper {
height: 600px !important;
@ -503,4 +489,3 @@ export default {
}
}
</style>

File diff suppressed because it is too large Load Diff

View File

@ -122,22 +122,7 @@
type="selection"
width="55"
/>
<el-table-column
v-if="dataList[0].key"
align="center"
prop="title"
:label="'国家'"
>
<template slot-scope="scope">
<div class="tem">
<img
:src="scope.row.nationalFlag2"
alt=""
>
<!-- <div>{{ scope.row.pkCountryName }}</div> -->
</div>
</template>
</el-table-column>
<el-table-column
v-if="dataList[1].key"
align="center"

View File

@ -6,172 +6,204 @@
-->
<template>
<div class="page">
<topBar v-if="topList.length > 0"
:topList="topList"
:moren="moren"></topBar>
<topBar
v-if="topList.length > 0"
:top-list="topList"
:moren="moren"
/>
<div class="main">
<el-form ref="select"
:model="select"
style="background-color: #fff"
label-width="100px">
<el-form
ref="select"
:model="select"
style="background-color: #fff"
label-width="100px"
>
<el-row>
<!-- 一层 -->
<el-col :span="4">
<el-form-item :label="'会员编号'">
<el-input clearable
v-model="select.memberCode"></el-input>
<el-input
v-model="select.memberCode"
clearable
/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'会员姓名'">
<el-input clearable
v-model="select.memberName"></el-input>
<el-input
v-model="select.memberName"
clearable
/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'交易金额'">
<el-input clearable
v-model="select.businessMoney"></el-input>
<el-input
v-model="select.businessMoney"
clearable
/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'交易类型'">
<el-select clearable
:placeholder="'请选择'"
v-model="select.businessType">
<el-option v-for="item in tradeTypeList"
:key="item.value"
:label="item.label"
:value="item.value"></el-option>
<el-select
v-model="select.businessType"
clearable
:placeholder="'请选择'"
>
<el-option
v-for="item in tradeTypeList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'支付渠道'">
<el-select clearable
:placeholder="'请选择'"
v-model="select.payChannel">
<el-option v-for="item in channelList"
:key="item.value"
:label="item.label"
:value="item.value"></el-option>
<el-select
v-model="select.payChannel"
clearable
:placeholder="'请选择'"
>
<el-option
v-for="item in channelList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'支付方式'">
<el-select clearable
:placeholder="'请选择'"
v-model="select.payType">
<el-option v-for="item in peyTypeList"
:key="item.value"
:label="item.label"
:value="item.value"></el-option>
<el-select
v-model="select.payType"
clearable
:placeholder="'请选择'"
>
<el-option
v-for="item in peyTypeList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'支付状态'">
<el-select clearable
:placeholder="'请选择'"
v-model="select.payStatus">
<el-option v-for="item in statusList"
:key="item.value"
:label="item.label"
:value="item.value"></el-option>
<el-select
v-model="select.payStatus"
clearable
:placeholder="'请选择'"
>
<el-option
v-for="item in statusList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'单据编号'">
<el-input clearable
v-model="select.businessCode"></el-input>
<el-input
v-model="select.businessCode"
clearable
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="'下单日期'">
<el-date-picker v-model="select.creationTime"
value-format="yyyy-MM-dd"
type="daterange"
:range-separator="'至'"
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'">
</el-date-picker>
<el-date-picker
v-model="select.creationTime"
value-format="yyyy-MM-dd"
type="daterange"
:range-separator="'至'"
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="'支付日期'">
<el-date-picker v-model="select.payTime"
@change="changeTime1"
value-format="yyyy-MM-dd"
type="daterange"
:range-separator="'至'"
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'">
</el-date-picker>
<el-date-picker
v-model="select.payTime"
value-format="yyyy-MM-dd"
type="daterange"
:range-separator="'至'"
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
@change="changeTime1"
/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-button class="my_search"
style="margin-left: 30px"
@click="getDataList"> {{ '搜索' }}</el-button>
<el-button
class="my_search"
style="margin-left: 30px"
@click="getDataList"
> {{ '搜索' }}</el-button>
<el-button class="my_reset" @click="reset"> {{ '重置' }}</el-button>
</el-col>
</el-row>
</el-form>
<div class="maintop">
<div class="mainbtn">
<el-button size="small"
@click="handleExport"
v-has-buttons="['OnlinePayDetailsExport']"
class="thebtn2"> {{ '导出' }}</el-button>
<el-button
v-has-buttons="['OnlinePayDetailsExport']"
size="small"
class="thebtn2"
@click="handleExport"
> {{ '导出' }}</el-button>
</div>
</div>
<div class="maintable">
<el-table :data="tableData"
height="640px"
style="width: 100%"
:header-cell-style="{ background: '#EEEEEE' }"
:row-class-name="tableRowClassName"
@selection-change="handleSelectionChange">
<el-table-column type="selection"
width="55"> </el-table-column>
<el-table-column align="center"
prop="title"
:label="'国家'">
<template slot-scope="scope">
<div class="tem">
<img :src="scope.row.pkCountryIcon"
alt="" />
<!-- <div>{{ scope.row.pkCountryName }}</div> -->
</div>
</template> 
</el-table-column>
<el-table-column align="center"
prop="memberCode"
:label="'会员编号'"
width="150">
</el-table-column>
<el-table-column align="center"
prop="memberName"
:label="'会员姓名'">
</el-table-column>
<el-table-column align="center"
prop="businessTypeVal"
:label="'交易类型'">
</el-table-column>
<el-table-column align="center"
prop="businessMoney"
:formatter="stateFormat"
:label="'交易金额'+`(${isLocalSymbol()})`"
width="150">
</el-table-column>
<el-table-column align="center"
prop="payMoney"
:formatter="stateFormat"
label="实际支付金额(¥)"
width="150">
</el-table-column>
<el-table
:data="tableData"
height="640px"
style="width: 100%"
:header-cell-style="{ background: '#EEEEEE' }"
:row-class-name="tableRowClassName"
@selection-change="handleSelectionChange"
>
<el-table-column
type="selection"
width="55"
/>
<el-table-column
align="center"
prop="memberCode"
:label="'会员编号'"
width="150"
/>
<el-table-column
align="center"
prop="memberName"
:label="'会员姓名'"
/>
<el-table-column
align="center"
prop="businessTypeVal"
:label="'交易类型'"
/>
<el-table-column
align="center"
prop="businessMoney"
:formatter="stateFormat"
:label="'交易金额'+`(${isLocalSymbol()})`"
width="150"
/>
<el-table-column
align="center"
prop="payMoney"
:formatter="stateFormat"
label="实际支付金额(¥)"
width="150"
/>
<!-- <el-table-column align="center"
prop="payMoney"
:formatter="stateFormat"
@ -187,42 +219,52 @@
:label="'汇率'">
</el-table-column> -->
<el-table-column align="center"
prop="payChannelVal"
:label="'支付渠道'">
</el-table-column>
<el-table-column align="center"
prop="payTypeVal"
:label="'支付方式'">
</el-table-column>
<el-table-column align="center"
prop="payStatusVal"
:label="'支付状态'">
</el-table-column>
<el-table-column align="center"
prop="creationTime"
:label="'下单日期'"
width="200">
</el-table-column>
<el-table-column align="center"
prop="payTime"
:label="'支付日期'"
width="200">
</el-table-column>
<el-table-column align="center"
prop="businessCode"
min-width="180px"
:label="'单据编号'">
</el-table-column>
<el-table-column align="center"
prop="time"
:label="'操作'"
fixed="right">
<el-table-column
align="center"
prop="payChannelVal"
:label="'支付渠道'"
/>
<el-table-column
align="center"
prop="payTypeVal"
:label="'支付方式'"
/>
<el-table-column
align="center"
prop="payStatusVal"
:label="'支付状态'"
/>
<el-table-column
align="center"
prop="creationTime"
:label="'下单日期'"
width="200"
/>
<el-table-column
align="center"
prop="payTime"
:label="'支付日期'"
width="200"
/>
<el-table-column
align="center"
prop="businessCode"
min-width="180px"
:label="'单据编号'"
/>
<el-table-column
align="center"
prop="time"
:label="'操作'"
fixed="right"
>
<template slot-scope="scope">
<el-button @click="toFixed(scope.row.pkId)"
style="color: #ffad41"
type="text"
size="small">
<el-button
style="color: #ffad41"
type="text"
size="small"
@click="toFixed(scope.row.pkId)"
>
{{ '导出' }}
</el-button>
</template>
@ -230,11 +272,13 @@
</el-table>
</div>
</div>
<pagination v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getDataList" />
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getDataList"
/>
</div>
</template>
@ -246,16 +290,16 @@ import { userCountryList } from '@/api/user'
export default {
name: 'Bzpz',
components: {
topBar,
topBar
},
filters: {
isAgree(val) {
isAgree(val) {
if (!val) {
return '允许';
return '允许'
} else {
return '禁止';
return '禁止'
}
},
}
},
data() {
return {
@ -264,7 +308,7 @@ export default {
//
queryParams: {
pageNum: 1,
pageSize: 50,
pageSize: 50
},
total: 0,
dialogVisible: false,
@ -275,26 +319,26 @@ export default {
peyTypeList: [
{
value: '1',
label: '支付宝',
label: '支付宝'
},
{
value: '2',
label: '微信',
label: '微信'
},
{
value: '3',
label: '银行卡',
},
label: '银行卡'
}
],
tradeTypeList: [],
moren: 'onlinePayDetails',
topList: [
{
name: '在线支付明细',
path: 'onlinePayDetails',
},
path: 'onlinePayDetails'
}
],
countryList: [],
countryList: []
}
},
mounted() {
@ -324,7 +368,7 @@ export default {
// this.select.startDate = val[0]
// this.select.endDate = val[1]
},
reset(){
reset() {
this.select = {}
this.getDataList()
},
@ -354,10 +398,10 @@ export default {
handleSelectionChange(val) {},
/** 导出按钮操作 */
handleExport() {
this.$confirm( '是否确认导出所有数据项?', '警告', {
this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
type: 'warning'
}).then((_) => {
this.download(
'/pay/manage/online-payment/export',
@ -373,8 +417,8 @@ export default {
return 'success-row'
}
return ''
},
},
}
}
}
</script>
<style scoped lang="scss">

View File

@ -2,51 +2,48 @@
<div class="page">
<topBar
v-if="topList.length > 0"
:topList="topList"
:top-list="topList"
:moren="moren"
></topBar>
/>
<div class="thetopbox">
<el-form ref="form" :model="queryParams" label-width="100px">
<el-row>
<el-col :span="4">
<el-form-item :label="'会员编号'" prop="teamCode">
<el-input
clearable
v-model="queryParams.memberCode"
clearable
placeholder=""
></el-input>
/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'会员姓名'" prop="teamCode">
<el-input
clearable
v-model="queryParams.memberName"
clearable
placeholder=""
></el-input>
/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'钱包类型'" prop="teamCode">
<el-select
clearable
v-model="queryParams.pkAccount"
placeholder=""
>
<el-form-item :label="'隶属体系'">
<el-select v-model="queryParams.pkVertex" clearable placeholder="">
<el-option
v-for="item in accountList"
:key="item.pkId"
:label="item.accountName"
v-for="item in vertexList"
:key="item.value"
:label="item.vertexName"
:value="item.pkId"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'交款方式'" prop="teamCode">
<el-select
clearable
v-model="queryParams.paymentMethod"
clearable
placeholder=""
>
<el-option
@ -54,15 +51,15 @@
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'审核状态'" prop="teamCode">
<el-select
clearable
v-model="queryParams.approveState"
clearable
placeholder=""
>
<el-option
@ -70,40 +67,47 @@
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'充值批次'" prop="teamCode">
<el-input
<el-form-item :label="'钱包类型'" prop="teamCode">
<el-select
v-model="queryParams.pkAccount"
clearable
v-model="queryParams.batch"
placeholder=""
></el-input>
>
<el-option
v-for="item in accountList"
:key="item.pkId"
:label="item.accountName"
:value="item.pkId"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<el-form-item :label="'操作人'" prop="teamCode">
<el-select clearable v-model="queryParams.creator" placeholder="">
<el-select v-model="queryParams.creator" clearable placeholder="">
<el-option
v-for="item in creatorList"
:key="item.pkCreator"
:label="item.memberName"
:value="item.pkCreator"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'操作备注'" prop="teamCode">
<el-input
clearable
v-model="queryParams.remarks"
clearable
placeholder=""
></el-input>
/>
</el-form-item>
</el-col>
<el-col :span="8">
@ -116,8 +120,7 @@
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
@change="changeCzsj"
>
</el-date-picker>
/>
</el-form-item>
</el-col>
<el-col :span="8">
@ -130,8 +133,7 @@
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
@change="changeShsj"
>
</el-date-picker>
/>
</el-form-item>
</el-col>
</el-row>
@ -140,193 +142,157 @@
<el-col :span="4">
<div class="searchbox">
<el-button
class="my_search"
v-has-buttons="['RechargeSearch']"
class="my_search"
@click="research()"
>
{{ '搜索' }}</el-button
>
{{ '搜索' }}</el-button>
<el-button class="my_reset" @click="reChongzhi">
{{ '重置' }}</el-button
>
{{ '重置' }}</el-button>
</div>
</el-col></el-row
>
</el-col></el-row>
</el-form>
</div>
<div class="main">
<div class="maintop">
<div class="mainbtn">
<el-button
v-has-buttons="['RechargeDetailExport']"
size="small"
class="thebtn1"
@click="handleExport"
v-has-buttons="['RechargeDetailExport']"
>
{{ '导出' }}</el-button
>
{{ '导出' }}</el-button>
</div>
</div>
<el-table
:data="tableData"
v-loading="loading"
:data="tableData"
max-height="600px"
style="width: 100%"
:header-cell-style="{ background: '#EEEEEE' }"
:row-class-name="tableRowClassName"
@selection-change="handleSelectionChange"
:span-method="objectSpanMethod"
:show-summary="true"
:summary-method="summaryMethod"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="50"></el-table-column>
<el-table-column
align="center"
prop="pkCountryName"
:label="'国家'"
v-if="dataList[0].key"
>
<template slot-scope="scope">
<div class="tem">
<img :src="scope.row.pkCountryIcon" alt="" />
<div>{{ scope.row.pkCountryName }}</div>
</div>
</template>
</el-table-column>
<el-table-column type="selection" width="50" />
<el-table-column
v-if="listColumnVisible('memberCode')"
min-width="120px"
align="center"
prop="memberCode"
:label="'会员编号'"
v-if="dataList[1].key"
>
</el-table-column>
/>
<el-table-column
v-if="listColumnVisible('memberName')"
align="center"
prop="memberName"
:label="'会员姓名'"
v-if="dataList[2].key"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="vertexName"
label="隶属体系"
min-width="120px"
/>
<el-table-column
v-if="listColumnVisible('pkAccountVal')"
align="center"
prop="pkAccountVal"
:label="'钱包类型'"
v-if="dataList[3].key"
>
</el-table-column>
min-width="120px"
/>
<el-table-column
v-if="listColumnVisible('paymentMethodVal')"
align="center"
prop="paymentMethodVal"
:label="'交款方式'"
v-if="dataList[4].key"
>
</el-table-column>
/>
<el-table-column
v-if="listColumnVisible('paymentBeforeBalance')"
align="center"
prop="paymentBeforeBalance"
:label="'充前余额' + `(${isLocalSymbol()})`"
v-if="dataList[5].key"
width="140"
:formatter="stateFormat"
>
</el-table-column>
/>
<el-table-column
v-if="listColumnVisible('paymentAmount')"
align="center"
prop="paymentAmount"
:label="'充值金额' + `(${isLocalSymbol()})`"
v-if="dataList[6].key"
width="200px"
:formatter="stateFormat"
>
</el-table-column>
/>
<el-table-column
v-if="listColumnVisible('paymentBalance')"
align="center"
prop="paymentBalance"
:label="'当前余额' + `(${isLocalSymbol()})`"
v-if="dataList[7].key"
width="140"
:formatter="stateFormat"
>
</el-table-column>
<el-table-column
align="center"
prop="settlePaymentAmount"
:label="'充值金额' + '($)'"
v-if="dataList[8].key"
min-width="200px"
:formatter="stateFormat"
>
</el-table-column>
/>
<el-table-column
v-if="listColumnVisible('exchangeRate')"
align="center"
prop="exchangeRate"
:label="'汇率'"
v-if="dataList[9].key"
>
</el-table-column>
/>
<el-table-column
v-if="listColumnVisible('rechargeCode')"
align="center"
min-width="180px"
prop="rechargeCode"
:label="'单据编号'"
v-if="dataList[10].key"
>
</el-table-column>
<el-table-column
/>
<!-- <el-table-column
v-if="dataList[11].key"
align="center"
min-width="180px"
prop="batch"
:label="'充值批次'"
v-if="dataList[11].key"
>
</el-table-column>
/> -->
<el-table-column
v-if="listColumnVisible('creator')"
align="center"
prop="creator"
:label="'操作人'"
v-if="dataList[12].key"
>
</el-table-column>
/>
<el-table-column
v-if="listColumnVisible('creationTime')"
align="center"
prop="creationTime"
:label="'充值日期'"
v-if="dataList[13].key"
width="200"
>
</el-table-column>
/>
<el-table-column
v-if="listColumnVisible('remarks')"
align="center"
prop="remarks"
:label="'操作备注'"
v-if="dataList[14].key"
>
</el-table-column>
/>
<el-table-column
v-if="listColumnVisible('approverName')"
align="center"
prop="approverName"
:label="'审核人'"
v-if="dataList[15].key"
>
</el-table-column>
/>
<el-table-column
v-if="listColumnVisible('approveTime')"
align="center"
prop="approveTime"
:label="'审核日期'"
v-if="dataList[16].key"
width="200"
>
</el-table-column>
/>
<el-table-column
v-if="listColumnVisible('approveStateVal')"
align="center"
prop="approveStateVal"
:label="'审核状态'"
v-if="dataList[17].key"
>
</el-table-column>
/>
</el-table>
</div>
@ -340,191 +306,200 @@
</div>
</template>
<script>
import topBar from "@/components/topBar";
import { userCountryList } from "@/api/user";
import { isLocalSymbol } from "@/utils/numberToCurrency";
<script>
import topBar from '@/components/topBar'
import { userCountryList } from '@/api/user'
import { isLocalSymbol } from '@/utils/numberToCurrency'
import {
getenumsAccount,
getpaymentType,
getApproveStatus,
getrechageList,
getCreatorList,
} from "@/api/financial";
import { mapGetters } from "vuex";
import { stateFormat, numberToCurrencyNo } from "@/utils/numberToCurrency";
import { getRoleMenu } from "@/api/notice";
getCreatorList
} from '@/api/financial'
import { mapGetters } from 'vuex'
import { stateFormat, numberToCurrencyNo } from '@/utils/numberToCurrency'
import { getRoleMenu } from '@/api/notice'
import { getvertexValue } from '@/api/member'
export default {
name: "Czmx",
name: 'Czmx',
components: {
topBar,
topBar
},
data() {
return {
moren: "czmx",
moren: 'czmx',
topList: [
{
name: '充值明细',
path: "czmx",
},
path: 'czmx'
}
],
multipleSelection: [],
queryParams: {
pageNum: 1,
pageSize: 50,
memberCode: "", //
memberName: "", //
pkAccount: "", //
paymentMethod: "", //
approveState: "", //
batch: "", //
creator: "", //
remarks: "", //
startDate: "", //
endDate: "", //
startApproveTime: "", //
endApproveTime: "", //
memberCode: '', //
memberName: '', //
pkAccount: '', //
paymentMethod: '', //
approveState: '', //
batch: '', //
creator: '', //
remarks: '', //
startDate: '', //
endDate: '', //
startApproveTime: '', //
endApproveTime: '' //
},
accountList: [], //
paymentList: [], //
shStateList: [], //
creatorList: [], //
accountList: [], //
paymentList: [], //
shStateList: [], //
creatorList: [], //
tableData: [],
loading:false,
czsj: "", //
shsj: "", //
loading: false,
czsj: '', //
shsj: '', //
total: 0,
countryList: [],
vertexList: [], //
dataList: [
{
name: "pkCountryName",
key: "",
name: 'pkCountryName',
key: ''
},
{
name: "memberCode",
key: "",
name: 'memberCode',
key: ''
},
{
name: "memberName",
key: "",
name: 'memberName',
key: ''
},
{
name: "pkAccountVal",
key: "",
name: 'pkAccountVal',
key: ''
},
{
name: "paymentMethodVal",
key: "",
name: 'paymentMethodVal',
key: ''
},
{
name: "paymentBeforeBalance",
key: "",
name: 'paymentBeforeBalance',
key: ''
},
{
name: "paymentAmount",
key: "",
name: 'paymentAmount',
key: ''
},
{
name: "paymentBalance",
key: "",
name: 'paymentBalance',
key: ''
},
{
name: "settlePaymentAmount",
key: "",
name: 'settlePaymentAmount',
key: ''
},
{
name: "exchangeRate",
key: "",
name: 'exchangeRate',
key: ''
},
{
name: "rechargeCode",
key: "",
name: 'rechargeCode',
key: ''
},
{
name: "batch",
key: "",
name: 'batch',
key: ''
},
{
name: "creator",
key: "",
name: 'creator',
key: ''
},
{
name: "creationTime",
key: "",
name: 'creationTime',
key: ''
},
{
name: "remarks",
key: "",
name: 'remarks',
key: ''
},
{
name: "approverName",
key: "",
name: 'approverName',
key: ''
},
{
name: "approveTime",
key: "",
name: 'approveTime',
key: ''
},
{
name: "approveStateVal",
key: "",
},
],
};
name: 'approveStateVal',
key: ''
}
]
}
},
computed: {
...mapGetters(["getUser"]),
...mapGetters(['getUser'])
},
created() {
this.research();
this.getOthers();
this.getCountry();
this.getUserRole();
this.research()
this.getOthers()
this.getCountry()
this.getUserRole()
},
methods: {
isLocalSymbol,
listColumnVisible(roleName) {
return this.dataList.includes(roleName)
},
getUserRole() {
getRoleMenu("RechargeDetail").then((res) => {
this.dataList.forEach((item) => {
res.data.forEach((items) => {
if (item.name == items) {
item.key = items;
}
// this.flag = true
});
});
});
getRoleMenu('RechargeDetail').then((res) => {
this.dataList = res.data || []
// this.dataList.forEach((item) => {
// res.data.forEach((items) => {
// if (item.name == items) {
// item.key = items
// }
// // this.flag = true
// })
// })
})
},
stateFormat,
getCountry() {
userCountryList().then((res) => {
this.countryList = res.data;
});
this.countryList = res.data
})
},
changeCzsj(val) {
this.queryParams.startDate = val[0];
this.queryParams.endDate = val[1];
this.queryParams.startDate = val[0]
this.queryParams.endDate = val[1]
},
changeShsj(val) {
this.queryParams.startApproveTime = val[0];
this.queryParams.endApproveTime = val[1];
this.queryParams.startApproveTime = val[0]
this.queryParams.endApproveTime = val[1]
},
getOthers() {
//
//
getenumsAccount().then((res) => {
this.accountList = res.rows;
});
//
this.accountList = res.rows
})
//
getpaymentType().then((res) => {
this.paymentList = res.data;
});
//
this.paymentList = res.data
})
//
getApproveStatus().then((res) => {
this.shStateList = res.data;
});
this.shStateList = res.data
})
getCreatorList().then((res) => {
this.creatorList = res.data;
});
this.creatorList = res.data
})
getvertexValue().then((res) => {
this.vertexList = res.data || []
})
},
research() {
@ -532,77 +507,77 @@ export default {
// console.log('🌈',this.getUser)
getrechageList(this.queryParams).then((res) => {
res.rows.forEach((item) => {
item.pkCountryName = this.getUser.country.shortName;
item.pkCountryIcon = this.getUser.country.nationalFlag2;
});
this.tableData = res.rows;
this.total = res.total;
item.pkCountryName = this.getUser.country.shortName
item.pkCountryIcon = this.getUser.country.nationalFlag2
})
this.tableData = res.rows
this.total = res.total
this.loading = false
});
})
},
reChongzhi() {
this.queryParams = {
pageNum: 1,
pageSize: 50,
memberCode: "", //
memberName: "", //
pkAccount: "", //
paymentMethod: "", //
approveState: "", //
batch: "", //
creator: "", //
remarks: "", //
startDate: "", //
endDate: "", //
startApproveTime: "", //
endApproveTime: "", //
};
this.shsj = [];
this.czsj = [];
this.research();
memberCode: '', //
memberName: '', //
pkAccount: '', //
paymentMethod: '', //
approveState: '', //
batch: '', //
creator: '', //
remarks: '', //
startDate: '', //
endDate: '', //
startApproveTime: '', //
endApproveTime: '' //
}
this.shsj = []
this.czsj = []
this.research()
},
handleSelectionChange(val) {
this.multipleSelection = val;
this.multipleSelection = val
},
handleExport() {
this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: "warning",
type: 'warning'
}).then((_) => {
this.download(
"/member/manager/recharge/export",
'/member/manager/recharge/export',
{ ...this.queryParams },
`${'充值明细'}${new Date().getTime()}.xlsx`
);
});
)
})
},
//
//
summaryMethod({ columns, data }) {
const sums = [];
const sums = []
//
columns.forEach((column, index) => {
if (index === 1) {
sums[index] = "合计";
return;
sums[index] = '合计'
return
}
if (column.property === "paymentAmount") {
const lastIndex1 = data.length - 1;
if (column.property === 'paymentAmount') {
const lastIndex1 = data.length - 1
sums[index] = data[lastIndex1]
? numberToCurrencyNo(data[lastIndex1].paymentAmount)
: "";
} else if (column.property === "settlePaymentAmount") {
const lastIndex2 = data.length - 1;
: ''
} else if (column.property === 'settlePaymentAmount') {
const lastIndex2 = data.length - 1
sums[index] = data[lastIndex2]
? numberToCurrencyNo(data[lastIndex2].settlePaymentAmount)
: "";
: ''
} else {
sums[index] = "";
sums[index] = ''
}
});
console.log("🌈numberToCurrencyNo", sums);
return sums;
})
console.log('🌈numberToCurrencyNo', sums)
return sums
},
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
// if (columnIndex === 0) {
@ -621,14 +596,14 @@ export default {
},
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return "warning-row";
return 'warning-row'
} else if (rowIndex % 2 == 0) {
return "success-row";
return 'success-row'
}
return "";
},
},
};
return ''
}
}
}
</script>
<style lang="scss" scoped>

View File

@ -131,27 +131,12 @@
type="selection"
width="50"
/>
<el-table-column
v-if="dataList[0].key"
align="center"
prop="title"
:label="'国家'"
>
<template slot-scope="scope">
<div class="tem">
<img
:src="scope.row.nationalFlag2"
alt=""
>
<!-- <div>{{ scope.row.pkCountryName }}</div> -->
</div>
</template>
</el-table-column>
<el-table-column
v-if="dataList[1].key"
align="center"
prop="memberCode"
:label="'转出编号'"
min-width="120px"
/>
<el-table-column
v-if="dataList[2].key"
@ -188,6 +173,7 @@
align="center"
prop="toMemberCode"
:label="'接收编号'"
min-width="120px"
/>
<el-table-column
v-if="dataList[9].key"
@ -221,6 +207,7 @@
align="center"
prop="creationTime"
:label="'转账日期'"
min-width="160px"
/>
<el-table-column
v-if="dataList[15].key"
@ -233,6 +220,7 @@
align="center"
prop="transferCode"
:label="'单据编号'"
min-width="170px"
/>
<el-table-column
align="center"

View File

@ -149,21 +149,7 @@
type="selection"
width="55"
/>
<el-table-column
align="center"
prop="title"
:label="'国家'"
>
<template slot-scope="scope">
<div class="tem">
<img
:src="scope.row.nationalFlag2"
alt=""
>
<!-- <div>{{ scope.row.pkCountryName }}</div> -->
</div>
</template>
</el-table-column>
<el-table-column
align="center"
prop="memberCode"
@ -179,6 +165,7 @@
align="center"
prop="vertexName"
:label="'隶属体系'"
min-width="120px"
/>
<el-table-column
align="center"
@ -243,6 +230,7 @@
align="center"
prop="sourceCode"
:label="'单据编号'"
min-width="170px"
/>
<el-table-column
align="center"

File diff suppressed because it is too large Load Diff

View File

@ -42,21 +42,21 @@ module.exports = {
warnings: false,
errors: true
},
// proxy: {
// '/prod-api': {
// target: 'http://localhost:8080/',
// changeOrigin: true,
// pathRewrite: {
// '^/prod-api': ''
// }
// }
// }
proxy: {
'/prod-api': {
target: 'http://t-mana.beida413.com/',
changeOrigin: true
target: 'http://localhost:8080/',
changeOrigin: true,
pathRewrite: {
'^/prod-api': ''
}
}
}
// proxy: {
// '/prod-api': {
// target: 'http://t-mana.beida413.com/',
// changeOrigin: true
// }
// }
// before: require('./mock/mock-server.js')
},
configureWebpack: {