|
@@ -1,16 +1,37 @@
|
|
|
<template>
|
|
|
<div class="normal-panel drewer__panel">
|
|
|
<div>
|
|
|
+ <p class="normal-title mb-16">{{$t('角色信息')}}</p>
|
|
|
+ <el-form :inline="true" :model="form" :rules="rules" ref="form" size="small" :label-width="tool.onlyZh('100px')" label-position="left" class="demo-form-inline">
|
|
|
+ <el-form-item :label="$t(`角色名称`)" prop="rolename" style="margin-right: 40px">
|
|
|
+ <el-input v-model="form.rolename" :placeholder="$t(`输入角色名称`)"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item :label="$t(`角色描述`)" prop="remarks" style="margin-right: 40px">
|
|
|
+ <el-input v-model="form.remarks" :placeholder="$t(`输入角色描述`)" ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item :label="$t(`角色类型`)" prop="usertype" style="margin-right: 40px">
|
|
|
+ <el-select v-model="form.usertype" :placeholder="$t(`角色类型`)">
|
|
|
+ <el-option v-for="item in options" :key="item.index" :label="$t(item.remarks)" :value="Number(item.value)"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item :label="$t(`字段限制`)" prop="fielddatatypelimit">
|
|
|
+ <el-select v-model="form.fielddatatypelimit" :placeholder="$t(`字段限制`)" @focus="queryField">
|
|
|
+ <el-option v-for="item in fielddatatype" :key="item.index" :label="$t(item.value)" :value="item.value"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <p class="normal-title mb-16">{{$t('角色授权')}}</p>
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="12">
|
|
|
<div class="mb-16">
|
|
|
- <el-input style="width:250px" v-model="params.content.where.condition" size="mini" @keyup.native.enter="roleMain" @clear="roleMain" :placeholder="$t(`应用名称`)" clearable></el-input>
|
|
|
- <auth style="margin-left:10px" @onSuccess="roleMain" v-if="tool.checkAuth($route.name,'auth')"></auth>
|
|
|
+ <auth @onSuccess="roleMain"></auth>
|
|
|
</div>
|
|
|
<el-collapse>
|
|
|
<el-collapse-item :title="$t(`筛选`)" name="1">
|
|
|
<el-row class="normal-margin">
|
|
|
- <el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">{{ $t('全选') }}</el-checkbox>
|
|
|
+ <el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">{{$t('全选')}}</el-checkbox>
|
|
|
<div style="margin: 15px 0;"></div>
|
|
|
<el-checkbox-group v-model="checkModuleList" @change="handleCheckedCitiesChange">
|
|
|
<el-col style="margin-bottom:5px" :span="6" v-for="item in modulesList" :key="item.index">
|
|
@@ -25,28 +46,22 @@
|
|
|
</el-col>
|
|
|
<el-col :span="11">
|
|
|
<el-row :gutter="40">
|
|
|
- <el-col :span="12" v-if="tool.checkAuth($route.name,'auth')">
|
|
|
- <p class="title">{{ $t('功能') }}</p>
|
|
|
+ <el-col :span="12">
|
|
|
+ <p class="title">{{$t('功能')}}</p>
|
|
|
<el-row>
|
|
|
<el-checkbox-group v-model="checkedApps">
|
|
|
<el-col class="normal-margin" v-for="item in appoptions" :key="item.rowindex">
|
|
|
- <el-checkbox :label="item.optionid">{{$t(item.optionname)}}</el-checkbox>
|
|
|
+ <el-checkbox :label="item.optionid">{{item.optionname}}</el-checkbox>
|
|
|
</el-col>
|
|
|
</el-checkbox-group>
|
|
|
</el-row>
|
|
|
<div class="flex-align-center flex-between option-item">
|
|
|
- <el-checkbox :indeterminate="isIndeterminate2" v-model="checkAll2" @change="handleCheckAllChange2">{{ $t('全选') }}</el-checkbox>
|
|
|
- <cancelAuth v-if="checkedApps.length > 0" :data="{roleid:data.roleid,systemappid:active_systemappid,optionid:checkedApps}" @onSuccess="(roleMain(),$emit('onSuccess'),checkedApps=[])"></cancelAuth>
|
|
|
- </div>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12" v-else>
|
|
|
- <p class="title">{{ $t('功能') }}</p>
|
|
|
- <div class="flex-align-center flex-between option-item" v-for="item in appoptions" :key="item.index">
|
|
|
- <p>{{$t(item.optionname)}}</p>
|
|
|
+ <el-checkbox :indeterminate="isIndeterminate2" v-model="checkAll2" @change="handleCheckAllChange2">{{$t('全选')}}</el-checkbox>
|
|
|
+ <cancelAuth v-if="checkedApps.length > 0" :data="{roleid:data.roleid,systemappid:active_systemappid,optionid:checkedApps}" @onSuccess="(roleMain(),$emit('onSuccess'))"></cancelAuth>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <p class="title">{{ $t('隐藏字段') }}</p>
|
|
|
+ <p class="title">{{$t('隐藏字段')}}</p>
|
|
|
<div class="flex-align-center flex-between option-item" v-for="item in hiddenfields" :key="item.index">
|
|
|
<p>{{item.fieldname}}</p>
|
|
|
<cancelFields :data="{roleid:roleid,systemappid:active_systemappid,hiddenfieldid:item.hiddenfieldid}" @onSuccess="(roleMain(),$emit('onSuccess'))"></cancelFields>
|
|
@@ -56,6 +71,10 @@
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</div>
|
|
|
+ <div class="fixed__btn__panel">
|
|
|
+ <slot name="cancel"></slot>
|
|
|
+ <el-button type="primary" size="small" class="normal-btn-width" @click="onSubmit">{{$t('保 存')}}</el-button>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -63,7 +82,6 @@
|
|
|
import auth from './auth_list.vue'
|
|
|
import cancelAuth from './cancel_auth.vue'
|
|
|
import cancelFields from './cancel_fields.vue'
|
|
|
-import { log } from '@antv/g2plot/lib/utils'
|
|
|
|
|
|
export default {
|
|
|
props:['data'],
|
|
@@ -89,20 +107,11 @@ export default {
|
|
|
{ required: true, message: this.$t('请选择角色类型'), trigger: 'change' }
|
|
|
],
|
|
|
},
|
|
|
- params: {
|
|
|
- "classname": "webmanage.role.role",
|
|
|
- "method": "query_roleMain",
|
|
|
- "content": {
|
|
|
- "roleid":"",
|
|
|
- "where": {
|
|
|
- "condition":""
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
form:{
|
|
|
"roleid":0,
|
|
|
"rolename":"",
|
|
|
- "remarks":""
|
|
|
+ "remarks":"",
|
|
|
+ "fielddatatypelimit":[],
|
|
|
},
|
|
|
roleMainInfo:{},
|
|
|
options:[],
|
|
@@ -114,13 +123,19 @@ export default {
|
|
|
apps:[],
|
|
|
checkedApps:[],
|
|
|
roleid:0,
|
|
|
- active_systemappid:''
|
|
|
+ active_systemappid:'',
|
|
|
+ fielddatatype:[]
|
|
|
}
|
|
|
},
|
|
|
methods:{
|
|
|
async roleMain () {
|
|
|
- this.params.content.roleid = this.data.roleid
|
|
|
- const res = await this.$api.requested(this.params)
|
|
|
+ const res = await this.$api.requested({
|
|
|
+ "classname": "webmanage.role.role",
|
|
|
+ "method": "query_roleMain",
|
|
|
+ "content": {
|
|
|
+ "roleid":this.data.roleid
|
|
|
+ }
|
|
|
+ })
|
|
|
this.form = {
|
|
|
"roleid":res.data.roleid,
|
|
|
"rolename":res.data.rolename,
|
|
@@ -128,8 +143,7 @@ export default {
|
|
|
"usertype":res.data.usertype
|
|
|
}
|
|
|
this.roleMainInfo = res.data
|
|
|
- console.log(this.roleMainInfo);
|
|
|
-
|
|
|
+
|
|
|
//显示默认授权信息,一般默认信息为第一条数据
|
|
|
res.data.apps[0]?this.appoptionselect(res.data.apps[0]):''
|
|
|
this.filterModules()
|
|
@@ -150,8 +164,6 @@ export default {
|
|
|
this.options = res.data
|
|
|
},
|
|
|
async appoptionselect (row) {
|
|
|
- this.checkAll2 = false
|
|
|
- this.checkedApps = []
|
|
|
this.active_systemappid = row.systemappid
|
|
|
this.appoptions = row.options
|
|
|
this.hiddenfields = row.hiddenfields
|
|
@@ -165,6 +177,7 @@ export default {
|
|
|
"content": this.form
|
|
|
}).then(res=>{
|
|
|
this.tool.showMessage(res,()=>{
|
|
|
+ this.$router.push({path:this.$route.path,query:{id:res.data.roleid}})
|
|
|
this.$emit('onSuccess')
|
|
|
})
|
|
|
})
|
|
@@ -198,16 +211,21 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
});
|
|
|
-
|
|
|
+
|
|
|
this.apps = arr
|
|
|
- console.log(this.apps,'666');
|
|
|
-
|
|
|
},
|
|
|
handleCheckAllChange2 (val) {
|
|
|
let arr = this.appoptions.map(e=>{return e.optionid})
|
|
|
this.checkedApps = val ? arr : [];
|
|
|
this.isIndeterminate2 = false;
|
|
|
},
|
|
|
+ async queryField(){
|
|
|
+ if (this.fielddatatype.length == 0){
|
|
|
+ const res = await this.$store.dispatch('optiontypeselect','fielddatatype')
|
|
|
+ this.fielddatatype = res.data
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
},
|
|
|
mounted () {
|
|
|
// 获取应用表结构
|
|
@@ -244,4 +262,4 @@ export default {
|
|
|
border-top:1px solid #f1f2f3;
|
|
|
padding-top:16px;
|
|
|
}
|
|
|
-</style>
|
|
|
+</style>
|