添加:分销商申请转正流程

This commit is contained in:
wuhui_zzw 2024-03-27 18:08:41 +08:00
parent bb5d193f43
commit 6850c7d547
5 changed files with 413 additions and 36 deletions

View File

@ -715,6 +715,14 @@ export function writeOff(data) {
export function vipExchangeCode(data) {
return request.post("sVip/vipExchangeCode", data);
}
// 分销商 - 申请转正信息提交
export function brokerageApplyFormalPost(data) {
return request.post("user/brokerage_formal_info", data);
}
// 分销商 - 申请转正信息获取
export function brokerageApplyFormalGet() {
return request.get("user/brokerage_formal_info");
}

View File

@ -248,6 +248,12 @@
"navigationBarTitleText": "我的推广"
}
},
{
"path": "user_spread_user/formal",
"style": {
"navigationBarTitleText": "申请转正"
}
},
{
"path": "user_spread_code/index",
"style": {

View File

@ -177,7 +177,7 @@
</view>
</view>
<!-- 运营中心 -->
<view class="user-menus" v-if="isLogin && identityShow" style="margin-top: 20rpx;">
<view class="user-menus" v-if="isLogin && (identityShow || userInfo.service || userInfo.shopMerService || userInfo.smokeMerService)" style="margin-top: 20rpx;">
<view class="title skeleton-rect">运营中心</view>
<view class="menu-box operation-center">
<view class="item" @click="clickOperationCenterMenu('headquarters')" v-if="Object.keys(identity.headquarters_list).length > 0">
@ -580,8 +580,9 @@
if(that.is_promoter == 1){
item.isShow = that.is_promoter == 1 && that.extension_status == 1
}else if(that.is_promoter == 0 ){
item.isShow = that.is_promoter == 0 && that.extension_status == 1
item.url="/pages/users/distributor/index"
item.isShow = false
// item.isShow = that.is_promoter == 0 && that.extension_status == 1
// item.url="/pages/users/distributor/index"
}
}
}

View File

@ -0,0 +1,337 @@
<template>
<view class="main-content" :style="viewColor">
<!--申请表单-->
<view class="form-content">
<!--背景图片-->
<image mode="widthFix" class="bg-img" src="@/static/images/supplier/supplier_apply_bg.jpg" />
<!--表单内容-->
<view class='form-main'>
<!--申请表单-->
<view class="list">
<view class="list-item list-img-item">
<view class="item-title">请上传申请凭证</view>
<view class="item-desc">(图片格式支持JPGPNGJPEG)</view>
<view class="upload">
<view class='pictrue' v-if="apply_info.voucher_image">
<image :src='apply_info.voucher_image'></image>
<text class='iconfont icon-guanbi1' @click="delPic('','voucher_image')"></text>
</view>
<view v-else class='pictrue acea-row row-center-wrapper row-column' @click="uploadPic('voucher_image')">
<text class='iconfont icon-icon25201'></text>
<view>上传图片</view>
</view>
</view>
</view>
<!--提交按钮-->
<template v-if="apply_info">
<view v-if="apply_info.status == 0" class="submit-btn not-btn">审核中</view>
<view v-else-if="apply_info.status == 1" class="submit-btn not-btn">已通过</view>
<template v-else>
<view v-if="apply_info.voucher_image" class="submit-btn" @click="submitInfo">提交申请</view>
<view v-else class="submit-btn not-btn">提交申请</view>
</template>
</template>
<template v-else>
<view v-if="apply_info.voucher_image" class="submit-btn" @click="submitInfo">提交申请</view>
<view v-else class="submit-btn not-btn">提交申请</view>
</template>
</view>
</view>
</view>
<!--授权登录-->
<authorize @onLoadFun="onLoadFun" :isAuto="isAuto" :isShowAuth="isShowAuth" @authColse="authClose"></authorize>
</view>
</template>
<script>
import {mapGetters} from "vuex";
import authorize from '@/components/Authorize';
import {brokerageApplyFormalGet, brokerageApplyFormalPost} from "@/api/user";
export default {
name: 'business',
components: {
authorize,
},
computed: {
...mapGetters(['isLogin', 'uid', 'userInfo', 'viewColor'])
},
data() {
return {
apply_id: 0,
apply_info:{
voucher_image: ''
},
//
isAuto: false, //
isShowAuth: false,//
}
},
onLoad(options) {
let _this = this;
//
if (!_this.isLogin) {
//
_this.isAuto = true;
_this.isShowAuth = true
}else{
//
_this.init();
}
},
methods: {
//
onLoadFun() {
if(this.isLogin){
this.isShowAuth = false;
this.init();
}
},
//
authClose(e) {
this.isShowAuth = e
},
//
init () {
this.getApplyInfo();
},
// -
uploadPic(field) {
let _this = this;
_this.$util.uploadImageOne('upload/image', function(res) {
if(res.status == 200){
let data = res.data || {};
let pics = data.path || '';
_this.$set(_this.apply_info, field, pics);
}
});
},
// -
delPic(index, field){
let _this = this;
let pics = '';
if(field === 'corporation_id_card' || field === 'chairman_id_card'){
pics = Object.values(_this.apply_info[field]);
pics.splice(index, 1);
}
_this.$set(_this.apply_info, field, pics);
},
//
submitInfo(){
let _this = this;
brokerageApplyFormalPost(_this.apply_info).then(res => {
if (res.status == 200) {
_this.$util.Tips({
title: '提交成功!',
},{
tab: 5,
url: '/pages/users/user_spread_user/index'
});
}
}).catch(err => {
this.$util.Tips({title: err});
});
},
//
getApplyInfo(){
let _this = this;
brokerageApplyFormalGet().then(res => {
if (res.status == 200) {
let data = res.data || {};
_this.apply_info = data || {};
}
}).catch(err => {
this.$util.Tips({title: err});
});
}
}
}
</script>
<style scoped lang="scss">
.main-content{
width: 100vw;
min-height: 100vh!important;
.form-content{
position: relative;
.bg-img{
width: 100vw !important;
height: 2800rpx !important;
}
.form-main{
position: absolute;
top: 270rpx;
left: 0;
width: 100vw;
padding: 60rpx 30rpx 30rpx 30rpx;
.apply-record{
position: absolute;
display: flex;
align-items: center;
top: 0;
right: 0;
color: #fff;
font-size: 22rpx;
background-color: rgba(0, 0, 0, 0.3);
padding: 8rpx 18rpx;
border-radius: 20px 0px 0px 20px;
.icon-xiangyou{
font-size: 22rpx!important;
}
}
.list{
width: 100%;
padding: 30rpx;
background: #FFFFFF;
border-top-right-radius: 30rpx;
border-top-left-radius: 30rpx;
.list-input-item{
width: 100%;
display: inline-flex;
flex-direction: row;
flex-wrap: nowrap;
align-items: center;
justify-content: flex-start;
.item-name{
width: 230rpx;
height: 40rpx;
line-height: 40rpx;
text-align: left;
font-size: 28rpx;
}
.item-input{
width: calc(100% - 230rpx) !important;
font-size: 30rpx;
}
}
.list-img-item{
width: 100%;
display: inline-flex;
flex-direction: column;
flex-wrap: nowrap;
align-items: flex-start;
justify-content: center;
.item-title{
color: #666666;
font-size: 28rpx;
display: block;
}
.item-desc{
color: #B2B2B2;
font-size: 22rpx;
display: block;
margin-top: 8rpx;
line-height: 36rpx;
}
.upload{
margin-top: 20rpx;
display: inline-flex;
flex-direction: row;
flex-wrap: wrap;
align-items: center;
justify-content: flex-start;
.pictrue {
width: 130rpx;
height: 130rpx;
position: relative;
font-size: 11px;
color: #bbb;
margin-right: 15rpx;
margin-bottom: 15rpx;
&:nth-child(4n) {
margin-right: 0;
}
&:nth-last-child(1) {
border: 0.5px solid #ddd;
box-sizing: border-box;
}
uni-image, image {
width: 100%;
height: 100%;
border-radius: 1px;
img {
-webkit-touch-callout: none;
-webkit-user-select: none;
-moz-user-select: none;
display: block;
position: absolute;
top: 0;
left: 0;
opacity: 0;
width: 100%;
height: 100%;
}
}
.icon-guanbi1 {
font-size: 33rpx;
position: absolute;
top: -10px;
right: -10px;
}
}
}
}
.list-item{
padding: 20rpx 0;
}
.list-item:not(:last-child){
border-bottom: 1px solid #eee;
}
.submit-btn{
width: 100%;
margin: 50rpx auto auto auto;
height: 90rpx;
line-height: 90rpx;
border-radius: 50rpx;
text-align: center;
font-size: 15px;
color: #fff;
background: #409eff;
}
.manage-info {
width: calc(100% - 230rpx) !important;
margin-top: 20rpx;
display: inline-flex;
flex-direction: row;
flex-wrap: nowrap;
align-items: center;
justify-content: flex-start;
.left {
width: 100rpx;
text-align: left;
.left-image {
width: 90rpx;
height: 90rpx;
border-radius: 50%;
}
}
.right {
width: calc(100% - 100rpx);
.nickname {
width: 100%;
font-size: 30rpx;
font-weight: bold;
}
.uid {
width: 100%;
}
}
}
}
}
}
.not-btn{
background-color: #909399!important;
color: #fff!important;
}
}
</style>

View File

@ -31,30 +31,30 @@
<view @click="openSubscribe('/pages/users/user_cash/index')" class='bnt b-color'>立即提现</view>
<!-- #endif -->
<view class='list acea-row row-between-wrapper'>
<navigator url='/pages/users/user_spread_code/index' hover-class="none" class='item acea-row row-center-wrapper row-column'>
<text class='iconfont icon-erweima'></text>
<view>推广名片</view>
</navigator>
<navigator url='/pages/users/promoter-list/index' hover-class="none" class='item acea-row row-center-wrapper row-column'>
<text class='iconfont icon-tongji'></text>
<view>推广人统计</view>
</navigator>
<navigator url='/pages/users/user_spread_money/index?type=2' hover-class="none" class='item acea-row row-center-wrapper row-column'>
<text class='iconfont icon-qiandai'></text>
<view>佣金明细</view>
</navigator>
<navigator url='/pages/users/promoter-order/index' hover-class="none" class='item acea-row row-center-wrapper row-column'>
<text class='iconfont icon-dingdan'></text>
<view>推广人订单</view>
</navigator>
<!--<navigator url='/pages/users/promoter_rank/index' hover-class="none" class='item acea-row row-center-wrapper row-column'>-->
<!-- <text class='iconfont icon-paihang1'></text>-->
<!-- <view>推广人排行</view>-->
<!--</navigator>-->
<!--<navigator url='/pages/users/commission_rank/index' hover-class="none" class='item acea-row row-center-wrapper row-column'>-->
<!-- <text class='iconfont icon-paihang'></text>-->
<!-- <view>佣金排行</view>-->
<!--</navigator>-->
<view class='item acea-row row-center-wrapper row-column' @click="goToPage('/pages/users/user_spread_code/index')">
<text class='iconfont icon-erweima'></text>
<view>推广名片</view>
</view>
<view class='item acea-row row-center-wrapper row-column' @click="goToPage('/pages/users/promoter-list/index')">
<text class='iconfont icon-erweima'></text>
<view>推广人统计</view>
</view>
<view class='item acea-row row-center-wrapper row-column' @click="goToPage('/pages/users/user_spread_money/index?type=2')">
<text class='iconfont icon-erweima'></text>
<view>佣金明细</view>
</view>
<view class='item acea-row row-center-wrapper row-column' @click="goToPage('/pages/users/promoter-order/index')">
<text class='iconfont icon-erweima'></text>
<view>推广人订单</view>
</view>
<!--<view class='item acea-row row-center-wrapper row-column' @click="goToPage('/pages/users/promoter_rank/index')">
<text class='iconfont icon-erweima'></text>
<view>推广人排行</view>
</view>
<view class='item acea-row row-center-wrapper row-column' @click="goToPage('/pages/users/commission_rank/index')">
<text class='iconfont icon-erweima'></text>
<view>佣金排行</view>
</view>-->
</view>
</view>
<view class="instructions" v-if="showProtocol">
@ -71,11 +71,9 @@
</template>
<script>
import { getUserInfo,spreadInfo, commissionDescription } from '@/api/user.js';
import { spreadInfo, commissionDescription } from '@/api/user.js';
import { openEextractSubscribe } from '@/utils/SubscribeMessage.js';
import {
mapGetters
} from "vuex";
import {mapGetters} from "vuex";
import authorize from '@/components/Authorize';
import parser from "@/components/jyf-parser/jyf-parser";
import spread from "../../../libs/spread";
@ -107,7 +105,6 @@
this.isAuto = true;
this.isShowAuth = true
}
//
if(options.spread) spread(options.spread, this.isLogin)
},
@ -141,9 +138,7 @@
uni.hideLoading();
});
},
/**
* 获取佣金数据
*/
//
spreadInfo: function() {
let that = this;
spreadInfo().then(res => {
@ -158,7 +153,37 @@
});
},1000)
});
}
},
//
goToPage(path){
//
if(path === '/pages/users/user_spread_code/index' && this.userInfo.is_formal != 1){
uni.showModal({
title: '提示',
content: '未转正,无分享权限!',
cancelText: '取消',
confirmText: '申请转正',
success: function(res) {
if (res.confirm) {
uni.navigateTo({
url: '/pages/users/user_spread_user/formal'
})
}
}
});
return false;
}
//
uni.navigateTo({
url: path
})
}
},
// #ifdef MP
//