mirror of
https://gitee.com/beijing_hongye_huicheng/lilishop-ui.git
synced 2026-09-20 20:02:05 +08:00
feat(distribution): 添加招募页面信息与状态管理
- 新增 getRecruitPage 函数以获取招募页面信息 - 更新 Distribution.vue 以处理招募流程状态,增加线上入口关闭的逻辑 - 在分销员申请流程中集成招募入口状态检查,优化用户体验 - 更新管理端分销招募设置说明,明确用户申请流程与入口状态
This commit is contained in:
@@ -355,6 +355,17 @@ export function distribution () {
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 招募页信息
|
||||
*/
|
||||
export function getRecruitPage () {
|
||||
return request({
|
||||
url: `/buyer/distribution/distribution/recruit/page`,
|
||||
method: Method.GET,
|
||||
needToken: true
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 提交招募申请
|
||||
*/
|
||||
|
||||
@@ -7,9 +7,14 @@
|
||||
<el-alert type="warning">分销员申请</el-alert>
|
||||
<el-form ref="form" :model="applyForm" :rules="rules">
|
||||
<el-form-item>
|
||||
<el-alert type="info" show-icon :closable="false" title="分销员申请已改为招募流程,请通过招募入口加入。" />
|
||||
<el-alert
|
||||
type="info"
|
||||
show-icon
|
||||
:closable="false"
|
||||
:title="onlineEntryClosed ? '暂未开放线上招募' : '分销员申请已改为招募流程。'"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-form-item v-if="!onlineEntryClosed">
|
||||
<el-button type="primary" :loading="applyLoading" @click="apply"
|
||||
>提交申请</el-button
|
||||
>
|
||||
@@ -241,6 +246,7 @@ import { Message } from "@/utils/message";
|
||||
import { Edit } from '@element-plus/icons-vue';
|
||||
import {
|
||||
distribution,
|
||||
getRecruitPage,
|
||||
submitRecruitApplication,
|
||||
distCash,
|
||||
distCashHistory,
|
||||
@@ -256,6 +262,7 @@ export default {
|
||||
return {
|
||||
config,
|
||||
status: 0, // 申请状态,0为未申请 1 申请中 2 申请完成 3 功能暂未开启
|
||||
onlineEntryClosed: false, // 线上自助入口关闭
|
||||
applyForm: {}, // 申请表单
|
||||
rules: {
|
||||
// 验证规则(V2 招募流程,旧实名认证字段已移除)
|
||||
@@ -437,8 +444,29 @@ export default {
|
||||
if (res.success) this.logData = res.result;
|
||||
});
|
||||
},
|
||||
isDistributionCloseError(payload) {
|
||||
return payload?.code === 22000 || payload?.data?.code === 22000;
|
||||
},
|
||||
loadRecruitEntryGate() {
|
||||
getRecruitPage()
|
||||
.then((res) => {
|
||||
if (this.isDistributionCloseError(res)) {
|
||||
this.status = 3;
|
||||
return;
|
||||
}
|
||||
if (res?.success) {
|
||||
this.onlineEntryClosed = res.result?.onlineEntryVisible !== true;
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
if (this.isDistributionCloseError(err) || this.isDistributionCloseError(err?.data)) {
|
||||
this.status = 3;
|
||||
}
|
||||
});
|
||||
},
|
||||
distribution() {
|
||||
// 获取分销员信息
|
||||
this.onlineEntryClosed = false;
|
||||
distribution()
|
||||
.then((res) => {
|
||||
if (res?.result) {
|
||||
@@ -449,6 +477,7 @@ export default {
|
||||
this.getGoodsData();
|
||||
} else if (type === "REFUSE") {
|
||||
this.status = 0;
|
||||
this.loadRecruitEntryGate();
|
||||
} else if (type === "RETREAT") {
|
||||
this.status = 4;
|
||||
} else {
|
||||
@@ -460,10 +489,11 @@ export default {
|
||||
} else {
|
||||
// 没有资格申请,显示申请表单
|
||||
this.status = 0;
|
||||
this.loadRecruitEntryGate();
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
if (err?.code === 22000) {
|
||||
if (this.isDistributionCloseError(err) || this.isDistributionCloseError(err?.data)) {
|
||||
this.status = 3;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -155,6 +155,9 @@
|
||||
<el-radio :value="true">展示</el-radio>
|
||||
<el-radio :value="false">不展示</el-radio>
|
||||
</el-radio-group>
|
||||
<div class="form-desc">
|
||||
关闭后,买家不能从「我的分销」自助申请,审核拒绝后也不能从该入口再申请。通过图文邀请卡(招募码)仍可加入。与「是否开启分销」无关,关闭本项不会停用已有分销员;关闭「是否开启分销」后邀请卡也不能再加入。
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="招募海报">
|
||||
<div class="recruit-poster-block">
|
||||
|
||||
Reference in New Issue
Block a user