sasp-admin 0.2.63 → 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.
Files changed (63) hide show
  1. package/index.js +38 -31
  2. package/package.json +1 -1
  3. package/router.js +5 -1
  4. package/src/assets/font/iconfont.css +1902 -1846
  5. package/src/assets/font/iconfont.eot +0 -0
  6. package/src/assets/font/iconfont.js +1 -1
  7. package/src/assets/font/iconfont.svg +959 -825
  8. package/src/assets/font/iconfont.ttf +0 -0
  9. package/src/assets/font/iconfont.woff +0 -0
  10. package/src/assets/js/api/apiAdmin.js +10 -0
  11. package/src/assets/js/global/dataGlobal.js +7 -3
  12. package/src/assets/js/global/userGlobal.js +9 -3
  13. package/src/components/complexViewRendering.vue +214 -198
  14. package/src/components/ifmLink.vue +20 -3
  15. package/src/components/public/data/plDataSelect.vue +8 -6
  16. package/src/components/public/org/sysOrgPosUserSelect.vue +56 -17
  17. package/src/components/public/upload/images/ofd.png +0 -0
  18. package/src/components/public/upload/plImage.vue +3 -1
  19. package/src/components/public/upload/plUpload.vue +167 -40
  20. package/src/components/public/upload/preview/OfdPreview.vue +223 -0
  21. package/src/components/public/upload/preview/officeViewer.vue +116 -0
  22. package/src/components/public/upload/preview/pdfPreview.vue +91 -0
  23. package/src/{views → components/public/upload}/preview/pdfViewer.vue +1 -1
  24. package/src/views/VueMenuView.vue +11 -13
  25. package/src/views/data/dataManage.vue +51 -5
  26. package/src/views/event/eventManager/vueEventDiy.vue +4 -6
  27. package/src/views/log/loginlog/logManageDevOrSup.vue +8 -5
  28. package/src/views/log/loginlog/logManageEnt.vue +96 -55
  29. package/src/views/log/loginlog/logManageGov.vue +8 -5
  30. package/src/views/menu/component/menuManageComponent.vue +3 -5
  31. package/src/views/menuRouter/menuView.vue +226 -117
  32. package/src/views/menuRouter/urlMenuRouter.vue +13 -16
  33. package/src/views/org/entOrgTree.vue +1 -3
  34. package/src/views/org/js/sysOrgUserDetailMixins.js +646 -0
  35. package/src/views/org/sysEntOrgUserDetail.vue +10 -632
  36. package/src/views/org/sysOrgDimension.vue +4 -8
  37. package/src/views/org/sysOrgPosUserDetail.vue +4 -619
  38. package/src/views/org/sysOrgTree.vue +2 -4
  39. package/src/views/param/sysParam.vue +2 -0
  40. package/src/views/resources/resRouter/resView.vue +9 -11
  41. package/src/views/resources/tabs/comp/pageResRegister.vue +3 -5
  42. package/src/views/resources/tabs/dataResources.vue +3 -1
  43. package/src/views/resources/tabs/pageResources.vue +3 -1
  44. package/src/views/role/authRole/component/allocateSetting.vue +2 -589
  45. package/src/views/role/authRole/component/authSetting.vue +2 -597
  46. package/src/views/role/authRole/component/js/authMixins.js +622 -0
  47. package/src/views/role/commonRole/commonRole.vue +122 -3
  48. package/src/views/role/commonRole/compoment/commonSetting.vue +4 -6
  49. package/src/views/role/commonRole/compoment/commonSettingAdjust.vue +2 -89
  50. package/src/views/role/commonRole/compoment/commonSettingNew.vue +13 -97
  51. package/src/views/role/commonRole/compoment/js/commonSettingMixins.js +90 -0
  52. package/src/views/role/commonRole/compoment/roleMenuPower.vue +17 -2
  53. package/src/views/role/commonRole/compoment/roleMenuSetting.vue +12 -5
  54. package/src/views/sms/sendSms.vue +1 -1
  55. package/src/views/threeinone/init/safeInitRegion.vue +2 -4
  56. package/src/views/threeinone/safeManager.vue +1 -0
  57. package/src/views/threeinone/safeOrgSpv.vue +360 -337
  58. package/src/views/threeinone/safeSpvEconView.vue +37 -17
  59. package/src/views/uploadManage/uploadManage.vue +133 -0
  60. package/src/views/user/empowerUser/empowerUserListViewMenuTree.vue +6 -2
  61. package/src/views/user/stationUserManage.vue +3 -5
  62. package/src/views/user/userManage.vue +99 -3
  63. package/src/views/user/userMangement.vue +4 -6
@@ -69,7 +69,7 @@
69
69
  </template>
70
70
  </el-table-column>
71
71
 
72
- <el-table-column label="操作" align="center" width="200">
72
+ <el-table-column label="操作" align="center" width="250">
73
73
  <template slot-scope="scope">
74
74
  <el-tooltip class="item" effect="dark" content="修改" placement="top-end">
75
75
  <el-button type="primary" @click="update(scope.row)" size="small"><i class="el-icon-edit"></i></el-button>
@@ -77,6 +77,9 @@
77
77
  <el-tooltip class="item" effect="dark" content="关联权限设置" placement="top-end">
78
78
  <el-button type="primary" @click="roleSetting(scope.row)" size="small"><i class="saspiconfont pl-icon-quanxianshezhi"></i></el-button>
79
79
  </el-tooltip>
80
+ <el-tooltip class="item" effect="dark" content="复制角色" placement="top-end">
81
+ <el-button type="primary" @click="openCopy(scope.row)" size="small"><i class="el-icon-copy-document"></i></el-button>
82
+ </el-tooltip>
80
83
  <el-tooltip class="item" effect="dark" content="查看已有菜单" placement="top-end">
81
84
  <el-button type="primary" @click="viewRemark(scope.row)" size="small" icon="el-icon-zoom-in"></el-button>
82
85
  </el-tooltip>
@@ -150,6 +153,30 @@
150
153
  </div>
151
154
  </el-dialog>
152
155
 
156
+ <!--复制角色-->
157
+ <el-dialog :close-on-click-modal=false title="复制角色" width="40%" top="20vh" :visible.sync="copyDialogVisible">
158
+ <el-form :model="copyForm" :ref="copyFormRef">
159
+ <el-form-item label="源角色" label-width="120px">
160
+ <span>{{ copyForm.sourceRoleName }}</span>
161
+ </el-form-item>
162
+ <el-form-item label="角色编号" label-width="120px" prop="roleNumber" :rules="plValidate('number','required')">
163
+ <el-input v-model="copyForm.roleNumber"></el-input>
164
+ </el-form-item>
165
+ <el-form-item label="角色名" label-width="120px" prop="roleName" :rules="copyRules.roleName">
166
+ <el-input v-model="copyForm.roleName"></el-input>
167
+ </el-form-item>
168
+ <el-form-item label-width="120px">
169
+ <span style="color:#909399;line-height:20px;display:inline-block">
170
+ 将复制该角色的全部关联菜单权限(含操作权限、数据权限)与关联人员(用户、组织、岗位)。
171
+ </span>
172
+ </el-form-item>
173
+ </el-form>
174
+ <div slot="footer" class="dialog-footer">
175
+ <el-button type="primary" @click="copySubmit()" :disabled="copyBtnDisabled" size="small" icon="el-icon-success">确 定</el-button>
176
+ <el-button @click="copyDialogVisible = false" size="small" icon="el-icon-error">取 消</el-button>
177
+ </div>
178
+ </el-dialog>
179
+
153
180
 
154
181
 
155
182
 
@@ -213,6 +240,19 @@
213
240
  }
214
241
  });
215
242
  };
243
+ //复制角色名称唯一性验证
244
+ let copyRoleNameValidate =(rule,value,callback) => {
245
+ if(!value){
246
+ callback();
247
+ }
248
+ this.axios.post(this.api.role.find,{noEqRoleType:'empower',roleNameEq:value,created:this.loginUser.id}).then(res =>{
249
+ if((res.data ||[]).length == 0){
250
+ callback();
251
+ }else{
252
+ return callback(new Error('该角色名称已经存在!'));
253
+ }
254
+ });
255
+ };
216
256
  return{
217
257
  crud:new this.CrudUtil({
218
258
  vue: this,
@@ -267,6 +307,21 @@
267
307
  {validator:roleNameValidate,trigger:'blur'}
268
308
  ],
269
309
  },
310
+ copyDialogVisible:false, // 复制角色对话框
311
+ copyFormRef:"copyFormRef",
312
+ copyBtnDisabled:false, // 复制按钮禁用
313
+ copyForm:{
314
+ id:"",
315
+ sourceRoleName:"",
316
+ roleName:"",
317
+ roleNumber:""
318
+ },
319
+ copyRules:{
320
+ roleName:[
321
+ {required: true, message: '该输入项为必输项'},
322
+ {validator:copyRoleNameValidate,trigger:'blur'}
323
+ ],
324
+ },
270
325
  operate:'add', //操作
271
326
  oldRoleName:'',
272
327
  }
@@ -371,6 +426,68 @@
371
426
  this.viewMenuDialog = true;
372
427
  },
373
428
 
429
+ //打开复制角色对话框
430
+ openCopy(row){
431
+ let vm = this;
432
+ if(row.roleStatus == "20"){
433
+ vm.$message({
434
+ duration:1200,
435
+ message:"该角色已被锁定,请解除锁定后继续操作!"
436
+ });
437
+ return;
438
+ }
439
+ //角色编号默认取源编号+1(编号为数字时),角色名默认追加“-副本”
440
+ let roleNumber = "";
441
+ if(row.roleNumber !== null && row.roleNumber !== undefined && row.roleNumber !== "" && !isNaN(Number(row.roleNumber))){
442
+ roleNumber = String(Number(row.roleNumber) + 1);
443
+ }
444
+ vm.copyForm = {
445
+ id:row.id,
446
+ sourceRoleName:row.roleName,
447
+ roleName:row.roleName + "-副本",
448
+ roleNumber:roleNumber
449
+ };
450
+ vm.copyBtnDisabled = false;
451
+ vm.copyDialogVisible = true;
452
+ vm.$nextTick(function () {
453
+ if(vm.$refs[vm.copyFormRef]){
454
+ vm.$refs[vm.copyFormRef].clearValidate();
455
+ }
456
+ });
457
+ },
458
+ //提交复制
459
+ copySubmit(){
460
+ let vm = this;
461
+ vm.$refs[vm.copyFormRef].validate(valid => {
462
+ if(!valid){
463
+ return;
464
+ }
465
+ vm.copyBtnDisabled = true;
466
+ vm.axios.post(vm.api.role.copyRole,vm.copyForm).then(res => {
467
+ let data = res.data || {};
468
+ if(data.operateSuccess){
469
+ vm.$message({
470
+ type: 'success',
471
+ duration:1500,
472
+ message: '复制成功!'
473
+ });
474
+ vm.copyDialogVisible = false;
475
+ vm.copyBtnDisabled = false;
476
+ vm.crud.search();
477
+ }else{
478
+ vm.copyBtnDisabled = false;
479
+ vm.$message({
480
+ type: 'error',
481
+ duration:2000,
482
+ message: data.operateMessage || "复制失败!"
483
+ });
484
+ }
485
+ }).catch(function () {
486
+ vm.copyBtnDisabled = false;
487
+ });
488
+ });
489
+ },
490
+
374
491
  //当关闭权限配置弹窗时重新触发查询方法
375
492
  closeSettingDialog(){
376
493
  this.saveBtnDisabled = false;
@@ -381,8 +498,10 @@
381
498
  saveSetting(){
382
499
  this.saveBtnDisabled = true;
383
500
  this.$refs.commonsettingRef.saveData();
384
- this.roleSettingDialog = false;
385
- this.saveBtnDisabled = false;
501
+ setTimeout(() => {
502
+ this.roleSettingDialog = false;
503
+ this.saveBtnDisabled = false;
504
+ }, 1000);
386
505
  },
387
506
 
388
507
 
@@ -1086,12 +1086,10 @@
1086
1086
  let keysArr = []; // 选中的所有menuIds
1087
1087
  let menuMap = {};
1088
1088
  vm.initCheck["initCheck"].forEach(menuId => {
1089
- if(vm.loginUser.userType == 'dev' || vm.loginUser.userType == 'sup' || allowMenu.indexOf(menuId) > -1) {
1090
- if (vm.menuAllBaseInfo[menuId]) {
1091
- menuArr.push(vm.menuAllBaseInfo[menuId]);
1092
- menuMap[menuId] = vm.menuAllBaseInfo[menuId];
1093
- keysArr.push(menuId);
1094
- }
1089
+ if((vm.loginUser.userType == 'dev' || vm.loginUser.userType == 'sup' || allowMenu.indexOf(menuId) > -1)&&(vm.menuAllBaseInfo[menuId])) {
1090
+ menuArr.push(vm.menuAllBaseInfo[menuId]);
1091
+ menuMap[menuId] = vm.menuAllBaseInfo[menuId];
1092
+ keysArr.push(menuId);
1095
1093
  }
1096
1094
  });
1097
1095
 
@@ -98,8 +98,10 @@
98
98
  import RoleSourceSetting from "./roleSourceSetting";
99
99
  import sysOrgPosUserSelectNew from "../../../../components/public/org/sysOrgPosUserSelectNew";
100
100
  import AllocateRoleMenuSetting from "./allocateRoleMenuSetting";
101
+ import commonSettingMixins from "./js/commonSettingMixins";
101
102
  export default {
102
103
  name: "common-setting-adjust",
104
+ mixins:[commonSettingMixins],
103
105
  components: {
104
106
  AllocateRoleMenuSetting,
105
107
  sysOrgPosUserSelectNew, RoleSourceSetting, RoleMenuPowerSetting, RoleMenuSetting},
@@ -110,55 +112,6 @@
110
112
  tenantCreated:{type:String,default:""},//租户创建者id
111
113
  isAdminRole:{type:Boolean,default:false},//是否是管理员角色
112
114
  },
113
- data(){
114
- return {
115
- activeName:"1",
116
- menuLoading:false, //加载条
117
- sourceLoading:false,//资源加载条
118
- menuOptPower:[],//菜单操作权限(最底层数据)
119
- menuDataPower:[],//菜单数据权限(最底层数据)
120
- menuOptPowerTree:[],//菜单操作权限(树数据)
121
- menuDataPowerTree:[],//菜单数据权限(树数据)
122
- sourceOptPower:[],//资源操作权限
123
- sourceDataPower:[],//资源数据权限
124
- sourceOptPowerTree:[],//资源操作权限(树数据)
125
- sourceDataPowerTree:[],//资源数据权限(树数据)
126
- checkMenuOptPower:{},//勾选的菜单操作权限
127
- checkMenuDataPower:{},//勾选的菜单数据权限
128
- checkSourceOptPower:{},//勾选的资源操作权限
129
- checkSourceDataPower:{},//勾选的资源数据权限
130
- refreshMenuPower:true,
131
- refreshSourcePower:true,
132
- currentClickMenuNode:{},//当前点击的菜单节点
133
- currentClickSourceNode:{},//当前点击的资源节点
134
-
135
- loginUser:{},
136
- orgTreeIds:"",//组织树id
137
- showPosUser:false,
138
- orgDims:"",
139
-
140
- userMap:{}, // 已选择人员信息的集合
141
- userDataMap:{}, //
142
- caseDataParentData:{},
143
- caseDataMap:{},//保存原开启下级部门权限的所有子数据
144
- }
145
- },
146
- watch:{
147
- roleId(){
148
- this.initRoleUserData();
149
- this.refreshMenuPower = false;
150
- this.refreshSourcePower = false;
151
- this.showPosUser = false;
152
- this.$nextTick(() => {
153
- this.refreshMenuPower = true;
154
- this.refreshSourcePower = true;
155
- this.showPosUser = true;
156
- });
157
- }
158
- },
159
- created(){
160
- this.initRoleUserData();
161
- },
162
115
  methods:{
163
116
  initRoleUserData(){
164
117
  //获取当前登录用户信息
@@ -226,46 +179,6 @@
226
179
  })
227
180
  }
228
181
  },
229
-
230
-
231
- setMenuPower(optPower,dataPower,optPowerTree,dataPowerTree){
232
- this.refreshMenuPower = false;
233
- this.menuOptPower = optPower || [];
234
- this.menuDataPower = dataPower || [];
235
- this.menuOptPowerTree = optPowerTree || [];
236
- this.menuDataPowerTree = dataPowerTree || [];
237
- this.$nextTick(() => {
238
- this.refreshMenuPower = true;
239
- });
240
- },
241
-
242
- setSourcePower(optPower,dataPower,optPowerTree,dataPowerTree){
243
- this.refreshSourcePower = false;
244
- this.sourceOptPower = optPower || [];
245
- this.sourceDataPower = dataPower || [];
246
- this.sourceOptPowerTree = optPowerTree || [];
247
- this.sourceDataPowerTree = dataPowerTree || [];
248
- this.$nextTick(() => {
249
- this.refreshSourcePower = true;
250
- });
251
- },
252
-
253
- setMenuLoading(loading){
254
- this.menuLoading = loading;
255
- },
256
-
257
- setSourceLoading(loading){
258
- this.sourceLoading = loading;
259
- },
260
-
261
- setCurrentMenuNode(node){
262
- this.currentClickMenuNode = node;
263
- },
264
-
265
- setCurrentSourceNode(node){
266
- this.currentClickSourceNode = node;
267
- },
268
-
269
182
  async saveData(){
270
183
  let updateMenu = [];//修改
271
184
  let addMenu = [];//新增
@@ -93,8 +93,10 @@
93
93
  import RoleMenuPowerSetting from "./roleMenuPowerSetting";
94
94
  import RoleSourceSetting from "./roleSourceSetting";
95
95
  import SysOrgPosUserSelect from "../../../../components/public/org/sysOrgPosUserSelect";
96
+ import commonSettingMixins from "./js/commonSettingMixins";
96
97
  export default {
97
98
  name: "common-setting-new",
99
+ mixins:[commonSettingMixins],
98
100
  components: {SysOrgPosUserSelect, RoleSourceSetting, RoleMenuPowerSetting, RoleMenuSetting},
99
101
  props:{
100
102
  roleId:{type:String,default:""},//角色权限id
@@ -102,55 +104,6 @@
102
104
  tenantId:{type:String,default:""}, //租户管理员id
103
105
  tenantCreated:{type:String,default:""},//租户创建者id
104
106
  },
105
- data(){
106
- return {
107
- activeName:"1",
108
- menuLoading:false, //加载条
109
- sourceLoading:false,//资源加载条
110
- menuOptPower:[],//菜单操作权限(最底层数据)
111
- menuDataPower:[],//菜单数据权限(最底层数据)
112
- menuOptPowerTree:[],//菜单操作权限(树数据)
113
- menuDataPowerTree:[],//菜单数据权限(树数据)
114
- sourceOptPower:[],//资源操作权限
115
- sourceDataPower:[],//资源数据权限
116
- sourceOptPowerTree:[],//资源操作权限(树数据)
117
- sourceDataPowerTree:[],//资源数据权限(树数据)
118
- checkMenuOptPower:{},//勾选的菜单操作权限
119
- checkMenuDataPower:{},//勾选的菜单数据权限
120
- checkSourceOptPower:{},//勾选的资源操作权限
121
- checkSourceDataPower:{},//勾选的资源数据权限
122
- refreshMenuPower:true,
123
- refreshSourcePower:true,
124
- currentClickMenuNode:{},//当前点击的菜单节点
125
- currentClickSourceNode:{},//当前点击的资源节点
126
-
127
- loginUser:{},
128
- orgTreeIds:"",//组织树id
129
- showPosUser:false,
130
- orgDims:"",
131
-
132
- userMap:{}, // 已选择人员信息的集合
133
- userDataMap:{}, //
134
- caseDataParentData:{},
135
- caseDataMap:{},//保存原开启下级部门权限的所有子数据
136
- }
137
- },
138
- watch:{
139
- roleId(){
140
- this.initRoleUserData();
141
- this.refreshMenuPower = false;
142
- this.refreshSourcePower = false;
143
- this.showPosUser = false;
144
- this.$nextTick(() => {
145
- this.refreshMenuPower = true;
146
- this.refreshSourcePower = true;
147
- this.showPosUser = true;
148
- });
149
- }
150
- },
151
- created(){
152
- this.initRoleUserData();
153
- },
154
107
  methods:{
155
108
  initRoleUserData(){
156
109
  //初始化已选中的 人员、部门、岗位
@@ -215,45 +168,6 @@
215
168
  }
216
169
  },
217
170
 
218
-
219
- setMenuPower(optPower,dataPower,optPowerTree,dataPowerTree){
220
- this.refreshMenuPower = false;
221
- this.menuOptPower = optPower || [];
222
- this.menuDataPower = dataPower || [];
223
- this.menuOptPowerTree = optPowerTree || [];
224
- this.menuDataPowerTree = dataPowerTree || [];
225
- this.$nextTick(() => {
226
- this.refreshMenuPower = true;
227
- });
228
- },
229
-
230
- setSourcePower(optPower,dataPower,optPowerTree,dataPowerTree){
231
- this.refreshSourcePower = false;
232
- this.sourceOptPower = optPower || [];
233
- this.sourceDataPower = dataPower || [];
234
- this.sourceOptPowerTree = optPowerTree || [];
235
- this.sourceDataPowerTree = dataPowerTree || [];
236
- this.$nextTick(() => {
237
- this.refreshSourcePower = true;
238
- });
239
- },
240
-
241
- setMenuLoading(loading){
242
- this.menuLoading = loading;
243
- },
244
-
245
- setSourceLoading(loading){
246
- this.sourceLoading = loading;
247
- },
248
-
249
- setCurrentMenuNode(node){
250
- this.currentClickMenuNode = node;
251
- },
252
-
253
- setCurrentSourceNode(node){
254
- this.currentClickSourceNode = node;
255
- },
256
-
257
171
  async saveData(){
258
172
  let updateMenu = [];//修改
259
173
  let addMenu = [];//新增
@@ -262,15 +176,17 @@
262
176
  let oldCheckMenu = this.$refs.menuRef.oldChecked || [];
263
177
  let oldCheckMenuObj = this.$refs.menuRef.oldData || {};
264
178
  let checkMenuData = this.$refs.menuRef.getCheckData() || [];
265
- if(!this.$refs.menuRef.isChange){//判断有没有切换过页面,没有则重新赋值未加载的页面数据
266
- let oldDataArray=this.$refs.menuRef.oldDataArray;
267
- let cdss=this.$refs.menuRef.cdss;
268
- oldDataArray.forEach(item=>{
269
- if(item.cdss != cdss){
270
- checkMenuData.push(item);
271
- }
272
- })
273
- }
179
+ let oldDataArray=this.$refs.menuRef.oldDataArray;
180
+ // let cdss=this.$refs.menuRef.cdss;
181
+ // 如果现在有三个维度,需要判断是否所有维度都切换过了,没切换过的那部分的选中项直接将旧数据置入即可
182
+ let loadCdssObj = this.$refs.menuRef.loadCdssObj || {};
183
+ let loadCdssArr = Object.keys(loadCdssObj);
184
+ oldDataArray.forEach(item=>{
185
+ if(loadCdssArr.indexOf(item.cdss) === -1){
186
+ checkMenuData.push(item);
187
+ }
188
+ })
189
+
274
190
  checkMenuData.forEach(item => {
275
191
  //数据
276
192
  let optPower = "";
@@ -0,0 +1,90 @@
1
+ const commonSettingMixins = {
2
+ data() {
3
+ return {
4
+ activeName: "1",
5
+ menuLoading: false, //加载条
6
+ sourceLoading: false,//资源加载条
7
+ menuOptPower: [],//菜单操作权限(最底层数据)
8
+ menuDataPower: [],//菜单数据权限(最底层数据)
9
+ menuOptPowerTree: [],//菜单操作权限(树数据)
10
+ menuDataPowerTree: [],//菜单数据权限(树数据)
11
+ sourceOptPower: [],//资源操作权限
12
+ sourceDataPower: [],//资源数据权限
13
+ sourceOptPowerTree: [],//资源操作权限(树数据)
14
+ sourceDataPowerTree: [],//资源数据权限(树数据)
15
+ checkMenuOptPower: {},//勾选的菜单操作权限
16
+ checkMenuDataPower: {},//勾选的菜单数据权限
17
+ checkSourceOptPower: {},//勾选的资源操作权限
18
+ checkSourceDataPower: {},//勾选的资源数据权限
19
+ refreshMenuPower: true,
20
+ refreshSourcePower: true,
21
+ currentClickMenuNode: {},//当前点击的菜单节点
22
+ currentClickSourceNode: {},//当前点击的资源节点
23
+
24
+ loginUser: {},
25
+ orgTreeIds: "",//组织树id
26
+ showPosUser: false,
27
+ orgDims: "",
28
+
29
+ userMap: {}, // 已选择人员信息的集合
30
+ userDataMap: {}, //
31
+ caseDataParentData: {},
32
+ caseDataMap: {},//保存原开启下级部门权限的所有子数据
33
+ }
34
+ },
35
+ watch: {
36
+ roleId() {
37
+ this.initRoleUserData();
38
+ this.refreshMenuPower = false;
39
+ this.refreshSourcePower = false;
40
+ this.showPosUser = false;
41
+ this.$nextTick(() => {
42
+ this.refreshMenuPower = true;
43
+ this.refreshSourcePower = true;
44
+ this.showPosUser = true;
45
+ });
46
+ }
47
+ },
48
+ created() {
49
+ this.initRoleUserData();
50
+ },
51
+ methods: {
52
+ setMenuPower(optPower, dataPower, optPowerTree, dataPowerTree) {
53
+ this.refreshMenuPower = false;
54
+ this.menuOptPower = optPower || [];
55
+ this.menuDataPower = dataPower || [];
56
+ this.menuOptPowerTree = optPowerTree || [];
57
+ this.menuDataPowerTree = dataPowerTree || [];
58
+ this.$nextTick(() => {
59
+ this.refreshMenuPower = true;
60
+ });
61
+ },
62
+
63
+ setSourcePower(optPower, dataPower, optPowerTree, dataPowerTree) {
64
+ this.refreshSourcePower = false;
65
+ this.sourceOptPower = optPower || [];
66
+ this.sourceDataPower = dataPower || [];
67
+ this.sourceOptPowerTree = optPowerTree || [];
68
+ this.sourceDataPowerTree = dataPowerTree || [];
69
+ this.$nextTick(() => {
70
+ this.refreshSourcePower = true;
71
+ });
72
+ },
73
+ setMenuLoading(loading) {
74
+ this.menuLoading = loading;
75
+ },
76
+
77
+ setSourceLoading(loading) {
78
+ this.sourceLoading = loading;
79
+ },
80
+
81
+ setCurrentMenuNode(node) {
82
+ this.currentClickMenuNode = node;
83
+ },
84
+
85
+ setCurrentSourceNode(node) {
86
+ this.currentClickSourceNode = node;
87
+ },
88
+ }
89
+ }
90
+ export default commonSettingMixins;
@@ -49,8 +49,15 @@
49
49
  mounted(){
50
50
  let id = this.currentClickNode.id || this.currentClickNode.key;
51
51
  let checkData = [];
52
+ let checkOptArr = this.checkOptPower[id];
53
+ let powerDataArr = [];
54
+ (this.powerDataTree || []).forEach(data => {
55
+ if(data.children.length > 0) {
56
+ powerDataArr.push(data.id);
57
+ }
58
+ })
52
59
  if(this.type == "opt"){
53
- checkData = this.checkOptPower[id];
60
+ checkData = (checkOptArr || []).filter(opt => !powerDataArr.includes(opt));
54
61
  }else{
55
62
  checkData = this.checkDataPower[id];
56
63
  }
@@ -63,7 +70,15 @@
63
70
  let halfKey = this.$refs.elTree.getHalfCheckedKeys();
64
71
  this.isCheckAll(halfKey,checkData);
65
72
 
66
- if(this.powerDataTree.length!=0 && this.powerDataTree.length==this.$refs.elTree.getCheckedKeys().length){
73
+ let dataLength = this.powerDataTree.length;
74
+ if(this.powerDataTree.length > 0) {
75
+ this.powerDataTree.forEach(item => {
76
+ if(item.children.length > 0) {
77
+ dataLength += item.children.length;
78
+ }
79
+ })
80
+ }
81
+ if(this.powerDataTree.length!=0 && dataLength==this.$refs.elTree.getCheckedKeys().length){
67
82
  this.checkAll = "1";
68
83
  }else{
69
84
  this.checkAll = "0";
@@ -57,6 +57,7 @@
57
57
  checkedObj:{},//选中对象数组(树数据)
58
58
  isChange:false,
59
59
  cdssBak:"",//记录上一个cdss
60
+ loadCdssObj:{}, // 已经加载过的cdss数据
60
61
 
61
62
  tenantCdss:'', //租户维度
62
63
  }
@@ -218,6 +219,7 @@
218
219
  this.cdssArr = cdssArr;
219
220
  if(this.cdssArr && this.cdssArr.length > 0){
220
221
  this.cdss = this.cdssArr[0];
222
+ this.loadCdssObj[this.cdss] = true;
221
223
  }
222
224
  this.menuDatas = data;
223
225
  this.dealTreeData();
@@ -291,6 +293,7 @@
291
293
  */
292
294
  changeCdss(){
293
295
  this.isChange=true;
296
+ this.loadCdssObj[this.cdss] = true;
294
297
  this.checkedArr = this.$refs.menuTree.$refs.elTree.getCheckedNodes();
295
298
  this.checkedObj[this.cdssBak]=[];
296
299
  this.checkedObj[this.cdssBak] = this.checkedArr;
@@ -312,11 +315,15 @@
312
315
  *
313
316
  */
314
317
  getCheckData(){
315
- let checkedArr = this.$refs.menuTree.$refs.elTree.getCheckedNodes();
316
- if(checkedArr.length > 0){
317
- this.checkedArr = this.checkedArr.concat(this.$refs.menuTree.$refs.elTree.getCheckedNodes());
318
- }
319
- return this.checkedArr;
318
+ let checkedArr = this.$refs.menuTree.$refs.elTree.getCheckedNodes() || [];
319
+ let arr = [];
320
+ Object.keys(this.checkedObj).forEach(key => {
321
+ if(key != this.cdss){
322
+ arr = arr.concat(this.checkedObj[key]);
323
+ }
324
+ })
325
+ arr = arr.concat(checkedArr);
326
+ return arr;
320
327
  // return this.$refs.menuTree.$refs.elTree.getCheckedNodes();
321
328
  },
322
329
 
@@ -151,7 +151,7 @@
151
151
  })
152
152
  },
153
153
  resetSearch(){
154
- this.searchForm={"smsConcet":"","smsId":""},
154
+ this.searchForm={"smsConcet":"","smsId":""};
155
155
  this.formData = JSON.parse(JSON.stringify(this.defaultFormData));
156
156
  }
157
157
  }
@@ -126,10 +126,8 @@
126
126
  this.completeTableData = false;
127
127
  this.axios.post(this.api.safeInit.initTrinityData,{"province":this.initDataObj.province,"city":this.initDataObj.city,"area":this.initDataObj.area}).then(res =>{
128
128
  this.isClickTableData = true;
129
- if(res && res.data){
130
- if(res.data.flag == 'true'){
131
- this.completeTableData = true;
132
- }
129
+ if(res && res.data && res.data.flag == 'true'){
130
+ this.completeTableData = true;
133
131
  }
134
132
  });
135
133
 
@@ -523,6 +523,7 @@
523
523
  * 系统默监管信息配置
524
524
  */
525
525
  editDefaultPz(){
526
+ this.safeSpvInfo = {};
526
527
  this.spvSetDialogTitle = "系统默认监管信息配置";
527
528
  this.safeSpvEconSource = "1";
528
529
  this.spvSetDialog = true;