123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956 |
- <template>
- <div class="teacher-add-page" @click="checkTypeButton">
- <div class="public-form-box scrollbar-box">
- <div class="top-title-box">
- <p>{{propsData.title}}</p>
- </div>
- <el-form :model="form" ref="form" :inline="true" :rules="rules" label-width="120px">
- <div class="top-info-box">
- <div class="right-info-box">
- <el-form-item label="身份名称:" prop="roleName">
- <el-input
- style="width:250px;"
- maxlength="50"
- v-model="form.roleName"
- placeholder="请输入身份名称"
- clearable
- />
- </el-form-item>
- </div>
- <div class="right-info-box">
- <el-form-item label="权限字符:" prop="roleKey" label-width="215px">
- <el-input
- style="width:250px;"
- maxlength="50"
- v-model="form.roleKey"
- placeholder="请输入权限字符"
- clearable
- />
- </el-form-item>
- </div>
- </div>
- <div class="top-tow-box">
- <p>权限配置</p>
- </div>
- <div class="data_scope">
- <div class="data_scope_l">
- <el-form-item label="数据范围:" prop="dataScope">
- <el-select
- style="width:250px;"
- @visible-change="dataScopeFun"
- v-model="form.dataScope"
- placeholder="请选择数据范围"
- clearable
- >
- <el-option
- v-for="item in optionsDataList"
- :key="item.type"
- :label="item.value"
- :value="item.type"
- />
- </el-select>
- </el-form-item>
- </div>
- <div class="data_scope_r" @click="dataScopeClearFun">清除</div>
- </div>
- </el-form>
- <!--权限模块-->
- <div class="table-for-max-box">
- <div class="table-title-box">
- <p>模块菜单</p>
- <p>权限</p>
- </div>
- <div class="table-for-big-box" v-for="(maxItem,maxIndex) in menuList" :key="maxIndex">
- <!--一级目录-->
- <div class="max-title-box" :class="!maxItem.children?'max-title-box-null':''">
- <p><el-checkbox v-model="maxItem.checkType" @change="(type)=>itemCheckClick(type,maxItem)">{{maxItem.menuName}}</el-checkbox></p>
- </div>
- <div class="max-right-box">
- <div class="big-box" v-for="(bigItem,bigIndex) in maxItem.children" :key="bigIndex">
- <!--二级页面-->
- <div class="big-title-box" :class="bigItem.menuType == 'C'?'big-title-box-null':''">
- <p><el-checkbox v-model="bigItem.checkType" @change="(type)=>itemCheckClick(type,bigItem,maxItem)">{{bigItem.menuName}}</el-checkbox></p>
- </div>
- <!--三级页面/四级按钮-->
- <div class="big-right-box" v-if="bigItem.menuType !='C'">
- <div class="min-box" v-for="(minItem,minIndex) in bigItem.children" :key="minIndex">
- <div class="min-title-box">
- <!--三级页面-->
- <div class="title-left-box">
- <p class="min-title-box-null"></p>
- <p><el-checkbox v-model="minItem.checkType" @change="(type)=>itemCheckClick(type,minItem,bigItem,maxItem)">{{minItem.menuName}}</el-checkbox></p>
- <p class="min-title-box-null"></p>
- </div>
- </div>
- <div class="min-right-box">
- <!--四级按钮-->
- <div v-for="(btnItem,btnIndex) in minItem.children">
- <el-checkbox v-model="btnItem.checkType"
- @change="(type)=>itemCheckClick(type,btnItem,minItem,bigItem,maxItem)">
- {{btnItem.menuName}}
- </el-checkbox>
- </div>
- <p v-if="!minItem.children" style="font-weight:500;color:#999;text-align: center">该页面没有按钮</p>
- </div>
- </div>
- </div>
- <!--三级按钮-->
- <div class="big-right-box-null" v-if="bigItem.menuType == 'C'">
- <div v-for="(btnItem,btnIndex) in bigItem.children">
- <el-checkbox v-model="btnItem.checkType"
- @change="(type)=>itemCheckClick(type,btnItem,minItem,bigItem,maxItem)">
- {{btnItem.menuName}}
- </el-checkbox>
- </div>
- <p v-if="!bigItem.children" style="font-weight:500;color:#999;text-align: center">该页面没有按钮</p>
- </div>
- </div>
- <p class="big-box-null" v-if="!maxItem.children&&maxItem.menuName == '数据可视化'">数据可视化大屏查看权限</p>
- </div>
- </div>
- </div>
- <el-dialog title="选择指定部门(可多选)" @close="deptCancel" :visible.sync="deptOpen"
- :close-on-click-modal="false" v-if="deptOpen" width="500px"
- append-to-body class="managePermissionTemplates-dept-dialog-box">
- <el-form :model="deptForm" ref="deptForm" :inline="true" :rules="rules" class="addCheckPage-min">
- <el-form-item label="指定部门" prop="deptIds" label-width="90px" class="el-form-item-bottom">
- <el-cascader
- style="width:300px;"
- :options="treeselectList"
- :props="{multiple: true,value: 'id', label: 'label'}"
- collapse-tags
- v-model="deptForm.deptIds"
- clearable>
- </el-cascader>
- </el-form-item>
- </el-form>
- <div slot="footer" class="managePermissionTemplates-dept-dialog-button-box">
- <p class="reset-button-one" @click="deptCancel">取消</p>
- <p class="inquire-button-one" @click="deptSure">确定</p>
- </div>
- </el-dialog>
- </div>
- <div class="bottom-button-box">
- <p class="null-p"></p>
- <p class="button-p-1 reset-button-one" @click="outPageButton">返回</p>
- <p class="inquire-button-one" @click="upDataButton">提交</p>
- <p class="null-p"></p>
- </div>
- </div>
- </template>
- <script>
- import { addRoleByScope, editRoleByScope } from '@/api/system/role'
- import { listMenuAll} from "@/api/system/menu";
- import { treeselect } from "@/api/system/dept";
- export default {
- name: "addPage",
- props:{
- propsData:{},
- },
- data() {
- return {
- menuList:[],
- originalMenuList:[],
- form:{
- roleName:"", //姓名
- roleKey:"",
- dataScope:null,
- },
- rules:{
- roleName: [
- { required: true, message: "请输入姓名", trigger: "blur" },
- { required: true, message: "请输入姓名", validator: this.spaceJudgment, trigger: "blur" }
- ],
- roleKey: [
- { required: true, message: "请输入权限标识", trigger: "blur" },
- { required: true, message: "请输入权限标识", validator: this.spaceJudgment, trigger: "blur" }
- ],
- dataScope: [
- { required: true, message: "请选择数据范围", trigger: "blur" },
- ],
- deptIds: [
- { required: true, message: "请选择指定部门", trigger: "blur" },
- ],
- },
- //数据范围(1:全部, 2:部门及下级, 3:本部门, 4:仅本人,5:自定义)
- optionsDataList:[
- {type: 1, value: "所有数据",},
- {type: 2, value: "本部门及下级部门数据",},
- {type: 3, value: "本部门",},
- {type: 4, value: "当前账号数据",},
- {type: 5, value: "自定义",},
- ],
- //数据范围部门弹窗
- deptOpen:false,
- deptOpenType:'',
- //部门数据结构树
- treeselectList:[],
- //指定部门数据
- deptForm:{
- deptIds:[],
- },
- checkDeptType:null,
- checkAllType:false,
- }
- },
- created(){
- },
- mounted(){
- this.getMenu();
- },
- methods:{
- //提交按钮
- upDataButton(){
- this.$refs["form"].validate(valid => {
- if (valid) {
- if(this.propsData.roleId){
- //修改
- this.editRoleByScope()
- }else{
- //发布
- this.addRoleByScope()
- }
- }
- });
- },
- //新增
- addRoleByScope(){
- let self = this;
- let obj = JSON.parse(JSON.stringify(this.form))
- obj.roleSort = 1;
- obj.menuCheckStrictly = 0;
- obj.status = 0;
- obj.menuIds = this.toArray();
- obj.viewDeptIds = JSON.stringify(self.deptForm.deptIds);
- obj.deptIds = [];
- let list = [];
- for(let i=0;i<self.deptForm.deptIds.length;i++){
- for(let o=0;o<self.deptForm.deptIds[i].length;o++){
- list.push(self.deptForm.deptIds[i][o])
- }
- }
- for (var i = 0,len=list.length; i < len; i++) {
- if(obj.deptIds.indexOf(list[i]) === -1){
- obj.deptIds.push(list[i]);
- }
- }
- addRoleByScope(obj).then(response => {
- if(response.code == 200){
- this.msgSuccess(response.msg);
- this.$parent.goPage(3);
- }
- });
- },
- //编辑
- editRoleByScope(){
- let self = this;
- let obj = JSON.parse(JSON.stringify(this.form))
- obj.roleSort = 1;
- obj.menuCheckStrictly = 0;
- obj.status = 0;
- obj.menuIds = this.toArray();
- obj.viewDeptIds = JSON.stringify(self.deptForm.deptIds);
- obj.deptIds = [];
- let list = [];
- for(let i=0;i<self.deptForm.deptIds.length;i++){
- for(let o=0;o<self.deptForm.deptIds[i].length;o++){
- list.push(self.deptForm.deptIds[i][o])
- }
- }
- for (var i = 0,len=list.length; i < len; i++) {
- if(obj.deptIds.indexOf(list[i]) === -1){
- obj.deptIds.push(list[i]);
- }
- }
- editRoleByScope(obj).then(response => {
- if(response.code == 200){
- this.msgSuccess(response.msg);
- this.$parent.goPage(3);
- }
- });
- },
- checkTypeButton(){
- this.$set(this,'checkAllType',false);
- },
- //数据范围选中
- dataScopeFun(type){
- let self = this;
- console.log('dataScopeFun',self.form.dataScope)
- if(!type){
- setTimeout(function(){
- if(self.checkAllType){
- if(self.form.dataScope == 5){
- //指定范围弹窗
- self.$set(self,'deptOpen',true)
- }else{
- self.$set(self,'checkDeptType',self.form.dataScope)
- self.$set(self.deptForm,'deptIds',[])
- }
- }
- },50);
- }else{
- this.$set(this,'checkAllType',true);
- }
- },
- //数据范围选择清除
- dataScopeClearFun(){
- this.$set(this.form,'dataScope',null)
- this.$set(this.deptForm,'deptIds',[])
- },
- //指定部门弹窗取消
- deptCancel(){
- this.$set(this.form,'dataScope',this.checkDeptType)
- this.$set(this,'deptOpen',false)
- },
- //指定部门弹窗确定
- deptSure(){
- this.$refs["deptForm"].validate(valid => {
- if (valid) {
- this.$set(this,'checkDeptType',this.form.dataScope)
- this.$set(this,'deptOpen',false);
- }
- });
- },
- //模块勾选逻辑
- itemCheckClick(type,item,minItem,bigItem,maxItem){
- if(item.children){
- for(let i=0;i<item.children.length;i++){
- item.children[i].checkType = !!type;
- if(item.children[i].children){
- for(let o=0;o<item.children[i].children.length;o++){
- item.children[i].children[o].checkType = !!type;
- if(item.children[i].children[o].children){
- for(let x=0;x<item.children[i].children[o].children.length;x++){
- item.children[i].children[o].children[x].checkType = !!type;
- }
- }
- }
- }
- }
- }
- if(minItem&&type){
- minItem.checkType = type;
- }
- if(bigItem&&type){
- bigItem.checkType = type;
- }
- if(maxItem&&type){
- maxItem.checkType = type;
- }
- },
- getMenu() {
- let self = this;
- this.loading = true;
- listMenuAll(this.queryParams).then(response => {
- let newList = [];
- for(let i=0;i<response.data.length;i++){
- if(response.data[i].status == 0 && response.data[i].visible == 0){
- newList.push(response.data[i]);
- }
- }
- if(this.propsData.type == 1){
- //新增
- this.menuList = JSON.parse(JSON.stringify(this.handleTree(newList, "menuId")))
- }else {
- if(this.propsData.type == 2){
- //编辑
- this.$set(this.form,'roleId',this.propsData.roleId);
- this.$set(this.form,'roleName',this.propsData.name);
- this.$set(this.form,'roleKey',this.propsData.key);
- }
- //页面权限处理
- for(let i=0;i<self.propsData.list.length;i++){
- for(let o=0;o<newList.length;o++){
- if(self.propsData.list[i] == newList[o].menuId){
- newList[o].checkType = true;
- }
- }
- }
- //数据权限范围
- this.$set(this.form,'dataScope',this.propsData.dataScope);
- this.$set(this,'checkDeptType',this.propsData.dataScope)
- //如果权限范围为指定部门
- if (this.propsData.dataScope == 5){
- this.$set(this.deptForm,'deptIds',JSON.parse(this.propsData.viewDeptIds));
- }
- }
- this.menuList = JSON.parse(JSON.stringify(this.handleTree(newList, "menuId")))
- this.getTreeselect();
- this.loading = false;
- });
- },
- /** 查询部门下拉树结构 */
- getTreeselect() {
- treeselect().then(response => {
- this.deptOptions = response.data;
- this.$set(this,'treeselectList',response.data[0].children);
- });
- },
- //返回事件
- outPageButton(){
- this.$parent.goPage(1);
- },
- //结构树转数组并筛选选中项
- toArray(){
- let list = [];
- let newList = JSON.parse(JSON.stringify(this.menuList));
- for(let i=0;i<newList.length;i++){
- pushNode(newList[i]);
- }
- function pushNode(node){
- if(node.children){
- for (let nodeItem of node.children){
- pushNode(nodeItem)
- }
- delete node.children;
- if(node.checkType){
- list.push(node)
- }
- }else{
- if(node.children){
- delete node.children
- }
- if(node.checkType){
- list.push(node)
- }
- }
- }
- let idList = [];
- for(let i=0;i<list.length;i++){
- idList.push(list[i].menuId)
- }
- return idList
- }
- }
- }
- </script>
- <style scoped lang="scss">
- .teacher-add-page{
- flex:1;
- display: flex;
- flex-direction: column;
- box-shadow: 0 0 8px 2px rgba(0, 0, 0, 0.1);
- padding:0 0 20px!important;
- overflow: hidden;
- *{
- margin:0;
- }
- .public-form-box{
- flex:1;
- overflow-y: scroll;
- overflow-x: hidden;
- }
- .top-title-box{
- border-bottom:1px solid #E0E0E0;
- display: flex;
- p:nth-child(1){
- color:#0045AF;
- line-height:80px;
- margin-left:24px;
- font-size:18px;
- flex:1;
- }
- p:nth-child(2){
- border:1px solid #0045AF;
- color:#0045AF;
- width:80px;
- height:30px;
- text-align: center;
- font-size:16px;
- border-radius: 6px;
- line-height:30px;
- margin:25px 20px 0 0;
- cursor: pointer;
- }
- }
- .top-info-box{
- display: flex;
- padding:40px 20px 0;
- .left-info-box{
- margin-right:20px;
- img{
- width:100px;
- height:120px;
- }
- p{
- width: 80px;
- height: 26px;
- border: 1px solid #0183FA;
- border-radius: 6px;
- line-height:24px;
- font-size:12px;
- color:#0183FA;
- text-align: center;
- margin:24px 10px;
- }
- }
- }
- .top-tow-box{
- display: flex;
- align-items: center;
- height: 50px;
- background: #F5F5F5;
- >p{
- color:#0045AF;
- line-height:80px;
- margin-left:24px;
- font-size:18px;
- flex:1;
- }
- }
- /*数据范围*/
- .data_scope{
- margin: 40px 20px;
- display: flex;
- justify-content: space-between;
- .data_scope_l{
- display: flex;
- justify-content: flex-start;
- .data_scope_l_l{
- font-size: 16px;
- font-family: Microsoft YaHei-Regular, Microsoft YaHei;
- font-weight: 400;
- color: #333333;
- line-height: 24px;
- margin-right: 8px;
- >i{
- font-size: 14px;
- color: #FF0000;
- font-style: normal;
- margin-right: 4px;
- }
- }
- .data_scope_l_r{
- display: flex;
- justify-content: flex-start;
- >i{
- height: 40px;
- font-style: normal;
- display: inline-block;
- font-size: 14px;
- font-family: Microsoft YaHei-Regular, Microsoft YaHei;
- font-weight: 400;
- color: #CCCCCC;
- line-height: 40px;
- padding: 0 14px;
- box-sizing: border-box;
- border: 1px dashed #E0E0E0;
- margin-right: 20px;
- cursor: pointer;
- &.on{
- color:#0183FA;
- border: 1px dashed #0183FA;
- }
- }
- }
- }
- .data_scope_r{
- width: 70px;
- height: 40px;
- border-radius: 6px 6px 6px 6px;
- opacity: 1;
- border: 1px solid #0045AF;
- font-size: 14px;
- font-family: Microsoft YaHei-Regular, Microsoft YaHei;
- font-weight: 400;
- color: #0045AF;
- line-height: 40px;
- text-align: center;
- cursor: pointer;
- }
- }
- .top-title-one{
- display: flex;
- border-top:1px solid #E0E0E0;
- position: relative;
- .title-p{
- font-size:18px;
- color:#0045AF;
- line-height:80px;
- margin-left:24px;
- }
- .img-p{
- font-size:18px;
- margin:0 10px;
- line-height:80px;
- color:#FFC000;
- }
- .position-box{
- width: 420px;
- height: 194px;
- padding:20px;
- background: #F5F5F5;
- position: absolute;
- top:10px;
- left:134px;
- p{
- font-size:12px;
- line-height:18px;
- color:#333;
- }
- }
- }
- .name-input-box{
- height:100px;
- }
- .for-button-list{
- background: #E5F2FE;
- margin:0 20px;
- display: flex;
- .for-title-p{
- width:175px;
- height:80px;
- line-height:80px;
- font-size:16px;
- color:#333;
- text-align: center;
- }
- .for-button-max-box{
- flex:1;
- .for-button-min-box{
- font-size:16px;
- display: inline-block;
- overflow: hidden;
- height:30px;
- line-height:30px;
- border-radius:6px;
- margin:25px 28px 0 0;
- cursor: pointer;
- i{
- height:30px;
- line-height:30px;
- font-size:16px;
- color:#fff;
- margin-right:6px;
- }
- }
- .colorAA{
- color: #ffffff;
- background: #0183FA;
- padding:0 26px 0 16px;
- }
- .colorBB{
- padding:0 26px;
- color: #333;
- background: #E0E0E0;
- }
- }
- }
- .template-name-box{
- display: flex;
- .template-name-p{
- font-weight:500;
- height:80px;
- line-height:80px;
- font-size:16px;
- color:#333;
- margin-left:20px;
- flex: 1;
- }
- .template-name-button{
- width:80px;
- height:40px;
- line-height:40px;
- margin:20px 20px 0 0;
- }
- .template-name-button-one{
- width:180px;
- height:40px;
- line-height:40px;
- margin:20px 40px 0 0;
- color:#fff;
- background: #0183FA;
- border: 1px solid #E0E0E0;
- cursor: pointer;
- font-size: 14px;
- text-align: center;
- border-radius: 6px;
- }
- }
- .table-for-max-box{
- border:1px solid #D7D7D7;
- margin:0 20px;
- *{
- margin:0;
- padding:0;
- }
- .table-title-box{
- background: rgba(1,131,250,0.1);
- display: flex;
- p{
- font-size:14px;
- font-weight:700;
- color:#333;
- line-height:48px;
- padding-left:20px;
- }
- p:nth-child(1){
- width:616px;
- border-right:1px solid #D7D7D7;
- }
- }
- .table-for-big-box{
- border-top:1px solid #D7D7D7;
- display: flex;
- font-size:14px;
- .max-title-box-null{
- width:616px!important;
- }
- .max-title-box{
- width:230px;
- border-right:1px solid #D7D7D7;
- min-height:48px;
- position: relative;
- p{
- position: absolute;
- top:50%;
- left:20px;
- height:18px;
- line-height:18px;
- margin-top:-9px;
- }
- }
- .max-right-box{
- flex:5;
- min-height:48px;
- .big-box:nth-child(1){
- border:none!important;
- }
- .big-box-null{
- line-height:48px;
- margin-left:20px;
- color:#606266;
- }
- .big-box{
- display: flex;
- border-top:1px solid #D7D7D7;
- .big-title-box-null{
- width:386px!important;
- }
- .big-title-box{
- width:180px;
- border-right:1px solid #D7D7D7;
- min-height:48px;
- position: relative;
- overflow: hidden;
- p{
- position: absolute;
- top:50%;
- left:20px;
- height:48px;
- line-height:48px;
- margin-top:-24px;
- }
- }
- .big-right-box-null{
- flex:1;
- padding:14px 0 0 20px;
- div{
- display: inline-block;
- margin:0 20px 14px 0;
- }
- }
- .big-right-box{
- flex:5;
- min-height:48px;
- .min-box:nth-child(1){
- border:none!important;
- }
- .min-box{
- display: flex;
- border-top:1px solid #D7D7D7;
- .min-title-box{
- display: flex;
- flex-direction: column;
- border-right:1px solid #D7D7D7;
- min-height:48px;
- position: relative;
- overflow: hidden;
- .title-left-box{
- width:205px;
- display: flex;
- .min-title-box-null{
- flex:1;
- }
- p{
- width:205px;
- position: absolute;
- top:50%;
- left:20px;
- height:48px;
- line-height:48px;
- margin-top:-24px;
- }
- }
- }
- .min-right-box{
- flex:1;
- padding:14px 0 0 20px;
- div{
- display: inline-block;
- margin:0 20px 14px 0 ;
- }
- }
- }
- }
- }
- }
- }
- }
- .bottom-button-box{
- display: flex;
- width:600px;
- margin:30px auto 10px;
- .null-p{
- flex:1;
- }
- .button-p-1{
- width:100px;
- margin-right:20px;
- }
- .button-p-2{
- width:100px;
- margin-right:20px;
- }
- .button-p-3{
- width:180px;
- }
- }
- }
- </style>
- <style lang="scss">
- .teacher-add-page{
- .top-info-box{
- .el-form-item{
- height:70px;
- }
- .switch .el-switch__label {
- position: absolute;
- display: none;
- color: #fff !important;
- }
- .switch .el-switch__label--right {
- z-index: 1;
- }
- .switch .el-switch__label--right span{
- margin-left: 10px;
- }
- .switch .el-switch__label--left {
- z-index: 1;
- }
- .switch .el-switch__label--left span{
- margin-left: 24px;
- }
- .switch .el-switch__label.is-active {
- display: block;
- }
- .switch.el-switch .el-switch__core,
- .el-switch .el-switch__label {
- width: 64px !important;
- margin: 0;
- }
- }
- }
- .managePermissionTemplates-permission-dialog-box{
- *{
- margin:0;
- }
- .title-p{
- font-size:15px;
- font-weight:700;
- margin-bottom:30px;
- }
- .managePermissionTemplates-permission-dialog-form-box{
- .title-box{
- display: flex;
- height: 60px;
- background: #F5F5F5;
- .left-title-p{
- width:198px;
- border-right:1px solid #E0E0E0;
- font-size:15px;
- font-weight:700;
- padding-left:26px;
- line-height:60px;
- color:#333;
- }
- .right-box{
- flex:1;
- .right-box-min{
- height:20px;
- margin:20px 0 0 50px;
- .el-checkbox__label{
- font-size:15px;
- font-weight:700;
- }
- }
- }
- }
- .check-box{
- display: flex;
- .left-title-box{
- width:198px;
- border:1px solid #E0E0E0;
- position: relative;
- .left-title-p{
- position: absolute;
- left:27px;
- height:20px;
- line-height:20px;
- top:50%;
- margin-top:-10px;
- }
- }
- .right-box{
- padding:0 50px 41px 0;
- flex:1;
- border:1px solid #E0E0E0;
- border-left:none;
- .for-check-box{
- margin:41px 0 0 50px;
- }
- }
- }
- }
- .managePermissionTemplates-permission-dialog-button-box{
- display: flex;
- width:160px;
- margin:0 auto;
- p{
- margin:0;
- width:70px;
- height:30px;
- line-height:30px;
- font-size:14px;
- }
- p:nth-child(1){
- margin-right:20px;
- }
- }
- }
- .managePermissionTemplates-dept-dialog-box{
- *{
- margin:0;
- }
- .managePermissionTemplates-dept-dialog-button-box{
- display: flex;
- width:190px;
- margin:0 auto;
- p{
- margin:0;
- width:70px;
- height:30px;
- line-height:30px;
- font-size:14px;
- }
- p:nth-child(1){
- margin-right:50px;
- }
- }
- }
- </style>
|