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}} - - + + + + +