web-base-admin/src/views/financial/onlinePayDetails/index.vue

456 lines
14 KiB
Vue
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!--
* @Descripttion: 财务管理 - 在线支付明细
* @version:
* @Author: kBank
* @Date: 2022-10-24 15:45:01
-->
<template>
<div class="page">
<topBar v-if="topList.length > 0"
:topList="topList"
:moren="moren"></topBar>
<div class="main">
<el-form ref="select"
:model="select"
style="background-color: #fff"
label-width="100px">
<el-row>
<!-- 一层 -->
<el-col :span="4">
<el-form-item :label="$t('MN_T_1')">
<el-input clearable
v-model="select.memberCode"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('CK_KS_14')">
<el-input clearable
v-model="select.memberName"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('w_0297')">
<el-input clearable
v-model="select.businessMoney"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('N_I_163')">
<el-select clearable
:placeholder="$t('CK_KS_38')"
v-model="select.businessType">
<el-option v-for="item in tradeTypeList"
: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="$t('MN_F_T_583')">
<el-select clearable
:placeholder="$t('CK_KS_38')"
v-model="select.payChannel">
<el-option v-for="item in channelList"
: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="$t('w_0215')">
<el-select clearable
:placeholder="$t('CK_KS_38')"
v-model="select.payType">
<el-option v-for="item in peyTypeList"
: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="$t('MN_F_T_584')">
<el-select clearable
:placeholder="$t('CK_KS_38')"
v-model="select.payStatus">
<el-option v-for="item in statusList"
: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="$t('w_0296')">
<el-input clearable
v-model="select.businessCode"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('w_0470')">
<el-date-picker v-model="select.creationTime"
value-format="yyyy-MM-dd"
type="daterange"
:range-separator="$t('w_0139')"
:start-placeholder="$t('CK_KS_4')"
:end-placeholder="$t('CK_KS_5')">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('MN_F_T_914')">
<el-date-picker v-model="select.payTime"
@change="changeTime1"
value-format="yyyy-MM-dd"
type="daterange"
:range-separator="$t('w_0139')"
:start-placeholder="$t('CK_KS_4')"
:end-placeholder="$t('CK_KS_5')">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4">
<el-button class="my_search"
style="margin-left: 30px"
@click="getDataList"> {{ $t('MN_T_2') }}</el-button>
<el-button class="my_reset" @click="reset"> {{ $t('MN_T_3') }}</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"> {{ $t('MN_T_8') }}</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="$t('S_C_83')">
<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="$t('MN_T_1')"
width="150">
</el-table-column>
<el-table-column align="center"
prop="memberName"
:label="$t('CK_KS_14')">
</el-table-column>
<el-table-column align="center"
prop="businessTypeVal"
:label="$t('N_I_163')">
</el-table-column>
<el-table-column align="center"
prop="businessMoney"
:formatter="stateFormat"
:label="$t('w_0297')+`(${isLocalSymbol()})`"
width="150">
</el-table-column>
<el-table-column align="center"
prop="payMoney"
:formatter="stateFormat"
label="实际支付金额(¥)"
width="150">
</el-table-column>
<!-- <el-table-column align="center"
prop="payMoney"
:formatter="stateFormat"
:label="$t('w_0297')+`(${isLocals()})`" width="150">
</el-table-column>
<el-table-column align="center"
:formatter="stateFormat"
prop="settleTradeBalance"
label="实际支付金额($)" width="150">
</el-table-column>
<el-table-column align="center"
prop="exchangeRate"
:label="$t('MN_F_T_556')">
</el-table-column> -->
<el-table-column align="center"
prop="payChannelVal"
:label="$t('MN_F_T_583')">
</el-table-column>
<el-table-column align="center"
prop="payTypeVal"
:label="$t('w_0215')">
</el-table-column>
<el-table-column align="center"
prop="payStatusVal"
:label="$t('MN_F_T_584')">
</el-table-column>
<el-table-column align="center"
prop="creationTime"
:label="$t('w_0470')"
width="200">
</el-table-column>
<el-table-column align="center"
prop="payTime"
:label="$t('MN_F_T_914')"
width="200">
</el-table-column>
<el-table-column align="center"
prop="businessCode"
min-width="180px"
:label="$t('w_0296')">
</el-table-column>
<el-table-column align="center"
prop="time"
:label="$t('MY_ORD_14')"
fixed="right">
<template slot-scope="scope">
<el-button @click="toFixed(scope.row.pkId)"
style="color: #ffad41"
type="text"
size="small">
{{ $t('MN_T_8') }}
</el-button>
</template>
</el-table-column>
</el-table>
</div>
</div>
<pagination v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getDataList" />
</div>
</template>
<script>
import topBar from '@/components/topBar'
import * as api from '@/api/financialCase.js'
import { userCountryList } from '@/api/user'
export default {
name: 'Bzpz',
components: {
topBar,
},
filters: {
isAgree(val) {
if (!val) {
return this.$t('ENU_POPUP_TYPE_1');
} else {
return this.$t('ENU_POPUP_TYPE_2');
}
},
},
data() {
return {
creationTime: [],
select: {},
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 50,
},
total: 0,
dialogVisible: false,
tableData: [],
statusList: [],
channelList: [],
payTime: [],
peyTypeList: [
{
value: '1',
label: this.$t('ENU_PAY_TY_1'),
},
{
value: '2',
label: this.$t('ENU_PAY_TY_2'),
},
{
value: '3',
label: this.$t('ENU_PAY_TY_3'),
},
],
tradeTypeList: [],
moren: 'onlinePayDetails',
topList: [
{
name: this.$t('MN_F_T_97'),
path: 'onlinePayDetails',
},
],
countryList: [],
}
},
mounted() {
this.getCountry()
// 获取下拉
this.getData()
// 获取列表
this.getDataList()
},
methods: {
getData() {
api.payChannel().then((res) => {
this.channelList = res.data
})
api.payStatus().then((res) => {
this.statusList = res.data
})
api.businessType().then((res) => {
this.tradeTypeList = res.data
})
},
changeTime(val) {
// this.select.startDate = val[0]
// this.select.endDate = val[1]
},
changeTime1(val) {
// this.select.startDate = val[0]
// this.select.endDate = val[1]
},
reset(){
this.select = {}
this.getDataList()
},
// 点击修改
toFixed(id) {},
getCountry() {
userCountryList().then((res) => {
this.countryList = res.data
})
},
getDataList() {
api
.onlineList(Object.assign({}, this.queryParams, this.select))
.then((res) => {
res.rows.forEach((item) => {
this.countryList.forEach((child) => {
if (item.pkCountry == child.pkCountry) {
item.pkCountryName = child.name
item.pkCountryIcon = child.nationalFlag2
}
})
})
this.tableData = res.rows
this.total = res.total
})
},
handleSelectionChange(val) {},
/** 导出按钮操作 */
handleExport() {
this.$confirm( this.$t('MN_F_T_407'), this.$t('MN_F_T_304'), {
confirmButtonText: this.$t('w_0035'),
cancelButtonText: this.$t('ENU_P_TYPE0'),
type: 'warning',
}).then((_) => {
this.download(
'/pay/manage/online-payment/export',
Object.assign({}, this.queryParams, this.select),
`${this.$t('MN_F_T_97')}${new Date().getTime()}.xlsx`
)
})
},
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return 'warning-row'
} else if (rowIndex % 2 == 0) {
return 'success-row'
}
return ''
},
},
}
</script>
<style scoped lang="scss">
::v-deep .el-range-editor.el-input__inner {
width: 100%;
}
::v-deep .el-table .warning-row {
background: #f9f9f9;
}
::v-deep .el-table .success-row {
background: #ffffff;
}
::v-deep .el-table thead {
color: #000000;
}
::v-deep .el-select {
width: 100%;
}
.uploadIcon ::v-deep .el-upload--picture-card {
display: none !important; /* 上传按钮隐藏 */
}
.page {
padding: 20px;
background: #f9f9f9;
font-size: 14px;
.main {
background: #f9f9f9;
//border-radius: 8px;
//box-shadow: 0px 2px 20px 0px rgba(238, 238, 238, 0.5);
.maintop {
display: flex;
padding: 0px 0;
justify-content: space-between;
align-items: center;
.mainbtn {
.thebtn1 {
background: #3181e5;
color: #ffffff;
}
.thebtn2 {
background: #ffad41;
color: #ffffff;
width: 68px;
height: 32px;
}
}
.maintitle {
font-size: 10px;
font-family: MicrosoftYaHei;
color: #999999;
}
}
}
.tem {
img {
width: 28px;
height: 20px;
margin-right: 3px;
}
}
.isRed {
color: #ed1d25;
}
.isGreen {
color: #1ab62b;
}
.bgImg {
width: 48px;
height: 48px;
}
}
.openClose {
text-align: right;
margin-right: 10px;
color: #3181e5;
}
</style>