From 22385833f108eb93276ad0cc91252d055d11ce7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A3=B7=E5=8F=B6?= <14103883+leaf-phos@user.noreply.gitee.com> Date: Fri, 17 Jan 2025 18:16:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/ss/bonus.js | 11 + src/components/FormCol/index.vue | 30 +- src/utils/constants.js | 14 +- src/views/mch/vipLevel/index.vue | 2 +- src/views/ss/bonus/index.vue | 45 ++- src/views/ss/vip/components/VipEditDialog.vue | 71 ++--- src/views/ss/vip/components/VipTable.vue | 24 +- .../components/VipLevelEditDialog.vue | 240 --------------- .../ss/vipLevel/components/VipLevelTable.vue | 5 - src/views/ss/vipLevel/edit/index.vue | 287 ++++++++++++++++++ src/views/ss/vipLevel/index.vue | 2 +- 11 files changed, 411 insertions(+), 320 deletions(-) delete mode 100644 src/views/ss/vipLevel/components/VipLevelEditDialog.vue create mode 100644 src/views/ss/vipLevel/edit/index.vue diff --git a/src/api/ss/bonus.js b/src/api/ss/bonus.js index 419d0a5..55d86e6 100644 --- a/src/api/ss/bonus.js +++ b/src/api/ss/bonus.js @@ -61,3 +61,14 @@ export function payBonus(id) { method: 'put' }) } + +// 减余额 +export function subtractBalanceBonus(id, amount) { + return request({ + url: `/ss/bonus/${id}/subtract`, + method: 'put', + params: { + amount + } + }) +} diff --git a/src/components/FormCol/index.vue b/src/components/FormCol/index.vue index d43e12c..9916ee0 100644 --- a/src/components/FormCol/index.vue +++ b/src/components/FormCol/index.vue @@ -1,20 +1,12 @@ + + diff --git a/src/utils/constants.js b/src/utils/constants.js index 52bbb30..c7e7e86 100644 --- a/src/utils/constants.js +++ b/src/utils/constants.js @@ -291,12 +291,6 @@ export const TransactionBillType = { WITHDRAW: "2", // 提现 } -// VIP有效期类型 -export const VipExpireType = { - FOREVER: "1", // 永久有效 - TIME: "2", // 有效期 -} - // 设备获取在线状态类型 export const DeviceOnlineType = { GET: "1", //OneNet获取 @@ -326,9 +320,15 @@ export const AppType = { } // 会员等级状态 -export const VipLevelStatus = { +export const VipLevelSkuStatus = { ENABLED: "1", // 启用 DISABLED: "2", // 禁用 } +// 会员等级SKU限制类型 +export const VipLevelSkuLimitType = { + NONE: "1", // 不限制 + WEEK: "2", // 自然周 + MONTH: "3", // 月(30天) +} diff --git a/src/views/mch/vipLevel/index.vue b/src/views/mch/vipLevel/index.vue index b53dad6..0546c61 100644 --- a/src/views/mch/vipLevel/index.vue +++ b/src/views/mch/vipLevel/index.vue @@ -60,7 +60,7 @@ import { listVipLevel, getVipLevel, delVipLevel, addVipLevel, updateVipLevel } from "@/api/ss/vipLevel"; import { $showColumns } from '@/utils/mixins'; import UserLink from '@/components/Business/SmUser/UserLink.vue' -import VipLevelEditDialog from '@/views/ss/vipLevel/components/VipLevelEditDialog.vue' +import VipLevelEditDialog from '@/views/ss/vipLevel/edit/index.vue' import VipLevelTable from '@/views/ss/vipLevel/components/VipLevelTable.vue' import { isEmpty } from '@/utils' import { diff --git a/src/views/ss/bonus/index.vue b/src/views/ss/bonus/index.vue index 4743cdb..90a1c44 100644 --- a/src/views/ss/bonus/index.vue +++ b/src/views/ss/bonus/index.vue @@ -27,8 +27,8 @@ @keyup.enter.native="handleQuery" /> - - + + + + + + + + 搜索 重置 @@ -99,6 +105,9 @@ + @@ -192,7 +209,7 @@ diff --git a/src/views/ss/vip/components/VipTable.vue b/src/views/ss/vip/components/VipTable.vue index 7905ba2..15a6272 100644 --- a/src/views/ss/vip/components/VipTable.vue +++ b/src/views/ss/vip/components/VipTable.vue @@ -46,6 +46,21 @@ + + + + + @@ -80,15 +95,20 @@ const defaultSort = { export default { name: 'VipTable', mixins: [$showColumns], + dicts: ['vip_level_sku_limit_type'], data() { return { // 字段列表 columns: [ {key: 'id', visible: true, label: 'ID', minWidth: null, sortable: true, overflow: false, align: 'center', width: "80"}, {key: 'userName', visible: true, label: '用户', minWidth: null, sortable: true, overflow: false, align: 'center', width: null}, - {key: 'storeName', visible: true, label: '店铺', minWidth: null, sortable: true, overflow: false, align: 'center', width: null}, {key: 'vipLevelName', visible: true, label: '会员等级', minWidth: null, sortable: true, overflow: false, align: 'center', width: null}, - {key: 'expireTime', visible: true, label: '有效期', minWidth: null, sortable: false, overflow: false, align: 'center', width: null}, + {key: 'storeList', visible: true, label: '可用店铺', minWidth: null, sortable: false, overflow: false, align: 'center', width: null}, + {key: 'startTime', visible: true, label: '有效期', minWidth: null, sortable: false, overflow: false, align: 'center', width: null}, + {key: 'nextResetTime', visible: true, label: '下次重置', minWidth: null, sortable: false, overflow: false, align: 'center', width: null}, + {key: 'totalCount', visible: true, label: '总计使用', minWidth: null, sortable: true, overflow: false, align: 'center', width: null}, + {key: 'roundCount', visible: true, label: '当前周期使用', minWidth: null, sortable: true, overflow: false, align: 'center', width: null}, + {key: 'limitType', visible: true, label: '使用限制', minWidth: null, sortable: true, overflow: false, align: 'center', width: null}, {key: 'createTime', visible: true, label: '创建时间', minWidth: null, sortable: false, overflow: false, align: 'center', width: null}, ], // 排序方式 diff --git a/src/views/ss/vipLevel/components/VipLevelEditDialog.vue b/src/views/ss/vipLevel/components/VipLevelEditDialog.vue deleted file mode 100644 index 68ac056..0000000 --- a/src/views/ss/vipLevel/components/VipLevelEditDialog.vue +++ /dev/null @@ -1,240 +0,0 @@ - - - - - diff --git a/src/views/ss/vipLevel/components/VipLevelTable.vue b/src/views/ss/vipLevel/components/VipLevelTable.vue index bbb682c..3296c03 100644 --- a/src/views/ss/vipLevel/components/VipLevelTable.vue +++ b/src/views/ss/vipLevel/components/VipLevelTable.vue @@ -52,9 +52,6 @@ - @@ -94,7 +91,6 @@ const defaultSort = { export default { name: 'VipLevelTable', mixins: [$showColumns], - dicts: ['vip_level_status'], components: { UserLink }, props: { listApi: { @@ -109,7 +105,6 @@ export default { {key: 'id', visible: true, label: 'ID', minWidth: null, sortable: true, overflow: false, align: 'center', width: "80"}, {key: 'mchName', visible: true, label: '商户', minWidth: null, sortable: true, overflow: false, align: 'center', width: null}, {key: 'name', 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: 'discount', visible: true, label: '折扣', minWidth: null, sortable: true, overflow: false, align: 'center', width: null}, {key: 'description', visible: true, label: '描述文本', minWidth: null, sortable: true, overflow: true, align: 'center', width: null}, {key: 'storeIds', visible: true, label: '可用店铺', minWidth: null, sortable: true, overflow: false, align: 'center', width: null}, diff --git a/src/views/ss/vipLevel/edit/index.vue b/src/views/ss/vipLevel/edit/index.vue new file mode 100644 index 0000000..b45593b --- /dev/null +++ b/src/views/ss/vipLevel/edit/index.vue @@ -0,0 +1,287 @@ + + + + + diff --git a/src/views/ss/vipLevel/index.vue b/src/views/ss/vipLevel/index.vue index d27380a..0d4d00d 100644 --- a/src/views/ss/vipLevel/index.vue +++ b/src/views/ss/vipLevel/index.vue @@ -61,7 +61,7 @@ import { delVipLevel } from "@/api/ss/vipLevel"; import { $showColumns } from '@/utils/mixins'; import UserLink from '@/components/Business/SmUser/UserLink.vue' -import VipLevelEditDialog from '@/views/ss/vipLevel/components/VipLevelEditDialog.vue' +import VipLevelEditDialog from '@/views/ss/vipLevel/edit/index.vue' import VipLevelTable from '@/views/ss/vipLevel/components/VipLevelTable.vue' import { isEmpty } from '@/utils'