cloud-web-corejs 1.0.54-dev.20 → 1.0.54-dev.200

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 (243) hide show
  1. package/package.json +11 -4
  2. package/src/components/Qrcode/fileParse.vue +0 -1
  3. package/src/components/VabUpload/index.vue +2 -1
  4. package/src/components/VabUpload/mixins.js +1 -1
  5. package/src/components/VabUpload/view.vue +22 -6
  6. package/src/components/advancedSearchDialog/mixins.js +1 -1
  7. package/src/components/baseAttachment/index.vue +22 -13
  8. package/src/components/baseAttachment/mixins.js +1 -1
  9. package/src/components/excelExport/exportFieldDialog.vue +16 -6
  10. package/src/components/excelExport/index.js +2 -1
  11. package/src/components/excelExport/index.vue +8 -6
  12. package/src/components/excelExport/mixins.js +3 -2
  13. package/src/components/excelImport/mixins.js +1 -1
  14. package/src/components/fileLibrary/fileObjAuthDialog.vue +1 -1
  15. package/src/components/fileLibrary/fileObjAuthEditDialog.vue +7 -1
  16. package/src/components/fileLibrary/fileObjNotifyEdit.vue +90 -68
  17. package/src/components/fileLibrary/filterDialog.vue +383 -0
  18. package/src/components/fileLibrary/index.vue +23 -24
  19. package/src/components/fileLibrary/mixins/categoryMoveDialogMixins.js +1 -1
  20. package/src/components/fileLibrary/mixins/fileCategoryDialogMixins.js +1 -1
  21. package/src/components/fileLibrary/mixins/fileHistoryDialogMixins.js +2 -2
  22. package/src/components/fileLibrary/mixins/fileObjAuthDialogMixin.js +337 -207
  23. package/src/components/fileLibrary/mixins/fileObjAuthEditDialogMixin.js +33 -26
  24. package/src/components/fileLibrary/mixins/fileObjAuthEditMixin.js +5 -5
  25. package/src/components/fileLibrary/mixins/indexMixins.js +77 -27
  26. package/src/components/fileLibrary/mixins/propertiesDialogMixins.js +63 -3
  27. package/src/components/fileLibrary/mixins/recycleBinDialogMixins.js +1 -1
  28. package/src/components/fileLibrary/propertiesDialog.vue +18 -0
  29. package/src/components/fileLibrary/shareDialog.vue +1 -1
  30. package/src/components/jsonImport/mixins.js +1 -1
  31. package/src/components/onlineTalk/index.vue +327 -5
  32. package/src/components/onlineTalk/mixins.js +1 -1
  33. package/src/components/table/CellSlot.vue +1 -0
  34. package/src/components/table/index.js +12 -10
  35. package/src/components/table/tableForm.vue +99 -63
  36. package/src/components/table/tableFormMixin.js +1 -1
  37. package/src/components/table/util/index.js +328 -0
  38. package/src/components/table/vxeFilter/mixin.js +1 -1
  39. package/src/components/vb-tabs/x-tabs.vue +3 -2
  40. package/src/components/wf/content.vue +2 -0
  41. package/src/components/wf/setCandidateDialog.vue +1 -0
  42. package/src/components/wf/wf.js +1 -1
  43. package/src/components/wf/wfStartDialog.vue +1 -1
  44. package/src/components/wf/wfUtil.js +1 -1
  45. package/src/components/xform/form-designer/designer.js +1528 -1
  46. package/src/components/xform/form-designer/form-widget/dialog/formDialog.vue +16 -4
  47. package/src/components/xform/form-designer/form-widget/dialog/formDrawer.vue +5 -1
  48. package/src/components/xform/form-designer/form-widget/dialog/importDialog.vue +37 -6
  49. package/src/components/xform/form-designer/form-widget/dialog/importDialogMixin.js +3 -1
  50. package/src/components/xform/form-designer/form-widget/dialog/searchFormDialog.vue +26 -7
  51. package/src/components/xform/form-designer/form-widget/field-widget/baseAttachment-widget.vue +34 -5
  52. package/src/components/xform/form-designer/form-widget/field-widget/button-widget.vue +1 -1
  53. package/src/components/xform/form-designer/form-widget/field-widget/checkbox-widget.vue +14 -6
  54. package/src/components/xform/form-designer/form-widget/field-widget/date-range-widget.vue +1 -0
  55. package/src/components/xform/form-designer/form-widget/field-widget/dropdown-item-widget.vue +77 -0
  56. package/src/components/xform/form-designer/form-widget/field-widget/dropdown-menu-widget.vue +106 -0
  57. package/src/components/xform/form-designer/form-widget/field-widget/echart-bar-widget.vue +1 -1
  58. package/src/components/xform/form-designer/form-widget/field-widget/echart-category-widget.vue +1 -1
  59. package/src/components/xform/form-designer/form-widget/field-widget/echart-pie-widget.vue +1 -1
  60. package/src/components/xform/form-designer/form-widget/field-widget/fieldMixin.js +1390 -16
  61. package/src/components/xform/form-designer/form-widget/field-widget/form-item-wrapper.vue +200 -6
  62. package/src/components/xform/form-designer/form-widget/field-widget/import-button-widget.vue +6 -8
  63. package/src/components/xform/form-designer/form-widget/field-widget/import2-button-widget.vue +81 -0
  64. package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-bar-mixin.js +49 -8
  65. package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-category-mixin.js +61 -88
  66. package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-pie-mixin.js +13 -0
  67. package/src/components/xform/form-designer/form-widget/field-widget/mixins/vabsearch-mixin.js +176 -0
  68. package/src/components/xform/form-designer/form-widget/field-widget/multiSearch-widget.vue +53 -0
  69. package/src/components/xform/form-designer/form-widget/field-widget/project-tag-widget.vue +70 -3
  70. package/src/components/xform/form-designer/form-widget/field-widget/radio-widget.vue +13 -5
  71. package/src/components/xform/form-designer/form-widget/field-widget/search_button-widget.vue +1 -1
  72. package/src/components/xform/form-designer/form-widget/field-widget/select-widget.vue +13 -3
  73. package/src/components/xform/form-designer/form-widget/field-widget/singerSearch-widget.vue +53 -0
  74. package/src/components/xform/form-designer/form-widget/field-widget/status-widget.vue +3 -2
  75. package/src/components/xform/form-designer/form-widget/field-widget/table-export-button-widget.vue +6 -1
  76. package/src/components/xform/form-designer/form-widget/field-widget/text-widget.vue +46 -34
  77. package/src/components/xform/form-designer/form-widget/field-widget/time-range-widget.vue +2 -2
  78. package/src/components/xform/form-designer/form-widget/field-widget/vabSearch-widget.vue +2 -170
  79. package/src/components/xform/form-designer/form-widget/field-widget/vabUpload-widget.vue +88 -8
  80. package/src/components/xform/form-designer/indexMixin.js +870 -1
  81. package/src/components/xform/form-designer/setting-panel/form-setting.vue +67 -36
  82. package/src/components/xform/form-designer/setting-panel/indexMixin.js +322 -1
  83. package/src/components/xform/form-designer/setting-panel/option-items-setting.vue +8 -3
  84. package/src/components/xform/form-designer/setting-panel/property-editor/a-link-editor.vue +1 -1
  85. package/src/components/xform/form-designer/setting-panel/property-editor/autoValueEnabled-editor.vue +38 -0
  86. package/src/components/xform/form-designer/setting-panel/property-editor/censusClass-editor.vue +6 -0
  87. package/src/components/xform/form-designer/setting-panel/property-editor/commonAttributeEnabled-editor.vue +41 -0
  88. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/columnRenderDialog.vue +125 -0
  89. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +1046 -1042
  90. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/onCheckboxChange-editor.vue +1 -1
  91. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +850 -463
  92. package/src/components/xform/form-designer/setting-panel/property-editor/container-detail/detail-editor.vue +2 -2
  93. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid-col/grid-col-offset-editor.vue +1 -1
  94. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid-col/grid-col-pull-editor.vue +1 -1
  95. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid-col/grid-col-push-editor.vue +1 -1
  96. package/src/components/xform/form-designer/setting-panel/property-editor/container-list-h5/list-h5-editor.vue +0 -8
  97. package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/eventMixin.js +2 -2
  98. package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/onAfterConfirmFile-editor.vue +32 -0
  99. package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/onClick-editor.vue +2 -2
  100. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/search-dialog-event-editor.vue +48 -5
  101. package/src/components/xform/form-designer/setting-panel/property-editor/field-date-range/date-range-defaultTime-editor.vue +27 -0
  102. package/src/components/xform/form-designer/setting-panel/property-editor/field-dropdown-menu/dropdown-item-editor.vue +21 -0
  103. package/src/components/xform/form-designer/setting-panel/property-editor/field-dropdown-menu/dropdown-menu-editor.vue +59 -0
  104. package/src/components/xform/form-designer/setting-panel/property-editor/field-echart/echart-bar-editor.vue +185 -69
  105. package/src/components/xform/form-designer/setting-panel/property-editor/field-echart/echart-category-editor.vue +188 -86
  106. package/src/components/xform/form-designer/setting-panel/property-editor/field-echart/echart-pie-editor.vue +84 -39
  107. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import-button-editor.vue +26 -10
  108. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import2-button-editor.vue +86 -0
  109. package/src/components/xform/form-designer/setting-panel/property-editor/field-rate/rate-defaultValue-editor.vue +1 -1
  110. package/src/components/xform/form-designer/setting-panel/property-editor/field-status/field-status-editor.vue +47 -28
  111. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/table-export-button-editor.vue +26 -7
  112. package/src/components/xform/form-designer/setting-panel/property-editor/field-vabSearch/vabSearchName-editor.vue +13 -1
  113. package/src/components/xform/form-designer/setting-panel/property-editor/field-vabUpload/field-vabUpload-editor.vue +30 -1
  114. package/src/components/xform/form-designer/setting-panel/property-editor/formScriptEnabled-editor.vue +42 -4
  115. package/src/components/xform/form-designer/setting-panel/property-editor/limit-editor.vue +1 -1
  116. package/src/components/xform/form-designer/setting-panel/property-editor/multiple-editor.vue +11 -11
  117. package/src/components/xform/form-designer/setting-panel/property-editor/multipleLimit-editor.vue +1 -1
  118. package/src/components/xform/form-designer/setting-panel/property-editor/placeholder-editor.vue +1 -1
  119. package/src/components/xform/form-designer/setting-panel/property-editor/precision-editor.vue +1 -1
  120. package/src/components/xform/form-designer/setting-panel/property-editor/project-tag-editor.vue +178 -0
  121. package/src/components/xform/form-designer/setting-panel/property-editor/required-editor.vue +22 -18
  122. package/src/components/xform/form-designer/setting-panel/property-editor/showRuleFlag-editor.vue +1 -1
  123. package/src/components/xform/form-designer/setting-panel/property-editor/textFlag-editor.vue +216 -17
  124. package/src/components/xform/form-designer/setting-panel/property-editor/wfFlag-editor.vue +242 -27
  125. package/src/components/xform/form-designer/setting-panel/property-editor/widgetShowRuleFlag-editor.vue +220 -0
  126. package/src/components/xform/form-designer/setting-panel/propertyRegister.js +11 -0
  127. package/src/components/xform/form-designer/toolbar-panel/index.vue +12 -11
  128. package/src/components/xform/form-designer/toolbar-panel/indexMixin.js +1 -1
  129. package/src/components/xform/form-designer/widget-panel/index.vue +21 -1
  130. package/src/components/xform/form-designer/widget-panel/indexMixin.js +292 -2
  131. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +707 -334
  132. package/src/components/xform/form-render/container-item/containerItemMixin.js +1 -1
  133. package/src/components/xform/form-render/container-item/data-table-item.vue +37 -15
  134. package/src/components/xform/form-render/container-item/data-table-mixin.js +2169 -18
  135. package/src/components/xform/form-render/container-item/grid-col-item.vue +10 -3
  136. package/src/components/xform/form-render/container-item/grid-item.vue +1 -1
  137. package/src/components/xform/form-render/container-item/list-h5-item.vue +1 -9
  138. package/src/components/xform/form-render/container-item/list-h5-item2.vue +1 -8
  139. package/src/components/xform/form-render/container-item/tab-item.vue +11 -6
  140. package/src/components/xform/form-render/container-item/table-cell-item.vue +38 -32
  141. package/src/components/xform/form-render/container-item/table-item.vue +4 -2
  142. package/src/components/xform/form-render/indexMixin.js +2148 -1
  143. package/src/components/xform/lang/zh-CN.js +14 -3
  144. package/src/components/xform/mixins/defaultHandle.js +120 -1
  145. package/src/components/xform/mixins/scriptHttp.js +164 -1
  146. package/src/components/xform/utils/emitter.js +4 -4
  147. package/src/components/xform/utils/util.js +1631 -1
  148. package/src/layout/components/AppMain.vue +5 -1
  149. package/src/layout/components/Sidebar/default.vue +50 -6
  150. package/src/layout/components/TagsView/index.vue +0 -1
  151. package/src/layout/components/extractedCode/createDialog.vue +92 -0
  152. package/src/layout/components/extractedCode/queryDialog.vue +96 -0
  153. package/src/layout/components/extractedCode/viewDialog.vue +192 -0
  154. package/src/layout/components/watermark/index.vue +77 -0
  155. package/src/mixins/selectDialog/index.js +241 -1
  156. package/src/mixins/tableTree/index.js +1 -1
  157. package/src/router/modules/customer.js +15 -0
  158. package/src/store/config/index.js +1 -1
  159. package/src/store/modules/permission.js +1 -1
  160. package/src/store/modules/settings.js +1 -1
  161. package/src/store/modules/user.js +1 -1
  162. package/src/utils/index.js +4 -2
  163. package/src/utils/pddLog.js +103 -0
  164. package/src/utils/request.js +28 -28
  165. package/src/utils/vab.js +19 -27
  166. package/src/views/bd/setting/bd_attach_setting/edit.vue +7 -7
  167. package/src/views/bd/setting/bd_attach_setting/list.vue +28 -55
  168. package/src/views/bd/setting/bd_attach_setting/mixins/edit.js +4 -5
  169. package/src/views/bd/setting/bd_attach_setting/mixins/list.js +219 -1
  170. package/src/views/bd/setting/form_import_log/edit.vue +127 -0
  171. package/src/views/bd/setting/form_import_log/list.vue +205 -0
  172. package/src/views/bd/setting/form_script/edit.vue +2 -2
  173. package/src/views/bd/setting/form_script/edit1.vue +3 -3
  174. package/src/views/bd/setting/form_script/form_list.vue +1 -1
  175. package/src/views/bd/setting/form_script/mixins/edit.js +3 -1
  176. package/src/views/bd/setting/form_script/mixins/edit1.js +1 -1
  177. package/src/views/bd/setting/form_script/mixins/form_list.js +283 -1
  178. package/src/views/bd/setting/form_script/mixins/list.js +191 -1
  179. package/src/views/bd/setting/form_script/mixins/list1.js +360 -14
  180. package/src/views/bd/setting/form_template/batchWfObjConfigDialog.vue +105 -0
  181. package/src/views/bd/setting/form_template/edit.vue +11 -3
  182. package/src/views/bd/setting/form_template/editWfObjConfigDialog.vue +2 -2
  183. package/src/views/bd/setting/form_template/mixins/batchWfObjConfigDialog.js +4 -0
  184. package/src/views/bd/setting/form_template/mixins/edit.js +1 -1
  185. package/src/views/bd/setting/form_template/mixins/list.js +624 -22
  186. package/src/views/bd/setting/form_template/mixins/wf_list.js +12 -0
  187. package/src/views/bd/setting/form_template/wfObjConfigDialog.vue +254 -0
  188. package/src/views/bd/setting/form_template/wf_list.vue +127 -0
  189. package/src/views/bd/setting/menu_kind/list.vue +4 -0
  190. package/src/views/bd/setting/menu_kind/mixins/list.js +1 -1
  191. package/src/views/bd/setting/table_model/edit.vue +834 -426
  192. package/src/views/bd/setting/table_model/mixins/dialog.js +72 -1
  193. package/src/views/bd/setting/table_model/mixins/edit.js +1117 -13
  194. package/src/views/bd/setting/table_model/mixins/list.js +378 -14
  195. package/src/views/user/area/dialog.vue +21 -9
  196. package/src/views/user/bill_setting/edit.vue +1 -1
  197. package/src/views/user/bill_setting/list.vue +1 -1
  198. package/src/views/user/common_attribute/itemEdit.vue +2 -2
  199. package/src/views/user/common_attribute/list.vue +1 -1
  200. package/src/views/user/common_script/edit.vue +1 -1
  201. package/src/views/user/common_script/list.vue +1 -1
  202. package/src/views/user/company_info/dialog.vue +164 -154
  203. package/src/views/user/company_info/edit.vue +1 -1
  204. package/src/views/user/extend_datasource/dialog.vue +1 -0
  205. package/src/views/user/extend_datasource/edit.vue +3 -0
  206. package/src/views/user/extend_datasource/list.vue +2 -1
  207. package/src/views/user/file_type/edit.vue +30 -1
  208. package/src/views/user/file_type/list.vue +28 -0
  209. package/src/views/user/form/vform/designer.vue +772 -749
  210. package/src/views/user/form/view/list.vue +27 -9
  211. package/src/views/user/groups/edit.vue +2 -0
  212. package/src/views/user/groups/list.vue +1 -0
  213. package/src/views/user/home/default.vue +1022 -979
  214. package/src/views/user/home/dev.vue +29 -0
  215. package/src/views/user/home/index.vue +16 -6
  216. package/src/views/user/login/default.vue +35 -4
  217. package/src/views/user/login/indexMixin.js +117 -3
  218. package/src/views/user/notify_message/dialog.vue +1 -1
  219. package/src/views/user/notify_template/edit.vue +188 -187
  220. package/src/views/user/notify_template/edit2.vue +176 -0
  221. package/src/views/user/notify_template/list.vue +4 -1
  222. package/src/views/user/notify_template/list2.vue +190 -0
  223. package/src/views/user/outLink/form_view.vue +39 -12
  224. package/src/views/user/outLink/index.vue +17 -0
  225. package/src/views/user/outLink/view.vue +39 -13
  226. package/src/views/user/position/list.vue +4 -4
  227. package/src/views/user/project_tag/list.vue +9 -4
  228. package/src/views/user/push_setting/list.vue +2 -2
  229. package/src/views/user/role/dialog.vue +1 -1
  230. package/src/views/user/role/list.vue +4 -4
  231. package/src/views/user/sale_org/dialog.vue +1 -1
  232. package/src/views/user/sale_org/list.vue +4 -1
  233. package/src/views/user/user/dialog.vue +1 -1
  234. package/src/views/user/user/edit.vue +39 -19
  235. package/src/views/user/user/form_edit.vue +63 -2
  236. package/src/views/user/user/form_info.vue +210 -0
  237. package/src/views/user/user/form_list.vue +1 -0
  238. package/src/views/user/user/list.vue +4 -11
  239. package/src/views/user/wf/wf_manage/list.vue +1 -1
  240. package/src/views/user/wf/wf_manage/wfContentDialog.vue +1 -1
  241. package/src/views/user/wf/wf_obj_config/importItemDialog.vue +109 -0
  242. package/src/views/user/wf/wf_obj_config/list.vue +94 -8
  243. package/src/views/user/wf/wf_obj_config/wfBizDataSettingDialog.vue +2 -2
@@ -1,206 +1,363 @@
1
1
  <template>
2
- <div>
3
- <el-dialog
4
- custom-class="dialog-style list-dialog"
5
- :title="i18nt('designer.setting.tableColEdit')"
6
- :visible.sync="showDialog"
7
- :modal="false"
8
- :show-close="!0"
9
- :close-on-click-modal="!1"
10
- :close-on-press-escape="!1"
11
- :destroy-on-close="!0"
12
- top="5vh"
13
- width="1220px"
14
- v-dialog-drag
15
- @closed="closeHandle"
16
- >
17
- <div class="cont">
18
- <el-table
19
- ref="singleTable"
20
- width="100%"
21
- :data="tableData"
22
- height="500"
23
- border=""
24
- row-key="columnId"
25
- stripe=""
26
- :tree-props="{ children: 'children' }"
27
- default-expand-all
2
+ <el-dialog
3
+ custom-class="dialog-style list-dialog"
4
+ :title="i18nt('designer.setting.tableColEdit')"
5
+ :visible.sync="showDialog"
6
+ :modal="false"
7
+ :show-close="!0"
8
+ :close-on-click-modal="!1"
9
+ :close-on-press-escape="!1"
10
+ :destroy-on-close="!0"
11
+ top="5vh"
12
+ width="1220px"
13
+ v-dialog-drag
14
+ :before-close="closeHandle"
15
+ >
16
+ <div class="cont">
17
+ <el-table
18
+ ref="singleTable"
19
+ width="100%"
20
+ :data="tableData"
21
+ height="500"
22
+ border=""
23
+ row-key="columnId"
24
+ stripe=""
25
+ :tree-props="{ children: 'children' }"
26
+ default-expand-all
27
+ v-loading="pictLoading"
28
+ element-loading-background="rgba(0, 0, 0, 0)"
29
+ element-loading-text="数据正在加载中"
30
+ element-loading-spinner="el-icon-loading"
31
+ >
32
+ <el-table-column label="" min-width="80" fixed="left">
33
+ <template #default="scope">
34
+ <span>{{ scope.$index + 1 }}</span>
35
+ </template>
36
+ </el-table-column>
37
+ <el-table-column label="" width="35" fixed="left"
38
+ ><i class="el-icon-s-operation drag-option"></i>
39
+ </el-table-column>
40
+ <el-table-column
41
+ :label="i18nt('designer.setting.columnLabel')"
42
+ width="150"
43
+ prop="label"
44
+ fixed="left"
45
+ >
46
+ <template #default="scope">
47
+ <el-input v-model="scope.row.label"></el-input>
48
+ </template>
49
+ </el-table-column>
50
+ <el-table-column
51
+ :label="i18nt('designer.setting.columnName')"
52
+ width="150"
53
+ prop="prop"
54
+ >
55
+ <template #default="scope">
56
+ <el-input
57
+ v-model="scope.row.prop"
58
+ :disabled="'editAttachment' == scope.row.formatS"
59
+ ></el-input>
60
+ </template>
61
+ </el-table-column>
62
+ <el-table-column
63
+ :label="i18nt('designer.setting.columnWidth')"
64
+ width="100"
65
+ prop="width"
66
+ >
67
+ <template #default="scope">
68
+ <el-input v-model="scope.row.width"></el-input>
69
+ </template>
70
+ </el-table-column>
71
+ <el-table-column
72
+ :label="i18nt('designer.setting.visibleColumn')"
73
+ width="70"
74
+ prop="show"
75
+ >
76
+ <template #default="scope">
77
+ <el-switch v-model="scope.row.show"></el-switch>
78
+ </template>
79
+ </el-table-column>
80
+ <el-table-column :label="i18nt('必填')" width="70" prop="required">
81
+ <template #default="scope">
82
+ <el-switch v-model="scope.row.required"></el-switch>
83
+ </template>
84
+ </el-table-column>
85
+ <el-table-column
86
+ :label="i18nt('designer.setting.sortableColumn')"
87
+ width="70"
88
+ prop="sortable"
28
89
  >
29
- <el-table-column label="" min-width="80" fixed="left">
30
- <template slot-scope="scope">
31
- <span>{{ scope.$index + 1 }}</span>
32
- </template>
33
- </el-table-column>
34
- <el-table-column label="" width="35" fixed="left"><i class="el-icon-s-operation drag-option"></i>
35
- </el-table-column>
36
- <el-table-column :label="i18nt('designer.setting.columnLabel')" width="150" prop="label" fixed="left">
37
- <template slot-scope="scope">
38
- <el-input v-model="scope.row.label"></el-input>
39
- </template>
40
- </el-table-column>
41
- <el-table-column :label="i18nt('designer.setting.columnName')" width="150" prop="prop">
42
- <template slot-scope="scope">
43
- <el-input v-model="scope.row.prop" :disabled="'editAttachment' == scope.row.formatS"></el-input>
44
- </template>
45
- </el-table-column>
46
- <el-table-column :label="i18nt('designer.setting.columnWidth')" width="100" prop="width">
47
- <template slot-scope="scope">
48
- <el-input v-model="scope.row.width"></el-input>
49
- </template>
50
- </el-table-column>
51
- <el-table-column :label="i18nt('designer.setting.visibleColumn')" width="70" prop="show">
52
- <template slot-scope="scope">
53
- <el-switch v-model="scope.row.show"></el-switch>
54
- </template>
55
- </el-table-column>
56
- <el-table-column :label="i18nt('必填')" width="70" prop="required">
57
- <template slot-scope="scope">
58
- <el-switch v-model="scope.row.required"></el-switch>
59
- </template>
60
- </el-table-column>
61
- <el-table-column :label="i18nt('designer.setting.sortableColumn')" width="70" prop="sortable">
62
- <template slot-scope="scope">
63
- <el-switch v-model="scope.row.sortable"></el-switch>
64
- </template>
65
- </el-table-column>
66
- <el-table-column :label="i18nt('designer.setting.fixedColumn')" width="100" prop="fixed">
67
- <template slot-scope="scope">
68
- <el-select v-model="scope.row.fixed" clearable>
69
- <el-option value="left">left</el-option>
70
- <el-option value="right">right</el-option>
71
- </el-select>
72
- </template>
73
- </el-table-column>
74
- <!-- <el-table-column :label="i18nt('designer.setting.alignTypeOfColumn')" width="100" prop="align">
75
- <template slot-scope="scope">
76
- <el-select v-model="scope.row.align">
77
- <el-option v-for="(e,index) in alignOptions" :key="index" :value="e.value" :label="e.label"></el-option>
78
- </el-select>
79
- </template>
80
- </el-table-column>-->
81
- <el-table-column :label="i18nt('designer.setting.formatOfColumn')" width="200" prop="formatS">
82
- <template slot-scope="scope">
83
- <el-select v-model="scope.row.formatS" @change="changeFormatS(scope.row)" clearable>
84
- <el-option-group :label="i18nt('designer.setting.customRenderGroup')">
85
- <el-option value="render" label="render"></el-option>
86
- </el-option-group>
87
- <el-option-group v-for="t in op" :key="t.label" :label="t.label">
88
- <el-option v-for="e in t.options" :key="e.value" :value="e.value" :label="e.label"></el-option>
89
- </el-option-group>
90
- </el-select>
91
- </template>
92
- </el-table-column>
93
- <el-table-column :label="i18nt('自定义表格列配置')" width="150">
94
- <template slot-scope="scope">
95
- <a href="javascript:void(0);" class="a-link link-oneLind"
96
- @click="openTableColumnConfigDialog(scope.row,scope.$index)">
97
- <span>{{ scope.row.tableColumnConfig }}</span>
98
- <i class="el-icon-edit"></i>
99
- </a>
100
- </template>
101
- </el-table-column>
102
- <el-table-column :label="i18nt('编辑下拉列')" width="70" prop="sortable">
103
- <template slot-scope="scope">
104
- <el-switch v-model="scope.row.treeNode"></el-switch>
105
- </template>
106
- </el-table-column>
107
- <el-table-column :label="i18nt('编辑插槽类型')" width="200" prop="editFormatS">
108
- <template slot-scope="scope">
109
- <el-select v-model="scope.row.editFormatS" @change="changeFormatS(scope.row)" clearable>
110
- <el-option v-for="e in editOp" :key="e.value" :value="e.value" :label="e.label"></el-option>
111
- </el-select>
112
- </template>
113
- </el-table-column>
114
- <el-table-column label="编辑插槽配置" width="70" align="center">
115
- <template slot-scope="scope">
116
- <el-button size="mini" plain="" round="" icon="el-icon-edit"
117
- @click="openEditFormatConfigDialog(scope.row,scope.$index)"
118
- :disabled="!scope.row.editFormatS"></el-button>
119
- </template>
120
- </el-table-column>
121
- <el-table-column label="格式化配置" width="90" fixed="right" align="center">
122
- <template slot-scope="scope">
123
- <el-button size="mini" plain="" round="" icon="el-icon-edit"
124
- @click="openFormatConfigDialog(scope.row,scope.$index)"
125
- :disabled="!columnFormatMap[scope.row.formatS]"></el-button>
126
- </template>
127
- </el-table-column>
128
- <el-table-column :label="i18nt('designer.setting.renderFunction')" width="70" fixed="right" align="center">
129
- <template slot-scope="scope">
130
- <el-button :disabled="'render' !== scope.row.formatS" size="mini" plain="" round="" icon="el-icon-edit"
131
- @click="showRenderDialog(scope.row)"></el-button>
132
- </template>
133
- </el-table-column>
134
- <el-table-column label="操作" width="150" fixed="right">
135
- <template slot="header">
136
- <el-tooltip
137
- :hide-after="500"
138
- class="item"
139
- effect="dark"
140
- content="添加根节点"
141
- placement="top"
90
+ <template #default="scope">
91
+ <el-switch v-model="scope.row.sortable"></el-switch>
92
+ </template>
93
+ </el-table-column>
94
+ <el-table-column :label="i18nt('明细行')" width="70" prop="sortable">
95
+ <template #default="scope">
96
+ <el-switch v-model="scope.row.isItemLine"></el-switch>
97
+ </template>
98
+ </el-table-column>
99
+ <el-table-column
100
+ :label="i18nt('designer.setting.fixedColumn')"
101
+ width="100"
102
+ prop="fixed"
103
+ >
104
+ <template #default="scope">
105
+ <el-select v-model="scope.row.fixed" clearable>
106
+ <el-option value="left">left</el-option>
107
+ <el-option value="right">right</el-option>
108
+ </el-select>
109
+ </template>
110
+ </el-table-column>
111
+ <!-- <el-table-column :label="i18nt('designer.setting.alignTypeOfColumn')" width="100" prop="align">
112
+ <template #default="scope">
113
+ <el-select v-model="scope.row.align">
114
+ <el-option v-for="(e,index) in alignOptions" :key="index" :value="e.value" :label="e.label"></el-option>
115
+ </el-select>
116
+ </template>
117
+ </el-table-column>-->
118
+ <el-table-column
119
+ :label="i18nt('designer.setting.formatOfColumn')"
120
+ width="200"
121
+ prop="formatS"
122
+ >
123
+ <template #default="scope">
124
+ <el-select
125
+ v-model="scope.row.formatS"
126
+ @change="changeFormatS(scope.row)"
127
+ clearable
128
+ >
129
+ <el-option-group
130
+ :label="i18nt('designer.setting.customRenderGroup')"
142
131
  >
143
- <el-button
144
- size="mini" type="" circle=""
145
- icon="el-icon-plus"
146
- @click="onAddRoot"
147
- />
148
- </el-tooltip>
149
- </template>
150
- <template #default="{ row, $index }">
151
- <el-tooltip
152
- :hide-after="hideAfter"
153
- :open-delay="openDelay"
154
- effect="dark"
155
- content="添加兄弟节点"
156
- placement="top"
132
+ <el-option value="render" label="render"></el-option>
133
+ </el-option-group>
134
+ <el-option-group
135
+ v-for="t in op"
136
+ :key="t.label"
137
+ :label="t.label"
157
138
  >
158
- <el-button
159
- size="mini" type="" circle=""
160
- icon="el-icon-plus"
161
- @click="onAddSibling(row, $index)"
162
- />
163
- </el-tooltip>
139
+ <el-option
140
+ v-for="e in t.options"
141
+ :key="e.value"
142
+ :value="e.value"
143
+ :label="e.label"
144
+ ></el-option>
145
+ </el-option-group>
146
+ </el-select>
147
+ </template>
148
+ </el-table-column>
149
+ <el-table-column
150
+ label="格式化配置"
151
+ width="90"
152
+ align="center"
153
+ >
154
+ <template #default="scope">
155
+ <el-button
156
+ size="mini"
157
+ plain=""
158
+ round=""
159
+ icon="el-icon-edit"
160
+ @click="openFormatConfigDialog(scope.row, scope.$index)"
161
+ :disabled="!columnFormatMap[scope.row.formatS] && 'widgetRender'!== scope.row.formatS"
162
+ ></el-button>
163
+ </template>
164
+ </el-table-column>
165
+ <el-table-column
166
+ :label="i18nt('designer.setting.renderFunction')"
167
+ width="70"
168
+ align="center"
169
+ >
170
+ <template #default="scope">
171
+ <el-button
172
+ :disabled="'render' !== scope.row.formatS"
173
+ size="mini"
174
+ plain=""
175
+ round=""
176
+ icon="el-icon-edit"
177
+ @click="showRenderDialog(scope.row)"
178
+ ></el-button>
179
+ </template>
180
+ </el-table-column>
181
+ <el-table-column :label="i18nt('自定义表格列配置')" width="150">
182
+ <template #default="scope">
183
+ <a
184
+ href="javascript:void(0);"
185
+ class="a-link link-oneLind"
186
+ @click="openTableColumnConfigDialog(scope.row, scope.$index)"
187
+ >
188
+ <span>{{ scope.row.tableColumnConfig }}</span>
189
+ <i class="el-icon-edit"></i>
190
+ </a>
191
+ </template>
192
+ </el-table-column>
193
+ <el-table-column :label="i18nt('下拉列')" width="70" prop="sortable">
194
+ <template #default="scope">
195
+ <el-switch v-model="scope.row.treeNode"></el-switch>
196
+ </template>
197
+ </el-table-column>
198
+ <el-table-column
199
+ :label="i18nt('编辑插槽类型')"
200
+ width="200"
201
+ prop="editFormatS"
202
+ >
203
+ <template #default="scope">
204
+ <el-select
205
+ v-model="scope.row.editFormatS"
206
+ @change="changeFormatS(scope.row)"
207
+ clearable
208
+ >
209
+ <el-option
210
+ v-for="e in editOp"
211
+ :key="e.value"
212
+ :value="e.value"
213
+ :label="e.label"
214
+ ></el-option>
215
+ </el-select>
216
+ </template>
217
+ </el-table-column>
218
+ <el-table-column label="编辑插槽配置" width="150" align="center">
219
+ <template #default="scope">
220
+ <el-button
221
+ size="mini"
222
+ plain=""
223
+ round=""
224
+ icon="el-icon-edit"
225
+ @click="openEditFormatConfigDialog(scope.row, scope.$index)"
226
+ :disabled="!scope.row.editFormatS"
227
+ ></el-button>
228
+ </template>
229
+ </el-table-column>
230
+ <el-table-column
231
+ :label="i18nt('导出类型')"
232
+ width="200"
233
+ prop="formatS"
234
+ >
235
+ <template #default="scope">
236
+ <el-select v-model="scope.row.exportType" clearable>
237
+ <el-option value="Image2" label="图片"></el-option>
238
+ <el-option value="Number" label="数值"></el-option>
239
+ </el-select>
240
+ </template>
241
+ </el-table-column>
164
242
 
165
- <el-tooltip
166
- :hide-after="hideAfter"
167
- :open-delay="openDelay"
168
- effect="dark"
169
- content="添加子节点"
170
- placement="top"
171
- >
172
- <el-button
173
- size="mini" type="" circle=""
174
- icon="el-icon-circle-plus-outline"
175
- @click="onAddChild(row, $index)"
176
- />
177
- </el-tooltip>
178
- <el-tooltip
179
- :hide-after="hideAfter"
180
- :open-delay="openDelay"
181
- effect="dark"
182
- content="删除"
183
- placement="top"
184
- >
185
- <el-button
186
- size="mini" type="" circle=""
187
- icon="el-icon-delete"
188
- @click="onDelete(row, $index)"
189
- />
190
- </el-tooltip>
191
- </template>
192
- </el-table-column>
193
- </el-table>
194
- </div>
195
- <div class="dialog-footer" slot="footer">
196
- <el-button @click="closeHandle" class="button-sty" icon="el-icon-close">
197
- {{ i18nt('designer.hint.cancel') }}
198
- </el-button>
199
- <el-button type="primary" @click="colSubmit" class="button-sty" icon="el-icon-check">
200
- {{ i18nt('designer.hint.confirm') }}
201
- </el-button>
202
- </div>
203
- </el-dialog>
243
+ <el-table-column
244
+ :label="i18nt('表尾统计行类型')"
245
+ width="200"
246
+ prop="formatS"
247
+ >
248
+ <template #default="scope">
249
+ <el-select v-model="scope.row.footerDataType" clearable>
250
+ <el-option value="1" label="合计"></el-option>
251
+ <el-option value="2" label="平均"></el-option>
252
+ <el-option value="3" label="自定义"></el-option>
253
+ </el-select>
254
+ </template>
255
+ </el-table-column>
256
+ <el-table-column label="表尾统计行配置" width="150" align="center">
257
+ <template #default="scope">
258
+ <el-button
259
+ size="mini"
260
+ plain=""
261
+ round=""
262
+ icon="el-icon-edit"
263
+ @click="
264
+ editFormEventHandler(
265
+ scope.row,
266
+ scope.$index,
267
+ 'footerMethodConfg'
268
+ )
269
+ "
270
+ :disabled="scope.row.footerDataType !== '3'"
271
+ ></el-button>
272
+ </template>
273
+ </el-table-column>
274
+
275
+
276
+ <el-table-column label="操作" width="150" fixed="right">
277
+ <template slot="header">
278
+ <el-tooltip
279
+ :hide-after="500"
280
+ class="item"
281
+ effect="dark"
282
+ content="添加根节点"
283
+ placement="top"
284
+ >
285
+ <el-button
286
+ size="mini"
287
+ type=""
288
+ circle=""
289
+ icon="el-icon-plus"
290
+ @click="onAddRoot"
291
+ />
292
+ </el-tooltip>
293
+ </template>
294
+ <template #default="{ row, $index }">
295
+ <el-tooltip
296
+ :hide-after="hideAfter"
297
+ :open-delay="openDelay"
298
+ effect="dark"
299
+ content="添加兄弟节点"
300
+ placement="top"
301
+ >
302
+ <el-button
303
+ size="mini"
304
+ type=""
305
+ circle=""
306
+ icon="el-icon-plus"
307
+ @click="onAddSibling(row, $index)"
308
+ />
309
+ </el-tooltip>
310
+
311
+ <el-tooltip
312
+ :hide-after="hideAfter"
313
+ :open-delay="openDelay"
314
+ effect="dark"
315
+ content="添加子节点"
316
+ placement="top"
317
+ >
318
+ <el-button
319
+ size="mini"
320
+ type=""
321
+ circle=""
322
+ icon="el-icon-circle-plus-outline"
323
+ @click="onAddChild(row, $index)"
324
+ />
325
+ </el-tooltip>
326
+ <el-tooltip
327
+ :hide-after="hideAfter"
328
+ :open-delay="openDelay"
329
+ effect="dark"
330
+ content="删除"
331
+ placement="top"
332
+ >
333
+ <el-button
334
+ size="mini"
335
+ type=""
336
+ circle=""
337
+ icon="el-icon-delete"
338
+ @click="onDelete(row, $index)"
339
+ />
340
+ </el-tooltip>
341
+ </template>
342
+ </el-table-column>
343
+ </el-table>
344
+ <columnRenderDialog :column="currentTableColumn" v-if="showColumnRenderDialog"
345
+ :visiable.sync="showColumnRenderDialog"
346
+ @confirm="confirmWidgetRenderDialog"></columnRenderDialog>
347
+ </div>
348
+ <div class="dialog-footer" slot="footer">
349
+ <el-button @click="closeHandle" class="button-sty" icon="el-icon-close">
350
+ {{ i18nt("designer.hint.cancel") }}
351
+ </el-button>
352
+ <el-button
353
+ type="primary"
354
+ @click="colSubmit"
355
+ class="button-sty"
356
+ icon="el-icon-check"
357
+ >
358
+ {{ i18nt("designer.hint.confirm") }}
359
+ </el-button>
360
+ </div>
204
361
  <el-dialog
205
362
  v-if="showRenderDialogFlag"
206
363
  :title="i18nt('designer.setting.renderFunction')"
@@ -213,16 +370,35 @@
213
370
  :destroy-on-close="!0"
214
371
  v-dialog-drag
215
372
  top="7vh"
373
+ :append-to-body="true"
216
374
  >
217
- <el-alert type="info" :closable="!1" title="function customRender(params,h) {"/>
218
- <code-editor ref="dsResultEditor" mode="javascript" :readonly="!1" v-model="renderJson"></code-editor>
375
+ <el-alert
376
+ type="info"
377
+ :closable="!1"
378
+ title="function customRender(params,h) {"
379
+ />
380
+ <code-editor
381
+ ref="dsResultEditor"
382
+ mode="javascript"
383
+ :readonly="!1"
384
+ v-model="renderJson"
385
+ ></code-editor>
219
386
  <el-alert type="info" :closable="!1" title="}"/>
220
387
  <div class="dialog-footer" slot="footer">
221
- <el-button @click="showRenderDialogFlag = !1" class="button-sty" icon="el-icon-close">
222
- {{ i18nt('designer.hint.cancel') }}
388
+ <el-button
389
+ @click="showRenderDialogFlag = !1"
390
+ class="button-sty"
391
+ icon="el-icon-close"
392
+ >
393
+ {{ i18nt("designer.hint.cancel") }}
223
394
  </el-button>
224
- <el-button type="primary" @click="saveColumnRender" class="button-sty" icon="el-icon-check">
225
- {{ i18nt('designer.hint.confirm') }}
395
+ <el-button
396
+ type="primary"
397
+ @click="saveColumnRender"
398
+ class="button-sty"
399
+ icon="el-icon-check"
400
+ >
401
+ {{ i18nt("designer.hint.confirm") }}
226
402
  </el-button>
227
403
  </div>
228
404
  </el-dialog>
@@ -241,39 +417,125 @@
241
417
  top="5vh"
242
418
  >
243
419
  <div class="cont">
244
- <el-alert type="info" :closable="false" :title="tableColumnConfigHeader"></el-alert>
245
- <code-editor :mode="'javascript'" :readonly="false" v-model="tableColumnConfigCode"
246
- ref="ecEditor"></code-editor>
420
+ <el-alert
421
+ type="info"
422
+ :closable="false"
423
+ :title="tableColumnConfigHeader"
424
+ ></el-alert>
425
+ <code-editor
426
+ :mode="'javascript'"
427
+ :readonly="false"
428
+ v-model="tableColumnConfigCode"
429
+ ref="ecEditor"
430
+ ></code-editor>
247
431
  <el-alert type="info" :closable="false" title="}"></el-alert>
248
432
  </div>
249
433
  <div slot="footer" class="dialog-footer">
250
- <el-button @click="showTableColumnConfigDialog = false" class="button-sty" icon="el-icon-close">
251
- {{ i18nt('designer.hint.cancel') }}
434
+ <el-button
435
+ @click="showTableColumnConfigDialog = false"
436
+ class="button-sty"
437
+ icon="el-icon-close"
438
+ >
439
+ {{ i18nt("designer.hint.cancel") }}
252
440
  </el-button>
253
- <el-button type="primary" @click="saveTableColumnConfigDialog" class="button-sty" icon="el-icon-check">
254
- {{ i18nt('designer.hint.confirm') }}
441
+ <el-button
442
+ type="primary"
443
+ @click="saveTableColumnConfigDialog"
444
+ class="button-sty"
445
+ icon="el-icon-check"
446
+ >
447
+ {{ i18nt("designer.hint.confirm") }}
255
448
  </el-button>
256
449
  </div>
257
450
  </el-dialog>
258
- </div>
259
-
451
+ <el-dialog
452
+ :title="i18nt('designer.setting.editFormEventHandler')"
453
+ :visible.sync="showFormEventDialogFlag"
454
+ v-if="showFormEventDialogFlag"
455
+ :show-close="true"
456
+ custom-class="dialog-style list-dialog"
457
+ v-dialog-drag
458
+ :close-on-click-modal="false"
459
+ :close-on-press-escape="false"
460
+ :destroy-on-close="true"
461
+ :append-to-body="true"
462
+ :modal-append-to-body="true"
463
+ top="5vh"
464
+ >
465
+ <div class="cont">
466
+ <el-alert
467
+ type="info"
468
+ :closable="false"
469
+ :title="'form.' + eventParamsMap[curEventName]"
470
+ ></el-alert>
471
+ <code-editor
472
+ :mode="'javascript'"
473
+ :readonly="false"
474
+ v-model="formEventHandlerCode"
475
+ ref="ecEditor"
476
+ ></code-editor>
477
+ <el-alert type="info" :closable="false" title="}"></el-alert>
478
+ </div>
479
+ <div slot="footer" class="dialog-footer">
480
+ <el-button
481
+ @click="showFormEventDialogFlag = false"
482
+ class="button-sty"
483
+ icon="el-icon-close"
484
+ >
485
+ {{ i18nt("designer.hint.cancel") }}
486
+ </el-button>
487
+ <el-button
488
+ type="primary"
489
+ @click="saveFormEventHandler"
490
+ class="button-sty"
491
+ icon="el-icon-check"
492
+ >
493
+ {{ i18nt("designer.hint.confirm") }}
494
+ </el-button>
495
+ </div>
496
+ </el-dialog>
497
+ </el-dialog>
260
498
  </template>
261
499
  <script>
262
500
  import i18n from "../../../../../../components/xform/utils/i18n";
263
501
  import Sortable from "sortablejs";
264
502
  import {generateId} from "../../../../../../components/xform/utils/util";
503
+ import columnRenderDialog from "./columnRenderDialog.vue"
504
+ import {businessFields} from "@base/components/xform/form-designer/widget-panel/widgetsConfig";
505
+
506
+ let businessOptions = [
507
+ {
508
+ value: "_createBy",
509
+ label: "创建人",
510
+ },
511
+ {
512
+ value: "_modifyBy",
513
+ label: "更新人",
514
+ },
515
+ {
516
+ value: "create_date",
517
+ label: "创建时间",
518
+ },
519
+ {
520
+ value: "modify_date",
521
+ label: "更新时间",
522
+ },
523
+ ];
524
+ let userFields = ["_createBy","_modifyBy","create_date","modify_date"]
265
525
 
266
526
  export default {
267
527
  mixins: [i18n],
268
528
  props: {
269
529
  designer: Object,
270
530
  selectedWidget: Object,
271
- optionModel: Object
531
+ optionModel: Object,
272
532
  },
273
- components: {},
274
- inject: ['openWidgetPropertyDialog'],
533
+ components: {columnRenderDialog},
534
+ inject: ["openWidgetPropertyDialog"],
275
535
  data() {
536
+
276
537
  return {
538
+ pictLoading: true,
277
539
  tableColumnConfigTitle: null,
278
540
  showTableColumnConfigDialog: false,
279
541
  tableColumnConfigHeader: null,
@@ -282,264 +544,358 @@ export default {
282
544
  dialogVisible: true,
283
545
  alignOptions: [
284
546
  {
285
- value: 'left',
286
- label: 'left'
547
+ value: "left",
548
+ label: "left",
287
549
  },
288
550
  {
289
- value: 'center',
290
- label: 'center'
551
+ value: "center",
552
+ label: "center",
291
553
  },
292
554
  {
293
- value: 'right',
294
- label: 'right'
295
- }
555
+ value: "right",
556
+ label: "right",
557
+ },
296
558
  ],
559
+ businessOptions,
560
+ userFields,
297
561
  op: [
298
562
  {
299
- label: 'edit Format',
563
+ label: "edit Format",
300
564
  options: [
301
565
  {
302
- value: 'editInput',
303
- label: '文本输入框'
566
+ value: "editInput",
567
+ label: "文本输入框",
304
568
  },
305
569
  {
306
- value: 'editNumber',
307
- label: '数字输入框'
570
+ value: "editNumber",
571
+ label: "数字输入框",
308
572
  },
309
573
  {
310
- value: 'editDate',
311
- label: '日期输入框'
574
+ value: "editDate",
575
+ label: "日期输入框",
312
576
  },
313
577
  {
314
- value: 'editSelect',
315
- label: '下拉框'
578
+ value: "editSelect",
579
+ label: "下拉框",
316
580
  },
317
581
  {
318
- value: 'editAttachment',
319
- label: '附件'
582
+ value: "checkbox",
583
+ label: "复选框",
320
584
  },
321
585
  {
322
- value: 'editSearch',
323
- label: '搜索框'
586
+ value: "radio",
587
+ label: "单选框",
324
588
  },
325
589
  {
326
- value: 'editStatus',
327
- label: '状态'
590
+ value: "editAttachment",
591
+ label: "附件",
328
592
  },
329
593
  {
330
- value: 'editDelete',
331
- label: '删除按钮'
594
+ value: "editSearch",
595
+ label: "搜索框",
332
596
  },
333
597
  {
334
- value: 'editButton',
335
- label: '查看按钮'
598
+ value: "editStatus",
599
+ label: "状态",
336
600
  },
337
601
  {
338
- value: 'aText',
339
- label: '超链接文本'
602
+ value: "text",
603
+ label: "文本",
340
604
  },
341
605
  {
342
- value: 'aLink',
343
- label: '超链接按钮'
606
+ value: "editDelete",
607
+ label: "删除按钮",
344
608
  },
345
609
  {
346
- value: 'button',
347
- label: '按钮'
610
+ value: "editButton",
611
+ label: "查看按钮",
348
612
  },
349
613
  {
350
- value: 'editTreeButtonGroup',
351
- label: '编辑行按钮组'
352
- }
353
- ]
614
+ value: "aText",
615
+ label: "超链接文本",
616
+ },
617
+ {
618
+ value: "aLink",
619
+ label: "超链接按钮",
620
+ },
621
+ {
622
+ value: "button",
623
+ label: "按钮",
624
+ },
625
+ {
626
+ value: "editTreeButtonGroup",
627
+ label: "编辑行按钮组",
628
+ },
629
+ {
630
+ value: "widgetRender",
631
+ label: "自定义组件",
632
+ },
633
+ ],
354
634
  },
355
635
  {
356
- label: '树控件',
636
+ label: "树控件",
357
637
  options: [
358
638
  {
359
- value: 'addSiblingEditRow',
360
- label: '新增兄弟节点'
639
+ value: "addSiblingEditRow",
640
+ label: "新增兄弟节点",
361
641
  },
362
642
  {
363
- value: 'addChildTreeRow',
364
- label: '新增子节点'
643
+ value: "addChildTreeRow",
644
+ label: "新增子节点",
365
645
  },
366
646
  {
367
- value: 'moveUpRow',
368
- label: '上移'
647
+ value: "moveUpRow",
648
+ label: "上移",
369
649
  },
370
650
  {
371
- value: 'moveDownRow',
372
- label: '下移'
651
+ value: "moveDownRow",
652
+ label: "下移",
373
653
  },
374
654
  {
375
- value: 'removeTreeRow',
376
- label: '删除树节点'
377
- }
378
- ]
655
+ value: "removeTreeRow",
656
+ label: "删除树节点",
657
+ },
658
+ ],
379
659
  },
660
+
380
661
  {
381
- label: 'Date Format',
662
+ label: "业务模块",
663
+ options: businessOptions
664
+ },
665
+ {
666
+ label: "Date Format",
382
667
  options: [
383
668
  {
384
- value: 'd1',
385
- label: 'yyyy-MM-dd'
669
+ value: "d1",
670
+ label: "yyyy-MM-dd",
386
671
  },
387
672
  {
388
- value: 'd2',
389
- label: 'yyyy/MM/dd'
673
+ value: "d2",
674
+ label: "yyyy/MM/dd",
390
675
  },
391
676
  {
392
- value: 'd3',
393
- label: 'yyyy年MM月dd日'
677
+ value: "d3",
678
+ label: "yyyy年MM月dd日",
394
679
  },
395
680
  {
396
- value: 'd4',
397
- label: 'yyyy-MM-dd HH:mm:ss'
681
+ value: "d4",
682
+ label: "yyyy-MM-dd HH:mm:ss",
398
683
  },
399
684
  {
400
- value: 'd5',
401
- label: 'yyyy-MM-dd hh:mm:ss'
402
- }
403
- ]
685
+ value: "d5",
686
+ label: "yyyy-MM-dd hh:mm:ss",
687
+ },
688
+ ],
404
689
  },
405
690
  {
406
- label: 'Number Format',
691
+ label: "Number Format",
407
692
  options: [
408
693
  {
409
- value: 'n1',
410
- label: '###,###,###,##0.######'
694
+ value: "n1",
695
+ label: "###,###,###,##0.######",
411
696
  },
412
697
  {
413
- value: 'n2',
414
- label: '###,###,###,##0.00####'
698
+ value: "n2",
699
+ label: "###,###,###,##0.00####",
415
700
  },
416
701
  {
417
- value: 'n3',
418
- label: '###,###,###,##0.000000'
702
+ value: "n3",
703
+ label: "###,###,###,##0.000000",
419
704
  },
420
705
  {
421
- value: 'n4',
422
- label: '###,###,###,##0.000'
706
+ value: "n4",
707
+ label: "###,###,###,##0.000",
423
708
  },
424
709
  {
425
- value: 'n5',
426
- label: '###,###,###,##0.00'
710
+ value: "n5",
711
+ label: "###,###,###,##0.00",
427
712
  },
428
713
  {
429
- value: 'n6',
430
- label: '###,###,###,##0'
714
+ value: "n6",
715
+ label: "###,###,###,##0",
431
716
  },
432
717
  {
433
- value: 'n7',
434
- label: '###,##0.00##%'
435
- }
436
- ]
437
- }
718
+ value: "n7",
719
+ label: "###,##0.00##%",
720
+ },
721
+ ],
722
+ },
438
723
  ],
439
724
  editOp: [
440
725
  {
441
- value: 'editInput',
442
- label: '文本输入框'
726
+ value: "editInput",
727
+ label: "文本输入框",
443
728
  },
444
729
  {
445
- value: 'editNumber',
446
- label: '数字输入框'
730
+ value: "editNumber",
731
+ label: "数字输入框",
447
732
  },
448
733
  {
449
- value: 'editDate',
450
- label: '日期输入框'
734
+ value: "editDate",
735
+ label: "日期输入框",
451
736
  },
452
737
  {
453
- value: 'editSelect',
454
- label: '下拉框'
738
+ value: "editSelect",
739
+ label: "下拉框",
455
740
  },
456
741
  {
457
- value: 'editAttachment',
458
- label: '附件'
742
+ value: "editAttachment",
743
+ label: "附件",
459
744
  },
460
745
  {
461
- value: 'editSearch',
462
- label: '搜索框'
463
- }
746
+ value: "editSearch",
747
+ label: "搜索框",
748
+ },
464
749
  ],
465
750
  showRenderDialogFlag: !1,
466
- renderJson: '',
751
+ renderJson: "",
467
752
  currentTableColumn: null,
468
753
 
469
754
  hideAfter: 1500,
470
755
  openDelay: 500,
471
- tableData: [],//树形结构数据转的数组
756
+ tableData: [], //树形结构数据转的数组
472
757
  tableDataArray: [],
473
758
  dragSort: null,
474
759
  columnFormatMap: {
475
- editInput: 'input',
476
- editNumber: 'number',
477
- editDate: 'date',
478
- editSelect: 'select',
479
- editSearch: 'vabsearch',
480
- editAttachment: 'baseAttachment',
481
- editStatus: 'status',
482
- aText: 'a-text',
483
- aLink: 'a-link',
484
- editDelete: 'a-link',
485
- editButton: 'a-link',
486
- button: 'button',
487
- addSiblingEditRow: 'a-link',
488
- addChildTreeRow: 'a-link',
489
- moveUpRow: 'a-link',
490
- moveDownRow: 'a-link',
491
- removeTreeRow: 'a-link'
760
+ editInput: "input",
761
+ editNumber: "number",
762
+ editDate: "date",
763
+ editSelect: "select",
764
+ editSearch: "vabsearch",
765
+ editAttachment: "baseAttachment",
766
+ editStatus: "status",
767
+ aText: "a-text",
768
+ aLink: "a-link",
769
+ editDelete: "a-link",
770
+ editButton: "a-link",
771
+ button: "button",
772
+ addSiblingEditRow: "a-link",
773
+ addChildTreeRow: "a-link",
774
+ moveUpRow: "a-link",
775
+ moveDownRow: "a-link",
776
+ removeTreeRow: "a-link",
777
+ text: "text",
778
+ checkbox: "checkbox",
779
+ radio: "radio",
780
+ },
781
+
782
+ showFormEventDialogFlag: false,
783
+ formEventHandlerCode: "",
784
+ curEventName: "",
785
+
786
+ eventParamsMap: {
787
+ footerMethodConfg: "footerMethodConfg(dataId,formCode,param) {",
492
788
  },
493
- }
789
+
790
+ showColumnRenderDialog: false,
791
+
792
+ };
494
793
  },
495
794
  beforeDestroy() {
496
- if (this.dragSort) this.dragSort.destroy()
795
+ if (this.dragSort) this.dragSort.destroy();
497
796
  },
498
797
  created() {
499
-
500
798
  },
501
799
  mounted() {
502
800
  this.init();
503
801
  },
504
802
  methods: {
803
+ editFormEventHandler(row, index, eventName) {
804
+ this.curEventName = eventName;
805
+ this.curEventIndex = index;
806
+ this.formEventHandlerCode = row[eventName];
807
+ this.showFormEventDialogFlag = true;
808
+ },
809
+
810
+ saveFormEventHandler() {
811
+ const codeHints = this.$refs.ecEditor.getEditorAnnotations();
812
+ let syntaxErrorFlag = false;
813
+ if (!!codeHints && codeHints.length > 0) {
814
+ codeHints.forEach((chItem) => {
815
+ if (chItem.type === "error") {
816
+ syntaxErrorFlag = true;
817
+ }
818
+ });
819
+
820
+ if (syntaxErrorFlag) {
821
+ this.$message.error(
822
+ this.i18nt("designer.setting.syntaxCheckWarning")
823
+ );
824
+ return;
825
+ }
826
+ }
827
+ this.tableData[this.curEventIndex][this.curEventName] =
828
+ this.formEventHandlerCode;
829
+ this.showFormEventDialogFlag = false;
830
+ },
505
831
  init() {
506
- this.tableData = this.$baseLodash.cloneDeep(this.optionModel.tableColumns);
507
- this.$nextTick(() => {
832
+ setTimeout(() => {
833
+ this.tableData = this.$baseLodash.cloneDeep(
834
+ this.optionModel.tableColumns
835
+ );
836
+ this.$nextTick(() => {
837
+ this.rowDrop();
838
+ setTimeout(() => {
839
+ this.pictLoading = false
840
+ }, 200)
841
+ });
842
+ }, 10)
843
+
844
+ /*this.$nextTick(() => {
508
845
  this.rowDrop();
509
- });
846
+ });*/
510
847
  },
511
848
  colSubmit() {
512
849
  this.dialogVisible = !1;
513
850
  this.optionModel.tableColumns = this.tableData;
514
851
  this.closeHandle();
515
852
  },
853
+ openWidgetRenderDialog(row) {
854
+ this.currentTableColumn = row;
855
+ this.showColumnRenderDialog = true
856
+ },
857
+ confirmWidgetRenderDialog(widgetList) {
858
+ this.currentTableColumn.widgetList = widgetList
859
+ this.showColumnRenderDialog = false
860
+ },
516
861
  showRenderDialog: function (e) {
517
- (this.currentTableColumn = e), (this.renderJson = e.render || ''), (this.showRenderDialogFlag = !0);
862
+ /*if(e.formatS == 'widgetRender'){
863
+ this.openWidgetRenderDialog(e);
864
+ return
865
+ }*/
866
+
867
+ (this.currentTableColumn = e),
868
+ (this.renderJson = e.render || ""),
869
+ (this.showRenderDialogFlag = !0);
518
870
  },
519
871
  saveColumnRender: function () {
520
- this.$set(this.currentTableColumn, 'render', this.renderJson), (this.showRenderDialogFlag = !1);
872
+ this.$set(this.currentTableColumn, "render", this.renderJson),
873
+ (this.showRenderDialogFlag = !1);
521
874
  },
522
875
  closeHandle() {
523
- this.$emit('update:visiable', false);
524
- this.$emit('close');
876
+ this.$emit("update:visiable", false);
877
+ this.$emit("close");
525
878
  },
526
879
  // 添加同级节点
527
880
  onAddSibling(row, index) {
528
- console.log('onAddSibling', row, index)
529
- const parentId = row.parentId || null
881
+ console.log("onAddSibling", row, index);
882
+ const parentId = row.parentId || null;
530
883
  // 先判断是不是根节点
531
884
  if (!parentId) {
532
885
  // 当前节点直接添加
533
886
  // this.tableData.push(this.generateRow(parentId))
534
- let addIndex = this.tableData.filter(item => !item.parentId).findIndex(item => item.columnId == row.columnId) + 1;
535
- this.tableData.splice(addIndex, 0, this.generateRow(parentId))
887
+ let addIndex =
888
+ this.tableData
889
+ .filter((item) => !item.parentId)
890
+ .findIndex((item) => item.columnId == row.columnId) + 1;
891
+ this.tableData.splice(addIndex, 0, this.generateRow(parentId));
536
892
  } else {
537
- this.handleAddOneRow(row, index, 'SIBLING')
893
+ this.handleAddOneRow(row, index, "SIBLING");
538
894
  }
539
895
  },
540
896
  // 添加子节点 todo
541
897
  onAddChild(row, index) {
542
- this.handleAddOneRow(row, index, 'CHILD')
898
+ this.handleAddOneRow(row, index, "CHILD");
543
899
  },
544
900
  /**
545
901
  * 处理添加一行数据
@@ -548,36 +904,36 @@ export default {
548
904
  * @param {string} type 操作类型 SIBLING 同级 / CHILD 子级
549
905
  */
550
906
  handleAddOneRow(row, index, type) {
551
-
552
- const {parentId, columnId} = row
553
- const curId = type === 'SIBLING' ? parentId : columnId
554
- let curRow = {}
907
+ const {parentId, columnId} = row;
908
+ const curId = type === "SIBLING" ? parentId : columnId;
909
+ let curRow = {};
555
910
  // 在 tableData 中,找到当前节点
556
911
  const findRow = (data) => {
557
912
  data.forEach((item) => {
558
913
  if (item.columnId === curId) {
559
- curRow = item
914
+ curRow = item;
560
915
  }
561
916
  if (item.children && item.children.length) {
562
- findRow(item.children)
917
+ findRow(item.children);
563
918
  }
564
- })
565
- }
919
+ });
920
+ };
566
921
 
567
- findRow(this.tableData)
922
+ findRow(this.tableData);
568
923
 
569
- const {columnId: generateParentId, children} = curRow
924
+ const {columnId: generateParentId, children} = curRow;
570
925
 
571
- let newRow = this.generateRow(generateParentId)
926
+ let newRow = this.generateRow(generateParentId);
572
927
  if (children) {
573
- if (type === 'SIBLING') {
574
- let addIndex = children.findIndex(item => item.columnId == row.columnId) + 1;
575
- children.splice(addIndex, 0, newRow)
928
+ if (type === "SIBLING") {
929
+ let addIndex =
930
+ children.findIndex((item) => item.columnId == row.columnId) + 1;
931
+ children.splice(addIndex, 0, newRow);
576
932
  } else {
577
- children.push(newRow)
933
+ children.push(newRow);
578
934
  }
579
935
  } else {
580
- this.$set(curRow, 'children', [newRow])
936
+ this.$set(curRow, "children", [newRow]);
581
937
  }
582
938
  },
583
939
  getUuid() {
@@ -587,7 +943,7 @@ export default {
587
943
  * 生成一行数据
588
944
  */
589
945
  generateRow(parentId) {
590
- let tmpId = 'column' + generateId();
946
+ let tmpId = "column" + generateId();
591
947
  let uuid = this.getUuid();
592
948
  var row = {
593
949
  columnId: uuid,
@@ -597,46 +953,52 @@ export default {
597
953
  width: 150,
598
954
  prop: tmpId,
599
955
  label: tmpId,
600
- align: 'left',
956
+ align: "left",
601
957
  show: true,
602
958
  sortable: true,
603
-
959
+ exportType: null,
960
+ footerDataType: null,
961
+ footerMethodConfg: null,
962
+ widgetList: []
604
963
  // treeNode: false,
605
-
606
964
  };
607
965
  return row;
608
966
  },
609
967
  // 添加根节点
610
968
  onAddRoot() {
611
- this.tableData.push(this.generateRow())
969
+ this.tableData.push(this.generateRow());
612
970
  },
613
971
  // 删除当前节点及对应子节点数据
614
972
  onDelete(row) {
615
- const {parentId, columnId} = row
973
+ const {parentId, columnId} = row;
616
974
  // 根节点直接删除
617
975
  if (!parentId) {
618
- const delIndex = this.tableData.findIndex((item) => item.columnId === columnId)
619
- this.tableData.splice(delIndex, 1)
976
+ const delIndex = this.tableData.findIndex(
977
+ (item) => item.columnId === columnId
978
+ );
979
+ this.tableData.splice(delIndex, 1);
620
980
  } else {
621
981
  // 找到父节点,通过父节点删除
622
- let parentRow = {}
982
+ let parentRow = {};
623
983
  const findRow = (data) => {
624
984
  data.forEach((item) => {
625
985
  if (item.columnId === parentId) {
626
- parentRow = {...item}
986
+ parentRow = {...item};
627
987
  }
628
988
  if (item.children && item.children.length) {
629
- findRow(item.children)
989
+ findRow(item.children);
630
990
  }
631
- })
632
- }
633
- findRow(this.tableData)
991
+ });
992
+ };
993
+ findRow(this.tableData);
634
994
 
635
- const {children} = parentRow
995
+ const {children} = parentRow;
636
996
 
637
- const delIndex = children.findIndex((item) => item.columnId === columnId)
997
+ const delIndex = children.findIndex(
998
+ (item) => item.columnId === columnId
999
+ );
638
1000
 
639
- children.splice(delIndex, 1)
1001
+ children.splice(delIndex, 1);
640
1002
  }
641
1003
  },
642
1004
  // 数据准备 生成 id 和 parentId
@@ -644,30 +1006,34 @@ export default {
644
1006
  const tableFormat = (tableData, parentId) => {
645
1007
  tableData.forEach((item) => {
646
1008
  // item.parentId = parentId || null
647
- if (!item.kid) item.kid = item.columnId
1009
+ if (!item.kid) item.kid = item.columnId;
648
1010
  if (item.children && item.children.length > 0) {
649
- tableFormat(item.children, item.columnId)
1011
+ tableFormat(item.children, item.columnId);
650
1012
  }
651
- })
652
- }
1013
+ });
1014
+ };
653
1015
 
654
- tableFormat(data)
655
- return data
1016
+ tableFormat(data);
1017
+ return data;
656
1018
  },
657
1019
  //drag begin
658
1020
  //行拖拽
659
1021
  rowDrop() {
660
- if (this.dragSort) this.dragSort.destroy() // 防止在Dom上重复绑定事件
1022
+ if (this.dragSort) this.dragSort.destroy(); // 防止在Dom上重复绑定事件
661
1023
  // const tbody = document.querySelector('.drag .el-table__body-wrapper tbody');
662
- var tbody = this.$refs.singleTable.$el.querySelectorAll('.el-table__fixed-body-wrapper > table > tbody')[0];
1024
+ var tbody = this.$refs.singleTable.$el.querySelectorAll(
1025
+ ".el-table__fixed-body-wrapper > table > tbody"
1026
+ )[0];
663
1027
  const _this = this;
664
1028
  this.dragSort = Sortable.create(tbody, {
665
- ghostClass: 'sortable-ghost',
1029
+ ghostClass: "sortable-ghost",
1030
+ // draggable: ".drag-option", // 修改可拖拽元素
1031
+ handle: '.drag-option', // 指定拖动按钮
666
1032
  setData: function (e) {
667
- e.setData('Text', '');
1033
+ e.setData("Text", "");
668
1034
  },
669
1035
  onEnd({newIndex, oldIndex}) {
670
- _this.rowDropEnd(newIndex, oldIndex)
1036
+ _this.rowDropEnd(newIndex, oldIndex);
671
1037
  },
672
1038
  });
673
1039
  },
@@ -678,7 +1044,7 @@ export default {
678
1044
  data.forEach((item) => {
679
1045
  const loop = (data) => {
680
1046
  result.push({
681
- ...data
1047
+ ...data,
682
1048
  });
683
1049
  let child = data.children;
684
1050
  if (child) {
@@ -694,7 +1060,9 @@ export default {
694
1060
  //数组转树
695
1061
  arrToTree(arr, parentId) {
696
1062
  return arr
697
- .filter((item) => (!parentId ? !item.parentId : item.parentId === parentId))
1063
+ .filter((item) =>
1064
+ !parentId ? !item.parentId : item.parentId === parentId
1065
+ )
698
1066
  .map((item) => {
699
1067
  item.children = this.arrToTree(arr, item.columnId);
700
1068
  return item;
@@ -732,13 +1100,7 @@ export default {
732
1100
  let newRow = this.tableDataArray[newIndex];
733
1101
 
734
1102
  //判断是否把该行 拖拽到 自己的底级中
735
- if (
736
- this.isTreeBottom(
737
- this.tableData,
738
- oldRow.columnId,
739
- newRow.columnId
740
- )
741
- ) {
1103
+ if (this.isTreeBottom(this.tableData, oldRow.columnId, newRow.columnId)) {
742
1104
  this.$message({
743
1105
  type: "error",
744
1106
  message: "不能放到子节点",
@@ -784,7 +1146,7 @@ export default {
784
1146
  let isButtontCell = false;
785
1147
  let widgetType = this.columnFormatMap[formatS];
786
1148
  if (widgetType) {
787
- isButtontCell = widgetType === 'a-link' || widgetType === 'button';
1149
+ isButtontCell = widgetType === "a-link" || widgetType === "button";
788
1150
  }
789
1151
  return isButtontCell;
790
1152
  },
@@ -796,16 +1158,16 @@ export default {
796
1158
  if (columnSelectedWidget) {
797
1159
  row.columnOption = columnSelectedWidget.options;
798
1160
  } else {
799
- row.columnOption = {}
1161
+ row.columnOption = {};
800
1162
  }
801
1163
 
802
- if (row.formatS == 'editTreeButtonGroup') {
1164
+ if (row.formatS == "editTreeButtonGroup") {
803
1165
  row.prop = null;
804
1166
  row.label = null;
805
1167
  row.sortable = false;
806
1168
  row.width = 150;
807
1169
  } else if (isButtontCell) {
808
- if (row.formatS == 'aLink' || row.formatS == 'button') {
1170
+ if (row.formatS == "aLink" || row.formatS == "button") {
809
1171
  if (!row.width || row.width == 47) row.width = 150;
810
1172
  } else {
811
1173
  row.width = 47;
@@ -814,13 +1176,22 @@ export default {
814
1176
  row.label = null;
815
1177
  row.sortable = false;
816
1178
  } else {
817
- let tmpId = 'column' + generateId();
1179
+ let tmpId = "column" + generateId();
818
1180
  if (!row.width || row.width == 47) row.width = 150;
819
1181
  if (!row.prop) row.prop = tmpId;
820
1182
  if (!row.label) row.label = tmpId;
1183
+
1184
+ if(this.userFields.includes(row.formatS)){
1185
+ let item = this.businessOptions.find(item=>item.value==row.formatS);
1186
+ if(item){
1187
+ row.prop = item.value;
1188
+ row.label = item.label;
1189
+ }
1190
+ }
1191
+
821
1192
  row.sortable = true;
822
1193
 
823
- if (row.formatS == 'editAttachment') {
1194
+ if (row.formatS == "editAttachment") {
824
1195
  row.prop = this.designer.createAttachmentKeyName();
825
1196
  } else {
826
1197
  let attachmentPrefix = this.designer.getAttachmentPrefix();
@@ -829,23 +1200,17 @@ export default {
829
1200
  }
830
1201
  },
831
1202
  getColumnWidgetConfig(row, isChange, isEdit) {
832
- let formatS = isEdit ? row.editFormatS : row.formatS
1203
+ let formatS = isEdit ? row.editFormatS : row.formatS;
833
1204
  let columnSelectedWidget = null;
834
1205
  let columnEditFields = null;
835
1206
 
836
1207
  let type = this.columnFormatMap[formatS];
837
- /*if (type == 'date') {
838
- columnEditFields = ['type', 'format', 'valueFormat']
839
- } else if (type == 'select') {
840
-
841
- }
842
- if (type == 'vabsearch') {
843
- columnEditFields = ['vabSearchField', 'formCode', 'formVersion', 'required', 'showFormField', 'onSearchConfirm', 'onSearchClear']
844
- }*/
845
1208
 
846
1209
  if (type) {
847
1210
  // columnSelectedWidget = this.$baseLodash.cloneDeep(this.designer.getFieldWidgetByType(type));
848
- columnSelectedWidget = this.designer.copyNewFieldWidget(this.designer.getFieldWidgetByType(type));
1211
+ columnSelectedWidget = this.designer.copyNewFieldWidget(
1212
+ this.designer.getFieldWidgetByType(type)
1213
+ );
849
1214
  /*let tmpId = generateId();
850
1215
  let idVal = row.prop ? row.prop : (type + tmpId);*/
851
1216
  /*columnSelectedWidget.id = idVal;*/
@@ -859,61 +1224,70 @@ export default {
859
1224
  if (!isChange && columnOption && Object.keys(columnOption).length) {
860
1225
  columnOption.required = row.required || false;
861
1226
  columnSelectedWidget.options = columnOption;
862
- if ('editDelete' == formatS) {
863
- columnSelectedWidget.options.hiddenByWf = columnSelectedWidget.options.hiddenByWf ?? true;
864
- columnSelectedWidget.options.prefixIcon = columnSelectedWidget.options.prefixIcon || "el-icon-delete";
865
- } else if ('editButton' == formatS) {
866
- columnSelectedWidget.options.prefixIcon = columnSelectedWidget.options.prefixIcon || "el-icon-edit";
1227
+ if ("editDelete" == formatS) {
1228
+ columnSelectedWidget.options.hiddenByWf =
1229
+ columnSelectedWidget.options.hiddenByWf ?? true;
1230
+ columnSelectedWidget.options.prefixIcon =
1231
+ columnSelectedWidget.options.prefixIcon || "el-icon-delete";
1232
+ } else if ("editButton" == formatS) {
1233
+ columnSelectedWidget.options.prefixIcon =
1234
+ columnSelectedWidget.options.prefixIcon || "el-icon-edit";
867
1235
  }
868
1236
  } else {
869
1237
  columnSelectedWidget.options.required = row.required || false;
870
1238
 
871
- if ('editDelete' == formatS) {
1239
+ if ("editDelete" == formatS) {
872
1240
  columnSelectedWidget.options.prefixIcon = "el-icon-delete";
873
1241
  columnSelectedWidget.options.label = "删除";
874
1242
  columnSelectedWidget.options.labelHidden = true;
875
1243
  columnSelectedWidget.options.hiddenByWf = true;
876
- columnSelectedWidget.options.onClick = "let tableParam = this.tableParam;\nlet tableRef = this.getWidgetRef(this.parentWidget.options.name);\ntableRef.deleteRow(tableParam.row,tableParam.rowIndex);";
877
- } else if ('editButton' == formatS) {
1244
+ columnSelectedWidget.options.onClick =
1245
+ "let tableParam = this.tableParam;\nlet tableRef = this.getWidgetRef(this.parentWidget.options.name);\ntableRef.deleteRow(tableParam.row,tableParam.rowIndex);";
1246
+ } else if ("editButton" == formatS) {
878
1247
  columnSelectedWidget.options.prefixIcon = "el-icon-edit";
879
1248
  columnSelectedWidget.options.label = "查看";
880
1249
  columnSelectedWidget.options.labelHidden = true;
881
- columnSelectedWidget.options.onClick = "let tableParam = this.tableParam;\nlet tableRef = this.getWidgetRef(this.parentWidget.options.name);\ntableRef.openEditDialog(tableParam.row)";
882
- } else if ('addSiblingEditRow' == formatS) {
1250
+ columnSelectedWidget.options.onClick =
1251
+ "let tableParam = this.tableParam;\nlet tableRef = this.getWidgetRef(this.parentWidget.options.name);\ntableRef.openEditDialog(tableParam.row)";
1252
+ } else if ("addSiblingEditRow" == formatS) {
883
1253
  columnSelectedWidget.options.prefixIcon = "el-icon-plus";
884
1254
  columnSelectedWidget.options.label = "新增兄弟节点";
885
1255
  columnSelectedWidget.options.labelHidden = false;
886
- columnSelectedWidget.options.onClick = "let tableParam = this.tableParam;\nthis.getParentTarget().addSiblingTreeRow(null,tableParam);";
887
- } else if ('addChildTreeRow' == formatS) {
1256
+ columnSelectedWidget.options.onClick =
1257
+ "let tableParam = this.tableParam;\nthis.getParentTarget().addSiblingTreeRow(null,tableParam);";
1258
+ } else if ("addChildTreeRow" == formatS) {
888
1259
  columnSelectedWidget.options.prefixIcon = "el-icon-plus";
889
1260
  columnSelectedWidget.options.label = "新增子节点";
890
1261
  columnSelectedWidget.options.labelHidden = false;
891
- columnSelectedWidget.options.onClick = "let tableParam = this.tableParam;\nthis.getParentTarget().addChildTreeRow(null,tableParam);";
892
- } else if ('moveUpRow' == formatS) {
1262
+ columnSelectedWidget.options.onClick =
1263
+ "let tableParam = this.tableParam;\nthis.getParentTarget().addChildTreeRow(null,tableParam);";
1264
+ } else if ("moveUpRow" == formatS) {
893
1265
  // columnSelectedWidget.options.prefixIcon = "el-icon-plus";
894
1266
  columnSelectedWidget.options.label = "↑上移";
895
1267
  columnSelectedWidget.options.labelHidden = false;
896
- columnSelectedWidget.options.onClick = "let tableParam = this.tableParam;\nthis.getParentTarget().moveUpRow(tableParam);";
897
- } else if ('moveDownRow' == formatS) {
1268
+ columnSelectedWidget.options.onClick =
1269
+ "let tableParam = this.tableParam;\nthis.getParentTarget().moveUpRow(tableParam);";
1270
+ } else if ("moveDownRow" == formatS) {
898
1271
  // columnSelectedWidget.options.prefixIcon = "el-icon-plus";
899
1272
  columnSelectedWidget.options.label = "↓下移";
900
1273
  columnSelectedWidget.options.labelHidden = false;
901
- columnSelectedWidget.options.onClick = "let tableParam = this.tableParam;\nthis.getParentTarget().moveDownRow(tableParam);";
902
- } else if ('removeTreeRow' == formatS) {
1274
+ columnSelectedWidget.options.onClick =
1275
+ "let tableParam = this.tableParam;\nthis.getParentTarget().moveDownRow(tableParam);";
1276
+ } else if ("removeTreeRow" == formatS) {
903
1277
  columnSelectedWidget.options.prefixIcon = "el-icon-delete";
904
1278
  columnSelectedWidget.options.label = "删除";
905
1279
  columnSelectedWidget.options.labelHidden = true;
906
- columnSelectedWidget.options.onClick = "let tableParam = this.tableParam;\nthis.getParentTarget().removeTreeRow(tableParam);";
1280
+ columnSelectedWidget.options.onClick =
1281
+ "let tableParam = this.tableParam;\nthis.getParentTarget().removeTreeRow(tableParam);";
907
1282
  }
908
1283
 
909
1284
  columnOption = columnSelectedWidget.options;
910
-
911
1285
  }
912
1286
 
913
1287
  // columnSelectedWidget.options.name = isEdit? (type + row.columnId) : row.prop;
914
1288
  // columnSelectedWidget.options.name = type + row.columnId;
915
1289
  // columnSelectedWidget.options.name = row.prop;
916
- if (columnSelectedWidget.options.hasOwnProperty('keyName')) {
1290
+ if (columnSelectedWidget.options.hasOwnProperty("keyName")) {
917
1291
  columnSelectedWidget.options.keyName = row.prop;
918
1292
  columnSelectedWidget.options.keyNameEnabled = true;
919
1293
  } else {
@@ -928,6 +1302,12 @@ export default {
928
1302
  return {columnSelectedWidget, columnEditFields};
929
1303
  },
930
1304
  openFormatConfigDialog(row, index) {
1305
+ if (row.formatS == 'widgetRender') {
1306
+ this.openWidgetRenderDialog(row);
1307
+ return
1308
+ }
1309
+
1310
+
931
1311
  let option = row.columnOption;
932
1312
  let selectedWidget;
933
1313
  let columnWidgetConfig = this.getColumnWidgetConfig(row);
@@ -936,7 +1316,7 @@ export default {
936
1316
  option = columnSelectedWidget.options;
937
1317
  selectedWidget = columnSelectedWidget;
938
1318
  } else {
939
- option = {}
1319
+ option = {};
940
1320
  selectedWidget = {};
941
1321
  }
942
1322
 
@@ -950,20 +1330,16 @@ export default {
950
1330
  index: index,
951
1331
  columnEditFields: columnEditFields,
952
1332
  callback: (columnOption) => {
953
- this.confirmFormatConfigDialog(columnOption);
954
- }
955
- })
1333
+ this.confirmFormatConfigDialog(columnOption, row);
1334
+ },
1335
+ });
956
1336
  },
957
1337
  getFieldKeyNameByOptions(options) {
958
1338
  let o = options.name;
959
- return (
960
- (options.keyNameEnabled
961
- && options.keyName)
962
- || o
963
- );
1339
+ return (options.keyNameEnabled && options.keyName) || o;
964
1340
  },
965
- confirmFormatConfigDialog(columnOption) {
966
- let row = this.tableData[this.operateIndex];
1341
+ confirmFormatConfigDialog(columnOption, row) {
1342
+ // let row = this.tableData[this.operateIndex];
967
1343
  row.columnOption = columnOption;
968
1344
  let isButtontCell = this.getIsButtontCell(row.formatS);
969
1345
  if (!isButtontCell) {
@@ -981,7 +1357,7 @@ export default {
981
1357
  option = columnSelectedWidget.options;
982
1358
  selectedWidget = columnSelectedWidget;
983
1359
  } else {
984
- option = {}
1360
+ option = {};
985
1361
  selectedWidget = {};
986
1362
  }
987
1363
 
@@ -995,12 +1371,12 @@ export default {
995
1371
  index: index,
996
1372
  columnEditFields: columnEditFields,
997
1373
  callback: (columnOption) => {
998
- this.confirmEditFormatConfigDialog(columnOption);
999
- }
1000
- })
1374
+ this.confirmEditFormatConfigDialog(columnOption, row);
1375
+ },
1376
+ });
1001
1377
  },
1002
- confirmEditFormatConfigDialog(columnOption) {
1003
- let row = this.tableData[this.operateIndex];
1378
+ confirmEditFormatConfigDialog(columnOption, row) {
1379
+ // let row = this.tableData[this.operateIndex];
1004
1380
  row.editColumnOption = columnOption;
1005
1381
  /*row.prop = columnOption.name;
1006
1382
  row.label = columnOption.label;
@@ -1008,39 +1384,50 @@ export default {
1008
1384
  },
1009
1385
  openTableColumnConfigDialog(row, index) {
1010
1386
  this.operateIndex = index;
1387
+ this.currentTableColumn = row;
1011
1388
  let eventName = "tableColumnConfig";
1012
- let eventParams = ["dataId", "formCode"]
1013
- this.tableColumnConfigHeader = `${this.optionModel.name}.${eventName}(${eventParams.join(', ')}) {`;
1014
- this.tableColumnConfigCode = this.$baseLodash.cloneDeep(row.tableColumnConfig || '');
1389
+ let eventParams = ["dataId", "formCode"];
1390
+ this.tableColumnConfigHeader = `${
1391
+ this.optionModel.name
1392
+ }.${eventName}(${eventParams.join(", ")}) {`;
1393
+ this.tableColumnConfigCode = this.$baseLodash.cloneDeep(
1394
+ row.tableColumnConfig || ""
1395
+ );
1015
1396
 
1016
1397
  this.tableColumnConfigTitle = `自定义表格列属性配置(${row.label})`;
1017
1398
  this.showTableColumnConfigDialog = true;
1018
1399
  },
1019
1400
  saveTableColumnConfigDialog() {
1020
- let row = this.tableData[this.operateIndex];
1401
+ // let row = this.tableData[this.operateIndex];
1402
+ let row = this.currentTableColumn;
1021
1403
  const codeHints = this.$refs.ecEditor.getEditorAnnotations();
1022
1404
  let syntaxErrorFlag = false;
1023
1405
  if (!!codeHints && codeHints.length > 0) {
1024
- codeHints.forEach(chItem => {
1025
- if (chItem.type === 'error') {
1406
+ codeHints.forEach((chItem) => {
1407
+ if (chItem.type === "error") {
1026
1408
  syntaxErrorFlag = true;
1027
1409
  }
1028
1410
  });
1029
1411
 
1030
1412
  if (syntaxErrorFlag) {
1031
- this.$message.error(this.i18nt('designer.setting.syntaxCheckWarning'));
1413
+ this.$message.error(
1414
+ this.i18nt("designer.setting.syntaxCheckWarning")
1415
+ );
1032
1416
  return;
1033
1417
  }
1034
1418
  }
1035
- this.$set(row, 'tableColumnConfig', this.$baseLodash.cloneDeep(this.tableColumnConfigCode))
1419
+ this.$set(
1420
+ row,
1421
+ "tableColumnConfig",
1422
+ this.$baseLodash.cloneDeep(this.tableColumnConfigCode)
1423
+ );
1036
1424
  this.showTableColumnConfigDialog = false;
1037
-
1038
1425
  },
1039
- }
1040
- }
1426
+ },
1427
+ };
1041
1428
  </script>
1042
1429
  <style scoped lang="scss">
1043
1430
  .icon-drag:before {
1044
- content: '\e61d';
1431
+ content: "\e61d";
1045
1432
  }
1046
1433
  </style>