sasp-admin 0.2.57

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 (141) hide show
  1. package/index.js +227 -0
  2. package/package.json +19 -0
  3. package/router.js +83 -0
  4. package/src/assets/font/iconfont.css +1346 -0
  5. package/src/assets/font/iconfont.eot +0 -0
  6. package/src/assets/font/iconfont.js +1 -0
  7. package/src/assets/font/iconfont.svg +827 -0
  8. package/src/assets/font/iconfont.ttf +0 -0
  9. package/src/assets/font/iconfont.woff +0 -0
  10. package/src/assets/images/loading-bar.gif +0 -0
  11. package/src/assets/js/adminInstall.js +36 -0
  12. package/src/assets/js/api/apiAdmin.js +613 -0
  13. package/src/assets/js/global/dataGlobal.js +260 -0
  14. package/src/assets/js/global/logGlobal.js +22 -0
  15. package/src/assets/js/global/paramGlobal.js +67 -0
  16. package/src/assets/js/global/resGlobal.js +91 -0
  17. package/src/assets/js/global/userGlobal.js +283 -0
  18. package/src/components/complexViewRendering.vue +601 -0
  19. package/src/components/ifmLink.vue +71 -0
  20. package/src/components/public/data/plDataCascader.vue +85 -0
  21. package/src/components/public/data/plDataRadio.vue +73 -0
  22. package/src/components/public/data/plDataRadioGroup.vue +70 -0
  23. package/src/components/public/data/plDataSelect.vue +856 -0
  24. package/src/components/public/data/plDatePicker.vue +159 -0
  25. package/src/components/public/org/bg.png +0 -0
  26. package/src/components/public/org/sysOrgPosUserSelect.vue +1237 -0
  27. package/src/components/public/org/sysOrgPosUserSelectDark.vue +1402 -0
  28. package/src/components/public/org/sysOrgPosUserSelectNew.vue +1527 -0
  29. package/src/components/public/upload/images/compress.png +0 -0
  30. package/src/components/public/upload/images/emipty.png +0 -0
  31. package/src/components/public/upload/images/excel.png +0 -0
  32. package/src/components/public/upload/images/file.png +0 -0
  33. package/src/components/public/upload/images/pdf.png +0 -0
  34. package/src/components/public/upload/images/powerpoint.png +0 -0
  35. package/src/components/public/upload/images/project.png +0 -0
  36. package/src/components/public/upload/images/sound.png +0 -0
  37. package/src/components/public/upload/images/txt.png +0 -0
  38. package/src/components/public/upload/images/video.png +0 -0
  39. package/src/components/public/upload/images/visio.png +0 -0
  40. package/src/components/public/upload/images/word.png +0 -0
  41. package/src/components/public/upload/plImage.vue +287 -0
  42. package/src/components/public/upload/plImgUpload.vue +137 -0
  43. package/src/components/public/upload/plUpload.vue +1124 -0
  44. package/src/components/public/upload/uploadImg.js +8 -0
  45. package/src/main.js +0 -0
  46. package/src/views/VueMenuView.vue +143 -0
  47. package/src/views/cloudMenuView.vue +125 -0
  48. package/src/views/complex/config/complex.vue +501 -0
  49. package/src/views/complex/config/complexSetting.vue +1250 -0
  50. package/src/views/complex/rendering/complexShow.vue +16 -0
  51. package/src/views/data/dataManage.vue +560 -0
  52. package/src/views/data/sysData.vue +292 -0
  53. package/src/views/event/eventManager/vueEventDiy.vue +1184 -0
  54. package/src/views/event/eventManager/vueEventMain.vue +108 -0
  55. package/src/views/event/eventManager/vueEventSys.vue +296 -0
  56. package/src/views/event/js/apiEvent.js +22 -0
  57. package/src/views/fileLog/fileDownloadLog.vue +437 -0
  58. package/src/views/initData/initData.vue +4316 -0
  59. package/src/views/log/dblog/logdbDevelop.vue +306 -0
  60. package/src/views/log/dblog/logdbEnt.vue +331 -0
  61. package/src/views/log/dblog/logdbGov.vue +395 -0
  62. package/src/views/log/error/logError.vue +553 -0
  63. package/src/views/log/loginlog/logManageDevOrSup.vue +357 -0
  64. package/src/views/log/loginlog/logManageEnt.vue +343 -0
  65. package/src/views/log/loginlog/logManageGov.vue +328 -0
  66. package/src/views/log/sms/logSms.vue +308 -0
  67. package/src/views/menu/component/menuManageComponent.vue +2402 -0
  68. package/src/views/menu/component/menuModule.vue +449 -0
  69. package/src/views/menu/menuLocal.vue +223 -0
  70. package/src/views/menu/menuManage.vue +1135 -0
  71. package/src/views/menu/tenantMenuManage.vue +1132 -0
  72. package/src/views/menuRouter/cview/cviewShow.vue +18 -0
  73. package/src/views/menuRouter/cviewMenuRouter.vue +183 -0
  74. package/src/views/menuRouter/menuView.vue +132 -0
  75. package/src/views/menuRouter/urlMenuRouter.vue +160 -0
  76. package/src/views/org/entOrgTree.vue +1050 -0
  77. package/src/views/org/ownerMenu/ownerMenuTree.vue +269 -0
  78. package/src/views/org/safeValidate/safeValidate.vue +469 -0
  79. package/src/views/org/sysEntOrgUserDetail.vue +3390 -0
  80. package/src/views/org/sysOrgDimension.vue +832 -0
  81. package/src/views/org/sysOrgPosUserDetail.vue +1648 -0
  82. package/src/views/org/sysOrgPosUserTree.vue +1101 -0
  83. package/src/views/org/sysOrgTree.vue +864 -0
  84. package/src/views/param/sysParam.vue +987 -0
  85. package/src/views/preview/pdfViewer.vue +82 -0
  86. package/src/views/resources/js/resourcesCommon.js +137 -0
  87. package/src/views/resources/resRouter/resView.vue +161 -0
  88. package/src/views/resources/resourcesTabs.vue +82 -0
  89. package/src/views/resources/tabs/comp/pageResPreview.vue +309 -0
  90. package/src/views/resources/tabs/comp/pageResRegister.vue +1120 -0
  91. package/src/views/resources/tabs/dataResources.vue +843 -0
  92. package/src/views/resources/tabs/pageResources.vue +970 -0
  93. package/src/views/role/allowMenu.vue +148 -0
  94. package/src/views/role/authRole/authRole.vue +427 -0
  95. package/src/views/role/authRole/component/allocateSetting.vue +1056 -0
  96. package/src/views/role/authRole/component/authSetting.vue +1196 -0
  97. package/src/views/role/commonRole/commonRole.vue +677 -0
  98. package/src/views/role/commonRole/compoment/allocateRoleMenuSetting.vue +335 -0
  99. package/src/views/role/commonRole/compoment/authLinkMenuTree.vue +55 -0
  100. package/src/views/role/commonRole/compoment/authSettingNew.vue +190 -0
  101. package/src/views/role/commonRole/compoment/commonSetting.vue +1576 -0
  102. package/src/views/role/commonRole/compoment/commonSettingAdjust.vue +584 -0
  103. package/src/views/role/commonRole/compoment/commonSettingNew.vue +572 -0
  104. package/src/views/role/commonRole/compoment/roleMenuPower.vue +226 -0
  105. package/src/views/role/commonRole/compoment/roleMenuPowerSetting.vue +69 -0
  106. package/src/views/role/commonRole/compoment/roleMenuSetting.vue +365 -0
  107. package/src/views/role/commonRole/compoment/roleSourceSetting.vue +229 -0
  108. package/src/views/role/commonRole/tenantCommonRole.vue +768 -0
  109. package/src/views/role/role.vue +135 -0
  110. package/src/views/role/roleMenuOption.vue +898 -0
  111. package/src/views/role/roleSynchroRemind.vue +399 -0
  112. package/src/views/role/sysRole.vue +1525 -0
  113. package/src/views/role/viewMenuOptDetail.vue +182 -0
  114. package/src/views/sms/sendSms.vue +164 -0
  115. package/src/views/station/orgStation.vue +561 -0
  116. package/src/views/tenant/appContentManager.vue +938 -0
  117. package/src/views/tenant/appManager.vue +642 -0
  118. package/src/views/tenant/tenantRoleManager.vue +670 -0
  119. package/src/views/tenant/tenantUserManager.vue +615 -0
  120. package/src/views/threeinone/compoment/safeCascadeSelect.vue +327 -0
  121. package/src/views/threeinone/init/safeInitRegion.vue +203 -0
  122. package/src/views/threeinone/safeManager.vue +927 -0
  123. package/src/views/threeinone/safeMenuManage.vue +565 -0
  124. package/src/views/threeinone/safeOrgSpv.vue +364 -0
  125. package/src/views/threeinone/safeSpv/safeSpvLeftTree.vue +109 -0
  126. package/src/views/threeinone/safeSpv/safeSpvMain.vue +335 -0
  127. package/src/views/threeinone/safeSpvEconView.vue +569 -0
  128. package/src/views/threeinone/safeValidateRegion.vue +328 -0
  129. package/src/views/urlResource/urlResource.vue +856 -0
  130. package/src/views/user/empowerUser/empowerEntUserManage.vue +415 -0
  131. package/src/views/user/empowerUser/empowerOrgTree.vue +167 -0
  132. package/src/views/user/empowerUser/empowerUserList.vue +633 -0
  133. package/src/views/user/empowerUser/empowerUserListMenuDeatil.vue +656 -0
  134. package/src/views/user/empowerUser/empowerUserListViewMenuTree.vue +257 -0
  135. package/src/views/user/empowerUser/empowerUserManage.vue +99 -0
  136. package/src/views/user/stationUserManage.vue +934 -0
  137. package/src/views/user/userManage.vue +737 -0
  138. package/src/views/user/userMangement.vue +938 -0
  139. package/src/views/user/viewMenu/viewMenu.vue +113 -0
  140. package/src/views/versionupdatetool/versionUpdateTool.vue +225 -0
  141. package/src/views/versionupdatetool/versioninfomation/verisonInfomationManagement.vue +68 -0
@@ -0,0 +1,4316 @@
1
+ <template>
2
+ <el-container class="init-data">
3
+ <el-main>
4
+ <el-row class="total-info">
5
+ <!--用户信息 start-->
6
+ <el-col :span="6" class="user-col">
7
+ <div class="user-div">
8
+ <div class="model-title"><p>用户信息</p></div>
9
+ <!--组织架构 start-->
10
+ <el-card class="init-data-card-user card-org">
11
+ <div slot="header" class="init-data-clearfix">
12
+ <span>组织架构</span>
13
+ </div>
14
+ <div class="text item">
15
+ <el-row class="data-num-row">
16
+ <el-col :span="20" class="data-number">
17
+ <span>共 {{orgDimTotalNum}} 条数据</span>
18
+ </el-col>
19
+ <el-col :span="4">
20
+ <div>
21
+ <div class="check-data-num"><p>{{checkOrgStruNum}}</p></div>
22
+ <el-tooltip effect="light" placement="right">
23
+ <div slot="content">
24
+ <span>点击查看详细信息</span>
25
+ <div class="detail-info-line"></div>
26
+ <div class="deatil-info-check" v-for="(data,index) in sysOrgDimensionArr" :key="index">
27
+ {{data.dimName}}:{{orgDimSelectNum[data.id]}} 条
28
+ </div>
29
+ </div>
30
+ <el-button type="success" icon="el-icon-edit-outline" circle @click="showOrgDimensionData"></el-button>
31
+ </el-tooltip>
32
+ </div>
33
+
34
+ </el-col>
35
+ </el-row>
36
+ <div class="data-number-cut-off-rule"></div>
37
+ <el-row class="check-div">
38
+ <el-col :span="24">
39
+ <div class="org-dime-div">
40
+ <el-checkbox-group v-model="orgStruCheckList">
41
+ <div v-for="num in sysOrgDimensionNum" :key="num">
42
+ <el-checkbox v-for="(data,index) in sysOrgDimensionArr.slice((num-1)*2,num*2)"
43
+ :label="data.id" :key="index">{{data.dimName}}</el-checkbox>
44
+ </div>
45
+ </el-checkbox-group>
46
+ </div>
47
+ <div class="org-dimension-rule"></div>
48
+ <el-checkbox-group v-model="orgStruDeleteData">
49
+ <el-checkbox label="relatedData">同时清除关联数据</el-checkbox>
50
+ <el-checkbox label="relatedDim">同时清除维度</el-checkbox>
51
+ </el-checkbox-group>
52
+ </el-col>
53
+ </el-row>
54
+ <div class="clear-line"></div>
55
+ <el-row class="clean-row">
56
+ <el-col :span="24" class="clean-col">
57
+ <div v-if="orgStruClearMsg.length == 0">未清除任何数据</div>
58
+ <div v-if="orgStruClearMsg.length > 0" v-for="(msg,index) in orgStruClearMsg" :key="index">
59
+ {{msg}}
60
+ </div>
61
+ </el-col>
62
+ </el-row>
63
+ </div>
64
+ </el-card>
65
+ <!--组织架构 end-->
66
+
67
+ <!--用户账户 start-->
68
+ <el-card class="init-data-card-user card-user" >
69
+ <div slot="header" class="init-data-clearfix">
70
+ <span>用户账户</span>
71
+ </div>
72
+ <div class="text item">
73
+ <el-row class="data-num-row">
74
+ <el-col :span="20" class="data-number">
75
+ <span>共 {{userInfoTotalNum}} 条数据</span>
76
+ </el-col>
77
+ <!--详细信息按钮 start-->
78
+ <el-col :span="4">
79
+ <div>
80
+ <div class="check-data-num">{{checkUserInfoNum}}</div>
81
+ <el-tooltip effect="light" placement="right">
82
+ <div slot="content">
83
+ <span>详细信息</span>
84
+ <div class="detail-info-line"></div>
85
+ <div class="deatil-info-check" v-for="(data,index) in userTypeArr" :key="index">
86
+ {{data.value}}:{{userInfoTypeSelectNum[data.key]}} 条
87
+ </div>
88
+ <div class="deatil-info-check">
89
+ 开发用户:{{userInfoTypeSelectNum['dev']}} 条
90
+ </div>
91
+ </div>
92
+ <el-button type="success" icon="el-icon-edit-outline" circle @click="showUserInfo()"></el-button>
93
+ </el-tooltip>
94
+ </div>
95
+ </el-col>
96
+ <!--详细信息按钮 end-->
97
+ </el-row>
98
+ <div class="data-number-cut-off-rule"></div>
99
+ <el-row class="check-div">
100
+ <el-col :span="24">
101
+ <el-checkbox-group v-model="userInfoCheckList">
102
+ <div v-for="num in userTypeDivNum" :key="num">
103
+ <el-checkbox v-for="(data,index) in userTypeArr.slice((num-1)*2,num*2)" :key="index"
104
+ :label="data.key" :disabled="userInfoCheckBoxDis[data.key]">{{data.value}}</el-checkbox>
105
+ <el-checkbox v-if="num == userTypeDivNum && userTypeArr.length % 2 != 0"
106
+ label="dev" :disabled="userInfoCheckBoxDis['dev']">开发用户</el-checkbox>
107
+ </div>
108
+ <div v-if="userTypeArr.length % 2 == 0">
109
+ <el-checkbox label="dev" :disabled="userInfoCheckBoxDis['dev']">开发用户</el-checkbox>
110
+ </div>
111
+ </el-checkbox-group>
112
+ </el-col>
113
+ </el-row>
114
+ <div class="clear-line"></div>
115
+ <el-row class="clean-row">
116
+ <el-col :span="24" class="clean-col">
117
+ <div v-if="userInfoClearMsg.length == 0">未清除任何数据</div>
118
+ <div v-for="(msg,index) in userInfoClearMsg" :key="index">{{msg}}</div>
119
+ </el-col>
120
+ </el-row>
121
+ </div>
122
+ </el-card>
123
+ <!--用户账户 end-->
124
+
125
+ <!--角色权限 start-->
126
+ <el-card class="init-data-card-user card-user-role">
127
+ <div slot="header" class="init-data-clearfix">
128
+ <span>角色权限</span>
129
+ </div>
130
+ <div class="text item">
131
+ <el-row class="data-num-row">
132
+ <el-col :span="20" class="data-number">
133
+ <span>共 {{userRoleTotalNum}} 条数据</span>
134
+ </el-col>
135
+ <el-col :span="4">
136
+ <div>
137
+ <div class="check-data-num">{{checkUserRoleNum}}</div>
138
+ <el-tooltip effect="light" placement="right">
139
+ <div slot="content">
140
+ <span>详细信息</span>
141
+ <div class="detail-info-line"></div>
142
+ <div class="deatil-info-check" v-for="(data,index) in userRoleTypeArr" :key="index">
143
+ {{data.value}}:{{userRoleTypeSelectNum[data.key]}} 条
144
+ </div>
145
+ </div>
146
+ <el-button type="success" icon="el-icon-edit-outline" circle @click="showUserRole"></el-button>
147
+ </el-tooltip>
148
+ </div>
149
+ </el-col>
150
+ </el-row>
151
+ <div class="data-number-cut-off-rule"></div>
152
+ <el-row class="check-div">
153
+ <el-col :span="24">
154
+ <el-checkbox-group v-model="userRoleCheckList">
155
+ <div v-for="num in userRoleTypeDivNum" :key="num">
156
+ <el-checkbox v-for="(data,index) in userRoleTypeArr.slice((num-1)*2,num*2)" :key="index"
157
+ :label="data.key">{{data.value}}</el-checkbox>
158
+ </div>
159
+ </el-checkbox-group>
160
+ </el-col>
161
+ </el-row>
162
+ <div class="clear-line"></div>
163
+ <el-row class="clean-row">
164
+ <el-col :span="24" class="clean-col">
165
+ <div v-if="userRoleClearMsg.length == 0">未清除任何数据</div>
166
+ <div v-for="(msg,index) in userRoleClearMsg" :key="index">{{msg}}</div>
167
+ </el-col>
168
+ </el-row>
169
+ </div>
170
+ </el-card>
171
+ <!--角色权限 end-->
172
+ </div>
173
+ </el-col>
174
+ <!--用户信息 end-->
175
+
176
+ <!--开发工具 start-->
177
+ <el-col :span="6" class="develop-col">
178
+ <div class="develop-div">
179
+ <div class="model-title"><p>开发工具</p></div>
180
+ <!--智能建表 start-->
181
+ <el-card class="init-data-card-develop form-card">
182
+ <div slot="header" class="init-data-clearfix">
183
+ <span>智能建表</span>
184
+ </div>
185
+ <div class="text item">
186
+ <el-row class="data-num-row">
187
+ <el-col :span="20" class="data-number">
188
+ <div>
189
+ <span>共 {{formTotalNum}} 条数据</span>
190
+ </div>
191
+ </el-col>
192
+ <el-col :span="4">
193
+ <div>
194
+ <div class="check-data-num">{{checkFormNum}}</div>
195
+ <el-tooltip effect="light" content="详细信息" placement="right">
196
+ <el-button type="success" icon="el-icon-edit-outline" circle @click="showFormData"></el-button>
197
+ </el-tooltip>
198
+ </div>
199
+ </el-col>
200
+ </el-row>
201
+ <div class="data-number-cut-off-rule"></div>
202
+ <el-row class="develop-check-div">
203
+ <el-col :span="24" style="padding-top: 15px;">
204
+ 模块:
205
+ <el-select v-model="formModelValue" placeholder="请选择" size="small" :multiple="selectMultiple"
206
+ :clearable="selectClear" :filterable="selectFilter">
207
+ <el-option
208
+ v-for="item in formAllModel"
209
+ :key="item.id"
210
+ :label="item.dataName"
211
+ :value="item.id">
212
+ </el-option>
213
+ </el-select>
214
+ </el-col>
215
+ </el-row>
216
+ <div class="clear-line"></div>
217
+ <el-row class="clean-row">
218
+ <el-col :span="24" class="clean-col">
219
+ <div v-if="formClearMsg.length == 0">未清除任何数据</div>
220
+ <div v-for="(msg,index) in formClearMsg" :key="index">{{msg}}</div>
221
+ </el-col>
222
+ </el-row>
223
+ </div>
224
+ </el-card>
225
+ <!--智能建表 end-->
226
+
227
+ <!--工作流 start-->
228
+ <el-card class="init-data-card-develop card-flow">
229
+ <div slot="header" class="init-data-clearfix">
230
+ <span>工作流</span>
231
+ </div>
232
+ <div class="text item">
233
+ <el-row class="data-num-row">
234
+ <el-col :span="20" class="data-number">
235
+ <div>
236
+ <span>共 {{flowTotalNum}} 条数据</span>
237
+ </div>
238
+ </el-col>
239
+ <el-col :span="4">
240
+ <div>
241
+ <div class="check-data-num">{{checkFlowNum}}</div>
242
+ <el-tooltip effect="light" content="详细信息" placement="right">
243
+ <el-button type="success" icon="el-icon-edit-outline" circle @click="showFlowData"></el-button>
244
+ </el-tooltip>
245
+ </div>
246
+ </el-col>
247
+ </el-row>
248
+ <div class="data-number-cut-off-rule"></div>
249
+ <el-row class="flow-check-div">
250
+ <el-col :span="24">
251
+ <div style="margin-top: 20px;">
252
+ 分类:
253
+ <el-select v-model="flowTypeValue" placeholder="请选择" size="small" :multiple="selectMultiple"
254
+ :clearable="selectClear" :filterable="selectFilter">
255
+ <el-option
256
+ v-for="item in flowTypeArr"
257
+ :key="item.flowClass"
258
+ :label="item.flowClass"
259
+ :value="item.flowClass">
260
+ </el-option>
261
+ </el-select>
262
+ </div>
263
+ <div style="margin-top: 20px;">
264
+ <el-checkbox-group v-model="flowCheckList">
265
+ <el-checkbox label="flowConfig">流程配置</el-checkbox>
266
+ <el-checkbox label="flowInst">流程实例</el-checkbox>
267
+ </el-checkbox-group>
268
+ </div>
269
+ </el-col>
270
+ </el-row>
271
+ <div class="clear-line"></div>
272
+ <el-row class="clean-row">
273
+ <el-col :span="24" class="clean-col">
274
+ <div v-if="flowClearMsg.length == 0">未清除任何数据</div>
275
+ <div v-for="(msg,index) in flowClearMsg" :key="index">{{msg}}</div>
276
+ </el-col>
277
+ </el-row>
278
+ </div>
279
+ </el-card>
280
+ <!--工作流 end-->
281
+
282
+ <!--复合视图 start-->
283
+ <el-card class="init-data-card-develop card-complex-view">
284
+ <div slot="header" class="init-data-clearfix">
285
+ <span>复合视图</span>
286
+ </div>
287
+ <div class="text item">
288
+ <el-row class="data-num-row">
289
+ <el-col :span="20" class="data-number">
290
+ <div>
291
+ <span>共 {{complexTotalNum}} 条数据</span>
292
+ </div>
293
+ </el-col>
294
+ <el-col :span="4">
295
+ <div>
296
+ <div class="check-data-num">{{checkComplexNum}}</div>
297
+ <el-tooltip effect="light" content="详细信息" placement="right">
298
+ <el-button type="success" icon="el-icon-edit-outline" circle @click="showComplex"></el-button>
299
+ </el-tooltip>
300
+ </div>
301
+ </el-col>
302
+ </el-row>
303
+ <div class="data-number-cut-off-rule"></div>
304
+ <el-row class="clean-row">
305
+ <el-col :span="24" class="clean-col">
306
+ <div v-if="complexClearMsg.length == 0">未清除任何数据</div>
307
+ <div v-for="(msg,index) in complexClearMsg" :key="index">{{msg}}</div>
308
+ </el-col>
309
+ </el-row>
310
+ </div>
311
+ </el-card>
312
+ <!--复合视图 end-->
313
+ </div>
314
+ </el-col>
315
+ <!--开发工具 end-->
316
+
317
+ <!--系统管理 start-->
318
+ <el-col :span="11" class="system-col">
319
+ <div class="system-div">
320
+ <div class="model-title"><p>系统管理</p></div>
321
+ <el-row>
322
+ <el-col :span="12">
323
+ <el-card class="init-data-card-system card-front-menu">
324
+ <div slot="header" class="init-data-clearfix">
325
+ <span>前台菜单</span>
326
+ </div>
327
+ <div class="text item">
328
+ <el-row class="data-num-row">
329
+ <el-col :span="20" class="data-number">
330
+ <div>
331
+ <span>共 {{frontMenuTotalNum}} 条数据</span>
332
+ </div>
333
+ </el-col>
334
+ <el-col :span="4">
335
+ <div>
336
+ <div class="check-data-num">{{checkFrontMenuNum}}</div>
337
+ <el-tooltip effect="light" placement="right">
338
+ <div slot="content">
339
+ <span>点击查看详细信息</span>
340
+ <div class="detail-info-line"></div>
341
+ <div class="deatil-info-check">
342
+ 企业菜单:{{checkFrontMenuNumByType['ent']}} 条
343
+ </div>
344
+ <div class="deatil-info-check">
345
+ 政府菜单:{{checkFrontMenuNumByType['gov']}} 条
346
+ </div>
347
+ <div class="deatil-info-check">
348
+ 机构菜单:{{checkFrontMenuNumByType['mec']}} 条
349
+ </div>
350
+ <div class="deatil-info-check">
351
+ 系统菜单:{{checkFrontMenuNumByType['dev']}} 条
352
+ </div>
353
+ </div>
354
+ <el-button type="success" icon="el-icon-edit-outline" circle @click="showFrontMenuData"></el-button>
355
+ </el-tooltip>
356
+ </div>
357
+ </el-col>
358
+ </el-row>
359
+ <div class="data-number-cut-off-rule"></div>
360
+ <el-row class="check-div">
361
+ <el-col :span="24">
362
+ <el-checkbox-group v-model="frontMenuCheckList">
363
+ <div>
364
+ <el-checkbox label="ent">企业菜单</el-checkbox>
365
+ <el-checkbox label="gov">政府菜单</el-checkbox>
366
+ </div>
367
+ <div>
368
+ <el-checkbox label="mec">机构菜单</el-checkbox>
369
+ <el-checkbox label="dev">系统菜单</el-checkbox>
370
+ </div>
371
+ </el-checkbox-group>
372
+ </el-col>
373
+ </el-row>
374
+ <div class="clear-line"></div>
375
+ <el-row class="clean-row" style="height: 60px;">
376
+ <el-col :span="24" class="clean-col">
377
+ <div v-if="frontMenuClearMsg.length == 0">未清除任何数据</div>
378
+ <div v-for="(msg,index) in frontMenuClearMsg" :key="index">{{msg}}</div>
379
+ </el-col>
380
+ </el-row>
381
+ </div>
382
+ </el-card>
383
+ </el-col>
384
+ <el-col :span="12">
385
+ <el-card class="init-data-card-system card-sys-data">
386
+ <div slot="header" class="init-data-clearfix">
387
+ <span>数据字典</span>
388
+ </div>
389
+ <div class="text item">
390
+ <el-row class="data-num-row">
391
+ <el-col :span="20" class="data-number">
392
+ <div>
393
+ <span>类型:共 {{sysDataTypeTotalNum}} 条数据</span>
394
+ </div>
395
+ <div class="data-number-selected">
396
+ <span>数据:共 {{sysDataTotalNum}} 条数据</span>
397
+ </div>
398
+ </el-col>
399
+ <el-col :span="4">
400
+ <div>
401
+ <div class="check-data-num">{{checkSysDataNum}}</div>
402
+ <el-tooltip effect="light" placement="right">
403
+ <div slot="content">
404
+ <span>点击查看详细信息</span>
405
+ <div class="detail-info-line"></div>
406
+ <div class="deatil-info-check">
407
+ 类型:{{sysDataTypeSelectNum}} 条
408
+ </div>
409
+ <div class="deatil-info-check">
410
+ 数据:{{sysDataSelectNum}} 条
411
+ </div>
412
+ </div>
413
+ <el-button type="success" icon="el-icon-edit-outline" circle @click="showSysData"></el-button>
414
+ </el-tooltip>
415
+ </div>
416
+ </el-col>
417
+ </el-row>
418
+ <div class="data-number-cut-off-rule"></div>
419
+ <el-row class="sys-data-check-div">
420
+ <el-col :span="24" style="padding-top: 20px;">
421
+ 类型:
422
+ <el-select v-model="sysDataTypeValue" placeholder="请选择" size="small" :multiple="selectMultiple"
423
+ :clearable="selectClear" :filterable="selectFilter">
424
+ <el-option
425
+ v-for="item in sysDataTypeArr"
426
+ :key="item.id"
427
+ :label="item.typeName"
428
+ :value="item.id">
429
+ </el-option>
430
+ </el-select>
431
+ </el-col>
432
+ </el-row>
433
+ <div class="clear-line"></div>
434
+ <el-row class="clean-row" style="height: 60px;">
435
+ <el-col :span="24" class="clean-col">
436
+ <div v-if="sysDataClearMsg.length == 0">未清除任何数据</div>
437
+ <div v-for="(msg,index) in sysDataClearMsg" :key="index">{{msg}}</div>
438
+ </el-col>
439
+ </el-row>
440
+ </div>
441
+ </el-card>
442
+ </el-col>
443
+ </el-row>
444
+
445
+ <el-row>
446
+ <el-col :span="12">
447
+ <el-card class="init-data-card-system card-diy-menu">
448
+ <div slot="header" class="init-data-clearfix">
449
+ <span>自定义功能菜单</span>
450
+ </div>
451
+ <div class="text item">
452
+ <el-row class="data-num-row">
453
+ <el-col :span="20" class="data-number">
454
+ <div>
455
+ <span>共 {{diyMenuTotalNum}} 条数据</span>
456
+ </div>
457
+ </el-col>
458
+ <el-col :span="4">
459
+ <div>
460
+ <div class="check-data-num">{{checkDiyMenuNum}}</div>
461
+ <el-tooltip effect="light" content="详细信息" placement="right">
462
+ <el-button type="success" icon="el-icon-edit-outline" circle @click="showDiyMenuData"></el-button>
463
+ </el-tooltip>
464
+ </div>
465
+ </el-col>
466
+ </el-row>
467
+ <div class="data-number-cut-off-rule"></div>
468
+ <el-row class="diy-menu-check-div">
469
+ <el-col :span="24" style="margin-top: 20px;">
470
+ 功能类别:
471
+ <el-select v-model="diyMenuTypeValue" placeholder="请选择" size="small" :multiple="selectMultiple"
472
+ :clearable="selectClear" :filterable="selectFilter">
473
+ <el-option
474
+ v-for="item in diyMenuTypeArr"
475
+ :key="item.dataName"
476
+ :label="item.dataName"
477
+ :value="item.dataName">
478
+ </el-option>
479
+ </el-select>
480
+ </el-col>
481
+ </el-row>
482
+ <div class="clear-line"></div>
483
+ <el-row class="clean-row" style="height: 60px;">
484
+ <el-col :span="24" class="clean-col">
485
+ <div v-if="diyMenuClearMsg.length == 0">未清除任何数据</div>
486
+ <div v-for="(msg,index) in diyMenuClearMsg" :key="index">{{msg}}</div>
487
+ </el-col>
488
+ </el-row>
489
+ </div>
490
+ </el-card>
491
+ </el-col>
492
+ <el-col :span="12">
493
+ <el-card class="init-data-card-system card-other">
494
+ <div slot="header" class="init-data-clearfix">
495
+ <span>其他</span>
496
+ </div>
497
+ <div class="text item">
498
+ <el-row>
499
+ <el-col :span="20">
500
+ <el-checkbox-group v-model="otherCheckValueArr" @change="otherChange">
501
+ <div style="margin-top: 15px;">
502
+ <el-checkbox label="safeRegion">三位一体(共 {{safeRegionTotalNum}} 条数据)</el-checkbox>
503
+ </div>
504
+ <div style="margin-top: 15px;">
505
+ <el-checkbox label="gis">GIS数据(共 {{gisTotalNum}} 条数据)</el-checkbox>
506
+ </div>
507
+ <div style="margin-top: 15px;margin-bottom: 8px;">
508
+ <el-checkbox label="log">日志数据(共 {{logTotalNum}} 条数据)</el-checkbox>
509
+ </div>
510
+ </el-checkbox-group>
511
+ </el-col>
512
+ <el-col :span="4">
513
+ <div>
514
+ <div class="check-data-num" style="margin-top: 15px;">{{checkOtherNum}}</div>
515
+ <el-tooltip effect="light" content="清除数据" placement="right">
516
+ <el-button type="success" icon="el-icon-edit-outline" circle @click="deteleData('other')"
517
+ style="margin-top: 20px;" v-loading.fullscreen.lock="fullscreenLoading"></el-button>
518
+ </el-tooltip>
519
+ </div>
520
+ </el-col>
521
+ </el-row>
522
+ <el-row>
523
+ <div class="data-number-cut-off-rule"></div>
524
+ <el-col :span="24" class="clean-col" style="height: 58px;">
525
+ <div v-if="otherClearMsg.length == 0">未清除任何数据</div>
526
+ <div v-for="(msg,index) in otherClearMsg" :key="index">{{msg}}</div>
527
+ </el-col>
528
+ </el-row>
529
+
530
+ </div>
531
+ </el-card>
532
+ </el-col>
533
+ </el-row>
534
+
535
+ <el-row>
536
+ <el-col :span="12">
537
+ <el-card class="init-data-card-system card-param">
538
+ <div slot="header" class="init-data-clearfix">
539
+ <span>系统参数</span>
540
+ </div>
541
+ <div class="text item">
542
+ <el-row class="data-num-row">
543
+ <el-col :span="20" class="data-number">
544
+ <div>
545
+ <span>共 {{sysParamTotalNum}} 条数据</span>
546
+ </div>
547
+ </el-col>
548
+ <el-col :span="4">
549
+ <div>
550
+ <div class="check-data-num">{{checkSysParamNum}}</div>
551
+ <el-tooltip effect="light" content="详细信息" placement="right">
552
+ <el-button type="success" icon="el-icon-edit-outline" circle @click="showSySparamData"></el-button>
553
+ </el-tooltip>
554
+ </div>
555
+ </el-col>
556
+ </el-row>
557
+ <div class="data-number-cut-off-rule"></div>
558
+ <el-row class="clean-row" style="height: 80px;">
559
+ <el-col :span="24" class="clean-col">
560
+ <div v-if="sysParamClearMsg.length == 0">未清除任何数据</div>
561
+ <div v-for="(msg,index) in sysParamClearMsg" :key="index">{{msg}}</div>
562
+ </el-col>
563
+ </el-row>
564
+ </div>
565
+ </el-card>
566
+ </el-col>
567
+ <el-col :span="12">
568
+ </el-col>
569
+ </el-row>
570
+ </div>
571
+ </el-col>
572
+ <!--系统管理 end-->
573
+
574
+ <!--一键清除按钮 start-->
575
+ <el-col :span="1">
576
+ <div style="margin-top: 50px;margin-left: 10px;">
577
+ <el-tooltip v-if="defaultOrClear == true" class="item" effect="dark" content="默认勾选" placement="left-start">
578
+ <el-button type="success" icon="el-icon-check" circle @click="defaultCheck"></el-button>
579
+ </el-tooltip>
580
+ <el-tooltip v-if="defaultOrClear == false" class="item" effect="dark" content="清除默认勾选" placement="left-start">
581
+ <el-button type="info" icon="el-icon-message" circle @click="clearDefaultCheck('clear')"></el-button>
582
+ </el-tooltip>
583
+ </div>
584
+ <div style="margin-top: 10px;margin-left: 10px;">
585
+ <el-tooltip class="item" effect="dark" content="清除已选信息" placement="left-start">
586
+ <el-button type="danger" icon="el-icon-delete" circle @click="deleteAll"></el-button>
587
+ </el-tooltip>
588
+ </div>
589
+
590
+ <div style="width:60%;margin-left: 10px;border-top: 1px solid #CCCCCC; margin-top: 10px;"></div>
591
+
592
+ <div style="margin-top: 10px;margin-left: 10px;">
593
+ <el-tooltip class="item" effect="dark" content="组织架构初始化" placement="left-start">
594
+ <el-button type="warning" icon="el-icon-star-off" circle @click="orgStruValidData"></el-button>
595
+ </el-tooltip>
596
+ </div>
597
+
598
+ <!-- <div style="margin-top: 10px;margin-left: 10px;">
599
+ <el-tooltip class="item" effect="dark" content="按模块或分类清除数据" placement="left-start">
600
+ <el-button type="warning" icon="el-icon-star-off" circle @click="deleteDataByModelOrType"></el-button>
601
+ </el-tooltip>
602
+ </div>-->
603
+ <!--<div style="margin-top: 10px;margin-left: 10px;">
604
+ <el-tooltip class="item" effect="dark" content="按智能建表模块清除开发工具数据" placement="left-start">
605
+ <el-button type="primary" icon="el-icon-edit" circle></el-button>
606
+ </el-tooltip>
607
+ </div>-->
608
+ </el-col>
609
+ <!--一键清除按钮 end-->
610
+ </el-row>
611
+
612
+ <!--组织架构详细信息弹出框 start-->
613
+ <el-dialog :close-on-click-modal=false class="dialog-org-stru el-no-footer el-no-header" :visible.sync="dialogOrgDimeVisible" @close="orgStruDialogClose()" width="40%" top="10vh">
614
+ <el-tabs v-model="activeName">
615
+ <el-tab-pane class="tree-div" v-for="(data,index) in sysOrgDimensionArr" :key="index" :label="data.dimName" :name="'active' + index">
616
+ <!--查询框 start-->
617
+ <el-row class="tree-search-row">
618
+ <el-input size="small" placeholder="输入关键字进行过滤" v-model="orgStruArrKeys[data.id]"></el-input>
619
+ </el-row>
620
+ <!--查询框 end-->
621
+ <!--数据 start-->
622
+ <el-row class="common-tree-row">
623
+ <common-tree :ref="'orgStruTree' + data.id" :request-url="orgStruUrl" :request-param="{orgDim:data.id}"
624
+ :default-props="orgStruDefaultProps" :parent-id="orgStruParentId"
625
+ :filter-text="orgStruArrKeys[data.id]" :init-check="orgStruCheckObj"
626
+ :init-call-back="initOrgStruCheck">
627
+ </common-tree>
628
+ </el-row>
629
+ <!--数据 end-->
630
+ </el-tab-pane>
631
+ </el-tabs>
632
+ <el-footer style="text-align: center;border-top: 2px solid #e4e7ed;">
633
+ <el-row>
634
+ <el-col :span="2">
635
+ <el-checkbox v-model="singleDeleteRelateCheck" style="margin-top: 20px;left: 15px;">同时清除关联关系</el-checkbox>
636
+ </el-col>
637
+ <el-col :span="22">
638
+ <el-button @click="dialogOrgDimeVisible = false" v-loading.fullscreen.lock="fullscreenLoading"
639
+ type="primary" size="medium" style="margin-top: 20px;">确定</el-button>
640
+ <el-button @click="deteleData('orgStru')" type="success" size="medium" style="margin-top: 20px;">清除</el-button>
641
+ </el-col>
642
+ </el-row>
643
+ </el-footer>
644
+ </el-dialog>
645
+ <!--组织架构详细信息弹出框 end-->
646
+
647
+ <!--用户账户详细信息弹出框 start-->
648
+ <el-dialog :close-on-click-modal=false class="dialog-user-info el-no-footer el-no-header" :visible.sync="dialogUserVisible" @close="userInfoDialogClose()" width="50%" top="10vh">
649
+ <el-tabs v-model="activeName">
650
+ <el-tab-pane v-for="(data, index) in userTypeArr" :key="index" :label="data.value" :name="'active' + index">
651
+ <pl-page-table :ref="data.ref" :showFieldArr="userShowFieldArr" :entityName="userEntityName" :url="userUrl"
652
+ :searchParam="configInfo.userInfo?configInfo.userInfo[data.searchParam]:{}" :searchFormDataArr="userSearchFormDataArr"
653
+ :noClearSearchColumns="configInfo.userInfo?configInfo.userInfo[data.noClearSearchColumns]:[]"
654
+ :init-check="tableInitCheck['userInfo'][data.key]" :table-height="tableHeight">
655
+ </pl-page-table>
656
+ </el-tab-pane>
657
+
658
+ <!--开发用户 start-->
659
+ <el-tab-pane label="开发用户" name="third">
660
+ <pl-page-table ref="userDevDialogTable" :showFieldArr="userShowFieldArr" :entityName="userEntityName" :url="userUrl"
661
+ :searchParam="userDevsearchParam" :searchFormDataArr="userSearchFormDataArr"
662
+ :noClearSearchColumns="userDevNoClearParam" :init-check="tableInitCheck['userInfo']['dev']"
663
+ :table-height="tableHeight">
664
+ </pl-page-table>
665
+ </el-tab-pane>
666
+ <!--开发用户 end-->
667
+ </el-tabs>
668
+ <el-footer style="text-align: center;border-top: 2px solid #e4e7ed;">
669
+ <el-button @click="dialogUserVisible = false" v-loading.fullscreen.lock="fullscreenLoading"
670
+ type="primary" size="medium" style="margin-top: 20px;">确定</el-button>
671
+ <el-button @click="deteleData('userInfo')"
672
+ type="success" size="medium" style="margin-top: 20px;">清除</el-button>
673
+ </el-footer>
674
+ </el-dialog>
675
+ <!--用户账户详细信息弹出框 end-->
676
+
677
+ <!--角色权限详细信息弹出框 start-->
678
+ <el-dialog :close-on-click-modal=false class="dialog-user-role el-no-footer el-no-header" :visible.sync="dialogUserRoleVisible" @close="userRoleDialogClose()" width="50%" top="10vh">
679
+ <el-tabs v-model="activeName">
680
+ <el-tab-pane v-for="(data,index) in userRoleTypeArr" :key="index" :label="data.value" :name="'active' + index">
681
+ <pl-page-table :ref="data.ref" :showFieldArr="userRoleShowFieldArr" :entityName="userRoleEntityName" :url="userRoleUrl"
682
+ :searchParam="configInfo.userRole?configInfo.userRole[data.searchParam]:{}" :searchFormDataArr="userRoleSearchFormDataArr"
683
+ :noClearSearchColumns="configInfo.userRole?configInfo.userRole[data.noClearSearchColumns]:[]"
684
+ :init-check="tableInitCheck['userRole'][data.key]" :table-height="tableHeight">
685
+ </pl-page-table>
686
+ </el-tab-pane>
687
+ </el-tabs>
688
+ <el-footer style="text-align: center;border-top: 2px solid #e4e7ed;">
689
+ <el-button @click="dialogUserRoleVisible = false" v-loading.fullscreen.lock="fullscreenLoading"
690
+ type="primary" size="medium" style="margin-top: 20px;">确定</el-button>
691
+ <el-button @click="deteleData('userRole')"
692
+ type="success" size="medium" style="margin-top: 20px;">清除</el-button>
693
+ </el-footer>
694
+ </el-dialog>
695
+ <!--角色权限详细信息弹出框 end-->
696
+
697
+ <!--智能建表详细信息弹出框 start-->
698
+ <el-dialog :close-on-click-modal=false class="dialog-form el-no-footer el-no-header" :visible.sync="dialogFormVisible" @close="formDialogClose()" width="65%" top="10vh">
699
+ <pl-page-table ref="formTable" :showFieldArr="formShowFieldArr" :entityName="formEntityName" :url="formUrl"
700
+ :searchParam="formSearchParam" :searchFormDataArr="formSearchFormDataArr" :cascaderChangeFunc="formCascaderChangeFunc"
701
+ :cascaderProps="formCascaderProps" :otherSearchParam="formOtherSearchParam" :table-height="tableHeight"
702
+ :init-check="tableInitCheck['form']['form']">
703
+ </pl-page-table>
704
+ <el-footer style="text-align: center;border-top: 2px solid #e4e7ed;">
705
+ <el-button @click="dialogFormVisible = false" v-loading.fullscreen.lock="fullscreenLoading"
706
+ type="primary" size="medium" style="margin-top: 20px;">确定</el-button>
707
+ <el-button @click="deteleData('form')"
708
+ type="success" size="medium" style="margin-top: 20px;">清除</el-button>
709
+ </el-footer>
710
+ </el-dialog>
711
+ <!--智能建表详细信息弹出框 end-->
712
+
713
+ <!--工作流详细信息弹出框 start-->
714
+ <el-dialog :close-on-click-modal=false class="dialog-flow el-no-footer el-no-header" :visible.sync="dialogFlowVisible" @close="flowDialogClose()" width="60%" top="10vh">
715
+ <el-tabs v-model="activeName">
716
+ <!--流程配置 start-->
717
+ <el-tab-pane label="流程配置" name="active0">
718
+ <pl-page-table ref="flowConfigDialogTable" :showFieldArr="flowConfigShowFieldArr" :entityName="flowConfigEntityName"
719
+ :url="flowConfigUrl" :searchParam="flowConfigSearchParam" :searchFormDataArr="flowConfigSearchFormDataArr"
720
+ :table-height="tableHeight" :init-check="tableInitCheck['flow']['flowConfig']">
721
+ </pl-page-table>
722
+ </el-tab-pane>
723
+ <!--流程配置 end-->
724
+ <!--流程实例 start-->
725
+ <el-tab-pane label="流程实例" name="active1">
726
+ <pl-page-table ref="flowInstDialogTable" :showFieldArr="flowInstShowFieldArr" :entityName="flowInstEntityName"
727
+ :url="flowInstUrl" :searchParam="flowInstSearchParam" :searchFormDataArr="flowInstSearchFormDataArr"
728
+ :table-height="tableHeight" :init-check="tableInitCheck['flow']['flowInst']">
729
+ </pl-page-table>
730
+ </el-tab-pane>
731
+ <!--流程实例 end-->
732
+ </el-tabs>
733
+ <el-footer style="text-align: center;border-top: 2px solid #e4e7ed;">
734
+ <el-button @click="dialogFlowVisible = false" v-loading.fullscreen.lock="fullscreenLoading"
735
+ type="primary" size="medium" style="margin-top: 20px;">确定</el-button>
736
+ <el-button @click="deteleData('flow','inside')"
737
+ type="success" size="medium" style="margin-top: 20px;">清除</el-button>
738
+ </el-footer>
739
+ </el-dialog>
740
+ <!--工作流详细信息弹出框 end-->
741
+
742
+ <!--复合视图详细信息弹出框 start-->
743
+ <el-dialog :close-on-click-modal=false class="dialog-complex el-no-footer el-no-header" :visible.sync="dialogComplexVisible" @close="complexDialogClose()" width="50%" top="10vh">
744
+ <pl-page-table ref="complexTable" :showFieldArr="complexShowFieldArr" :entityName="complexEntityName" :url="complexUrl"
745
+ :searchParam="complexSearchParam" :searchFormDataArr="complexSearchFormDataArr" :table-height="tableHeight">
746
+ </pl-page-table>
747
+ <el-footer style="text-align: center;border-top: 2px solid #e4e7ed;">
748
+ <el-button @click="dialogComplexVisible = false" v-loading.fullscreen.lock="fullscreenLoading"
749
+ type="primary" size="medium" style="margin-top: 20px;">确定</el-button>
750
+ <el-button @click="deteleData('complex')"
751
+ type="success" size="medium" style="margin-top: 20px;">清除</el-button>
752
+ </el-footer>
753
+ </el-dialog>
754
+ <!--复合视图详细信息弹出框 end-->
755
+
756
+ <!--前台菜单详细信息弹出框 start-->
757
+ <el-dialog :close-on-click-modal=false class="dialog-front-menu el-no-footer el-no-header" :visible.sync="dialogFrontMenuVisible" @close="frontMenuDialogClose()" width="30%" top="10vh">
758
+ <el-tabs v-model="activeName">
759
+ <!--企业菜单 start-->
760
+ <el-tab-pane class="tree-div" label="企业菜单" name="active0">
761
+ <!--查询框 start-->
762
+ <el-row class="tree-search-row">
763
+ <el-input size="small" placeholder="输入关键字进行过滤" v-model="frontMenuEntSearchvalue"></el-input>
764
+ </el-row>
765
+ <!--查询框 end-->
766
+ <!--数据 start-->
767
+ <el-row class="common-tree-row"><!--:checkel-tree="frontMenuNodeEntClick"-->
768
+ <common-tree ref="frontMenuEntTree" :request-url="frontMenuUrl" :request-param="frontMenuSearchParam['ent']"
769
+ :default-props="frontMenuDefaultProps" :parent-id="frontMenuParentId" :filter-text="frontMenuEntSearchvalue"
770
+ :deal-tree-data="frontMenuDealTreeData" :init-call-back="initFrontMenuCheck">
771
+ </common-tree>
772
+ </el-row>
773
+ <!--数据 end-->
774
+ </el-tab-pane>
775
+ <!--企业菜单 end-->
776
+
777
+ <!--政府菜单 start-->
778
+ <el-tab-pane class="tree-div" label="政府菜单" name="active1">
779
+ <!--查询框 start-->
780
+ <el-row class="tree-search-row">
781
+ <el-input size="small" placeholder="输入关键字进行过滤" v-model="frontMenuGovSearchvalue"></el-input>
782
+ </el-row>
783
+ <!--查询框 end-->
784
+ <!--数据 start-->
785
+ <el-row class="common-tree-row">
786
+ <common-tree ref="frontMenuGovTree" :request-url="frontMenuUrl" :request-param="frontMenuSearchParam['gov']"
787
+ :default-props="frontMenuDefaultProps" :parent-id="frontMenuParentId"
788
+ :filter-text="frontMenuGovSearchvalue" :deal-tree-data="frontMenuDealTreeData"
789
+ :init-call-back="initFrontMenuCheck">
790
+ </common-tree>
791
+ </el-row>
792
+ <!--数据 end-->
793
+ </el-tab-pane>
794
+ <!--政府菜单 end-->
795
+
796
+ <!--机构菜单 start-->
797
+ <el-tab-pane class="tree-div" label="机构菜单" name="active2">
798
+ <!--查询框 start-->
799
+ <el-row class="tree-search-row">
800
+ <el-input size="small" placeholder="输入关键字进行过滤" v-model="frontMenuMecSearchvalue"></el-input>
801
+ </el-row>
802
+ <!--查询框 end-->
803
+ <!--数据 start-->
804
+ <el-row class="common-tree-row">
805
+ <common-tree ref="frontMenuMecTree" :request-url="frontMenuUrl" :request-param="frontMenuSearchParam['mec']"
806
+ :default-props="frontMenuDefaultProps" :parent-id="frontMenuParentId"
807
+ :filter-text="frontMenuMecSearchvalue" :deal-tree-data="frontMenuDealTreeData"
808
+ :init-call-back="initFrontMenuCheck">
809
+ </common-tree>
810
+ </el-row>
811
+ <!--数据 end-->
812
+ </el-tab-pane>
813
+ <!--机构菜单 end-->
814
+
815
+ <!--系统菜单 start-->
816
+ <el-tab-pane class="tree-div" label="系统菜单" name="active3">
817
+ <!--查询框 start-->
818
+ <el-row class="tree-search-row">
819
+ <el-input size="small" placeholder="输入关键字进行过滤" v-model="frontMenuDevSearchvalue"></el-input>
820
+ </el-row>
821
+ <!--查询框 end-->
822
+ <!--数据 start-->
823
+ <el-row class="common-tree-row">
824
+ <common-tree ref="frontMenuDevTree" :request-url="frontMenuUrl" :request-param="frontMenuSearchParam['dev']"
825
+ :default-props="frontMenuDefaultProps" :parent-id="frontMenuParentId"
826
+ :filter-text="frontMenuDevSearchvalue" :deal-tree-data="frontMenuDealTreeData"
827
+ :init-call-back="initFrontMenuCheck">
828
+ </common-tree>
829
+ </el-row>
830
+ <!--数据 end-->
831
+ </el-tab-pane>
832
+ <!--系统菜单 end-->
833
+ </el-tabs>
834
+ <el-footer style="text-align: center;border-top: 2px solid #e4e7ed;">
835
+ <el-button @click="dialogFrontMenuVisible = false" v-loading.fullscreen.lock="fullscreenLoading"
836
+ type="primary" size="medium" style="margin-top: 20px;">确定</el-button>
837
+ <el-button @click="deteleData('frontMenu')"
838
+ type="success" size="medium" style="margin-top: 20px;">清除</el-button>
839
+ </el-footer>
840
+ </el-dialog>
841
+ <!--前台菜单详细信息弹出框 end-->
842
+
843
+ <!--数据字典详细信息弹出框 start-->
844
+ <el-dialog :close-on-click-modal=false class="dialog-sys-data el-no-footer el-no-header" :visible.sync="dialogSysDataVisible" @close="sysDataDialogClose()" width="30%" top="10vh">
845
+ <!--查询框 start-->
846
+ <div class="tree-div">
847
+ <div style="margin-top: 20px;margin-bottom: 20px;margin-left: 5px;">
848
+ <el-input size="small" placeholder="输入关键字进行过滤" v-model="sysDataSearchValue"></el-input>
849
+ </div>
850
+ <div class="common-tree-row">
851
+ <common-tree ref="sysDataTree" :request-url="sysDataUrl" :default-props="sysDataDefaultProps"
852
+ :parent-id="sysDataParentId" :filter-text="sysDataSearchValue" :init-call-back="initSysDataCheck">
853
+ </common-tree>
854
+ </div>
855
+ </div>
856
+
857
+ <el-footer style="text-align: center;border-top: 2px solid #e4e7ed;">
858
+ <el-button @click="dialogSysDataVisible = false" v-loading.fullscreen.lock="fullscreenLoading"
859
+ type="primary" size="medium" style="margin-top: 20px;">确定</el-button>
860
+ <el-button @click="deteleData('sysData')"
861
+ type="success" size="medium" style="margin-top: 20px;">清除</el-button>
862
+ </el-footer>
863
+ </el-dialog>
864
+ <!--数据字典详细信息弹出框 end-->
865
+
866
+ <!--自定义功能菜单详细信息弹出框 start-->
867
+ <el-dialog :close-on-click-modal=false class="dialog-diy-menu el-no-footer el-no-header" :visible.sync="dialogDiyMenuVisible" @close="diyMenuDialogClose()" width="50%" top="10vh">
868
+ <pl-page-table ref="diyMenuTable" :showFieldArr="diyMenuShowFieldArr" :entityName="diyMenuEntityName" :url="diyMenuUrl"
869
+ :searchParam="diyMenuSearchParam" :searchFormDataArr="diyMenuSearchFormDataArr"
870
+ :noClearSearchColumns="diyMenuNoClearSearchParam" :table-height="tableHeight" :init-check="tableInitCheck['diyMenu']['diyMenu']">
871
+ </pl-page-table>
872
+ <el-footer style="text-align: center;border-top: 2px solid #e4e7ed;">
873
+ <el-button @click="dialogDiyMenuVisible = false" v-loading.fullscreen.lock="fullscreenLoading"
874
+ type="primary" size="medium" style="margin-top: 20px;">确定</el-button>
875
+ <el-button @click="deteleData('diyMenu')"
876
+ type="success" size="medium" style="margin-top: 20px;">清除</el-button>
877
+ </el-footer>
878
+ </el-dialog>
879
+ <!--自定义功能菜单详细信息弹出框 end-->
880
+
881
+ <!--系统参数详细信息弹出框 start-->
882
+ <el-dialog :close-on-click-modal=false class="dialog-sys-param el-no-footer el-no-header" :visible.sync="dialogSysParamVisible" @close="sysParamDialogClose()" width="60%" top="10vh">
883
+ <pl-page-table ref="sysParamTable" :showFieldArr="sysParamShowFieldArr" :entityName="sysParamEntityName" :url="sysParamUrl"
884
+ :searchParam="sysParamSearchParam" :searchFormDataArr="sysParamSearchFormDataArr" :table-height="tableHeight">
885
+ </pl-page-table>
886
+ <el-footer style="text-align: center;border-top: 2px solid #e4e7ed;">
887
+ <el-button @click="dialogSysParamVisible = false" v-loading.fullscreen.lock="fullscreenLoading"
888
+ type="primary" size="medium" style="margin-top: 20px;">确定</el-button>
889
+ <el-button @click="deteleData('sysParam')"
890
+ type="success" size="medium" style="margin-top: 20px;">清除</el-button>
891
+ </el-footer>
892
+ </el-dialog>
893
+ <!--系统参数详细信息弹出框 end-->
894
+
895
+ <!--组织架构初始化 start-->
896
+ <el-dialog :close-on-click-modal=false title="组织架构初始化" height="90%" width="90%" top="5vh" class="safeValidateDialog" :visible.sync="safeValidateDialog">
897
+ <el-container>
898
+ <el-header>
899
+ 组织维度:
900
+ <el-select v-model="currentOrgDim" placeholder="请选择" size="medium" style="width: 200px;">
901
+ <el-option
902
+ v-for="item in sysOrgDimensionArr"
903
+ :key="item.id"
904
+ :label="item.dimName"
905
+ :value="item.id">
906
+ </el-option>
907
+ </el-select>
908
+ </el-header>
909
+ <el-main>
910
+ <safe-validate :org-dim="currentOrgDim"></safe-validate>
911
+ </el-main>
912
+ </el-container>
913
+ </el-dialog>
914
+ <!--组织架构初始化 end-->
915
+
916
+ </el-main>
917
+ </el-container>
918
+ </template>
919
+ <script type="text/ecmascript-6">
920
+ import {PlPageTable} from "sasp-base";
921
+ import SafeValidate from "../org/safeValidate/safeValidate";
922
+
923
+ export default {
924
+ name: "init-data",
925
+ components: {SafeValidate, PlPageTable},
926
+ data() {
927
+ return {
928
+ tableHeight:409,
929
+ selectMultiple:true,//下拉框支持多选
930
+ selectClear:true,//下拉框可清除
931
+ selectFilter:true,//下拉框可搜索
932
+ activeName: 'active0',//初始显示的tab页
933
+ configInfo:{},//弹出框中列表的配置信息
934
+ ifShow:false,
935
+ fullscreenLoading:false,//loading
936
+ defaultOrClear:true,//默认勾选还是清楚默认勾选
937
+ tableInitCheck:{//表格初始化勾选
938
+ userInfo:{},
939
+ userRole:{},
940
+ form:{},
941
+ flow:{},
942
+ complex:{},
943
+ diyMenu:{},
944
+ sysParam:{}
945
+ },//表格默认勾选设置
946
+
947
+ /*组织架构参数 start*/
948
+ dialogOrgDimeVisible:false,//组织架构弹出框
949
+ sysOrgDimensionArr:[],//组织维度
950
+ orgDimTotalNum:0,//数据总数
951
+ sysOrgDimensionNum:0,//存放组织维度div的个数
952
+
953
+ orgStruUrl:api.sysOrg.find,//组织架构请求地址
954
+ orgStruDefaultProps:{children: 'children', label: 'orgName'},//组织架构节点属性
955
+ orgStruParentId:'orgParentId',//组织架构父节点id
956
+ orgStruArrKeys:[],//组织架构查询框值
957
+ checkOrgStruNum:0,//组织架构已选择的数据
958
+ orgDimSelectNum:{},//组织架构各个维度已选的数据
959
+
960
+ orgStruClearMsg:[],//组织架构清除数据信息
961
+
962
+ orgStruCheckList:[],//选择的组织维度
963
+ orgStruCheckListOld:[],
964
+ orgStruDeleteData:[],//是否同时删除关联数据和组织维度
965
+
966
+ singleDeleteRelateCheck:false,//弹框内的同时清除关联关系
967
+
968
+ orgStruCheckObj:{},
969
+ orgStruCheckObjOld:{},
970
+ /*组织架构参数 end*/
971
+
972
+
973
+ /*用户账户参数 start*/
974
+ dialogUserVisible:false,//用户账户弹出框
975
+ userInfoTotalNum:0,//用户账户数据总数
976
+ userTypeArr:[],//用户账户类型
977
+ userTypeDivNum:0,//存放用户账户类型div的个数
978
+ userShowFieldArr:[
979
+ {field:"userAccount",fieldName:"用户账号"},
980
+ {field:"userName",fieldName:"用户名称"}],//用户账户显示字段
981
+ userEntityName:"sysUser",//用户账户实体类名称
982
+ userUrl:api.sysUser.url,//用户账户控制类名称
983
+ userSearchFormDataArr:[
984
+ {type:'el-input',field:'userAccountsearch',fieldName:'用户账户'},
985
+ // {type:'el-input',field:'userName',fieldName:'用户名称'},
986
+ ],//用户账户查询框信息
987
+ userDevsearchParam:{
988
+ 'userType':'dev',
989
+ 'userAccountsearch':'',
990
+ 'userName':''},//用户账户查询字段
991
+ userDevNoClearParam:['userType'],//用户账户不需清空的查询字段
992
+
993
+ checkUserInfoNum:0,//已选择的用户账户总数
994
+ userInfoTypeSelectNum:{"dev":0},//用户账户已选的数据数
995
+
996
+ userInfoClearMsg:[],//用户账户清除数据信息
997
+ userInfoCheckList:[],//已选择的用户账户类型
998
+
999
+ userInfoCheckBoxDis:{},//用户账户类型是否可勾选
1000
+ /*用户账户参数 end*/
1001
+
1002
+ /*角色权限参数 start*/
1003
+ dialogUserRoleVisible:false,//角色权限弹出框
1004
+ userRoleTotalNum:0,//角色权限数据总数
1005
+ userRoleTypeArr:[],//角色权限类型
1006
+ userRoleTypeDivNum:0,//存放角色权限类型div的个数
1007
+ userRoleShowFieldArr:[
1008
+ {field:"roleNumber",fieldName:"编号",width:100},
1009
+ {field:"roleName",fieldName:"角色名"},
1010
+ {field:"remark",fieldName:"拥有的菜单",width:500}],//角色权限显示字段
1011
+ userRoleEntityName:"role",//角色权限实体类名称
1012
+ userRoleUrl:this.api.role.url,//角色权限控制类名称
1013
+ userRoleSearchFormDataArr:[{type:'el-input',field:'roleName',fieldName:'角色名'}],//角色权限查询框信息
1014
+
1015
+ checkUserRoleNum:0,//已选择的角色权限总数
1016
+ userRoleTypeSelectNum:{},//各个类型选择数据的个数
1017
+
1018
+ userRoleClearMsg:[],//崛起而权限清除信息
1019
+ userRoleCheckList:[],//角色权限选择的类型
1020
+ /*角色权限参数 end*/
1021
+
1022
+ /*智能建表参数 start*/
1023
+ dialogFormVisible:false,//智能建表弹出框
1024
+ formTotalNum:0,//智能建表数据总数
1025
+ formShowFieldArr:[
1026
+ {field:"formName",fieldName:"表单名称",width:350},
1027
+ {field:"tableName",fieldName:"数据表名称",width:350},
1028
+ {field:"formType",fieldName:"所属模块大类"},
1029
+ {field:"formTypeZl",fieldName:"所属模块小类"}],//智能建表显示字段
1030
+ formEntityName:"tablebase",//智能建表实体类名称
1031
+ formUrl:'tablebaseController',//智能建表控制类名称
1032
+ formSearchFormDataArr:[
1033
+ {type:'el-input',field:'formName',fieldName:'表单名称'},
1034
+ {type:'el-input',field:'tableName',fieldName:'数据表名称'}],//智能建表查询框信息
1035
+ formSearchParam:{
1036
+ 'formName':'','tableName':'','formTypeValue':[]},//智能建表查询字段
1037
+ formOtherSearchParam:{'formType':'','formTypeZl':''},//智能建表其他查询条件
1038
+
1039
+ formTypeArr:[],//智能建表整理成树格式的模块信息
1040
+ formCascaderProps:{value:'id',label:'dataName',children:'children'},//智能建表搜索框中级联下拉框的配置信息
1041
+
1042
+ formAllModel:[],//智能建表全部模块信息
1043
+ formModelValue:[],//智能建表选中的模块数据
1044
+ formModelValueOld:[],//智能建表上一次选中的模块数据
1045
+
1046
+ checkFormNum:0,//已选择的智能建表总数
1047
+ formClearMsg:[],//智能建表清除信息
1048
+
1049
+ formTypeDataTotalNum:0,//智能建表选择模块的总共数据数
1050
+ /*智能建表参数 end*/
1051
+
1052
+
1053
+ /*工作流参数 start*/
1054
+ dialogFlowVisible:false,//工作流弹出框
1055
+ flowTotalNum:0,//工作流数据总数
1056
+ flowTypeArr:[],//工作流类型
1057
+ flowTypeValue:[],//选中的工作流类型
1058
+ flowConfigShowFieldArr:[
1059
+ {field:"flowName",fieldName:"流程名称"},
1060
+ {field:"flowClass",fieldName:"流程分类"},
1061
+ {field:"formName",fieldName:"主表单名称"}],//工作流配置信息的显示字段
1062
+ flowConfigEntityName:"flowDefine",//工作流配置信息的实体类名称
1063
+ flowConfigUrl:'flowDefineController',//工作流配置信息的控制类名称
1064
+ flowConfigSearchFormDataArr:[{type:'el-input',field:'flowName',fieldName:'流程名称'}],//工作流配置信息的查询框信息
1065
+ flowConfigSearchParam:{'flowName':'','flowClass':''},//工作流配置信息的查询字段
1066
+
1067
+ flowInstShowFieldArr:[
1068
+ {field:"flowSummary",fieldName:"实例描述"},
1069
+ {field:"flowName",fieldName:"关联流程配置"},
1070
+ {field:"flowClass",fieldName:"流程分类"}],//工作流实例的显示字段
1071
+ flowInstEntityName:"flowInst",//工作流实例的实体类名称
1072
+ flowInstUrl:'flowInstController',//工作流实例的显示字段
1073
+ flowInstSearchFormDataArr:[
1074
+ {type:'el-input',field:'flowSummary',fieldName:'实例描述'},
1075
+ /*{type:'el-input',field:'flowName',fieldName:'关联流程配置'},*/],//工作流实例的查询框信息
1076
+ flowInstSearchParam:{'onlyPending':'onlyPending','flowSummary':'','flowName':'','flowClass':''},//工作流实例的查询字段
1077
+ noClearSearchColumns:['onlyPending'],
1078
+
1079
+ checkFlowNum:0,//已选择的工作流总数
1080
+ flowClearMsg:[],//工作流清除信息
1081
+ flowCheckList:[],//工作流选择的类型
1082
+ /*工作流参数 end*/
1083
+
1084
+
1085
+ /*复合视图参数 start*/
1086
+ dialogComplexVisible:false,//复合视图弹出框
1087
+ complexTotalNum:0,//复合视图数据总数
1088
+ complexShowFieldArr:[{field:"viewName",fieldName:"视图名称"}],//复合视图显示字段
1089
+ complexEntityName:"complex",//复合视图实体类名称
1090
+ complexUrl:this.api.complex.url,//复合视图控制类名称
1091
+ complexSearchFormDataArr:[{type:'el-input',field:'viewName',fieldName:'视图名称'}],//复合视图查询框
1092
+ complexSearchParam:{'viewName':''},//复合视图查询字段
1093
+
1094
+ checkComplexNum:0,//已选择的复合视图的总数
1095
+ complexClearMsg:[],//复合视图清除信息
1096
+ /*复合视图参数 end*/
1097
+
1098
+ /*前台菜单参数 start*/
1099
+ dialogFrontMenuVisible:false,//前台菜单弹出框
1100
+ frontMenuTotalNum:0,//前台菜单数据总数
1101
+ frontMenuUrl:this.api.menu.findAllMenuAndModel,//前台菜单数据请求地址
1102
+ frontMenuSearchParam:{ent:{cdss:"企业"},gov:{cdss:"政府"},mec:{cdss:"机构"},dev:{cdss:"系统"}},//前台菜单的查询参数
1103
+ frontMenuParentId:'menuSjbh',//前台菜单父节点id
1104
+ frontMenuDefaultProps:{children: 'children', label: 'menuName'},//前台菜单节点对应属性
1105
+
1106
+ frontMenuEntSearchvalue:"",//企业前台菜单查询框值
1107
+ frontMenuGovSearchvalue:"",//政府前台菜单查询框值
1108
+ frontMenuMecSearchvalue:"",//机构前台菜单查询框值
1109
+ frontMenuDevSearchvalue:"",//系统前台菜单查询框值
1110
+
1111
+ checkFrontMenuNum:0,//前台菜单已选择的数据
1112
+ checkFrontMenuNumByType:{ent:0,gov:0,mec:0,dev:0},//各个类型选择的数据数
1113
+
1114
+ frontMenuClearMsg:[],//前台菜单清除信息
1115
+ frontMenuCheckList:[],//已选的前台菜单类型
1116
+ frontMenuCheckListOld:[],
1117
+
1118
+ frontMenuCheckObjOld:{ent:{}, gov:{}, mec:{}, dev:{}},
1119
+ frontMenuCheckObj:{ent:{},gov:{},mec:{},dev:{}},
1120
+ /*前台菜单参数 end*/
1121
+
1122
+
1123
+ /*数据字典参数 start*/
1124
+ dialogSysDataVisible:false,//数据字典弹出框
1125
+ sysDataTypeTotalNum:0,//数据字典类型总数
1126
+ sysDataTotalNum:0,//数据字典数据总数
1127
+ sysDataTypeArr:[],//数据字典类型
1128
+ sysDataTypeValue:[],//数据字典选中的类型
1129
+ sysDataTypeValueOld:[],
1130
+
1131
+ sysDataUrl:api.data.findAllTypeAndData,//数据字典请求地址
1132
+ sysDataDefaultProps:{children: 'children', label: 'dataName'},//数据字典节点属性
1133
+ sysDataParentId:'parentId',//数据字典父节点id
1134
+ sysDataSearchValue:"",//数据字典查询框值
1135
+ checkSysDataNum:0,//数据字典已选择的数据
1136
+ sysDataTypeSelectNum:0,//类型已选的数据
1137
+ sysDataSelectNum:0,//具体数据已选的数据
1138
+
1139
+ sysDataClearMsg:[],//数据字典清除信息
1140
+
1141
+ sysDataCheckObj:{},
1142
+ sysDataTypeCheckObj:{},
1143
+ /*数据字典参数 end*/
1144
+
1145
+
1146
+ /*自定义功能菜单参数 start*/
1147
+ dialogDiyMenuVisible:false,//自定义功能菜单弹出框
1148
+ diyMenuTotalNum:0,//自定义功能菜单数据总数
1149
+ diyMenuTypeArr:[],//自定义功能菜单类型
1150
+ diyMenuTypeValue:[],//自定义功能菜单选中的类型
1151
+ diyMenuShowFieldArr:[
1152
+ {field:"gnlb",fieldName:"功能类别"},
1153
+ {field:"gnmc",fieldName:"功能名称"},
1154
+ {field:"ljdz",fieldName:"链接地址",width:400}],//自定义功能菜单显示字段
1155
+ diyMenuSearchFormDataArr:[{type:'el-input',field:'gnmc',fieldName:'功能名称'}],//自定义功能菜单查询框信息
1156
+ diyMenuSearchParam:{'ifcustomizemenu':'yes','gnmc':'','gnlb':''},//自定义功能菜单查询字段
1157
+ diyMenuNoClearSearchParam:['ifcustomizemenu'],//自定义功能菜单不需清空的字段
1158
+
1159
+ checkDiyMenuNum:0,//已选择的自定义功能菜单总数
1160
+ diyMenuClearMsg:[],//自定义功能菜单清除信息
1161
+ /*自定义功能菜单参数 end*/
1162
+
1163
+ /*系统参数配置信息 start*/
1164
+ dialogSysParamVisible:false,//系统参数弹出框
1165
+ sysParamTotalNum:0,//系统参数数据总数
1166
+ sysParamShowFieldArr:[
1167
+ {field:"paramName",fieldName:"参数名称"},
1168
+ {field:"paramKey",fieldName:"参数键值"},
1169
+ {field:"paramVal",fieldName:"参数值",width:500}],//系统参数显示字段
1170
+ sysParamEntityName:"sysParam",//系统参数实体类名称
1171
+ sysParamUrl:api.param.url,//系统参数控制类名称
1172
+ sysParamSearchFormDataArr:[
1173
+ {type:'el-input',field:'paramName',fieldName:'参数名称'},
1174
+ {type:'el-input',field:'paramKey',fieldName:'参数键值'},
1175
+ {type:'el-input',field:'paramVal',fieldName:'参数值'}],//系统参数查询框信息
1176
+ sysParamSearchParam:{'paramName':'','paramKey':'','paramVal':''},//系统参数查询字段
1177
+
1178
+ checkSysParamNum:0,//已选择的系统参数总数
1179
+ sysParamClearMsg:[],//系统参数清除信息
1180
+ /*系统参数配置信息 end*/
1181
+
1182
+ /*其他模块参数 start*/
1183
+ safeRegionTotalNum:0,//三位一体数据总数
1184
+ gisTotalNum:0,//gis数据总数
1185
+ logTotalNum:0,//日志数据总数
1186
+ otherCheckValueArr:[],//其他勾选的数据
1187
+ checkOtherNum:0,//其他模块勾选的数据总数
1188
+ otherClearMsg:[],//其他模块清除信息
1189
+ /*其他模块参数 start*/
1190
+ checkList:[],
1191
+
1192
+
1193
+ safeValidateDialog:false,
1194
+ currentOrgDim:'',
1195
+ }
1196
+ },
1197
+ watch:{
1198
+ orgStruCheckList(){
1199
+ let vm = this;
1200
+ vm.countOrgStruCheckNum(true);
1201
+ },
1202
+
1203
+ userInfoCheckList(){
1204
+ let vm = this;
1205
+ //表格初始化时勾选数据
1206
+ vm.tableInitCheck["userInfo"] = {};
1207
+ vm.userInfoCheckList.forEach(function (data) {
1208
+ vm.tableInitCheck["userInfo"][data] = {initCheck:"all"};
1209
+ });
1210
+ //计算选择的数据总数
1211
+ vm.countUserInfoCheckNum();
1212
+ },
1213
+
1214
+ userRoleCheckList(){
1215
+ let vm = this;
1216
+ //表格初始化时勾选数据
1217
+ vm.tableInitCheck["userRole"] = {};
1218
+ vm.userRoleCheckList.forEach(function (data) {
1219
+ vm.tableInitCheck["userRole"][data] = {initCheck:"all"};
1220
+ });
1221
+
1222
+ //计算选择的数据总数
1223
+ vm.countUserRoleCheckNum();
1224
+ },
1225
+
1226
+ formModelValue(){
1227
+ let vm = this;
1228
+ vm.countFormCheckNum();
1229
+ },
1230
+
1231
+ flowTypeValue(){
1232
+ let vm = this;
1233
+ vm.countFlowCheckNum();
1234
+ },
1235
+
1236
+ diyMenuTypeValue(){
1237
+ let vm = this;
1238
+ vm.countDiyMenuCheckNum();
1239
+ },
1240
+
1241
+ frontMenuCheckList(){
1242
+ let vm = this;
1243
+ vm.countFrontMenuCheckNum(true);
1244
+ },
1245
+
1246
+ sysDataTypeValue(){
1247
+ let vm = this;
1248
+ vm.countSysDataCheckNum(true);
1249
+ },
1250
+ },
1251
+ methods: {
1252
+ //整理table所需的配置信息
1253
+ setConfigInfoKey(data,type){
1254
+ let paramArr = [];
1255
+ for(let key in data){
1256
+ /*配置参数名称 start*/
1257
+ let configNameMap = {};
1258
+ //数据key
1259
+ configNameMap['key'] = key;
1260
+ //数据value
1261
+ if(type == "front-menu"){
1262
+ configNameMap['value'] = data[key].substring(0,2) + "菜单";
1263
+ }else{
1264
+ configNameMap['value'] = data[key];
1265
+ }
1266
+
1267
+ //table标识的名称
1268
+ let ref = type + '-' + key + '-table';
1269
+ //查询字段的名称
1270
+ let searchParam = type + '-'+ key + '-search-param';
1271
+ //不需清空的查询字段的名称
1272
+ let noClearSearchColumns = type + '-' + key + '-no-clear-column';
1273
+ //存储
1274
+ configNameMap['ref'] = ref;
1275
+ configNameMap['searchParam'] = searchParam;
1276
+ configNameMap['noClearSearchColumns'] = noClearSearchColumns;
1277
+
1278
+ paramArr.push(configNameMap);
1279
+ /*配置参数名称 end*/
1280
+ }
1281
+ return paramArr;
1282
+ },
1283
+
1284
+ //计算显示类型所需的div个数,以便样式排布
1285
+ countParamDivNum(paramLength){
1286
+ let typeDivNum = 0;
1287
+ //如果类型个数不能被2整除,则div个数在类型个数除以2的基础上加1
1288
+ if(paramLength % 2 != 0){
1289
+ typeDivNum = parseInt(paramLength / 2) + 1;
1290
+ }else{//如果类型个数能被2整除,则div个数即为类型个数除以2
1291
+ typeDivNum = parseInt(paramLength / 2);
1292
+ }
1293
+ return typeDivNum;
1294
+ },
1295
+
1296
+ /*组织架构 start*/
1297
+ //获取组织维度信息
1298
+ getOrgDimension(){
1299
+ let vm = this;
1300
+ //查询组织维度
1301
+ vm.axios.post(vm.api.sysOrgDimension.find).then(function (res) {
1302
+ if(res.data){
1303
+ let orgDimIds = "";
1304
+ //存放组织维度信息
1305
+ vm.sysOrgDimensionArr = res.data;
1306
+ //计算组织维度需要的div个数
1307
+ vm.sysOrgDimensionNum = vm.countParamDivNum(res.data.length);
1308
+
1309
+ //初始化各个维度已选数据对象
1310
+ res.data.forEach(function (orgDim) {
1311
+ vm.orgDimSelectNum[orgDim.id] = 0;
1312
+ orgDimIds += "," + orgDim.id;
1313
+ vm.orgStruCheckObj[orgDim.id] = {};
1314
+ vm.orgStruCheckObjOld[orgDim.id] = {};
1315
+ });
1316
+ if(orgDimIds){
1317
+ orgDimIds = orgDimIds.substring(1);
1318
+ }
1319
+ vm.countOrgDimTotalNum(orgDimIds);
1320
+ }
1321
+ });
1322
+ },
1323
+
1324
+ //计算组织架构数据总数
1325
+ countOrgDimTotalNum(orgDimIds){
1326
+ let vm = this;
1327
+ vm.axios.post(vm.api.sysOrg.count,{orgDims:orgDimIds}).then(function (res) {
1328
+ if(res.data){
1329
+ vm.orgDimTotalNum = res.data;
1330
+ }
1331
+ });
1332
+ },
1333
+
1334
+ //显示组织架构详细信息
1335
+ showOrgDimensionData(){
1336
+ let vm = this;
1337
+ vm.dialogOrgDimeVisible = true;
1338
+
1339
+ for(let type of vm.sysOrgDimensionArr){
1340
+ if(vm.$refs['orgStruTree' + type.id]){
1341
+ let objArr = Object.keys(vm.orgStruCheckObj[type.id]);
1342
+ let objOldArr = Object.keys(vm.orgStruCheckObjOld[type.id]);
1343
+ if(objArr.length > 0){
1344
+ vm.$refs['orgStruTree' + type.id][0].setTreeCheckedKeys(objArr);
1345
+ }else if(objOldArr.length > 0){
1346
+ vm.$refs['orgStruTree' + type.id][0].setTreeCheckedKeys(objOldArr,'',false);
1347
+ }else if(vm.orgStruCheckList.indexOf(type.id) > -1){
1348
+ vm.$refs['orgStruTree' + type.id][0].setTreeCheckedAll();
1349
+ }
1350
+ }
1351
+ }
1352
+ vm.orgStruArrKeys = [];
1353
+ },
1354
+
1355
+ //组织架构弹出框关闭事件
1356
+ orgStruDialogClose(){
1357
+ let vm = this;
1358
+ for(let elem of vm.sysOrgDimensionArr){
1359
+ if(vm.$refs['orgStruTree' + elem.id]){
1360
+ let obj = vm.orgStruCheckObj[elem.id];
1361
+ let nodesMap = vm.$refs['orgStruTree' + elem.id][0].getAllNode();
1362
+ for(let [key,node] of Object.entries(nodesMap)){
1363
+ if(node.checked){
1364
+ obj[key] = node;
1365
+ }else{
1366
+ delete obj[key];
1367
+ }
1368
+ }
1369
+ vm.orgStruCheckObjOld[elem.id] = obj;
1370
+ }
1371
+ }
1372
+ vm.countOrgStruCheckNum();
1373
+ },
1374
+
1375
+ //计算选择数
1376
+ countOrgStruCheckNum(isChangeType){
1377
+ let vm = this;
1378
+ vm.checkOrgStruNum = 0;
1379
+
1380
+ for(let type of vm.sysOrgDimensionArr){
1381
+ if(vm.orgStruCheckList.indexOf(type.id) > -1){
1382
+ if(vm.$refs['orgStruTree' + type.id]){
1383
+ if(isChangeType){
1384
+ if(vm.orgStruCheckListOld.indexOf(type.id) < 0 && vm.orgStruCheckList.indexOf(type.id) > -1){
1385
+ vm.axios.post(vm.api.sysOrg.findIds,{orgDim:type.id}).then(function (res) {
1386
+ if(res.data){
1387
+ vm.checkOrgStruNum += res.data.length;
1388
+ vm.orgDimSelectNum[type.id] = res.data.length;
1389
+ for(let data of res.data){
1390
+ vm.orgStruCheckObj[type.id][data] = data;
1391
+ }
1392
+ }
1393
+ });
1394
+ }else{
1395
+ let length = Object.keys(vm.orgStruCheckObj[type.id]).length;
1396
+ vm.checkOrgStruNum += length;
1397
+ vm.orgDimSelectNum[type.id] = length;
1398
+ }
1399
+ }else{
1400
+ let length = Object.keys(vm.orgStruCheckObj[type.id]).length;
1401
+ vm.checkOrgStruNum += length;
1402
+ vm.orgDimSelectNum[type.id] = length;
1403
+ }
1404
+
1405
+ }else{
1406
+ vm.axios.post(vm.api.sysOrg.findIds,{orgDim:type.id}).then(function (res) {
1407
+ if(res.data){
1408
+ vm.checkOrgStruNum += res.data.length;
1409
+ vm.orgDimSelectNum[type.id] = res.data.length;
1410
+ }
1411
+ });
1412
+ }
1413
+ }else if(vm.$refs['orgStruTree' + type.id]){
1414
+ let length = 0;
1415
+ if(isChangeType){
1416
+ if(vm.orgStruCheckListOld.indexOf(type.id) > -1 && vm.orgStruCheckList.indexOf(type.id) < 0){
1417
+ vm.orgStruCheckObj[type.id] = {};
1418
+ }else{
1419
+ length = Object.keys(vm.orgStruCheckObj[type.id]).length;
1420
+ }
1421
+ }else{
1422
+ length = Object.keys(vm.orgStruCheckObj[type.id]).length;
1423
+ }
1424
+
1425
+ vm.checkOrgStruNum += length;
1426
+ vm.orgDimSelectNum[type.id] = length;
1427
+ }
1428
+ }
1429
+
1430
+ if(isChangeType){
1431
+ vm.orgStruCheckListOld = vm.orgStruCheckList;
1432
+ }
1433
+ },
1434
+
1435
+ //初始化加载勾选数据
1436
+ initOrgStruCheck(){
1437
+ let vm = this;
1438
+ for(let elem of vm.sysOrgDimensionArr){
1439
+ if(vm.orgStruCheckList.indexOf(elem.id) > -1){
1440
+ vm.$refs['orgStruTree' + elem.id][0].setTreeCheckedAll();
1441
+ }
1442
+ }
1443
+ },
1444
+
1445
+ //树节点击事件
1446
+ orgStruNodeClick(data){
1447
+ let vm = this;
1448
+ let node = {};
1449
+ for(let elem of vm.sysOrgDimensionArr){
1450
+ let nodesMap = vm.$refs['orgStruTree' + elem.id][0].getAllNode();
1451
+ if(nodesMap[data.id]){
1452
+ node = nodesMap[data.id];
1453
+
1454
+ let currentChildrenArr = vm.$refs['orgStruTree' + elem.id][0].getCurrentChildren(data,[]);
1455
+
1456
+ if(vm.orgStruCheckList.indexOf(elem.id) > -1 && !node.checked){
1457
+ //当前节点
1458
+ vm.orgStruNoCheckObj[elem.id][data.id] = data;
1459
+ //当前节点的子节点
1460
+ if(currentChildrenArr && currentChildrenArr.length > 0){
1461
+ currentChildrenArr.forEach(nodeId => {
1462
+ vm.orgStruNoCheckObj[elem.id][nodeId] = nodesMap[nodeId];
1463
+ });
1464
+ }
1465
+ }else if(vm.orgStruCheckList.indexOf(elem.id) > -1 && node.checked){
1466
+ //当前节点
1467
+ delete vm.orgStruNoCheckObj[elem.id][data.id];
1468
+ //当前节点的子节点
1469
+ if(currentChildrenArr && currentChildrenArr.length > 0){
1470
+ currentChildrenArr.forEach(nodeId => {
1471
+ delete vm.orgStruNoCheckObj[elem.id][nodeId];
1472
+ });
1473
+ }
1474
+ }else if(vm.orgStruCheckList.indexOf(elem.id) < 0 && !node.checked){
1475
+ //当前节点
1476
+ delete vm.orgStruCheckObj[elem.id][data.id];
1477
+ //当前节点的子节点
1478
+ if(currentChildrenArr && currentChildrenArr.length > 0){
1479
+ currentChildrenArr.forEach(nodeId => {
1480
+ delete vm.orgStruCheckObj[elem.id][nodeId];
1481
+ });
1482
+ }
1483
+ }else if(vm.orgStruCheckList.indexOf(elem.id) < 0 && node.checked){
1484
+ //当前节点
1485
+ vm.orgStruCheckObj[elem.id][data.id] = data;
1486
+ //当前节点的子节点
1487
+ if(currentChildrenArr && currentChildrenArr.length > 0){
1488
+ currentChildrenArr.forEach(nodeId => {
1489
+ vm.orgStruCheckObj[elem.id][nodeId] = nodesMap[nodeId];
1490
+ });
1491
+ }
1492
+ }
1493
+ break;
1494
+ }
1495
+ }
1496
+ },
1497
+ /*组织架构 end*/
1498
+
1499
+
1500
+ /*用户账户 start*/
1501
+ //获取用户账户类型
1502
+ getUserType(){
1503
+ let vm = this;
1504
+ //根据type名称获取数据
1505
+ vm.axios.post(vm.api.param.getSysParams,{key:'SysUserType'}).then(function (res) {
1506
+ if(res.data){
1507
+ //获取值
1508
+ let data = eval('(' + res.data['SysUserType'] + ')');
1509
+ //整理用户账户类型格式
1510
+ let userTypeParamArr = vm.setConfigInfoKey(data,"user");
1511
+ vm.userTypeArr = userTypeParamArr;
1512
+ //计算用户账户类型div个数
1513
+ vm.userTypeDivNum = vm.countParamDivNum(Number(userTypeParamArr.length));
1514
+ //初始化各个类型已选数据个数的对象
1515
+ userTypeParamArr.forEach(function (userType) {
1516
+ vm.userInfoTypeSelectNum[userType.key] = 0;
1517
+ });
1518
+ }
1519
+ });
1520
+ },
1521
+
1522
+ //计算用户账户数据总数
1523
+ countUserInfoToatalNum(){
1524
+ let vm = this;
1525
+ vm.axios.post(vm.api.sysUser.count,{userTypeNoEq:'sup'}).then(function (res) {
1526
+ if(res.data){
1527
+ vm.userInfoTotalNum = res.data;
1528
+ }
1529
+ });
1530
+ },
1531
+
1532
+ //显示用户账户详细信息
1533
+ showUserInfo(){
1534
+ let vm = this;
1535
+ let infoValueMap = {};
1536
+
1537
+ //显示弹出框
1538
+ vm.dialogUserVisible = true;
1539
+ if(!vm.configInfo['userInfo']){
1540
+ //循环用户账户类型,设置各个类型的查询字段和不需清空的字段
1541
+ vm.userTypeArr.forEach(function (configNameMap) {
1542
+ /*配置参数值 start*/
1543
+ //查询字段
1544
+ infoValueMap[configNameMap.searchParam] = {'userType':configNameMap.key,
1545
+ 'userAccountsearch':'', 'userName':''};
1546
+ //不需清空的字段
1547
+ infoValueMap[configNameMap.noClearSearchColumns] = ['userType'];
1548
+ /*配置参数值 end*/
1549
+ });
1550
+ //存入配置信息中
1551
+ vm.configInfo['userInfo'] = infoValueMap;
1552
+ }
1553
+
1554
+ vm.userTypeArr.forEach(function (configNameMap) {
1555
+ if(vm.$refs[configNameMap.ref]){
1556
+ vm.$refs[configNameMap.ref][0].resetSearch();
1557
+ }
1558
+ });
1559
+ },
1560
+
1561
+ //用户账户弹框关闭事件
1562
+ userInfoDialogClose(){
1563
+ let vm = this;
1564
+ vm.countUserInfoCheckNum();
1565
+ },
1566
+
1567
+ //计算选择数
1568
+ countUserInfoCheckNum(){
1569
+ let vm = this;
1570
+ vm.checkUserInfoNum = 0;
1571
+ //用户账户类型
1572
+ let dataArr = vm.userTypeArr;
1573
+
1574
+ //循环类型数组,计算所有类型总共选了多少条数据
1575
+ dataArr.forEach(function (configNameMap) {
1576
+ if(vm.userInfoCheckList.indexOf(configNameMap.key) > -1){
1577
+ vm.axios.post(vm.api.sysUser.count,{userType:configNameMap.key}).then(function (res) {
1578
+ if(res.data){
1579
+ let num = res.data;
1580
+ if(vm.$refs[configNameMap.ref]){
1581
+ let noCheckData = vm.$refs[configNameMap.ref][0].multipleNoSelection;
1582
+ if(noCheckData){
1583
+ num = num - Object.keys(noCheckData).length;
1584
+ }
1585
+ }
1586
+ vm.checkUserInfoNum += num;
1587
+ vm.userInfoTypeSelectNum[configNameMap.key] = num;
1588
+ }
1589
+ });
1590
+ }else if(vm.$refs[configNameMap.ref]){
1591
+ //根据ref获取选择的数据
1592
+ let dataObj = vm.$refs[configNameMap.ref][0].multipleSelection;
1593
+ //计算选择数据的数目
1594
+ if(dataObj){
1595
+ let length = Object.keys(dataObj).length;
1596
+ vm.checkUserInfoNum += length;
1597
+ vm.userInfoTypeSelectNum[configNameMap.key] = length;
1598
+ }
1599
+ }
1600
+
1601
+
1602
+ });
1603
+
1604
+ //计算选择的开发用户的条数
1605
+ if(vm.userInfoCheckList.indexOf("dev") > -1){
1606
+ vm.axios.post(vm.api.sysUser.count,{userType:"dev"}).then(function (res) {
1607
+ if(res.data){
1608
+ let num = res.data;
1609
+ if(vm.$refs.userDevDialogTable){
1610
+ let noCheckData = vm.$refs.userDevDialogTable.multipleNoSelection;
1611
+ if(noCheckData){
1612
+ num = num - Object.keys(noCheckData).length;
1613
+ }
1614
+ }
1615
+ vm.checkUserInfoNum += num;
1616
+ vm.userInfoTypeSelectNum["dev"] = num;
1617
+ }
1618
+ });
1619
+ }else if(vm.$refs.userDevDialogTable){
1620
+ let devDataObj = vm.$refs.userDevDialogTable.multipleSelection;
1621
+ if(devDataObj){
1622
+ let length = Object.keys(devDataObj).length;
1623
+ vm.checkUserInfoNum += length;
1624
+ vm.userInfoTypeSelectNum["dev"] = length;
1625
+ }
1626
+ }
1627
+ },
1628
+ /*用户账户 end*/
1629
+
1630
+
1631
+ /*角色权限 start*/
1632
+ //获取角色权限类型
1633
+ getUserRoleType() {
1634
+ let vm = this;
1635
+ //根据type名称查询数据
1636
+ vm.axios.post(vm.api.param.getSysParams, {key: 'userDimension'}).then(function (res) {
1637
+ if (res.data) {
1638
+ //角色权限类型
1639
+ let data = eval('(' + res.data['userDimension'] + ')');
1640
+ //整理数据格式
1641
+ let paramArr = vm.setConfigInfoKey(data,"user-role");
1642
+ //存放类型信息
1643
+ vm.userRoleTypeArr = paramArr;
1644
+ //计算角色权限类型所需的div个数
1645
+ vm.userRoleTypeDivNum = vm.countParamDivNum(Number(paramArr.length));
1646
+ //初始化各个类型选择数据个数的对象
1647
+ paramArr.forEach(function (param) {
1648
+ vm.userRoleTypeSelectNum[param.key] = 0;
1649
+ });
1650
+ }
1651
+ vm.countUserRoleTotalNum();
1652
+ });
1653
+ },
1654
+
1655
+ //计算角色权限数据总数
1656
+ countUserRoleTotalNum(){
1657
+ let vm = this;
1658
+ let ids = "";
1659
+ vm.userRoleTypeArr.forEach(function (userRoleType) {
1660
+ ids += "," + userRoleType.key;
1661
+ });
1662
+ vm.axios.post(vm.api.role.count,{roleTypes:ids}).then(function (res) {
1663
+ if(res.data){
1664
+ vm.userRoleTotalNum = res.data;
1665
+ }
1666
+ });
1667
+ },
1668
+
1669
+ //显示角色权限详细信息
1670
+ showUserRole(){
1671
+ let vm = this;
1672
+ //显示角色权限弹窗
1673
+ vm.dialogUserRoleVisible = true;
1674
+
1675
+ let infoValueMap = {};
1676
+ if(!vm.configInfo['userRole']){
1677
+ //循环角色权限类型,设置各个类型的查询字段和不需清空的字段
1678
+ vm.userRoleTypeArr.forEach(function (configNameMap) {
1679
+ /*配置参数值 start*/
1680
+ //查询字段
1681
+ infoValueMap[configNameMap.searchParam] = {'roleType':configNameMap.key, 'roleName':''};
1682
+ //不需清空的字段
1683
+ infoValueMap[configNameMap.noClearSearchColumns] = ['roleType'];
1684
+ /*配置参数值 end*/
1685
+ });
1686
+ //存放配置信息
1687
+ vm.configInfo['userRole'] = infoValueMap;
1688
+ }
1689
+
1690
+ vm.userRoleTypeArr.forEach(function (configNameMap) {
1691
+ if(vm.$refs[configNameMap.ref]){
1692
+ vm.$refs[configNameMap.ref][0].resetSearch();
1693
+ }
1694
+ });
1695
+ },
1696
+
1697
+ //用户角色弹窗关闭事件
1698
+ userRoleDialogClose(){
1699
+ let vm = this;
1700
+ vm.countUserRoleCheckNum();
1701
+ },
1702
+
1703
+ //计算选择数
1704
+ countUserRoleCheckNum(){
1705
+ let vm = this;
1706
+ vm.checkUserRoleNum = 0;
1707
+ //角色权限类型
1708
+ let dataArr = vm.userRoleTypeArr;
1709
+ //循环类型数组,计算总共选择的数据总数
1710
+ dataArr.forEach(function (configNameMap) {
1711
+ if(vm.userRoleCheckList.indexOf(configNameMap.key) > -1){
1712
+ vm.axios.post(vm.api.role.count,{roleType:configNameMap.key}).then(function (res) {
1713
+ if(res.data){
1714
+ let num = res.data;
1715
+ if(vm.$refs[configNameMap.ref]){
1716
+ let noCheckData = vm.$refs[configNameMap.ref][0].multipleNoSelection;
1717
+ if(noCheckData){
1718
+ num = num - Object.keys(noCheckData).length;
1719
+ }
1720
+ }
1721
+ vm.checkUserRoleNum += num;
1722
+ //各个类型选择的数据个数
1723
+ vm.userRoleTypeSelectNum[configNameMap.key] = num;
1724
+ }
1725
+ });
1726
+ }else if(vm.$refs[configNameMap.ref]){
1727
+ let dataObj = vm.$refs[configNameMap.ref][0].multipleSelection;
1728
+ if(dataObj){
1729
+ let length = Object.keys(dataObj).length;
1730
+ vm.checkUserRoleNum += length;
1731
+ vm.userRoleTypeSelectNum[configNameMap.key] = length;
1732
+ }
1733
+ }
1734
+ });
1735
+ },
1736
+ /*角色权限 end*/
1737
+
1738
+ /*智能建表 start*/
1739
+ //获取只能建表所有的模块信息
1740
+ getFormAllModel(){
1741
+ let vm = this;
1742
+ //查询数据
1743
+ vm.axios.post('tablebaseController/findAllFormType').then(function (res) {
1744
+ if(res.data){
1745
+ vm.formAllModel = res.data;
1746
+ }
1747
+ });
1748
+ },
1749
+
1750
+ //计算智能建表数据总数
1751
+ countFormTotalNum(){
1752
+ let vm = this;
1753
+ vm.axios.post("tablebaseController/count").then(function (res) {
1754
+ if(res.data){
1755
+ vm.formTotalNum = res.data;
1756
+ }
1757
+ });
1758
+ },
1759
+
1760
+ //显示智能建表详细信息
1761
+ showFormData(){
1762
+ let vm = this;
1763
+ //显示智能建表弹出框
1764
+ vm.dialogFormVisible = true;
1765
+ //将智能建表模块整理成树的形式
1766
+ vm.axios.post('tablebaseController/findFormTypeTree').then(function (res) {
1767
+ //存放数据
1768
+ vm.formTypeArr = res.data;
1769
+ //删除智能建表最后一个搜索框信息
1770
+ vm.formSearchFormDataArr.splice(2,1);
1771
+ //设置搜索框中所属模块的配置信息
1772
+ vm.formSearchFormDataArr.push({type:'el-cascader',field:'formTypeValue',fieldName:'所属模块',optionDataArr:res.data});
1773
+ });
1774
+
1775
+ vm.$nextTick(function () {
1776
+ vm.tableInitCheck["form"]["form"] = { typeArr: vm.formModelValue};
1777
+ vm.$refs.formTable.initTableCheck(vm.$refs.formTable.crud.dataStore.records,vm.tableInitCheck["form"]["form"]);
1778
+
1779
+ if(vm.$refs.formTable){
1780
+ vm.$refs.formTable.resetSearch();
1781
+ }
1782
+
1783
+ });
1784
+ },
1785
+
1786
+ //所属模块级联下拉框的change事件
1787
+ formCascaderChangeFunc(selectValue){
1788
+ let vm = this;
1789
+ if(selectValue.length > 1){
1790
+ //模块大类
1791
+ vm.formOtherSearchParam.formType = selectValue[0];
1792
+ //模块小类
1793
+ vm.formOtherSearchParam.formTypeZl = selectValue[1];
1794
+ }else{
1795
+ //模块大类
1796
+ vm.formOtherSearchParam.formType = selectValue[0];
1797
+ //模块小类
1798
+ vm.formOtherSearchParam.formTypeZl = '';
1799
+ }
1800
+ },
1801
+
1802
+ //弹窗关闭事件
1803
+ formDialogClose(){
1804
+ let vm = this;
1805
+ vm.countFormCheckNum();
1806
+ },
1807
+
1808
+ //计算选择数
1809
+ countFormCheckNum(){
1810
+ let vm = this;
1811
+ let num = 0;
1812
+ if(vm.formModelValue && vm.formModelValue.length > 0){
1813
+ vm.tableInitCheck["form"] = {};
1814
+ let modelIds = vm.formModelValue.join(",");
1815
+ vm.axios.post("tablebaseController/findByFormTypeArr",
1816
+ {formTypes:modelIds}).then(function (res) {
1817
+ if(res.data && res.data['dataList'] && res.data['dataList'].length > 0) {
1818
+ let datas = res.data['dataList'];
1819
+ //表格默认勾选数据
1820
+ vm.tableInitCheck["form"]["form"] = {
1821
+ initCheck: "noAll",
1822
+ field: "formType",
1823
+ typeArr: vm.formModelValue
1824
+ };
1825
+
1826
+ num = datas.length;
1827
+ //记录的选择的数据
1828
+ if (vm.$refs.formTable) {
1829
+
1830
+ vm.$refs.formTable.initTableCheck(vm.$refs.formTable.crud.dataStore.records,vm.tableInitCheck["form"]["form"]);
1831
+
1832
+ let noDataObj = vm.$refs.formTable.multipleNoSelection;
1833
+ if(noDataObj){
1834
+ for(let key in noDataObj){
1835
+ if(vm.formModelValue.indexOf(noDataObj[key].formType) > -1){
1836
+ num -= 1;
1837
+ }
1838
+ }
1839
+ }
1840
+
1841
+ let dataObj = vm.$refs.formTable.multipleSelection;
1842
+ if(dataObj){
1843
+ for(let key in dataObj){
1844
+ if(vm.formModelValue.indexOf(dataObj[key].formType) < 0 ){
1845
+ num += 1;
1846
+ }
1847
+ }
1848
+ }
1849
+
1850
+ } else {
1851
+ num = datas.length;
1852
+ }
1853
+ vm.checkFormNum = num;
1854
+ }
1855
+ });
1856
+ }else{
1857
+ if(vm.$refs.formTable){
1858
+ vm.$refs.formTable.initTableCheck(vm.$refs.formTable.crud.dataStore.records,{ initCheck: "noAll", field: "formType", typeArr: []});
1859
+
1860
+ let dataObj = vm.$refs.formTable.multipleSelection;
1861
+ if(dataObj){
1862
+ vm.checkFormNum = Object.keys(dataObj).length;
1863
+ }
1864
+ }
1865
+ }
1866
+
1867
+ },
1868
+ /*智能建表 end*/
1869
+
1870
+
1871
+ /*工作流 start*/
1872
+ //获取工作流类型
1873
+ getFlowType(){
1874
+ let vm = this;
1875
+ //查询数据
1876
+ vm.axios.post('flowDefineController/getFlowClass').then(function (res) {
1877
+ if(res.data){
1878
+ //存放数据
1879
+ vm.flowTypeArr = res.data;
1880
+ }
1881
+ });
1882
+ },
1883
+
1884
+ //计算工作流数据总数
1885
+ countFlowTotalNum(){
1886
+ let vm = this;
1887
+ let totalNum = 0;
1888
+ vm.axios.post("flowDefineController/count").then(function (defineRes) {
1889
+ if(defineRes.data){
1890
+ totalNum += defineRes.data;
1891
+ }
1892
+ vm.axios.post("flowInstController/count",{onlyPending:"onlyPending"}).then(function (instRes) {
1893
+ if(instRes.data){
1894
+ totalNum += instRes.data;
1895
+
1896
+ vm.flowTotalNum = totalNum;
1897
+ }
1898
+ });
1899
+
1900
+ });
1901
+ },
1902
+
1903
+ //显示工作流详细信息
1904
+ showFlowData(){
1905
+ let vm = this;
1906
+ //显示工作流弹出框
1907
+ vm.dialogFlowVisible = true;
1908
+
1909
+ //删除工作流配置最后一个搜索框信息
1910
+ vm.flowConfigSearchFormDataArr.splice(1,1);
1911
+ //设置“流程分类”搜索框的配置信息
1912
+ vm.flowConfigSearchFormDataArr.push({type:'el-select',field:'flowClass',fieldName:'流程分类',
1913
+ optionDataArr:vm.flowTypeArr,optionKey:'flowClass',
1914
+ optionValue:'flowClass',optionLabel:'flowClass'});
1915
+
1916
+ //删除工作流实例最后一个搜索框信息
1917
+ vm.flowInstSearchFormDataArr.splice(1,1);
1918
+ //设置“流程分类”搜索框的配置信息
1919
+ vm.flowInstSearchFormDataArr.push({type:'el-select',field:'flowClass',fieldName:'流程分类',
1920
+ optionDataArr:vm.flowTypeArr,optionKey:'flowClass',
1921
+ optionValue:'flowClass',optionLabel:'flowClass'});
1922
+
1923
+ vm.$nextTick(function () {
1924
+ vm.tableInitCheck["flow"]["flowConfig"] = {initCheck:"noAll",field:"flowClass",typeArr:vm.flowTypeValue};
1925
+ let rowsConfig = vm.$refs.flowConfigDialogTable.crud.dataStore.records;
1926
+ if(vm.$refs.flowConfigDialogTable){
1927
+ vm.$refs.flowConfigDialogTable.initTableCheck(rowsConfig,vm.tableInitCheck["flow"]["flowConfig"]);
1928
+ vm.$refs.flowConfigDialogTable.resetSearch();
1929
+ }
1930
+
1931
+ vm.tableInitCheck["flow"]["flowInst"] = {initCheck:"noAll",field:"flowClass",typeArr:vm.flowTypeValue};
1932
+ let rowsInst = vm.$refs.flowInstDialogTable.crud.dataStore.records;
1933
+ if(vm.$refs.flowInstDialogTable){
1934
+ vm.$refs.flowInstDialogTable.initTableCheck(rowsInst,vm.tableInitCheck["flow"]["flowInst"]);
1935
+ vm.$refs.flowInstDialogTable.resetSearch();
1936
+ }
1937
+
1938
+
1939
+ });
1940
+ },
1941
+
1942
+ //工作流弹窗关闭事件
1943
+ flowDialogClose(){
1944
+ let vm = this;
1945
+ vm.countFlowCheckNum();
1946
+ },
1947
+
1948
+ //计算选择数
1949
+ countFlowCheckNum(){
1950
+ let vm = this;
1951
+ let num = 0;
1952
+ if(vm.flowTypeValue && vm.flowTypeValue.length > 0){
1953
+ vm.tableInitCheck["flow"] = {};
1954
+ let flowClassIds = vm.flowTypeValue.join(",");
1955
+ vm.axios.post("/flowDefineController/findByArrTwoDim",{flowClasss:flowClassIds}).then(function(res){
1956
+ if(res.data){
1957
+ //流程配置
1958
+ let flowDefineArr = res.data.flowDefineList;
1959
+ if(flowDefineArr){
1960
+ //表格默认勾选数据
1961
+ vm.tableInitCheck["flow"]["flowConfig"] = {initCheck:"noAll",field:"flowClass",typeArr:vm.flowTypeValue};
1962
+
1963
+ num = flowDefineArr.length;
1964
+ //记录的选择的数据
1965
+ if(vm.$refs.flowConfigDialogTable){
1966
+ let rows = vm.$refs.flowConfigDialogTable.crud.dataStore.records;
1967
+ vm.$refs.flowConfigDialogTable.initTableCheck(rows,vm.tableInitCheck["flow"]["flowConfig"]);
1968
+ let noDataObjConfig = vm.$refs.flowConfigDialogTable.multipleNoSelection;
1969
+ if(noDataObjConfig){
1970
+ for(let key in noDataObjConfig){
1971
+ if(vm.flowTypeValue.indexOf(noDataObjConfig[key].flowClass) > -1){
1972
+ num -= 1;
1973
+ }
1974
+ }
1975
+ }
1976
+
1977
+ let dataObjConfig = vm.$refs.flowConfigDialogTable.multipleSelection;
1978
+ if(dataObjConfig){
1979
+ for(let key in dataObjConfig){
1980
+ if(vm.flowTypeValue.indexOf(dataObjConfig[key].flowClass) < 0 ){
1981
+ num += 1;
1982
+ }
1983
+ }
1984
+ }
1985
+ }
1986
+ }
1987
+
1988
+ //流程实例
1989
+ let flowInstArr = res.data.flowInstList;
1990
+ if(flowInstArr){
1991
+ //表格默认勾选数据
1992
+ vm.tableInitCheck["flow"]["flowInst"] = {initCheck:"noAll",field:"flowClass",typeArr:vm.flowTypeValue};
1993
+ num += flowInstArr.length;
1994
+ //记录的选择的数据
1995
+ if(vm.$refs.flowInstDialogTable){
1996
+ let rows = vm.$refs.flowInstDialogTable.crud.dataStore.records;
1997
+ vm.$refs.flowInstDialogTable.initTableCheck(rows,vm.tableInitCheck["flow"]["flowInst"]);
1998
+
1999
+ let noDataObjInst = vm.$refs.flowInstDialogTable.multipleNoSelection;
2000
+ if(noDataObjInst){
2001
+ for(let key in noDataObjInst){
2002
+ if(vm.flowTypeValue.indexOf(noDataObjInst[key].flowClass) > -1){
2003
+ num -= 1;
2004
+ }
2005
+ }
2006
+ }
2007
+
2008
+ let dataObjInst = vm.$refs.flowInstDialogTable.multipleSelection;
2009
+ if(dataObjInst){
2010
+ for(let key in dataObjInst){
2011
+ if(vm.flowTypeValue.indexOf(dataObjInst[key].flowClass) < 0 ){
2012
+ num += 1;
2013
+ }
2014
+ }
2015
+ }
2016
+ }
2017
+ }
2018
+ }
2019
+ vm.checkFlowNum = num;
2020
+ });
2021
+ }else{
2022
+ if(vm.$refs.flowConfigDialogTable){
2023
+ let rows = vm.$refs.flowConfigDialogTable.crud.dataStore.records;
2024
+ vm.$refs.flowConfigDialogTable.initTableCheck(rows,{ initCheck: "noAll", field: "flowClass", typeArr: []});
2025
+
2026
+ let dataObjConfig = vm.$refs.flowConfigDialogTable.multipleSelection;
2027
+ num += Object.keys(dataObjConfig).length;
2028
+ }
2029
+
2030
+ if(vm.$refs.flowInstDialogTable){
2031
+ let rows = vm.$refs.flowInstDialogTable.crud.dataStore.records;
2032
+ vm.$refs.flowInstDialogTable.initTableCheck(rows,{ initCheck: "noAll", field: "flowClass", typeArr: []});
2033
+
2034
+ let dataObjInst= vm.$refs.flowInstDialogTable.multipleSelection;
2035
+ num += Object.keys(dataObjInst).length;
2036
+ }
2037
+
2038
+ vm.checkFlowNum = num;
2039
+ }
2040
+
2041
+ },
2042
+ /*工作流 end*/
2043
+
2044
+ /*复合视图 start*/
2045
+ //计算工作流数据总数
2046
+ countComplexTotalNum(){
2047
+ let vm = this;
2048
+ vm.axios.post(vm.api.complex.count).then(function (res) {
2049
+ if(res.data){
2050
+ vm.complexTotalNum = res.data;
2051
+ }
2052
+ });
2053
+ },
2054
+
2055
+ //显示复合视图详细信息
2056
+ showComplex(){
2057
+ let vm = this;
2058
+ //显示复合视图弹出框
2059
+ vm.dialogComplexVisible = true;
2060
+ if(vm.$refs.complexTable){
2061
+ vm.$refs.complexTable.resetSearch();
2062
+ }
2063
+ },
2064
+
2065
+ //复合视图弹窗关闭事件
2066
+ complexDialogClose(){
2067
+ let vm = this;
2068
+ let dataObj = vm.$refs.complexTable.multipleSelection;
2069
+ if(dataObj){
2070
+ vm.checkComplexNum = Object.keys(dataObj).length;
2071
+ }
2072
+
2073
+ },
2074
+ /*复合视图 end*/
2075
+
2076
+ /*前台菜单 start*/
2077
+ //计算前台菜单数据总数
2078
+ countFrontMenuToTalNum(){
2079
+ let vm = this;
2080
+ vm.axios.post(vm.api.menu.count).then(function (res) {
2081
+ if(res.data){
2082
+ vm.frontMenuTotalNum = res.data;
2083
+ }
2084
+ });
2085
+ },
2086
+
2087
+ //获取前台菜单数据
2088
+ showFrontMenuData(){
2089
+ let vm = this;
2090
+ vm.dialogFrontMenuVisible = true;
2091
+
2092
+ if(vm.$refs.frontMenuEntTree){
2093
+ let objArr = Object.keys(vm.frontMenuCheckObj.ent);
2094
+ let objOldArr = Object.keys(vm.frontMenuCheckObjOld.ent);
2095
+ if(objArr.length > 0){
2096
+ vm.$refs.frontMenuEntTree.setTreeCheckedKeys(objArr);
2097
+ }else if(objOldArr.length > 0){
2098
+ vm.$refs.frontMenuEntTree.setTreeCheckedKeys(objOldArr,'',false);
2099
+ }else if(vm.frontMenuCheckList.indexOf("ent") > -1){
2100
+ vm.$refs.frontMenuEntTree.setTreeCheckedAll();
2101
+ }
2102
+ }
2103
+
2104
+ if(vm.$refs.frontMenuGovTree){
2105
+ let objArr = Object.keys(vm.frontMenuCheckObj.gov);
2106
+ let objOldArr = Object.keys(vm.frontMenuCheckObjOld.gov);
2107
+ if(objArr.length > 0){
2108
+ vm.$refs.frontMenuGovTree.setTreeCheckedKeys(objArr);
2109
+ }else if(objOldArr.length > 0){
2110
+ vm.$refs.frontMenuGovTree.setTreeCheckedKeys(objOldArr,'',false);
2111
+ }else if(vm.frontMenuCheckList.indexOf("gov") > -1){
2112
+ vm.$refs.frontMenuGovTree.setTreeCheckedAll();
2113
+ }
2114
+ }
2115
+
2116
+ if(vm.$refs.frontMenuMecTree){
2117
+ let objArr = Object.keys(vm.frontMenuCheckObj.mec);
2118
+ let objOldArr = Object.keys(vm.frontMenuCheckObjOld.mec);
2119
+ if(objArr.length > 0){
2120
+ vm.$refs.frontMenuMecTree.setTreeCheckedKeys(objArr);
2121
+ }else if(objOldArr.length > 0){
2122
+ vm.$refs.frontMenuMecTree.setTreeCheckedKeys(objOldArr,'',false);
2123
+ }else if(vm.frontMenuCheckList.indexOf("mec") > -1){
2124
+ vm.$refs.frontMenuMecTree.setTreeCheckedAll();
2125
+ }
2126
+ }
2127
+
2128
+ if(vm.$refs.frontMenuDevTree){
2129
+ let objArr = Object.keys(vm.frontMenuCheckObj.dev);
2130
+ let objOldArr = Object.keys(vm.frontMenuCheckObjOld.dev);
2131
+ if(objArr.length > 0){
2132
+ vm.$refs.frontMenuDevTree.setTreeCheckedKeys(objArr);
2133
+ }else if(objOldArr.length > 0){
2134
+ vm.$refs.frontMenuDevTree.setTreeCheckedKeys(objOldArr,'',false);
2135
+ }else if(vm.frontMenuCheckList.indexOf("dev") > -1){
2136
+ vm.$refs.frontMenuDevTree.setTreeCheckedAll();
2137
+ }
2138
+ }
2139
+
2140
+ vm.frontMenuEntSearchvalue = "";
2141
+ vm.frontMenuGovSearchvalue = "";
2142
+ vm.frontMenuDevSearchvalue = "";
2143
+ vm.frontMenuMecSearchvalue = "";
2144
+ },
2145
+
2146
+ //commonTree额外数据
2147
+ frontMenuDealTreeData(data) {
2148
+ for (let elem of data) {
2149
+ if (elem.menuSjbh === '-1') {
2150
+ elem.menuSjbh = elem["menuModel"] + '_model';
2151
+ }
2152
+ }
2153
+ },
2154
+
2155
+ //前台菜单弹窗关闭事件
2156
+ frontMenuDialogClose(){
2157
+ let vm = this;
2158
+ if(vm.$refs.frontMenuEntTree){
2159
+ let obj = vm.frontMenuCheckObj.ent;
2160
+ let nodesMap = vm.$refs.frontMenuEntTree.getAllNode();
2161
+ for(let [key,node] of Object.entries(nodesMap)){
2162
+ if(node.checked){
2163
+ if(key.indexOf("_model") < 0){
2164
+ obj[key] = node;
2165
+ }else{
2166
+ obj[key] = key;
2167
+ }
2168
+
2169
+ }else{
2170
+ delete obj[key];
2171
+ }
2172
+ }
2173
+
2174
+ vm.frontMenuCheckObjOld.ent = obj;
2175
+ }
2176
+
2177
+ if(vm.$refs.frontMenuGovTree){
2178
+ let obj = vm.frontMenuCheckObj.gov;
2179
+ let nodesMap = vm.$refs.frontMenuGovTree.getAllNode();
2180
+ for(let [key,node] of Object.entries(nodesMap)){
2181
+ if(node.checked){
2182
+ if(key.indexOf("_model") < 0){
2183
+ obj[key] = node;
2184
+ }else{
2185
+ obj[key] = key;
2186
+ }
2187
+ }else{
2188
+ delete obj[key];
2189
+ }
2190
+ }
2191
+ vm.frontMenuCheckObjOld.gov = obj;
2192
+ }
2193
+
2194
+ if(vm.$refs.frontMenuMecTree){
2195
+ let obj = vm.frontMenuCheckObj.mec;
2196
+ let nodesMap = vm.$refs.frontMenuMecTree.getAllNode();
2197
+ for(let [key,node] of Object.entries(nodesMap)){
2198
+ if(node.checked){
2199
+ if(key.indexOf("_model") < 0){
2200
+ obj[key] = node;
2201
+ }else{
2202
+ obj[key] = key;
2203
+ }
2204
+ }else{
2205
+ delete obj[key];
2206
+ }
2207
+ }
2208
+ vm.frontMenuCheckObjOld.mec = obj;
2209
+ }
2210
+
2211
+ if(vm.$refs.frontMenuDevTree){
2212
+ let obj = vm.frontMenuCheckObj.dev;
2213
+ let nodesMap = vm.$refs.frontMenuDevTree.getAllNode();
2214
+ for(let [key,node] of Object.entries(nodesMap)){
2215
+ if(node.checked){
2216
+ if(key.indexOf("_model") < 0){
2217
+ obj[key] = node;
2218
+ }else{
2219
+ obj[key] = key;
2220
+ }
2221
+ }else{
2222
+ delete obj[key];
2223
+ }
2224
+ }
2225
+ vm.frontMenuCheckObjOld.dev = obj;
2226
+ }
2227
+
2228
+ vm.countFrontMenuCheckNum();
2229
+ },
2230
+
2231
+ //计算选择数
2232
+ countFrontMenuCheckNum(isChangeType){
2233
+ let vm = this;
2234
+ vm.checkFrontMenuNum = 0;
2235
+
2236
+ let cdssArr = {ent:'企业',gov:"政府",mec:"机构",dev:"系统"};
2237
+
2238
+ for(let [key,value] of Object.entries(cdssArr)){
2239
+ let ref = "";
2240
+ if(key == "ent"){
2241
+ ref = "frontMenuEntTree";
2242
+ }else if(key == "gov"){
2243
+ ref = "frontMenuGovTree";
2244
+ }else if(key == "mec"){
2245
+ ref = "frontMenuMecTree";
2246
+ }else if(key == "dev"){
2247
+ ref = "frontMenuDevTree";
2248
+ }
2249
+
2250
+ if(vm.frontMenuCheckList.indexOf(key) > -1){
2251
+ if(vm.$refs[ref]){
2252
+ if(isChangeType){
2253
+ if(vm.frontMenuCheckListOld.indexOf(key) < 0 && vm.frontMenuCheckList.indexOf(key) > -1){
2254
+ vm.axios.post(vm.api.menu.findAllMenuAndModel,{cdss:value}).then(function (res) {
2255
+ if(res.data){
2256
+ vm.checkFrontMenuNum += res.data.length;
2257
+ vm.checkFrontMenuNumByType[key] = res.data.length;
2258
+ for(let data of res.data){
2259
+ vm.frontMenuCheckObj[key][data.id] = data;
2260
+ }
2261
+ }
2262
+ });
2263
+ }else{
2264
+ let length = Object.keys(vm.frontMenuCheckObj[key]).length;
2265
+ vm.checkFrontMenuNum += length;
2266
+ vm.checkFrontMenuNumByType[key] = length;
2267
+ }
2268
+ }else{
2269
+ let length = Object.keys(vm.frontMenuCheckObj[key]).length;
2270
+ vm.checkFrontMenuNum += length;
2271
+ vm.checkFrontMenuNumByType[key] = length;
2272
+ }
2273
+ }else{
2274
+ vm.axios.post(vm.api.menu.findAllMenuAndModel,{cdss:value}).then(function (res) {
2275
+ if(res.data){
2276
+ vm.checkFrontMenuNum += res.data.length;
2277
+ vm.checkFrontMenuNumByType[key] = res.data.length;
2278
+ }
2279
+ });
2280
+ }
2281
+ }else if(vm.$refs[ref]){
2282
+ let length = 0;
2283
+ if(isChangeType){
2284
+ if(vm.frontMenuCheckListOld.indexOf(key) > -1 && vm.frontMenuCheckList.indexOf(key) < 0){
2285
+ vm.frontMenuCheckObj[key] = {};
2286
+ }else{
2287
+ length = Object.keys(vm.frontMenuCheckObj[key]).length;
2288
+ }
2289
+ }else{
2290
+ length = Object.keys(vm.frontMenuCheckObj[key]).length;
2291
+ }
2292
+ vm.checkFrontMenuNum += length ;
2293
+ vm.checkFrontMenuNumByType[key] = length;
2294
+ }
2295
+ }
2296
+ if(isChangeType){
2297
+ vm.frontMenuCheckListOld = vm.frontMenuCheckList;
2298
+ }
2299
+
2300
+ },
2301
+
2302
+ //初始化加载勾选数据
2303
+ initFrontMenuCheck(){
2304
+ let vm = this;
2305
+ let cdssArr = {ent:'frontMenuEntTree',gov:"frontMenuGovTree",mec:"frontMenuMecTree",dev:"frontMenuDevTree"};
2306
+ for(let [key,ref] of Object.entries(cdssArr)){
2307
+ if(vm.frontMenuCheckList.indexOf(key) > -1){
2308
+ vm.$refs[ref].setTreeCheckedAll();
2309
+ }
2310
+ }
2311
+ },
2312
+ /*前台菜单 end*/
2313
+
2314
+
2315
+ /*数据字典 start*/
2316
+ getSysDataType(){
2317
+ let vm = this;
2318
+ vm.axios.post(vm.api.dataType.find).then(function (res) {
2319
+ if(res.data){
2320
+ vm.sysDataTypeArr = res.data;
2321
+
2322
+ for(let type of res.data){
2323
+ vm.sysDataCheckObj[type.id] = {};
2324
+ }
2325
+ }
2326
+ });
2327
+ },
2328
+
2329
+ //展示数据字典详细信息
2330
+ showSysData(){
2331
+ let vm = this;
2332
+ vm.dialogSysDataVisible = true;
2333
+
2334
+ if(vm.$refs.sysDataTree){
2335
+ let dataArr = [];
2336
+ dataArr = dataArr.concat(Object.keys(vm.sysDataTypeCheckObj));
2337
+ for(let type of vm.sysDataTypeArr){
2338
+ let dataIdArr = Object.keys(vm.sysDataCheckObj[type.id]);
2339
+ dataArr = dataArr.concat(dataIdArr);
2340
+ }
2341
+ vm.$refs.sysDataTree.setTreeCheckedKeys(dataArr);
2342
+ }
2343
+ vm.sysDataSearchValue = "";
2344
+ },
2345
+
2346
+ //计算数据字典数据总数
2347
+ countSysDataNum(){
2348
+ let vm = this;
2349
+ //数据字典类型个数
2350
+ vm.axios.post(vm.api.dataType.count).then(function (res) {
2351
+ if(res.data){
2352
+ vm.sysDataTypeTotalNum = res.data;
2353
+ }
2354
+ });
2355
+
2356
+ //数据字典具体数据个数
2357
+ vm.axios.post(vm.api.data.count).then(function (res) {
2358
+ if(res.data){
2359
+ vm.sysDataTotalNum = res.data;
2360
+ }
2361
+ });
2362
+ },
2363
+
2364
+ //数据字典弹窗关闭事件
2365
+ sysDataDialogClose(){
2366
+ let vm = this;
2367
+ if(vm.$refs.sysDataTree){
2368
+ let nodesMap = vm.$refs.sysDataTree.getAllNode();
2369
+ for(let [key,node] of Object.entries(nodesMap)){
2370
+ if(node.checked){
2371
+ if(node.data.parentId == -3){
2372
+ vm.sysDataTypeCheckObj[key] = node;
2373
+ }else{
2374
+ vm.sysDataCheckObj[node.data.typeId][key] = node;
2375
+ }
2376
+ }else{
2377
+ if(node.data.parentId == -3){
2378
+ delete vm.sysDataTypeCheckObj[key];
2379
+ }else{
2380
+ delete vm.sysDataCheckObj[node.data.typeId][key];
2381
+ }
2382
+ }
2383
+ }
2384
+ }
2385
+
2386
+ vm.countSysDataCheckNum();
2387
+ },
2388
+
2389
+ //计算选择数
2390
+ countSysDataCheckNum(isChangeType){
2391
+ let vm = this;
2392
+ vm.checkSysDataNum = 0;
2393
+ vm.sysDataTypeSelectNum = 0;
2394
+ vm.sysDataSelectNum = 0;
2395
+
2396
+ if(vm.$refs.sysDataTree){
2397
+ if(isChangeType){
2398
+ let dataNum = 0;
2399
+ for(let type of vm.sysDataTypeArr){
2400
+ //删除
2401
+ if(vm.sysDataTypeValueOld.indexOf(type.id) > -1 && vm.sysDataTypeValue.indexOf(type.id) < 0){
2402
+ if(vm.sysDataTypeCheckObj[type.id]){
2403
+ delete vm.sysDataTypeCheckObj[type.id];
2404
+ }
2405
+ vm.sysDataCheckObj[type.id] = {};
2406
+ }else if(vm.sysDataTypeValueOld.indexOf(type.id) < 0 && vm.sysDataTypeValue.indexOf(type.id) > -1){//新增
2407
+ vm.axios.post(vm.api.data.findAllTypeAndData,
2408
+ {id:type.id}).then(function (res) {
2409
+ if(res.data){
2410
+ for(let data of res.data){
2411
+ if(data.parentId == -3){
2412
+ vm.sysDataTypeCheckObj[type.id] = data;
2413
+ vm.sysDataTypeSelectNum += 1;
2414
+ vm.checkSysDataNum += 1;
2415
+ }else {
2416
+ vm.sysDataCheckObj[type.id][data.id] = data;
2417
+ vm.sysDataSelectNum += 1;
2418
+ vm.checkSysDataNum += 1;
2419
+ }
2420
+ }
2421
+ }
2422
+ });
2423
+ }else{
2424
+ let num = Object.keys(vm.sysDataCheckObj[type.id]).length;
2425
+ vm.sysDataSelectNum += num;
2426
+ vm.checkSysDataNum += num;
2427
+
2428
+ if(vm.sysDataTypeCheckObj[type.id]){
2429
+ vm.sysDataTypeSelectNum += 1;
2430
+ vm.checkSysDataNum += 1;
2431
+ }
2432
+ }
2433
+ }
2434
+ }else{
2435
+ let dataLength = 0;
2436
+ for(let type of vm.sysDataTypeArr){
2437
+ let obj = vm.sysDataCheckObj[type.id];
2438
+ if(obj){
2439
+ dataLength += Object.keys(obj).length;
2440
+ }
2441
+ }
2442
+ let typeLength = Object.keys(vm.sysDataTypeCheckObj).length;
2443
+ vm.checkSysDataNum += typeLength + dataLength;
2444
+ vm.sysDataTypeSelectNum = typeLength;
2445
+ vm.sysDataSelectNum = dataLength;
2446
+ }
2447
+ }else{
2448
+ if(vm.sysDataTypeValue.length > 0){
2449
+ vm.axios.post(vm.api.data.findAllTypeAndData,
2450
+ {ids:vm.sysDataTypeValue.join(",")}).then(function (res) {
2451
+ if(res.data){
2452
+ let typeNum = 0;
2453
+ let dataNum = 0;
2454
+ for(let data of res.data){
2455
+ if(data.parentId == -3){
2456
+ typeNum += 1;
2457
+ vm.sysDataTypeCheckObj[data.id] = data;
2458
+ }else{
2459
+ dataNum += 1;
2460
+ vm.sysDataCheckObj[data.typeId][data.id] = data;
2461
+ }
2462
+ }
2463
+
2464
+ vm.checkSysDataNum += res.data.length;
2465
+ vm.sysDataTypeSelectNum = typeNum;
2466
+ vm.sysDataSelectNum = dataNum;
2467
+ }
2468
+ });
2469
+ }
2470
+ }
2471
+
2472
+ if(isChangeType){
2473
+ vm.sysDataTypeValueOld = vm.sysDataTypeValue;
2474
+ }
2475
+ },
2476
+
2477
+ //初始化加载勾选数据
2478
+ initSysDataCheck(){
2479
+ let vm = this;
2480
+ if(vm.sysDataTypeValue.length > 0){
2481
+ vm.axios.post(vm.api.data.findAllTypeAndData,
2482
+ {ids:vm.sysDataTypeValue.join(",")}).then(function (res) {
2483
+ if(res.data){
2484
+ let checkDataArr = [];
2485
+ for(let data of res.data){
2486
+ checkDataArr.push(data.id);
2487
+ }
2488
+ vm.$refs.sysDataTree.setTreeCheckedKeys(checkDataArr);
2489
+ }
2490
+ });
2491
+ }
2492
+ },
2493
+ /*数据字典 end*/
2494
+
2495
+
2496
+ /*自定义功能菜单 start*/
2497
+ //获取自定义功能菜单的类型
2498
+ getDiyMenuType(){
2499
+ let vm = this;
2500
+ //根据typeId查询数据
2501
+ vm.axios.post(vm.api.data.getDataByType,{typeId:'7bb54eddff5b474f9207ee1880a49726'}).then(function (res) {
2502
+ if (res.data) {
2503
+ //存放数据
2504
+ vm.diyMenuTypeArr = res.data;
2505
+ }
2506
+ });
2507
+ },
2508
+
2509
+ //计算自定义功能菜单数据总数
2510
+ countDiyMenuTotalNum(){
2511
+ let vm = this;
2512
+ },
2513
+
2514
+ //显示自定义功能菜单的详细信息
2515
+ showDiyMenuData(){
2516
+ let vm = this;
2517
+ //显示自定义功能菜单的弹出框
2518
+ vm.dialogDiyMenuVisible = true;
2519
+ //删除搜索框的最后一个信息
2520
+ vm.diyMenuSearchFormDataArr.splice(1,1);
2521
+ //设置“功能类别”搜索框的配置信息
2522
+ vm.diyMenuSearchFormDataArr.push({type:'el-select',field:'gnlb',fieldName:'功能类别',
2523
+ optionDataArr:vm.diyMenuTypeArr,optionKey:'dataName',
2524
+ optionValue:'dataName',optionLabel:'dataName'});
2525
+
2526
+ vm.$nextTick(function () {
2527
+ vm.tableInitCheck["diyMenu"]["diyMenu"] = {
2528
+ initCheck: "noAll",
2529
+ field: "gnlb",
2530
+ typeArr: vm.diyMenuTypeValue
2531
+ };
2532
+ if(vm.$refs.diyMenuTable){
2533
+ vm.$refs.diyMenuTable.initTableCheck(vm.$refs.diyMenuTable.crud.dataStore.records, vm.tableInitCheck["diyMenu"]["diyMenu"]);
2534
+ vm.$refs.diyMenuTable.resetSearch();
2535
+ }
2536
+ });
2537
+ },
2538
+
2539
+ //自定义功能菜单弹窗的关闭事件
2540
+ diyMenuDialogClose(){
2541
+ let vm = this;
2542
+ // let dataObj = vm.$refs.diyMenuTable.multipleSelection;
2543
+ // if(dataObj){
2544
+ // vm.checkDiyMenuNum = Object.keys(dataObj).length;
2545
+ // }
2546
+ vm.countDiyMenuCheckNum();
2547
+
2548
+ },
2549
+
2550
+ //计算选择数
2551
+ countDiyMenuCheckNum(){
2552
+ let vm = this;
2553
+ let num = 0;
2554
+ if(vm.diyMenuTypeValue && vm.diyMenuTypeValue.length > 0){
2555
+ vm.tableInitCheck["diyMenu"] = {};
2556
+ let typeIds = vm.diyMenuTypeValue.join(",");
2557
+ }else{
2558
+ if(vm.$refs.diyMenuTable){
2559
+ vm.$refs.diyMenuTable.initTableCheck(vm.$refs.diyMenuTable.crud.dataStore.records,
2560
+ { initCheck: "noAll", field: "gnlb", typeArr: []});
2561
+
2562
+ let dataObj = vm.$refs.diyMenuTable.multipleSelection;
2563
+ if(dataObj){
2564
+ vm.checkDiyMenuNum = Object.keys(dataObj).length;
2565
+ }
2566
+ }
2567
+ }
2568
+
2569
+ },
2570
+ /*自定义功能菜单 end*/
2571
+
2572
+ /*系统参数 start*/
2573
+ //计算自定义功能菜单数据总数
2574
+ countSysParamTotalNum(){
2575
+ let vm = this;
2576
+ vm.axios.post(vm.api.param.count).then(function (res) {
2577
+ if (res.data) {
2578
+ vm.sysParamTotalNum = res.data;
2579
+ }
2580
+ });
2581
+ },
2582
+
2583
+ //显示系统参数的详细信息
2584
+ showSySparamData(){
2585
+ let vm = this;
2586
+ //显示系统参数的弹出框
2587
+ vm.dialogSysParamVisible = true;
2588
+ if(vm.$refs.sysParamTable){
2589
+ vm.$refs.sysParamTable.resetSearch();
2590
+ }
2591
+ },
2592
+
2593
+ //系统参数弹窗关闭事件
2594
+ sysParamDialogClose(){
2595
+ let vm = this;
2596
+ let dataObj = vm.$refs.sysParamTable.multipleSelection;
2597
+ if(dataObj){
2598
+ vm.checkSysParamNum = Object.keys(dataObj).length;
2599
+ }
2600
+ },
2601
+ /*系统参数 end*/
2602
+
2603
+ /*其他 start*/
2604
+ //计算三位一体数据总数
2605
+ countSafeRegionTotalNum(){
2606
+ let vm = this;
2607
+ vm.axios.post("/safeRegionController/listNoPage",{orgCount:true,notStreet:true}).then(function (res) {
2608
+ if(res.data){
2609
+ vm.safeRegionTotalNum = res.data.length;
2610
+ }
2611
+
2612
+ });
2613
+ },
2614
+
2615
+ //计算gis数据总数
2616
+ countGisTotalNum(){
2617
+ let vm = this;
2618
+ vm.axios.post("/gisConfigureController/counAllGisData").then(function (res) {
2619
+ if(res.data){
2620
+ vm.gisTotalNum = res.data;
2621
+ }
2622
+ });
2623
+ },
2624
+
2625
+ //计算日志数据总数
2626
+ countLogTotalNum(){
2627
+ let vm = this;
2628
+ vm.axios.post("/loginLogController/countAllLog").then(function (res) {
2629
+ if(res.data){
2630
+ vm.logTotalNum = res.data;
2631
+ }
2632
+ });
2633
+ },
2634
+
2635
+ //其他模块中多选框的change事件
2636
+ otherChange(valArr){
2637
+ let vm = this;
2638
+
2639
+ vm.fullscreenLoading = true;
2640
+
2641
+ let checkNum = 0;
2642
+ //计算已选择的数据总数
2643
+ valArr.forEach(function (val) {
2644
+ if(val == 'safeRegion'){
2645
+ checkNum += vm.safeRegionTotalNum;
2646
+ }
2647
+
2648
+ if(val == 'gis'){
2649
+ checkNum += vm.gisTotalNum;
2650
+ }
2651
+
2652
+ if(val == 'log'){
2653
+ checkNum += vm.logTotalNum;
2654
+ }
2655
+ });
2656
+
2657
+ vm.checkOtherNum = checkNum;
2658
+ },
2659
+ /*其他 end*/
2660
+
2661
+
2662
+ orgStruValidData(){
2663
+ let vm = this;
2664
+ vm.safeValidateDialog = true;
2665
+ },
2666
+
2667
+
2668
+ //清除数据
2669
+ deteleData(type,deletePosition){
2670
+ let vm = this;
2671
+ let deleteIds = "";
2672
+ let requestUrl = "";
2673
+ //组织架构删除数据
2674
+ if(type == "orgStru"){
2675
+ if(vm.checkOrgStruNum <= 0){
2676
+ vm.$message({
2677
+ message: '没有要删除的数据!',
2678
+ type: 'warning'
2679
+ });
2680
+ return;
2681
+ }
2682
+ vm.fullscreenLoading = true;
2683
+ let deleteNum = 0;
2684
+ let clearInfoArr = [];
2685
+ let dims = vm.orgStruCheckList.join(",");
2686
+ let dataArr = [];
2687
+ for(let typeObj of vm.sysOrgDimensionArr){
2688
+ if(vm.$refs['orgStruTree' + typeObj.id]){
2689
+ let arr = vm.$refs['orgStruTree' + typeObj.id][0].getTreeCheckedNodes("key");
2690
+ dataArr = dataArr.concat(arr);
2691
+ }
2692
+
2693
+ let num = vm.orgDimSelectNum[typeObj.id];
2694
+ if(num > 0){
2695
+ clearInfoArr.push("清除" + typeObj.dimName + num + "条数据");
2696
+
2697
+ deleteNum += num;
2698
+ }
2699
+
2700
+ }
2701
+
2702
+ //是否删除关联数据
2703
+ let relatedData = false;
2704
+ if(vm.orgStruDeleteData.indexOf("relatedData") > -1 || vm.singleDeleteRelateCheck == true){
2705
+ relatedData = true;
2706
+ }
2707
+ //是否删除组织维度
2708
+ let relatedDim = false;
2709
+ if(vm.orgStruDeleteData.indexOf("relatedDim") > -1){
2710
+ relatedDim = true;
2711
+ }
2712
+
2713
+ vm.axios.post(vm.api.sysOrg.deleteRelateData,
2714
+ {ids:dataArr.join(","),dims:dims,relatedData:relatedData,relatedDim:relatedDim}).then(function (res) {
2715
+ if(res.data){
2716
+
2717
+ vm.fullscreenLoading = false;
2718
+
2719
+ if(res.data.operateSuccess){
2720
+ vm.orgStruClearMsg = clearInfoArr;
2721
+
2722
+ //清除勾选内容及重新加载树
2723
+ for(let orgDim of vm.sysOrgDimensionArr){
2724
+ if(vm.$refs['orgStruTree' + orgDim.id]){
2725
+ vm.$refs['orgStruTree' + orgDim.id][0].$refs.elTree.store.nodesMap = {};
2726
+
2727
+ vm.$refs['orgStruTree' + orgDim.id][0].init();
2728
+ }
2729
+ vm.orgStruCheckObj[orgDim.id] = {};
2730
+ vm.orgStruCheckObjOld[orgDim.id] = {};
2731
+ }
2732
+ //提示信息
2733
+ vm.$message({
2734
+ message: '删除成功!',
2735
+ type: 'success'
2736
+ });
2737
+ //重新计算数据总数
2738
+ vm.orgDimTotalNum -= deleteNum;
2739
+
2740
+ vm.orgStruCheckListOld = [];
2741
+ vm.orgStruCheckList = [];
2742
+
2743
+ vm.checkOrgStruNum = 0;
2744
+
2745
+ //关闭弹窗
2746
+ vm.dialogOrgDimeVisible = false;
2747
+ }else{
2748
+ vm.$message({
2749
+ message: '删除失败!',
2750
+ type: 'error'
2751
+ });
2752
+ }
2753
+ }
2754
+ });
2755
+
2756
+ //用户账户删除数据
2757
+ }else if(type == "userInfo"){
2758
+ if(vm.checkUserInfoNum <= 0){
2759
+ vm.$message({
2760
+ message: '没有要删除的数据!',
2761
+ type: 'warning'
2762
+ });
2763
+ return;
2764
+ }
2765
+ vm.fullscreenLoading = true;
2766
+ //选中的类型
2767
+ let types = vm.userInfoCheckList.join(",");
2768
+ //取消选中的数据
2769
+ let noCheckIds = "";
2770
+ //选中的数据
2771
+ let checkIds = "";
2772
+ for(let typeObj of vm.userTypeArr){
2773
+ if(vm.$refs[typeObj.ref]){
2774
+ let noCheckData = vm.$refs[typeObj.ref][0].multipleNoSelection;
2775
+ if(noCheckData && Object.keys(noCheckData).length > 0){
2776
+ noCheckIds += "," + Object.keys(noCheckData).join(",");
2777
+ }
2778
+
2779
+ let checkObj = vm.$refs[typeObj.ref][0].multipleSelection;
2780
+ if(checkObj && Object.keys(checkObj).length > 0){
2781
+ checkIds += "," + Object.keys(checkObj).join(",");
2782
+ }
2783
+ }
2784
+ }
2785
+
2786
+ if(noCheckIds){
2787
+ noCheckIds = noCheckIds.substring(1);
2788
+ }
2789
+ if(checkIds){
2790
+ checkIds = checkIds.substring(1);
2791
+ }
2792
+
2793
+ vm.axios.post(vm.api.sysUser.deleteRelateData,
2794
+ {checkUserTypes:types,checkUserIds:checkIds,noCheckUserIds:noCheckIds}).then(function (res) {
2795
+ if(res.data){
2796
+ if(res.data.operateSuccess){
2797
+ vm.fullscreenLoading = false;
2798
+
2799
+ let deleteDataInfo = res.data.operateObj;
2800
+ //清除信息
2801
+ if(deleteDataInfo){
2802
+ if(deleteDataInfo.clearInfo){
2803
+ vm.userInfoClearMsg = vm.userInfoClearMsg.concat(deleteDataInfo.clearInfo);
2804
+ }
2805
+
2806
+ let deleteDataNum = deleteDataInfo.deleteDataNum;
2807
+ if(deleteDataNum){
2808
+ //重新计算数据总数
2809
+ vm.userInfoTotalNum -= deleteDataNum;
2810
+ }
2811
+ }
2812
+
2813
+ //清空选择的数据和重新加载列表
2814
+ vm.userTypeArr.forEach(function (type) {
2815
+ if(vm.$refs[type.ref]){
2816
+ vm.$refs[type.ref][0].multipleSelection = {};
2817
+ vm.$refs[type.ref][0].multipleNoSelection = {};
2818
+ vm.$refs[type.ref][0].doSearch();
2819
+ }
2820
+
2821
+ });
2822
+ if(vm.$refs.userDevDialogTable){
2823
+ vm.$refs.userDevDialogTable.multipleSelection = {};
2824
+ vm.$refs.userDevDialogTable.multipleNoSelection = {};
2825
+ vm.$refs.userDevDialogTable.doSearch();
2826
+
2827
+ }
2828
+
2829
+ //清空选择的类型
2830
+ vm.userInfoCheckList = [];
2831
+
2832
+ //提示信息
2833
+ vm.$message({
2834
+ message: '删除成功!',
2835
+ type: 'success'
2836
+ });
2837
+
2838
+ vm.checkUserInfoNum = 0;
2839
+
2840
+ //关闭弹窗
2841
+ vm.dialogUserVisible = false;
2842
+
2843
+ }else{
2844
+ //提示信息
2845
+ vm.$message({
2846
+ message: '删除失败!',
2847
+ type: 'error'
2848
+ });
2849
+ }
2850
+ }
2851
+ });
2852
+
2853
+ //用户角色删除数据
2854
+ }else if(type == "userRole"){
2855
+ if(vm.checkUserRoleNum <= 0){
2856
+ vm.$message({
2857
+ message: '没有要删除的数据!',
2858
+ type: 'warning'
2859
+ });
2860
+ return;
2861
+ }
2862
+ vm.fullscreenLoading = true;
2863
+ //选中的类型
2864
+ let types = vm.userRoleCheckList.join(",");
2865
+ //取消选中的数据
2866
+ let noCheckIds = "";
2867
+ //选中的数据
2868
+ let checkIds = "";
2869
+ vm.userRoleTypeArr.forEach(typeObj => {
2870
+ if(vm.$refs[typeObj.ref]){
2871
+ let noCheckData = vm.$refs[typeObj.ref][0].multipleNoSelection;
2872
+ if(noCheckData && Object.keys(noCheckData).length > 0){
2873
+ noCheckIds += "," + Object.keys(noCheckData).join(",");
2874
+ }
2875
+
2876
+ let checkObj = vm.$refs[typeObj.ref][0].multipleSelection;
2877
+ if(checkObj && Object.keys(checkObj).length > 0){
2878
+ checkIds += "," + Object.keys(checkObj).join(",");
2879
+ }
2880
+ }
2881
+ });
2882
+
2883
+ if(noCheckIds){
2884
+ noCheckIds = noCheckIds.substring(1);
2885
+ }
2886
+ if(checkIds){
2887
+ checkIds = checkIds.substring(1);
2888
+ }
2889
+
2890
+ vm.axios.post(vm.api.role.deleteRelateData,
2891
+ {checkRoleTypes:types,checkRoleIds:checkIds,noCheckRoleIds:noCheckIds}).then(function (res) {
2892
+ if(res.data){
2893
+ if(res.data.operateSuccess){
2894
+
2895
+ vm.fullscreenLoading = false;
2896
+
2897
+ let deleteDataInfo = res.data.operateObj;
2898
+ //清除信息
2899
+ if(deleteDataInfo){
2900
+ if(deleteDataInfo.clearInfo){
2901
+ vm.userRoleClearMsg = vm.userRoleClearMsg.concat(deleteDataInfo.clearInfo);
2902
+ }
2903
+
2904
+ let deleteDataNum = deleteDataInfo.deleteDataNum;
2905
+ if(deleteDataNum){
2906
+ //重新计算数据总数
2907
+ vm.userRoleTotalNum -= deleteDataNum;
2908
+ }
2909
+ }
2910
+ //清空选择的数据和重新加载列表
2911
+ vm.userRoleTypeArr.forEach(function (type) {
2912
+ if(vm.$refs[type.ref]){
2913
+ vm.$refs[type.ref][0].multipleSelection = {};
2914
+ vm.$refs[type.ref][0].multipleNoSelection = {};
2915
+ vm.$refs[type.ref][0].doSearch();
2916
+ }
2917
+ });
2918
+
2919
+ //清空选择的类型
2920
+ vm.userRoleCheckList = [];
2921
+
2922
+ //提示信息
2923
+ vm.$message({
2924
+ message: '删除成功!',
2925
+ type: 'success'
2926
+ });
2927
+
2928
+ vm.checkUserRoleNum = 0;
2929
+
2930
+ //关闭弹窗
2931
+ vm.dialogUserRoleVisible = false;
2932
+ }else{
2933
+ //提示信息
2934
+ vm.$message({
2935
+ message: '删除失败!',
2936
+ type: 'error'
2937
+ });
2938
+ }
2939
+ }
2940
+ });
2941
+ //智能建表删除数据
2942
+ }else if(type == "form"){
2943
+ if(vm.checkFormNum <= 0){
2944
+ vm.$message({
2945
+ message: '没有要删除的数据!',
2946
+ type: 'warning'
2947
+ });
2948
+ return;
2949
+ }
2950
+ vm.fullscreenLoading = true;
2951
+ //模块
2952
+ let types = vm.formModelValue;
2953
+ //取消选中的数据
2954
+ let noCheckIds = "";
2955
+ //选中的数据
2956
+ let checkIds = "";
2957
+ //配置
2958
+ if(vm.$refs.formTable){
2959
+ let noCheckData = vm.$refs.formTable.multipleNoSelection;
2960
+ if(noCheckData && Object.keys(noCheckData).length > 0){
2961
+ noCheckIds += "," + Object.keys(noCheckData).join(",");
2962
+ }
2963
+
2964
+ let checkObj = vm.$refs.formTable.multipleSelection;
2965
+ if(checkObj && Object.keys(checkObj).length > 0){
2966
+ checkIds += "," + Object.keys(checkObj).join(",");
2967
+ }
2968
+ }
2969
+
2970
+ vm.axios.post("tablebaseController/deleteFormRelateData",
2971
+ {types:types,noCheckIds:noCheckIds,checkIds:checkIds}).then(function(res){
2972
+ if(res.data){
2973
+ if(res.data.operateSuccess){
2974
+ vm.fullscreenLoading = false;
2975
+
2976
+ let deleteDataInfo = res.data.operateObj;
2977
+ //清除信息
2978
+ if(deleteDataInfo){
2979
+ if(deleteDataInfo.clearInfo){
2980
+ vm.formClearMsg = vm.formClearMsg.concat(deleteDataInfo.clearInfo);
2981
+ }
2982
+ let deleteNum = deleteDataInfo.deleteNum;
2983
+ if (deleteNum){
2984
+ //重新计算智能建表数据总数
2985
+ vm.formTotalNum = vm.formTotalNum - deleteNum;
2986
+ }
2987
+ }
2988
+
2989
+ //清空选择的数据
2990
+ if(vm.$refs.formTable){
2991
+ vm.$refs.formTable.multipleSelection = {};
2992
+ vm.$refs.formTable.multipleNoSelection = {};
2993
+ //重新加载列表
2994
+ vm.$refs.formTable.doSearch();
2995
+ }
2996
+ vm.formModelValue = [];
2997
+ vm.formModelValueOld = [];
2998
+ //提示信息
2999
+ vm.$message({
3000
+ message: '删除成功!',
3001
+ type: 'success'
3002
+ });
3003
+
3004
+ //重新计算工作流总数
3005
+ vm.countFlowTotalNum();
3006
+
3007
+ vm.checkFormNum = 0;
3008
+
3009
+ //关闭弹窗
3010
+ vm.dialogFormVisible = false;
3011
+ }
3012
+ }
3013
+ });
3014
+
3015
+ //工作流删除数据
3016
+ }else if(type == "flow"){
3017
+ if(vm.checkFlowNum <= 0){
3018
+ vm.$message({
3019
+ message: '没有要删除的数据!',
3020
+ type: 'warning'
3021
+ });
3022
+ return;
3023
+ }
3024
+ vm.fullscreenLoading = true;
3025
+ //选中的类型
3026
+ let types = vm.flowTypeValue.join(",");
3027
+ //取消选中的数据
3028
+ let noCheckIdsConfig = "";
3029
+ let noCheckIdsInst = "";
3030
+ //选中的数据
3031
+ let checkIdsConfig = "";
3032
+ let checkIdsInst = "";
3033
+
3034
+ //配置
3035
+ if(vm.$refs.flowConfigDialogTable){
3036
+ let noCheckDataConfig = vm.$refs.flowConfigDialogTable.multipleNoSelection;
3037
+ if(noCheckDataConfig && Object.keys(noCheckDataConfig).length > 0){
3038
+ noCheckIdsConfig += "," + Object.keys(noCheckDataConfig).join(",");
3039
+ }
3040
+
3041
+ let checkObjConfig = vm.$refs.flowConfigDialogTable.multipleSelection;
3042
+ if(checkObjConfig && Object.keys(checkObjConfig).length > 0){
3043
+ checkIdsConfig += "," + Object.keys(checkObjConfig).join(",");
3044
+ }
3045
+ }
3046
+
3047
+ if(noCheckIdsConfig){
3048
+ noCheckIdsConfig = noCheckIdsConfig.substring(1);
3049
+ }
3050
+ if(checkIdsConfig){
3051
+ checkIdsConfig = checkIdsConfig.substring(1);
3052
+ }
3053
+
3054
+ //实例
3055
+ if(vm.$refs.flowInstDialogTable){
3056
+ let noCheckDataInst = vm.$refs.flowInstDialogTable.multipleNoSelection;
3057
+ if(noCheckDataInst && Object.keys(noCheckDataInst).length > 0){
3058
+ noCheckIdsInst += "," + Object.keys(noCheckDataInst).join(",");
3059
+ }
3060
+
3061
+ let checkObjInst = vm.$refs.flowInstDialogTable.multipleSelection;
3062
+ if(checkObjInst && Object.keys(checkObjInst).length > 0){
3063
+ checkIdsInst += "," + Object.keys(checkObjInst).join(",");
3064
+ }
3065
+ }
3066
+
3067
+ if(noCheckIdsInst){
3068
+ noCheckIdsInst = noCheckIdsInst.substring(1);
3069
+ }
3070
+ if(checkIdsInst){
3071
+ checkIdsInst = checkIdsInst.substring(1);
3072
+ }
3073
+
3074
+ vm.axios.post("flowDefineController/deleteFlowRelateData",
3075
+ {checkTypes:types,checkIdsConfig:checkIdsConfig,noCheckIdsConfig:noCheckIdsConfig,
3076
+ checkIdsInst:checkIdsInst,noCheckIdsInst:noCheckIdsInst,
3077
+ deletePart:vm.flowCheckList.join(","),deletePosition:deletePosition}).then(function (res) {
3078
+ if(res.data){
3079
+ if(res.data.operateSuccess){
3080
+
3081
+ vm.fullscreenLoading = false;
3082
+
3083
+ let deleteDataInfo = res.data.operateObj;
3084
+ //清除信息
3085
+ if(deleteDataInfo){
3086
+ if(deleteDataInfo.clearInfo){
3087
+ vm.flowClearMsg = vm.flowClearMsg.concat(deleteDataInfo.clearInfo);
3088
+ }
3089
+ let deleteDataNum = deleteDataInfo.deleteDataNum;
3090
+ if(deleteDataNum){
3091
+ //重新计算数据总数
3092
+ vm.flowTotalNum -= deleteDataNum;
3093
+ }
3094
+ }
3095
+
3096
+ //清空选择的数据和重新加载列表
3097
+ if(vm.$refs.flowConfigDialogTable){
3098
+ vm.$refs.flowConfigDialogTable.multipleSelection = {};
3099
+ vm.$refs.flowConfigDialogTable.multipleNoSelection = {};
3100
+ vm.$refs.flowConfigDialogTable.doSearch();
3101
+ }
3102
+ if(vm.$refs.flowInstDialogTable){
3103
+ vm.$refs.flowInstDialogTable.multipleSelection = {};
3104
+ vm.$refs.flowInstDialogTable.multipleNoSelection = {};
3105
+ vm.$refs.flowInstDialogTable.doSearch();
3106
+ }
3107
+ //提示信息
3108
+ vm.$message({
3109
+ message: '删除成功!',
3110
+ type: 'success'
3111
+ });
3112
+ //清空选择的类型
3113
+ vm.flowTypeValue = [];
3114
+
3115
+ vm.checkFlowNum = 0;
3116
+
3117
+ //关闭弹窗
3118
+ vm.dialogFlowVisible = false;
3119
+ }else{
3120
+ //提示信息
3121
+ vm.$message({
3122
+ message: '删除失败!',
3123
+ type: 'error'
3124
+ });
3125
+ }
3126
+ }
3127
+ });
3128
+
3129
+
3130
+
3131
+ //复合视图删除数据
3132
+ }else if(type == "complex"){
3133
+ if(vm.checkComplexNum <= 0){
3134
+ vm.$message({
3135
+ message: '没有要删除的数据!',
3136
+ type: 'warning'
3137
+ });
3138
+ return;
3139
+ }
3140
+ vm.fullscreenLoading = true;
3141
+ let deleteIds = "";
3142
+ let dataArr = [];
3143
+ //需要删除的数据id集合
3144
+ if(vm.$refs.complexTable){
3145
+ let dataObj = vm.$refs.complexTable.multipleSelection;
3146
+ if(dataObj){
3147
+ dataArr = Object.keys(dataObj);
3148
+ if(dataArr.length > 0){
3149
+ deleteIds = dataArr.join(",");
3150
+ }
3151
+ }
3152
+ }
3153
+
3154
+ //删除数据
3155
+ vm.axios.post(vm.api.complex.deleteRelateData,{ids:deleteIds}).then(function (res) {
3156
+ if(res.data){
3157
+ if(res.data.operateSuccess){
3158
+ vm.fullscreenLoading = false;
3159
+
3160
+ if(vm.$refs.complexTable){
3161
+ //清空选择的数据
3162
+ vm.$refs.complexTable.multipleSelection = {};
3163
+ vm.$refs.complexTable.multipleNoSelection = {};
3164
+ //重新加载列表
3165
+ vm.$refs.complexTable.doSearch();
3166
+ }
3167
+ //提示信息
3168
+ vm.$message({
3169
+ message: '删除成功!',
3170
+ type: 'success'
3171
+ });
3172
+ //清除数据信息
3173
+ if(dataArr.length > 0){
3174
+ vm.complexClearMsg.push("清除复合视图" + dataArr.length + "条数据");
3175
+ //重新计算数据总数
3176
+ vm.complexTotalNum -= dataArr.length;
3177
+ }
3178
+
3179
+ vm.checkComplexNum = 0;
3180
+ //关闭弹窗
3181
+ vm.dialogComplexVisible = false;
3182
+
3183
+ }else{
3184
+ vm.$message({
3185
+ message: '删除失败!',
3186
+ type: 'error'
3187
+ });
3188
+ }
3189
+ }
3190
+ });
3191
+
3192
+ //前台菜单删除数据
3193
+ }else if(type == "frontMenu"){
3194
+ if(vm.checkFrontMenuNum <= 0){
3195
+ vm.$message({
3196
+ message: '没有要删除的数据!',
3197
+ type: 'warning'
3198
+ });
3199
+ return;
3200
+ }
3201
+ vm.fullscreenLoading = true;
3202
+ let checkIdArr = [];
3203
+ let cdssObj = {ent:'frontMenuEntTree',gov:"frontMenuGovTree",mec:"frontMenuMecTree",dev:"frontMenuDevTree"};
3204
+ for(let [key,ref] of Object.entries(cdssObj)){
3205
+ if(vm.$refs[ref]){
3206
+ let arr = vm.$refs[ref].getTreeCheckedNodes("key");
3207
+ checkIdArr = checkIdArr.concat(arr);
3208
+ }
3209
+ }
3210
+
3211
+ let types = "";
3212
+ for(let cdss of vm.frontMenuCheckList){
3213
+ if(cdss == "ent"){
3214
+ types += ",企业";
3215
+ }else if(cdss == "gov"){
3216
+ types += ",政府";
3217
+ }else if(cdss == "mec"){
3218
+ types += ",机构";
3219
+ }else if(cdss == "dev"){
3220
+ types += ",系统";
3221
+ }
3222
+ }
3223
+
3224
+ if(types){
3225
+ types = types.substring(1);
3226
+ }
3227
+
3228
+ vm.axios.post(vm.api.menu.deleteRelateData,
3229
+ {types:types,ids:checkIdArr.join(",")}).then(function(res){
3230
+ if(res.data){
3231
+ if(res.data.operateSuccess){
3232
+
3233
+ vm.fullscreenLoading = false;
3234
+
3235
+ let deleteNum = 0;
3236
+ let entNum = vm.checkFrontMenuNumByType['ent'];
3237
+ if(entNum > 0){
3238
+ vm.frontMenuClearMsg.push("清除企业菜单" + entNum + "条数据");
3239
+ deleteNum += entNum;
3240
+ }
3241
+ let govNum = vm.checkFrontMenuNumByType['gov'];
3242
+ if(govNum > 0){
3243
+ vm.frontMenuClearMsg.push("清除政府菜单" + govNum + "条数据");
3244
+ deleteNum += govNum;
3245
+ }
3246
+ let mecNum = vm.checkFrontMenuNumByType['mec'];
3247
+ if(mecNum > 0){
3248
+ vm.frontMenuClearMsg.push("清除机构菜单" + mecNum + "条数据");
3249
+ deleteNum += mecNum;
3250
+ }
3251
+ let devNum = vm.checkFrontMenuNumByType['dev'];
3252
+ if(devNum > 0){
3253
+ vm.frontMenuClearMsg.push("清除系统菜单" + devNum + "条数据");
3254
+ deleteNum += devNum;
3255
+ }
3256
+
3257
+ if(vm.$refs.frontMenuEntTree){
3258
+ vm.$refs.frontMenuEntTree.$refs.elTree.store.nodesMap = {};
3259
+ vm.$refs.frontMenuEntTree.init();
3260
+ }
3261
+ if(vm.$refs.frontMenuGovTree){
3262
+ vm.$refs.frontMenuGovTree.$refs.elTree.store.nodesMap = {};
3263
+ vm.$refs.frontMenuGovTree.init();
3264
+ }
3265
+ if(vm.$refs.frontMenuMecTree){
3266
+ vm.$refs.frontMenuMecTree.$refs.elTree.store.nodesMap = {};
3267
+ vm.$refs.frontMenuMecTree.init();
3268
+ }
3269
+ if(vm.$refs.frontMenuDevTree){
3270
+ vm.$refs.frontMenuDevTree.$refs.elTree.store.nodesMap = {};
3271
+ vm.$refs.frontMenuDevTree.init();
3272
+ }
3273
+
3274
+ //提示信息
3275
+ vm.$message({
3276
+ message: '删除成功!',
3277
+ type: 'success'
3278
+ });
3279
+
3280
+ //重新计算数据总数
3281
+ vm.frontMenuTotalNum -= deleteNum;
3282
+
3283
+ vm.checkFrontMenuNum = 0;
3284
+
3285
+ vm.frontMenuCheckObj = {ent:{},gov:{},mec:{},dev:{}};
3286
+ vm.frontMenuCheckObjOld = {ent:{},gov:{},mec:{},dev:{}};
3287
+ vm.frontMenuCheckListOld = [];
3288
+ vm.frontMenuCheckList = [];
3289
+
3290
+ vm.dialogFrontMenuVisible = false;
3291
+ }else {
3292
+ vm.$message({
3293
+ message: '删除失败!',
3294
+ type: 'error'
3295
+ });
3296
+ }
3297
+ }
3298
+ });
3299
+
3300
+ //数据字典清除数据
3301
+ }else if(type == "sysData"){
3302
+ if(vm.checkSysDataNum <= 0){
3303
+ vm.$message({
3304
+ message: '没有要删除的数据!',
3305
+ type: 'warning'
3306
+ });
3307
+ return;
3308
+ }
3309
+ vm.fullscreenLoading = true;
3310
+
3311
+ vm.sysDataDialogClose();
3312
+
3313
+ let dataArr = [];
3314
+ let clearInfoArr = [];
3315
+ for(let typeObj of vm.sysDataTypeArr){
3316
+ let arr = Object.keys(vm.sysDataCheckObj[typeObj.id]);
3317
+ if(arr.length > 0){
3318
+ dataArr = dataArr.concat(arr);
3319
+ clearInfoArr.push("清除" + typeObj.typeName + arr.length + "条数据");
3320
+ }
3321
+ }
3322
+ let dataTypeArr = [];
3323
+ if(vm.$refs.sysDataTree){
3324
+ dataTypeArr = Object.keys(vm.sysDataTypeCheckObj);
3325
+ }else{
3326
+ dataTypeArr = vm.sysDataTypeValue;
3327
+ }
3328
+
3329
+ vm.axios.post(vm.api.data.deleteRelateData,
3330
+ {typeIds:dataTypeArr.join(","),ids:dataArr.join(",")}).then(function(res){
3331
+ if(res.data){
3332
+ if(res.data.operateSuccess){
3333
+ vm.fullscreenLoading = false;
3334
+
3335
+ vm.sysDataClearMsg = clearInfoArr;
3336
+ vm.sysDataTypeTotalNum -= dataTypeArr.length;
3337
+ vm.sysDataTotalNum -= dataArr.length;
3338
+
3339
+ //重新加载树
3340
+ if(vm.$refs.sysDataTree){
3341
+ vm.$refs.sysDataTree.$refs.elTree.store.nodesMap = {};
3342
+ vm.$refs.sysDataTree.init();
3343
+ }
3344
+
3345
+ //提示信息
3346
+ vm.$message({
3347
+ message: '删除成功!',
3348
+ type: 'success'
3349
+ });
3350
+
3351
+ for(let typeObj of vm.sysDataTypeArr){
3352
+ vm.sysDataCheckObj[typeObj.id] = {};
3353
+ }
3354
+ vm.sysDataTypeCheckObj = {};
3355
+ vm.sysDataTypeValueOld = [];
3356
+
3357
+ vm.checkSysDataNum = 0;
3358
+
3359
+ vm.sysDataTypeValue = [];
3360
+
3361
+ vm.checkSysDataNum = 0;
3362
+ //关闭弹窗
3363
+ vm.dialogSysDataVisible = false;
3364
+ }else{
3365
+ vm.$message({
3366
+ message: '删除失败!',
3367
+ type: 'error'
3368
+ });
3369
+ }
3370
+ }
3371
+ });
3372
+
3373
+ //删除自定义功能菜单数据
3374
+ }else if(type == "diyMenu"){
3375
+ if(vm.checkDiyMenuNum <= 0){
3376
+ vm.$message({
3377
+ message: '没有要删除的数据!',
3378
+ type: 'warning'
3379
+ });
3380
+ return;
3381
+ }
3382
+ vm.fullscreenLoading = true;
3383
+ //选中的类型
3384
+ let types = vm.diyMenuTypeValue.join(",");
3385
+ //取消选中的数据
3386
+ let noCheckIds = "";
3387
+ //选中的数据
3388
+ let checkIds = "";
3389
+
3390
+ if(vm.$refs.diyMenuTable){
3391
+ let noCheckData = vm.$refs.diyMenuTable.multipleNoSelection;
3392
+ if(noCheckData){
3393
+ noCheckIds = Object.keys(noCheckData).join(",");
3394
+ }
3395
+
3396
+ let checkObj = vm.$refs.diyMenuTable.multipleSelection;
3397
+ if(checkObj){
3398
+ checkIds = Object.keys(checkObj).join(",");
3399
+ }
3400
+ }
3401
+
3402
+ if(noCheckIds){
3403
+ noCheckIds = noCheckIds.substring(1);
3404
+ }
3405
+ if(checkIds){
3406
+ checkIds = checkIds.substring(1);
3407
+ }
3408
+
3409
+ //系统参数删除数据
3410
+ }else if(type == "sysParam"){
3411
+ if(vm.checkSysParamNum <= 0){
3412
+ vm.$message({
3413
+ message: '没有要删除的数据!',
3414
+ type: 'warning'
3415
+ });
3416
+ return;
3417
+ }
3418
+ vm.fullscreenLoading = true;
3419
+ //需要删除的数据id集合
3420
+ let deleteIds = "";
3421
+ let dataArr = [];
3422
+ if(vm.$refs.sysParamTable){
3423
+ let dataObj = vm.$refs.sysParamTable.multipleSelection;
3424
+ if(dataObj){
3425
+ dataArr = Object.keys(dataObj);
3426
+ }
3427
+ //转换成以逗号分隔的字符串
3428
+ deleteIds = dataArr.join(",");
3429
+ }
3430
+
3431
+ //删除数据
3432
+ vm.axios.post(vm.api.param.delete,{ids:deleteIds}).then(function (res) {
3433
+ if(res.data){
3434
+ if(res.data.operateSuccess){
3435
+ vm.fullscreenLoading = false;
3436
+ if(vm.$refs.sysParamTable){
3437
+ //清空勾选数据
3438
+ vm.$refs.sysParamTable.multipleSelection = {};
3439
+ vm.$refs.sysParamTable.multipleNoSelection = {};
3440
+ //重新加载列表
3441
+ vm.$refs.sysParamTable.doSearch();
3442
+ }
3443
+
3444
+ //提示信息
3445
+ vm.$message({
3446
+ message: '删除成功!',
3447
+ type: 'success'
3448
+ });
3449
+ //清除数据信息
3450
+ if(dataArr.length > 0){
3451
+ vm.sysParamClearMsg.push("清除系统参数" + dataArr.length + "条数据");
3452
+ //重新计算数据总数
3453
+ vm.sysParamTotalNum -= dataArr.length;
3454
+ }
3455
+ vm.checkSysParamNum = 0;
3456
+ //关闭弹窗
3457
+ vm.dialogSysParamVisible = false;
3458
+ }else{
3459
+ vm.$message({
3460
+ message: '删除失败!',
3461
+ type: 'error'
3462
+ });
3463
+ }
3464
+ }
3465
+ });
3466
+
3467
+
3468
+ //其他模块删除数据
3469
+ }else if(type == "other"){
3470
+ if(vm.otherCheckValueArr.length > 0){
3471
+ vm.fullscreenLoading = true;
3472
+ vm.otherCheckValueArr.forEach(function (type) {
3473
+ let msg = "";
3474
+ if(type == "safeRegion"){
3475
+ //三位一体删除数据请求地址
3476
+ requestUrl = "safeRegionController/truncateAllData";
3477
+ msg = "清除三位一体 " + vm.safeRegionTotalNum + "条数据";
3478
+ }else if(type == "gis"){
3479
+ //GIS删除数据请求地址
3480
+ requestUrl = "gisConfigureController/truncateAllData";
3481
+ msg = "清除GIS " + vm.gisTotalNum + "条数据";
3482
+ }else if(type == "log"){
3483
+ //日志删除数据请求地址
3484
+ requestUrl = "loginLogController/truncateAllData";
3485
+ msg = "清除日志 " + vm.logTotalNum + "条数据";
3486
+ }
3487
+
3488
+ //删除数据
3489
+ vm.axios.post(requestUrl).then(function (res) {
3490
+ if(res.data && res.data.operateSuccess){
3491
+ vm.fullscreenLoading = false;
3492
+ //清除信息
3493
+ vm.otherClearMsg.push(msg);
3494
+ //清除勾选数据
3495
+ vm.safeRegionTotalNum = 0;
3496
+ vm.gisTotalNum = 0;
3497
+ vm.logTotalNum = 0;
3498
+
3499
+ vm.checkOtherNum= 0;
3500
+ vm.otherCheckValueArr = [];
3501
+
3502
+ //提示信息
3503
+ vm.$message({
3504
+ message: '删除成功!',
3505
+ type: 'success'
3506
+ });
3507
+ }
3508
+ });
3509
+ });
3510
+ vm.fullscreenLoading = false;
3511
+ }
3512
+
3513
+ }
3514
+ },
3515
+
3516
+ deleteAll(){
3517
+ let vm = this;
3518
+ vm.$confirm('确定清除吗?', '提示', {
3519
+ confirmButtonText: '确定',
3520
+ cancelButtonText: '取消',
3521
+ type: 'warning'
3522
+ }).then(() => {
3523
+ if(vm.checkOrgStruNum > 0){
3524
+ vm.deteleData('orgStru');
3525
+ }
3526
+ if(vm.checkUserInfoNum > 0){
3527
+ vm.deteleData('userInfo');
3528
+ }
3529
+ if(vm.checkUserRoleNum > 0){
3530
+ vm.deteleData('userRole');
3531
+ }
3532
+ if(vm.checkFormNum > 0){
3533
+ vm.deteleData('form');
3534
+ }
3535
+ if(vm.checkFlowNum > 0){
3536
+ vm.deteleData('flow');
3537
+ }
3538
+ if(vm.checkComplexNum > 0){
3539
+ vm.deteleData('complex');
3540
+ }
3541
+ if(vm.checkFrontMenuNum > 0){
3542
+ vm.deteleData('frontMenu');
3543
+ }
3544
+ if(vm.checkSysDataNum> 0){
3545
+ vm.deteleData('sysData');
3546
+ }
3547
+ if(vm.checkDiyMenuNum > 0){
3548
+ vm.deteleData('diyMenu');
3549
+ }
3550
+ if(vm.checkSysParamNum > 0){
3551
+ vm.deteleData('sysParam');
3552
+ }
3553
+ // vm.deteleData('other');
3554
+ }).catch(() => {
3555
+ vm.$message({
3556
+ type: 'info',
3557
+ message: '已取消删除'
3558
+ });
3559
+ });
3560
+
3561
+ },
3562
+
3563
+ //默认勾选
3564
+ defaultCheck(){
3565
+ let vm = this;
3566
+ vm.clearDefaultCheck('clear');
3567
+ vm.defaultOrClear = false;
3568
+ //组织架构默认勾选
3569
+ vm.sysOrgDimensionArr.forEach(function (dim) {
3570
+ vm.orgStruCheckList.push(dim.id);
3571
+ });
3572
+ vm.orgStruDeleteData= ['relatedData'];
3573
+
3574
+ //用户账户
3575
+ vm.userTypeArr.forEach(function (data) {
3576
+ vm.userInfoCheckList.push(data.key);
3577
+ });
3578
+
3579
+ //角色权限
3580
+ vm.userRoleTypeArr.forEach(function (data) {
3581
+ vm.userRoleCheckList.push(data.key);
3582
+ });
3583
+
3584
+ //其他
3585
+ vm.otherCheckValueArr = ['safeRegion','log','gis'];
3586
+ },
3587
+
3588
+ //清除默认勾选
3589
+ clearDefaultCheck(source){
3590
+ let vm = this;
3591
+
3592
+ if(source == "clear"){
3593
+ vm.defaultOrClear = true;
3594
+ }
3595
+
3596
+ //组织架构
3597
+ for(let orgDim of vm.sysOrgDimensionArr){
3598
+ vm.orgStruCheckObj[orgDim.id] = {};
3599
+ vm.orgStruCheckObjOld[orgDim.id] = {};
3600
+ vm.orgDimSelectNum[orgDim.id] = 0;
3601
+ }
3602
+ vm.orgStruCheckListOld = [];
3603
+ vm.orgStruCheckList = [];
3604
+ vm.orgStruDeleteData = [];
3605
+
3606
+ //用户账户
3607
+ vm.userTypeArr.forEach(function (type) {
3608
+ if(vm.$refs[type.ref]){
3609
+ vm.$refs[type.ref][0].multipleSelection = {};
3610
+ vm.$refs[type.ref][0].multipleNoSelection = {};
3611
+ }
3612
+ });
3613
+ if(vm.$refs.userDevDialogTable){
3614
+ vm.$refs.userDevDialogTable.multipleSelection = {};
3615
+ vm.$refs.userDevDialogTable.multipleNoSelection = {};
3616
+ }
3617
+
3618
+ vm.userInfoCheckList = [];
3619
+
3620
+ //用户角色
3621
+ vm.userRoleTypeArr.forEach(function (type) {
3622
+ if(vm.$refs[type.ref]){
3623
+ vm.$refs[type.ref][0].multipleSelection = {};
3624
+ vm.$refs[type.ref][0].multipleNoSelection = {};
3625
+ }
3626
+ });
3627
+ vm.userRoleCheckList = [];
3628
+
3629
+ //智能建表
3630
+ if(vm.$refs.formTable){
3631
+ vm.$refs.formTable.multipleSelection = {};
3632
+ vm.$refs.formTable.multipleNoSelection = {};
3633
+ }
3634
+ vm.formModelValue = [];
3635
+ vm.formModelValueOld = [];
3636
+
3637
+ //工作流
3638
+ if(vm.$refs.flowConfigDialogTable){
3639
+ vm.$refs.flowConfigDialogTable.multipleSelection = {};
3640
+ vm.$refs.flowConfigDialogTable.multipleNoSelection = {};
3641
+ }
3642
+ if(vm.$refs.flowInstDialogTable){
3643
+ vm.$refs.flowInstDialogTable.multipleSelection = {};
3644
+ vm.$refs.flowInstDialogTable.multipleNoSelection = {};
3645
+ }
3646
+ vm.flowTypeValue = [];
3647
+
3648
+ //前台菜单
3649
+ vm.checkFrontMenuNum = 0;
3650
+ vm.frontMenuCheckObj = {ent:{},gov:{},mec:{},dev:{}};
3651
+ vm.frontMenuCheckObjOld = {ent:{},gov:{},mec:{},dev:{}};
3652
+ vm.frontMenuCheckListOld = [];
3653
+ vm.frontMenuCheckList = [];
3654
+
3655
+ //复合视图
3656
+ if(vm.$refs.complexTable){
3657
+ vm.$refs.complexTable.multipleSelection = {};
3658
+ vm.$refs.complexTable.multipleNoSelection = {};
3659
+ }
3660
+
3661
+ //数据字典
3662
+ for(let typeObj of vm.sysDataTypeArr){
3663
+ vm.sysDataCheckObj[typeObj.id] = {};
3664
+ }
3665
+ vm.sysDataTypeCheckObj = {};
3666
+ vm.sysDataTypeValueOld = [];
3667
+ vm.checkSysDataNum = 0;
3668
+ vm.sysDataTypeValue = [];
3669
+
3670
+ //自定义功能菜单
3671
+ if(vm.$refs.diyMenuTable){
3672
+ vm.$refs.diyMenuTable.multipleSelection = {};
3673
+ vm.$refs.diyMenuTable.multipleNoSelection = {};
3674
+ }
3675
+ vm.diyMenuTypeValue = [];
3676
+
3677
+ //系统参数
3678
+ if(vm.$refs.sysParamTable){
3679
+ vm.$refs.sysParamTable.multipleSelection = {};
3680
+ vm.$refs.sysParamTable.multipleNoSelection = {};
3681
+ }
3682
+ //其他
3683
+ vm.checkOtherNum= 0;
3684
+ vm.otherCheckValueArr = [];
3685
+ },
3686
+
3687
+ //按模块或分类清除数据
3688
+ deleteDataByModelOrType(){
3689
+ let vm = this;
3690
+ //组织架构
3691
+ if(vm.orgStruCheckList.length > 0){
3692
+ //是否删除关联数据
3693
+ let deleteRelateData = false;
3694
+ if(vm.orgStruDeleteData.indexOf("同时清除关联数据") > -1){
3695
+ deleteRelateData = true;
3696
+ }
3697
+ //是否删除组织维度
3698
+ let deleteOrgDim = false;
3699
+ if(vm.orgStruDeleteData.indexOf("同时清除维度") > -1){
3700
+ deleteOrgDim = true;
3701
+ }
3702
+ //删除组织维度数据
3703
+ vm.axios.post(vm.api.sysOrg.deleteRelateData,
3704
+ {orgDimIds:vm.orgStruCheckList.toString(),deleteRelate:deleteRelateData,
3705
+ deleteOrgDim:deleteOrgDim}).then(function (res) {
3706
+ if(res.data){
3707
+
3708
+ }
3709
+ });
3710
+ }
3711
+
3712
+ //用户账户
3713
+ if(vm.userInfoCheckList.length > 0){
3714
+ vm.axios.post(vm.api.sysUser.deleteByType,{typeIds:vm.userInfoCheckList.toString()}).then(function (res) {
3715
+ if(res.data){
3716
+
3717
+ }
3718
+ });
3719
+ }
3720
+
3721
+ //用户角色
3722
+ if(vm.userRoleCheckList.length > 0){
3723
+ vm.axios.post(vm.api.role.deleteByType,{typeIds:vm.userRoleCheckList.toString()}).then(function (res) {
3724
+ if(res.data){
3725
+
3726
+ }
3727
+ });
3728
+ }
3729
+
3730
+ //智能建表
3731
+ if(vm.formModelValue.length > 0){
3732
+ vm.axios.post("tablebaseController/deleteByModel",{typeIds:vm.formModelValue.toString()}).then(function (res) {
3733
+ if(res.data){
3734
+
3735
+ }
3736
+ });
3737
+ }
3738
+
3739
+ //工作流
3740
+ if(vm.flowTypeValue.length > 0){
3741
+ //是否删除流程配置
3742
+ let deleteConfig = false;
3743
+ if(vm.flowCheckList.indexOf("流程配置")){
3744
+ deleteConfig = true;
3745
+ }
3746
+ //是否删除流程实例
3747
+ let deleteInst = false;
3748
+ if(vm.flowCheckList.indexOf("流程实例")){
3749
+ deleteInst = true
3750
+ }
3751
+ //删除数据
3752
+ vm.axios.post("flowDefineController/deleteByFlowClass",
3753
+ {flowClasss:vm.flowTypeValue.toString(),deleteConfig:deleteConfig,deleteInst:deleteInst}).then(function (res) {
3754
+ if(res.data){
3755
+
3756
+ }
3757
+ });
3758
+ }
3759
+
3760
+ //前台菜单
3761
+ if(vm.frontMenuCheckList.length > 0){
3762
+ vm.axios.post(vm.api.menu.deleteByType,{typeIds:vm.frontMenuCheckList.toString()}).then(function (res) {
3763
+ if(res.data){
3764
+
3765
+ }
3766
+ });
3767
+ }
3768
+
3769
+ //自定义菜单
3770
+ if(vm.diyMenuTypeValue.length > 0){
3771
+ }
3772
+
3773
+ //数据字典
3774
+ if(vm.sysDataTypeValue.length > 0){
3775
+ vm.axios.post(vm.api.data.deleteByType,{typeIds:vm.sysDataTypeValue.toString()}).then(function (res) {
3776
+ if(res.data){
3777
+
3778
+ }
3779
+ });
3780
+ }
3781
+
3782
+ //其他
3783
+ if(vm.otherCheckValueArr.length > 0){
3784
+ vm.deteleData("other");
3785
+ }
3786
+ },
3787
+
3788
+ },
3789
+ created() {
3790
+ //组织维度
3791
+ this.getOrgDimension();
3792
+ //组织架构数据总数
3793
+ // this.countOrgDimTotalNum();
3794
+ //用户账户类型
3795
+ this.getUserType();
3796
+ //用户账户总数
3797
+ this.countUserInfoToatalNum();
3798
+ //用户角色类型
3799
+ this.getUserRoleType();
3800
+ //计算角色权限数据总数
3801
+ // this.countUserRoleTotalNum();
3802
+ //智能建表模块信息
3803
+ this.getFormAllModel();
3804
+ //计算智能建表数据总数
3805
+ this.countFormTotalNum();
3806
+ //工作流类型
3807
+ this.getFlowType();
3808
+ //计算工作流数据总数
3809
+ this.countFlowTotalNum();
3810
+ //计算复合视图数据总数
3811
+ this.countComplexTotalNum();
3812
+ //计算前台菜单数据总数
3813
+ this.countFrontMenuToTalNum();
3814
+ //数据字典类型
3815
+ this.getSysDataType();
3816
+ //计算数据字典数据总数
3817
+ this.countSysDataNum();
3818
+ //自定义功能菜单类型
3819
+ this.getDiyMenuType();
3820
+ //计算自定义功能菜单数据总数
3821
+ this.countDiyMenuTotalNum();
3822
+ //计算系统参数数据总数
3823
+ this.countSysParamTotalNum();
3824
+
3825
+ //计算三位一体数据总数
3826
+ this.countSafeRegionTotalNum();
3827
+ //计算gis数据总数
3828
+ this.countGisTotalNum();
3829
+ //计算日志数据总数
3830
+ this.countLogTotalNum();
3831
+ }
3832
+ }
3833
+ </script>
3834
+ <style rel="stylesheet/scss" lang="scss">
3835
+
3836
+ /* 滚动条宽度 */
3837
+ ::-webkit-scrollbar {
3838
+ width: 2px;
3839
+ }
3840
+
3841
+ /* 滚动槽 */
3842
+ ::-webkit-scrollbar-track {
3843
+ background: none;
3844
+ }
3845
+
3846
+ /* 滚动条滑块 */
3847
+ ::-webkit-scrollbar-thumb {
3848
+ background: #a9a9a9;
3849
+ border-radius: 10px;
3850
+ }
3851
+
3852
+ @mixin paddingStyle($padding){
3853
+ padding: $padding;
3854
+ }
3855
+
3856
+ .init-data {
3857
+ .el-main{
3858
+ padding: 0;
3859
+ }
3860
+
3861
+ .el-card{
3862
+ overflow: visible;
3863
+ }
3864
+
3865
+ .el-card__header {
3866
+ padding: 0;
3867
+ color: white;
3868
+ }
3869
+
3870
+ .el-table .cell {
3871
+ line-height: 20px;
3872
+ height:20px;
3873
+ }
3874
+ .el-table td, .el-table th {
3875
+ padding: 8px 0;
3876
+ }
3877
+
3878
+ .el-select__tags {
3879
+ height: 30px;
3880
+ overflow-y: auto;
3881
+ overflow-x: hidden;
3882
+ }
3883
+
3884
+ .box-card {
3885
+ width: 480px;
3886
+ }
3887
+
3888
+
3889
+ .el-card__body {
3890
+ padding-bottom: 5px;
3891
+ }
3892
+
3893
+ .init-data-card-user .el-card__header{
3894
+ line-height: 50px;
3895
+ padding-left: 20px;
3896
+ background-color: #000066;
3897
+ }
3898
+
3899
+ .init-data-card-user .el-card__body {
3900
+ padding-top: 10px;
3901
+ }
3902
+
3903
+ .init-data-card-develop .el-card__header{
3904
+ line-height: 50px;
3905
+ padding-left: 20px;
3906
+ background-color: #0099CC;
3907
+ }
3908
+
3909
+ .init-data-card-develop .el-card__body {
3910
+ padding-top: 10px;
3911
+ }
3912
+ .init-data-card-system .el-card__header{
3913
+ line-height: 50px;
3914
+ padding-left: 20px;
3915
+ background-color: #006699;
3916
+ }
3917
+
3918
+ .init-data-card-system .el-card__body {
3919
+ padding-top: 10px;
3920
+ }
3921
+
3922
+ .card-user {
3923
+ .el-checkbox+.el-checkbox {
3924
+ margin-left: 20px;
3925
+ }
3926
+ }
3927
+
3928
+ .card-user-role {
3929
+ .el-checkbox+.el-checkbox {
3930
+ margin-left: 20px;
3931
+ }
3932
+ }
3933
+
3934
+ /*弹框样式 start*/
3935
+ .dialog-org-stru,.dialog-user-info,.dialog-user-role,.dialog-form,.dialog-flow,.dialog-complex,
3936
+ .dialog-diy-menu,.dialog-sys-param,.dialog-front-menu,.dialog-sys-data{
3937
+ .el-dialog{
3938
+ min-width: 750px;
3939
+ min-height: 500px;
3940
+ }
3941
+
3942
+ /*配合el-no-header去掉弹出窗口的头部 start*/
3943
+ .el-dialog__header {
3944
+ padding: 0;
3945
+ }
3946
+ .el-dialog__title {
3947
+ height: 0;
3948
+ line-height: 0;
3949
+ }
3950
+
3951
+ .el-dialog__headerbtn {
3952
+ z-index: 100;
3953
+ }
3954
+ /*el-no-header去掉弹出窗口的头部 start*/
3955
+
3956
+ /*搜索栏样式 start*/
3957
+ .dialog-search-col{
3958
+ margin-top: 10px;
3959
+ }
3960
+
3961
+ .dialog-search-div{
3962
+ float: left;
3963
+ margin-right: 10px;
3964
+ }
3965
+ /*搜索栏样式 end*/
3966
+
3967
+ }
3968
+ /*弹框样式 end*/
3969
+
3970
+
3971
+ .dialog-front-menu{
3972
+ .el-dialog{
3973
+ min-width: 400px;
3974
+ min-height: 600px;
3975
+ }
3976
+ }
3977
+
3978
+ .dialog-org-stru{
3979
+ .el-dialog{
3980
+ min-width: 650px;
3981
+ min-height: 600px;
3982
+ }
3983
+ }
3984
+
3985
+ .dialog-sys-data{
3986
+ .el-dialog{
3987
+ min-width: 350px;
3988
+ min-height: 500px;
3989
+ }
3990
+ }
3991
+ }
3992
+
3993
+ .detail-info-line{
3994
+ border-top: 1px dashed #CCCCCC;
3995
+ margin-top: 5px;
3996
+ margin-bottom: 5px;
3997
+ }
3998
+
3999
+ .deatil-info-check{
4000
+ margin-bottom: 5px;
4001
+ }
4002
+
4003
+ .safeValidateDialog .el-dialog__body{
4004
+ height: calc(100% - 80px);
4005
+ }
4006
+
4007
+ </style>
4008
+ <style rel="stylesheet/scss" lang="scss" scoped>
4009
+ .init-data-clearfix:before,
4010
+ .init-data-clearfix:after {
4011
+ display: table;
4012
+ content: "";
4013
+ }
4014
+ .init-data-clearfix:after {
4015
+ clear: both
4016
+ }
4017
+
4018
+ .init-data {
4019
+ .total-info {
4020
+ width: 1632px;
4021
+ min-width: 1632px;
4022
+ max-width:1632px;
4023
+ margin-left: 20px;
4024
+
4025
+ /* 滚动条宽度 */
4026
+ ::-webkit-scrollbar {
4027
+ width: 1px;
4028
+ }
4029
+ }
4030
+
4031
+ .text {
4032
+ font-size: 14px;
4033
+ }
4034
+
4035
+ .item {
4036
+ margin-bottom: 5px;
4037
+ }
4038
+
4039
+ .model-title{
4040
+ z-index:100;
4041
+ position: absolute;
4042
+ top: 10px;
4043
+ font-family: 'Brush Script MT Cursiva', 'Brush Script MT';
4044
+ font-size: 16px;
4045
+ font-style:italic;
4046
+ padding-left: 20px;
4047
+ box-sizing: border-box;
4048
+ }
4049
+
4050
+ .check-data-num{
4051
+ border-radius: 15px;
4052
+ background-color: #FF3300;
4053
+ color: white;
4054
+ position: absolute;
4055
+ margin-left:25px;
4056
+ margin-top: -5px;
4057
+ width: auto;
4058
+ height: 20px;
4059
+ text-align: center;
4060
+ padding: 0 5px 0 5px;
4061
+ }
4062
+
4063
+ .init-data-card-user {
4064
+ margin: 10px 25px 10px 25px;
4065
+ width: 325px;
4066
+ }
4067
+
4068
+ @mixin border-style(){
4069
+ border: 1px dashed #CCCCCC;
4070
+ }
4071
+ @mixin border-bottom-style(){
4072
+ border-bottom: 1px solid #CCCCCC;
4073
+ }
4074
+
4075
+ .user-div {
4076
+ height: 100%;
4077
+ width: 380px;
4078
+ @include border-style;
4079
+ border-radius: 10px;
4080
+ margin-top: 20px;
4081
+ }
4082
+
4083
+ .data-num-row {
4084
+ margin-top: 5px;
4085
+ }
4086
+
4087
+ .data-number {
4088
+ padding-left: 10px;
4089
+ }
4090
+
4091
+ .data-number-selected {
4092
+ margin-top: 7px;
4093
+ }
4094
+
4095
+ .data-number-cut-off-rule {
4096
+ width: 80%;
4097
+ border-top: 1px solid #CCCCCC;
4098
+ margin-top: 10px;
4099
+ }
4100
+
4101
+ .check-div {
4102
+ height: 55px;
4103
+ line-height: 55px;
4104
+ }
4105
+
4106
+ .clear-line{
4107
+ @include border-bottom-style;
4108
+ width: 95%;
4109
+ }
4110
+
4111
+ .card-org{
4112
+ margin-top: 20px;
4113
+ .check-div{
4114
+ height: 130px;
4115
+ line-height: 34px;
4116
+ .org-dime-div{
4117
+ height: 85px;
4118
+ overflow-y: auto;
4119
+ bottom: 10px;
4120
+ }
4121
+ }
4122
+ .data-number{
4123
+ line-height: 40px;
4124
+ }
4125
+ .data-number-cut-off-rule {
4126
+ margin-top: 5px;
4127
+ }
4128
+ }
4129
+
4130
+ .card-user{
4131
+ .check-div{
4132
+ height: 80px;
4133
+ line-height: 34px;
4134
+ overflow-y: auto;
4135
+ }
4136
+ .data-number{
4137
+ line-height: 40px;
4138
+ }
4139
+ .data-number-cut-off-rule {
4140
+ margin-top: 5px;
4141
+ }
4142
+ }
4143
+
4144
+ .card-user-role{
4145
+ .check-div{
4146
+ height: 80px;
4147
+ line-height: 34px;
4148
+ overflow-y: auto;
4149
+ }
4150
+ .data-number{
4151
+ line-height: 40px;
4152
+ }
4153
+ .data-number-cut-off-rule {
4154
+ margin-top: 5px;
4155
+ }
4156
+ }
4157
+
4158
+ .clean-row {
4159
+ height: 50px;
4160
+ overflow-y: auto;
4161
+ }
4162
+
4163
+ .clean-col {
4164
+ padding-left: 10px;
4165
+ color: #009900;
4166
+ padding-top: 5px;
4167
+ }
4168
+
4169
+ .org-dimension-rule {
4170
+ width: 80%;
4171
+ border-top: 1px dashed #CCCCCC;
4172
+ }
4173
+
4174
+ .develop-div {
4175
+ height: 100%;
4176
+ width: 380px;
4177
+ @include border-style;
4178
+ border-radius: 10px;
4179
+ margin-top: 20px;
4180
+ }
4181
+
4182
+ .init-data-card-develop {
4183
+ margin: 20px;
4184
+ min-width: 325px;
4185
+ .data-number{
4186
+ line-height: 40px;
4187
+ }
4188
+ }
4189
+
4190
+ .develop-check-div {
4191
+ height: 70px;
4192
+ }
4193
+
4194
+ .el-select {
4195
+ width: 80%;
4196
+ height: 32px;
4197
+ }
4198
+
4199
+ .flow-check-div {
4200
+ height: 120px;
4201
+ }
4202
+
4203
+ .card-flow {
4204
+ .clean-row {
4205
+ height: 60px;
4206
+ overflow-y: auto;
4207
+ }
4208
+ }
4209
+
4210
+ .card-complex-view {
4211
+
4212
+ .clean-row {
4213
+ height: 80px;
4214
+ overflow-y: auto;
4215
+ }
4216
+
4217
+ .data-number-cut-off-rule{
4218
+ margin-top: 20px;
4219
+ }
4220
+ }
4221
+
4222
+ .system-div {
4223
+ height: 100%;
4224
+ width: 740px;
4225
+ @include border-style;
4226
+ border-radius: 10px;
4227
+ margin-top: 20px;
4228
+ }
4229
+
4230
+ .init-data-card-system {
4231
+ min-width: 325px;
4232
+ }
4233
+
4234
+ @mixin marginStyle(){
4235
+ margin: 20px 10px 10px 20px;
4236
+ }
4237
+
4238
+ .card-front-menu{
4239
+ @include marginStyle();
4240
+ .data-number{
4241
+ line-height: 40px;
4242
+ }
4243
+ }
4244
+
4245
+ .card-diy-menu{
4246
+ @include marginStyle();
4247
+ .data-number{
4248
+ line-height: 40px;
4249
+ }
4250
+ }
4251
+
4252
+ .card-param {
4253
+ margin: 20px 10px 20px 20px;
4254
+ .data-number{
4255
+ line-height: 40px;
4256
+ }
4257
+ }
4258
+
4259
+ .card-sys-data {
4260
+ margin-top: 20px;
4261
+ margin-right: 20px;
4262
+ .data-number{
4263
+ line-height: 31px;
4264
+ }
4265
+ }
4266
+
4267
+
4268
+ .card-other {
4269
+ margin-top: 20px;
4270
+ margin-right: 20px;
4271
+ }
4272
+
4273
+ .card-front-menu{
4274
+ .check-div {
4275
+ height: 100px;
4276
+ line-height: 43px;
4277
+ }
4278
+
4279
+ .el-checkbox+.el-checkbox {
4280
+ margin-left: 40px;
4281
+ }
4282
+ }
4283
+
4284
+ .sys-data-check-div {
4285
+ height: 70px;
4286
+ }
4287
+
4288
+ .diy-menu-check-div {
4289
+ height: 70px;
4290
+ .el-select {
4291
+ width: 70%;
4292
+ }
4293
+ }
4294
+
4295
+ .card-param .clean-row{
4296
+ height: 50px;
4297
+ overflow-y: auto;
4298
+ }
4299
+
4300
+ .tree-div{
4301
+ height: 600px;
4302
+ }
4303
+
4304
+ .tree-search-row{
4305
+ margin-top: 10px;
4306
+ margin-left: 5px;
4307
+ margin-bottom: 20px;
4308
+ /*width: 40%;*/
4309
+ }
4310
+
4311
+ .common-tree-row{
4312
+ overflow: auto;
4313
+ height: 550px;
4314
+ }
4315
+ }
4316
+ </style>