Skip to content

Commit 7ea3571

Browse files
committed
trade: 分销业务后台功能:清除推广员、修改推广资格
1 parent 0e2ea39 commit 7ea3571

File tree

2 files changed

+70
-13
lines changed

2 files changed

+70
-13
lines changed

src/api/mall/trade/brokerage/user/index.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ export interface BrokerageUserVO {
88
brokerageTime: Date
99
price: number
1010
frozenPrice: number
11+
12+
nickname: string
1113
}
1214

1315
// 查询分销用户列表
@@ -19,3 +21,18 @@ export const getBrokerageUserPage = async (params: any) => {
1921
export const getBrokerageUser = async (id: number) => {
2022
return await request.get({ url: `/trade/brokerage-user/get?id=` + id })
2123
}
24+
25+
// 修改推广员
26+
export const updateBindUser = async (data: any) => {
27+
return await request.put({ url: `/trade/brokerage-user/update-bind-user`, data })
28+
}
29+
30+
// 清除推广员
31+
export const clearBindUser = async (data: any) => {
32+
return await request.put({ url: `/trade/brokerage-user/clear-bind-user`, data })
33+
}
34+
35+
// 修改推广资格
36+
export const updateBrokerageEnabled = async (data: any) => {
37+
return await request.put({ url: `/trade/brokerage-user/update-brokerage-enable`, data })
38+
}

src/views/mall/trade/brokerage/user/index.vue

Lines changed: 53 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,8 @@
104104
active-text=""
105105
inactive-text=""
106106
inline-prompt
107-
:disabled="!checkPermi(['trade:brokerage-user:update-brokerage-user'])"
108-
@change="handleBrokerageEnabledChange(scope.row.id, !scope.row.brokerageEnabled)"
107+
:disabled="!checkPermi(['trade:brokerage-user:update-bind-user'])"
108+
@change="handleBrokerageEnabledChange(scope.row)"
109109
/>
110110
</template>
111111
</el-table-column>
@@ -131,10 +131,14 @@
131131
v-hasPermi="[
132132
'trade:brokerage-user:user-query',
133133
'trade:brokerage-user:order-query',
134-
'trade:brokerage-user:update-brokerage-user',
135-
'trade:brokerage-user:clear-brokerage-user'
134+
'trade:brokerage-user:update-bind-user',
135+
'trade:brokerage-user:clear-bind-user'
136136
]"
137137
>
138+
<el-button link type="primary">
139+
<Icon icon="ep:d-arrow-right" />
140+
更多
141+
</el-button>
138142
<template #dropdown>
139143
<el-dropdown-menu>
140144
<el-dropdown-item
@@ -151,13 +155,15 @@
151155
</el-dropdown-item>
152156
<el-dropdown-item
153157
command="openUpdateBindUser"
154-
v-if="checkPermi(['trade:brokerage-user:update-brokerage-user'])"
158+
v-if="checkPermi(['trade:brokerage-user:update-bind-user'])"
155159
>
156160
修改上级推广人
157161
</el-dropdown-item>
158162
<el-dropdown-item
159-
command="openClearBindUser"
160-
v-if="checkPermi(['trade:brokerage-user:clear-brokerage-user'])"
163+
command="handleClearBindUser"
164+
v-if="
165+
scope.row.bindUserId && checkPermi(['trade:brokerage-user:clear-bind-user'])
166+
"
161167
>
162168
清除上级推广人
163169
</el-dropdown-item>
@@ -186,7 +192,6 @@ import { fenToYuanFormat } from '@/utils/formatter'
186192
defineOptions({ name: 'TradeBrokerageUser' })
187193
188194
const message = useMessage() // 消息弹窗
189-
const { t } = useI18n() // 国际化
190195
191196
const loading = ref(true) // 列表的加载中
192197
const total = ref(0) // 列表的总页数
@@ -235,8 +240,8 @@ const handleCommand = (command: string, row: BrokerageUserApi.BrokerageUserVO) =
235240
case 'openUpdateBindUser':
236241
openUpdateBindUser(row.id)
237242
break
238-
case 'openClearBindUser':
239-
openClearBindUser(row.id)
243+
case 'handleClearBindUser':
244+
handleClearBindUser(row)
240245
break
241246
}
242247
}
@@ -249,12 +254,47 @@ const openBrokerageOrderTable = (id: number) => {}
249254
250255
/** 打开表单:修改上级推广人 */
251256
const openUpdateBindUser = (id: number) => {}
257+
/** 修改上级推广人 */
258+
const handleUpdateBindUser = async (row: BrokerageUserApi.BrokerageUserVO) => {
259+
try {
260+
// 二次确认
261+
await message.confirm(`确认要修改"${row.nickname}"的上级推广人吗?`)
262+
// 发起修改
263+
await BrokerageUserApi.updateBindUser({ id: row.id })
264+
// 刷新列表
265+
await getList()
266+
} catch {}
267+
}
252268
253-
/** 打开表单:清除上级推广人 */
254-
const openClearBindUser = (id: number) => {}
269+
/** 清除上级推广人 */
270+
const handleClearBindUser = async (row: BrokerageUserApi.BrokerageUserVO) => {
271+
try {
272+
// 二次确认
273+
await message.confirm(`确认要清除"${row.nickname}"的上级推广人吗?`)
274+
// 发起修改
275+
await BrokerageUserApi.clearBindUser({ id: row.id })
276+
message.success('清除成功')
277+
// 刷新列表
278+
await getList()
279+
} catch {}
280+
}
255281
256282
/** 推广资格 开通/关闭 */
257-
const handleBrokerageEnabledChange = (id: number, enabled: boolean) => {}
283+
const handleBrokerageEnabledChange = async (row: BrokerageUserApi.BrokerageUserVO) => {
284+
try {
285+
// 二次确认
286+
const text = row.brokerageEnabled ? '开通' : '关闭'
287+
await message.confirm(`确认要${text}"${row.nickname}"的推广资格吗?`)
288+
// 发起修改
289+
await BrokerageUserApi.updateBrokerageEnabled({ id: row.id, enabled: row.brokerageEnabled })
290+
message.success(text + '成功')
291+
// 刷新列表
292+
await getList()
293+
} catch {
294+
// 异常时,需要重置回之前的值
295+
row.brokerageEnabled = !row.brokerageEnabled
296+
}
297+
}
258298
259299
/** 初始化 **/
260300
onMounted(() => {

0 commit comments

Comments
 (0)