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.
440 lines
15 KiB
440 lines
15 KiB
<template>
|
|
<div class="user-add-or-update">
|
|
<el-dialog
|
|
width="530px"
|
|
:title="!dataForm.id ? buttons.add :buttons.edit"
|
|
:close-on-click-modal="false"
|
|
:visible.sync="visible"
|
|
@close="closeDataDialog">
|
|
<!-- 取消 :rules="dataRule"-->
|
|
<el-form :inline="true" :model="dataForm" label-position="top" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
|
|
<el-form>
|
|
<el-form-item :label="buttons.username||'用户账号'" prop="userName">
|
|
<el-input v-model="dataForm.userName" style="width: 150px;" placeholder="登录帐号"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="buttons.password||'密码'" prop="password" :class="{ 'is-required': !dataForm.id }">
|
|
<el-input v-model="dataForm.password" style="width: 150px;" type="password" ></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="buttons.comfirmPassword||'确认密码'" prop="comfirmPassword" :class="{ 'is-required': !dataForm.id }">
|
|
<el-input v-model="dataForm.comfirmPassword" style="width: 150px;" type="password"></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-form>
|
|
<el-form-item :label="buttons.userDisplay||'用户名'" prop="email">
|
|
<el-input v-model="dataForm.userDisplay" style="width: 150px;" ></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="buttons.email||'邮箱'" prop="email">
|
|
<el-input v-model="dataForm.email" style="width: 150px;" ></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="buttons.mobile||'手机号'" prop="mobile">
|
|
<el-input v-model="dataForm.mobile" style="width: 150px;" placeholder="手机号"></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-form>
|
|
<el-form-item :label="'工厂'">
|
|
<el-select v-model="dataForm.siteID" clearable style="width: 150px;" placeholder="请选择" @change="getBUDepartmentPostList">
|
|
<el-option
|
|
:label="i.siteID + '-' + i.siteName"
|
|
:value="i.siteID"
|
|
v-for="i in siteList "
|
|
:key="i.siteID">
|
|
</el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<!-- <el-form-item >-->
|
|
<!-- <span slot="label" style="" @click="getBaseList(18)"><a herf="#">{{buttons.site||'工厂'}}</a></span>-->
|
|
<!-- <el-input v-model="dataForm.site" style="width: 150px;" placeholder="工厂"></el-input>-->
|
|
<!-- </el-form-item>-->
|
|
<!-- <el-form-item :label="buttons.language||'语言'" prop="languageDefault">-->
|
|
<!-- <el-select filterable v-model="dataForm.languageDefault" clearable style="width: 150px;">-->
|
|
<!-- <el-option :label="item.languageName" :value="item.languageCode" v-for="(item,index) in languageList "-->
|
|
<!-- :key="index"></el-option>-->
|
|
<!-- </el-select>-->
|
|
<!-- </el-form-item>-->
|
|
<el-form-item :label="'BU'">
|
|
<el-select v-model="dataForm.buNo" clearable style="width: 150px;" placeholder="请选择">
|
|
<el-option
|
|
:label="i.buNo + '-' + i.buDesc"
|
|
:value="i.buNo"
|
|
v-for="i in buList "
|
|
:key="i.buNo">
|
|
</el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item :label="buttons.department||'部门'" prop="department">
|
|
<el-select v-model="dataForm.departmentNo" clearable style="width: 150px;" placeholder="请选择">
|
|
<el-option
|
|
:label="i.departmentNo + '-' + i.departmentName"
|
|
:value="i.departmentNo"
|
|
v-for="i in departmentList "
|
|
:key="i.departmentNo">
|
|
</el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-form>
|
|
<el-form-item :label="buttons.post||'岗位'" prop="post">
|
|
<el-select v-model="dataForm.postNo" clearable style="width: 150px;" placeholder="请选择">
|
|
<el-option
|
|
:label="i.postNo + '-' + i.postName"
|
|
:value="i.postNo"
|
|
v-for="i in postList "
|
|
:key="i.postNo">
|
|
</el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item :label="buttons.domainControlAccount||'域控账号'" prop="domainControlAccount">
|
|
<el-input v-model="dataForm.domainControlAccount" style="width: 150px;" ></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-form>
|
|
<el-form-item :label="'ifs账号'" >
|
|
<el-input v-model="dataForm.ifsUsername" style="width: 150px;" ></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="'ifs密码'" >
|
|
<el-input v-model="dataForm.ifsPassword" type="password" style="width: 150px;" ></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-form>
|
|
<el-form-item label="角色" size="mini" prop="roleIdList">
|
|
<el-checkbox-group v-model="dataForm.roleIdList">
|
|
<el-checkbox v-for="role in roleList" :key="role.roleId" :label="role.roleId">{{role.roleName}}</el-checkbox>
|
|
</el-checkbox-group>
|
|
</el-form-item>
|
|
<el-form-item label="状态" size="mini" prop="status">
|
|
<el-radio-group v-model="dataForm.status">
|
|
<el-radio :label="0">{{buttons.disable||'禁用'}}</el-radio>
|
|
<el-radio :label="1">{{buttons.normal||'正常'}}</el-radio>
|
|
</el-radio-group>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
<span slot="footer" class="dialog-footer">
|
|
<el-button type="primary" @click="dataFormSubmit()">{{buttons.submit||'确定'}}</el-button>
|
|
<el-button type="primary" @click="visible = false">{{buttons.close||'取消'}}</el-button>
|
|
</span>
|
|
</el-dialog>
|
|
|
|
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
|
|
</div>
|
|
|
|
</template>
|
|
|
|
<script>
|
|
import Chooselist from '@/views/modules/common/Chooselist'
|
|
import {getFactory} from "@/api/factory";
|
|
import {searchSysLanguage} from "@/api/sysLanguage.js"
|
|
import {
|
|
searchFunctionButtonList,
|
|
} from "@/api/sysLanguage.js"
|
|
import {getBUList, getDepartmentList, getPostList, getSiteList} from '../../../api/base/site'
|
|
export default {
|
|
components: {
|
|
Chooselist
|
|
},
|
|
data() {
|
|
return {
|
|
tagNo:'',
|
|
visible: false,
|
|
roleList: [],
|
|
factorys: [],
|
|
languageList: [],
|
|
siteList:[],
|
|
buList:[],
|
|
departmentList:[],
|
|
postList:[],
|
|
dataForm: {
|
|
id: 0,
|
|
ifsUsername:'',
|
|
ifsPassword:'',
|
|
userName: '',
|
|
password: '',
|
|
comfirmPassword: '',
|
|
languageDefault: '',
|
|
salt: '',
|
|
email: '',
|
|
mobile: '',
|
|
buNo: '',
|
|
buDesc: '',
|
|
department:'',
|
|
departmentNo:'',
|
|
departmentName:'',
|
|
post:'',
|
|
postNo:'',
|
|
postName:'',
|
|
roleIdList: [],
|
|
status: 1,
|
|
site: '',
|
|
siteID: '',
|
|
bu:'',
|
|
siteName:'',
|
|
userDisplay: '',
|
|
domainControlAccount: ''
|
|
},
|
|
buttons: {
|
|
add: '添加',
|
|
edit: '编辑',
|
|
username: '用户账号',
|
|
userDisplay: '用户名',
|
|
email: '邮箱',
|
|
mobile: '手机号',
|
|
bu:'BU',
|
|
department:'部门',
|
|
post:'岗位',
|
|
status: '状态',
|
|
disable: '禁用',
|
|
normal: '正常',
|
|
password:'密码',
|
|
comfirmPassword:'确认密码',
|
|
submit: '确定',
|
|
close: '取消',
|
|
siteID: '工厂',
|
|
siteName:'工厂名称',
|
|
language: '语言',
|
|
domainControlAccount: '域控账号'
|
|
},
|
|
}
|
|
},
|
|
methods: {
|
|
getSiteList () {
|
|
getSiteList().then(({data}) => {
|
|
this.siteList = data.rows
|
|
// let list = data.rows.map(item=>{
|
|
// return {
|
|
// site:item.siteID,
|
|
// siteName:item.siteName
|
|
// }
|
|
// })
|
|
// console.log(list)
|
|
})
|
|
},
|
|
getBUDepartmentPostList () {
|
|
let tempData ={
|
|
site:this.dataForm.siteID
|
|
}
|
|
this.dataForm.buNo = ''
|
|
this.dataForm.buDesc = ''
|
|
this.dataForm.departmentNo = ''
|
|
this.dataForm.departmentName = ''
|
|
this.dataForm.postNo = ''
|
|
this.dataForm.postName = ''
|
|
getBUList(tempData).then(({data}) => {
|
|
this.buList = data.rows
|
|
this.dataForm.buDesc = data.rows.buDesc
|
|
})
|
|
getDepartmentList(tempData).then(({data}) => {
|
|
this.departmentList = data.rows
|
|
this.dataForm.departmentName = data.rows.departmentName
|
|
})
|
|
getPostList(tempData).then(({data}) => {
|
|
this.postList = data.rows
|
|
this.dataForm.postName = data.rows.postName
|
|
})
|
|
},
|
|
getBDPList () {
|
|
let tempData ={
|
|
site:this.dataForm.siteID
|
|
}
|
|
getBUList(tempData).then(({data}) => {
|
|
this.buList = data.rows
|
|
this.dataForm.buDesc = data.rows.buDesc
|
|
})
|
|
getDepartmentList(tempData).then(({data}) => {
|
|
this.departmentList = data.rows
|
|
this.dataForm.departmentName = data.rows.departmentName
|
|
})
|
|
getPostList(tempData).then(({data}) => {
|
|
this.postList = data.rows
|
|
this.dataForm.postName = data.rows.postName
|
|
})
|
|
},
|
|
getFunctionButtonList() {
|
|
let queryButton = {
|
|
functionId: this.$route.meta.menuId,
|
|
tableId: '*',
|
|
languageCode: this.$i18n.locale,
|
|
objectType: 'button'
|
|
}
|
|
searchFunctionButtonList(queryButton).then(({data}) => {
|
|
if (data.code == 0 && data.data) {
|
|
this.buttons = data.data
|
|
}
|
|
})
|
|
},
|
|
getBaseData(val){
|
|
if (this.tagNo === 18){
|
|
this.dataForm.site = val.SiteID
|
|
}
|
|
},
|
|
// 获取基础数据列表
|
|
getBaseList(val){
|
|
this.tagNo = val
|
|
this.$nextTick(() => {
|
|
let strVal = "";
|
|
if (val === 18){
|
|
strVal = this.dataForm.site
|
|
}
|
|
this.$refs.baseList.init(val,strVal)
|
|
})
|
|
},
|
|
// 获取多语言列表
|
|
getLanguageList() {
|
|
let queryLanguage = { languageCode: this.$i18n.locale}
|
|
searchSysLanguage(queryLanguage).then(({data}) => {
|
|
this.languageList = data.rows
|
|
})
|
|
},
|
|
|
|
|
|
init(id) {
|
|
this.dataForm.id = id || 0
|
|
// this.factoryList();
|
|
this.getLanguageList();
|
|
this.$http({
|
|
url: this.$http.adornUrl('/sys/role/select'),
|
|
method: 'get',
|
|
params: this.$http.adornParams()
|
|
}).then(({data}) => {
|
|
this.roleList = data && data.code === 0 ? data.list : []
|
|
}).then(() => {
|
|
this.visible = true
|
|
this.$nextTick(() => {
|
|
this.$refs['dataForm'].resetFields()
|
|
})
|
|
}).then(() => {
|
|
if (this.dataForm.id) {
|
|
this.$http({
|
|
url: this.$http.adornUrl(`/sys/user/info/${this.dataForm.id}`),
|
|
method: 'get',
|
|
params: this.$http.adornParams()
|
|
}).then(({data}) => {
|
|
if (data && data.code === 0) {
|
|
this.dataForm.userName = data.user.username
|
|
this.dataForm.salt = data.user.salt
|
|
this.dataForm.email = data.user.email
|
|
this.dataForm.mobile = data.user.mobile
|
|
this.dataForm.roleIdList = data.user.roleIdList
|
|
this.dataForm.status = data.user.status
|
|
this.dataForm.languageDefault = data.user.languageDefault
|
|
this.dataForm.userDisplay = data.user.userDisplay
|
|
this.dataForm.siteID = data.user.site
|
|
this.dataForm.buNo = data.user.buNo
|
|
this.dataForm.buDesc = data.user.buDesc
|
|
this.dataForm.department = data.user.department
|
|
this.dataForm.departmentNo = data.user.departmentNo
|
|
this.dataForm.departmentName = data.user.departmentName
|
|
this.dataForm.post = data.user.post
|
|
this.dataForm.postNo = data.user.postNo
|
|
this.dataForm.domainControlAccount = data.user.domainControlAccount
|
|
this.dataForm.ifsUsername = data.user.ifsUsername
|
|
this.dataForm.ifsPassword = data.user.ifsPassword
|
|
this.getBDPList()
|
|
}
|
|
})
|
|
} else {
|
|
this.dataForm = {
|
|
buNo: '',
|
|
buDesc: '',
|
|
userName: '',
|
|
password: '',
|
|
comfirmPassword: '',
|
|
languageDefault: '',
|
|
salt: '',
|
|
email: '',
|
|
mobile: '',
|
|
bu: '',
|
|
department: '',
|
|
departmentNo: '',
|
|
departmentName: '',
|
|
post: '',
|
|
postNo: '',
|
|
postName: '',
|
|
roleIdList: [],
|
|
status: 1,
|
|
site: '',
|
|
siteID: '',
|
|
siteName: '',
|
|
userDisplay: '',
|
|
domainControlAccount: '',
|
|
ifsUsername:'',
|
|
ifsPassword:'',
|
|
}
|
|
}
|
|
})
|
|
},
|
|
// 表单提交
|
|
dataFormSubmit() {
|
|
this.$refs['dataForm'].validate((valid) => {
|
|
if (valid) {
|
|
this.$http({
|
|
url: this.$http.adornUrl(`/sys/user/${!this.dataForm.id ? 'save' : 'update'}`),
|
|
method: 'post',
|
|
data: this.$http.adornData({
|
|
'userId': this.dataForm.id || undefined,
|
|
'username': this.dataForm.userName,
|
|
'password': this.dataForm.password,
|
|
'salt': this.dataForm.salt,
|
|
'email': this.dataForm.email,
|
|
'mobile': this.dataForm.mobile,
|
|
'status': this.dataForm.status,
|
|
'roleIdList': this.dataForm.roleIdList,
|
|
'languageDefault': this.dataForm.languageDefault,
|
|
'site': this.dataForm.siteID,
|
|
'userDisplay': this.dataForm.userDisplay,
|
|
'buNo': this.dataForm.buNo,
|
|
'departmentNo': this.dataForm.departmentNo,
|
|
'postNo': this.dataForm.postNo,
|
|
'domainControlAccount': this.dataForm.domainControlAccount,
|
|
'ifsUsername': this.dataForm.ifsUsername,
|
|
'ifsPassword': this.dataForm.ifsPassword,
|
|
})
|
|
}).then(({data}) => {
|
|
if (data && data.code === 0) {
|
|
this.$message.success( '操作成功')
|
|
this.visible = false
|
|
this.$emit('refreshDataList')
|
|
} else {
|
|
this.$message.error(data.msg)
|
|
}
|
|
})
|
|
}
|
|
})
|
|
},
|
|
// 关闭弹窗
|
|
closeDataDialog() {
|
|
this.$emit('closeModel')
|
|
this.dataForm = {
|
|
buNo: '',
|
|
buDesc: '',
|
|
userName: '',
|
|
password: '',
|
|
comfirmPassword: '',
|
|
languageDefault: '',
|
|
salt: '',
|
|
email: '',
|
|
mobile: '',
|
|
bu:'',
|
|
department:'',
|
|
departmentNo:'',
|
|
departmentName:'',
|
|
post:'',
|
|
postNo:'',
|
|
postName:'',
|
|
roleIdList: [],
|
|
status: 1,
|
|
site: '',
|
|
siteID: '',
|
|
siteName:'',
|
|
userDisplay: ''
|
|
}
|
|
}
|
|
},
|
|
created() {
|
|
this.getFunctionButtonList()
|
|
this.getSiteList()
|
|
}
|
|
}
|
|
</script>
|
|
<style lang="scss" scoped>
|
|
|
|
</style>
|