diff --git a/src/api/system/channel.js b/src/api/system/channel.js index 0f03cc7..90cd057 100644 --- a/src/api/system/channel.js +++ b/src/api/system/channel.js @@ -9,6 +9,14 @@ export function listChannel(query) { }) } +// 查询所有充值渠道列表 +export function listAllChannel() { + return request({ + url: '/system/channel/listAll', + method: 'get' + }) +} + // 查询充值渠道列表 export function listChannelByIds(ids) { return request({ diff --git a/src/components/Business/Channel/ChannelSelect.vue b/src/components/Business/Channel/ChannelSelect.vue new file mode 100644 index 0000000..f60bd94 --- /dev/null +++ b/src/components/Business/Channel/ChannelSelect.vue @@ -0,0 +1,74 @@ + + + + + + + \ No newline at end of file diff --git a/src/components/FormCol/index.vue b/src/components/FormCol/index.vue index 9916ee0..bf45b06 100644 --- a/src/components/FormCol/index.vue +++ b/src/components/FormCol/index.vue @@ -1,7 +1,12 @@ - + + + + + + @@ -33,6 +38,10 @@ export default { table: { type: Boolean, default: false + }, + tip: { + type: String, + default: null } } } diff --git a/src/components/GroupTitle/index.vue b/src/components/GroupTitle/index.vue index 8bb93e1..737fe07 100644 --- a/src/components/GroupTitle/index.vue +++ b/src/components/GroupTitle/index.vue @@ -19,7 +19,7 @@ export default { position: relative; font-size: 16px; padding-left: 0.5em; - border-left: 3px solid #00BA88; + border-left: 4px solid #8883F0; margin: 0.5em 0 1em; } diff --git a/src/utils/constants.js b/src/utils/constants.js index 1ddc480..95ef544 100644 --- a/src/utils/constants.js +++ b/src/utils/constants.js @@ -188,6 +188,7 @@ export const ConfigKey = { RISK_WITHDRAW_TIME: "risk.withdraw.time", // 风控订单和提现相隔时长(分钟) RISK_WITHDRAW_COUNT: "risk.withdraw.count", // 提现风控累计风险次数 LOGIN_WITH_PHONE: "login.with.phone", // 登录获取手机号 + VIP_SERVICE_FEE_RATE: "vip.service.fee.rate", // 会员服务费费率 } // 用户类型 diff --git a/src/views/dashboard/DailyBillAmountChart.vue b/src/views/dashboard/DailyBillAmountChart.vue index 50738ff..a6beeb0 100644 --- a/src/views/dashboard/DailyBillAmountChart.vue +++ b/src/views/dashboard/DailyBillAmountChart.vue @@ -6,9 +6,10 @@ :end-date.sync="queryParams.dateEnd" @change="getList" /> - + + @@ -19,11 +20,12 @@ import { getLastDateStr } from '@/utils' import { getBillDailyAmount } from '@/api/system/dashboard' import DateRangePicker from '@/components/DateRangePicker/index.vue' import DailyBillAmountReport from '@/views/dashboard/DailyBillAmountReport.vue' +import ChannelSelect from '@/components/Business/Channel/ChannelSelect.vue' export default { name: 'DailyBillAmountChart', dicts: ['channel_type'], - components: { DailyBillAmountReport, DateRangePicker }, + components: { DailyBillAmountReport, DateRangePicker, ChannelSelect }, data() { return { // 查询条件 diff --git a/src/views/ss/payBill/index.vue b/src/views/ss/payBill/index.vue index a66dbec..5ec75fd 100644 --- a/src/views/ss/payBill/index.vue +++ b/src/views/ss/payBill/index.vue @@ -20,14 +20,7 @@ - - - + @@ -99,9 +92,6 @@ - - - {{d.row[column.key] | money}} 元 @@ -155,7 +145,7 @@ import { listPayBill, getPayBill, delPayBill, addPayBill, updatePayBill, refundPayBill } from '@/api/ss/payBill' import { $showColumns, $view } from '@/utils/mixins' import { PayBillStatus } from '@/utils/constants' - +import ChannelSelect from '@/components/Business/Channel/ChannelSelect.vue' // 默认排序字段 const defaultSort = { prop: "createTime", @@ -165,7 +155,8 @@ const defaultSort = { export default { name: "PayBill", mixins: [$showColumns, $view], - dicts: ['pay_bill_status', 'pay_bill_bst_type', 'channel_type'], + dicts: ['pay_bill_status', 'pay_bill_bst_type'], + components: { ChannelSelect }, props: { query: { type: Object, @@ -198,7 +189,7 @@ export default { {key: 'bstType', visible: true, label: '业务类型', minWidth: null, sortable: true, overflow: false, align: 'center', width: null}, {key: 'bstId', visible: false, label: '业务ID', minWidth: null, sortable: true, overflow: false, align: 'center', width: null}, {key: 'amount', visible: true, label: '支付金额', minWidth: null, sortable: true, overflow: false, align: 'center', width: null}, - {key: 'channelId', visible: true, label: '支付渠道', minWidth: null, sortable: true, overflow: false, align: 'center', width: null}, + {key: 'channelName', visible: true, label: '支付渠道', minWidth: null, sortable: true, overflow: false, align: 'center', width: null}, {key: 'status', visible: true, label: '支付状态', minWidth: null, sortable: true, overflow: false, align: 'center', width: null}, {key: 'payTime', visible: true, label: '支付时间', minWidth: "120", sortable: false, overflow: false, align: 'center', width: null}, {key: 'description', visible: true, label: '描述', minWidth: "200", sortable: true, overflow: true, align: 'center', width: null}, diff --git a/src/views/ss/storeStaff/components/StoreStaffEditDialog.vue b/src/views/ss/storeStaff/components/StoreStaffEditDialog.vue index 9804ed3..14002c5 100644 --- a/src/views/ss/storeStaff/components/StoreStaffEditDialog.vue +++ b/src/views/ss/storeStaff/components/StoreStaffEditDialog.vue @@ -10,17 +10,7 @@ - - - - - - + % + + % + @@ -116,6 +116,9 @@ export default { enabled: [ { required: true, message: "是否启用不能为空", trigger: "change" } ], + vipPoint: [ + { required: true, message: "VIP分成不能为空", trigger: "change" } + ], } } }, @@ -166,6 +169,7 @@ export default { remark: null, role: StoreStaffRole.PARTNER, point: 0, + vipPoint: 0, enabled: true, permissions: [], ...this.initForm diff --git a/src/views/ss/vip/components/VipTable.vue b/src/views/ss/vip/components/VipTable.vue index f50d6c0..9179085 100644 --- a/src/views/ss/vip/components/VipTable.vue +++ b/src/views/ss/vip/components/VipTable.vue @@ -63,7 +63,9 @@ - {{d.row[column.key] | defaultValue}} 次 + + {{d.row.limitCount | defaultValue}} 次 + {{d.row[column.key] | defaultValue}} 次 @@ -112,6 +114,7 @@ import { $showColumns } from '@/utils/mixins' import StoreLink from '@/components/Business/Store/StoreLink.vue' import BooleanTag from '@/components/BooleanTag/index.vue' import UserLink from '@/components/Business/SmUser/UserLink.vue' +import { VipLevelLimitType } from '@/utils/constants' // 默认排序字段 const defaultSort = { prop: "createTime", @@ -130,6 +133,7 @@ export default { }, data() { return { + VipLevelLimitType, // 字段列表 columns: [ {key: 'id', visible: true, label: 'ID', minWidth: null, sortable: true, overflow: false, align: 'center', width: "80"}, diff --git a/src/views/system/config/group.vue b/src/views/system/config/group.vue index 3f9785e..b568a55 100644 --- a/src/views/system/config/group.vue +++ b/src/views/system/config/group.vue @@ -2,11 +2,12 @@ - 充值 + 支付 + 提现 diff --git a/src/views/system/smUser/components/UserFormDialog.vue b/src/views/system/smUser/components/UserFormDialog.vue index 78681af..5892280 100644 --- a/src/views/system/smUser/components/UserFormDialog.vue +++ b/src/views/system/smUser/components/UserFormDialog.vue @@ -1,16 +1,16 @@ - - + + - + - + - + @@ -20,19 +20,22 @@ + + + - - - % - + + + % - - - % - + + % - + + % + + @@ -47,14 +50,43 @@ {{withdrawServiceUnit(form.withdrawServiceType)}} - - + + + + + + 元 / 单 + - - + + - - + + + + + + 小时 + + + + + + + + + % + + + + + + + + + + + @@ -71,11 +103,13 @@ import { SmUserType } from '@/utils/constants' import { $withdrawServiceType } from '@/utils/mixins' import ChannelInput from '@/components/Business/Channel/ChannelInput.vue' import AppInput from '@/components/Business/App/AppInput.vue' +import GroupTitle from '@/components/GroupTitle/index.vue' + export default { name: "UserFormDialog", mixins: [$withdrawServiceType], dicts: ['sm_user_status', 'sm_user_type', 'sys_user_sex', 'service_type', 'withdraw_service_type'], - components: { ChannelInput, AppInput }, + components: { ChannelInput, AppInput, GroupTitle }, props: { show: { type: Boolean, @@ -88,19 +122,29 @@ export default { }, data() { return { + loading: false, visible: false, - span: 12, - title: '', + span: 8, + title: '新增用户', // 表单参数 form: {}, // 表单校验 rules: { userName: [ - { required: true, message: '请输入用户名称', trigger: 'blur' } + { required: true, message: '请输入用户名称', trigger: 'change' } ], type: [ { required: true, message: '请选择用户角色', trigger: 'change' } - ] + ], + serviceRate: [ + { required: true, message: '请输入商户服务费', trigger: 'change' } + ], + vipServiceRate: [ + { required: true, message: '请输入VIP服务费', trigger: 'change' } + ], + agentServiceRate: [ + { required: true, message: '请输入代理服务费', trigger: 'change' } + ], } } }, @@ -136,16 +180,21 @@ export default { deviceAdmin: false, serviceType: '1', withdrawServiceType: "1", - channelIds: [] + channelIds: [], + showBillMobile: false, + showBillMobilePrice: 0 } this.$nextTick(() => { this.$refs.form && this.$refs.form.clearValidate() }) }, getDetail() { + this.loading = true getSmUser(this.userId).then(response => { this.form = response.data this.title = "修改用户信息" + }).finally(() => { + this.loading = false }) }, submitForm() { @@ -172,7 +221,30 @@ export default { }, onChangeApp(app) { this.form.channelIds = [] - } + }, + // 修改为设备管理员 + onChangeDeviceAdmin(val) { + if (val) { + this.$confirm('【高危操作】是否确认设置用户为设备管理员?用户将可以通过微信小程序注册设备!', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning', + dangerouslyUseHTMLString: true + }).then(() => { + this.form.deviceAdmin = true; + }).catch((e) => { + this.form.deviceAdmin = false; + }); + } + }, } } - \ No newline at end of file + + + diff --git a/src/views/system/smUser/detail.vue b/src/views/system/smUser/detail.vue index 1a81082..c271b18 100644 --- a/src/views/system/smUser/detail.vue +++ b/src/views/system/smUser/detail.vue @@ -8,14 +8,14 @@ 用户详情 - 配置 + > --> - + - + - + + + + + + - + - - - - - - + - - - - - - - - - - - + 全部 是 否 + + + 全部 + 是 + 否 + + 搜索 重置 @@ -213,13 +200,13 @@ @click="handleResetService(scope.row)" v-hasPermi="['system:smUser:edit']" >重置服务费 - 配置 + >配置 -->