From e5ebcbcdbeb8ef22e9dff1a7b3ac3ba0d8bfa424 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=BE=99=E8=BF=90=E6=A8=A1?= <1724894114@qq.com>
Date: Mon, 8 Jul 2024 19:58:03 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=94=A8=E6=88=B7=E6=8E=88?=
=?UTF-8?q?=E6=9D=83=E3=80=81=E5=85=AC=E5=8F=B8=E6=8E=88=E6=9D=83=20?=
=?UTF-8?q?=E4=BB=A5=E5=8F=8A=E4=BC=98=E5=8C=96=E9=83=A8=E9=97=A8=E3=80=81?=
=?UTF-8?q?=E8=A7=92=E8=89=B2=E3=80=81=E7=94=A8=E6=88=B7=E6=8E=A5=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/model/system.js | 86 ++++
src/assets/icons/Delete.vue | 2 +-
src/components/scPasswordStrength/index.vue | 14 +-
src/components/scUpload/uploadListImg.vue | 3 +-
src/config/route.js | 35 ++
src/router/index.js | 14 +-
src/style/fix.scss | 2 +
src/views/setting/company/add-permission.vue | 348 +++++++++++++
src/views/setting/company/index.vue | 28 +-
src/views/setting/company/save.vue | 58 ++-
src/views/setting/company/see.vue | 38 +-
src/views/setting/deptMag/index.vue | 22 +-
src/views/setting/deptMag/save.vue | 69 ++-
src/views/setting/role/dataTree.vue | 252 +++++++++
src/views/setting/role/index.vue | 74 ++-
src/views/setting/role/members.vue | 179 +++++++
src/views/setting/role/permission.vue | 512 ++++++++++++-------
src/views/setting/role/save.vue | 49 +-
src/views/setting/role/tree.vue | 136 +++++
src/views/setting/user/company-user-list.vue | 74 +++
src/views/setting/user/index.vue | 117 +++--
src/views/setting/user/rePwd.vue | 99 ++++
src/views/setting/user/role.vue | 107 ++++
src/views/setting/user/save.vue | 59 ++-
src/views/setting/user/view-permission.vue | 246 +++++++++
25 files changed, 2243 insertions(+), 380 deletions(-)
create mode 100644 src/views/setting/company/add-permission.vue
create mode 100644 src/views/setting/role/dataTree.vue
create mode 100644 src/views/setting/role/members.vue
create mode 100644 src/views/setting/role/tree.vue
create mode 100644 src/views/setting/user/company-user-list.vue
create mode 100644 src/views/setting/user/rePwd.vue
create mode 100644 src/views/setting/user/role.vue
create mode 100644 src/views/setting/user/view-permission.vue
diff --git a/src/api/model/system.js b/src/api/model/system.js
index a060f2d..651b4a6 100644
--- a/src/api/model/system.js
+++ b/src/api/model/system.js
@@ -97,6 +97,49 @@ export default {
post: async function (params) {
return await http.post(this.url, params);
},
+ },
+
+ roleAuth: {
+ url: `${config.API_URL}/auth.role.auth`,
+ name: "角色授权",
+ post: async function (params) {
+ return await http.post(this.url, params);
+ }
+ },
+ roleMenu:{
+ url: `${config.API_URL}/auth.role.permission.checked`,
+ name: "菜单权限",
+ post: async function (params) {
+ return await http.post(this.url, params);
+ }
+ },
+ roleCode: {
+ url: `${config.API_URL}/authorize.role.codes`,
+ name: "角色对应CODE列表",
+ post: async function (params) {
+ return await http.post(this.url, params);
+ }
+ },
+ roleUser:{
+ url: `${config.API_URL}/roles.users`,
+ name: "角色成员列表",
+ post: async function (params) {
+ return await http.post(this.url, params);
+ }
+ },
+ roleUserAdd:{
+ url: `${config.API_URL}/roles.add.users`,
+ name: "添加角色成员",
+ post: async function (params) {
+ return await http.post(this.url, params);
+ }
+ },
+ roleUserDel:{
+ url: `${config.API_URL}/roles.removed.users`,
+ name: "删除角色成员",
+ post: async function (params) {
+ return await http.post(this.url, params);
+ }
}
},
company:{
@@ -114,6 +157,13 @@ export default {
return await http.post(this.url, params);
},
},
+ update:{
+ url: `${config.API_URL}/organization.update`,
+ name: "公司更新",
+ post: async function (params) {
+ return await http.post(this.url, params);
+ },
+ },
info: {
url: `${config.API_URL}/organization.info`,
name: "公司详情",
@@ -149,6 +199,20 @@ export default {
return await http.post(this.url, params);
},
},
+ permission:{
+ url: `${config.API_URL}/auth.company.permission.checked`,
+ name: "公司权限列表",
+ post: async function (params) {
+ return await http.post(this.url,params);
+ }
+ },
+ moduleAdd:{
+ url: `${config.API_URL}/auth.company.module.add`,
+ name: "公司权限分配",
+ post: async function (params) {
+ return await http.post(this.url,params);
+ }
+ }
},
dept: {
list: {
@@ -230,6 +294,28 @@ export default {
return await http.post(this.url, params);
},
},
+ allocatRole: {
+ url: `${config.API_URL}/auth.user.role`,
+ name: "用户分配角色",
+ post: async function (params) {
+ return await http.post(this.url, params);
+ }
+ },
+ userPermission:{
+ url: `${config.API_URL}/auth.user.permission.checked`,
+ name: "查看用户权限",
+ post: async function (params) {
+ return await http.post(this.url, params);
+ }
+ },
+ userCompanyList:{
+ url: `${config.API_URL}/company.user.list`,
+ name: "查看公司用户列表",
+ get: async function (params) {
+ return await http.post(this.url, params);
+ }
+ },
+
generateRegistration:{
url: `${config.API_URL}/generate.registration.challenge`,
name: "passKey 创建",
diff --git a/src/assets/icons/Delete.vue b/src/assets/icons/Delete.vue
index 64e9ff8..cce19ed 100644
--- a/src/assets/icons/Delete.vue
+++ b/src/assets/icons/Delete.vue
@@ -1,5 +1,5 @@
-
+
+
+
diff --git a/src/views/setting/company/index.vue b/src/views/setting/company/index.vue
index c78332b..205ae22 100644
--- a/src/views/setting/company/index.vue
+++ b/src/views/setting/company/index.vue
@@ -49,9 +49,9 @@
查看详情
编辑公司
- 功能授权
- 数据授权
- 用户列表
+ 功能授权
+ 数据授权
+ 用户列表
删除公司
@@ -162,6 +162,27 @@ export default {
})
},
+ // 功能授权
+ table_empower(row){
+ this.$router.push({
+ path: '/setting/company/add-permission',
+ query: {
+ id: row.id,
+ name:row.name
+ }
+ })
+ },
+ // 公司用户列表
+ table_user_ist(row){
+ this.$message.warning(row.name+' 暂无接口')
+ // this.$router.push({
+ // path: '/setting/user/company-user-list',
+ // query: {
+ // id: row.id,
+ // name:row.name
+ // }
+ // })
+ },
//表格选择后回调事件
selectionChange(selection){
this.selection = selection;
@@ -178,6 +199,7 @@ export default {
if(res.code !=200){
row.active_status = !row.active_status;
}
+ delete row.$switch_status;
delete row.$switch_yx;
}, 500);
},
diff --git a/src/views/setting/company/save.vue b/src/views/setting/company/save.vue
index 95fb9bc..b3ffae5 100644
--- a/src/views/setting/company/save.vue
+++ b/src/views/setting/company/save.vue
@@ -13,7 +13,7 @@
-
+
@@ -22,6 +22,10 @@
+ 可接受格式为:jpg、jpeg、png、gif,图片大小不超过5M。
+ 可接受证件类型:营业执照、组织机构代码证、统一社会信用代码证、事业单位法人证书。
+ 可以添加"高德开放平台备案、地图开发申请、地图开发认证"等水印。
+ 但不能遮挡关键信息,例如公司名称、公司证件号。
@@ -30,23 +34,29 @@
企业管理员信息
-
+
-
+
+
+
-
+
+
+
-
+
+
+
-
+
@@ -100,6 +110,30 @@ export default {
full_name: [
{required: true, message: '公司名称不能为空', trigger: 'blur'}
],
+ name:[
+ {required: true, message: '公司简称不能为空', trigger: 'blur'}
+ ],
+ domain:[
+ {required: true, message: '入口地址不能为空', trigger: 'blur'}
+ ],
+ address:[
+ {required: true, message: '请填写公司地址', trigger: 'blur'}
+ ],
+ email:[
+ {required: true, message: '请填写邮件地址', trigger: 'blur'}
+ ],
+ mobile:[
+ {required: true, message: '请填写联系方式', trigger: 'blur'}
+ ],
+ logo:[
+ {required: true, message: '公司LOGO不能为空'}
+ ],
+ doc_url:[
+ {required: true, message: '证件照不能为空'}
+ ],
+ owner:[
+ {required: true, message: '负责人不能为空', trigger: 'blur'}
+ ],
admin_access: [
{required: true, message: '账号不能为空', trigger: 'blur'}
],
@@ -120,7 +154,7 @@ export default {
return this
},
- //加载树数据
+ // 加载公司类型
async getCompanyTypeSelect(e){
if(!e) return
const res = await this.$API.system.company.typeSelect.post();
@@ -139,7 +173,12 @@ export default {
this.$refs.dialogForm.validate(async (valid) => {
if (valid) {
this.isSave = true;
- const res = await this.$API.system.company.add.post(this.form);
+ let res
+ if(this.mode == "add"){
+ res = await this.$API.system.company.add.post(this.form);
+ }else{
+ res = await this.$API.system.company.update.post(this.form);
+ }
this.isSave = false;
if(res.code == 200){
this.$emit('success', this.form, this.mode);
@@ -154,7 +193,6 @@ export default {
let params = {
id:data.id
}
-
const res = await this.$API.system.company.info.post(params);
if(res.code == 200){
this.form.id = res.data.id;
@@ -165,7 +203,7 @@ export default {
this.form.address = res.data.address;
this.form.email = res.data.platform_user && res.data.platform_user.email?res.data.platform_user.email:'';
this.form.logo = res.data.logo;
- this.form.doc_url = [];
+ this.form.doc_url = res.data.doc_attach && res.data.doc_attach.length>0?res.data.doc_attach.map(em=>em.doc_url):[];
this.form.owner = res.data.owner;
this.form.mobile = res.data.mobile;
this.form.admin_access = res.data.admin_access;
diff --git a/src/views/setting/company/see.vue b/src/views/setting/company/see.vue
index c32cef0..b149df2 100644
--- a/src/views/setting/company/see.vue
+++ b/src/views/setting/company/see.vue
@@ -4,23 +4,26 @@
{{form.full_name}}
-
+
{{form.domain}}
-
+
{{form.activation_date}}
-
-
+
+ {{form.company_type_name}}
-
+
{{form.address}}
-
+
{{form.owner}} {{form.mobile}}
-
-
+
+
+
+
+
@@ -38,6 +41,9 @@ export default {
titleMap: {
show: '查看公司详情'
},
+ setMap:{
+ companyType:[]
+ },
visible: false,
//表单数据
form: {},
@@ -53,14 +59,30 @@ export default {
this.visible = true;
return this
},
+ // 加载公司类型
+ async getCompanyTypeSelect(e){
+ if(!e) return
+ const res = await this.$API.system.company.typeSelect.post();
+ if(res.code == 200){
+ this.setMap['companyType'] = res.data;
+ }
+ },
//表单注入数据
async setData(data) {
let params = {
id:data.id
}
+ await this.getCompanyTypeSelect(true);
+
const res = await this.$API.system.company.info.post(params);
if(res.code == 200){
this.form = res.data;
+ this.form.company_type_name = "";
+ this.setMap.companyType.forEach(em=>{
+ if(em.company_type === res.data.company_type){
+ this.form.company_type_name = em.label
+ }
+ })
}
}
}
diff --git a/src/views/setting/deptMag/index.vue b/src/views/setting/deptMag/index.vue
index 24490b5..96a1b3b 100644
--- a/src/views/setting/deptMag/index.vue
+++ b/src/views/setting/deptMag/index.vue
@@ -2,7 +2,7 @@
-
+ 新增部门
@@ -24,8 +24,7 @@
-
-
+
修改
删除
@@ -97,18 +96,17 @@
status: row.active_status,
};
const res = await this.$API.system.dept.status.post(params);
- if(res.code ==200){
- console.log(res.data)
- }else{
+ if(res.code !=200){
row.active_status = !row.active_status;
}
+ delete row.$switch_status;
delete row.$switch_yx;
}, 500);
},
//删除
async table_del(row){
const reqData = {id: row.id};
- const res = await this.$API.demo.post.post(reqData);
+ const res = await this.$API.system.dept.delete.post(reqData);
if(res.code == 200){
this.$refs.table.refresh()
this.$message.success("删除成功")
@@ -120,11 +118,15 @@
async batch_del(){
this.$confirm(`确定删除选中的 ${this.selection.length} 项吗?如果删除项中含有子集将会被一并删除`, '提示', {
type: 'warning'
- }).then(() => {
+ }).then(async () => {
const loading = this.$loading();
- this.$refs.table.refresh()
+ const params = {ids: this.selection.map(em => em.id)};
+ const res = await this.$API.system.dept.delete.post(params);
+ if (res.code == 200) {
+ this.$refs.table.refresh()
+ this.$message.success("删除成功")
+ }
loading.close();
- this.$message.success("操作成功")
}).catch(() => {
})
diff --git a/src/views/setting/deptMag/save.vue b/src/views/setting/deptMag/save.vue
index aee7f42..427029f 100644
--- a/src/views/setting/deptMag/save.vue
+++ b/src/views/setting/deptMag/save.vue
@@ -1,14 +1,14 @@
-
-
+
+
-
-
+
+
-
-
+
+
@@ -16,7 +16,7 @@
取 消
- 保 存
+ 保 存
@@ -33,28 +33,27 @@
show: '查看'
},
visible: false,
- isSaveing: false,
+ isSave: false,
//表单数据
form: {
+ parent_id: "",
id:"",
- parentId: "",
- label: "",
- sort: 1,
- status: "1",
+ name: "",
+ active_status: true,
remark: ""
},
//验证规则
rules: {
- sort: [
- {required: true, message: '请输入排序', trigger: 'change'}
- ],
- label: [
+ name: [
{required: true, message: '请输入部门名称'}
- ]
+ ],
+ active_status: [
+ {required: true,}
+ ],
},
//所需数据选项
- groups: [],
- groupsProps: {
+ depts: [],
+ deptsProps: {
value: "id",
emitPath: false,
checkStrictly: true
@@ -73,37 +72,35 @@
},
//加载树数据
async getGroup(){
- var res = await this.$API.system.dept.list.get();
- this.groups = res.data;
+ const res = await this.$API.system.dept.active.post();
+ if(res.code == 200){
+ this.depts = res.data;
+ }
},
//表单提交方法
submit(){
this.$refs.dialogForm.validate(async (valid) => {
if (valid) {
- this.isSaveing = true;
- var res = await this.$API.demo.post.post(this.form);
- this.isSaveing = false;
+ this.isSave = true;
+ const res = await this.$API.system.dept.add.post(this.form);
+ this.isSave = false;
if(res.code == 200){
this.$emit('success', this.form, this.mode)
this.visible = false;
this.$message.success("操作成功")
- }else{
- this.$alert(res.message, "提示", {type: 'error'})
}
}
})
},
//表单注入数据
- setData(data){
- this.form.id = data.id
- this.form.label = data.label
- this.form.status = data.status
- this.form.sort = data.sort
- this.form.parentId = data.parentId
- this.form.remark = data.remark
-
- //可以和上面一样单个注入,也可以像下面一样直接合并进去
- //Object.assign(this.form, data)
+ async setData(data) {
+ let params = {
+ id: data.id
+ }
+ const res = await this.$API.system.dept.info.post(params);
+ if (res.code == 200) {
+ this.form = res.data;
+ }
}
}
}
diff --git a/src/views/setting/role/dataTree.vue b/src/views/setting/role/dataTree.vue
new file mode 100644
index 0000000..07960d6
--- /dev/null
+++ b/src/views/setting/role/dataTree.vue
@@ -0,0 +1,252 @@
+
+
+
+
+
+
+
+
+ {{item.meta.title}}
+
+
+
+
+
+
+ {{em.meta.title}}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/setting/role/index.vue b/src/views/setting/role/index.vue
index 40a1e9a..91516d9 100644
--- a/src/views/setting/role/index.vue
+++ b/src/views/setting/role/index.vue
@@ -2,29 +2,26 @@
-
-
+ 新建
+ 删除
权限设置
-
+
-
-
-
-
-
+
+
+
+
+
@@ -72,9 +69,6 @@
column:[]
},
selection: [],
- search: {
- keyword: null
- }
}
},
methods: {
@@ -92,40 +86,36 @@
this.$refs.saveDialog.open('edit').setData(row)
})
},
- //查看
- table_show(row){
- this.dialog.save = true
- this.$nextTick(() => {
- this.$refs.saveDialog.open('show').setData(row)
- })
- },
//权限设置
permission(){
- this.dialog.permission = true
+ this.dialog.permission = true;
this.$nextTick(() => {
- this.$refs.permissionDialog.open()
+ const role_id = this.selection[0]["id"];
+ this.$refs.permissionDialog.open(role_id)
})
},
//删除
async table_del(row){
- var reqData = {id: row.id}
- var res = await this.$API.demo.post.post(reqData);
+ const params = {ids: [row.id]};
+ const res = await this.$API.system.role.delete.post(params);
if(res.code == 200){
this.$refs.table.refresh()
this.$message.success("删除成功")
- }else{
- this.$alert(res.message, "提示", {type: 'error'})
}
},
//批量删除
async batch_del(){
- this.$confirm(`确定删除选中的 ${this.selection.length} 项吗?如果删除项中含有子集将会被一并删除`, '提示', {
+ this.$confirm(`确定删除选中的 ${this.selection.length} 项吗?`, '提示', {
type: 'warning'
- }).then(() => {
+ }).then(async () => {
const loading = this.$loading();
- this.$refs.table.refresh()
+ const params = {ids: this.selection.map(em=>em.id)};
+ const res = await this.$API.system.role.delete.post(params);
+ if (res.code == 200) {
+ this.$refs.table.refresh()
+ this.$message.success("删除成功")
+ }
loading.close();
- this.$message.success("操作成功")
}).catch(() => {
})
@@ -136,21 +126,23 @@
},
//表格内开关
changeSwitch(val, row){
- row.status = row.status == '1'?'0':'1'
row.$switch_status = true;
- setTimeout(()=>{
+ setTimeout(async () => {
+ let params = {
+ id: row.id,
+ status: row.active_status,
+ };
+ const res = await this.$API.system.role.status.post(params);
+ if (res.code != 200) {
+ row.active_status = !row.active_status;
+ }
delete row.$switch_status;
- row.status = val;
- this.$message.success("操作成功")
+ delete row.$switch_yx;
}, 500)
- },
- //搜索
- upsearch(){
-
},
//根据ID获取树结构
filterTree(id){
- var target = null;
+ let target = null;
function filter(tree){
tree.forEach(item => {
if(item.id == id){
diff --git a/src/views/setting/role/members.vue b/src/views/setting/role/members.vue
new file mode 100644
index 0000000..16981e7
--- /dev/null
+++ b/src/views/setting/role/members.vue
@@ -0,0 +1,179 @@
+
+
+
+
+
+
+
+
+
{{index+1}}
+
{{item.name}}
+
{{item.department}}
+
{{item.mobile}}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/setting/role/permission.vue b/src/views/setting/role/permission.vue
index f80f9f0..7d9974d 100644
--- a/src/views/setting/role/permission.vue
+++ b/src/views/setting/role/permission.vue
@@ -1,190 +1,356 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ item.label }}
- {{ item.views }}
-
-
- 用于控制角色登录后控制台的视图
-
-
-
-
+
+
+
+ 移除成员
+ 添加成员
+
+
+
+
+
+
+
+
+
+
- 取 消
- 保 存
+ 取 消
+ 保 存
+
+
+
+
+
+
+
+
已选成员 ({{userCheckList.length}})
+
+
+
+
+
{{ userAvatar(item) }}
+
{{item.name}}
+
+
+
+
+
+
+
+
+ 取 消
+ 保 存
-
diff --git a/src/views/setting/role/save.vue b/src/views/setting/role/save.vue
index 6472841..1fc626e 100644
--- a/src/views/setting/role/save.vue
+++ b/src/views/setting/role/save.vue
@@ -1,14 +1,11 @@
-
+
-
-
+
+
-
-
-
-
-
+
+
@@ -16,7 +13,7 @@
取 消
- 保 存
+ 保 存
@@ -33,26 +30,21 @@
show: '查看'
},
visible: false,
- isSaveing: false,
+ isSave: false,
//表单数据
form: {
id:"",
- label: "",
- alias: "",
- sort: 1,
- status: 1,
+ role_name: "",
+ active_status: true,
remark: ""
},
//验证规则
rules: {
- sort: [
- {required: true, message: '请输入排序', trigger: 'change'}
- ],
- label: [
+ role_name: [
{required: true, message: '请输入角色名称'}
],
- alias: [
- {required: true, message: '请输入角色别名'}
+ active_status: [
+ {required: true,}
]
}
}
@@ -71,15 +63,13 @@
submit(){
this.$refs.dialogForm.validate(async (valid) => {
if (valid) {
- this.isSaveing = true;
- var res = await this.$API.demo.post.post(this.form);
- this.isSaveing = false;
+ this.isSave = true;
+ const res = await this.$API.system.role.add.post(this.form);
+ this.isSave = false;
if(res.code == 200){
this.$emit('success', this.form, this.mode)
this.visible = false;
this.$message.success("操作成功")
- }else{
- this.$alert(res.message, "提示", {type: 'error'})
}
}
})
@@ -87,14 +77,9 @@
//表单注入数据
setData(data){
this.form.id = data.id
- this.form.label = data.label
- this.form.alias = data.alias
- this.form.sort = data.sort
- this.form.status = data.status
+ this.form.role_name = data.role_name
+ this.form.active_status = data.active_status
this.form.remark = data.remark
-
- //可以和上面一样单个注入,也可以像下面一样直接合并进去
- //Object.assign(this.form, data)
}
}
}
diff --git a/src/views/setting/role/tree.vue b/src/views/setting/role/tree.vue
new file mode 100644
index 0000000..917a73a
--- /dev/null
+++ b/src/views/setting/role/tree.vue
@@ -0,0 +1,136 @@
+
+
+
+
+
+
+
+
+
+
{{ userAvatar(em) }}
+
{{em.name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/setting/user/company-user-list.vue b/src/views/setting/user/company-user-list.vue
new file mode 100644
index 0000000..03e1cdb
--- /dev/null
+++ b/src/views/setting/user/company-user-list.vue
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/setting/user/index.vue b/src/views/setting/user/index.vue
index 6a8d591..e23a3e0 100644
--- a/src/views/setting/user/index.vue
+++ b/src/views/setting/user/index.vue
@@ -1,6 +1,6 @@
-
+
@@ -13,20 +13,20 @@
-
+ 新增用户
- 分配角色
- 密码重置
+ 分配角色
+ 密码重置
-
+
@@ -34,6 +34,13 @@
+
+
+
+ {{em}}、
+
+
+
@@ -45,6 +52,7 @@
用户详情
编辑用户
+ 查看权限
删除用户
@@ -58,29 +66,38 @@
+
+
+
+
diff --git a/src/views/setting/user/role.vue b/src/views/setting/user/role.vue
new file mode 100644
index 0000000..08f4e4a
--- /dev/null
+++ b/src/views/setting/user/role.vue
@@ -0,0 +1,107 @@
+
+
+
+
+
+
+
+
+ 账号信息用于登录,系统不允许修改
+
+
+
+
+
+
+
+
+
+
+
+ 取 消
+ 保 存
+
+
+
+
+
+
+
diff --git a/src/views/setting/user/save.vue b/src/views/setting/user/save.vue
index b262891..b00305d 100644
--- a/src/views/setting/user/save.vue
+++ b/src/views/setting/user/save.vue
@@ -1,14 +1,26 @@
-
+
-
+
+ 账号信息用于登录,系统不允许修改
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -16,7 +28,7 @@
-
+
@@ -53,6 +65,7 @@
id:"",
login_name: "",
name:"",
+ emp_id:"",
mobile:"",
email:"",
avatar: "",
@@ -71,6 +84,15 @@
name: [
{required: true, message: '请输入真实姓名'}
],
+ emp_id:[
+ {required: true, message: '请输入工号'}
+ ],
+ mobile: [
+ {required: true, message: '请输入联系方式'}
+ ],
+ email: [
+ {required: true, message: '请输入邮箱地址'}
+ ],
password: [
{required: true, message: '请输入登录密码'},
{validator: (rule, value, callback) => {
@@ -80,7 +102,7 @@
callback();
}}
],
- password2: [
+ password_cnf: [
{required: true, message: '请再次输入密码'},
{validator: (rule, value, callback) => {
if (value !== this.form.password) {
@@ -90,10 +112,10 @@
}
}}
],
- dept: [
+ dept_id: [
{required: true, message: '请选择所属部门'}
],
- group: [
+ role_ids: [
{required: true, message: '请选择所属角色', trigger: 'change'}
]
},
@@ -110,7 +132,6 @@
checkStrictly: false,
emitPath:false
}
- // checkStrictly: false,
}
},
mounted() {
@@ -127,11 +148,15 @@
//加载树数据
async getGroup(){
const res = await this.$API.system.role.list.get();
- this.groups = res.data.rows;
+ if(res.code == 200){
+ this.groups = res.data.rows;
+ }
},
async getDept(){
const res = await this.$API.system.dept.active.post();
- this.depts = res.data;
+ if(res.code == 200){
+ this.depts = res.data;
+ }
},
parentParams(item){
this.form.avatar = item;
@@ -156,14 +181,16 @@
//表单注入数据
setData(data){
this.form.id = data.id
- this.form.userName = data.userName
- this.form.avatar = data.avatar
+ this.form.login_name = data.login_name
this.form.name = data.name
+ this.form.emp_id = data.emp_id
+ this.form.mobile = data.mobile
+ this.form.email = data.email
+ this.form.avatar = data.avatar
+ this.form.dept_id = data.dept_id
this.form.group = data.group
- this.form.dept = data.dept
+ this.form.role_ids = data.user_roles && data.user_roles.role_ids?data.user_roles.role_ids:[]
- //可以和上面一样单个注入,也可以像下面一样直接合并进去
- //Object.assign(this.form, data)
}
}
}
diff --git a/src/views/setting/user/view-permission.vue b/src/views/setting/user/view-permission.vue
new file mode 100644
index 0000000..3c701c7
--- /dev/null
+++ b/src/views/setting/user/view-permission.vue
@@ -0,0 +1,246 @@
+
+
+
+
+ {{name}}角色信息:
+
+
+ {{item}}
+
+
+
+
+
+
+
+
+
+
+
+
+
{{item.meta.title}}
+
+
+
+
+
+
+
+
+
+
+
+