sasp-admin 0.2.62 → 0.2.64
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +38 -31
- package/package.json +1 -1
- package/router.js +5 -1
- package/src/assets/font/iconfont.css +1902 -1846
- package/src/assets/font/iconfont.eot +0 -0
- package/src/assets/font/iconfont.js +1 -1
- package/src/assets/font/iconfont.svg +959 -825
- package/src/assets/font/iconfont.ttf +0 -0
- package/src/assets/font/iconfont.woff +0 -0
- package/src/assets/js/api/apiAdmin.js +10 -0
- package/src/assets/js/global/dataGlobal.js +7 -3
- package/src/assets/js/global/userGlobal.js +9 -3
- package/src/components/complexViewRendering.vue +214 -198
- package/src/components/ifmLink.vue +20 -3
- package/src/components/public/data/plDataSelect.vue +8 -6
- package/src/components/public/org/sysOrgPosUserSelect.vue +61 -22
- package/src/components/public/upload/images/ofd.png +0 -0
- package/src/components/public/upload/plImage.vue +3 -1
- package/src/components/public/upload/plUpload.vue +167 -40
- package/src/components/public/upload/preview/OfdPreview.vue +223 -0
- package/src/components/public/upload/preview/officeViewer.vue +116 -0
- package/src/components/public/upload/preview/pdfPreview.vue +91 -0
- package/src/{views → components/public/upload}/preview/pdfViewer.vue +1 -1
- package/src/views/VueMenuView.vue +11 -13
- package/src/views/data/dataManage.vue +51 -5
- package/src/views/event/eventManager/vueEventDiy.vue +4 -6
- package/src/views/log/loginlog/logManageDevOrSup.vue +8 -5
- package/src/views/log/loginlog/logManageEnt.vue +96 -55
- package/src/views/log/loginlog/logManageGov.vue +8 -5
- package/src/views/menu/component/menuManageComponent.vue +3 -5
- package/src/views/menuRouter/menuView.vue +226 -117
- package/src/views/menuRouter/urlMenuRouter.vue +13 -16
- package/src/views/org/entOrgTree.vue +1 -3
- package/src/views/org/js/sysOrgUserDetailMixins.js +646 -0
- package/src/views/org/sysEntOrgUserDetail.vue +10 -632
- package/src/views/org/sysOrgDimension.vue +4 -8
- package/src/views/org/sysOrgPosUserDetail.vue +4 -619
- package/src/views/org/sysOrgTree.vue +7 -9
- package/src/views/param/sysParam.vue +2 -0
- package/src/views/resources/resRouter/resView.vue +9 -11
- package/src/views/resources/tabs/comp/pageResRegister.vue +3 -5
- package/src/views/resources/tabs/dataResources.vue +3 -1
- package/src/views/resources/tabs/pageResources.vue +3 -1
- package/src/views/role/authRole/component/allocateSetting.vue +2 -589
- package/src/views/role/authRole/component/authSetting.vue +2 -597
- package/src/views/role/authRole/component/js/authMixins.js +622 -0
- package/src/views/role/commonRole/commonRole.vue +122 -3
- package/src/views/role/commonRole/compoment/commonSetting.vue +4 -6
- package/src/views/role/commonRole/compoment/commonSettingAdjust.vue +2 -89
- package/src/views/role/commonRole/compoment/commonSettingNew.vue +13 -97
- package/src/views/role/commonRole/compoment/js/commonSettingMixins.js +90 -0
- package/src/views/role/commonRole/compoment/roleMenuPower.vue +17 -2
- package/src/views/role/commonRole/compoment/roleMenuSetting.vue +12 -5
- package/src/views/sms/sendSms.vue +1 -1
- package/src/views/threeinone/init/safeInitRegion.vue +2 -4
- package/src/views/threeinone/safeManager.vue +1 -0
- package/src/views/threeinone/safeOrgSpv.vue +360 -337
- package/src/views/threeinone/safeSpvEconView.vue +37 -17
- package/src/views/uploadManage/uploadManage.vue +133 -0
- package/src/views/user/empowerUser/empowerUserListViewMenuTree.vue +6 -2
- package/src/views/user/stationUserManage.vue +3 -5
- package/src/views/user/userManage.vue +99 -3
- package/src/views/user/userMangement.vue +4 -6
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
<el-container class="econ-container">
|
|
22
22
|
<safe-spv-main
|
|
23
23
|
ref="safeSpvEconMain"
|
|
24
|
-
:safe-spv-info="
|
|
24
|
+
:safe-spv-info="safeSpvInfoObj"
|
|
25
25
|
:currentClickSpv="currentClickSpv"
|
|
26
26
|
:econDataArr="econDataArr"
|
|
27
27
|
:checkedEconObj="checkedEconObj"
|
|
@@ -95,6 +95,8 @@
|
|
|
95
95
|
},
|
|
96
96
|
data(){
|
|
97
97
|
return {
|
|
98
|
+
regionId:"",
|
|
99
|
+
safeSpvInfoObj:{},
|
|
98
100
|
roleFlag:true,//访问权限
|
|
99
101
|
message:"",//无访问权限时的描述文字
|
|
100
102
|
spvTitle:"",//左侧树标题
|
|
@@ -129,10 +131,24 @@
|
|
|
129
131
|
this.safeSpvInfo.isOpen = "0";
|
|
130
132
|
this.safeSpvInfo.openStatus = "0";
|
|
131
133
|
this.safeSpvInfo.econOneToMany = "N";*/
|
|
134
|
+
if(!this.defaultRegionId){
|
|
135
|
+
this.regionId = this.USER_GLOBAL.getLoginDept().regionId;
|
|
136
|
+
this.axios.post(this.api.safeRegion.getById,{id:this.regionId}).then(res => {
|
|
137
|
+
if(res&&res.data){
|
|
138
|
+
this.safeSpvInfoObj = res.data;
|
|
139
|
+
}
|
|
140
|
+
this.getSafeSpvData();
|
|
141
|
+
this.initSpv();
|
|
142
|
+
this.isView();
|
|
143
|
+
})
|
|
144
|
+
}else{
|
|
145
|
+
this.regionId = this.defaultRegionId;
|
|
146
|
+
this.safeSpvInfoObj = this.safeSpvInfo;
|
|
147
|
+
this.getSafeSpvData();
|
|
148
|
+
this.initSpv();
|
|
149
|
+
this.isView();
|
|
150
|
+
}
|
|
132
151
|
|
|
133
|
-
this.getSafeSpvData();
|
|
134
|
-
this.initSpv();
|
|
135
|
-
this.isView();
|
|
136
152
|
},
|
|
137
153
|
|
|
138
154
|
watch:{
|
|
@@ -158,12 +174,12 @@
|
|
|
158
174
|
|
|
159
175
|
initSpv(){
|
|
160
176
|
//无权限
|
|
161
|
-
if(this.
|
|
177
|
+
if(this.safeSpvInfoObj.regionTier == "4"){
|
|
162
178
|
this.roleFlag = false;
|
|
163
179
|
this.message = "街道用户无地区监管配置的权限,已沿用区县监管配置!";
|
|
164
180
|
return;
|
|
165
181
|
}
|
|
166
|
-
if(this.source != "1" && (!this.
|
|
182
|
+
if(this.source != "1" && (!this.safeSpvInfoObj || !this.safeSpvInfoObj.id)){
|
|
167
183
|
this.roleFlag = false;
|
|
168
184
|
this.message = "未找到当前账号所属的监管地区!!";
|
|
169
185
|
return;
|
|
@@ -177,10 +193,10 @@
|
|
|
177
193
|
if(this.source == "1"){
|
|
178
194
|
this.spvTitle = "“默认”";
|
|
179
195
|
this.$set(this.showBtn,"save",true);
|
|
180
|
-
}else if(this.
|
|
196
|
+
}else if(this.safeSpvInfoObj.isOpen == "1" && this.safeSpvInfoObj.openStatus == '1'){//开启个性化按钮
|
|
181
197
|
this.spvTitle = "“使用默认配置”";
|
|
182
198
|
this.$set(this.showBtn,"personalize",true);
|
|
183
|
-
}else if(this.
|
|
199
|
+
}else if(this.safeSpvInfoObj.isOpen == "1" && this.safeSpvInfoObj.openStatus == '9'){//开启默认配置、修改按钮
|
|
184
200
|
this.spvTitle = "“使用个性化配置”";
|
|
185
201
|
if(this.isEdit){
|
|
186
202
|
this.$set(this.showBtn,"return",true);
|
|
@@ -189,7 +205,7 @@
|
|
|
189
205
|
this.$set(this.showBtn,"reduction",true);
|
|
190
206
|
this.$set(this.showBtn,"edit",true);
|
|
191
207
|
}
|
|
192
|
-
}else if(this.
|
|
208
|
+
}else if(this.safeSpvInfoObj.isOpen == "0"){//默认配置
|
|
193
209
|
this.spvTitle = "“使用默认配置”";
|
|
194
210
|
}
|
|
195
211
|
|
|
@@ -202,11 +218,15 @@
|
|
|
202
218
|
* */
|
|
203
219
|
async getSafeSpvData(){
|
|
204
220
|
this.showTree = false;
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
221
|
+
if(this.safeSpvInfoObj.openStatus == "9"){
|
|
222
|
+
this.regionId = this.safeSpvInfoObj.id;
|
|
223
|
+
}else if(this.safeSpvInfoObj.openStatus === "1"){
|
|
224
|
+
let defaultSpvList = await this.axios.post(this.api.safeRegion.find,{openStatus:"0"});
|
|
225
|
+
if(defaultSpvList&&defaultSpvList.data){
|
|
226
|
+
this.regionId = defaultSpvList.data[0].id;
|
|
227
|
+
}
|
|
208
228
|
}
|
|
209
|
-
let treeRes = await this.axios.post(this.api.safeSpv.findAndCount,{order:"TB.SPV_ORDER ASC",regionId:regionId,countSql:"1"});
|
|
229
|
+
let treeRes = await this.axios.post(this.api.safeSpv.findAndCount,{order:"TB.SPV_ORDER ASC",regionId:this.regionId,countSql:"1"});
|
|
210
230
|
if(treeRes && treeRes.data && (treeRes.data || []).length > 0){
|
|
211
231
|
let treeData = treeRes.data;
|
|
212
232
|
//整理树数据
|
|
@@ -251,7 +271,7 @@
|
|
|
251
271
|
|
|
252
272
|
//置灰被其他监管行业选择的所属行业
|
|
253
273
|
if((this.source == "1" || this.isEdit) && !this.econSwitch){
|
|
254
|
-
this.axios.post(this.api.safeSpvEcon.getEconSelected,{regionId:this.
|
|
274
|
+
this.axios.post(this.api.safeSpvEcon.getEconSelected,{regionId:this.regionId}).then(otherSelectedRes => {
|
|
255
275
|
if(otherSelectedRes && otherSelectedRes.data){
|
|
256
276
|
this.econSelected = otherSelectedRes.data || [];
|
|
257
277
|
}
|
|
@@ -269,9 +289,9 @@
|
|
|
269
289
|
result = true;
|
|
270
290
|
}
|
|
271
291
|
(this.econDataObj[econId] || []).forEach(econData => {
|
|
272
|
-
if(this.currentNodeOwnEconId.indexOf(econData.id) == -1){
|
|
292
|
+
// if(this.currentNodeOwnEconId.indexOf(econData.id) == -1){
|
|
273
293
|
this.$set(this.checkedEconObj,econData.id,result);
|
|
274
|
-
}
|
|
294
|
+
// }
|
|
275
295
|
});
|
|
276
296
|
},
|
|
277
297
|
|
|
@@ -310,7 +330,7 @@
|
|
|
310
330
|
*/
|
|
311
331
|
openSafeSpvDialog(command){
|
|
312
332
|
this.$set(this.safeSpvForm,"spvOrder",1);
|
|
313
|
-
this.$set(this.safeSpvForm,"regionId",this.
|
|
333
|
+
this.$set(this.safeSpvForm,"regionId",this.safeSpvInfoObj.id || this.regionId);
|
|
314
334
|
if(command == "1"){
|
|
315
335
|
this.$set(this.safeSpvForm,"name","");
|
|
316
336
|
this.$set(this.safeSpvForm,"parentId",this.currentClickSpv.parentId);
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<el-container style="height: 100%">
|
|
3
|
+
<el-header style="height: auto">
|
|
4
|
+
<div class="search-form-parent el-card" style="padding-left:10px;padding-right:10px">
|
|
5
|
+
<el-form size="small" :inline="true"
|
|
6
|
+
@keyup.enter.native="crud.doSearch()" onSubmit="return false;">
|
|
7
|
+
<el-form-item label="上传文件名" label-width="100px">
|
|
8
|
+
<el-input placeholder="请输入" v-model="crud.searchForm.name"></el-input>
|
|
9
|
+
</el-form-item>
|
|
10
|
+
<el-form-item label="生成文件名" label-width="120px">
|
|
11
|
+
<el-input placeholder="请输入" v-model="crud.searchForm.realName" ></el-input>
|
|
12
|
+
</el-form-item>
|
|
13
|
+
<el-form-item label="文件扩展名" label-width="120px">
|
|
14
|
+
<el-input placeholder="请输入" v-model="crud.searchForm.extension" ></el-input>
|
|
15
|
+
</el-form-item>
|
|
16
|
+
<el-button type="primary" icon="el-icon-search" size="small" style="margin-top: 5px" @click="crud.doSearch()">查询</el-button>
|
|
17
|
+
<el-button icon="el-icon-close" size="small" style="margin-top: 5px" @click="crud.resetSearch()">清空</el-button>
|
|
18
|
+
</el-form>
|
|
19
|
+
</div>
|
|
20
|
+
</el-header>
|
|
21
|
+
<el-main id="tableMain" style="height: 100%">
|
|
22
|
+
<el-container style="height:100%" class="table-list-container">
|
|
23
|
+
<el-header style="height: auto;" size="small">
|
|
24
|
+
<el-button type="danger" round size="small" icon="el-icon-delete" @click="remove()">删除</el-button>
|
|
25
|
+
</el-header>
|
|
26
|
+
<el-main style="height:100%">
|
|
27
|
+
<el-table :data="crud.dataStore.records" :ref="crud.tableRef" stripe border height="100%" style="width: 100%;"
|
|
28
|
+
header-row-class-name="list-default-row" :row-style="{'height':'60px'}">
|
|
29
|
+
<el-table-column type="selection" width="40" align="center"></el-table-column>
|
|
30
|
+
<el-table-column type="index" label="序号" align="center" width="60"></el-table-column>
|
|
31
|
+
<el-table-column label="上传文件名" prop="name" min-width="350"></el-table-column>
|
|
32
|
+
<el-table-column label="生成文件名" prop="realName" width="320"></el-table-column>
|
|
33
|
+
<el-table-column label="文件大小" prop="fileSize" width="100"></el-table-column>
|
|
34
|
+
<el-table-column label="文件扩展名" prop="extension" width="100" align="center"></el-table-column>
|
|
35
|
+
<el-table-column label="文件目录" prop="directory" show-overflow-tooltip width="150"></el-table-column>
|
|
36
|
+
<el-table-column label="文件上传时间" prop="createTime" width="180"></el-table-column>
|
|
37
|
+
<!--<el-table-column label="操作" align="center" width="120">
|
|
38
|
+
<template slot-scope="scope">
|
|
39
|
+
<el-button size="small" type="primary" @click="clickQuery(scope.row)">查看</el-button>
|
|
40
|
+
</template>
|
|
41
|
+
</el-table-column>-->
|
|
42
|
+
</el-table>
|
|
43
|
+
</el-main>
|
|
44
|
+
</el-container>
|
|
45
|
+
</el-main>
|
|
46
|
+
<el-footer>
|
|
47
|
+
<el-pagination
|
|
48
|
+
:ref="crud.pageRef"
|
|
49
|
+
:page-sizes="crud.pageSizes"
|
|
50
|
+
:page-size="crud.pageSize"
|
|
51
|
+
:current-page="crud.page"
|
|
52
|
+
:total="crud.dataStore.total"
|
|
53
|
+
@size-change="crud.sizeChange()"
|
|
54
|
+
@current-change="crud.currentPage()"
|
|
55
|
+
layout="total, sizes, prev, pager, next, jumper">
|
|
56
|
+
</el-pagination>
|
|
57
|
+
</el-footer>
|
|
58
|
+
</el-container>
|
|
59
|
+
</template>
|
|
60
|
+
<script>
|
|
61
|
+
export default {
|
|
62
|
+
name:'upload-manage',
|
|
63
|
+
data() {
|
|
64
|
+
return {
|
|
65
|
+
crud: new this.CrudUtil({
|
|
66
|
+
vue: this,
|
|
67
|
+
entityName: "uploadFileInfo",
|
|
68
|
+
url: this.api.upload.url,
|
|
69
|
+
searchForm: {
|
|
70
|
+
order: 'CREATE_TIME DESC',
|
|
71
|
+
},
|
|
72
|
+
noClearSearchColumns: ["order"],
|
|
73
|
+
}),
|
|
74
|
+
extensionArr:["avi","mp4","mp3"],
|
|
75
|
+
initStatus:false,
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
watch :{
|
|
79
|
+
"crud.dataStore.records"(){
|
|
80
|
+
if(this.initStatus){
|
|
81
|
+
let arr=[];
|
|
82
|
+
this.crud.dataStore.records.forEach(val=>{
|
|
83
|
+
arr.push(val.extension);
|
|
84
|
+
});
|
|
85
|
+
this.extensionArr=new Set(arr);
|
|
86
|
+
this.initStatus=false;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
created() {
|
|
91
|
+
this.initStatus=true;
|
|
92
|
+
},
|
|
93
|
+
methods:{
|
|
94
|
+
//删除附件
|
|
95
|
+
remove(){
|
|
96
|
+
let selection = this.$refs[this.crud.setting.tableRef].selection;
|
|
97
|
+
if ((selection || []).length === 0) {
|
|
98
|
+
this.$message({
|
|
99
|
+
duration: 1500,
|
|
100
|
+
type: 'info',
|
|
101
|
+
message: '请至少选择一条需要删除的数据!'
|
|
102
|
+
});
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
// 如果当前删除的数据与dataStore中的数据条目相同,那么将页码置为第一页重新查询
|
|
106
|
+
if (selection.length == (this.crud.dataStore.rows || this.crud.dataStore.records).length) {
|
|
107
|
+
this.crud.searchForm.page = '1';
|
|
108
|
+
this.$refs[this.crud.setting.pageRef]["internalCurrentPage"] = 1;
|
|
109
|
+
}
|
|
110
|
+
this.$confirm('是否确定删除选择的“' + selection.length + '”条数据?', '警告', {
|
|
111
|
+
confirmButtonText: '确定',
|
|
112
|
+
cancelButtonText: '取消',
|
|
113
|
+
}).then(res => {
|
|
114
|
+
let arrIds = [];
|
|
115
|
+
selection.forEach(data => {
|
|
116
|
+
arrIds.push(data.id);
|
|
117
|
+
});
|
|
118
|
+
this.axios.post(this.api.upload.deleteFilesById, {"ids": arrIds.join(",")}).then(res => {
|
|
119
|
+
this.$message({
|
|
120
|
+
type: 'success',
|
|
121
|
+
message: res.data.operateMessage || '删除成功!'
|
|
122
|
+
});
|
|
123
|
+
this.crud.search();
|
|
124
|
+
});
|
|
125
|
+
})
|
|
126
|
+
},
|
|
127
|
+
//查看附件
|
|
128
|
+
clickQuery(row){
|
|
129
|
+
console.log("查看")
|
|
130
|
+
},
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
</script>
|
|
@@ -95,8 +95,12 @@
|
|
|
95
95
|
vm.isLoadTree = true;
|
|
96
96
|
return;
|
|
97
97
|
}
|
|
98
|
-
url = vm.api.menu.findNormalUserByUserId
|
|
99
|
-
|
|
98
|
+
url = vm.api.auth.getOwnMenu;//menu.findNormalUserByUserId
|
|
99
|
+
let userTypeMenu = vm.userType;
|
|
100
|
+
if(!vm.userType){
|
|
101
|
+
userTypeMenu = 'ent';
|
|
102
|
+
}
|
|
103
|
+
dataObj = {userId:vm.userId,userType:userTypeMenu};
|
|
100
104
|
}
|
|
101
105
|
|
|
102
106
|
vm.axios.post(url,dataObj).then(function (res) {
|
|
@@ -828,11 +828,9 @@
|
|
|
828
828
|
let orgId = '';
|
|
829
829
|
let principalUser = {};
|
|
830
830
|
(selection || []).forEach(item =>{
|
|
831
|
-
if(item.principal && item.principal.indexOf("1") > -1){
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
principalUser = item;
|
|
835
|
-
}
|
|
831
|
+
if(item.principal && item.principal.indexOf("1") > -1 && item.orgId){
|
|
832
|
+
orgId = item.orgId;
|
|
833
|
+
principalUser = item;
|
|
836
834
|
}
|
|
837
835
|
});
|
|
838
836
|
if(orgId){
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
</el-tag>
|
|
53
53
|
</template>
|
|
54
54
|
</el-table-column>
|
|
55
|
-
<el-table-column label="操作" align="center" width="
|
|
55
|
+
<el-table-column label="操作" align="center" width="460">
|
|
56
56
|
<template slot-scope="scope">
|
|
57
57
|
<!--v-if="queryUserType != 'ent' && (scope.row.created == loginUser.id || mayOperate)"-->
|
|
58
58
|
<el-button size="small" icon="el-icon-edit" type="primary"
|
|
@@ -67,6 +67,10 @@
|
|
|
67
67
|
@click="resetPwd(scope.row)">
|
|
68
68
|
重置密码
|
|
69
69
|
</el-button>
|
|
70
|
+
<el-button size="small" icon="el-icon-s-custom" type="success"
|
|
71
|
+
@click="viewRoles(scope.row)">
|
|
72
|
+
查看角色
|
|
73
|
+
</el-button>
|
|
70
74
|
<el-button size="small" icon="el-icon-zoom-in" type="warning"
|
|
71
75
|
v-if="queryUserType != 'dev'"
|
|
72
76
|
@click="viewMenu(scope.row)">
|
|
@@ -174,6 +178,30 @@
|
|
|
174
178
|
</el-button>
|
|
175
179
|
</div>
|
|
176
180
|
</el-dialog>
|
|
181
|
+
|
|
182
|
+
<el-dialog :close-on-click-modal=false :title="roleUserName+' 的角色'" top="10vh" width="700px"
|
|
183
|
+
:visible.sync="viewRolesDialog" class="userViewRolesClass">
|
|
184
|
+
<div v-loading="viewRolesLoading" style="min-height: 120px;">
|
|
185
|
+
<div class="role-summary">
|
|
186
|
+
共 <b>{{roleList.length}}</b> 个角色
|
|
187
|
+
</div>
|
|
188
|
+
<div v-if="roleList.length === 0 && !viewRolesLoading" class="role-empty">
|
|
189
|
+
该用户当前没有角色
|
|
190
|
+
</div>
|
|
191
|
+
<div v-else class="role-tags">
|
|
192
|
+
<el-tag v-for="item in roleList" :key="item.id"
|
|
193
|
+
:type="item.locked ? 'info' : ''"
|
|
194
|
+
:effect="item.locked ? 'plain' : 'light'"
|
|
195
|
+
class="role-tag">
|
|
196
|
+
{{item.roleName}}<span v-if="item.locked" class="role-locked">(已锁定)</span>
|
|
197
|
+
</el-tag>
|
|
198
|
+
</div>
|
|
199
|
+
</div>
|
|
200
|
+
<div slot="footer" class="dialog-footer">
|
|
201
|
+
<el-button type="primary" @click="viewRolesDialog = false" size="small" icon="el-icon-error">关闭
|
|
202
|
+
</el-button>
|
|
203
|
+
</div>
|
|
204
|
+
</el-dialog>
|
|
177
205
|
</el-container>
|
|
178
206
|
</template>
|
|
179
207
|
|
|
@@ -209,8 +237,9 @@
|
|
|
209
237
|
entityName: "sysUser",
|
|
210
238
|
url:this.api.sysUser.url,
|
|
211
239
|
searchUrl: this.api.sysUser.findPageParam,
|
|
212
|
-
searchForm: {"orderSql": "TB.CREATE_TIME DESC,TB.USER_STATUS DESC", "getOrgName": "true","parentOrg": "true"}, // 加上排序
|
|
213
|
-
|
|
240
|
+
// searchForm: {"orderSql": "TB.CREATE_TIME DESC,TB.USER_STATUS DESC", "getOrgName": "true","parentOrg": "true"}, // 加上排序
|
|
241
|
+
searchForm: {"orderSql": "max(TB.CREATE_TIME) DESC,max(TB.USER_STATUS) DESC", "getOrgName": "true","parentOrg": "true"}, // 加上排序(达梦)
|
|
242
|
+
noClearSearchColumns: ["userType", "unsup", "ids", "orderSql", "sort", "showCreated", "getOrgName","parentOrg","empowerUser","empowerOrgId"],
|
|
214
243
|
addDefaultData: {"userStatus": "10"},
|
|
215
244
|
initNoSearch: true,
|
|
216
245
|
uploadArr:['zd1']
|
|
@@ -228,6 +257,10 @@
|
|
|
228
257
|
menuUserId: '', // 查看菜单时的userId
|
|
229
258
|
menuUserName: '', // 查看菜单时的用户名
|
|
230
259
|
viewMenuDialog: false, // 查看菜单的对话框
|
|
260
|
+
viewRolesDialog: false, // 查看角色的对话框
|
|
261
|
+
viewRolesLoading: false, // 查看角色的加载中
|
|
262
|
+
roleUserName: '', // 查看角色时的用户名
|
|
263
|
+
roleList: [], // 查看角色时的角色列表
|
|
231
264
|
formDataDialog: false, // 用户信息对话框
|
|
232
265
|
loading: true, // 加载条
|
|
233
266
|
formData: {
|
|
@@ -469,6 +502,34 @@
|
|
|
469
502
|
vm.menuUserName = row.userName;
|
|
470
503
|
vm.viewMenuDialog = true;
|
|
471
504
|
},
|
|
505
|
+
|
|
506
|
+
viewRoles(row) { // 查看用户拥有的角色(含直接授权与部门/岗位授权)
|
|
507
|
+
let vm = this;
|
|
508
|
+
if (!row.id) { // 行数据id不存在
|
|
509
|
+
vm.$message("数据异常,请重新加载页面!");
|
|
510
|
+
return;
|
|
511
|
+
}
|
|
512
|
+
vm.roleUserName = row.userName;
|
|
513
|
+
vm.roleList = [];
|
|
514
|
+
vm.viewRolesDialog = true;
|
|
515
|
+
vm.viewRolesLoading = true;
|
|
516
|
+
vm.axios.post(vm.api.auth.getUserRoles, {userId: row.id}).then(res => {
|
|
517
|
+
// 接口返回 OperateInfo:operateObj = roleId 串,operateMap = {roleId: roleObj}
|
|
518
|
+
let roleMap = (res.data && res.data.operateMap) || {};
|
|
519
|
+
vm.roleList = Object.keys(roleMap).map(roleId => {
|
|
520
|
+
let r = roleMap[roleId] || {};
|
|
521
|
+
return {
|
|
522
|
+
id: roleId,
|
|
523
|
+
roleName: r.roleName || '(角色名缺失)',
|
|
524
|
+
locked: r.roleStatus == '20'
|
|
525
|
+
};
|
|
526
|
+
});
|
|
527
|
+
}).catch(() => {
|
|
528
|
+
vm.$message.error("获取角色失败,请稍后重试!");
|
|
529
|
+
}).finally(() => {
|
|
530
|
+
vm.viewRolesLoading = false;
|
|
531
|
+
});
|
|
532
|
+
},
|
|
472
533
|
updateData(row) { // 修改用户的基本信息(新增系统参数,是否允许修改用户详情)
|
|
473
534
|
let vm = this;
|
|
474
535
|
if (!row.id) {
|
|
@@ -734,4 +795,39 @@
|
|
|
734
795
|
.viewMenuDialog /deep/ .el-dialog__body {
|
|
735
796
|
height: calc(100% - 60px);
|
|
736
797
|
}
|
|
798
|
+
|
|
799
|
+
.role-summary {
|
|
800
|
+
font-size: 13px;
|
|
801
|
+
color: #5a6b85;
|
|
802
|
+
margin-bottom: 12px;
|
|
803
|
+
}
|
|
804
|
+
|
|
805
|
+
.role-summary b {
|
|
806
|
+
color: #409eff;
|
|
807
|
+
font-size: 15px;
|
|
808
|
+
padding: 0 2px;
|
|
809
|
+
}
|
|
810
|
+
|
|
811
|
+
.role-tags {
|
|
812
|
+
max-height: 46vh;
|
|
813
|
+
overflow-y: auto;
|
|
814
|
+
line-height: 1.2;
|
|
815
|
+
}
|
|
816
|
+
|
|
817
|
+
.role-tag {
|
|
818
|
+
margin: 0 8px 8px 0;
|
|
819
|
+
max-width: 100%;
|
|
820
|
+
}
|
|
821
|
+
|
|
822
|
+
.role-locked {
|
|
823
|
+
color: #909399;
|
|
824
|
+
font-size: 12px;
|
|
825
|
+
}
|
|
826
|
+
|
|
827
|
+
.role-empty {
|
|
828
|
+
font-size: 13px;
|
|
829
|
+
color: #909399;
|
|
830
|
+
text-align: center;
|
|
831
|
+
padding: 30px 0;
|
|
832
|
+
}
|
|
737
833
|
</style>
|
|
@@ -883,11 +883,9 @@
|
|
|
883
883
|
operateArr.push(data);
|
|
884
884
|
}
|
|
885
885
|
}else{
|
|
886
|
-
if(vm.openLowLevelCheckbox){
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
vm.dChange(data,false);
|
|
890
|
-
}
|
|
886
|
+
if(vm.openLowLevelCheckbox&&!vm.stopChange){
|
|
887
|
+
vm.isChecked[data.id] = false;
|
|
888
|
+
vm.dChange(data,false);
|
|
891
889
|
}
|
|
892
890
|
vm[tempObj[data["nodeType"]]] = operateArr.filter(item => {
|
|
893
891
|
return item["id"] != data["id"];
|
|
@@ -911,7 +909,7 @@
|
|
|
911
909
|
saveSetting(){
|
|
912
910
|
let vm = this;
|
|
913
911
|
let checkedNodes = vm.$refs.orgTreeRef.getTreeCheckedNodes();
|
|
914
|
-
let checkedSet =
|
|
912
|
+
let checkedSet = []; // 已选择组织
|
|
915
913
|
checkedNodes.forEach(function (data) {
|
|
916
914
|
checkedSet.push(data.id);
|
|
917
915
|
/*if(data.menuPath){
|