更新:培训班增加配置报名支付方式

This commit is contained in:
2025-11-17 09:24:12 +08:00
parent 2a255a94ed
commit 9c15546633
3 changed files with 476 additions and 163 deletions

View File

@@ -126,6 +126,19 @@
</el-switch>
</template>
</el-table-column>
<el-table-column label="可用积分" align="center" prop="displayJf" width="90">
<template slot-scope="scope">
<span v-if="scope.row.displayJf==0"></span>
<span v-else-if="scope.row.displayJf==1"></span>
<span v-else>--</span>
</template>
</el-table-column>
<el-table-column label="支付方式" align="center" prop="displayJf" width="90">
<template slot-scope="scope">
<span v-if="scope.row.payType" v-html="getPayTypes(scope.row.payType)"></span>
<span v-else>-</span>
</template>
</el-table-column>
<!-- <el-table-column label="是否上架" align="center" width="200">
<template slot-scope="scope">
<el-switch
@@ -188,7 +201,7 @@
:model="addForm"
ref="addFormRef"
:rules="addFormRule"
label-width="90px"
label-width="100px"
>
<el-form-item label="标题" prop="title">
<el-input v-model="addForm.title" placeholder="请输入标题"></el-input>
@@ -249,7 +262,7 @@
</div>
</el-form-item>
<el-form-item label="选择App">
<el-form-item label="选择App" prop="displayApp">
<el-checkbox-group v-model="appType" @change="handleCheckedApp" class="checkbox-group">
<el-checkbox v-for="item in appList" :label="item.type" :key="item.type">{{item.title}}</el-checkbox>
</el-checkbox-group>
@@ -272,6 +285,26 @@
>
</el-switch>
</el-form-item>
<el-form-item label="可用积分支付" prop="displayJf">
<el-radio-group v-model="addForm.displayJf">
<el-radio :label="1"></el-radio>
<el-radio :label="0"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="支付方式" prop="payType">
<el-checkbox-group v-model="addForm.payType" class="checkbox-group">
<!-- <el-checkbox :label="1">微信</el-checkbox>
<el-checkbox :label="2">支付宝</el-checkbox>
<el-checkbox :label="4">天医币</el-checkbox> -->
<el-checkbox
v-for="[value, label] in payTypeList"
:key="value"
:label="value"
>
{{ label }}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
<!-- <el-form-item label="是否上架" prop="displayFlag">
<el-switch
v-model="addForm.displayFlag"
@@ -312,6 +345,7 @@
</div>
</template>
<script>
import { watch } from "less";
import global from "../../common/common.vue"; //引入共用组间
export default {
data() {
@@ -328,6 +362,12 @@ export default {
}
callback();
};
const validateDisplayApp = (rule, value, callback) => {
if (!this.appType || this.appType.length == 0) {
return callback(new Error('请选择应用'));
}
callback();
};
return {
baseUrl: global.baseUrl,
dataForm: {
@@ -351,6 +391,8 @@ export default {
vipType: '',
vipFee: '',
svipType: '',
payType: [],
displayJf: 1,
svipFee: '',
oneHuFee: '',
twoHuFee: '',
@@ -383,6 +425,20 @@ export default {
validator: validatePositiveNumber
},
],
payType: [
{
required: true,
message: "请选择支付方式",
trigger: 'change'
},
],
displayApp: [
{
required: true,
validator: validateDisplayApp,
trigger: 'change'
}
]
},
dateRange: [], //日期
dataList: [],
@@ -413,6 +469,11 @@ export default {
title: '心灵空间'
}
],
payTypeList: new Map([
[1, '微信'],
[2, '支付宝'],
[4, '天医币']
]),
//勾选值
vipType: [],
svipType: [],
@@ -442,6 +503,17 @@ export default {
})
.join(' ');
},
getPayTypes(payType) {
if (!payType) return ''
return payType.split(',')
.map(code => {
const numericCode = parseInt(code.trim());
// 从 Map 中获取对应的支付方式名称
return this.payTypeList.get(numericCode) || '';
})
.filter(name => name !== '')
.join('<br>');
},
//排序变化事件
handleSortChange({ column, prop, order }) {
// 更新当前列的排序状态
@@ -524,6 +596,8 @@ export default {
svipType: '',
appType: '',
svipFee: '',
payType: [],
displayJf: 1,
threeHuFee: '',
fiveHuFee: '',
singupFlag: 1, //1可报名 0不可报名
@@ -600,6 +674,8 @@ export default {
vipType: vipType,
vipFee: data.vipFee,
svipType: svipType,
payType: data.payType.join(','),
displayJf: data.displayJf,
displayApp: appType,
svipFee: data.svipFee,
oneHuFee: data.oneHuFee,
@@ -669,6 +745,8 @@ export default {
vipFee: this.addForm.vipFee,
svipType: svipType,
displayApp: appType,
payType: this.addForm.payType.join(','),
displayJf: this.addForm.displayJf,
svipFee: this.addForm.svipFee,
oneHuFee: this.addForm.oneHuFee,
twoHuFee: this.addForm.twoHuFee,
@@ -732,6 +810,9 @@ export default {
}else{
this.appType = [];
}
this.addForm.payType = data.payType.split(',').map(Number);
this.addForm.displayJf = data.displayJf;
this.addForm.svipFee = data.svipFee;
this.addForm.oneHuFee = data.oneHuFee;