From badf10af5578f3fe4151824670bb7a794efc63dd Mon Sep 17 00:00:00 2001 From: wangting <675591594@qq.com> Date: 星期二, 03 十二月 2024 17:12:04 +0800 Subject: [PATCH] 数据授权 --- Source/plt-web/plt-web-ui/src/views/authority/ui/dataAuthorization/dataView.vue | 140 ++++++++++++++++++++++++++++++---------------- 1 files changed, 90 insertions(+), 50 deletions(-) diff --git a/Source/plt-web/plt-web-ui/src/views/authority/ui/dataAuthorization/dataView.vue b/Source/plt-web/plt-web-ui/src/views/authority/ui/dataAuthorization/dataView.vue index cb054cb..fe69008 100644 --- a/Source/plt-web/plt-web-ui/src/views/authority/ui/dataAuthorization/dataView.vue +++ b/Source/plt-web/plt-web-ui/src/views/authority/ui/dataAuthorization/dataView.vue @@ -53,7 +53,7 @@ :formData="form" @getFormData="getFormData"> </basic-form> - <el-container v-if="!readOnly"> + <el-container v-if="!readOnly && (form.ruleType=='1' || form.ruleType=='3')"> <el-aside style="width:350px"> <fieldset> <legend> 鍊欓�夋潯浠� </legend> @@ -91,13 +91,13 @@ </el-tab-pane> <el-tab-pane> <span slot="label"><i class="el-icon-s-tools"></i> 鎿嶄綔</span> - <fieldset :style="'width:99.5%;height: '+(height/2+20)+'px;margin-bottom:10px;'"> + <fieldset :style="'width:99.5%;height: '+(height-10)+'px;margin-bottom:10px;'"> <legend> 涓�鑸搷浣� </legend> <div> <avue-checkbox :disabled="readOnly" key="actionCheck" :all="!readOnly" v-model="actionForm" placeholder="璇烽�夋嫨鍐呭" :dic="actionDic"></avue-checkbox> </div> </fieldset> - <fieldset :style="'width:99.5%;height: '+(height/2-30)+'px;'"> + <fieldset v-if="0" :style="'width:99.5%;height: '+(height/2-30)+'px;'"> <legend> 鍏崇郴鍜岃穬杩� </legend> <div> <avue-checkbox :disabled="readOnly" key="linkActionCheck" :all="!readOnly" v-model="linkactionForm" placeholder="璇烽�夋嫨鍐呭" :dic="linkactionDic"></avue-checkbox> @@ -123,6 +123,7 @@ import formQueryDialog from "@/views/modelingMenu/queryTemplate/linkTypeQuery/formQueryDialog.vue"; import {queryTemplateListByAttr} from "@/api/queryTemplate/queryDefine"; import {getCriteria} from "@/api/queryTemplate/linkTypeQuery"; +import {listUserByUserType} from "@/api/system/user/api"; import {listUserByRoleOid, listUserUnInRoleOid, saveRight} from "@/api/system/role/api"; export default { @@ -135,7 +136,7 @@ default: {} }, //閫変腑琛屾暟鎹� - data: { + selectRow: { type: Object, default: {} }, @@ -147,7 +148,7 @@ type: Number, default: 400 }, - actionDic:{ + actionMap:{ type: Object, default: {} } @@ -172,6 +173,7 @@ height: this.height-80, tip:false, size:'mini', + highlightCurrentRow:true, column: [{ label: ' 鍒嗙被', prop: 'type', @@ -199,6 +201,8 @@ tip:false, showHeader:false, size:'mini', + highlightCurrentRow:true, + align:'left', column: [{ label: '鍚嶇О', prop: 'name' @@ -206,7 +210,7 @@ }, formItems:[{ label: '瑙勫垯鍚嶇О', - prop: 'qtName', + prop: 'ruleName', type: 'input', span:8, labelWidth: 100, @@ -218,31 +222,47 @@ }] }, { label: '瑙勫垯绫诲瀷', - prop: 'version', + prop: 'ruleType', type: 'select', span:6, labelWidth:110, disabled:this.readOnly, dicData: [{ label: '鍏ㄩ儴鍏佽', - value: 1 + value: '0' }, { label: '鍏佽鏉冮檺', - value: 2 + value: '1', + disabled:true }, { label: '鍏ㄩ儴鎷掔粷', - value: 3 + value: '2' }, { label: '鎷掔粷鏉冮檺', - value: 7 + value: '3', + disabled:true }], - value: 1 + value: '0' }], form:{ btmName:'', qtName: '', levelFlag:0,//0:鏅�氭煡璇㈡ā鏉�; 1:楂樼骇鏌ヨ妯℃澘" - queryTemplate:{} + queryTemplate:{},//瀹綋涓煡璇㈡潯浠� + "ID": "",//鏁版嵁鐨処D + "roles": "",//鏄剧ず鍒版巿鏉冧富浣撶晫闈紝瑙掕壊鍚嶇О锛屽涓娇鐢ㄩ�楀彿鍒嗛殧 + "userGroups": "",//鏄剧ず鍒版巿鏉冧富浣撶晫闈紝閮ㄩ棬鍚嶇О锛屽涓娇鐢ㄩ�楀彿鍒嗛殧 + "users": "",//鏄剧ず鍒版巿鏉冧富浣撶晫闈紝鐢ㄦ埛鍚嶇О锛屽涓娇鐢ㄩ�楀彿鍒嗛殧 + "expToSQL": "",//姝ゅ涓哄厑璁告潈闄愭垨鎷掔粷鏉冮檺闇�濉厖鐨勬暟鎹紝鏆傛椂涓嶅仛澶勭悊锛屼负绌哄瓧绗︿覆鍗冲彲 + "identifier": "terminology_query",//涓氬姟绫诲瀷锛坱erminology锛�+涓嬪垝绾匡紙_锛�+鎿嶄綔鍖虹殑涓�鑸搷浣滅殑鎸夐挳鑻辨枃鍚嶇О锛坬uery锛�,澶氫釜鎸夐挳鐨勮瘽鏄鏉℃暟鎹笉鏄娇鐢ㄩ�楀彿鍒嗛殧 + "isGrand": 49, //姝ゅ涓烘搷浣滃尯鐨勪竴鑸搷浣滅殑鎸夐挳鏄惁涓洪�夋嫨鎯呭喌锛屾湭閫変腑鍊间负48锛岄�変腑涓�49锛岃繖閲屾槸灏�0鍜�1杞负浜哹yte鍊硷紝鎵�浠ヤ负48锛�49 + "lexpToSQL": "",//姝ゅ涓哄厑璁告潈闄愭垨鎷掔粷鏉冮檺闇�濉厖鐨勬暟鎹紝鏆傛椂涓嶅仛澶勭悊锛屼负绌哄瓧绗︿覆鍗冲彲 + "lruleText": "",//姝ゅ涓哄厑璁告潈闄愭垨鎷掔粷鏉冮檺闇�濉厖鐨勬暟鎹紝鏆傛椂涓嶅仛澶勭悊锛屼负绌哄瓧绗︿覆鍗冲彲 + "lseniorRuleText": "",//姝ゅ涓哄厑璁告潈闄愭垨鎷掔粷鏉冮檺闇�濉厖鐨勬暟鎹紝鏆傛椂涓嶅仛澶勭悊锛屼负绌哄瓧绗︿覆鍗冲彲 + "ruleName": "assssss",//瑙勫垯鍚嶇О + "ruleText": "",//姝ゅ涓哄厑璁告潈闄愭垨鎷掔粷鏉冮檺闇�濉厖鐨勬暟鎹紝鏆傛椂涓嶅仛澶勭悊锛屼负绌哄瓧绗︿覆鍗冲彲 + "ruleType": "2",//0鍏ㄩ儴鍏佽锛�1鍏佽鏉冮檺锛�2鍏ㄩ儴鎷掔粷锛�3鎷掔粷鏉冮檺锛岀敱浜庢殏鏃跺彧鍋氬叏閮ㄥ厑璁镐笌鍏ㄩ儴鎷掔粷锛屾墍浠ユ殏鏃跺彲浠ヤ笉鐢ㄧ + "seniorRuleText": "",//姝ゅ涓哄厑璁告潈闄愭垨鎷掔粷鏉冮檺闇�濉厖鐨勬暟鎹紝鏆傛椂涓嶅仛澶勭悊锛屼负绌哄瓧绗︿覆鍗冲彲 }, radioForm:0, radioDic:[{ @@ -289,24 +309,59 @@ actionForm:[],//涓�鑸搷浣滈�変腑鍊� actionDic:[],//涓�鑸搷浣滈�変腑椤� linkactionForm:[],//鍏崇郴鍜岃穬杩侀�変腑鍊� - linkactionDic:[{ - label:'閫夐」111', - value:0 - },{ - label:'閫夐」222', - value:1 - }]//鍏崇郴鍜岃穬杩侀�変腑椤� + linkactionDic:[]//鍏崇郴鍜岃穬杩侀�変腑椤� } }, created() { - + listUserByUserType().then(res => { + if(typeof res.data == 'string'){ + res.data=eval('('+res.data +')') + } + // 缁勮濂界┛姊鍙敤鏁版嵁 + this.leftUserData = res.data.data.map(item => { + return { + name: item.name + `(${item.id})`, + oid: item.oid + } + }) + this.rightUserData = []; + }) }, watch: { - data:{ + selectRow:{ handler(val) { - if(val && val.oid){ - this.getTemp(true); - this.getTemp(false) + this.authData=[]; + if(val && val.rules){ + //this.getTemp(true); + //this.getTemp(false) + //鏋勫缓鎺堟潈涓讳綋鏁版嵁 + if(val.rules.users){ + val.rules.users.split(',').forEach((item,i)=>{ + if(item){ + this.authData.push({ + name:'{'+item+', '+item+', user}' + }) + } + }) + } + if(val.rules.roles){ + val.rules.roles.split(',').forEach((item,i)=>{ + if(item){ + this.authData.push({ + name:'{'+item+', '+item+', role}' + }) + } + }) + } + if(val.rules.userGroups){ + val.rules.userGroups.split(',').forEach((item,i)=>{ + if(item){ + this.authData.push({ + name:'{'+item+', '+item+', userGroup}' + }) + } + }) + } } }, immediate: true, @@ -314,13 +369,15 @@ }, actionMap:{ handler(val) { - this.actionDic=[{ - label:'閫夐」1', - value:0 - },{ - label:'閫夐」2', - value:1 - }]; + this.actionDic=[]; + if(val){ + for(var i in val){ + this.actionDic.push({ + label:i, + value:val[i] + }) + } + }; }, immediate: true, deep: true @@ -329,24 +386,7 @@ methods: { //閫変腑鐢ㄦ埛 userHandler(){ - Promise.all([ - listUserUnInRoleOid({pkRole: this.selectList.oid}), - listUserByRoleOid({pkRole: this.selectList.oid}) - ]).then(([unInRoleRes, byRoleRes]) => { - if (unInRoleRes.data.code === 200 && byRoleRes.data.code === 200) { - const leftData = [...unInRoleRes.data.data, ...byRoleRes.data.data]; - // 缁勮濂界┛姊鍙敤鏁版嵁 - this.leftUserData = leftData.map(item => { - return { - name: item.name + `(${item.id})`, - oid: item.oid - } - }) - this.rightUserData = byRoleRes.data.data.map(item => item.oid); - this.$refs.usertransfer.visible = true; - } - }); - + this.$refs.usertransfer.visible = true; }, // 閫変腑鐢ㄦ埛绌挎妗嗗洖濉� -- Gitblit v1.9.3