修改上海等字段去除
This commit is contained in:
parent
dae4f99a81
commit
46820d7fc0
|
|
@ -114,7 +114,7 @@ export default {
|
|||
this.$store.dispatch('LogOut').then(() => {
|
||||
location.href =
|
||||
process.env.VUE_APP_ENV === 'production'
|
||||
? '/hd-realname/index'
|
||||
? '/gs-real-name/index'
|
||||
: '/index'
|
||||
})
|
||||
})
|
||||
|
|
|
|||
|
|
@ -266,5 +266,5 @@ export default new Router({
|
|||
mode: 'history', // 去掉url中的#
|
||||
scrollBehavior: () => ({ y: 0 }),
|
||||
routes: constantRoutes,
|
||||
base: process.env.VUE_APP_ENV === 'production' ? '/hd-realname' : '',
|
||||
base: process.env.VUE_APP_ENV === 'production' ? '/gs-real-name' : '',
|
||||
})
|
||||
|
|
|
|||
|
|
@ -199,7 +199,7 @@ service.interceptors.response.use(
|
|||
// location.href = '/index'
|
||||
location.href =
|
||||
process.env.VUE_APP_ENV === 'production'
|
||||
? '/hd-realname/index'
|
||||
? '/gs-real-name/index'
|
||||
: '/index'
|
||||
})
|
||||
})
|
||||
|
|
|
|||
|
|
@ -221,7 +221,7 @@ service.interceptors.response.use(
|
|||
// location.href = '/index'
|
||||
location.href =
|
||||
process.env.VUE_APP_ENV === 'production'
|
||||
? '/hd-realname/index'
|
||||
? '/gs-real-name/index'
|
||||
: '/index'
|
||||
})
|
||||
})
|
||||
|
|
|
|||
|
|
@ -109,7 +109,7 @@
|
|||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<!-- <el-col :span="12">
|
||||
<el-form-item label="是否上海项目" prop="isShanghai">
|
||||
<el-radio-group
|
||||
size="medium"
|
||||
|
|
@ -120,7 +120,7 @@
|
|||
<el-radio-button :label="0">否</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col> -->
|
||||
<el-col :span="12">
|
||||
<el-form-item label="工程状态" prop="proStatus">
|
||||
<el-radio-group
|
||||
|
|
@ -137,8 +137,7 @@
|
|||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
|
||||
<el-col :span="12">
|
||||
<el-form-item label="工程地址" prop="proAddress">
|
||||
<el-input
|
||||
|
|
@ -150,6 +149,8 @@
|
|||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="计划开工时间" prop="startTime">
|
||||
<el-date-picker
|
||||
|
|
@ -161,17 +162,6 @@
|
|||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="项目部经度" prop="lon">
|
||||
<el-input
|
||||
clearable
|
||||
placeholder="请输入项目部经度"
|
||||
v-model="addOrEditForm.lon"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="计划竣工时间" prop="endTime">
|
||||
<el-date-picker
|
||||
|
|
@ -185,6 +175,15 @@
|
|||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="项目部经度" prop="lon">
|
||||
<el-input
|
||||
clearable
|
||||
placeholder="请输入项目部经度"
|
||||
v-model="addOrEditForm.lon"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="项目部纬度" prop="lat">
|
||||
<el-input
|
||||
|
|
@ -195,6 +194,7 @@
|
|||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row> </el-row>
|
||||
</el-form>
|
||||
</div>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ export const columnsList = [
|
|||
{ t_props: 'proName', t_label: '工程名称' },
|
||||
{ t_props: 'subName', t_label: '分包名称' },
|
||||
{ t_props: 'teamName', t_label: '班组名称' },
|
||||
{ t_slot: 'isShanghai', t_label: '工程类型' },
|
||||
// { t_slot: 'isShanghai', t_label: '工程类型' },
|
||||
{
|
||||
t_label: '状态',
|
||||
t_slot: 'onLine',
|
||||
|
|
|
|||
|
|
@ -1659,20 +1659,20 @@ export default {
|
|||
|
||||
console.log(res, 'res身份证人员是否有入场工程')
|
||||
|
||||
if (
|
||||
res &&
|
||||
Object.keys(res).length > 0 &&
|
||||
res.isShanghai == 1 &&
|
||||
this.formType == 1
|
||||
) {
|
||||
this.$modal.msgError(
|
||||
'当前人员已经入场上海工程,请前往上海多工程设置模块进行设置,正在跳转...',
|
||||
)
|
||||
// if (
|
||||
// res &&
|
||||
// Object.keys(res).length > 0 &&
|
||||
// res.isShanghai == 1 &&
|
||||
// this.formType == 1
|
||||
// ) {
|
||||
// this.$modal.msgError(
|
||||
// '当前人员已经入场上海工程,请前往上海多工程设置模块进行设置,正在跳转...',
|
||||
// )
|
||||
|
||||
setTimeout(() => {
|
||||
this.$emit('onOpenShanghaiProSetting', res.idNumber)
|
||||
}, 1000)
|
||||
}
|
||||
// setTimeout(() => {
|
||||
// this.$emit('onOpenShanghaiProSetting', res.idNumber)
|
||||
// }, 1000)
|
||||
// }
|
||||
if (
|
||||
res &&
|
||||
Object.keys(res).length > 0 &&
|
||||
|
|
@ -1778,7 +1778,7 @@ export default {
|
|||
// 处理下载身份证读卡器驱动
|
||||
onHandleDownloadDriver() {
|
||||
window.open(
|
||||
window.origin + '/hd-realname' + '/ZKIDROnline-Driven.zip',
|
||||
window.origin + '/gs-real-name' + '/ZKIDROnline-Driven.zip',
|
||||
)
|
||||
},
|
||||
|
||||
|
|
|
|||
|
|
@ -53,14 +53,14 @@
|
|||
>
|
||||
模板下载
|
||||
</el-button>
|
||||
<el-button
|
||||
<!-- <el-button
|
||||
size="mini"
|
||||
type="success"
|
||||
icon="el-icon-setting"
|
||||
@click="onHandleShanghaiPersonMultiEngineSetting()"
|
||||
>
|
||||
上海人员多工程设置
|
||||
</el-button>
|
||||
</el-button> -->
|
||||
</template>
|
||||
|
||||
<!-- 出入场状态 -->
|
||||
|
|
@ -317,7 +317,7 @@ export default {
|
|||
// 判断是否为测试环境
|
||||
if (process.env.VUE_APP_ENV === 'production') {
|
||||
window.open(
|
||||
window.origin + '/hd-realname' + '/人员入场-模版.xlsx',
|
||||
window.origin + '/gs-real-name' + '/人员入场-模版.xlsx',
|
||||
)
|
||||
} else {
|
||||
window.open(window.origin + '/人员入场-模版.xlsx')
|
||||
|
|
|
|||
|
|
@ -478,7 +478,7 @@ export default {
|
|||
// 判断是否为测试环境
|
||||
if (process.env.VUE_APP_ENV === 'production') {
|
||||
window.open(
|
||||
window.origin + '/hd-realname' + '/失信人员-模板.xlsx',
|
||||
window.origin + '/gs-real-name' + '/失信人员-模板.xlsx',
|
||||
)
|
||||
} else {
|
||||
window.open(window.origin + '/失信人员-模板.xlsx')
|
||||
|
|
|
|||
|
|
@ -1,14 +1,34 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
|
||||
<el-form
|
||||
:model="queryParams"
|
||||
ref="queryForm"
|
||||
size="small"
|
||||
:inline="true"
|
||||
v-show="showSearch"
|
||||
>
|
||||
<el-form-item label="角色名称" prop="roleName">
|
||||
<el-input v-model="queryParams.roleName" placeholder="请输入角色名称" clearable style="width: 240px"
|
||||
@keyup.enter.native="handleQuery" />
|
||||
<el-input
|
||||
v-model="queryParams.roleName"
|
||||
placeholder="请输入角色名称"
|
||||
clearable
|
||||
style="width: 240px"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="角色级别" prop="roleLevel">
|
||||
<el-select v-model="queryParams.roleLevel" placeholder="请选择角色级别" clearable style="width: 240px">
|
||||
<el-option v-for="dict in dict.type.role_level" :key="dict.value" :label="dict.label"
|
||||
:value="dict.value" />
|
||||
<el-select
|
||||
v-model="queryParams.roleLevel"
|
||||
placeholder="请选择角色级别"
|
||||
clearable
|
||||
style="width: 240px"
|
||||
>
|
||||
<el-option
|
||||
v-for="dict in dict.type.role_level"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="权限字符" prop="roleKey">
|
||||
|
|
@ -26,15 +46,32 @@
|
|||
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
|
||||
</el-form-item> -->
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="el-icon-search"
|
||||
size="mini"
|
||||
@click="handleQuery"
|
||||
>搜索</el-button
|
||||
>
|
||||
<el-button
|
||||
icon="el-icon-refresh"
|
||||
size="mini"
|
||||
@click="resetQuery"
|
||||
>重置</el-button
|
||||
>
|
||||
</el-form-item>
|
||||
</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:role:add']">新增
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['system:role:add']"
|
||||
>新增
|
||||
</el-button>
|
||||
</el-col>
|
||||
<!-- <el-col :span="1.5">
|
||||
|
|
@ -52,46 +89,116 @@
|
|||
v-hasPermi="['system:role:export']">导出
|
||||
</el-button>
|
||||
</el-col> -->
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
<right-toolbar
|
||||
:showSearch.sync="showSearch"
|
||||
@queryTable="getList"
|
||||
></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="roleList" @selection-change="handleSelectionChange"
|
||||
:row-class-name="getRowClassName">
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
:data="roleList"
|
||||
@selection-change="handleSelectionChange"
|
||||
:row-class-name="getRowClassName"
|
||||
>
|
||||
<!-- <el-table-column type="selection" min-width="55" align="center"/> -->
|
||||
<el-table-column label="序号" align="center" width="80" type="index">
|
||||
<template scope="scope">
|
||||
<span>{{ (queryParams.pageNum - 1) * 10 + scope.$index + 1 }}</span>
|
||||
<el-table-column
|
||||
label="序号"
|
||||
align="center"
|
||||
width="80"
|
||||
type="index"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span>{{
|
||||
(queryParams.pageNum - 1) * 10 + scope.$index + 1
|
||||
}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="角色编号" prop="roleId" min-width="120" align="center"/> -->
|
||||
<el-table-column label="角色名称" align="center" prop="roleName" :show-overflow-tooltip="true" min-width="150" />
|
||||
<el-table-column label="角色级别" align="center" prop="roleLevelName" :show-overflow-tooltip="true" min-width="150" />
|
||||
<el-table-column label="权限字符" align="center" prop="roleKey" :show-overflow-tooltip="true" min-width="150" />
|
||||
<el-table-column label="显示顺序" align="center" prop="roleSort" min-width="100" />
|
||||
<el-table-column
|
||||
label="角色名称"
|
||||
align="center"
|
||||
prop="roleName"
|
||||
:show-overflow-tooltip="true"
|
||||
min-width="150"
|
||||
/>
|
||||
<el-table-column
|
||||
label="角色级别"
|
||||
align="center"
|
||||
prop="roleLevelName"
|
||||
:show-overflow-tooltip="true"
|
||||
min-width="150"
|
||||
/>
|
||||
<el-table-column
|
||||
label="权限字符"
|
||||
align="center"
|
||||
prop="roleKey"
|
||||
:show-overflow-tooltip="true"
|
||||
min-width="150"
|
||||
/>
|
||||
<el-table-column
|
||||
label="显示顺序"
|
||||
align="center"
|
||||
prop="roleSort"
|
||||
min-width="100"
|
||||
/>
|
||||
<!-- <el-table-column label="状态" align="center" min-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 prop="status" align="center" label="状态" min-width="60">
|
||||
<el-table-column
|
||||
prop="status"
|
||||
align="center"
|
||||
label="状态"
|
||||
min-width="60"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status" />
|
||||
<dict-tag
|
||||
:options="dict.type.sys_normal_disable"
|
||||
:value="scope.row.status"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="描述" align="center" prop="remark" :show-overflow-tooltip="true" min-width="150" />
|
||||
<el-table-column label="创建时间" align="center" prop="createTime" min-width="180">
|
||||
<el-table-column
|
||||
label="描述"
|
||||
align="center"
|
||||
prop="remark"
|
||||
:show-overflow-tooltip="true"
|
||||
min-width="150"
|
||||
/>
|
||||
<el-table-column
|
||||
label="创建时间"
|
||||
align="center"
|
||||
prop="createTime"
|
||||
min-width="180"
|
||||
>
|
||||
<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">
|
||||
<el-table-column
|
||||
label="操作"
|
||||
align="center"
|
||||
class-name="small-padding fixed-width"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['system:role:edit']">修改
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['system:role:edit']"
|
||||
>修改
|
||||
</el-button>
|
||||
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
|
||||
v-hasPermi="['system:role:remove']">删除
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['system:role:remove']"
|
||||
>删除
|
||||
</el-button>
|
||||
<!-- <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)"
|
||||
v-hasPermi="['system:role:edit']">
|
||||
|
|
@ -108,53 +215,116 @@
|
|||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
|
||||
@pagination="getList" />
|
||||
<pagination
|
||||
v-show="total > 0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 添加或修改角色配置对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
|
||||
<el-dialog
|
||||
:title="title"
|
||||
:visible.sync="open"
|
||||
width="500px"
|
||||
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="请输入角色名称" maxlength="50" />
|
||||
<el-input
|
||||
v-model="form.roleName"
|
||||
placeholder="请输入角色名称"
|
||||
maxlength="50"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item prop="roleKey">
|
||||
<span slot="label">
|
||||
<el-tooltip content="控制器中定义的权限字符,如:@PreAuthorize(`@ss.hasRole('admin')`)" placement="top">
|
||||
<el-tooltip
|
||||
content="控制器中定义的权限字符,如:@PreAuthorize(`@ss.hasRole('admin')`)"
|
||||
placement="top"
|
||||
>
|
||||
<i class="el-icon-question"></i>
|
||||
</el-tooltip>
|
||||
权限字符
|
||||
</span>
|
||||
<el-input v-model="form.roleKey" placeholder="请输入权限字符" maxlength="50" />
|
||||
<el-input
|
||||
v-model="form.roleKey"
|
||||
placeholder="请输入权限字符"
|
||||
maxlength="50"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="角色级别" prop="roleLevelObj">
|
||||
<el-radio @change="(val) => handleRoleLevelChange(val, dict)" v-model="form.roleLevelObj"
|
||||
v-for="dict in dict.type.role_level" :key="dict.value" :label="dict">{{
|
||||
dict.label }}</el-radio>
|
||||
<el-radio
|
||||
@change="(val) => handleRoleLevelChange(val, dict)"
|
||||
v-model="form.roleLevelObj"
|
||||
v-for="dict in dict.type.role_level"
|
||||
:key="dict.value"
|
||||
:label="dict"
|
||||
>{{ dict.label }}</el-radio
|
||||
>
|
||||
<template>
|
||||
<span style="color: #f40;display: block;">{{ roleLevelTips }}</span>
|
||||
<span style="color: #f40; display: block">{{
|
||||
roleLevelTips
|
||||
}}</span>
|
||||
</template>
|
||||
</el-form-item>
|
||||
<el-form-item label="角色顺序" prop="roleSort">
|
||||
<el-input-number v-model="form.roleSort" controls-position="right" :min="0" />
|
||||
<el-input-number
|
||||
v-model="form.roleSort"
|
||||
controls-position="right"
|
||||
:min="0"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="状态">
|
||||
<el-radio-group v-model="form.status">
|
||||
<el-radio v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.value">{{ dict.label
|
||||
}}
|
||||
<el-radio
|
||||
v-for="dict in dict.type.sys_normal_disable"
|
||||
:key="dict.value"
|
||||
:label="dict.value"
|
||||
>{{ dict.label }}
|
||||
</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
|
||||
v-model="menuExpand"
|
||||
@change="handleCheckedTreeExpand($event, 'menu')"
|
||||
>展开/折叠</el-checkbox
|
||||
>
|
||||
<el-checkbox
|
||||
v-model="menuNodeAll"
|
||||
@change="handleCheckedTreeNodeAll($event, 'menu')"
|
||||
>全选/全不选
|
||||
</el-checkbox>
|
||||
<el-checkbox v-model="form.menuCheckStrictly" @change="handleCheckedTreeConnect($event, 'menu')">父子联动
|
||||
<el-checkbox
|
||||
v-model="form.menuCheckStrictly"
|
||||
@change="handleCheckedTreeConnect($event, 'menu')"
|
||||
>父子联动
|
||||
</el-checkbox>
|
||||
<el-tree class="tree-border" :data="menuOptions" show-checkbox ref="menu" node-key="id"
|
||||
:check-strictly="!form.menuCheckStrictly" empty-text="加载中,请稍候" :props="defaultProps"></el-tree>
|
||||
<el-tree
|
||||
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="请输入内容" maxlength="150"></el-input>
|
||||
<el-input
|
||||
v-model="form.remark"
|
||||
type="textarea"
|
||||
placeholder="请输入内容"
|
||||
maxlength="150"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
|
|
@ -164,7 +334,12 @@
|
|||
</el-dialog>
|
||||
|
||||
<!-- 分配角色数据权限对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="openDataScope" width="500px" append-to-body>
|
||||
<el-dialog
|
||||
:title="title"
|
||||
:visible.sync="openDataScope"
|
||||
width="500px"
|
||||
append-to-body
|
||||
>
|
||||
<el-form :model="form" label-width="80px">
|
||||
<el-form-item label="角色名称">
|
||||
<el-input v-model="form.roleName" :disabled="true" />
|
||||
|
|
@ -173,23 +348,51 @@
|
|||
<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
|
||||
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
|
||||
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
|
||||
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-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 type="primary" @click="submitDataScope"
|
||||
>确 定</el-button
|
||||
>
|
||||
<el-button @click="cancelDataScope">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
|
@ -205,9 +408,12 @@ import {
|
|||
updateRole,
|
||||
dataScope,
|
||||
changeRoleStatus,
|
||||
deptTreeSelect
|
||||
deptTreeSelect,
|
||||
} from '@/api/system/role'
|
||||
import { treeselect as menuTreeselect, roleMenuTreeselect } from '@/api/system/menu'
|
||||
import {
|
||||
treeselect as menuTreeselect,
|
||||
roleMenuTreeselect,
|
||||
} from '@/api/system/menu'
|
||||
|
||||
export default {
|
||||
name: 'Role',
|
||||
|
|
@ -245,24 +451,24 @@ export default {
|
|||
dataScopeOptions: [
|
||||
{
|
||||
value: '1',
|
||||
label: '全部数据权限'
|
||||
label: '全部数据权限',
|
||||
},
|
||||
{
|
||||
value: '2',
|
||||
label: '自定数据权限'
|
||||
label: '自定数据权限',
|
||||
},
|
||||
{
|
||||
value: '3',
|
||||
label: '本部门数据权限'
|
||||
label: '本部门数据权限',
|
||||
},
|
||||
{
|
||||
value: '4',
|
||||
label: '本部门及以下数据权限'
|
||||
label: '本部门及以下数据权限',
|
||||
},
|
||||
{
|
||||
value: '5',
|
||||
label: '仅本人数据权限'
|
||||
}
|
||||
label: '仅本人数据权限',
|
||||
},
|
||||
],
|
||||
// 菜单列表
|
||||
menuOptions: [],
|
||||
|
|
@ -273,33 +479,49 @@ export default {
|
|||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
roleName: undefined,
|
||||
roleLevel:undefined,
|
||||
roleLevel: undefined,
|
||||
roleKey: undefined,
|
||||
status: undefined
|
||||
status: undefined,
|
||||
},
|
||||
// 表单参数
|
||||
form: {
|
||||
roleLevelObj:null
|
||||
roleLevelObj: null,
|
||||
},
|
||||
defaultProps: {
|
||||
children: 'children',
|
||||
label: 'label'
|
||||
label: 'label',
|
||||
},
|
||||
// 表单校验
|
||||
rules: {
|
||||
roleName: [
|
||||
{ required: true, message: '角色名称不能为空', trigger: 'blur' }
|
||||
{
|
||||
required: true,
|
||||
message: '角色名称不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
roleKey: [
|
||||
{ required: true, message: '权限字符不能为空', trigger: 'blur' }
|
||||
{
|
||||
required: true,
|
||||
message: '权限字符不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
roleLevelObj: [
|
||||
{ required: true, message: '角色级别不能为空', trigger: 'blur' }
|
||||
{
|
||||
required: true,
|
||||
message: '角色级别不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
roleSort: [
|
||||
{ required: true, message: '角色顺序不能为空', trigger: 'blur' }
|
||||
]
|
||||
}
|
||||
{
|
||||
required: true,
|
||||
message: '角色顺序不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
|
@ -307,21 +529,22 @@ export default {
|
|||
},
|
||||
methods: {
|
||||
handleRoleLevelChange(value, dict) {
|
||||
this.roleLevelTips = dict.raw.remark;
|
||||
this.roleLevelTips = dict.raw.remark
|
||||
},
|
||||
/** 查询角色列表 */
|
||||
getList() {
|
||||
this.loading = true
|
||||
listRole(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
|
||||
listRole(this.addDateRange(this.queryParams, this.dateRange)).then(
|
||||
(response) => {
|
||||
this.roleList = response.rows
|
||||
this.total = response.total
|
||||
this.loading = false
|
||||
}
|
||||
},
|
||||
)
|
||||
},
|
||||
/** 查询菜单树结构 */
|
||||
getMenuTreeselect() {
|
||||
menuTreeselect().then(response => {
|
||||
menuTreeselect().then((response) => {
|
||||
this.menuOptions = response.data
|
||||
})
|
||||
},
|
||||
|
|
@ -345,14 +568,14 @@ export default {
|
|||
},
|
||||
/** 根据角色ID查询菜单树结构 */
|
||||
getRoleMenuTreeselect(roleId) {
|
||||
return roleMenuTreeselect(roleId).then(response => {
|
||||
return roleMenuTreeselect(roleId).then((response) => {
|
||||
this.menuOptions = response.menus
|
||||
return response
|
||||
})
|
||||
},
|
||||
/** 根据角色ID查询部门树结构 */
|
||||
getDeptTree(roleId) {
|
||||
return deptTreeSelect(roleId).then(response => {
|
||||
return deptTreeSelect(roleId).then((response) => {
|
||||
this.deptOptions = response.depts
|
||||
return response
|
||||
})
|
||||
|
|
@ -360,11 +583,15 @@ export default {
|
|||
// 角色状态修改
|
||||
handleStatusChange(row) {
|
||||
let text = row.status === '0' ? '启用' : '停用'
|
||||
this.$modal.confirm('确认要"' + text + '""' + row.roleName + '"角色吗?').then(function () {
|
||||
this.$modal
|
||||
.confirm('确认要"' + text + '""' + row.roleName + '"角色吗?')
|
||||
.then(function () {
|
||||
return changeRoleStatus(row.roleId, row.status)
|
||||
}).then(() => {
|
||||
})
|
||||
.then(() => {
|
||||
this.$modal.msgSuccess(text + '成功')
|
||||
}).catch(function () {
|
||||
})
|
||||
.catch(function () {
|
||||
row.status = row.status === '0' ? '1' : '0'
|
||||
})
|
||||
},
|
||||
|
|
@ -383,12 +610,12 @@ export default {
|
|||
if (this.$refs.menu != undefined) {
|
||||
this.$refs.menu.setCheckedKeys([])
|
||||
}
|
||||
this.menuExpand = false,
|
||||
this.roleLevelTips = '',
|
||||
this.menuNodeAll = false,
|
||||
this.deptExpand = true,
|
||||
this.deptNodeAll = false,
|
||||
this.form = {
|
||||
;(this.menuExpand = false),
|
||||
(this.roleLevelTips = ''),
|
||||
(this.menuNodeAll = false),
|
||||
(this.deptExpand = true),
|
||||
(this.deptNodeAll = false),
|
||||
(this.form = {
|
||||
roleId: undefined,
|
||||
roleName: undefined,
|
||||
roleKey: undefined,
|
||||
|
|
@ -399,8 +626,8 @@ export default {
|
|||
menuCheckStrictly: true,
|
||||
deptCheckStrictly: true,
|
||||
remark: undefined,
|
||||
roleLevelObj:null
|
||||
}
|
||||
roleLevelObj: null,
|
||||
})
|
||||
this.resetForm('form')
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
|
|
@ -417,13 +644,15 @@ export default {
|
|||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
// 过滤掉不可选的行(虽然界面上不可选,但为了安全起见还是过滤一次)
|
||||
const validSelection = selection.filter(row => this.checkSelectable(row));
|
||||
const validSelection = selection.filter((row) =>
|
||||
this.checkSelectable(row),
|
||||
)
|
||||
|
||||
// 更新选中的roleId数组
|
||||
this.ids = validSelection.map(item => item.roleId);
|
||||
this.ids = validSelection.map((item) => item.roleId)
|
||||
// 更新单选和多选状态
|
||||
this.single = validSelection.length !== 1;
|
||||
this.multiple = !validSelection.length;
|
||||
this.single = validSelection.length !== 1
|
||||
this.multiple = !validSelection.length
|
||||
},
|
||||
// 更多操作触发
|
||||
handleCommand(command, row) {
|
||||
|
|
@ -443,12 +672,14 @@ export default {
|
|||
if (type == 'menu') {
|
||||
let treeList = this.menuOptions
|
||||
for (let i = 0; i < treeList.length; i++) {
|
||||
this.$refs.menu.store.nodesMap[treeList[i].id].expanded = value
|
||||
this.$refs.menu.store.nodesMap[treeList[i].id].expanded =
|
||||
value
|
||||
}
|
||||
} else if (type == 'dept') {
|
||||
let treeList = this.deptOptions
|
||||
for (let i = 0; i < treeList.length; i++) {
|
||||
this.$refs.dept.store.nodesMap[treeList[i].id].expanded = value
|
||||
this.$refs.dept.store.nodesMap[treeList[i].id].expanded =
|
||||
value
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
@ -480,18 +711,18 @@ export default {
|
|||
this.reset()
|
||||
const roleId = row.roleId || this.ids
|
||||
const roleMenu = this.getRoleMenuTreeselect(roleId)
|
||||
getRole(roleId).then(response => {
|
||||
this.form = response.data;
|
||||
this.roleLevelTips = response.data.roleLevelTips;
|
||||
getRole(roleId).then((response) => {
|
||||
this.form = response.data
|
||||
this.roleLevelTips = response.data.roleLevelTips
|
||||
const matchedDict = this.dict.type.role_level.find(
|
||||
item => item.value === response.data.roleLevel
|
||||
);
|
||||
(item) => item.value === response.data.roleLevel,
|
||||
)
|
||||
if (matchedDict) {
|
||||
this.form.roleLevelObj = matchedDict;
|
||||
this.form.roleLevelObj = matchedDict
|
||||
}
|
||||
this.open = true
|
||||
this.$nextTick(() => {
|
||||
roleMenu.then(res => {
|
||||
roleMenu.then((res) => {
|
||||
let checkedKeys = res.checkedKeys
|
||||
checkedKeys.forEach((v) => {
|
||||
this.$nextTick(() => {
|
||||
|
|
@ -513,11 +744,11 @@ export default {
|
|||
handleDataScope(row) {
|
||||
this.reset()
|
||||
const deptTreeSelect = this.getDeptTree(row.roleId)
|
||||
getRole(row.roleId).then(response => {
|
||||
getRole(row.roleId).then((response) => {
|
||||
this.form = response.data
|
||||
this.openDataScope = true
|
||||
this.$nextTick(() => {
|
||||
deptTreeSelect.then(res => {
|
||||
deptTreeSelect.then((res) => {
|
||||
this.$refs.dept.setCheckedKeys(res.checkedKeys)
|
||||
})
|
||||
})
|
||||
|
|
@ -531,23 +762,23 @@ export default {
|
|||
},
|
||||
/** 提交按钮 */
|
||||
submitForm: function () {
|
||||
this.$refs['form'].validate(valid => {
|
||||
this.$refs['form'].validate((valid) => {
|
||||
if (valid) {
|
||||
console.log(this.form.roleLevelObj);
|
||||
console.log(this.form.roleLevelObj)
|
||||
|
||||
this.form.roleLevel = this.form.roleLevelObj.value;
|
||||
this.form.roleLevelName = this.form.roleLevelObj.label;
|
||||
this.form.roleLevelTips = this.roleLevelTips;
|
||||
this.form.roleLevel = this.form.roleLevelObj.value
|
||||
this.form.roleLevelName = this.form.roleLevelObj.label
|
||||
this.form.roleLevelTips = this.roleLevelTips
|
||||
if (this.form.roleId != undefined) {
|
||||
this.form.menuIds = this.getMenuAllCheckedKeys()
|
||||
updateRole(this.form).then(response => {
|
||||
updateRole(this.form).then((response) => {
|
||||
this.$modal.msgSuccess('修改成功')
|
||||
this.open = false
|
||||
this.getList()
|
||||
})
|
||||
} else {
|
||||
this.form.menuIds = this.getMenuAllCheckedKeys()
|
||||
addRole(this.form).then(response => {
|
||||
addRole(this.form).then((response) => {
|
||||
this.$modal.msgSuccess('新增成功')
|
||||
this.open = false
|
||||
this.getList()
|
||||
|
|
@ -560,7 +791,7 @@ export default {
|
|||
submitDataScope: function () {
|
||||
if (this.form.roleId != undefined) {
|
||||
this.form.deptIds = this.getDeptAllCheckedKeys()
|
||||
dataScope(this.form).then(response => {
|
||||
dataScope(this.form).then((response) => {
|
||||
this.$modal.msgSuccess('修改成功')
|
||||
this.openDataScope = false
|
||||
this.getList()
|
||||
|
|
@ -570,35 +801,40 @@ export default {
|
|||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const roleIds = row.roleId || this.ids
|
||||
const roleName = row.roleName;
|
||||
this.$modal.confirm('是否确认删除角色名称为"' + roleName + '"的数据项?').then(function () {
|
||||
const roleName = row.roleName
|
||||
this.$modal
|
||||
.confirm('是否确认删除角色名称为"' + roleName + '"的数据项?')
|
||||
.then(function () {
|
||||
return delRole(roleIds)
|
||||
}).then(() => {
|
||||
})
|
||||
.then(() => {
|
||||
this.getList()
|
||||
this.$modal.msgSuccess('删除成功')
|
||||
}).catch(() => {
|
||||
})
|
||||
.catch(() => {})
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download('system/role/export', {
|
||||
...this.queryParams
|
||||
}, `role_${new Date().getTime()}.xlsx`)
|
||||
this.download(
|
||||
'system/role/export',
|
||||
{
|
||||
...this.queryParams,
|
||||
},
|
||||
`role_${new Date().getTime()}.xlsx`,
|
||||
)
|
||||
},
|
||||
// 检查行是否可选
|
||||
checkSelectable(row) {
|
||||
return !(row.roleId === 1 || row.isBuiltIn === '0');
|
||||
return !(row.roleId === 1 || row.isBuiltIn === '0')
|
||||
},
|
||||
|
||||
|
||||
getRowClassName(row) {
|
||||
return !this.checkSelectable(row) ? 'disabled-row' : '';
|
||||
return !this.checkSelectable(row) ? 'disabled-row' : ''
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<style>
|
||||
.disabled-row {
|
||||
background-color: #f5f7fa !important;
|
||||
|
|
|
|||
Loading…
Reference in New Issue