|
@@ -4,32 +4,37 @@
|
|
:close-on-click-modal="false"
|
|
:close-on-click-modal="false"
|
|
:visible.sync="visible">
|
|
:visible.sync="visible">
|
|
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
|
|
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
|
|
- <el-form-item label="用户名" prop="userName">
|
|
|
|
- <el-input v-model="dataForm.userName" placeholder="登录帐号"></el-input>
|
|
|
|
|
|
+ <el-form-item label="机构名称" prop="name">
|
|
|
|
+ <el-input v-model="dataForm.name" placeholder="机构名称"></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="密码" prop="password" :class="{ 'is-required': !dataForm.id }">
|
|
|
|
- <el-input v-model="dataForm.password" type="password" placeholder="密码"></el-input>
|
|
|
|
|
|
+ <el-form-item label="上级机构" prop="parentName">
|
|
|
|
+ <el-popover
|
|
|
|
+ ref="menuListPopover"
|
|
|
|
+ placement="bottom-start"
|
|
|
|
+ trigger="click">
|
|
|
|
+ <el-tree
|
|
|
|
+ :data="orgList"
|
|
|
|
+ :props="menuListTreeProps"
|
|
|
|
+ node-key="menuId"
|
|
|
|
+ ref="menuListTree"
|
|
|
|
+ @current-change="menuListTreeCurrentChangeHandle"
|
|
|
|
+ :default-expand-all="true"
|
|
|
|
+ :highlight-current="true"
|
|
|
|
+ :expand-on-click-node="false">
|
|
|
|
+ </el-tree>
|
|
|
|
+ </el-popover>
|
|
|
|
+ <el-input v-model="dataForm.parentName" v-popover:menuListPopover :readonly="true" placeholder="点击选择上级机构" class="menu-list__input"></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="确认密码" prop="comfirmPassword" :class="{ 'is-required': !dataForm.id }">
|
|
|
|
- <el-input v-model="dataForm.comfirmPassword" type="password" placeholder="确认密码"></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="邮箱" prop="email">
|
|
|
|
- <el-input v-model="dataForm.email" placeholder="邮箱"></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="手机号" prop="mobile">
|
|
|
|
- <el-input v-model="dataForm.mobile" placeholder="手机号"></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- <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">禁用</el-radio>
|
|
|
|
- <el-radio :label="1">正常</el-radio>
|
|
|
|
|
|
+ <!-- <el-form-item label="状态" size="mini" prop="orgType">
|
|
|
|
+ <el-radio-group v-model="dataForm.orgType">
|
|
|
|
+ <el-radio :label="0">非运输公司</el-radio>
|
|
|
|
+ <el-radio :label="1">运输公司</el-radio>
|
|
</el-radio-group>
|
|
</el-radio-group>
|
|
|
|
+ </el-form-item> -->
|
|
|
|
+ <el-form-item label="排序" prop="orderNum">
|
|
|
|
+ <el-input-number v-model="dataForm.orderNum" controls-position="right" :min="0" label="排序"></el-input-number>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
+
|
|
</el-form>
|
|
</el-form>
|
|
<span slot="footer" class="dialog-footer">
|
|
<span slot="footer" class="dialog-footer">
|
|
<el-button @click="visible = false">取消</el-button>
|
|
<el-button @click="visible = false">取消</el-button>
|
|
@@ -39,83 +44,42 @@
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
- import { isEmail, isMobile } from '@/utils/validate'
|
|
|
|
export default {
|
|
export default {
|
|
data () {
|
|
data () {
|
|
- var validatePassword = (rule, value, callback) => {
|
|
|
|
- if (!this.dataForm.id && !/\S/.test(value)) {
|
|
|
|
- callback(new Error('密码不能为空'))
|
|
|
|
- } else {
|
|
|
|
- callback()
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- var validateComfirmPassword = (rule, value, callback) => {
|
|
|
|
- if (!this.dataForm.id && !/\S/.test(value)) {
|
|
|
|
- callback(new Error('确认密码不能为空'))
|
|
|
|
- } else if (this.dataForm.password !== value) {
|
|
|
|
- callback(new Error('确认密码与密码输入不一致'))
|
|
|
|
- } else {
|
|
|
|
- callback()
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- var validateEmail = (rule, value, callback) => {
|
|
|
|
- if (!isEmail(value)) {
|
|
|
|
- callback(new Error('邮箱格式错误'))
|
|
|
|
- } else {
|
|
|
|
- callback()
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- var validateMobile = (rule, value, callback) => {
|
|
|
|
- if (!isMobile(value)) {
|
|
|
|
- callback(new Error('手机号格式错误'))
|
|
|
|
- } else {
|
|
|
|
- callback()
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
return {
|
|
return {
|
|
visible: false,
|
|
visible: false,
|
|
- roleList: [],
|
|
|
|
|
|
+ orgList: [],
|
|
dataForm: {
|
|
dataForm: {
|
|
id: 0,
|
|
id: 0,
|
|
- userName: '',
|
|
|
|
- password: '',
|
|
|
|
- comfirmPassword: '',
|
|
|
|
- salt: '',
|
|
|
|
- email: '',
|
|
|
|
- mobile: '',
|
|
|
|
- roleIdList: [],
|
|
|
|
- status: 1
|
|
|
|
|
|
+ name: '',
|
|
|
|
+ parentId: '',
|
|
|
|
+ parentName: '',
|
|
|
|
+ orderNum: '',
|
|
|
|
+ orgType: ''
|
|
},
|
|
},
|
|
dataRule: {
|
|
dataRule: {
|
|
- userName: [
|
|
|
|
- { required: true, message: '用户名不能为空', trigger: 'blur' }
|
|
|
|
- ],
|
|
|
|
- password: [
|
|
|
|
- { validator: validatePassword, trigger: 'blur' }
|
|
|
|
- ],
|
|
|
|
- comfirmPassword: [
|
|
|
|
- { validator: validateComfirmPassword, trigger: 'blur' }
|
|
|
|
|
|
+ name: [
|
|
|
|
+ { required: true, message: '机构名称不能为空', trigger: 'blur' }
|
|
],
|
|
],
|
|
- email: [
|
|
|
|
- { required: true, message: '邮箱不能为空', trigger: 'blur' },
|
|
|
|
- { validator: validateEmail, trigger: 'blur' }
|
|
|
|
- ],
|
|
|
|
- mobile: [
|
|
|
|
- { required: true, message: '手机号不能为空', trigger: 'blur' },
|
|
|
|
- { validator: validateMobile, trigger: 'blur' }
|
|
|
|
|
|
+ parentName: [
|
|
|
|
+ { required: true, message: '上级机构不能为空', trigger: 'blur' }
|
|
]
|
|
]
|
|
|
|
+ },
|
|
|
|
+ menuListTreeProps: {
|
|
|
|
+ label: 'name',
|
|
|
|
+ children: 'children'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
- init (id) {
|
|
|
|
|
|
+ async init (id) {
|
|
this.dataForm.id = id || 0
|
|
this.dataForm.id = id || 0
|
|
this.$http({
|
|
this.$http({
|
|
- url: this.$http.adornUrl('/sys/role/select'),
|
|
|
|
|
|
+ url: this.$http.adornUrl(`/user-service/org/queryTree`),
|
|
method: 'get',
|
|
method: 'get',
|
|
params: this.$http.adornParams()
|
|
params: this.$http.adornParams()
|
|
}).then(({data}) => {
|
|
}).then(({data}) => {
|
|
- this.roleList = data && data.code === 0 ? data.list : []
|
|
|
|
|
|
+ this.orgList = data && data.code === '200' ? data.data : []
|
|
}).then(() => {
|
|
}).then(() => {
|
|
this.visible = true
|
|
this.visible = true
|
|
this.$nextTick(() => {
|
|
this.$nextTick(() => {
|
|
@@ -124,7 +88,7 @@
|
|
}).then(() => {
|
|
}).then(() => {
|
|
if (this.dataForm.id) {
|
|
if (this.dataForm.id) {
|
|
this.$http({
|
|
this.$http({
|
|
- url: this.$http.adornUrl(`/sys/user/info/${this.dataForm.id}`),
|
|
|
|
|
|
+ url: this.$http.adornUrl(`/user-service/org/info/${this.dataForm.id}`),
|
|
method: 'get',
|
|
method: 'get',
|
|
params: this.$http.adornParams()
|
|
params: this.$http.adornParams()
|
|
}).then(({data}) => {
|
|
}).then(({data}) => {
|
|
@@ -140,25 +104,22 @@
|
|
}
|
|
}
|
|
})
|
|
})
|
|
},
|
|
},
|
|
|
|
+ menuListTreeCurrentChangeHandle (data, node) {
|
|
|
|
+ this.dataForm.parentId = data.orgId
|
|
|
|
+ this.dataForm.parentName = data.name
|
|
|
|
+ },
|
|
// 表单提交
|
|
// 表单提交
|
|
dataFormSubmit () {
|
|
dataFormSubmit () {
|
|
this.$refs['dataForm'].validate((valid) => {
|
|
this.$refs['dataForm'].validate((valid) => {
|
|
if (valid) {
|
|
if (valid) {
|
|
|
|
+ const params = { ...this.dataForm }
|
|
|
|
+ if (this.dataForm.id) params.orgId = this.dataForm.id
|
|
this.$http({
|
|
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
|
|
|
|
- })
|
|
|
|
|
|
+ url: this.$http.adornUrl(`/user-service/org/save`),
|
|
|
|
+ method: this.dataForm.id ? 'put' : 'post',
|
|
|
|
+ data: this.$http.adornData(params)
|
|
}).then(({data}) => {
|
|
}).then(({data}) => {
|
|
- if (data && data.code === 0) {
|
|
|
|
|
|
+ if (data && data.code === '200') {
|
|
this.$message({
|
|
this.$message({
|
|
message: '操作成功',
|
|
message: '操作成功',
|
|
type: 'success',
|
|
type: 'success',
|