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,327 @@
1
+ <template>
2
+ <span class="jlcombobox-container">
3
+ <template v-for="obj in optionMap">
4
+ <el-select v-model="searchForm[obj.field]" v-if="!obj.isHidden"
5
+ :ref="obj.field"
6
+ placeholder="请选择"
7
+ :size="size"
8
+ :style="style"
9
+ :multiple="obj.multiple"
10
+ :disabled="obj.disabled"
11
+ @change="obj.onChange(searchForm[obj.field])"
12
+ popper-class="jlcombobox" :clearable="clearable">
13
+ <el-option-group
14
+ v-if="obj.needGroup"
15
+ v-for="group in obj.datas"
16
+ :key="group.id"
17
+ :label="group.name">
18
+ <el-option
19
+ v-for="item in group.datas"
20
+ :key="item[valueField]"
21
+ :label="item[labelField]"
22
+ :value="item[valueField]">
23
+ </el-option>
24
+ </el-option-group>
25
+ <el-option
26
+ v-if="!obj.needGroup"
27
+ v-for="item in obj.datas"
28
+ :key="item[valueField]"
29
+ :label="item[labelField]"
30
+ :value="item[valueField]">
31
+ </el-option>
32
+ </el-select>&nbsp;{{obj.separator}}
33
+ </template>
34
+ </span>
35
+ </template>
36
+
37
+ <script>
38
+ export default {
39
+ name: "safe-cascade-select",//级联下拉框
40
+ props: {
41
+ searchForm: {type: Object, required: true},//表单对象
42
+ field: {type: String, required: true},//操作字段
43
+ typeId: {type: String, required: true},//数据字典ID
44
+ hasParentJudge:{type: String, default: ""},//是否需要父级
45
+ parentId:{type: String},//父级ID
46
+ dataUrl:{type: String},//数据来源
47
+ separator:{type: String, default: "-"},//分隔符
48
+ valueField: {type: String, default: "id"},//值域字段名称
49
+ labelField: {type: String, default: "dataName"},//显示域字段名称
50
+ parentField: {type: String, default: "parentId"},//父级字段名称
51
+ multiple: {type: String, default: ""},//是否多选
52
+ disabled: {type: String, default: ""},//是否只读
53
+ isHidden: {type: String, default: ""},//是否隐藏
54
+ defaultValue: {type: String, default: ""},//默认值
55
+ clickCallback:{type:Function,default: null},
56
+ size:{type: String, default: "small"},
57
+ width:{type: String, default: ""}, // 宽度
58
+ clearable:{type:Boolean,default:true},//是否可清除
59
+ },
60
+ data() {
61
+ return {
62
+ dataMap : {},
63
+ dataIdMap : {},
64
+ optionMap : {},
65
+ parentTempId:"-1",
66
+ OBJ_DATAS: {},
67
+ style:{},
68
+ }
69
+ },
70
+ watch:{
71
+ parentId(){
72
+ this.initCascadeSelect;
73
+ }
74
+ },
75
+ created() {
76
+ this.initCascadeSelect();
77
+ },
78
+
79
+ methods: {
80
+ /**
81
+ * 获取控件将用到的元数据,并根据parentId进行存储
82
+ * @param callBackFunc 回调函数
83
+ */
84
+ getAllData(callBackFunc){
85
+ let vm = this;
86
+ // 根据元数据类型获取元数据
87
+ vm.DATA_GLOBAL.getDatas(vm.typeId,vm.parentId).then(datas => {
88
+ // 遍历返回的元数据数组
89
+ for(let dataTemp of datas){
90
+ // 若该元数据存在父级ID与ID
91
+ if(dataTemp[vm.parentField] && dataTemp[vm.valueField]) {
92
+ // 若未有该父级ID的元数据,则初始化
93
+ if (!vm.dataMap[dataTemp[vm.parentField]]){
94
+ vm.dataMap[dataTemp[vm.parentField]] = [];
95
+ }
96
+ // 将元数据添加到以父级ID为键与以ID为键的MAP中
97
+ vm.dataMap[dataTemp[vm.parentField]].push(dataTemp);
98
+ vm.dataIdMap[dataTemp[vm.valueField]] = dataTemp;
99
+ }
100
+ }
101
+ // 存在回调函数时,进行调用
102
+ if(callBackFunc && typeof callBackFunc == "function"){
103
+ callBackFunc();
104
+ }
105
+ });
106
+ },
107
+ /**
108
+ * 获取下拉框数据源并校正选择值
109
+ * @param parentId 父级ID
110
+ * @param field 字段
111
+ */
112
+ getSelectData(parentId, field){
113
+ let vm = this;
114
+ // 若MAP中未找到该字段对应的配置,则退出
115
+ if(!vm.optionMap[field]){
116
+ return;
117
+ }
118
+ // 若parentId为空,则清空数据源与选择值
119
+ if(parentId && parentId.length){
120
+ let datasTemp = [];
121
+ let datasRecord = []; // 记录添加的数据源
122
+ //如果parentId 是字符串类型
123
+ if(typeof parentId === 'string'){
124
+ let dataTempMap = {};
125
+ vm.DATA_GLOBAL.getDatas(vm.typeId,parentId).then(datas => {
126
+ // 遍历返回的元数据数组
127
+ for(let dataTemp of datas){
128
+ // 若该元数据存在父级ID与ID
129
+ if(dataTemp[vm.parentField] && dataTemp[vm.valueField]) {
130
+ // 若未有该父级ID的元数据,则初始化
131
+ if (!dataTempMap[dataTemp[vm.parentField]]){
132
+ dataTempMap[dataTemp[vm.parentField]] = [];
133
+ }
134
+ // 将元数据添加到以父级ID为键与以ID为键的MAP中
135
+ dataTempMap[dataTemp[vm.parentField]].push(dataTemp);
136
+ dataTempMap[dataTemp[vm.valueField]] = dataTemp;
137
+ }
138
+ }
139
+ datasRecord = dataTempMap[parentId];
140
+
141
+ //数据重置与赋值 optionMap
142
+ vm.setFormData(datasRecord,field);
143
+
144
+
145
+ // 若有下级下拉框,则继续重置
146
+ if(vm.optionMap[field].casField){
147
+ vm.parentTempId = vm.searchForm[field];
148
+ vm.getSelectData(vm.searchForm[field], vm.optionMap[field].casField);
149
+ }
150
+ });
151
+ }else {
152
+ // 分组对象
153
+ let groupTemp;
154
+ // 遍历parentId数组,添加对应parentId的数据源
155
+ for (let parentIdTemp of parentId) {
156
+ // 保存分组对象信息
157
+ groupTemp = {"id" : parentIdTemp
158
+ , "name" : vm.dataIdMap[parentIdTemp] ? vm.dataIdMap[parentIdTemp][vm.labelField] : ""
159
+ , "datas" : []};
160
+ for(let dataTemp of vm.dataMap[parentIdTemp]){
161
+ // 讲元数据保存到元数据组中
162
+ groupTemp.datas.push(dataTemp);
163
+ datasRecord.push(dataTemp);
164
+ }
165
+ datasTemp.push(groupTemp);
166
+ }
167
+
168
+ // 若只有一组元数据,则取消分组
169
+ if(datasTemp.length == 1){
170
+ datasTemp = datasTemp[0].datas;
171
+ vm.optionMap[field].needGroup = false;
172
+ }else{
173
+ vm.optionMap[field].needGroup = true;
174
+ }
175
+
176
+ //数据重置与赋值 searchForm
177
+ vm.setFormData(datasTemp,field);
178
+
179
+ // 若有下级下拉框,则继续重置
180
+ if(vm.optionMap[field].casField){
181
+ vm.parentTempId = vm.searchForm[field];
182
+ vm.getSelectData(vm.searchForm[field], vm.optionMap[field].casField);
183
+ }
184
+ }
185
+ }else {
186
+ vm.optionMap[field].datas = [];
187
+ vm.optionMap[field].needGroup = false;
188
+ vm.searchForm[field] = vm.optionMap[field].multiple ? [] : "";
189
+ }
190
+ },
191
+
192
+
193
+ /**
194
+ * 重置下一级下拉列表与赋值 searchForm
195
+ * */
196
+ setFormData(datasRecord,field){
197
+ let vm = this;
198
+ vm.optionMap[field].datas = datasRecord;
199
+ // 获取当前值
200
+ let curValue = vm.searchForm[field];
201
+ // 获取当前选择值的数组形式
202
+ let curValueArr = typeof curValue == "object" ? curValue : [curValue];
203
+ valueEach:
204
+ for (let i = curValueArr.length - 1; i >= 0; i--) {
205
+ if(datasRecord && datasRecord.constructor === Array && datasRecord.length > 0){
206
+ for (let dataObj of datasRecord) {
207
+ // 若当前选择的值存在于新数据源中,则跳入外层下一次循环
208
+ if (dataObj && dataObj[vm.valueField] == curValueArr[i]) {
209
+ continue valueEach;
210
+ }
211
+ }
212
+ }
213
+ // 若当前选择的值不存在于新数据源,则删除该选择值
214
+ curValueArr.splice(i, 1);
215
+ }
216
+ // 根据是否多选来赋值
217
+ vm.searchForm[field] = typeof curValue == "object" ? curValueArr : curValueArr.join("");
218
+
219
+ },
220
+
221
+
222
+
223
+ /**
224
+ * 初始化级联下拉框
225
+ */
226
+ initCascadeSelect() {
227
+ // 初始化宽度
228
+ if(this.width){
229
+ this.style = {'width':this.width};
230
+ }
231
+ let vm = this;
232
+ // 获取元数据
233
+ vm.getAllData(() => {
234
+ // 字段数组
235
+ let fieldArr = vm.field.split(",");
236
+ // 多选设置数组
237
+ let multipleArr = (vm.multiple || "").split(",");
238
+ // 只读设置数组
239
+ let disabledArr = (vm.disabled || "").split(",");
240
+ //隐藏设置数组
241
+ let hiddenArr = (vm.isHidden || "").split(",");
242
+ // 默认值数组
243
+ let defaultValueArr = (vm.defaultValue || "").split(",");
244
+
245
+ // 遍历字段数组,将配置保存在MAP中
246
+ for(let i = 0; i < fieldArr.length; i++){
247
+ let optionObj = {};
248
+ optionObj.field = fieldArr[i] + "";
249
+ optionObj.multiple = multipleArr[i] == 'true';
250
+ optionObj.disabled = disabledArr[i] == 'true';
251
+ optionObj.isHidden = hiddenArr[i] == 'true';
252
+
253
+ // Element下拉框多选与单选值类型不同,所以进行处理
254
+ if(optionObj.multiple){
255
+ optionObj.defaultValue = defaultValueArr[i] ? [defaultValueArr[i]] : [];
256
+ }else{
257
+ optionObj.defaultValue = defaultValueArr[i] ? defaultValueArr[i] : "";
258
+ }
259
+ vm.searchForm[fieldArr[i]] = vm.searchForm[fieldArr[i]] && vm.searchForm[fieldArr[i]].length
260
+ ? vm.searchForm[fieldArr[i]]
261
+ : optionObj.defaultValue;
262
+ //searchForm中移除 vm.field
263
+ if( vm.field in vm.searchForm){
264
+ delete vm.searchForm[vm.field];
265
+ }
266
+ optionObj.datas = [];
267
+ if(i != fieldArr.length -1) {
268
+ // 存关联的下拉框字段
269
+ optionObj.casField = fieldArr[i+1];
270
+ optionObj.separator = vm.separator;
271
+ // 值改变事件
272
+ optionObj.onChange = (value) => {
273
+ let dataName = ''; //当前label值
274
+ vm.getSelectData(vm.searchForm[fieldArr[i]], optionObj.casField);
275
+ // 重置数据源与选中值
276
+ vm.optionMap = Object.assign({}, vm.optionMap);
277
+ let currenData = optionObj.datas || [];
278
+ Object.keys(currenData).forEach(key => {
279
+ if(currenData[key].id === value){
280
+ dataName = currenData[key].dataName;
281
+ return;
282
+ }
283
+ });
284
+ if(vm.clickCallback !== null){
285
+ vm.clickCallback(dataName,optionObj.field,value); //回传label 和当前选中字段 和value
286
+ }
287
+ };
288
+ }else{
289
+ optionObj.onChange = (value) => {
290
+ let dataName = '';
291
+ vm.optionMap = Object.assign({}, vm.optionMap);
292
+ let currenData = optionObj.datas || [];
293
+ Object.keys(currenData).forEach(key => {
294
+ if(currenData[key].id === value){
295
+ dataName = currenData[key].dataName;
296
+ return;
297
+ }
298
+ });
299
+ if(vm.clickCallback !== null){
300
+ vm.clickCallback(dataName,optionObj.field,value); //回传label 和当前选中字段
301
+ }
302
+ };
303
+ }
304
+ vm.optionMap[optionObj.field] = optionObj;
305
+
306
+ // 初始化数据源与选中值
307
+ if(i == 0){
308
+ vm.getSelectData(vm.hasParentJudge == "true" ? vm.parentId : "-1" , optionObj.field);
309
+ }else{
310
+ vm.getSelectData(vm.searchForm[fieldArr[i-1]], optionObj.field);
311
+ }
312
+ }
313
+
314
+ vm.optionMap = Object.assign({}, vm.optionMap);
315
+
316
+ });
317
+ // console.log("下拉框:",this.optionMap);
318
+ }
319
+ }
320
+ }
321
+ </script>
322
+
323
+ <style scoped>
324
+ .jlcombobox-container{
325
+ display: inline-block;
326
+ }
327
+ </style>
@@ -0,0 +1,203 @@
1
+ <!--初始化三位一体-->
2
+ <template>
3
+ <el-container style="height: 100%;width: 100%">
4
+
5
+ <div class="quote-header-class">
6
+ <blockquote class="quote-class">
7
+ <span class="quote-font-class">
8
+ 三位一体初始化操作
9
+ </span>
10
+ <span style="color: red">
11
+ <i class="saspiconfont pl-icon-weixian">
12
+ <span style="font-size: 14px">
13
+ 接下来的操作会重建三位一体所有表,数据将会初始化。请谨慎操作!
14
+ </span>
15
+ </i>
16
+ </span>
17
+ </blockquote>
18
+ </div>
19
+ <div>
20
+
21
+ </div>
22
+ <fieldset class="fieldset-class">
23
+ <legend class="legend" >初始化三位一体需要的表</legend>
24
+ <el-button type="primary"
25
+ style="margin-top: 20px;margin-left: 30px" @click="initTable()">
26
+ 初始化三位一体相关表
27
+ </el-button>
28
+ <div style="margin-top: 0px">
29
+ <span style="margin-left: 30px;" v-html="tableInitMsg"></span>
30
+ </div>
31
+ </fieldset>
32
+
33
+ <fieldset class="fieldset-box-class" v-show="filedSetShow">
34
+ <legend class="legend" >初始化表数据-请选择需要初始化的地区</legend>
35
+ <safe-cascade-select
36
+ style="margin-left: 30px;margin-top: 20px"
37
+ :search-form="initDataObj"
38
+ field="province,city,area"
39
+ type-id="522eb83216004493b0e0eb729c564941"
40
+ :defaultValue="defaultValue"
41
+ :disabled="disableStr"
42
+ size="small"></safe-cascade-select>
43
+ <el-button type="primary"
44
+ style="margin-top: 20px;margin-left: 30px"
45
+ size="small" @click="initData()">
46
+ 初始化表数据
47
+ </el-button>
48
+ <div style="margin-top: 20px">
49
+ <span style="margin-left: 30px;" v-if="!isClickTableData">{{tableDataInitMsg}}</span>
50
+ <span style="margin-left: 30px;" v-if="isClickTableData && completeTableData">
51
+ <div style='margin-left: 30px;color:green;margin-top: 10px'>数据初始化完毕,请刷新页面!&nbsp;&nbsp;<a style='cursor:pointer;color:blue' @click='refresh()'>刷新</a></div>
52
+ </span>
53
+ <span style="margin-left: 30px;" v-if="isClickTableData && !completeTableData">
54
+ <div style='margin-left: 30px;color:red;margin-top: 10px'>数据初始化异常,请联系开发人员!</div>
55
+ </span>
56
+ </div>
57
+ </fieldset>
58
+ </el-container>
59
+ </template>
60
+
61
+ <script>
62
+ import SafeCascadeSelect from "../compoment/safeCascadeSelect";
63
+ export default {
64
+ name: "safeInitRegion",
65
+ components: {SafeCascadeSelect},
66
+ props:{
67
+ defaultValue:{type:String,default:''},
68
+ disableStr:{type:String,default:''},
69
+ refreshSafe:{type:Function,default: null},
70
+ },
71
+ data(){
72
+ return{
73
+ filedSetShow:false, //表数据配置
74
+ tableInitMsg:'暂无初始化结果显示!请点击按钮。',
75
+ tableArr:["SAFE_REGION","SAFE_SPV","SAFE_SPV_ECON","SAFE_ORG_SPV"],
76
+ tableDataInitMsg:'暂无初始化数据结果显示!请点击按钮。',
77
+ initDataObj:{
78
+ province:'',
79
+ city:'',
80
+ area:''
81
+ },
82
+ isClickTableData:false, //是否执行表数据初始化
83
+ completeTableData:false, //执行表初始化结果
84
+ }
85
+ },
86
+ methods:{
87
+ /**
88
+ * 初始化表数据
89
+ */
90
+ initTable(){
91
+ this.filedSetShow = false;
92
+ this.tableInitMsg = "";
93
+ let flag = true;
94
+
95
+ this.$confirm("确定初始化三位一体所有表", '警告', {
96
+ confirmButtonText: '确定',
97
+ cancelButtonText: '取消',
98
+ type: 'warning'
99
+ }).then(() => {
100
+ this.axios.post(this.api.safeInit.initTrinityTable).then(res =>{
101
+ if(res && res.data){
102
+ if(res.data.flag == 'true'){
103
+ this.tableArr.forEach(item =>{
104
+ this.tableInitMsg += "<div style='margin-left: 30px'>[表名:<span style='color: green'>"+item+"</span>]&nbsp;&nbsp;初始化完毕&nbsp;&nbsp;<i class='fa fa-check wc'></i></div>";
105
+ });
106
+ }else {
107
+ flag = false;
108
+ this.tableInitMsg = "<div style='margin-left: 30px;color:green;margin-top: 10px'>初始化失败&nbsp;&nbsp;<i class='fa fa-close fb'></i></div>";
109
+ }
110
+ }
111
+ if(flag){
112
+ this.tableInitMsg += "<div style='margin-left: 30px;color:green;margin-top: 10px'>三位一体相关表已经准备完毕,请进行下一步操作!</div>";
113
+ this.filedSetShow = true;
114
+ }else {
115
+ this.tableInitMsg += "<div style='margin-left: 30px;color:red;margin-top: 10px'>三位一体相关表初始化失败,请联系开发人员!</div>";
116
+ }
117
+ });
118
+ });
119
+ },
120
+
121
+ /**
122
+ * 初始化表数据
123
+ */
124
+ initData(){
125
+ this.isClickTableData = false;
126
+ this.completeTableData = false;
127
+ this.axios.post(this.api.safeInit.initTrinityData,{"province":this.initDataObj.province,"city":this.initDataObj.city,"area":this.initDataObj.area}).then(res =>{
128
+ this.isClickTableData = true;
129
+ if(res && res.data){
130
+ if(res.data.flag == 'true'){
131
+ this.completeTableData = true;
132
+ }
133
+ }
134
+ });
135
+
136
+ },
137
+
138
+ /**
139
+ * 刷新 safeManager
140
+ */
141
+ refresh(){
142
+ //调用 safeManager 刷新方法
143
+ this.refreshSafe && this.refreshSafe();
144
+ }
145
+ }
146
+ }
147
+ </script>
148
+
149
+ <style scoped lang="scss">
150
+ .quote-header-class{
151
+ width: calc(100% - 45px);
152
+ margin-left: 5px;
153
+ height: 25px;
154
+ line-height: 25px;
155
+ position: absolute;
156
+
157
+ }
158
+ .quote-class{
159
+ margin-bottom: 10px;
160
+ padding: 10px;
161
+ border-left: 5px solid #009688;
162
+ background-color: #f2f2f2;
163
+ .quote-font-class{
164
+ font-size: 16px;
165
+ }
166
+ }
167
+
168
+ .fieldset-class{
169
+ position: absolute;
170
+ width: calc(100% - 45px);
171
+ height: 240px;
172
+ border: 2px solid #EBEEF5;
173
+ margin-top: 50px;
174
+ box-sizing: border-box;
175
+ .legend{
176
+ margin-left: 20px;
177
+ padding: 0 10px;
178
+ font-size: 16px;
179
+ font-weight: 300;
180
+ }
181
+ }
182
+ .fieldset-box-class{
183
+ width: 100%;
184
+ height: 200px;
185
+ border: 2px solid #EBEEF5;
186
+ margin-top: 300px;
187
+ box-sizing: border-box;
188
+ .legend{
189
+ margin-left: 20px;
190
+ padding: 0 10px;
191
+ font-size: 16px;
192
+ font-weight: 300;
193
+ }
194
+ }
195
+ .tableName{
196
+ color:green;
197
+ }
198
+ .cjxx{
199
+ margin:5px;
200
+ }
201
+
202
+
203
+ </style>