2025-03-23 09:18:42 +08:00
|
|
|
<template>
|
|
|
|
<div class="page2">
|
|
|
|
<div class="main">
|
|
|
|
<el-form ref="form" :model="form" label-width="100px">
|
|
|
|
<el-row>
|
|
|
|
<el-col :span="6">
|
2025-04-01 23:46:26 +08:00
|
|
|
<el-form-item :label="'会员编号'">
|
2025-03-23 09:18:42 +08:00
|
|
|
<el-input
|
2025-06-05 09:23:57 +08:00
|
|
|
v-model="form.memberCode"
|
2025-03-23 09:18:42 +08:00
|
|
|
clearable
|
|
|
|
style="width: 200px"
|
|
|
|
@blur="checkName"
|
2025-06-05 09:23:57 +08:00
|
|
|
/>
|
2025-03-23 09:18:42 +08:00
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
<el-col :span="6">
|
2025-04-01 23:46:26 +08:00
|
|
|
<el-form-item :label="'会员姓名'">
|
2025-03-23 09:18:42 +08:00
|
|
|
<el-input
|
2025-06-05 09:23:57 +08:00
|
|
|
v-model="form.memberName"
|
2025-03-23 09:18:42 +08:00
|
|
|
clearable
|
|
|
|
style="width: 200px"
|
|
|
|
disabled
|
2025-06-05 09:23:57 +08:00
|
|
|
/>
|
2025-03-23 09:18:42 +08:00
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
<el-col :span="6">
|
|
|
|
<el-button
|
|
|
|
class="my_search"
|
|
|
|
style="margin-left: 30px"
|
|
|
|
@click="getList"
|
|
|
|
>
|
2025-06-05 09:23:57 +08:00
|
|
|
{{ '搜索' }}</el-button>
|
2025-03-23 09:18:42 +08:00
|
|
|
<el-button class="my_reset" @click="reset">
|
2025-06-05 09:23:57 +08:00
|
|
|
{{ '重置' }}</el-button>
|
2025-03-23 09:18:42 +08:00
|
|
|
</el-col>
|
|
|
|
</el-row>
|
2025-04-01 23:46:26 +08:00
|
|
|
<!-- <el-form-item :label="'钱包类型'">
|
2025-03-23 09:18:42 +08:00
|
|
|
<el-checkbox-group v-model="theaccountType">
|
|
|
|
<el-checkbox
|
|
|
|
@change="changeAccountType"
|
|
|
|
v-for="item in enumsAccountList"
|
|
|
|
:key="item.pkId"
|
|
|
|
:label="item.pkId"
|
|
|
|
>{{ item.accountName }}</el-checkbox
|
|
|
|
>
|
|
|
|
</el-checkbox-group>
|
|
|
|
</el-form-item> -->
|
2025-04-01 23:46:26 +08:00
|
|
|
<!-- <el-form-item :label="'交款方式'">
|
2025-03-23 09:18:42 +08:00
|
|
|
<el-checkbox-group v-model="form.paymentMethod">
|
|
|
|
<el-checkbox
|
|
|
|
v-for="item in paymentTypeList"
|
|
|
|
:key="item.value"
|
|
|
|
:label="item.value"
|
|
|
|
>{{ item.label }}</el-checkbox
|
|
|
|
>
|
|
|
|
</el-checkbox-group>
|
|
|
|
</el-form-item> -->
|
|
|
|
<div class="tableBox">
|
2025-04-01 23:46:26 +08:00
|
|
|
<el-form-item :label="'充值方式'">
|
2025-03-23 09:18:42 +08:00
|
|
|
<el-radio-group v-model="rechargeMethod">
|
|
|
|
1
|
|
|
|
<el-radio
|
|
|
|
v-for="(item, index) in czWayList"
|
|
|
|
:key="index"
|
2025-06-05 09:23:57 +08:00
|
|
|
:label="item.value"
|
|
|
|
>{{ item.label }}</el-radio>
|
2025-03-23 09:18:42 +08:00
|
|
|
</el-radio-group>
|
|
|
|
</el-form-item>
|
|
|
|
<el-table
|
|
|
|
:data="tableData"
|
|
|
|
class="thetables"
|
|
|
|
height="500px"
|
|
|
|
style="width: 100%"
|
|
|
|
:header-cell-style="{ background: '#EEEEEE' }"
|
|
|
|
>
|
|
|
|
<el-table-column
|
|
|
|
align="center"
|
|
|
|
prop="memberCode"
|
2025-04-01 23:46:26 +08:00
|
|
|
:label="'会员编号'"
|
2025-03-23 09:18:42 +08:00
|
|
|
min-width="120px"
|
2025-06-05 09:23:57 +08:00
|
|
|
/>
|
2025-03-23 09:18:42 +08:00
|
|
|
<el-table-column
|
|
|
|
align="center"
|
|
|
|
prop="memberName"
|
2025-04-01 23:46:26 +08:00
|
|
|
:label="'会员姓名'"
|
2025-03-23 09:18:42 +08:00
|
|
|
min-width="120px"
|
2025-06-05 09:23:57 +08:00
|
|
|
/>
|
2025-03-23 09:18:42 +08:00
|
|
|
<el-table-column
|
|
|
|
align="center"
|
|
|
|
prop="paymentMethod"
|
2025-04-01 23:46:26 +08:00
|
|
|
:label="'交款方式'"
|
2025-03-23 09:18:42 +08:00
|
|
|
min-width="120px"
|
|
|
|
>
|
|
|
|
<template slot-scope="scope">
|
|
|
|
<el-select
|
2025-06-05 09:23:57 +08:00
|
|
|
v-model="scope.row.paymentMethod"
|
2025-03-23 09:18:42 +08:00
|
|
|
clearable
|
2025-04-01 23:46:26 +08:00
|
|
|
:placeholder="'请选择'"
|
2025-03-23 09:18:42 +08:00
|
|
|
>
|
|
|
|
<el-option
|
|
|
|
v-for="item in paymentTypeList"
|
|
|
|
:key="item.value"
|
|
|
|
:label="item.label"
|
|
|
|
:value="item.value"
|
2025-06-05 09:23:57 +08:00
|
|
|
/>
|
2025-03-23 09:18:42 +08:00
|
|
|
</el-select>
|
|
|
|
</template>
|
|
|
|
</el-table-column>
|
|
|
|
|
|
|
|
<el-table-column
|
|
|
|
v-for="(item, index) in enumsAccountList"
|
|
|
|
:key="index"
|
2025-06-05 09:23:57 +08:00
|
|
|
min-width="150px"
|
2025-03-23 09:18:42 +08:00
|
|
|
align="center"
|
|
|
|
:prop="`${item.pkId}`"
|
|
|
|
:label="
|
|
|
|
item.pkTransactionKeyVal +
|
2025-06-05 09:23:57 +08:00
|
|
|
`${'变更'}(${getUser.currency.symbol})`
|
2025-03-23 09:18:42 +08:00
|
|
|
"
|
|
|
|
>
|
|
|
|
<template slot-scope="scope">
|
2025-06-05 09:23:57 +08:00
|
|
|
<!-- <el-input
|
|
|
|
v-model="scope.row.rechargeDetailMap[`${item.pkId}`]"
|
2025-03-23 09:18:42 +08:00
|
|
|
clearable
|
2025-06-05 09:23:57 +08:00
|
|
|
type="number"
|
|
|
|
:min="0"
|
|
|
|
/> -->
|
|
|
|
<el-input-number
|
2025-03-23 09:18:42 +08:00
|
|
|
v-model="scope.row.rechargeDetailMap[`${item.pkId}`]"
|
2025-06-05 09:23:57 +08:00
|
|
|
clearable
|
|
|
|
size="small"
|
|
|
|
:min="0"
|
|
|
|
:controls="false"
|
|
|
|
/>
|
2025-03-23 09:18:42 +08:00
|
|
|
</template>
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column
|
|
|
|
align="center"
|
|
|
|
prop="memberRemarks"
|
2025-04-01 23:46:26 +08:00
|
|
|
:label="'备注(前台)'"
|
2025-03-23 09:18:42 +08:00
|
|
|
min-width="120px"
|
|
|
|
>
|
|
|
|
<template slot-scope="scope">
|
2025-06-05 09:23:57 +08:00
|
|
|
<el-input v-model="scope.row.memberRemarks" />
|
2025-03-23 09:18:42 +08:00
|
|
|
</template>
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column
|
|
|
|
align="center"
|
|
|
|
min-width="120px"
|
|
|
|
prop="remarks"
|
2025-04-01 23:46:26 +08:00
|
|
|
:label="'备注(后台)'"
|
2025-03-23 09:18:42 +08:00
|
|
|
>
|
|
|
|
<template slot-scope="scope">
|
2025-06-05 09:23:57 +08:00
|
|
|
<el-input v-model="scope.row.remarks" />
|
2025-03-23 09:18:42 +08:00
|
|
|
</template>
|
|
|
|
</el-table-column>
|
|
|
|
</el-table>
|
|
|
|
</div>
|
|
|
|
</el-form>
|
|
|
|
</div>
|
|
|
|
<div class="footer">
|
|
|
|
<div style="margin: 0 auto">
|
|
|
|
<el-button
|
2025-06-05 09:23:57 +08:00
|
|
|
v-has-buttons="['ChongzhiConfirm']"
|
2025-03-23 09:18:42 +08:00
|
|
|
type="primary"
|
|
|
|
class="thebtn"
|
|
|
|
@click="saveDate('form')"
|
|
|
|
>
|
2025-06-05 09:23:57 +08:00
|
|
|
{{ '确认' }}</el-button>
|
2025-03-23 09:18:42 +08:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
2025-06-05 09:23:57 +08:00
|
|
|
import { mapGetters } from 'vuex'
|
2025-03-23 09:18:42 +08:00
|
|
|
import {
|
|
|
|
getenumsCzAccount,
|
|
|
|
getpaymentType,
|
|
|
|
getrechargeMethod,
|
|
|
|
changeAccountType,
|
2025-06-05 09:23:57 +08:00
|
|
|
getMemberName
|
|
|
|
} from '@/api/financial'
|
|
|
|
import { stateFormat } from '@/utils/numberToCurrency'
|
2025-03-23 09:18:42 +08:00
|
|
|
export default {
|
2025-06-05 09:23:57 +08:00
|
|
|
name: 'Chongzhi',
|
2025-03-23 09:18:42 +08:00
|
|
|
computed: {
|
2025-06-05 09:23:57 +08:00
|
|
|
...mapGetters(['getUser'])
|
2025-03-23 09:18:42 +08:00
|
|
|
},
|
|
|
|
data() {
|
|
|
|
return {
|
|
|
|
tableData: [],
|
|
|
|
form: {
|
2025-06-05 09:23:57 +08:00
|
|
|
memberCode: '', // 会员编号
|
|
|
|
memberName: null, // 会员姓名
|
2025-03-23 09:18:42 +08:00
|
|
|
rechargeDetailMap: {},
|
2025-06-05 09:23:57 +08:00
|
|
|
paymentMethod: [] // 交款方式
|
2025-03-23 09:18:42 +08:00
|
|
|
},
|
2025-06-05 09:23:57 +08:00
|
|
|
rechargeMethod: 1, // 充值方式
|
|
|
|
enumsAccountList: [], // 币种类型
|
|
|
|
paymentTypeList: [], // 交款方式
|
|
|
|
czWayList: [] // 充值方式
|
|
|
|
}
|
2025-03-23 09:18:42 +08:00
|
|
|
},
|
|
|
|
created() {
|
2025-06-05 09:23:57 +08:00
|
|
|
// 钱包类型
|
|
|
|
this.getenumsCzAccount()
|
|
|
|
// 交款方式
|
|
|
|
this.getpaymentType()
|
|
|
|
// 充值方式
|
|
|
|
this.getrechargeMethod()
|
2025-03-23 09:18:42 +08:00
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
stateFormat,
|
2025-06-05 09:23:57 +08:00
|
|
|
// 根据会员编号查询会员姓名
|
2025-03-23 09:18:42 +08:00
|
|
|
checkName() {
|
|
|
|
getMemberName({ memberCode: this.form.memberCode }).then((res) => {
|
2025-06-05 09:23:57 +08:00
|
|
|
this.form.memberName = res.memberName
|
|
|
|
})
|
2025-03-23 09:18:42 +08:00
|
|
|
},
|
|
|
|
getList() {
|
|
|
|
changeAccountType({
|
|
|
|
memberCode: this.form.memberCode,
|
2025-06-05 09:23:57 +08:00
|
|
|
memberName: this.form.memberName
|
2025-03-23 09:18:42 +08:00
|
|
|
}).then((res) => {
|
|
|
|
res.data.forEach((ele) => {
|
2025-06-05 09:23:57 +08:00
|
|
|
ele.rechargeDetailMap = {}
|
|
|
|
})
|
|
|
|
this.tableData = res.data
|
|
|
|
})
|
2025-03-23 09:18:42 +08:00
|
|
|
},
|
|
|
|
reset() {
|
2025-06-05 09:23:57 +08:00
|
|
|
this.form.memberCode = ''
|
|
|
|
this.form.memberName = ''
|
|
|
|
this.getList()
|
2025-03-23 09:18:42 +08:00
|
|
|
},
|
2025-06-05 09:23:57 +08:00
|
|
|
// 充值
|
2025-03-23 09:18:42 +08:00
|
|
|
saveDate(formName) {
|
|
|
|
if (!this.rechargeMethod) {
|
|
|
|
this.$message({
|
2025-04-01 23:46:26 +08:00
|
|
|
message: '请先选择充值方式',
|
2025-06-05 09:23:57 +08:00
|
|
|
type: 'warning'
|
|
|
|
})
|
|
|
|
return
|
2025-03-23 09:18:42 +08:00
|
|
|
} else {
|
|
|
|
this.$refs[formName].validate((valid) => {
|
|
|
|
if (valid) {
|
2025-06-05 09:23:57 +08:00
|
|
|
let shouldTerminate = false
|
2025-03-23 09:18:42 +08:00
|
|
|
|
|
|
|
this.tableData.forEach((ele) => {
|
|
|
|
if (!ele.paymentMethod) {
|
2025-06-05 09:23:57 +08:00
|
|
|
shouldTerminate = true
|
2025-03-23 09:18:42 +08:00
|
|
|
this.$message({
|
2025-04-01 23:46:26 +08:00
|
|
|
message: '交款方式不能为空',
|
2025-06-05 09:23:57 +08:00
|
|
|
type: 'warning'
|
|
|
|
})
|
|
|
|
return
|
2025-03-23 09:18:42 +08:00
|
|
|
}
|
2025-06-05 09:23:57 +08:00
|
|
|
})
|
2025-03-23 09:18:42 +08:00
|
|
|
|
|
|
|
if (!shouldTerminate) {
|
|
|
|
this.$router.push({
|
2025-06-05 09:23:57 +08:00
|
|
|
path: '/information/business/czzxqc',
|
2025-03-23 09:18:42 +08:00
|
|
|
query: {
|
2025-06-05 09:23:57 +08:00
|
|
|
data: '',
|
2025-03-23 09:18:42 +08:00
|
|
|
czlx: 1,
|
|
|
|
detailParams: JSON.stringify(this.tableData),
|
2025-06-05 09:23:57 +08:00
|
|
|
rechargeMethod: this.rechargeMethod
|
|
|
|
}
|
|
|
|
})
|
2025-03-23 09:18:42 +08:00
|
|
|
}
|
|
|
|
}
|
2025-06-05 09:23:57 +08:00
|
|
|
})
|
2025-03-23 09:18:42 +08:00
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
getrechargeMethod() {
|
|
|
|
getrechargeMethod().then((res) => {
|
2025-06-05 09:23:57 +08:00
|
|
|
this.czWayList = res.data
|
|
|
|
})
|
2025-03-23 09:18:42 +08:00
|
|
|
},
|
|
|
|
|
|
|
|
getpaymentType() {
|
|
|
|
getpaymentType().then((res) => {
|
2025-06-05 09:23:57 +08:00
|
|
|
this.paymentTypeList = res.data
|
|
|
|
})
|
2025-03-23 09:18:42 +08:00
|
|
|
},
|
|
|
|
getenumsCzAccount() {
|
|
|
|
getenumsCzAccount({ accountProperty: 1 }).then((res) => {
|
2025-06-05 09:23:57 +08:00
|
|
|
this.enumsAccountList = res.rows
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2025-03-23 09:18:42 +08:00
|
|
|
</script>
|
|
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
.thetables ::v-deep .el-select .el-input .el-select__caret {
|
|
|
|
margin-top: 10px;
|
|
|
|
}
|
|
|
|
.thetables ::v-deep .el-input__suffix {
|
|
|
|
margin-top: -4px;
|
|
|
|
}
|
|
|
|
::v-deep .el-table thead {
|
|
|
|
color: #000000;
|
|
|
|
}
|
|
|
|
::v-deep .el-table .warning-row {
|
|
|
|
background: #f9f9f9;
|
|
|
|
}
|
|
|
|
|
|
|
|
.page2 {
|
|
|
|
// padding: 20px;
|
|
|
|
|
|
|
|
background: #f9f9f9;
|
|
|
|
font-size: 14px;
|
|
|
|
.mainbtn {
|
|
|
|
margin-bottom: 20px;
|
|
|
|
.thebtn1 {
|
|
|
|
background: rgba(255, 103, 35, 1);
|
|
|
|
color: #ffffff;
|
|
|
|
}
|
|
|
|
.thebtn2 {
|
|
|
|
background: rgba(0, 155, 88, 1);
|
|
|
|
color: #ffffff;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
.main {
|
|
|
|
padding: 10px 0;
|
|
|
|
background: #ffffff;
|
|
|
|
border-radius: 8px;
|
|
|
|
box-shadow: 0px 2px 20px 0px rgba(238, 238, 238, 0.5);
|
|
|
|
.tableBox {
|
|
|
|
border-radius: 8px;
|
|
|
|
border: 1px solid rgba(204, 204, 204, 1);
|
|
|
|
padding: 20px 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
.footer {
|
|
|
|
display: flex;
|
|
|
|
justify-content: center;
|
|
|
|
align-items: center;
|
|
|
|
padding: 15px 0;
|
|
|
|
.thebtn {
|
|
|
|
width: 120px;
|
|
|
|
height: 38px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</style>
|