mirror of
https://gitee.com/beijing_hongye_huicheng/lilishop-ui.git
synced 2026-09-21 04:12:03 +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-alert type="warning">分销员申请</el-alert>
|
||||||
<el-form ref="form" :model="applyForm" :rules="rules">
|
<el-form ref="form" :model="applyForm" :rules="rules">
|
||||||
<el-form-item>
|
<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>
|
<el-form-item v-if="!onlineEntryClosed">
|
||||||
<el-button type="primary" :loading="applyLoading" @click="apply"
|
<el-button type="primary" :loading="applyLoading" @click="apply"
|
||||||
>提交申请</el-button
|
>提交申请</el-button
|
||||||
>
|
>
|
||||||
@@ -241,6 +246,7 @@ import { Message } from "@/utils/message";
|
|||||||
import { Edit } from '@element-plus/icons-vue';
|
import { Edit } from '@element-plus/icons-vue';
|
||||||
import {
|
import {
|
||||||
distribution,
|
distribution,
|
||||||
|
getRecruitPage,
|
||||||
submitRecruitApplication,
|
submitRecruitApplication,
|
||||||
distCash,
|
distCash,
|
||||||
distCashHistory,
|
distCashHistory,
|
||||||
@@ -256,6 +262,7 @@ export default {
|
|||||||
return {
|
return {
|
||||||
config,
|
config,
|
||||||
status: 0, // 申请状态,0为未申请 1 申请中 2 申请完成 3 功能暂未开启
|
status: 0, // 申请状态,0为未申请 1 申请中 2 申请完成 3 功能暂未开启
|
||||||
|
onlineEntryClosed: false, // 线上自助入口关闭
|
||||||
applyForm: {}, // 申请表单
|
applyForm: {}, // 申请表单
|
||||||
rules: {
|
rules: {
|
||||||
// 验证规则(V2 招募流程,旧实名认证字段已移除)
|
// 验证规则(V2 招募流程,旧实名认证字段已移除)
|
||||||
@@ -437,8 +444,29 @@ export default {
|
|||||||
if (res.success) this.logData = res.result;
|
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() {
|
distribution() {
|
||||||
// 获取分销员信息
|
// 获取分销员信息
|
||||||
|
this.onlineEntryClosed = false;
|
||||||
distribution()
|
distribution()
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
if (res?.result) {
|
if (res?.result) {
|
||||||
@@ -449,6 +477,7 @@ export default {
|
|||||||
this.getGoodsData();
|
this.getGoodsData();
|
||||||
} else if (type === "REFUSE") {
|
} else if (type === "REFUSE") {
|
||||||
this.status = 0;
|
this.status = 0;
|
||||||
|
this.loadRecruitEntryGate();
|
||||||
} else if (type === "RETREAT") {
|
} else if (type === "RETREAT") {
|
||||||
this.status = 4;
|
this.status = 4;
|
||||||
} else {
|
} else {
|
||||||
@@ -460,10 +489,11 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
// 没有资格申请,显示申请表单
|
// 没有资格申请,显示申请表单
|
||||||
this.status = 0;
|
this.status = 0;
|
||||||
|
this.loadRecruitEntryGate();
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
if (err?.code === 22000) {
|
if (this.isDistributionCloseError(err) || this.isDistributionCloseError(err?.data)) {
|
||||||
this.status = 3;
|
this.status = 3;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -155,6 +155,9 @@
|
|||||||
<el-radio :value="true">展示</el-radio>
|
<el-radio :value="true">展示</el-radio>
|
||||||
<el-radio :value="false">不展示</el-radio>
|
<el-radio :value="false">不展示</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
|
<div class="form-desc">
|
||||||
|
关闭后,买家不能从「我的分销」自助申请,审核拒绝后也不能从该入口再申请。通过图文邀请卡(招募码)仍可加入。与「是否开启分销」无关,关闭本项不会停用已有分销员;关闭「是否开启分销」后邀请卡也不能再加入。
|
||||||
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="招募海报">
|
<el-form-item label="招募海报">
|
||||||
<div class="recruit-poster-block">
|
<div class="recruit-poster-block">
|
||||||
|
|||||||
Reference in New Issue
Block a user