You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
157 lines
4.1 KiB
157 lines
4.1 KiB
<template>
|
|
<view>
|
|
<view class="popup-height">
|
|
<uni-forms :modelValue="addForm" ref="addForm" validateTrigger="bind" :rules="rules" label-width="160rpx"
|
|
label-align="right">
|
|
<uni-forms-item label="员工姓名" required name="nickname">
|
|
<uni-easyinput type="text" v-model="addForm.nickname" placeholder="请输入员工姓名" />
|
|
</uni-forms-item>
|
|
<uni-forms-item label="手机号" required name="mobile">
|
|
<uni-easyinput type="text" v-model="addForm.mobile" placeholder="请输入员工手机号" />
|
|
</uni-forms-item>
|
|
<uni-forms-item label="身份权限" required name="type">
|
|
<!-- <uni-data-checkbox multiple v-model="addForm.type" :localdata="typeList"></uni-data-checkbox> -->
|
|
<uni-data-select style="width: 100%" v-model="addForm.type" :localdata="typeList"></uni-data-select>
|
|
</uni-forms-item>
|
|
<uni-forms-item label="入库确认" required name="warehouseKeeperFlag">
|
|
<!-- <uni-data-checkbox multiple v-model="addForm.type" :localdata="typeList"></uni-data-checkbox> -->
|
|
<uni-data-select style="width: 100%" v-model="addForm.warehouseKeeperFlag" :localdata="wareList"></uni-data-select>
|
|
</uni-forms-item>
|
|
</uni-forms>
|
|
<u-button type="primary" @click="onFormSubmit">保存</u-button>
|
|
<button type="primary" style="margin-top: 13px !important;background-color:#5fd9ee;font-size:14px;height: 40px;;" @click="deleteSubmit" v-if="type==='edit'">删除</button>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
data() {
|
|
return {
|
|
addForm: {
|
|
nickname: '',
|
|
mobile: '',
|
|
type: [],
|
|
password:'123456',
|
|
warehouseKeeperFlag:0
|
|
},
|
|
username:'',
|
|
id: '',
|
|
type:'',
|
|
typeList: [{
|
|
value: 0,
|
|
text: "管理员"
|
|
},
|
|
{
|
|
value: 1,
|
|
text: "员工"
|
|
},
|
|
// {
|
|
// value: 3,
|
|
// text: "库房配货"
|
|
// },
|
|
// {
|
|
// value: 4,
|
|
// text: "入库员"
|
|
// },
|
|
],
|
|
wareList: [{
|
|
value: 0,
|
|
text: "否"
|
|
},
|
|
{
|
|
value: 1,
|
|
text: "是"
|
|
},
|
|
// {
|
|
// value: 3,
|
|
// text: "库房配货"
|
|
// },
|
|
// {
|
|
// value: 4,
|
|
// text: "入库员"
|
|
// },
|
|
],
|
|
rules: {
|
|
nickname: {
|
|
rules: [{
|
|
required: true,
|
|
errorMessage: '不能为空'
|
|
}]
|
|
},
|
|
mobile: {
|
|
rules: [{
|
|
required: true,
|
|
errorMessage: '不能为空'
|
|
}]
|
|
},
|
|
type: {
|
|
rules: [{
|
|
required: true,
|
|
errorMessage: '不能为空'
|
|
}]
|
|
},
|
|
}
|
|
}
|
|
},
|
|
onLoad(options) {
|
|
const type = options.type
|
|
const item = JSON.parse(options.item)
|
|
this.type = options.type
|
|
if (type === 'edit') {
|
|
this.addForm.nickname = item.nickname
|
|
this.addForm.mobile = item.mobile
|
|
this.addForm.warehouseKeeperFlag = Number(item.warehouseKeeperFlag)
|
|
this.addForm.type = Number(item.type)
|
|
this.id = item.id
|
|
}
|
|
uni.setNavigationBarTitle({
|
|
title: type === 'add' ? '新增员工' : '编辑信息'
|
|
});
|
|
},
|
|
methods: {
|
|
onFormSubmit() {
|
|
if(this.addForm.type.length < 1)return
|
|
this.addForm.type = JSON.stringify(this.addForm.type)
|
|
this.$refs.addForm.validate().then(async () => {
|
|
let url;
|
|
if(this.type=='edit'){
|
|
url = '/app/common/user/edit'
|
|
this.addForm.username = this.addForm.mobile
|
|
this.addForm.id = this.id
|
|
}else{
|
|
url = '/app/common/user/add'
|
|
}
|
|
const res = await this.tui.request(url, 'post', this.addForm, false,
|
|
true, false)
|
|
if (res.code == 200) {
|
|
uni.navigateBack()
|
|
if(this.addForm.mobile == uni.getStorageSync('username')){
|
|
uni.setStorageSync('warehouseKeeperFlag',this.addForm.warehouseKeeperFlag)
|
|
}
|
|
} else {
|
|
this.tui.toast(res.message)
|
|
}
|
|
}, (reason) => {
|
|
|
|
})
|
|
},
|
|
deleteSubmit() {
|
|
let ids = []
|
|
ids.push(this.id)
|
|
this.tui.request("/app/common/user/delByIds", "POST", {
|
|
ids: ids
|
|
}, false, true).then((res1) => {
|
|
uni.navigateBack()
|
|
}).catch((res) => {})
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.popup-height {
|
|
padding: 0 25upx;
|
|
background-color: #fff;
|
|
}
|
|
</style>
|