From 9ddbaf715dccb4cf9db57ffec29fe9b20c2d506c Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期三, 04 十二月 2024 17:55:40 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/plt-web/plt-web-ui/src/components/PLT-basic-component/transfer.vue | 26 +
Source/plt-web/plt-web-ui/src/views/system/role/index.vue | 4
Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/model/BaseModel.java | 267 ++++++++++++------------
Source/plt-web/plt-web-ui/src/views/system/user/index.vue | 9
Source/plt-web/plt-web-ui/src/views/authority/ui/dataAuthorization/dataView.vue | 257 +++++++++++++++++++---
Source/plt-web/plt-web-ui/src/views/authority/ui/dataAuthorization/index.vue | 42 ++-
6 files changed, 405 insertions(+), 200 deletions(-)
diff --git a/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/model/BaseModel.java b/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/model/BaseModel.java
index 54713a2..2571ef3 100644
--- a/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/model/BaseModel.java
+++ b/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/model/BaseModel.java
@@ -18,120 +18,87 @@
*/
public class BaseModel implements java.io.Serializable{
-
/**
* 涓婚敭锛屽鏋滆嚜宸辩殑瀵硅薄锛屼笉鏄痮id浣滀负涓婚敭鐨勮瘽锛岄渶瑕佺敤id杩欎釜娉ㄨВ
*/
@Column(nullable = false)
private String oid;
-
- /**
- * 浠e彿锛涘彲浠ヨ缃睘鎬х殑鏄犲皠锛宯ame琛ㄧず鍦ㄥ钩鍙扮殑涓氬姟绫诲瀷涓殑灞炴�у悕绉帮紝蹇呴』涓哄皬鍐欙紱
- */
- @Column()
- private String id;
-
- /**
- * 鍚嶇О锛涗篃鍙互涓嶈缃睘鎬ф槧灏勶紝榛樿鏄瓧娈靛悕鐨勫皬鍐�
- */
- @Column()
- private String name;
-
- /**
- * 鎻忚堪
- */
- @Column()
- private String description;
-
+
/**
* 鐗堟湰鐨勪富閿�
*/
@Column()
private String revisionOid;
-
+
/**
* 瀵硅薄鐨勪富閿�
*/
@Column()
private String nameOid;
-
+
/**
* 涓氬姟绫诲瀷鐨勫悕绉�
*/
@Column()
private String btmName;
-
+
/**
- * 鏄惁鏈�鍚庣増鏈�
+ * 鏄惁鏈�鍚庣増鏈��1锛氭槸锛�0锛氬惁
*/
@Column(length=1)
private String lastR;
-
-
+
+
/**
- * 鏄惁鏈�鍒濈増鏈�
+ * 鏄惁鏈�鍒濈増鏈��1锛氭槸锛�0锛氬惁
*/
@Column(length=1)
private String firstR;
-
-
+
+
/**
- * 鏄惁鏈�鏂扮増娆�
+ * 鏄惁鏈�鏂扮増娆°��1锛氭槸锛�0锛氬惁
*/
@Column(length=1)
private String lastV;
-
-
+
+
/**
- * 鏄惁鏈�鏃╃増娆�
+ * 鏄惁鏈�鏃╃増娆°��1锛氭槸锛�0锛氬惁
*/
@Column(length=1)
private String firstV;
-
+
/**
* 鍒涘缓浜�
*/
@Column(nullable = false)
private String creator;
-
+
/**
* 鍒涘缓鏃堕棿
*/
@Column(nullable = false)
@VciFieldType(VciFieldTypeEnum.VTDateTime)
private Date createTime;
-
+
/**
* 鏈�鍚庝慨鏀逛汉
*/
@Column(nullable = false)
private String lastModifier;
-
+
/**
* 鏈�鍚庝慨鏀规椂闂达紝鏍煎紡鏄痽yyy-MM-dd HH:mm:ss.SSS
*/
@VciFieldType(VciFieldTypeEnum.VTDateTime)
private Date lastModifyTime;
-
+
/**
* 鐗堟湰瑙勫垯
*/
@Column()
private String revisionRule;
-
-
- /**
- * 鐗堟湰搴忓彿
- */
- @VciFieldType(VciFieldTypeEnum.VTInteger)
- private int revisionSeq;
-
- /**
- * 鐗堟湰鍊�
- */
- @Column()
- private String revisionValue;
-
/**
* 鐗堟瑙勫垯
@@ -140,11 +107,23 @@
private String versionRule;
/**
+ * 鐗堟湰搴忓彿
+ */
+ @VciFieldType(VciFieldTypeEnum.VTInteger)
+ private int revisionSeq;
+
+ /**
+ * 鐗堟湰鍊�
+ */
+ @Column()
+ private String revisionValue;
+
+ /**
* 鐗堟鎺掑簭
*/
@VciFieldType(VciFieldTypeEnum.VTInteger)
private int versionSeq;
-
+
/**
* 鐗堟鍊�
*/
@@ -162,54 +141,72 @@
*/
@Column()
private String lcStatus;
+
+ /**
+ * 鏃堕棿鎴筹紝鏍煎紡鏄痽yyy-MM-dd HH:mm:ss.SSS
+ */
+ @JsonFormat(pattern = VciDateUtil.DateTimeMillFormat)
+ private Date ts;
+
+ /**
+ * 浠e彿锛涘彲浠ヨ缃睘鎬х殑鏄犲皠锛宯ame琛ㄧず鍦ㄥ钩鍙扮殑涓氬姟绫诲瀷涓殑灞炴�у悕绉帮紝蹇呴』涓哄皬鍐欙紱
+ */
+ @Column()
+ private String id;
+
+ /**
+ * 鍚嶇О锛涗篃鍙互涓嶈缃睘鎬ф槧灏勶紝榛樿鏄瓧娈靛悕鐨勫皬鍐�
+ */
+ @Column()
+ private String name;
+
+ /**
+ * 鎻忚堪
+ */
+ @Column()
+ private String description;
+
+ /**
+ * 鎷ユ湁鑰咃紝涓庡垱寤鸿�呮湁鍖哄埆锛屽父鐢ㄤ簬鎺у埗鏁版嵁鏉冮檺
+ */
+ @Column(length = 50)
+ private String owner;
+
+ /**
+ * 绛惧叆浜�--绛惧叆鍜岀鍑烘暟鎹槸浜掓枼
+ */
+ @Column(length = 50)
+ private String checkInBy;
+
+ /**
+ * 绛惧叆鏃堕棿
+ */
+ @VciFieldType(VciFieldTypeEnum.VTDateTime)
+ private Date checkInTime;
+
+ /**
+ * 绛惧嚭浜�
+ */
+ @Column(length = 50)
+ private String checkOutBy;
+
+ /**
+ * 绛惧嚭鏃堕棿
+ */
+ @VciFieldType(VciFieldTypeEnum.VTDateTime)
+ private Date checkOutTime;
+
+ /**
+ * 浠庡摢涓増鏈嫹璐�
+ */
+ @Column(length = 50)
+ private String copyFromVersion;
/**
* 鐢熷懡鍛ㄦ湡鏄剧ず鏂囨湰
*/
@Transient(referColumn="lcStatus_text")
private String lcStatusText;
-
- /**
- * 鏃堕棿鎴筹紝鏍煎紡鏄痽yyy-MM-dd HH:mm:ss.SSS
- */
- @JsonFormat(pattern = VciDateUtil.DateTimeMillFormat)
- private Date ts;
-
- /**
- * 鎷ユ湁鑰咃紝涓庡垱寤鸿�呮湁鍖哄埆锛屽父鐢ㄤ簬鎺у埗鏁版嵁鏉冮檺
- */
- @Column(length = 50)
- private String owner;
-
- /**
- * 绛惧叆浜�--绛惧叆鍜岀鍑烘暟鎹槸浜掓枼
- */
- @Column(length = 50)
- private String checkInBy;
-
- /**
- * 绛惧叆鏃堕棿
- */
- @VciFieldType(VciFieldTypeEnum.VTDateTime)
- private Date checkInTime;
-
- /**
- * 绛惧嚭浜�
- */
- @Column(length = 50)
- private String checkOutBy;
-
- /**
- * 绛惧嚭鏃堕棿
- */
- @VciFieldType(VciFieldTypeEnum.VTDateTime)
- private Date checkOutTime;
-
- /**
- * 浠庡摢涓増鏈嫹璐�
- */
- @Column(length = 50)
- private String copyFromVersion;
/**
* 瀵嗙骇
@@ -235,30 +232,6 @@
public void setOid(String oid) {
this.oid = oid;
- }
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
}
public String getRevisionOid() {
@@ -357,6 +330,14 @@
this.revisionRule = revisionRule;
}
+ public String getVersionRule() {
+ return versionRule;
+ }
+
+ public void setVersionRule(String versionRule) {
+ this.versionRule = versionRule;
+ }
+
public int getRevisionSeq() {
return revisionSeq;
}
@@ -371,14 +352,6 @@
public void setRevisionValue(String revisionValue) {
this.revisionValue = revisionValue;
- }
-
- public String getVersionRule() {
- return versionRule;
- }
-
- public void setVersionRule(String versionRule) {
- this.versionRule = versionRule;
}
public int getVersionSeq() {
@@ -413,20 +386,36 @@
this.lcStatus = lcStatus;
}
- public String getLcStatusText() {
- return lcStatusText;
- }
-
- public void setLcStatusText(String lcStatusText) {
- this.lcStatusText = lcStatusText;
- }
-
public Date getTs() {
return ts;
}
public void setTs(Date ts) {
this.ts = ts;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
}
public String getOwner() {
@@ -477,6 +466,14 @@
this.copyFromVersion = copyFromVersion;
}
+ public String getLcStatusText() {
+ return lcStatusText;
+ }
+
+ public void setLcStatusText(String lcStatusText) {
+ this.lcStatusText = lcStatusText;
+ }
+
public Integer getSecretGrade() {
return secretGrade;
}
diff --git a/Source/plt-web/plt-web-ui/src/components/PLT-basic-component/transfer.vue b/Source/plt-web/plt-web-ui/src/components/PLT-basic-component/transfer.vue
index 65e61c2..da12fef 100644
--- a/Source/plt-web/plt-web-ui/src/components/PLT-basic-component/transfer.vue
+++ b/Source/plt-web/plt-web-ui/src/components/PLT-basic-component/transfer.vue
@@ -6,7 +6,7 @@
:visible.sync="visible"
append-to-body="true"
class="avue-dialog"
- width="830px"
+ width="800px"
@close="dialogClose">
<div style="height: 42px;line-height: 30px;margin-top: -5px;" v-if="topMethodsObj !== {} && topMethodsObj">
<div>
@@ -27,6 +27,7 @@
:data="data"
:filter-method="filterMethod"
:render-content="renderFunc"
+ @change="handleChange"
:titles="transferTitle"
filter-placeholder="鍏抽敭璇嶆悳绱�"
filterable
@@ -82,8 +83,9 @@
this.data = [];
newval.forEach((item) => {
this.data.push({
+ ...item,
label: item.name,
- key: item.oid,
+ key: item.oid
});
});
this.loading = false;
@@ -97,8 +99,8 @@
methods: {
dialogClose() {
this.visible = false;
- this.data = [];
- this.leftRoleData = [];
+ //this.data = [];
+ //this.rightRoleData = [];
},
sendHandler() {
if (func.isEmptyObject(this.topMethodsObj)) {
@@ -117,6 +119,8 @@
this.visible = false;
},
+ handleChange(value, direction, movedKeys) {
+ }
}
}
</script>
@@ -124,13 +128,23 @@
<style lang="scss" scoped>
/deep/ .el-transfer-panel {
height: 450px; /* 宸﹀彸涓や釜绌挎妗嗙殑楂樺害鍜屽搴� */
- width: 300px;
+ width: 322px;
}
/deep/ .el-transfer-panel__list.is-filterable {
height: 323px; /* 绌挎妗嗗垪琛ㄩ珮搴� */
}
-
+/deep/ .el-transfer__buttons .el-button{
+ display: block;
+ margin: 30px 0;
+ padding: 8px 15px;
+}
+/deep/ .el-transfer__button:first-child{
+ transform: translateY(200%);
+}
+/deep/ .el-transfer__button:nth-child(2){
+ transform: translateY(-200%);
+}
.valueInfo {
float: left;
border: 1px solid #E9E7E7;
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 fe69008..49865da 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
@@ -12,23 +12,26 @@
<fieldset style="width: 48%">
<legend> 涓讳綋 </legend>
<div>
- <avue-crud ref="mainCrud" :data="mainData" :option="mainOption">
+ <avue-crud ref="mainCrud" :data="mainData" :option="mainOption"
+ @current-row-change="mainCurrentRowHandler"
+ >
<template #type="{ row }">
<el-tag v-if="row.type=='鐢ㄦ埛'" :key="row.oid" effect="dark">{{ row.type }}</el-tag>
<el-tag v-else-if="row.type=='瑙掕壊'" type="info" :key="row.oid" effect="dark">{{ row.type }}</el-tag>
- <el-tag v-else="row.type=='閮ㄩ棬'" type="warning" :key="row.oid" effect="dark">{{ row.type }}</el-tag>
+ <el-tag v-else="row.type=='鐢ㄦ埛缁�'" type="warning" :key="row.oid" effect="dark">{{ row.type }}</el-tag>
</template>
</avue-crud>
</div>
</fieldset>
<div style="text-align: center;">
- <el-button icon="el-icon-arrow-right" size="mini" @click="rightHandler" style="margin-bottom: 50px;"></el-button><br/>
- <el-button icon="el-icon-arrow-left" size="mini" @click="leftHandler"></el-button>
+ <el-button icon="el-icon-arrow-right" type="primary" size="small" @click="rightHandler" style="margin-bottom: 50px;"></el-button><br/>
+ <el-button icon="el-icon-arrow-left" type="primary" size="small" @click="leftHandler"></el-button>
</div>
<fieldset style="width: 42%">
<legend> 鎺堟潈涓讳綋 </legend>
<div>
- <avue-crud ref="authCrud" :data="authData" :option="authOption" :table-loading="tableLoading">
+ <avue-crud ref="authCrud" :data="authData" :option="authOption" :table-loading="tableLoading"
+ @current-row-change="authCurrentRowHandler">
</avue-crud>
</div>
</fieldset>
@@ -112,9 +115,32 @@
</transfer>
<!-- 閫夋嫨鐢ㄦ埛绌挎妗� -->
<transfer ref="roletransfer" :left-role-data="leftRoleData" :right-role-data="rightRoleData"
- :transferTitle="['鐜版湁瑙掕壊','鎷ユ湁瑙掕壊']" title="娣诲姞瑙掕壊"
+ :transferTitle="['鐜版湁瑙掕壊','鎷ユ湁瑙掕壊']" title="鍒嗛厤瑙掕壊"
@transferSend="roleSendHandler">
</transfer>
+ <!-- 閫夋嫨閮ㄩ棬瀵硅瘽妗� -->
+ <el-dialog
+ v-dialogDrag
+ v-loading="departLoading"
+ :visible.sync="departVisible"
+ append-to-body="true"
+ class="avue-dialog"
+ title="閫夋嫨閮ㄩ棬"
+ width="50%"
+ >
+ <avue-crud
+ ref="departCrud"
+ :data="departData"
+ :option="departOption"
+ @selection-change="selectDepartChange"
+ @row-click="rowClickDeptHandler"
+ >
+ </avue-crud>
+ <div slot="footer" class="dialog-footer">
+ <el-button size="small" type="primary" @click="saveDepartHandler">纭� 瀹�</el-button>
+ <el-button size="small" @click="departVisible = false">鍙� 娑�</el-button>
+ </div>
+ </el-dialog>
</div>
</template>
@@ -123,8 +149,8 @@
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";
+import {listUserByUserType, gridRoles, departmentQueryController} from "@/api/system/user/api";
+import func from "@/util/func";
export default {
name: "dataView",
@@ -159,7 +185,40 @@
rightUserData: [], // 閫夋嫨鎴愬憳绌挎妗嗗彸渚у垵濮嬫暟鎹�
leftRoleData: [], // 閫夋嫨瑙掕壊绌挎妗嗗乏渚у垵濮嬫暟鎹�
rightRoleData: [], // 閫夋嫨瑙掕壊绌挎妗嗗彸渚у垵濮嬫暟鎹�
+ departCurrenRows: [],
+ departOption: {
+ ...basicOption,
+ addBtn: false,
+ rowKey: 'oid',
+ rowParentKey: 'parentId',
+ selection: true,
+ highlightCurrentRow: true,
+ stripe: false,
+ menu: false,
+ refreshBtn: false,
+ gridBtn: false,
+ header: false,
+ column: [
+ {
+ label: '鍚嶇О',
+ prop: 'name',
+ align: 'left'
+ },
+ {
+ label: '缂栧彿',
+ prop: 'id',
+ },
+ {
+ label: '鎻忚堪',
+ prop: 'description',
+ },
+ ]
+ },
+ departData: [],//閫夋嫨閮ㄩ棬鏁版嵁
+ departLoading: false,
+ departVisible: false,
mainData:[],
+ mainCurrentRow:{},
tableLoading: false,
mainOption: {
...basicOption,
@@ -178,7 +237,7 @@
label: ' 鍒嗙被',
prop: 'type',
sortable: true,
- width:110
+ width:90
},{
label: '缂栫爜',
prop: 'id'
@@ -188,6 +247,7 @@
}]
},
authData:[],
+ authCurrentRow:{},
authOption:{
...basicOption,
header:false,
@@ -242,7 +302,14 @@
value: '3',
disabled:true
}],
- value: '0'
+ value: '0',
+ change:function (column,value){
+ if(value=='1' || value=='3'){
+ this.form.btmName=this.btmNode.attributes.name;
+ this.form.levelFlag=0;
+ this.form.queryTemplate={};
+ }
+ }
}],
form:{
btmName:'',
@@ -254,14 +321,14 @@
"userGroups": "",//鏄剧ず鍒版巿鏉冧富浣撶晫闈紝閮ㄩ棬鍚嶇О锛屽涓娇鐢ㄩ�楀彿鍒嗛殧
"users": "",//鏄剧ず鍒版巿鏉冧富浣撶晫闈紝鐢ㄦ埛鍚嶇О锛屽涓娇鐢ㄩ�楀彿鍒嗛殧
"expToSQL": "",//姝ゅ涓哄厑璁告潈闄愭垨鎷掔粷鏉冮檺闇�濉厖鐨勬暟鎹紝鏆傛椂涓嶅仛澶勭悊锛屼负绌哄瓧绗︿覆鍗冲彲
- "identifier": "terminology_query",//涓氬姟绫诲瀷锛坱erminology锛�+涓嬪垝绾匡紙_锛�+鎿嶄綔鍖虹殑涓�鑸搷浣滅殑鎸夐挳鑻辨枃鍚嶇О锛坬uery锛�,澶氫釜鎸夐挳鐨勮瘽鏄鏉℃暟鎹笉鏄娇鐢ㄩ�楀彿鍒嗛殧
+ "identifier": "",//涓氬姟绫诲瀷锛坱erminology锛�+涓嬪垝绾匡紙_锛�+鎿嶄綔鍖虹殑涓�鑸搷浣滅殑鎸夐挳鑻辨枃鍚嶇О锛坬uery锛�,澶氫釜鎸夐挳鐨勮瘽鏄鏉℃暟鎹笉鏄娇鐢ㄩ�楀彿鍒嗛殧
"isGrand": 49, //姝ゅ涓烘搷浣滃尯鐨勪竴鑸搷浣滅殑鎸夐挳鏄惁涓洪�夋嫨鎯呭喌锛屾湭閫変腑鍊间负48锛岄�変腑涓�49锛岃繖閲屾槸灏�0鍜�1杞负浜哹yte鍊硷紝鎵�浠ヤ负48锛�49
"lexpToSQL": "",//姝ゅ涓哄厑璁告潈闄愭垨鎷掔粷鏉冮檺闇�濉厖鐨勬暟鎹紝鏆傛椂涓嶅仛澶勭悊锛屼负绌哄瓧绗︿覆鍗冲彲
"lruleText": "",//姝ゅ涓哄厑璁告潈闄愭垨鎷掔粷鏉冮檺闇�濉厖鐨勬暟鎹紝鏆傛椂涓嶅仛澶勭悊锛屼负绌哄瓧绗︿覆鍗冲彲
"lseniorRuleText": "",//姝ゅ涓哄厑璁告潈闄愭垨鎷掔粷鏉冮檺闇�濉厖鐨勬暟鎹紝鏆傛椂涓嶅仛澶勭悊锛屼负绌哄瓧绗︿覆鍗冲彲
- "ruleName": "assssss",//瑙勫垯鍚嶇О
+ "ruleName": "",//瑙勫垯鍚嶇О
"ruleText": "",//姝ゅ涓哄厑璁告潈闄愭垨鎷掔粷鏉冮檺闇�濉厖鐨勬暟鎹紝鏆傛椂涓嶅仛澶勭悊锛屼负绌哄瓧绗︿覆鍗冲彲
- "ruleType": "2",//0鍏ㄩ儴鍏佽锛�1鍏佽鏉冮檺锛�2鍏ㄩ儴鎷掔粷锛�3鎷掔粷鏉冮檺锛岀敱浜庢殏鏃跺彧鍋氬叏閮ㄥ厑璁镐笌鍏ㄩ儴鎷掔粷锛屾墍浠ユ殏鏃跺彲浠ヤ笉鐢ㄧ
+ "ruleType": "",//0鍏ㄩ儴鍏佽锛�1鍏佽鏉冮檺锛�2鍏ㄩ儴鎷掔粷锛�3鎷掔粷鏉冮檺锛岀敱浜庢殏鏃跺彧鍋氬叏閮ㄥ厑璁镐笌鍏ㄩ儴鎷掔粷锛屾墍浠ユ殏鏃跺彲浠ヤ笉鐢ㄧ
"seniorRuleText": "",//姝ゅ涓哄厑璁告潈闄愭垨鎷掔粷鏉冮檺闇�濉厖鐨勬暟鎹紝鏆傛椂涓嶅仛澶勭悊锛屼负绌哄瓧绗︿覆鍗冲彲
},
radioForm:0,
@@ -314,24 +381,40 @@
},
created() {
listUserByUserType().then(res => {
- if(typeof res.data == 'string'){
- res.data=eval('('+res.data +')')
- }
// 缁勮濂界┛姊鍙敤鏁版嵁
this.leftUserData = res.data.data.map(item => {
return {
+ ...item,
name: item.name + `(${item.id})`,
oid: item.oid
}
})
this.rightUserData = [];
})
+ gridRoles(1,-1).then(res => {
+ // 缁勮濂界┛姊鍙敤鏁版嵁
+ this.leftRoleData = res.data.data.map(item => {
+ return {
+ ...item,
+ name: item.name ,
+ oid: item.oid
+ }
+ })
+ this.rightRoleData = [];
+ })
+ departmentQueryController({queryAllLevel: true}).then(res => {
+ const data = res.data.treeData;
+ this.departData = this.departDtaFormAtter(data);
+ }).catch(err => {
+ this.$message.error(err);
+ })
},
watch: {
selectRow:{
- handler(val) {
+ handler(val,oldval) {
this.authData=[];
if(val && val.rules){
+ this.form=JSON.parse(JSON.stringify(val.rules));
//this.getTemp(true);
//this.getTemp(false)
//鏋勫缓鎺堟潈涓讳綋鏁版嵁
@@ -362,6 +445,8 @@
}
})
}
+ }else {
+ this.form={};
}
},
immediate: true,
@@ -391,45 +476,135 @@
// 閫変腑鐢ㄦ埛绌挎妗嗗洖濉�
userSendHandler(row) {
+ this.mainData=this.mainData.filter(item=>{
+ return item.type!='鐢ㄦ埛'
+ })
row.forEach((item,index)=>{
- this.authData.push({
- type:'user',
- ...item
+ var addItem=this.leftUserData.find(leftitem=>leftitem.oid==item);
+ this.mainData.push({
+ type:'鐢ㄦ埛',
+ id:addItem.id,
+ name:addItem.name.split('(')[0],
+ oid:addItem.oid
})
})
+ this.rightUserData=row;
+ this.$refs.usertransfer.visible = false;
},
//閫夋嫨瑙掕壊
roleHandler(){
- 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.leftRoleData = leftData.map(item => {
- return {
- name: item.name + `(${item.id})`,
- oid: item.oid
- }
- })
- this.rightRoleData = byRoleRes.data.data.map(item => item.oid);
- this.$refs.transfer.visible = true;
- }
- });
+ this.$refs.roletransfer.visible = true;
},
// 閫夋嫨瑙掕壊绌挎妗嗗洖濉�
roleSendHandler(row) {
+ this.mainData=this.mainData.filter(item=>{
+ return item.type!='瑙掕壊'
+ })
row.forEach((item,index)=>{
- this.authData.push({
- type:'role',
- ...item
+ var addItem=this.leftRoleData.find(leftitem=>leftitem.oid==item);
+ this.mainData.push({
+ type:'瑙掕壊',
+ id:addItem.name,
+ name:addItem.name,
+ oid:addItem.oid
})
})
+ this.rightRoleData=row;
+ this.$refs.roletransfer.visible = false;
},
//閫夋嫨鐢ㄦ埛缁�
deptHandler(){
-
+ this.departVisible=true;
+ },
+ // 閫夋嫨閮ㄩ棬鏁版嵁杞崲
+ departDtaFormAtter(items) {
+ return items.map(item => {
+ // 杞崲褰撳墠鑺傜偣鐨勫睘鎬�
+ const formList = {
+ oid: item.oid,
+ id: item.attributes.id,
+ name: item.attributes.name,
+ description: item.attributes.description,
+ parentId: item.parentId,
+ parentName: item.parentName,
+ parentBtmName: item.parentBtmName,
+ // 濡傛灉children瀛樺湪涓斾笉涓虹┖锛屽垯閫掑綊杞崲children
+ children: item.children && item.children.length > 0 ? this.departDtaFormAtter(item.children) : undefined
+ };
+ return formList;
+ });
+ },
+ // 閫夋嫨閮ㄩ棬
+ selectDepartChange(row) {
+ this.departCurrenRows = row;
+ },
+ // 閫夋嫨閮ㄩ棬 琛屽崟閫�
+ rowClickDeptHandler(row) {
+ func.rowClickHandler(
+ row,
+ this.$refs.departCrud,
+ this.lastIndex,
+ (newIndex) => { this.lastIndex = newIndex; },
+ () => { this.departCurrenRows = [row]; }
+ );
+ },
+ // 閫夋嫨閮ㄩ棬 纭畾
+ saveDepartHandler() {
+ if (this.departCurrenRows.length==0) {
+ this.$message.warning('璇烽�夋嫨閮ㄩ棬鑺傜偣锛�')
+ return;
+ }
+ this.mainData=this.mainData.filter(item=>{
+ return item.type!='鐢ㄦ埛缁�'
+ })
+ this.departCurrenRows.forEach((addItem,index)=>{
+ this.mainData.push({
+ type:'鐢ㄦ埛缁�',
+ id:addItem.id,
+ name:addItem.name,
+ oid:addItem.oid
+ })
+ })
+ this.departVisible = false;
+ },
+ //涓讳綋鍒楄〃琛岀偣鍑�
+ mainCurrentRowHandler(row){
+ this.mainCurrentRow=row;
+ },
+ //鎺堟潈涓讳綋鍒楄〃琛岀偣鍑�
+ authCurrentRowHandler(row){
+ this.authCurrentRow=row;
+ },
+ rightHandler() {
+ if(func.isEmptyObject(this.mainCurrentRow)){
+ this.$message.warning('璇烽�夋嫨鐢ㄦ埛銆佺敤鎴风粍銆佽鑹蹭俊鎭紒')
+ return;
+ }
+ let name='{' + this.mainCurrentRow.id + ', ' + this.mainCurrentRow.name + ', ';
+ if (this.mainCurrentRow.type == '鐢ㄦ埛') {
+ name+='user}';
+ } else if (this.mainCurrentRow.type == '瑙掕壊') {
+ name+='role}';
+ } else if (this.mainCurrentRow.type == '鐢ㄦ埛缁�') {
+ name+='userGroup}';
+ }
+ let canAdd = !this.authData.some(item => {
+ return item.name == name
+ })
+ if(canAdd) {
+ this.authData.push({
+ name: name
+ })
+ this.$refs.mainCrud.setCurrentRow();
+ this.mainCurrentRow={}
+ }else {
+ this.$message.warning('鎺堟潈涓讳綋淇℃伅閫夋嫨閲嶅锛�')
+ }
+ },
+ leftHandler() {
+ this.authData = this.authData.filter(item => {
+ return item.name != this.authCurrentRow.name
+ })
},
initFormData() {
let formData = {
diff --git a/Source/plt-web/plt-web-ui/src/views/authority/ui/dataAuthorization/index.vue b/Source/plt-web/plt-web-ui/src/views/authority/ui/dataAuthorization/index.vue
index f8c8799..2b0c6fa 100644
--- a/Source/plt-web/plt-web-ui/src/views/authority/ui/dataAuthorization/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/authority/ui/dataAuthorization/index.vue
@@ -47,10 +47,10 @@
width="70%"
@close="addDialogClose">
<div>
- <data-view ref="editView" key="editView" :btmNode="nodeRow" :selectRow="selectRow" :actionMap="actionMap" :readOnly="false" :height="clientHeight-340"></data-view>
+ <data-view ref="editView" key="editView" :btmNode="nodeRow" :selectRow="title === 'add'?{}:selectRow" :actionMap="actionMap" :readOnly="false" :height="clientHeight-260"></data-view>
</div>
<span slot="footer" class="dialog-footer">
- <el-button size="small" type="primary" @click="addDialogSavaHandler">纭� 瀹�</el-button>
+ <el-button size="small" type="primary" @click="addDialogSavaHandler">淇� 瀛�</el-button>
<el-button size="small" @click="addDialogClose">鍙� 娑�</el-button>
</span>
</el-dialog>
@@ -170,9 +170,9 @@
},
getTableList() {
getData(this.nodeRow.attributes.name).then(res => {
- /*if(typeof res.data == 'string'){
+ if(typeof res.data == 'string'){
res.data=eval('('+res.data +')')
- }*/
+ }
if(res.data.obj.tableHeader){
this.option.column=[ {
label: '瑙勫垯鍚嶇О',
@@ -255,8 +255,8 @@
},
//淇敼
editHandler(){
- if (func.isEmptyObject(this.nodeRow)) {
- this.$message.error('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�');
+ if (func.isEmptyObject(this.selectRow)) {
+ this.$message.error('璇烽�夋嫨涓�鏉℃暟鎹�');
return;
}
this.title = 'edit';
@@ -264,13 +264,31 @@
},
// 鏂板缂栬緫淇濆瓨
addDialogSavaHandler() {
- saveGrand(this.viewData).then(res => {
- if (res.data.code === 200) {
- this.$message.success(res.data.obj);
+ let form=this.$refs.editView.form;
+ form.users=''
+ form.userGroups='';
+ form.roles=''
+ this.$refs.editView.authData.forEach(item=>{
+ let infos=item.name.split(', ');
+ infos[0]=infos[0].replace('{','')
+ if(infos[2]=='user}'){
+ form.users+=infos[0]+','
+ }
+ if(infos[2]=='userGroup}'){
+ form.userGroups+=infos[0]+','
+ }
+ if(infos[2]=='role}'){
+ form.roles+=infos[0]+','
+ }
+ });
+ console.log(form)
+ //saveGrand(this.viewData).then(res => {
+ //if (res.data.code === 200) {
+ //this.$message.success(res.data.obj);
this.getTableList();
this.addDialogClose();
- }
- })
+ //}
+ //})
},
// 鏂板缂栬緫瀵硅瘽妗嗗彇娑�
addDialogClose() {
@@ -278,7 +296,7 @@
},
//鍒犻櫎
delHandler(){
- if (func.isEmptyObject(this.nodeRow)) {
+ if (func.isEmptyObject(this.selectRow)) {
this.$message.error('璇烽�夋嫨鏁版嵁');
return;
}
diff --git a/Source/plt-web/plt-web-ui/src/views/system/role/index.vue b/Source/plt-web/plt-web-ui/src/views/system/role/index.vue
index 64d260f..9858341 100644
--- a/Source/plt-web/plt-web-ui/src/views/system/role/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/system/role/index.vue
@@ -182,7 +182,7 @@
this.$refs.roleCrud,
this.lastIndex,
(newIndex) => { this.lastIndex = newIndex; },
- () => { this.selectList = []; }
+ () => { this.selectList = [row]; }
);
},
@@ -283,6 +283,8 @@
listUserUnInRoleOid({pkRole: this.selectList[0].oid}),
listUserByRoleOid({pkRole: this.selectList[0].oid})
]).then(([unInRoleRes, byRoleRes]) => {
+ this.leftRoleData=[];
+ this.rightRoleData=[];
if (unInRoleRes.data.code === 200 && byRoleRes.data.code === 200) {
const leftData = [...unInRoleRes.data.data, ...byRoleRes.data.data];
// 缁勮濂界┛姊鍙敤鏁版嵁
diff --git a/Source/plt-web/plt-web-ui/src/views/system/user/index.vue b/Source/plt-web/plt-web-ui/src/views/system/user/index.vue
index 3751399..971b60b 100644
--- a/Source/plt-web/plt-web-ui/src/views/system/user/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/system/user/index.vue
@@ -61,12 +61,11 @@
class="avue-dialog"
style="margin-top: -15vh !important;"
title="璁剧疆瀵嗙爜绛栫暐"
- width="30%"
+ width="500px"
>
-
<div class="password-strategy-container">
- <div><i class="el-icon-setting"/>璁剧疆瀵嗙爜绛栫暐锛�</div>
- <el-select v-model="pwdValue" placeholder="璇烽�夋嫨瀵嗙爜绛栫暐">
+ <div style="width:115px;"><i class="el-icon-setting"/>璁剧疆瀵嗙爜绛栫暐锛�</div>
+ <el-select v-model="pwdValue" placeholder="璇烽�夋嫨瀵嗙爜绛栫暐" style="width: 330px;">
<el-option v-for="(item,index) in pwdList" :key="index" :label="item.name" :value="item.id"></el-option>
</el-select>
</div>
@@ -549,7 +548,7 @@
<style lang="scss" scoped>
.password-strategy-container {
- padding-left: 20px;
+ margin-bottom: 20px;
display: flex;
//justify-content: center;
align-items: center;
--
Gitblit v1.9.3