cloud-web-corejs 1.0.280 → 1.1.0-dev.10

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 (193) hide show
  1. package/package.json +6 -2
  2. package/src/components/VabUpload/image-viewer.vue +442 -442
  3. package/src/components/VabUpload/index.vue +45 -3
  4. package/src/components/VabUpload/mixins.js +174 -34
  5. package/src/components/VabUpload/previewGroup.js +128 -0
  6. package/src/components/VabUpload/view.vue +248 -209
  7. package/src/components/baseTabs/mixins.js +181 -181
  8. package/src/components/bizTab/BizBillActions.vue +129 -0
  9. package/src/components/bizTab/BizTabListPage.vue +391 -0
  10. package/src/components/bizTab/README.md +378 -0
  11. package/src/components/bizTab/billTableUtil.js +48 -0
  12. package/src/components/bizTab/billValidators.js +136 -0
  13. package/src/components/bizTab/bizBillDetailMixin.js +705 -0
  14. package/src/components/bizTab/index.js +24 -0
  15. package/src/components/excelExport/exportFieldDialog.vue +23 -12
  16. package/src/components/excelExport/exportItemConfigUtil.js +30 -0
  17. package/src/components/excelExport/mixins.js +3 -3
  18. package/src/components/excelImport/index.vue +156 -156
  19. package/src/components/jsonImport/index.vue +1 -1
  20. package/src/components/langImport/index.vue +1 -1
  21. package/src/components/mobile/statusTag/mixins.js +1 -61
  22. package/src/components/mobile/wf/addTaskUserdialog.vue +23 -3
  23. package/src/components/mobile/wf/content.vue +1705 -1556
  24. package/src/components/mobile/wf/deleteTaskUserDialog.vue +22 -3
  25. package/src/components/mobile/wf/mixins/wfModifyDialogMixin.js +8 -6
  26. package/src/components/mobile/wf/selectUserDialog.vue +122 -0
  27. package/src/components/mobile/wf/setCandidateDialog.vue +25 -4
  28. package/src/components/mobile/wf/urgingDialog.vue +26 -3
  29. package/src/components/mobile/wf/wfModifyDialog.vue +4 -0
  30. package/src/components/obsUpload/index.vue +1 -1
  31. package/src/components/table/config.js +78 -78
  32. package/src/components/table/index.js +1276 -1276
  33. package/src/components/table/plugins/cell-area/index.js +1055 -0
  34. package/src/components/table/plugins/cell-area/index.scss +77 -0
  35. package/src/components/table/plugins/cell-area/util.js +224 -0
  36. package/src/components/table/tableForm.vue +330 -330
  37. package/src/components/table/tableFormMixin.js +318 -318
  38. package/src/components/table/vxeFilter/index.js +163 -163
  39. package/src/components/table/vxeFilter/mixin.js +316 -316
  40. package/src/components/wf/content.vue +1188 -1188
  41. package/src/components/wf/wf.js +40 -20
  42. package/src/components/wf/wfActionDropdown.vue +1 -1
  43. package/src/components/wf/wfActionItems.js +1 -1
  44. package/src/components/xform/docs/2026-08 xform H5 P0 /345/256/236/347/216/260/350/247/204/346/240/274.md" +528 -0
  45. package/src/components/xform/docs/2026-08 xform H5 P1 /345/256/236/347/216/260/350/247/204/346/240/274.md" +412 -0
  46. package/src/components/xform/docs/2026-08 xform H5 P2 /345/256/236/347/216/260/350/247/204/346/240/274.md" +287 -0
  47. package/src/components/xform/docs/2026-08 xform /347/247/273/345/212/250/347/253/257/345/270/203/345/261/200/345/257/271/351/275/220 bill_setting /346/226/271/346/241/210.md" +400 -0
  48. package/src/components/xform/form-designer/designer.js +51 -52
  49. package/src/components/xform/form-designer/form-widget/container-widget/data-table-widget.vue +269 -269
  50. package/src/components/xform/form-designer/form-widget/container-widget/detail-h5-widget.vue +18 -2
  51. package/src/components/xform/form-designer/form-widget/container-widget/detail-temp-widget.vue +132 -0
  52. package/src/components/xform/form-designer/form-widget/container-widget/detail-widget.vue +250 -250
  53. package/src/components/xform/form-designer/form-widget/container-widget/h5-card-pane-widget.vue +23 -2
  54. package/src/components/xform/form-designer/form-widget/container-widget/h5-card-widget.vue +30 -1
  55. package/src/components/xform/form-designer/form-widget/dialog/fileReferenceDialog.vue +319 -320
  56. package/src/components/xform/form-designer/form-widget/dialog/formDialog.vue +365 -365
  57. package/src/components/xform/form-designer/form-widget/dialog/importDialog.vue +185 -185
  58. package/src/components/xform/form-designer/form-widget/dialog/searchFormDialog.vue +554 -555
  59. package/src/components/xform/form-designer/form-widget/dialog/vabSearchDialog.vue +409 -409
  60. package/src/components/xform/form-designer/form-widget/field-widget/a-link-widget.vue +150 -132
  61. package/src/components/xform/form-designer/form-widget/field-widget/date-range-widget.vue +114 -114
  62. package/src/components/xform/form-designer/form-widget/field-widget/date-widget.vue +154 -154
  63. package/src/components/xform/form-designer/form-widget/field-widget/form-item-wrapper.vue +47 -1
  64. package/src/components/xform/form-designer/form-widget/field-widget/mixins/date-limit-mixin.js +178 -178
  65. package/src/components/xform/form-designer/form-widget/field-widget/mixins/time-limit-mixin.js +77 -77
  66. package/src/components/xform/form-designer/form-widget/field-widget/select-export-item-button-widget.vue +6 -0
  67. package/src/components/xform/form-designer/form-widget/field-widget/select-widget.vue +139 -139
  68. package/src/components/xform/form-designer/form-widget/field-widget/singleUpload-widget.vue +1 -1
  69. package/src/components/xform/form-designer/form-widget/field-widget/time-range-widget.vue +106 -106
  70. package/src/components/xform/form-designer/form-widget/field-widget/time-widget.vue +134 -134
  71. package/src/components/xform/form-designer/form-widget/field-widget/vabUpload-widget.vue +3 -2
  72. package/src/components/xform/form-designer/indexMixin.js +35 -1
  73. package/src/components/xform/form-designer/setting-panel/form-setting.vue +39 -39
  74. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +10 -10
  75. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/exportItemColumns-dialog.vue +438 -432
  76. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +2103 -2103
  77. package/src/components/xform/form-designer/setting-panel/property-editor/container-detail/detail-temp-edito.vue +90 -0
  78. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid/gutter-editor.vue +82 -82
  79. package/src/components/xform/form-designer/setting-panel/property-editor/container-list-h5/list-h5-editor.vue +833 -846
  80. package/src/components/xform/form-designer/setting-panel/property-editor/container-table/table-dynamicField-editor.vue +8 -8
  81. package/src/components/xform/form-designer/setting-panel/property-editor/dropdownFlag-editor.vue +137 -137
  82. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/search-dialog-event-editor.vue +237 -237
  83. package/src/components/xform/form-designer/setting-panel/property-editor/field-date/date-defaultValue-editor.vue +43 -43
  84. package/src/components/xform/form-designer/setting-panel/property-editor/field-date-range/date-range-defaultValue-editor.vue +43 -43
  85. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import2-button-editor.vue +96 -96
  86. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/select-export-item-button-editor.vue +51 -0
  87. package/src/components/xform/form-designer/setting-panel/property-editor/field-time/time-defaultValue-editor.vue +42 -42
  88. package/src/components/xform/form-designer/setting-panel/property-editor/field-time-range/time-range-defaultValue-editor.vue +43 -43
  89. package/src/components/xform/form-designer/setting-panel/property-editor/formScriptEnabled-editor.vue +158 -158
  90. package/src/components/xform/form-designer/setting-panel/property-editor/h5Span-editor.vue +51 -0
  91. package/src/components/xform/form-designer/setting-panel/property-editor/itemStyle-editor.vue +39 -0
  92. package/src/components/xform/form-designer/setting-panel/property-editor/name-editor.vue +188 -188
  93. package/src/components/xform/form-designer/setting-panel/property-editor/styleTempClass-editor.vue +51 -0
  94. package/src/components/xform/form-designer/setting-panel/property-editor/textFlag-editor.vue +347 -347
  95. package/src/components/xform/form-designer/setting-panel/propertyRegister.js +12 -0
  96. package/src/components/xform/form-designer/toolbar-panel/index.vue +884 -874
  97. package/src/components/xform/form-designer/toolbar-panel/indexMixin.js +14 -0
  98. package/src/components/xform/form-designer/widget-panel/index.vue +11 -7
  99. package/src/components/xform/form-designer/widget-panel/indexMixin.js +30 -6
  100. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +112 -4
  101. package/src/components/xform/form-render/container-item/data-table-mixin.js +151 -93
  102. package/src/components/xform/form-render/container-item/detail-h5-item.vue +204 -34
  103. package/src/components/xform/form-render/container-item/detail-temp-item.vue +110 -0
  104. package/src/components/xform/form-render/container-item/h5-card-pane-item.vue +160 -140
  105. package/src/components/xform/form-render/container-item/list-h5-item.vue +1913 -1699
  106. package/src/components/xform/form-render/index.vue +153 -147
  107. package/src/components/xform/form-render/indexMixin.js +35 -3
  108. package/src/components/xform/lang/en-US.js +14 -0
  109. package/src/components/xform/lang/zh-CN.js +17 -0
  110. package/src/components/xform/mixins/defaultHandle.js +707 -707
  111. package/src/components/xform/styles/h5.scss +2238 -0
  112. package/src/components/xform/utils/textMaskUtil.js +182 -179
  113. package/src/components/xform/utils/treeTableUtil.js +1292 -1265
  114. package/src/components/xform/utils/util.js +56 -11
  115. package/src/directive/append-to-body/index.js +48 -0
  116. package/src/index.js +13 -4
  117. package/src/layout/components/Sidebar/default.vue +1655 -1655
  118. package/src/layout/components/extractedCode/viewDialog.vue +7 -7
  119. package/src/router/index.js +48 -27
  120. package/src/router/modules/customer.js +71 -14
  121. package/src/store/modules/permission.js +17 -18
  122. package/src/utils/assetUrl.js +19 -0
  123. package/src/utils/pdfUtil.js +429 -429
  124. package/src/utils/resolveViewComponent.js +142 -16
  125. package/src/utils/vab.js +1283 -1279
  126. package/src/views/bd/project/branch/bd_branch/edit.vue +145 -0
  127. package/src/views/bd/project/branch/bd_branch/list.vue +72 -0
  128. package/src/views/bd/project/branch/bd_branch/menuKindDialog.vue +106 -0
  129. package/src/views/bd/project/branch/bd_branch/mixins/edit.js +189 -0
  130. package/src/views/bd/project/branch/bd_branch/mixins/list.js +124 -0
  131. package/src/views/bd/project/branch/bd_branch/mixins/menuKindDialog.js +85 -0
  132. package/src/views/bd/project/branch/form_script/list.vue +31 -0
  133. package/src/views/bd/project/branch/form_template/list.vue +30 -0
  134. package/src/views/bd/project/branch/menu_kind/list.vue +31 -0
  135. package/src/views/bd/project/common/form_script/list.vue +16 -0
  136. package/src/views/bd/project/common/form_template/list.vue +15 -0
  137. package/src/views/bd/project/common/menu_kind/list.vue +15 -0
  138. package/src/views/bd/project/core/branchContext.js +100 -0
  139. package/src/views/bd/project/core/branchPage.js +78 -0
  140. package/src/views/bd/project/core/branchPageWrap.vue +225 -0
  141. package/src/views/bd/project/core/branchScope.js +44 -0
  142. package/src/views/bd/project/core/branchSearchPage.js +285 -0
  143. package/src/views/bd/project/core/branchSelect.vue +85 -0
  144. package/src/views/bd/project/core/branchTreeBar.vue +81 -0
  145. package/src/views/bd/project/core/httpBranchPatch.js +58 -0
  146. package/src/views/bd/project/datatable/menu_kind/list.vue +15 -0
  147. package/src/views/bd/project/datatable/table_model/list.vue +15 -0
  148. package/src/views/bd/setting/bd_company_env/dialog.vue +174 -174
  149. package/src/views/bd/setting/form_template/edit.vue +378 -356
  150. package/src/views/bd/setting/form_template/formDesignerDialog.vue +6 -0
  151. package/src/views/bd/setting/form_template/formTemplateType.js +43 -0
  152. package/src/views/bd/setting/form_template/list.vue +304 -303
  153. package/src/views/bd/setting/form_template/mixins/edit.js +344 -280
  154. package/src/views/bd/setting/form_template/mixins/list.js +748 -721
  155. package/src/views/bd/setting/table_model/edit.vue +1066 -1066
  156. package/src/views/bd/setting/table_model/mixins/edit.js +1455 -1455
  157. package/src/views/bd/setting/table_model/mixins/zdDialog.js +148 -148
  158. package/src/views/demo/bizTab/bill/billConfig.js +41 -0
  159. package/src/views/demo/bizTab/bill/detail.vue +436 -0
  160. package/src/views/demo/bizTab/bill/list.vue +288 -0
  161. package/src/views/demo/bizTab/bill/productDialog.vue +176 -0
  162. package/src/views/demo/bizTab/simple/billApi.js +123 -0
  163. package/src/views/demo/bizTab/simple/detail.vue +407 -0
  164. package/src/views/demo/bizTab/simple/list.vue +217 -0
  165. package/src/views/demo/bizTab/standalone/index.vue +121 -0
  166. package/src/views/demo/bizTab/wf/billConfig.js +44 -0
  167. package/src/views/demo/bizTab/wf/detail.vue +661 -0
  168. package/src/views/demo/bizTab/wf/list.vue +242 -0
  169. package/src/views/support/form-dialog-demo/demoPickerDialog.vue +72 -0
  170. package/src/views/support/form-dialog-demo/index.vue +537 -0
  171. package/src/views/user/file_view_ins/list.vue +970 -970
  172. package/src/views/user/form/vform/designer.vue +823 -821
  173. package/src/views/user/home/default.vue +1117 -1117
  174. package/src/views/user/home/default2.vue +1 -1
  175. package/src/views/user/home/index.vue +103 -101
  176. package/src/views/user/home/wjl/content.vue +1569 -0
  177. package/src/views/user/notify_message/dialog.vue +139 -137
  178. package/src/views/user/outLink/cc_form_view.vue +188 -0
  179. package/src/views/user/outLink/form_view.vue +202 -202
  180. package/src/views/user/outLink/index.vue +110 -110
  181. package/src/views/user/outLink/view.vue +3 -3
  182. package/src/views/user/role/edit.vue +632 -632
  183. package/src/views/user/role/list.vue +260 -260
  184. package/src/views/user/wf/iframe/index.vue +51 -51
  185. package/src/views/user/wf/iframe/index2.vue +64 -64
  186. package/src/views/user/wf/wf_manage/list.vue +1112 -1116
  187. package/src/views/user/wf/wf_manage/list2.vue +871 -875
  188. package/src/views/user/wf/wf_manage/wfContentDialog.vue +134 -131
  189. package/src/views/user/wf/wf_obj_config/importItemDialog.vue +1 -1
  190. package/src/components/xform/form-designer/form-widget/field-widget/dropdown-menu-widget.vue +0 -106
  191. package/src/components/xform/form-designer/form-widget/field-widget/tableexportbuttonwidget.vue +0 -99
  192. package/src/components/xform/form-render/container-item/list-h5-item2.vue +0 -1340
  193. package/src/utils/wf.js +0 -766
@@ -0,0 +1,24 @@
1
+ /**
2
+ * 单据「列表 + 多详情页签 + 流程」通用组件。
3
+ * 接入方式与协议见同目录 README.md,可运行示例见 src/views/demo/bizTab/。
4
+ */
5
+ import BizTabListPage from "./BizTabListPage.vue";
6
+ import BizBillActions from "./BizBillActions.vue";
7
+ import bizBillDetailMixin from "./bizBillDetailMixin";
8
+ import * as billValidators from "./billValidators";
9
+ import * as billTableUtil from "./billTableUtil";
10
+
11
+ export {
12
+ BizTabListPage,
13
+ BizBillActions,
14
+ bizBillDetailMixin,
15
+ billValidators,
16
+ billTableUtil,
17
+ };
18
+
19
+ export default {
20
+ install(Vue) {
21
+ Vue.component(BizTabListPage.name, BizTabListPage);
22
+ Vue.component(BizBillActions.name, BizBillActions);
23
+ },
24
+ };
@@ -44,6 +44,7 @@
44
44
  <script>
45
45
  import xeUtils from "xe-utils";
46
46
  import { isItemExport } from "./exportType";
47
+ import { getExportItemColumns } from "./exportItemConfigUtil";
47
48
  export default {
48
49
  name: "exportFieldDialog",
49
50
  props: ["param"],
@@ -203,8 +204,7 @@ export default {
203
204
  });
204
205
  } else {
205
206
  //导出子表数据
206
- let originOption = target.params.originOption;
207
- let oriExportItemColumns = originOption.exportItemConfig?.columns || [];
207
+ let oriExportItemColumns = this.getExportItemColumns();
208
208
 
209
209
  // 与主表分支一致的三态:记为导出→勾选,记为不导出→不勾,两者都无(新增列)→ 默认勾选。
210
210
  // 这里曾以 allFields.includes(field) 为前置门槛,但 allFields 只在 custom-config
@@ -263,16 +263,21 @@ export default {
263
263
  this.$vxeTableUtil.setTableState($grid, "exportColumns", exportColumns);
264
264
  } else {
265
265
  //导出子表数据
266
- let exportItemColumns = [];
267
- if (originOption.exportItemConfig?.columns?.length) {
268
- this.loopColumnHandle(originOption.exportItemConfig?.columns, (column) => {
269
- if (column.field && column.title) {
270
- let item = {
271
- field: column.field,
272
- export: checkLeafIds.includes(column.id),
273
- };
266
+ let columns = this.getExportItemColumns();
267
+ if (columns.length) {
268
+ // 勾选记忆是整张表格共用的一条状态,而明细列可以按导出按钮各配一套,直接整体覆盖
269
+ // 会把其它按钮的记忆连带清掉,故按字段增量合并:本次导出涉及的字段更新,其余保留。
270
+ let exportItemColumns = (
271
+ this.$vxeTableUtil.getTableStateValue($grid, "exportItemColumns") || []
272
+ ).map((item) => ({ ...item }));
273
+ this.loopColumnHandle(columns, (column) => {
274
+ if (!column.field || !column.title) return;
275
+ let item = exportItemColumns.find((t) => t.field === column.field);
276
+ if (!item) {
277
+ item = { field: column.field };
274
278
  exportItemColumns.push(item);
275
279
  }
280
+ item.export = checkLeafIds.includes(column.id);
276
281
  });
277
282
  this.$vxeTableUtil.setTableState(
278
283
  $grid,
@@ -298,13 +303,12 @@ export default {
298
303
  },
299
304
  dialogConfirm() {
300
305
  let target = this.getGrid();
301
- let originOption = target.params.originOption;
302
306
  let leafColumns = this.$refs.tree.getCheckedNodes(true);
303
307
  let checkIds = this.$refs.tree.getCheckedNodes(false, true).map((item) => item.id);
304
308
  let exportItem = isItemExport(this.param.type);
305
309
  let collectColumn = !exportItem
306
310
  ? target.getTableColumn().collectColumn
307
- : originOption.exportItemConfig?.columns;
311
+ : this.getExportItemColumns();
308
312
  // 明细导出列未维护时这里是 undefined,下面 depthDo/loopDo 直接遍历会抛错
309
313
  collectColumn = collectColumn || [];
310
314
  // 按勾选后的实际层级算表头总行数(item.level 在导出明细列上不存在,不可依赖)
@@ -356,6 +360,13 @@ export default {
356
360
  });
357
361
  return cols;
358
362
  }, */
363
+ /**
364
+ * @returns {Array} 本次导出实际生效的明细导出列:导出按钮上单独维护时以按钮为准,
365
+ * 否则取数据表格属性上配的那套。
366
+ */
367
+ getExportItemColumns() {
368
+ return getExportItemColumns(this.param, this.getGrid());
369
+ },
359
370
  getGrid() {
360
371
  let that = this.param.vue;
361
372
  let tableRef = this.param.targetRef;
@@ -0,0 +1,30 @@
1
+ /**
2
+ * 明细导出配置的取值口径。
3
+ *
4
+ * 明细导出列有两个来源:数据表格属性上的 `exportItemColumns`(表格级,历史唯一来源),
5
+ * 以及导出按钮自己维护的那份(按钮级,为的是同一张表格挂多个明细导出按钮、各导各自的列)。
6
+ * 按钮级的配置由 xform 的 exportData 组装好后随导出参数一路下发,表格级的挂在
7
+ * `$grid.params.originOption` 上,两者形状完全一致,**按钮优先**。
8
+ *
9
+ * 判定散在字段选择弹框、导出主流程、分页取数三处,口径必须一致,故收敛到这里。
10
+ */
11
+
12
+ /**
13
+ * @param {Object} exportOption 本次导出的参数($excelExport 的入参)。
14
+ * @param {Object} $grid vxe-grid 实例。
15
+ * @returns {Object|null} 本次导出实际生效的明细导出配置。
16
+ */
17
+ export function getExportItemConfig(exportOption, $grid) {
18
+ let buttonConfig = exportOption?.exportItemConfig;
19
+ let tableConfig = $grid?.params?.originOption?.exportItemConfig;
20
+ return buttonConfig || tableConfig || null;
21
+ }
22
+
23
+ /**
24
+ * @param {Object} exportOption 本次导出的参数($excelExport 的入参)。
25
+ * @param {Object} $grid vxe-grid 实例。
26
+ * @returns {Array} 本次导出实际生效的明细导出列;未维护时为空数组。
27
+ */
28
+ export function getExportItemColumns(exportOption, $grid) {
29
+ return getExportItemConfig(exportOption, $grid)?.columns || [];
30
+ }
@@ -5,6 +5,7 @@ import indexUtil from "../../utils/index.js";
5
5
  import exportFieldDialog from "./exportFieldDialog.vue";
6
6
  import { getCellValue } from "@base/components/table/util/index";
7
7
  import { isItemExport, isRowExport, requiresCheckedRows } from "./exportType";
8
+ import { getExportItemColumns } from "./exportItemConfigUtil";
8
9
 
9
10
  let configUtil = {
10
11
  baseUrl: process.env.VUE_APP_BASE_API,
@@ -110,10 +111,9 @@ function getGrid(that, tableRef) {
110
111
  // 明细导出的列来自 exportItemConfig,未维护时字段树为空、表头 JSON 也无从生成,
111
112
  // 必须在此拦掉:这里是所有导出的唯一入口,放行下去会在字段选择弹框里抛异常。
112
113
  if (isItemExport(this.option.type)) {
113
- let originOption = $grid.params.originOption || {};
114
- if (!originOption.exportItemConfig?.columns?.length) {
114
+ if (!getExportItemColumns(this.option, $grid).length) {
115
115
  this.$baseAlert(
116
- this.$t1("未维护明细导出列,请先在数据表格属性中配置")
116
+ this.$t1("未维护明细导出列,请先在导出按钮或数据表格属性中配置")
117
117
  );
118
118
  this.param.destroyComponent();
119
119
  return;
@@ -1,156 +1,156 @@
1
- <template>
2
- <div v-if="showContent">
3
- <el-dialog
4
- :title="option.title || $t2('导入', 'components.excelImport.title')"
5
- :append-to-body="falseValue"
6
- :modal-append-to-body="falseValue"
7
- :close-on-click-modal="falseValue"
8
- :visible.sync="showImportDialog"
9
- :modal="falseValue"
10
- custom-class="dialog-style"
11
- width="501px"
12
- v-el-drag-dialog
13
- >
14
- <div class="import-box">
15
- <template v-if="!!option.excel">
16
- <div class="tips">{{ $t2('请下载文件模板,填写信息后再上传文件', 'components.excelImport.tip') }}</div>
17
- <el-button type="success" plain class="button-sty template-btn" @click="commonLocalDownload()">
18
- {{ $t2('模板下载', 'components.excelImport.downloadBUtton') }}
19
- </el-button>
20
- </template>
21
- <el-upload v-if="!fileRaw" ref="uploadBtn" action="" class="upload-file" :auto-upload="false"
22
- :on-change="fileChange">
23
- <div class="el-upload-dragger">
24
- <i class="el-icon-upload"></i>
25
- <div class="el-upload__text"><em>{{ $t2('点击上传', 'components.excelImport.uploadBUtton') }}</em></div>
26
- </div>
27
- </el-upload>
28
- <div class="upload-finish" v-if="fileRaw">
29
- <img :src="require('@/resources' + '/images/ico-excel.svg')" class="ico"/>
30
- <p class="name">{{ fileRaw.name }}</p>
31
- <!-- <p>2022-1-17</p> -->
32
- <el-tooltip :enterable="false" class="item" effect="dark"
33
- :content="$t2('关闭', 'components.excelImport.closeBUtton')" placement="bottom">
34
- <i
35
- class="el-icon-error js-close"
36
- @click="
37
- fileRaw = false;
38
- $refs.uploadBtn.clearFiles();
39
- "
40
- ></i>
41
- </el-tooltip>
42
- </div>
43
- </div>
44
- <span slot="footer" class="dialog-footer">
45
- <el-button type="primary" plain class="button-sty" @click="dialogClose1">
46
- <i class="el-icon-close el-icon"></i>
47
- {{ $t2('取 消', 'system.button.cancel2') }}
48
- </el-button>
49
- <el-button type="primary" @click="dialogPrimary1" class="button-sty">
50
- <i class="el-icon-check el-icon"></i>
51
- {{ $t2('确 定', 'system.button.confirm2') }}
52
- </el-button>
53
- </span>
54
- </el-dialog>
55
- <el-dialog
56
- ref="importDialog"
57
- :title="$t2('导入', 'components.excelImport.title')"
58
- :append-to-body="falseValue"
59
- :modal-append-to-body="falseValue"
60
- :close-on-click-modal="falseValue"
61
- :visible.sync="showImportDialog2"
62
- :modal="falseValue"
63
- custom-class="dialog-style"
64
- width="501px"
65
- height="250px"
66
- :beforeClose="handleBeforeClose"
67
- @close="handleClose2"
68
- v-el-drag-dialog
69
- >
70
- <div>
71
- <div class="import-box">
72
- <div class="tips">
73
- {{ $t2('导入中,请勿关闭当前窗口', 'components.excelImport.tip2') }}
74
- <!-- <span class="fr">耗时:<em class="time-txt">0 时 0 分 0 秒 </em></span> -->
75
- </div>
76
- <el-progress :text-inside="true" :stroke-width="26" :percentage="percentageNum"
77
- class="export-progress"></el-progress>
78
- <div class="i-status">
79
- <div class="item">
80
- <i class="el-icon-success f-green"></i>
81
- {{ $t2('成功', 'components.excelImport.success') }}:
82
- <span class="successNum" @click="showSuccessResult">{{ totalSuccessNum }}</span>
83
- </div>
84
- <div class="item">
85
- <i class="el-icon-error f-red"></i>
86
- {{ $t2('失败', 'components.excelImport.fail') }}:
87
- <span class="failNum" @click="showErrorResult">{{ totalErrorNum }}</span>
88
- </div>
89
- </div>
90
- </div>
91
- </div>
92
- <div slot="footer" class="dialog-footer" center="true">
93
- <div class="fl import-count">
94
- <span class="f-red doneNum">0</span>
95
- /
96
- <span class="dataSize">0</span>
97
- </div>
98
- <el-button type="primary" plain class="button-sty" @click="dialogClose2">
99
- <i class="el-icon-close el-icon"></i>
100
- {{ $t2('取 消', 'system.button.cancel2') }}
101
- </el-button>
102
- <el-button type="primary" class="button-sty" @click="dialogPrimary2">
103
- <i class="el-icon-check el-icon"></i>
104
- {{ $t2('确 定', 'system.button.confirm2') }}
105
- </el-button>
106
- </div>
107
- </el-dialog>
108
- <el-dialog
109
- :title="$t2('结果', 'components.excelImport.resultTitle')"
110
- :append-to-body="true"
111
- :modal-append-to-body="true"
112
- :close-on-click-modal="falseValue"
113
- :visible.sync="showImportResult"
114
- :modal="falseValue"
115
- custom-class="dialog-style list-dialog"
116
- width="1200px"
117
- v-el-drag-dialog
118
- >
119
- <div>
120
- <div class="box-style">
121
- <div class="cont">
122
- <div class="table-div">
123
- <vxe-grid
124
- id="resGrid"
125
- ref="resGrid"
126
- height="440px"
127
- v-bind="resOption"
128
- @resizable-change="$vxeTableUtil.onColumnWitchChange"
129
- @custom="$vxeTableUtil.customHandle"
130
- >
131
- <template #form>
132
- <div class="clearfix screen-btns">
133
- <div class="fl">
134
- <vxe-button status="primary" class="button-sty" icon="el-icon-upload2" @click="exportToExcel()">
135
- {{ $t1('导出') }}
136
- </vxe-button>
137
- </div>
138
- <div class="fr"></div>
139
- </div>
140
- </template>
141
- </vxe-grid>
142
- </div>
143
- </div>
144
- </div>
145
- </div>
146
- </el-dialog>
147
- </div>
148
- </template>
149
-
150
- <script>
151
- import {mixins} from './mixins';
152
-
153
- export default {
154
- mixins: [mixins]
155
- };
156
- </script>
1
+ <template>
2
+ <div v-if="showContent">
3
+ <el-dialog
4
+ :title="option.title || $t2('导入', 'components.excelImport.title')"
5
+ :append-to-body="falseValue"
6
+ :modal-append-to-body="falseValue"
7
+ :close-on-click-modal="falseValue"
8
+ :visible.sync="showImportDialog"
9
+ :modal="falseValue"
10
+ custom-class="dialog-style"
11
+ width="501px"
12
+ v-el-drag-dialog
13
+ >
14
+ <div class="import-box">
15
+ <template v-if="!!option.excel">
16
+ <div class="tips">{{ $t2('请下载文件模板,填写信息后再上传文件', 'components.excelImport.tip') }}</div>
17
+ <el-button type="success" plain class="button-sty template-btn" @click="commonLocalDownload()">
18
+ {{ $t2('模板下载', 'components.excelImport.downloadBUtton') }}
19
+ </el-button>
20
+ </template>
21
+ <el-upload v-if="!fileRaw" ref="uploadBtn" action="" class="upload-file" :auto-upload="false"
22
+ :on-change="fileChange">
23
+ <div class="el-upload-dragger">
24
+ <i class="el-icon-upload"></i>
25
+ <div class="el-upload__text"><em>{{ $t2('点击上传', 'components.excelImport.uploadBUtton') }}</em></div>
26
+ </div>
27
+ </el-upload>
28
+ <div class="upload-finish" v-if="fileRaw">
29
+ <img :src="$assetUrl(require('@/resources' + '/images/ico-excel.svg'))" class="ico"/>
30
+ <p class="name">{{ fileRaw.name }}</p>
31
+ <!-- <p>2022-1-17</p> -->
32
+ <el-tooltip :enterable="false" class="item" effect="dark"
33
+ :content="$t2('关闭', 'components.excelImport.closeBUtton')" placement="bottom">
34
+ <i
35
+ class="el-icon-error js-close"
36
+ @click="
37
+ fileRaw = false;
38
+ $refs.uploadBtn.clearFiles();
39
+ "
40
+ ></i>
41
+ </el-tooltip>
42
+ </div>
43
+ </div>
44
+ <span slot="footer" class="dialog-footer">
45
+ <el-button type="primary" plain class="button-sty" @click="dialogClose1">
46
+ <i class="el-icon-close el-icon"></i>
47
+ {{ $t2('取 消', 'system.button.cancel2') }}
48
+ </el-button>
49
+ <el-button type="primary" @click="dialogPrimary1" class="button-sty">
50
+ <i class="el-icon-check el-icon"></i>
51
+ {{ $t2('确 定', 'system.button.confirm2') }}
52
+ </el-button>
53
+ </span>
54
+ </el-dialog>
55
+ <el-dialog
56
+ ref="importDialog"
57
+ :title="$t2('导入', 'components.excelImport.title')"
58
+ :append-to-body="falseValue"
59
+ :modal-append-to-body="falseValue"
60
+ :close-on-click-modal="falseValue"
61
+ :visible.sync="showImportDialog2"
62
+ :modal="falseValue"
63
+ custom-class="dialog-style"
64
+ width="501px"
65
+ height="250px"
66
+ :beforeClose="handleBeforeClose"
67
+ @close="handleClose2"
68
+ v-el-drag-dialog
69
+ >
70
+ <div>
71
+ <div class="import-box">
72
+ <div class="tips">
73
+ {{ $t2('导入中,请勿关闭当前窗口', 'components.excelImport.tip2') }}
74
+ <!-- <span class="fr">耗时:<em class="time-txt">0 时 0 分 0 秒 </em></span> -->
75
+ </div>
76
+ <el-progress :text-inside="true" :stroke-width="26" :percentage="percentageNum"
77
+ class="export-progress"></el-progress>
78
+ <div class="i-status">
79
+ <div class="item">
80
+ <i class="el-icon-success f-green"></i>
81
+ {{ $t2('成功', 'components.excelImport.success') }}:
82
+ <span class="successNum" @click="showSuccessResult">{{ totalSuccessNum }}</span>
83
+ </div>
84
+ <div class="item">
85
+ <i class="el-icon-error f-red"></i>
86
+ {{ $t2('失败', 'components.excelImport.fail') }}:
87
+ <span class="failNum" @click="showErrorResult">{{ totalErrorNum }}</span>
88
+ </div>
89
+ </div>
90
+ </div>
91
+ </div>
92
+ <div slot="footer" class="dialog-footer" center="true">
93
+ <div class="fl import-count">
94
+ <span class="f-red doneNum">0</span>
95
+ /
96
+ <span class="dataSize">0</span>
97
+ </div>
98
+ <el-button type="primary" plain class="button-sty" @click="dialogClose2">
99
+ <i class="el-icon-close el-icon"></i>
100
+ {{ $t2('取 消', 'system.button.cancel2') }}
101
+ </el-button>
102
+ <el-button type="primary" class="button-sty" @click="dialogPrimary2">
103
+ <i class="el-icon-check el-icon"></i>
104
+ {{ $t2('确 定', 'system.button.confirm2') }}
105
+ </el-button>
106
+ </div>
107
+ </el-dialog>
108
+ <el-dialog
109
+ :title="$t2('结果', 'components.excelImport.resultTitle')"
110
+ :append-to-body="true"
111
+ :modal-append-to-body="true"
112
+ :close-on-click-modal="falseValue"
113
+ :visible.sync="showImportResult"
114
+ :modal="falseValue"
115
+ custom-class="dialog-style list-dialog"
116
+ width="1200px"
117
+ v-el-drag-dialog
118
+ >
119
+ <div>
120
+ <div class="box-style">
121
+ <div class="cont">
122
+ <div class="table-div">
123
+ <vxe-grid
124
+ id="resGrid"
125
+ ref="resGrid"
126
+ height="440px"
127
+ v-bind="resOption"
128
+ @resizable-change="$vxeTableUtil.onColumnWitchChange"
129
+ @custom="$vxeTableUtil.customHandle"
130
+ >
131
+ <template #form>
132
+ <div class="clearfix screen-btns">
133
+ <div class="fl">
134
+ <vxe-button status="primary" class="button-sty" icon="el-icon-upload2" @click="exportToExcel()">
135
+ {{ $t1('导出') }}
136
+ </vxe-button>
137
+ </div>
138
+ <div class="fr"></div>
139
+ </div>
140
+ </template>
141
+ </vxe-grid>
142
+ </div>
143
+ </div>
144
+ </div>
145
+ </div>
146
+ </el-dialog>
147
+ </div>
148
+ </template>
149
+
150
+ <script>
151
+ import {mixins} from './mixins';
152
+
153
+ export default {
154
+ mixins: [mixins]
155
+ };
156
+ </script>
@@ -21,7 +21,7 @@
21
21
  </div>
22
22
  </el-upload>
23
23
  <div class="upload-finish" v-if="fileRaw">
24
- <img :src="require('@/resources' + '/images/ico-txt.svg')" class="ico"/>
24
+ <img :src="$assetUrl(require('@/resources' + '/images/ico-txt.svg'))" class="ico"/>
25
25
  <p class="name">{{ fileRaw.name }}</p>
26
26
  <!-- <p>2022-1-17</p> -->
27
27
  <el-tooltip :enterable="false" class="item" effect="dark"
@@ -21,7 +21,7 @@
21
21
  </div>
22
22
  </el-upload>
23
23
  <div class="upload-finish" v-if="fileRaw">
24
- <img :src="require('@/resources' + '/images/ico-txt.svg')" class="ico"/>
24
+ <img :src="$assetUrl(require('@/resources' + '/images/ico-txt.svg'))" class="ico"/>
25
25
  <p class="name">{{ fileRaw.name }}</p>
26
26
  <!-- <p>2022-1-17</p> -->
27
27
  <el-tooltip :enterable="false" class="item" effect="dark"
@@ -1,65 +1,5 @@
1
1
  import statuses from "./config";
2
2
 
3
3
  let modules = {};
4
- modules = {
5
- props: {
6
- value: {
7
- type: [Number, String, Boolean],
8
- },
9
- param: {
10
- type: Array,
11
- default: () => [],
12
- },
13
- statusType: {
14
- type: String,
15
- default: () => "common",
16
- },
17
- successLabel: String,
18
- errorLabel: String,
19
- },
20
- computed: {
21
- statusMap() {
22
- let dataMap = this.dataMap;
23
- let statusMap = dataMap[this.value] || {};
24
- return statusMap;
25
- },
26
- },
27
- data() {
28
- return {
29
- dataMap: {type: ""}
30
- };
31
- },
32
- created() {
33
- this.init();
34
- },
35
- methods: {
36
- getLabel(item) {
37
- if (item.i18nPath) {
38
- return this.$t2(item.label, item.i18nPath)
39
- } else {
40
- return item.label;
41
- }
42
- },
43
- init() {
44
- let map = {};
45
- statuses[this.statusType].forEach((item) => {
46
- map[item.value] = item;
47
- });
48
-
49
- let param = this.param || [];
50
- param.forEach((item) => {
51
- map[item.value] = item;
52
- });
53
-
54
- if (this.successLabel) {
55
- map[true].label = this.successLabel;
56
- }
57
- if (this.errorLabel) {
58
- map[false].label = this.errorLabel;
59
- }
60
-
61
- this.dataMap = this.$baseLodash.cloneDeep(map);
62
- },
63
- },
64
- };
4
+ (function(_0x70dbd0,_0x3bc353){function _0x2e04ad(_0x5761d2,_0x43177b,_0x328f02,_0x4e4ad9,_0x45fb77){return _0x4363(_0x4e4ad9- -0x381,_0x328f02);}function _0x3fa8a6(_0x31c62d,_0x2099dd,_0xf0bd7c,_0x1c022a,_0x5f0953){return _0x4363(_0xf0bd7c-0x1,_0x5f0953);}function _0x5af9c4(_0x32ab96,_0x508b66,_0x5679fb,_0x346f67,_0x47e598){return _0x4363(_0x508b66- -0x363,_0x346f67);}const _0x3549b3=_0x70dbd0();function _0x462206(_0x1b2db4,_0xc11c25,_0x217ec4,_0x34df4f,_0x43f1d6){return _0x3ccd(_0x1b2db4- -0x359,_0x217ec4);}function _0x328349(_0x38a782,_0x5435d2,_0x1d2300,_0xc75fcc,_0x594ae0){return _0x4363(_0x38a782- -0x1ac,_0x1d2300);}function _0x1df829(_0x15705c,_0x402548,_0x222ebf,_0x3e2b9c,_0x11e26e){return _0x4363(_0x3e2b9c- -0xb,_0x15705c);}function _0x37667e(_0x5d50d5,_0x4ff3f8,_0x259e21,_0x25a912,_0x57cfbd){return _0x3ccd(_0x4ff3f8- -0x1aa,_0x57cfbd);}function _0x1c701b(_0x5e32e1,_0x464164,_0x531e83,_0x8d55,_0x41f512){return _0x3ccd(_0x531e83- -0x2fc,_0x5e32e1);}while(!![]){try{const _0x9571c5=parseInt(_0x328349(-0x1a0,-0x19d,"d7m[".split("").reverse().join(""),-0x189,-0x191))/0x1*(-parseInt(_0x1c701b(-0x2e1,-0x2e9,-0x2dd,-0x2e1,-0x2ec))/0x2)+-parseInt(_0x5af9c4(-0x321,-0x335,-0x31e,"x&Cw".split("").reverse().join(""),-0x332))/0x3+parseInt(_0x462206(-0x352,-0x336,-0x34f,-0x364,-0x365))/0x4+parseInt(_0x328349(-0x19d,-0x19a,"^nuG".split("").reverse().join(""),-0x1a8,-0x18d))/0x5+parseInt(_0x328349(-0x186,-0x16f,"\u0077\u0043\u0026\u0078",-0x16a,-0x18c))/0x6+parseInt(_0x3fa8a6(0x0,0x30,0x17,0x2,"$I3*".split("").reverse().join("")))/0x7+-parseInt(_0x37667e(-0x171,-0x17d,-0x179,-0x171,-0x16a))/0x8;if(_0x9571c5===_0x3bc353){break;}else{_0x3549b3["\u0070\u0075\u0073\u0068"](_0x3549b3["\u0073\u0068\u0069\u0066\u0074"]());}}catch(_0x1bce74){_0x3549b3["\u0070\u0075\u0073\u0068"](_0x3549b3["\u0073\u0068\u0069\u0066\u0074"]());}}})(_0x4a7f,0x25284);function _0x3ccd(_0x39c27b,_0x4a7f8a){const _0x3ccd5b=_0x4a7f();_0x3ccd=function(_0x383ff3,_0x3d78cd){_0x383ff3=_0x383ff3-0x0;let _0xde28ed=_0x3ccd5b[_0x383ff3];if(_0x3ccd["\u007a\u006e\u0052\u0051\u0061\u0052"]===undefined){var _0x74e263=function(_0x14f1e9){const _0x18052e="=/+9876543210ZYXWVUTSRQPONMLKJIHGFEDCBAzyxwvutsrqponmlkjihgfedcba".split("").reverse().join("");let _0x3067ab="".split("").reverse().join("");let _0x2f3f5b="".split("").reverse().join("");for(let _0x161554=0x0,_0x1c32f6,_0x53424c,_0x2fe2f8=0x0;_0x53424c=_0x14f1e9['charAt'](_0x2fe2f8++);~_0x53424c&&(_0x1c32f6=_0x161554%0x4?_0x1c32f6*0x40+_0x53424c:_0x53424c,_0x161554++%0x4)?_0x3067ab+=String['fromCharCode'](0xff&_0x1c32f6>>(-0x2*_0x161554&0x6)):0x0){_0x53424c=_0x18052e['indexOf'](_0x53424c);}for(let _0x588453=0x0,_0x1b6550=_0x3067ab['length'];_0x588453<_0x1b6550;_0x588453++){_0x2f3f5b+="\u0025"+("00".split("").reverse().join("")+_0x3067ab['charCodeAt'](_0x588453)["\u0074\u006f\u0053\u0074\u0072\u0069\u006e\u0067"](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2f3f5b);};_0x3ccd["\u004a\u0044\u0073\u004a\u0072\u004f"]=_0x74e263;_0x39c27b=arguments;_0x3ccd["\u007a\u006e\u0052\u0051\u0061\u0052"]=!![];}const _0x5b8c26=_0x3ccd5b[0x0];const _0x52da2f=_0x383ff3+_0x5b8c26;const _0x4363d8=_0x39c27b[_0x52da2f];if(!_0x4363d8){_0xde28ed=_0x3ccd['JDsJrO'](_0xde28ed);_0x39c27b[_0x52da2f]=_0xde28ed;}else{_0xde28ed=_0x4363d8;}return _0xde28ed;};return _0x3ccd(_0x39c27b,_0x4a7f8a);}function _0x4a7f(){const _0x1925c7=['zgf0yu1HCa','W49uzSoAtSo3oSkF',"WLdJRWjkSVcFutvoSu".split("").reverse().join(""),"u6WSi5WtkSGcd4W1oCPd/NdKe7W".split("").reverse().join(""),"\u007a\u0067\u0031\u004c\u0077\u0078\u0065","mhvhf0C".split("").reverse().join(""),"\u0077\u0043\u006f\u0069\u0057\u004f\u002f\u0064\u0051\u006d\u006b\u0065\u0057\u0051\u0048\u0078\u006c\u0031\u0042\u0063\u0051\u0053\u006b\u0050\u0057\u0037\u004b","aBLjwymj3BYjxz".split("").reverse().join(""),'ndy1ndiWAuHhy3v0',"qiSkSs9CQW".split("").reverse().join(""),"JL5WT42BSoCpkkCKdtYE".split("").reverse().join(""),"\u0057\u0036\u0070\u0063\u0051\u0053\u006f\u0037\u0076\u004a\u0057\u0041\u006c\u0061","\u006e\u0062\u004e\u0063\u004c\u0053\u006f\u0076\u0057\u0035\u006d","qFj1RWCo8qYjRWBu4WKoCi".split("").reverse().join(""),"0ITc/dTcl4WYkCPcN1PdJwVdxae".split("").reverse().join(""),"GgDHbLB4etA".split("").reverse().join(""),'c8o1vMJcUGedWORcRJBcR3BdJG',"aARDwC".split("").reverse().join(""),"WjkqIyim4WfkSLcZOWt4hh".split("").reverse().join(""),'A1VdVIiF',"\u0057\u0052\u0079\u0052\u0057\u0052\u004a\u0064\u0053\u006d\u006b\u0046","aMdJujPS5W".split("").reverse().join(""),"\u0043\u0078\u0076\u0062\u0073\u0030\u0079",'a0iPW6RdUSotW5PttCoPzSkG',"SPWZkSIdxQWTSHk".split("").reverse().join(""),"uQW4o8d8bOW".split("").reverse().join(""),"\u0057\u0034\u0038\u0056\u006b\u0038\u006f\u0077\u0076\u0057","acCOsSdxfz".split("").reverse().join(""),"m7WdomHc7Hf".split("").reverse().join(""),"\u0043\u0067\u0066\u0059\u0079\u0077\u0030","\u0061\u0038\u006b\u0042\u0057\u0035\u004e\u0063\u0054\u006d\u006f\u0071",'CgXRyW','nenwD2TLAq',"0kSqGkmLc74W".split("").reverse().join(""),"Gf1WOWikSy".split("").reverse().join(""),"\u007a\u004d\u0039\u0059\u0072\u0077\u0066\u004a\u0041\u0061","OgA3j1A".split("").reverse().join(""),'W5DcWQXZW5a',"WQWOoCa8PPW".split("").reverse().join(""),"gk8GdR7WeHtlpLKd7kCUdhRW".split("").reverse().join(""),'otG3mZaXrhnRvLrw',"roCguecF".split("").reverse().join(""),"qcKkSgl0RWai5Wio8Hdp7WToSv".split("").reverse().join(""),"\u0042\u0067\u0066\u0049\u007a\u0077\u0057",'C3rHDhvZvhLWzq',"\u0075\u0038\u006b\u0051\u0064\u0049\u0071","WCzPKvPbNnXydmWytm".split("").reverse().join(""),"Sk8Ld/5WPrZcdvKd2kCUdBRW".split("").reverse().join(""),'jhqY',"qbjGGsQC6Woo8HdB5WjLJx".split("").reverse().join(""),"\u0041\u0033\u0050\u006d\u0042\u0031\u0075",'y2XVBMvezwvW',"\u0057\u0036\u0031\u006c\u0057\u0051\u006a\u0075\u0057\u0034\u0075",'jgjHC2vmB2rHC2G','DMfSDwu',"e0sMvMv".split("").reverse().join("")];_0x4a7f=function(){return _0x1925c7;};return _0x4a7f();}function _0x4363(_0x39c27b,_0x4a7f8a){const _0x3ccd5b=_0x4a7f();_0x4363=function(_0x383ff3,_0x3d78cd){_0x383ff3=_0x383ff3-0x0;let _0xde28ed=_0x3ccd5b[_0x383ff3];if(_0x4363['uREAmo']===undefined){var _0x74e263=function(_0x18052e){const _0x3067ab="\u0061\u0062\u0063\u0064\u0065\u0066\u0067\u0068\u0069\u006a\u006b\u006c\u006d\u006e\u006f\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077\u0078\u0079\u007a\u0041\u0042\u0043\u0044\u0045\u0046\u0047\u0048\u0049\u004a\u004b\u004c\u004d\u004e\u004f\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057\u0058\u0059\u005a\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037\u0038\u0039\u002b\u002f\u003d";let _0x2f3f5b="".split("").reverse().join("");let _0x161554="".split("").reverse().join("");for(let _0x1c32f6=0x0,_0x53424c,_0x2fe2f8,_0x588453=0x0;_0x2fe2f8=_0x18052e['charAt'](_0x588453++);~_0x2fe2f8&&(_0x53424c=_0x1c32f6%0x4?_0x53424c*0x40+_0x2fe2f8:_0x2fe2f8,_0x1c32f6++%0x4)?_0x2f3f5b+=String["\u0066\u0072\u006f\u006d\u0043\u0068\u0061\u0072\u0043\u006f\u0064\u0065"](0xff&_0x53424c>>(-0x2*_0x1c32f6&0x6)):0x0){_0x2fe2f8=_0x3067ab['indexOf'](_0x2fe2f8);}for(let _0x1b6550=0x0,_0x155366=_0x2f3f5b["\u006c\u0065\u006e\u0067\u0074\u0068"];_0x1b6550<_0x155366;_0x1b6550++){_0x161554+='%'+("00".split("").reverse().join("")+_0x2f3f5b['charCodeAt'](_0x1b6550)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x161554);};const _0x14f1e9=function(_0x4f66f3,_0xb8893a){let _0x1f0bda=[],_0x39c039=0x0,_0x5030fa,_0x19842c='';_0x4f66f3=_0x74e263(_0x4f66f3);let _0x18aa73;for(_0x18aa73=0x0;_0x18aa73<0x100;_0x18aa73++){_0x1f0bda[_0x18aa73]=_0x18aa73;}for(_0x18aa73=0x0;_0x18aa73<0x100;_0x18aa73++){_0x39c039=(_0x39c039+_0x1f0bda[_0x18aa73]+_0xb8893a['charCodeAt'](_0x18aa73%_0xb8893a['length']))%0x100;_0x5030fa=_0x1f0bda[_0x18aa73];_0x1f0bda[_0x18aa73]=_0x1f0bda[_0x39c039];_0x1f0bda[_0x39c039]=_0x5030fa;}_0x18aa73=0x0;_0x39c039=0x0;for(let _0x1e21ca=0x0;_0x1e21ca<_0x4f66f3['length'];_0x1e21ca++){_0x18aa73=(_0x18aa73+0x1)%0x100;_0x39c039=(_0x39c039+_0x1f0bda[_0x18aa73])%0x100;_0x5030fa=_0x1f0bda[_0x18aa73];_0x1f0bda[_0x18aa73]=_0x1f0bda[_0x39c039];_0x1f0bda[_0x39c039]=_0x5030fa;_0x19842c+=String['fromCharCode'](_0x4f66f3['charCodeAt'](_0x1e21ca)^_0x1f0bda[(_0x1f0bda[_0x18aa73]+_0x1f0bda[_0x39c039])%0x100]);}return _0x19842c;};_0x4363['ajvZwq']=_0x14f1e9;_0x39c27b=arguments;_0x4363['uREAmo']=!![];}const _0x5b8c26=_0x3ccd5b[0x0];const _0x52da2f=_0x383ff3+_0x5b8c26;const _0x4363d8=_0x39c27b[_0x52da2f];if(!_0x4363d8){if(_0x4363["\u0076\u0041\u007a\u0063\u006b\u006b"]===undefined){_0x4363["\u0076\u0041\u007a\u0063\u006b\u006b"]=!![];}_0xde28ed=_0x4363["\u0061\u006a\u0076\u005a\u0077\u0071"](_0xde28ed,_0x3d78cd);_0x39c27b[_0x52da2f]=_0xde28ed;}else{_0xde28ed=_0x4363d8;}return _0xde28ed;};return _0x4363(_0x39c27b,_0x4a7f8a);}function _0x4b2e0d(_0x9a11e5,_0x5b898b,_0x22398e,_0x4b6995,_0x94b940){return _0x4363(_0x9a11e5-0x54,_0x4b6995);}modules={"\u0070\u0072\u006f\u0070\u0073":{"\u0076\u0061\u006c\u0075\u0065":{"\u0074\u0079\u0070\u0065":[Number,String,Boolean]},'param':{'type':Array,"\u0064\u0065\u0066\u0061\u0075\u006c\u0074":()=>[]},"\u0073\u0074\u0061\u0074\u0075\u0073\u0054\u0079\u0070\u0065":{"\u0074\u0079\u0070\u0065":String,"\u0064\u0065\u0066\u0061\u0075\u006c\u0074":()=>_0x4b2e0d(0x6e,0x6f,0x82,"\u0052\u0055\u005a\u0067",0x79)},"\u0073\u0075\u0063\u0063\u0065\u0073\u0073\u004c\u0061\u0062\u0065\u006c":String,"\u0065\u0072\u0072\u006f\u0072\u004c\u0061\u0062\u0065\u006c":String},'computed':{'statusMap'(){const _0x30be75={'NfpsL':_0x19dd56(0x307,0x31f,0x302,0x314,0x31d)};var _0x3b59b8;let _0x3faa6c=this['dataMap'];_0x3b59b8=_0x30be75['NfpsL'];let _0x948248=_0x3faa6c[this["\u0076\u0061\u006c\u0075\u0065"]]||{};function _0x19dd56(_0x2e214c,_0x2a8375,_0x418796,_0x4a6722,_0x43103c){return _0x3ccd(_0x4a6722-0x2f6,_0x43103c);}return _0x948248;}},'data'(){return{"\u0064\u0061\u0074\u0061\u004d\u0061\u0070":{'type':''}};},"\u0063\u0072\u0065\u0061\u0074\u0065\u0064"(){this['init']();},"\u006d\u0065\u0074\u0068\u006f\u0064\u0073":{"\u0067\u0065\u0074\u004c\u0061\u0062\u0065\u006c"(_0x579d32){function _0x22d2d1(_0x4d5ee9,_0x224b9a,_0x58d3f2,_0x5336f5,_0x1bdc4b){return _0x3ccd(_0x4d5ee9-0x31c,_0x1bdc4b);}const _0x5b8f69={'czZNk':_0x22d2d1(0x352,0x368,0x368,0x350,0x35b),"\u0064\u006d\u0065\u0059\u0071":_0x22d2d1(0x320,0x32b,0x31e,0x307,0x31b)};function _0x5055e0(_0x40d521,_0x4ee002,_0x1c6a53,_0x1e0bf8,_0x1ed76c){return _0x3ccd(_0x1c6a53- -0x192,_0x4ee002);}if(_0x579d32['i18nPath']){if(_0x5b8f69["\u0063\u007a\u005a\u004e\u006b"]===_0x5b8f69["\u0064\u006d\u0065\u0059\u0071"]){return{'dataMap':{"\u0074\u0079\u0070\u0065":""}};}else{return this["\u0024\u0074\u0032"](_0x579d32["\u006c\u0061\u0062\u0065\u006c"],_0x579d32["\u0069\u0031\u0038\u006e\u0050\u0061\u0074\u0068"]);}}else{return _0x579d32['label'];}},'init'(){const _0x57dd97={'JTeOW':_0xfcea88(-0x225,-0x21d,-0x20c,-0x1f7,'56j1'),'kRwhj':_0xfcea88(-0x235,-0x221,-0x228,-0x22b,"yr6X".split("").reverse().join("")),'YxHTX':_0x422c4a(0x8e,0x88,0x7b,0x88,0x69)};var _0x3480d0=0x6+0x1;function _0x3fee1c(_0x5737a1,_0x17d6c7,_0x282d3c,_0x2f8599,_0x5a481f){return _0x4363(_0x2f8599- -0x1fa,_0x17d6c7);}let _0x4a3adf={};_0x3480d0=_0x57dd97['YxHTX'];function _0xfcea88(_0x1a7c16,_0x53bb5d,_0x50f0be,_0x6f1d17,_0x1edc22){return _0x4363(_0x50f0be- -0x230,_0x1edc22);}statuses[this['statusType']]['forEach'](_0x55a99e=>{function _0x1dcddc(_0x11b23a,_0x172084,_0x321954,_0x469853,_0x1eb33e){return _0x3ccd(_0x469853-0xba,_0x1eb33e);}function _0x3304ea(_0x56017c,_0x206d76,_0x5f06f8,_0x3ae221,_0x3ccb41){return _0x4363(_0x3ae221- -0x118,_0x56017c);}if(_0x3304ea('TtMI',-0x116,-0x106,-0xff,-0x107)!==_0x1dcddc(0xd4,0xfc,0xd4,0xeb,0xf9)){_0x4a3adf[_0x55a99e["\u0076\u0061\u006c\u0075\u0065"]]=_0x55a99e;}else{return _0x5b8be4['label'];}});var _0x16291a;let _0x1c7397=this['param']||[];function _0x422c4a(_0x5f2de1,_0x4d9208,_0x4ffe8d,_0x4b95c6,_0x372011){return _0x3ccd(_0x4ffe8d-0x6b,_0x4b95c6);}_0x16291a=0x4+0x7;_0x1c7397["\u0066\u006f\u0072\u0045\u0061\u0063\u0068"](_0x3d655a=>{if(_0x57dd97['JTeOW']!==_0x57dd97['kRwhj']){_0x4a3adf[_0x3d655a['value']]=_0x3d655a;}else{if(_0x1f0bda["\u0069\u0031\u0038\u006e\u0050\u0061\u0074\u0068"]){return this['$t2'](_0x18aa73['label'],_0x1e21ca['i18nPath']);}else{return _0x316515["\u006c\u0061\u0062\u0065\u006c"];}}});if(this['successLabel']){_0x4a3adf[!![]]['label']=this['successLabel'];}if(this['errorLabel']){if(_0x3fee1c(-0x1c5,'v7HH',-0x1c0,-0x1d2,-0x1c0)!==_0x422c4a(0x8e,0x89,0x80,0x7e,0x80)){_0x132aa1[!![]]['label']=this['successLabel'];}else{_0x4a3adf[![]]['label']=this['errorLabel'];}}function _0x55d9b8(_0x5547ef,_0x579de5,_0x2795fb,_0x21bd91,_0x4805fa){return _0x3ccd(_0x21bd91- -0x380,_0x4805fa);}function _0x4aa0e4(_0xdbc6bf,_0x1b552c,_0x345a79,_0xaa1a0d,_0x26f0d6){return _0x4363(_0x1b552c-0x39f,_0x345a79);}this['dataMap']=this['$baseLodash']['cloneDeep'](_0x4a3adf);}}};
65
5
  export default modules;
@@ -1,5 +1,20 @@
1
1
  <template>
2
- <div class="pop-box" :style="'z-index:'+zIndex">
2
+ <!-- 外壳改成 el-dialog + append-to-body,说明见 urgingDialog.vue。
3
+ 里面的 h5SearchDialog(.pop-screen-box)跟着一起进了 body:它自己是
4
+ position:fixed + z-index:99,在 wrapper 这个层叠上下文内部照样盖住本弹层,
5
+ 样式同样要走顶层选择器,见 xform/styles/h5.scss。 -->
6
+ <el-dialog
7
+ :visible.sync="dialogVisible"
8
+ :append-to-body="true"
9
+ :modal="false"
10
+ :show-close="false"
11
+ :close-on-click-modal="false"
12
+ :destroy-on-close="true"
13
+ custom-class="h5-pop-dialog"
14
+ width="100%"
15
+ top="0px"
16
+ @close="dialogClose"
17
+ >
3
18
  <div>
4
19
  <div class="header-box">
5
20
  <i class="back el-icon-close" @click="dialogClose"></i>
@@ -65,7 +80,7 @@
65
80
  </el-form>
66
81
  </h5SearchDialog>
67
82
  </div>
68
- </div>
83
+ </el-dialog>
69
84
  </template>
70
85
 
71
86
  <script>
@@ -75,6 +90,11 @@ import mixin from './mixins/addTaskUserdialogMixin';
75
90
  export default {
76
91
  name: 'userDialog',
77
92
  props: ['visiable', 'multi', 'rows', 'param'],
78
- mixins: [selectDialogMixins, mixin]
93
+ mixins: [selectDialogMixins, mixin],
94
+ data() {
95
+ return {
96
+ dialogVisible: true
97
+ };
98
+ }
79
99
  };
80
100
  </script>