Files
2024-03-21 15:38:10 +08:00

395 lines
9.7 KiB
Vue

<template>
<view class="content">
<view class="contentitem flex-between">
<view class="contentitemtext">
头像
</view>
<view class="onecontent_itemright flex-start">
<view class="onecontent_itemrightimges flex-colum" v-if="avatar" @click="chooseImagelist()">
<image :src="avatar"></image>
</view>
<view class="onecontent_itemrightimges flex-colum" v-else @click="chooseImagelist()">
+
</view>
</view>
</view>
<view class="contentitem flex-between">
<text class="contentitemtext">姓名</text>
<input class="contentiteminput" v-model="form.nickname" type="text" placeholder="请输入员工姓名">
</view>
<view class="contentitem flex-between" style="border-radius: 10rpx 10rpx 0 0 ;">
<text class="contentitemtext">账号/手机号</text>
<input class="contentiteminput" v-model="form.mobile" type="text" placeholder="请设置员工账号/手机号">
</view>
<view class="contentitem flex-between" style="border-radius: 10rpx 10rpx 0 0 ; margin-top:32rpx ;">
<text class="contentitemtext">登录密码</text>
<input class="contentiteminput" v-model="form.password" password="false" type="text" placeholder="员工登录密码">
</view>
<view v-if="staff_id" style="font-size: 24rpx; padding: 10rpx 0;">不修改密码请留空</view>
<view class="contentitem flex-between" style="border-radius:0 0 10rpx 10rpx;">
<text class="contentitemtext">确认密码</text>
<input class="contentiteminput" password="false" v-model="form.passwords" type="text" placeholder="再次输入密码">
</view>
<view class="contentitem flex-between" style="border-radius:10rpx; margin-top:32rpx;"
>
<text class="contentitemtext">排序</text>
<u-number-box integer v-model="form.sort"></u-number-box>
</view>
<view v-if="staff_id" class="positionfixed" @click="staffsavestaff">
确认修改
</view>
<view v-else class="positionfixed" @click="staffcreatestaff">
确认创建
</view>
<view class="positionfixeds" @click="staffdeletestaff">
删除员工
</view>
<view class="contentitem flex-between" style="border-radius:10rpx; margin-top:32rpx;"
@click="pickershow = true">
<text class="contentitemtext">全部订单权限</text>
<view class="flex-start">
<view class="contentiteminput">{{nameis_limits}}</view>
<u-icon name="arrow-right" color="#999999" size="18"></u-icon>
</view>
</view>
<u-picker :show="pickershow" :columns="columns" @confirm='confirm' keyName="label"
@cancel='pickershow = false'></u-picker>
</view>
</template>
<script>
import uploadImage from "@/js_sdk/yushijie-ossutil/ossutil/uploadFile.js";
import {
nextTick
} from "vue";
export default {
data() {
return {
columns: [
[{
label: '允许',
id: 1
}, {
label: '不允许',
id: 2
}],
],
pickershow: false,
staff_id: '',
avatar: '',
nameis_limits: '允许',
form: {
nickname: '',
mobile: '',
store_id: '',
password: '',
passwords: "",
sort: 1,
is_limits: 1,
avatar: ""
}
}
},
onLoad(e) {
if (e.id) {
uni.setNavigationBarTitle({
title: '修改员工'
})
this.staff_id = e.id
this.staffstaffreturn()
} else {
uni.setNavigationBarTitle({
title: '添加员工'
})
}
},
onShow() {},
methods: {
async staffdeletestaff(){
let res = await this.api.staffdeletestaff({
staff_id:this.staff_id
})
if (res.code == 1) {
uni.showToast({
title: '删除成功',
icon: 'none'
});
setTimeout(() => {
uni.navigateBack();
}, 2000);
}
},
confirm(e) {
this.pickershow = false
this.form.is_limits = e.value[0].id
this.nameis_limits = e.value[0].label
console.log(e)
},
// 上传
chooseImagelist() {
uni.showLoading({
title: '上传中',
mask: true
})
uni.chooseImage({
count: 1, //默认9
sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
sourceType: ['album'], //从相册选择
success: (res) => {
let file = res.tempFilePaths[0];
uploadImage(file, 'wechat/staffadd/',
result => {
this.avatar = ''
this.$nextTick(() => {
this.form.avatar = result
this.avatar = result
uni.hideLoading()
})
}, result => {
uni.hideLoading()
})
},
fail: (res) => {
uni.hideLoading()
}
});
},
async staffstaffreturn() { //员工信息回显
let res = await this.api.staffstaffreturn({
staff_id: this.staff_id,
});
if (res.code == 1) {
this.form = res.data
this.avatar = res.data.avatar
if (this.form.is_limits == 1) {
this.nameis_limits = '允许'
} else {
this.nameis_limits = '不允许'
}
}
},
async staffsavestaff() { //修改员工
if (this.form.avatar == null || this.form.avatar == '') {
uni.showToast({
title: '请上传头像',
icon: 'none'
});
return false;
}
if (this.form.nickname == null || this.form.nickname == '') {
uni.showToast({
title: '请输入姓名',
icon: 'none'
});
return false;
}
if (this.form.mobile == null || this.form.mobile == '') {
uni.showToast({
title: '请输入电话/员工账号',
icon: 'none'
});
return false;
}
if (this.form.password != null || this.form.passwords != '' || this.form.password != '' || this.form
.passwords != null) {
if (this.form.password != this.form.passwords) {
uni.showToast({
title: '两次输入密码不相同',
icon: 'none'
});
return false;
}
}
if (this.form.password != this.form.passwords) {
uni.showToast({
title: '两次输入密码不相同',
icon: 'none'
});
return false;
}
if (this.form.sort == null || this.form.sort == '') {
uni.showToast({
title: '请输入排序',
icon: 'none'
});
return false;
}
let res = await this.api.staffsavestaff({
nickname: this.form.nickname,
mobile: this.form.mobile,
staff_id: this.staff_id,
sort: this.form.sort,
is_limits:this.form.is_limits,
avatar:this.form.avatar
});
if (res.code == 1) {
uni.showToast({
title: '修改成功',
icon: 'none'
});
setTimeout(() => {
uni.navigateBack();
}, 2000);
}
},
async staffcreatestaff() { //创建员工
if (this.form.avatar == null || this.form.avatar == '') {
uni.showToast({
title: '请上传头像',
icon: 'none'
});
return false;
}
if (this.form.nickname == null || this.form.nickname == '') {
uni.showToast({
title: '请输入姓名',
icon: 'none'
});
return false;
}
if (this.form.mobile == null || this.form.mobile == '') {
uni.showToast({
title: '请输入电话/员工账号',
icon: 'none'
});
return false;
}
if (this.form.password == null || this.form.password == '') {
uni.showToast({
title: '请输入密码',
icon: 'none'
});
return false;
}
if (this.form.passwords == null || this.form.passwords == '') {
uni.showToast({
title: '请输入确认密码',
icon: 'none'
});
return false;
}
if (this.form.password != this.form.passwords) {
uni.showToast({
title: '两次输入密码不相同',
icon: 'none'
});
return false;
}
if (this.form.sort == null || this.form.sort == '') {
uni.showToast({
title: '请输入排序',
icon: 'none'
});
return false;
}
let res = await this.api.staffcreatestaff(this.form);
if (res.code == 1) {
uni.showToast({
title: '创建成功',
icon: 'none'
});
setTimeout(() => {
uni.navigateBack();
}, 2000);
}
},
}
}
</script>
<style lang="scss">
page {
background: #FBFBFA;
}
.content {
margin: 32rpx 28rpx;
.positionfixeds {
position: fixed;
width: 70%;
bottom: 120rpx;
left: 15%;
padding: 10rpx 0;
text-align: center;
background: #d4d4d4;
font-size: 36rpx;
border-radius: 18rpx;
font-family: SourceHanSansCN-Regular, SourceHanSansCN;
font-weight: 400;
color: #707070;
}
.positionfixed {
position: fixed;
width: 70%;
bottom: 40rpx;
left: 15%;
padding: 10rpx 0;
text-align: center;
background: #2F87FD;
font-size: 36rpx;
border-radius: 18rpx;
font-family: SourceHanSansCN-Regular, SourceHanSansCN;
font-weight: 400;
color: #FFFFFF;
}
.contentitem {
width: 100%;
padding: 12rpx 16rpx;
border-bottom: 2rpx solid #E5E5E5;
background: #FFFFFF;
.contentitemtext {
font-size: 32rpx;
font-family: SourceHanSansCN-Regular, SourceHanSansCN;
font-weight: 400;
color: #333333;
}
.onecontent_itemright {
.onecontent_itemrighttext {
font-size: 24rpx;
font-family: SourceHanSansCN-Regular, SourceHanSansCN;
font-weight: 400;
color: #999999;
}
.onecontent_itemrightimges {
width: 112rpx;
height: 112rpx;
background: #F5F5F5;
border-radius: 10rpx;
font-size: 40rpx;
color: #878787;
image {
width: 112rpx;
height: 112rpx;
}
}
.onecontent_itemright_text {
width: 100%;
font-size: 24rpx;
font-family: SourceHanSansCN-Regular, SourceHanSansCN;
font-weight: 400;
color: #999999;
}
}
.contentiteminput {
padding-left: 20rpx;
text-align: right;
flex: auto;
font-size: 28rpx;
font-family: SourceHanSansCN-Regular, SourceHanSansCN;
font-weight: 400;
color: #999999;
}
}
}
</style>