增加用户体系

20240109-yw
yuanwei 1 year ago
parent e78f5fe43e
commit c25482d7be

@ -18,7 +18,7 @@ export function filterRel(query) {
export function filterGroupRel(query) { export function filterGroupRel(query) {
return axios({ return axios({
url: "/directToCpt/sup/product/filterGroupRel", url: "/sup/product/filterGroupRel",
method: "get", method: "get",
params: query params: query
}); });

@ -2,7 +2,7 @@ import axios from "@/utils/request";
export function listYlqxzczh(query) { export function listYlqxzczh(query) {
return axios({ return axios({
url: "/directToCpt/sup/cert/list", url: "/sup/cert/list",
method: "get", method: "get",
params: query params: query
}); });
@ -10,7 +10,7 @@ export function listYlqxzczh(query) {
export function filterMyAuth(query) { export function filterMyAuth(query) {
return axios({ return axios({
url: "/directToCpt/sup/cert/filterMyAuth", url: "/sup/cert/filterMyAuth",
method: "get", method: "get",
params: query params: query
}); });
@ -21,8 +21,8 @@ export function filterMyAuth(query) {
export function saveYlqxzczh(data, formName, method = "post") { export function saveYlqxzczh(data, formName, method = "post") {
let url = let url =
formName !== "edit" formName !== "edit"
? "/directToCpt/sup/cert/save" ? "/sup/cert/save"
: "/directToCpt/sup/cert/edit"; : "/sup/cert/edit";
return axios({ return axios({
url: url, url: url,
method: method, method: method,
@ -32,7 +32,7 @@ export function saveYlqxzczh(data, formName, method = "post") {
export function batchAddAuth(data) { export function batchAddAuth(data) {
return axios({ return axios({
url: "/directToCpt/sup/cert/batchAddAuth", url: "/sup/cert/batchAddAuth",
method: "post", method: "post",
data: data data: data
}); });
@ -42,7 +42,7 @@ export function batchAddAuth(data) {
// 删除 // 删除
export function deleteYlqxzczh(data) { export function deleteYlqxzczh(data) {
return axios({ return axios({
url: "/directToCpt/sup/cert/delete", url: "/sup/cert/delete",
method: "post", method: "post",
data: data data: data
}); });

@ -4,7 +4,7 @@ import axios from "@/utils/request";
export function filterCompany(query) { export function filterCompany(query) {
return axios( return axios(
{ {
url: "/directToCpt/sup/product/list", url: "/sup/product/list",
method: "get", method: "get",
params: query params: query
} }
@ -15,7 +15,7 @@ export function filterCompany(query) {
export function updateCompany(query) { export function updateCompany(query) {
return axios({ return axios({
url: "/directToCpt/sup/product/update", url: "/sup/product/update",
method: "post", method: "post",
data: query data: query
}); });
@ -23,7 +23,7 @@ export function updateCompany(query) {
export function addCompany(query) { export function addCompany(query) {
return axios({ return axios({
url: "/directToCpt/sup/product/add", url: "/sup/product/add",
method: "post", method: "post",
data: query data: query
}); });
@ -33,7 +33,7 @@ export function addCompany(query) {
export function deleteCompany(query) { export function deleteCompany(query) {
return axios({ return axios({
url: "/directToCpt/sup/product/delete", url: "/sup/product/delete",
method: "post", method: "post",
data: query data: query
}); });

@ -3,7 +3,7 @@ import request from "@/utils/request";
export function listYlqxzczh(query) { export function listYlqxzczh(query) {
return request({ return request({
url: "/directToCpt/user/cert/list", url: "/user/cert/list",
method: "get", method: "get",
params: query params: query
}); });
@ -14,8 +14,8 @@ export function listYlqxzczh(query) {
export function saveYlqxzczh(data, formName, method = "post") { export function saveYlqxzczh(data, formName, method = "post") {
let url = let url =
formName !== "edit" formName !== "edit"
? "/directToCpt/user/cert/save" ? "/user/cert/save"
: "/directToCpt/user/cert/edit"; : "/user/cert/edit";
return request({ return request({
url: url, url: url,
method: method, method: method,
@ -25,7 +25,7 @@ export function saveYlqxzczh(data, formName, method = "post") {
export function filterMyAuth(query) { export function filterMyAuth(query) {
return request({ return request({
url: "/directToCpt/user/cert/filterMyAuth", url: "/user/cert/filterMyAuth",
method: "get", method: "get",
params: query params: query
}); });
@ -33,7 +33,7 @@ export function filterMyAuth(query) {
export function batchAddAuth(data) { export function batchAddAuth(data) {
return request({ return request({
url: "/directToCpt/user/cert/batchAddAuth", url: "/user/cert/batchAddAuth",
method: "post", method: "post",
data: data data: data
}); });
@ -43,7 +43,7 @@ export function batchAddAuth(data) {
// 删除 // 删除
export function deleteYlqxzczh(data) { export function deleteYlqxzczh(data) {
return request({ return request({
url: "/directToCpt/user/cert/delete", url: "/user/cert/delete",
method: "post", method: "post",
data: data data: data
}); });

@ -18,17 +18,18 @@ export function getMenu(menuId) {
} }
// 查询菜单下拉树结构 // 查询菜单下拉树结构
export function treeselect() { export function treeselect(query) {
return request({ return request({
url: '/system/menu/treeselect', url: '/system/menu/treeselect',
method: 'get' method: 'get',
params: query
}) })
} }
// 根据角色ID查询菜单下拉树结构 // 根据角色ID查询菜单下拉树结构
export function roleMenuTreeselect(roleId) { export function roleMenuTreeselect(roleId,businessType) {
return request({ return request({
url: '/system/menu/roleMenuTreeselect/' + roleId, url: '/system/menu/roleMenuTreeselect/' + roleId+'/'+businessType,
method: 'get' method: 'get'
}) })
} }
@ -57,4 +58,4 @@ export function delMenu(menuId) {
url: '/system/menu/' + menuId, url: '/system/menu/' + menuId,
method: 'delete' method: 'delete'
}) })
} }

@ -428,7 +428,7 @@ export default {
}, },
created() { created() {
console.log(this.inputQuery) console.log(this.inputQuery)
getHead("supcert-auth","1").then((re) => { getHead("client-supcert-auth","1").then((re) => {
// //
this.tableObj = re.data; this.tableObj = re.data;
this.tableHeader = re.data.tableList; this.tableHeader = re.data.tableList;

@ -396,7 +396,7 @@ export default {
components: { components: {
}, },
created() { created() {
getHead("userEmpower-add","1").then((re) => { getHead("client-userEmpower-add","1").then((re) => {
// //
this.tableObj = re.data; this.tableObj = re.data;
this.tableHeader = re.data.tableList; this.tableHeader = re.data.tableList;

@ -255,9 +255,9 @@ export default {
updateZz updateZz
}, },
created() { created() {
var type = "usercert"; var type = "client-usercert";
if(this.formName == 3){ if(this.formName == 3){
type = "usercert-auth"; type = "client-usercert-auth";
} }
this.uploadUrl = this.BASE_URL + "/udiwms/upload/register/file"; this.uploadUrl = this.BASE_URL + "/udiwms/upload/register/file";
getHead(type,"1").then((re) => { getHead(type,"1").then((re) => {

@ -1615,14 +1615,14 @@ export default {
this.fromList = re.data.fromList; this.fromList = re.data.fromList;
this.getList() this.getList()
}); });
getHead("usercert","1").then((re) => { getHead("client-usercert","1").then((re) => {
// //
this.tableObj2 = re.data; this.tableObj2 = re.data;
this.tableHeader2 = re.data.tableList; this.tableHeader2 = re.data.tableList;
this.queryList2 = re.data.queryList; this.queryList2 = re.data.queryList;
this.fromList2 = re.data.fromList; this.fromList2 = re.data.fromList;
}); });
getHead("userEmpower","1").then((re) => { getHead("client-userEmpower","1").then((re) => {
// //
this.tableObj3 = re.data; this.tableObj3 = re.data;
this.tableHeader3 = re.data.tableList; this.tableHeader3 = re.data.tableList;

@ -427,7 +427,7 @@ export default {
ylqxzczhManuDialog ylqxzczhManuDialog
}, },
created() { created() {
getHead("supcert-auth","1").then((re) => { getHead("client-supcert-auth","1").then((re) => {
// //
this.tableObj = re.data; this.tableObj = re.data;
this.tableHeader = re.data.tableList; this.tableHeader = re.data.tableList;

@ -396,7 +396,7 @@ export default {
components: { components: {
}, },
created() { created() {
getHead("supEmpower-add","1").then((re) => { getHead("client-supEmpower-add","1").then((re) => {
// //
this.tableObj = re.data; this.tableObj = re.data;
this.tableHeader = re.data.tableList; this.tableHeader = re.data.tableList;

@ -1132,7 +1132,7 @@ export default {
} }
, ,
created() { created() {
getHead("supProduct","1").then((re) => { getHead("client-supProduct","1").then((re) => {
// //
this.tableObj = re.data; this.tableObj = re.data;
this.tableHeader = re.data.tableList; this.tableHeader = re.data.tableList;
@ -1140,14 +1140,14 @@ export default {
this.fromList = re.data.fromList; this.fromList = re.data.fromList;
this.getList() this.getList()
}); });
getHead("supcert","1").then((re) => { getHead("client-supcert","1").then((re) => {
// //
this.tableObj2 = re.data; this.tableObj2 = re.data;
this.tableHeader2 = re.data.tableList; this.tableHeader2 = re.data.tableList;
this.queryList2 = re.data.queryList; this.queryList2 = re.data.queryList;
this.fromList2 = re.data.fromList; this.fromList2 = re.data.fromList;
}); });
getHead("supEmpower","1").then((re) => { getHead("client-supEmpower","1").then((re) => {
// //
this.tableObj3 = re.data; this.tableObj3 = re.data;
this.tableHeader3 = re.data.tableList; this.tableHeader3 = re.data.tableList;

@ -161,7 +161,7 @@ export default {
components: { components: {
}, },
created() { created() {
getHead("supProduct","1").then((re) => { getHead("client-supProduct","1").then((re) => {
// //
this.tableObj = re.data; this.tableObj = re.data;
this.tableHeader = re.data.tableList; this.tableHeader = re.data.tableList;

@ -255,9 +255,9 @@ export default {
updateZz updateZz
}, },
created() { created() {
var type = "supcert"; var type = "client-supcert";
if(this.formName == 3){ if(this.formName == 3){
type = "supcert-auth"; type = "client-supcert-auth";
} }
this.uploadUrl = this.BASE_URL + "/udiwms/upload/register/file"; this.uploadUrl = this.BASE_URL + "/udiwms/upload/register/file";
getHead(type,"1").then((re) => { getHead(type,"1").then((re) => {

@ -1,5 +1,8 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-tabs type="border-card" v-model="activeName" style="margin: 15px" @tab-click="handleClick">
<el-tab-pane name="server">
<span slot="label">监管平台</span>
<el-form :model="queryParams" ref="queryForm" size="mini" :inline="true" v-show="showSearch"> <el-form :model="queryParams" ref="queryForm" size="mini" :inline="true" v-show="showSearch">
<el-form-item label="菜单名称:" prop="menuName"> <el-form-item label="菜单名称:" prop="menuName">
<el-input <el-input
@ -32,30 +35,6 @@
</el-button-group> </el-button-group>
</el-form-item> </el-form-item>
</el-form> </el-form>
<!-- <el-row :gutter="10" class="mb8">-->
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="primary"-->
<!-- plain-->
<!-- icon="el-icon-plus"-->
<!-- size="mini"-->
<!-- @click="handleAdd"-->
<!-- v-hasPermi="['system:menu:add']"-->
<!-- >新增-->
<!-- </el-button>-->
<!-- </el-col>-->
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="info"-->
<!-- plain-->
<!-- icon="el-icon-sort"-->
<!-- size="mini"-->
<!-- @click="toggleExpandAll"-->
<!-- >展开/折叠-->
<!-- </el-button>-->
<!-- </el-col>-->
<!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>-->
<!-- </el-row>-->
<el-table <el-table
v-if="refreshTable" v-if="refreshTable"
v-loading="loading" v-loading="loading"
@ -107,6 +86,94 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-tab-pane>
<el-tab-pane name="client">
<span slot="label">客户端</span>
<el-form :model="queryParams" ref="queryForm" size="mini" :inline="true" v-show="showSearch">
<el-form-item label="菜单名称:" prop="menuName">
<el-input
v-model="queryParams.menuName"
placeholder="请输入菜单名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="状态:" prop="status">
<el-select v-model="queryParams.status" placeholder="菜单状态" clearable>
<el-option
v-for="dict in dict.type.sys_normal_disable"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button-group>
<el-button type="primary" icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"
v-hasPermi="['system:menu:query']">查询
</el-button>
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['system:menu:add']"
>新增
</el-button>
<el-button type="primary" icon="el-icon-sort" size="mini" @click="toggleExpandAll">/</el-button>
</el-button-group>
</el-form-item>
</el-form>
<el-table
v-if="refreshTable"
v-loading="loading"
:data="menuList"
row-key="menuId"
border
:default-expand-all="isExpandAll"
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
>
<el-table-column prop="menuName" label="菜单名称" :show-overflow-tooltip="true" width="160"></el-table-column>
<el-table-column prop="icon" label="图标" align="center" width="100">
<template slot-scope="scope">
<svg-icon :icon-class="scope.row.icon"/>
</template>
</el-table-column>
<el-table-column prop="orderNum" label="排序" width="60"></el-table-column>
<el-table-column prop="perms" label="权限标识" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="component" label="组件路径" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="status" label="状态" width="80">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
type="text"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:menu:edit']"
>编辑
</el-button>
<el-button
type="text"
v-hasPermi="['system:menu:add']"
@click="handleAdd(scope.row)"
>新增
</el-button>
<el-button
type="text"
v-hasPermi="['system:menu:delete']"
@click="handleDelete(scope.row)"
>删除
</el-button>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
<!-- 添加或修改菜单对话框 --> <!-- 添加或修改菜单对话框 -->
<el-dialog :title="title" :visible.sync="open" width="60%" append-to-body> <el-dialog :title="title" :visible.sync="open" width="60%" append-to-body>
@ -287,6 +354,8 @@ export default {
components: {Treeselect, IconSelect}, components: {Treeselect, IconSelect},
data() { data() {
return { return {
activeName: 'server',
businessType:"0",
// //
loading: true, loading: true,
// //
@ -335,11 +404,21 @@ export default {
/** 查询菜单列表 */ /** 查询菜单列表 */
getList() { getList() {
this.loading = true; this.loading = true;
this.queryParams.businessType = this.businessType
listMenu(this.queryParams).then(response => { listMenu(this.queryParams).then(response => {
this.menuList = this.handleTree(response.data, "menuId"); this.menuList = this.handleTree(response.data, "menuId");
this.loading = false; this.loading = false;
}); });
}, },
handleClick(tab, event) {
this.activeName = tab.name;
if("client" == this.activeName){
this.businessType = "1"
}else{
this.businessType = "0"
}
this.getList();
},
/** 转换菜单数据结构 */ /** 转换菜单数据结构 */
normalizer(node) { normalizer(node) {
if (node.children && !node.children.length) { if (node.children && !node.children.length) {
@ -422,6 +501,7 @@ export default {
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm: function () { submitForm: function () {
this.form.businessType = this.businessType
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
if (valid) { if (valid) {
if (this.form.menuId != undefined) { if (this.form.menuId != undefined) {

@ -1,6 +1,9 @@
<template> <template>
<div> <div>
<el-card> <el-tabs type="border-card" v-model="activeName" style="margin: 15px" @tab-click="handleClick">
<!--单据业务详情-->
<el-tab-pane name="server">
<span slot="label">监管平台</span>
<el-form :model="queryParams" ref="queryForm" size="mini" :inline="true" v-show="showSearch"> <el-form :model="queryParams" ref="queryForm" size="mini" :inline="true" v-show="showSearch">
<el-form-item label="角色名称:" prop="roleName"> <el-form-item label="角色名称:" prop="roleName">
<el-input <el-input
@ -37,8 +40,6 @@
border highlight-current-row> border highlight-current-row>
<el-table-column label="序号" type="index"></el-table-column> <el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="角色名称" prop="roleName" :show-overflow-tooltip="true"/> <el-table-column label="角色名称" prop="roleName" :show-overflow-tooltip="true"/>
<!-- <el-table-column label="权限字符" prop="roleKey" :show-overflow-tooltip="true" width="150"/>-->
<!-- <el-table-column label="显示顺序" prop="roleSort" width="100"/>-->
<el-table-column label="状态"> <el-table-column label="状态">
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag :type="scope.row.status | statusFilterType">{{ <el-tag :type="scope.row.status | statusFilterType">{{
@ -49,16 +50,6 @@
</el-table-column> </el-table-column>
<!-- <el-table-column label="状态" align="center" width="100">-->
<!-- <template slot-scope="scope">-->
<!-- <el-switch-->
<!-- v-model="scope.row.status"-->
<!-- active-value="0"-->
<!-- inactive-value="1"-->
<!-- @change="handleStatusChange(scope.row)"-->
<!-- ></el-switch>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="创建时间" align="center" prop="createTime"> <el-table-column label="创建时间" align="center" prop="createTime">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span> <span>{{ parseTime(scope.row.createTime) }}</span>
@ -78,20 +69,6 @@
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
>删除 >删除
</el-button> </el-button>
<!-- <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)"-->
<!-- >-->
<!-- <span class="el-dropdown-link">-->
<!-- <i class="el-icon-d-arrow-right el-icon&#45;&#45;right"></i>更多-->
<!-- </span>-->
<!-- <el-dropdown-menu slot="dropdown">-->
<!-- <el-dropdown-item command="handleDataScope" icon="el-icon-circle-check"-->
<!-- >数据权限-->
<!-- </el-dropdown-item>-->
<!-- <el-dropdown-item command="handleAuthUser" icon="el-icon-user"-->
<!-- >分配用户-->
<!-- </el-dropdown-item>-->
<!-- </el-dropdown-menu>-->
<!-- </el-dropdown>-->
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -103,100 +80,170 @@
:limit.sync="queryParams.limit" :limit.sync="queryParams.limit"
@pagination="getList" @pagination="getList"
/> />
</el-tab-pane>
<!-- 添加或修改角色配置对话框 --> <el-tab-pane name="client">
<el-dialog :title="title" :visible.sync="open" width="40%" append-to-body> <span slot="label">客户端</span>
<el-form ref="form" :model="form" :rules="rules" label-width="100px"> <el-form :model="queryParams" ref="queryForm" size="mini" :inline="true" v-show="showSearch">
<el-form-item label="角色名称" prop="roleName"> <el-form-item label="角色名称:" prop="roleName">
<el-input v-model="form.roleName" placeholder="请输入角色名称" clearable/> <el-input
</el-form-item> v-model="queryParams.roleName"
<!-- <el-form-item prop="roleKey">--> placeholder="请输入角色名称"
<!-- <span slot="label">--> clearable
<!-- <el-tooltip content="控制器中定义的权限字符,如:@PreAuthorize(`@ss.hasRole('admin')`)" placement="top">--> @keyup.enter.native="handleQuery"
<!-- <i class="el-icon-question"></i>--> />
<!-- </el-tooltip>-->
<!-- 权限字符-->
<!-- </span>-->
<!-- <el-input v-model="form.roleKey" placeholder="请输入权限字符"/>-->
<!-- </el-form-item>-->
<el-form-item label="角色顺序" prop="roleSort">
<el-input-number v-model="form.roleSort" controls-position="right" :min="0"/>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio label="0">正常</el-radio>
<el-radio label="1">禁用</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="菜单权限">
<el-checkbox v-model="menuExpand" @change="handleCheckedTreeExpand($event, 'menu')">/</el-checkbox>
<el-checkbox v-model="menuNodeAll" @change="handleCheckedTreeNodeAll($event, 'menu')">/</el-checkbox>
<el-tree
props="menuOptions"
class="tree-border"
:data="menuOptions"
show-checkbox
ref="menu"
node-key="id"
:check-strictly="!form.menuCheckStrictly"
empty-text="加载中,请稍候"
:props="defaultProps"
></el-tree>
</el-form-item>
<el-form-item label="备注">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" clearable></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm" size="small">提交</el-button>
<el-button @click="cancel" size="small">取消</el-button>
</div>
</el-dialog>
<!-- 分配角色数据权限对话框 -->
<el-dialog :title="title" :visible.sync="openDataScope" width="40%" append-to-body>
<el-form :model="form" label-width="80px">
<el-form-item label="角色名称">
<el-input v-model="form.roleName" :disabled="true"/>
</el-form-item> </el-form-item>
<el-form-item label="权限字符"> <el-form-item label="状态:" prop="status">
<el-input v-model="form.roleKey" :disabled="true"/> <el-select
</el-form-item> v-model="queryParams.status"
<el-form-item label="权限范围"> placeholder="请选择角色状态"
<el-select v-model="form.dataScope" @change="dataScopeSelectChange"> clearable
<el-option >
v-for="item in dataScopeOptions" <el-option label="正常" :value="0"/>
:key="item.value" <el-option label="禁用" :value="1"/>
:label="item.label" <el-option label="全部" value=""/>
:value="item.value"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="数据权限" v-show="form.dataScope == 2"> <el-form-item>
<el-checkbox v-model="deptExpand" @change="handleCheckedTreeExpand($event, 'dept')">/</el-checkbox>
<el-checkbox v-model="deptNodeAll" @change="handleCheckedTreeNodeAll($event, 'dept')">/</el-checkbox> <el-button-group>
<el-checkbox v-model="form.deptCheckStrictly" @change="handleCheckedTreeConnect($event, 'dept')"> <el-button type="primary" icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-checkbox> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-tree <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd"></el-button>
class="tree-border" </el-button-group>
:data="deptOptions"
show-checkbox
default-expand-all
ref="dept"
node-key="id"
:check-strictly="!form.deptCheckStrictly"
empty-text="加载中,请稍候"
:props="defaultProps"
></el-tree>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <el-table v-loading="loading" :data="roleList"
<el-button type="primary" @click="submitDataScope"> </el-button> @selection-change="handleSelectionChange"
<el-button @click="cancelDataScope"> </el-button> style="width: 100%"
</div> border highlight-current-row>
</el-dialog> <el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="角色名称" prop="roleName" :show-overflow-tooltip="true"/>
<el-table-column label="状态">
<template slot-scope="scope">
<el-tag :type="scope.row.status | statusFilterType">{{
scope.row.status | statusFilterName
}}
</el-tag>
</template>
</el-table-column>
</el-card> <el-table-column label="创建时间" align="center" prop="createTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center">
<template slot-scope="scope">
<el-button
:disabled="scope.row.roleId === 1"
type="text"
@click="handleUpdate(scope.row)"
>编辑
</el-button>
<el-button
type="text"
:disabled="scope.row.roleId === '1'"
@click="handleDelete(scope.row)"
>删除
</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.page"
:limit.sync="queryParams.limit"
@pagination="getList"
/>
</el-tab-pane>
</el-tabs>
<!-- 添加或修改角色配置对话框 -->
<el-dialog :title="title" :visible.sync="open" width="40%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form-item label="角色名称" prop="roleName">
<el-input v-model="form.roleName" placeholder="请输入角色名称" clearable/>
</el-form-item>
<el-form-item label="角色顺序" prop="roleSort">
<el-input-number v-model="form.roleSort" controls-position="right" :min="0"/>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio label="0">正常</el-radio>
<el-radio label="1">禁用</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="菜单权限">
<el-checkbox v-model="menuExpand" @change="handleCheckedTreeExpand($event, 'menu')">/</el-checkbox>
<el-checkbox v-model="menuNodeAll" @change="handleCheckedTreeNodeAll($event, 'menu')">/</el-checkbox>
<el-tree
props="menuOptions"
class="tree-border"
:data="menuOptions"
show-checkbox
ref="menu"
node-key="id"
:check-strictly="!form.menuCheckStrictly"
empty-text="加载中,请稍候"
:props="defaultProps"
></el-tree>
</el-form-item>
<el-form-item label="备注">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" clearable></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm" size="small">提交</el-button>
<el-button @click="cancel" size="small">取消</el-button>
</div>
</el-dialog>
<!-- 分配角色数据权限对话框 -->
<el-dialog :title="title" :visible.sync="openDataScope" width="40%" append-to-body>
<el-form :model="form" label-width="80px">
<el-form-item label="角色名称">
<el-input v-model="form.roleName" :disabled="true"/>
</el-form-item>
<el-form-item label="权限字符">
<el-input v-model="form.roleKey" :disabled="true"/>
</el-form-item>
<el-form-item label="权限范围">
<el-select v-model="form.dataScope" @change="dataScopeSelectChange">
<el-option
v-for="item in dataScopeOptions"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="数据权限" v-show="form.dataScope == 2">
<el-checkbox v-model="deptExpand" @change="handleCheckedTreeExpand($event, 'dept')">/</el-checkbox>
<el-checkbox v-model="deptNodeAll" @change="handleCheckedTreeNodeAll($event, 'dept')">/</el-checkbox>
<el-checkbox v-model="form.deptCheckStrictly" @change="handleCheckedTreeConnect($event, 'dept')">
</el-checkbox>
<el-tree
class="tree-border"
:data="deptOptions"
show-checkbox
default-expand-all
ref="dept"
node-key="id"
:check-strictly="!form.deptCheckStrictly"
empty-text="加载中,请稍候"
:props="defaultProps"
></el-tree>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitDataScope"> </el-button>
<el-button @click="cancelDataScope"> </el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
@ -219,6 +266,7 @@ export default {
dicts: ['sys_normal_disable'], dicts: ['sys_normal_disable'],
data() { data() {
return { return {
activeName: 'server',
// //
loading: true, loading: true,
// //
@ -237,6 +285,7 @@ export default {
title: "", title: "",
// //
open: false, open: false,
businessType:"0",
// //
openDataScope: false, openDataScope: false,
menuExpand: false, menuExpand: false,
@ -329,6 +378,7 @@ export default {
/** 查询角色列表 */ /** 查询角色列表 */
getList() { getList() {
this.loading = true; this.loading = true;
this.queryParams.businessType = this.businessType
listRole(this.addDateRange(this.queryParams, this.dateRange)).then(response => { listRole(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
this.roleList = response.data.list; this.roleList = response.data.list;
this.total = response.data.total; this.total = response.data.total;
@ -338,7 +388,9 @@ export default {
}, },
/** 查询菜单树结构 */ /** 查询菜单树结构 */
getMenuTreeselect() { getMenuTreeselect() {
menuTreeselect().then(response => { var data = {};
data.businessType = this.businessType
menuTreeselect(data).then(response => {
this.menuOptions = response.data; this.menuOptions = response.data;
}); });
}, },
@ -362,7 +414,7 @@ export default {
}, },
/** 根据角色ID查询菜单树结构 */ /** 根据角色ID查询菜单树结构 */
getRoleMenuTreeselect(roleId) { getRoleMenuTreeselect(roleId) {
return roleMenuTreeselect(roleId).then(response => { return roleMenuTreeselect(roleId,this.businessType).then(response => {
this.menuOptions = response.data.menus; this.menuOptions = response.data.menus;
return response; return response;
}); });
@ -436,6 +488,15 @@ export default {
this.single = selection.length != 1 this.single = selection.length != 1
this.multiple = !selection.length this.multiple = !selection.length
}, },
handleClick(tab, event) {
this.activeName = tab.name;
if("client" == this.activeName){
this.businessType = "1"
}else{
this.businessType = "0"
}
this.getList();
},
// //
handleCommand(command, row) { handleCommand(command, row) {
switch (command) { switch (command) {
@ -535,6 +596,7 @@ export default {
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm: function () { submitForm: function () {
this.form.businessType = this.businessType
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
if (valid) { if (valid) {
if (this.form.roleId != undefined) { if (this.form.roleId != undefined) {
@ -584,7 +646,7 @@ export default {
this.getList(); this.getList();
this.$modal.msgSuccess("删除成功"); this.$modal.msgSuccess("删除成功");
} else this.$modal.msgError(res.message); } else this.$modal.msgError(res.message);
}).catch(() => { }).catch(() => {
}); });
}, },

@ -441,7 +441,7 @@ export default {
limit: 1000, limit: 1000,
status: 0, status: 0,
isCustomer: 0, isCustomer: 0,
businessType:"0",
} }
listRole(query) listRole(query)
.then(response => { .then(response => {

@ -187,6 +187,22 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="22" type="flex">
<el-col :span="11" type="flex">
<el-form-item label="角色">
<el-checkbox-group v-model="formData.roles">
<el-checkbox
v-for="item in roles"
:key="item.roleId"
:label="item.roleId"
>{{ item.roleName }}
</el-checkbox
>
</el-checkbox-group>
</el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@ -206,7 +222,7 @@
<script> <script>
import { filterList ,updatePerSon,daletePerSon} from "@/api/sup/userPerson"; import { filterList ,updatePerSon,daletePerSon} from "@/api/sup/userPerson";
import {listRole} from "@/api/system/role";
const formJson = { const formJson = {
id: "", id: "",
@ -218,6 +234,7 @@ const formJson = {
email: "", email: "",
createTime: "", createTime: "",
companyId:"", companyId:"",
roles: [],
}; };
export default { export default {
name: "currentCustomer", name: "currentCustomer",
@ -258,8 +275,7 @@ export default {
userInfo: { userInfo: {
customerId: "", customerId: "",
userId: "", userId: ""
roles: [],
}, },
formLoading: false, formLoading: false,
formVisible: false, formVisible: false,
@ -354,10 +370,24 @@ export default {
this.loading = false; this.loading = false;
this.list = []; this.list = [];
this.total = 0; this.total = 0;
});
},
getRoleList() {
let query = {
page: 1,
limit: 1000,
status: 0,
isCustomer: 0,
businessType:"1",
}
listRole(query)
.then(response => {
this.roles = response.data.list || [];
})
.catch(() => {
this.roles = []; this.roles = [];
}); });
}, },
// //
resetForm() { resetForm() {
if (this.$refs["dataForm"]) { if (this.$refs["dataForm"]) {
@ -379,6 +409,7 @@ export default {
// //
handleForm(index, row) { handleForm(index, row) {
console.log(this.roles);
this.formVisible = true; this.formVisible = true;
this.formData = JSON.parse(JSON.stringify(formJson)); this.formData = JSON.parse(JSON.stringify(formJson));
@ -445,7 +476,7 @@ export default {
created() { created() {
this.query.companyId = this.currentCustomer; this.query.companyId = this.currentCustomer;
this.getList(); this.getList();
this.getRoleList();
}, },
}; };

Loading…
Cancel
Save