smartswrtch-app/page_fenbao/hehuoren/addhehuo.vue

285 lines
7.5 KiB
Vue
Raw Normal View History

2024-11-26 18:02:13 +08:00
<template>
<view class="page">
<u-navbar title="创建合伙人" :border-bottom="false" :background="bgc" title-color='#000' back-icon-color="#000" title-size='36' height='50'></u-navbar>
<view class="box">
<view class="title">
基本信息
</view>
<view class="list">
<view class="list_val">
<view class="" style="padding-top:12rpx">合伙人名称</view> <input type="text" v-model="level" placeholder="请输入合伙人名称" />
</view>
<view class="list_val">
<view class="" style="padding-top:12rpx">分成比例</view> <input type="text" v-model="ratio" placeholder="请输入分成比例 %" />
</view>
<view class="list_val">
<view class="" style="padding-top:12rpx">手机号码</view> <input type="text" v-model="tel" placeholder="请输入手机号码" />
</view>
<view class="list_val" style="position: relative;">
<view class="" style="padding-top:12rpx;width: 176rpx;">绑定店铺</view> <input @click="show = true" type="text" disabled="false" v-model="sheng" :placeholder="sheng" />
<u-icon name="arrow-down" style="position: absolute;top: 30%;right: 14rpx;" color="#808080"></u-icon>
<!-- <u-picker v-model="show" mode="region" @confirm="confirm"></u-picker> -->
</view>
</view>
<view class="title">
商户权限
</view>
<view class="swlist">
<view class="swlist_val" v-for="(item,index) in list" :key="index">
<view class="lt">
<view class="one">
{{item.name}}
</view>
<view class="two">
{{item.tit}}
</view>
</view>
<view class="rt">
<u-switch v-model="item.checked" @change="change" active-color="#8883F0 " size="36" inactive-color="#eee"></u-switch>
</view>
</view>
</view>
<view class="baocun" @click="btncj">
创建
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
list:[
{name:'查看店铺',tit:'是否允许查看店铺',checked:false},
{name:'操作店铺',tit:'是否允许操作店铺',checked:false},
{name:'查看设备',tit:'是否允许查看设备',checked:false},
{name:'操作设备',tit:'是否允许操作设备',checked:false},
{name:'查看订单',tit:'是否允许查看订单',checked:false},
{name:'操作订单',tit:'是否允许操作订单',checked:false},
],
show:false,
bgc: {
backgroundColor: " #8883F0",
},
level:'',
name:'',
ratio:'',
tel:'',
sheng:'请选择店铺',
arr:[],
arrqx:[],
agentLevel:''
}
},
onLoad() {
this.agentLevel = uni.getStorageSync('userdata').agentLevel
},
methods: {
confirm(e){
this.arr = []
this.sheng = e.province.label + '/' + e.city.label + "/" + e.area.label
this.arr.push(e.province.label)
this.arr.push(e.city.label)
this.arr.push(e.area.label)
},
change(e){
console.log(this.list)
},
btncj(){
if(this.name == '' || this.name == '请输入代理名称'){
uni.showToast({
title: '请输入代理名称',
icon: 'none',
duration: 1000
})
}else if(this.ratio == '' || this.ratio == '请输入分成比例 %'){
uni.showToast({
title: '请输入分成比例 %',
icon: 'none',
duration: 1000
})
}else if(this.tel == '' || this.tel == '请输入手机号码'){
uni.showToast({
title: '请输入手机号码',
icon: 'none',
duration: 1000
})
}else if(this.sheng == '请选择省市区'){
uni.showToast({
title: '请选择省市区',
icon: 'none',
duration: 1000
})
}else{
this.arrqx = []
let mapping = {
'允许登录': 'agent:login',
'允许提现': 'agent:withdraw',
'展示分成比例': 'agent:point:show',
'代理操作': 'agent:operation',
'设备显示': 'agent:device:show',
'设备操作': 'agent:device:operation',
'店铺操作': 'agent:store:operation',
'订单管理': 'agent:order:manage'
};
this.list.forEach((item) => {
if (item.checked && mapping.hasOwnProperty(item.name)) {
this.arrqx.push(mapping[item.name]);
}
})
let data = {
name:this.name,
point:this.ratio,
mobile:this.tel,
area:this.arr,
permissions:this.arrqx
}
this.$u.post('/agent/agent',data).then(res => {
if (res.code == 200) {
uni.showToast({
title: '创建成功',
icon: 'success',
duration: 1000
})
setTimeout(()=>{
uni.navigateBack()
},1500)
}else if(res.msg == '请输入正确的手机号'){
uni.showToast({
title: '请输入正确的手机号',
icon: 'none',
duration: 1000
})
}else if(res.msg == '该手机号所绑定的用户已经是代理商,请勿重复绑定'){
uni.showToast({
title: '该手机号所绑定的用户已经是代理商,请勿重复绑定',
icon: 'none',
duration: 1000
})
}else if(res.msg == '分成比例不允许超过上级代理最高90.00'){
uni.showToast({
title: '分成比例不允许超过上级代理最高90.00',
icon: 'none',
duration: 1000
})
} else if(res.code == 500){
uni.showToast({
title: '分成比例必须为数字',
icon: 'none',
duration: 1000
})
}
})
}
}
}
}
</script>
<style lang="scss">
/deep/ .u-title,
/deep/ .uicon-nav-back {
padding-bottom: 22rpx;
}
page {
}
.page {
width: 750rpx;
.box{
width: 750rpx;
height: 100%;
overflow-y:scroll;
background: #F4F5F7;
border-radius: 0rpx 0rpx 0rpx 0rpx;
padding: 32rpx 36rpx;
box-sizing: border-box;
padding-bottom: 100rpx;
.baocun{
width: 584rpx;
height: 90rpx;
margin: auto;
background: linear-gradient( 270deg, #8883F0 0%, #8883F0 100%);
border-radius: 54rpx 54rpx 54rpx 54rpx;
margin-top: 62rpx;
margin-bottom: 78rpx;
font-weight: 500;
font-size: 40rpx;
color: #FFFFFF;
text-align: center;
line-height: 90rpx;
}
.swlist{
margin-top: 34rpx;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
.swlist_val{
display: flex;
justify-content: space-between;
width: 324rpx;
height: 144rpx;
background: #FFFFFF;
border-radius: 24rpx 24rpx 24rpx 24rpx;
padding-top: 28rpx;
padding-left: 38rpx;
box-sizing: border-box;
margin-top: 18rpx;
}
.lt{
.one{
font-size: 28rpx;
color: #3D3D3D;
}
.two{
font-size: 24rpx;
color: #808080;
margin-top: 12rpx;
}
}
.rt{
margin-top: 24rpx;
padding-right: 12rpx;
}
}
.title{
font-size: 32rpx;
color: #3D3D3D;
}
.list{
width: 680rpx;
max-height: 578rpx;
background: #FFFFFF;
border-radius: 24rpx 24rpx 24rpx 24rpx;
padding: 46rpx 36rpx;
box-sizing: border-box;
margin-top: 34rpx;
margin-bottom: 47rpx;
.list_val{
display: flex;
font-size: 32rpx;
color: #3D3D3D;
justify-content: space-between;
margin-bottom: 32rpx;
input{
width: 430rpx;
height: 70rpx;
background: #F0F0F0;
border-radius: 12rpx 12rpx 12rpx 12rpx;
padding-left: 32rpx;
box-sizing: border-box;
font-size: 28rpx;
color: #808080;
}
}
}
}
}
</style>