cloud-web-corejs 1.0.276 → 1.0.277

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 (305) hide show
  1. package/package.json +28 -24
  2. package/src/App.vue +73 -71
  3. package/src/api/user.js +21 -0
  4. package/src/components/baseArea/index.vue +82 -27
  5. package/src/components/baseTabs/mixins.js +5 -1
  6. package/src/components/luckysheet/dialog.vue +1 -1
  7. package/src/components/micro-view-host/contract.js +66 -0
  8. package/src/components/micro-view-host/index.vue +148 -0
  9. package/src/components/table/tableForm.vue +16 -5
  10. package/src/components/table/tableFormMixin.js +35 -7
  11. package/src/components/vb-tabs/x-tabs.vue +167 -143
  12. package/src/components/wf/content.vue +14 -0
  13. package/src/components/wf/content2.vue +4 -2
  14. package/src/components/wf/wf.js +74 -23
  15. package/src/components/wf/wfActionDropdown.vue +85 -0
  16. package/src/components/wf/wfActionItems.js +136 -0
  17. package/src/components/wf/wfAutoConfirm.js +55 -0
  18. package/src/components/wf/wfButtonName.js +60 -0
  19. package/src/components/wf/wfUserRange.js +53 -0
  20. package/src/components/wf/wfUtil.js +373 -295
  21. package/src/components/xform/XFormTabContainer//346/226/260/345/242/236/351/241/265/347/255/276/346/250/241/345/274/217-/346/234/200/347/273/210/345/256/236/347/216/260.md +195 -0
  22. package/src/components/xform/docs/2026-07 table/344/270/216excelExport/344/277/256/345/244/215/345/217/212/345/257/274/345/207/272/344/274/230/345/214/226.md" +57 -0
  23. package/src/components/xform/docs/2026-07 /346/216/222/346/237/245/344/277/256/345/244/215/350/256/260/345/275/225.md" +73 -0
  24. package/src/components/xform/docs/autocomplete /350/207/252/345/212/250/345/256/214/346/210/220/347/273/204/344/273/266/350/257/264/346/230/216.md" +126 -0
  25. package/src/components/xform/docs//345/257/271/346/257/224/345/212/237/350/203/275/350/220/275/345/234/260/346/226/271/346/241/210.md +986 -0
  26. package/src/components/xform/docs//346/225/260/346/215/256/350/241/250/346/240/274/345/212/250/346/200/201/345/210/227 JSON /350/257/264/346/230/216.md" +657 -0
  27. package/src/components/xform/docs//346/240/221/350/241/250rowField/346/224/266/346/225/233-/350/220/275/345/234/260/346/226/207/346/241/243.md +1427 -0
  28. package/src/components/xform/form-designer/designer.js +2085 -2025
  29. package/src/components/xform/form-designer/form-widget/container-widget/containerMixin.js +9 -11
  30. package/src/components/xform/form-designer/form-widget/container-widget/data-table-mixin.js +76 -75
  31. package/src/components/xform/form-designer/form-widget/container-widget/data-table-widget.vue +10 -4
  32. package/src/components/xform/form-designer/form-widget/container-widget/detail-plain-widget.vue +76 -0
  33. package/src/components/xform/form-designer/form-widget/container-widget/detail-widget.vue +59 -5
  34. package/src/components/xform/form-designer/form-widget/dialog/fileReferenceDialog.vue +38 -17
  35. package/src/components/xform/form-designer/form-widget/dialog/formDialog.vue +138 -13
  36. package/src/components/xform/form-designer/form-widget/dialog/formFieldDialog.vue +1 -1
  37. package/src/components/xform/form-designer/form-widget/dialog/importDialogMixin.js +1774 -1772
  38. package/src/components/xform/form-designer/form-widget/dialog/searchFormDialog.vue +2 -3
  39. package/src/components/xform/form-designer/form-widget/dialog/vabSearchDialog.vue +1 -1
  40. package/src/components/xform/form-designer/form-widget/field-widget/a-link-widget.vue +66 -53
  41. package/src/components/xform/form-designer/form-widget/field-widget/baseAttachment-widget.vue +287 -214
  42. package/src/components/xform/form-designer/form-widget/field-widget/button-widget.vue +76 -66
  43. package/src/components/xform/form-designer/form-widget/field-widget/cascader-widget.vue +208 -124
  44. package/src/components/xform/form-designer/form-widget/field-widget/census-widget.vue +3 -9
  45. package/src/components/xform/form-designer/form-widget/field-widget/copy_button-widget.vue +11 -2
  46. package/src/components/xform/form-designer/form-widget/field-widget/date-range-widget.vue +7 -6
  47. package/src/components/xform/form-designer/form-widget/field-widget/date-widget.vue +43 -19
  48. package/src/components/xform/form-designer/form-widget/field-widget/fieldMixin.js +680 -372
  49. package/src/components/xform/form-designer/form-widget/field-widget/form-item-wrapper.vue +879 -763
  50. package/src/components/xform/form-designer/form-widget/field-widget/mixins/date-limit-mixin.js +17 -2
  51. package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-bar-mixin.js +3 -9
  52. package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-category-mixin.js +3 -9
  53. package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-pie-mixin.js +3 -9
  54. package/src/components/xform/form-designer/form-widget/field-widget/mixins/relative-default-mixin.js +107 -0
  55. package/src/components/xform/form-designer/form-widget/field-widget/mixins/relativeDateUtil.js +321 -0
  56. package/src/components/xform/form-designer/form-widget/field-widget/mixins/time-limit-mixin.js +77 -0
  57. package/src/components/xform/form-designer/form-widget/field-widget/mixins/vabsearch-mixin.js +13 -0
  58. package/src/components/xform/form-designer/form-widget/field-widget/number-widget.vue +13 -8
  59. package/src/components/xform/form-designer/form-widget/field-widget/project-tag-widget.vue +4 -9
  60. package/src/components/xform/form-designer/form-widget/field-widget/save_submit_wf_button-widget.vue +3 -0
  61. package/src/components/xform/form-designer/form-widget/field-widget/select-export-item-button-widget.vue +120 -120
  62. package/src/components/xform/form-designer/form-widget/field-widget/static-content-wrapper.vue +4 -0
  63. package/src/components/xform/form-designer/form-widget/field-widget/status-widget.vue +11 -0
  64. package/src/components/xform/form-designer/form-widget/field-widget/switch-widget.vue +9 -1
  65. package/src/components/xform/form-designer/form-widget/field-widget/tempStorage-widget.vue +1 -1
  66. package/src/components/xform/form-designer/form-widget/field-widget/text-widget.vue +7 -3
  67. package/src/components/xform/form-designer/form-widget/field-widget/time-range-widget.vue +4 -2
  68. package/src/components/xform/form-designer/form-widget/field-widget/time-widget.vue +36 -5
  69. package/src/components/xform/form-designer/form-widget/field-widget/vabUpload-widget.vue +338 -374
  70. package/src/components/xform/form-designer/form-widget/index.vue +6 -1
  71. package/src/components/xform/form-designer/form-widget/indexMixin.js +29 -25
  72. package/src/components/xform/form-designer/index.vue +194 -191
  73. package/src/components/xform/form-designer/indexMixin.js +860 -847
  74. package/src/components/xform/form-designer/setting-panel/dataSource-setting.vue +397 -397
  75. package/src/components/xform/form-designer/setting-panel/form-dynamicField-setting.vue +602 -601
  76. package/src/components/xform/form-designer/setting-panel/form-setting.vue +1790 -1483
  77. package/src/components/xform/form-designer/setting-panel/index.vue +2 -7
  78. package/src/components/xform/form-designer/setting-panel/indexMixin.js +370 -335
  79. package/src/components/xform/form-designer/setting-panel/option-items-setting.vue +585 -544
  80. package/src/components/xform/form-designer/setting-panel/property-editor/a-link-editor.vue +1 -1
  81. package/src/components/xform/form-designer/setting-panel/property-editor/a-text-editor.vue +1 -1
  82. package/src/components/xform/form-designer/setting-panel/property-editor/alignType-editor.vue +1 -1
  83. package/src/components/xform/form-designer/setting-panel/property-editor/buttonIcon-editor.vue +14 -15
  84. package/src/components/xform/form-designer/setting-panel/property-editor/censusClass-editor.vue +1 -1
  85. package/src/components/xform/form-designer/setting-panel/property-editor/colorClass-editor.vue +1 -1
  86. package/src/components/xform/form-designer/setting-panel/property-editor/commonAttributeEnabled-editor.vue +3 -3
  87. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/columnRenderDialog.vue +124 -125
  88. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +1151 -957
  89. package/src/components/xform/form-designer/setting-panel/property-editor/container-detail/detail-editor.vue +96 -74
  90. package/src/components/xform/form-designer/setting-panel/property-editor/container-detail-plain/detail-plain-editor.vue +75 -0
  91. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid/colHeight-editor.vue +1 -1
  92. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid/gutter-editor.vue +14 -13
  93. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid-col/grid-col-height-editor.vue +1 -1
  94. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid-col/grid-col-offset-editor.vue +1 -1
  95. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid-col/grid-col-pull-editor.vue +1 -1
  96. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid-col/grid-col-push-editor.vue +1 -1
  97. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid-col/grid-col-span-editor.vue +4 -4
  98. package/src/components/xform/form-designer/setting-panel/property-editor/container-h5-card/h5-card-editor.vue +124 -124
  99. package/src/components/xform/form-designer/setting-panel/property-editor/container-list-h5/list-h5-editor.vue +26 -31
  100. package/src/components/xform/form-designer/setting-panel/property-editor/container-panel/height-editor.vue +1 -1
  101. package/src/components/xform/form-designer/setting-panel/property-editor/container-panel/width-editor.vue +1 -1
  102. package/src/components/xform/form-designer/setting-panel/property-editor/container-tab/tab-customClass-editor.vue +119 -119
  103. package/src/components/xform/form-designer/setting-panel/property-editor/container-tab/tabClass-editor.vue +45 -45
  104. package/src/components/xform/form-designer/setting-panel/property-editor/container-table/table-dynamicField-editor.vue +340 -342
  105. package/src/components/xform/form-designer/setting-panel/property-editor/container-table-cell/cellHeight-editor.vue +1 -1
  106. package/src/components/xform/form-designer/setting-panel/property-editor/container-table-cell/cellWidth-editor.vue +1 -1
  107. package/src/components/xform/form-designer/setting-panel/property-editor/container-tree/tree-customClass-editor.vue +2 -2
  108. package/src/components/xform/form-designer/setting-panel/property-editor/container-tree-pane/tree-pane-editor.vue +1 -1
  109. package/src/components/xform/form-designer/setting-panel/property-editor/container-vf-dialog/cancelButtonLabel-editor.vue +1 -1
  110. package/src/components/xform/form-designer/setting-panel/property-editor/container-vf-dialog/okButtonLabel-editor.vue +1 -1
  111. package/src/components/xform/form-designer/setting-panel/property-editor/container-vf-dialog/title-editor.vue +1 -1
  112. package/src/components/xform/form-designer/setting-panel/property-editor/container-vf-dialog/width-editor.vue +1 -1
  113. package/src/components/xform/form-designer/setting-panel/property-editor/containerClass-editor.vue +1 -1
  114. package/src/components/xform/form-designer/setting-panel/property-editor/customClass-editor.vue +1 -1
  115. package/src/components/xform/form-designer/setting-panel/property-editor/defaultValue-editor.vue +1 -1
  116. package/src/components/xform/form-designer/setting-panel/property-editor/descriptionsItems-editor.vue +4 -4
  117. package/src/components/xform/form-designer/setting-panel/property-editor/downloadButtonFlag-editor.vue +3 -3
  118. package/src/components/xform/form-designer/setting-panel/property-editor/dropdownFlag-editor.vue +6 -2
  119. package/src/components/xform/form-designer/setting-panel/property-editor/dsName-editor.vue +1 -1
  120. package/src/components/xform/form-designer/setting-panel/property-editor/echartHeight-editor.vue +1 -1
  121. package/src/components/xform/form-designer/setting-panel/property-editor/endPlaceholder-editor.vue +1 -1
  122. package/src/components/xform/form-designer/setting-panel/property-editor/field-accessUrl/accessUrl-editor.vue +2 -2
  123. package/src/components/xform/form-designer/setting-panel/property-editor/field-area-select/areaDataType-editor.vue +1 -1
  124. package/src/components/xform/form-designer/setting-panel/property-editor/field-area-select/areaMinLevel-editor.vue +50 -50
  125. package/src/components/xform/form-designer/setting-panel/property-editor/field-area-select/areaName-editor.vue +1 -1
  126. package/src/components/xform/form-designer/setting-panel/property-editor/field-autocomplete/autocomplete-vabSearchName-editor.vue +7 -7
  127. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/addTableData-event-editor.vue +84 -85
  128. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/button-type-editor.vue +1 -1
  129. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/clickBindActions.js +262 -0
  130. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/clickBindEvent-editor.vue +97 -88
  131. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/form-host-event-editor.vue +188 -0
  132. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/icon-editor.vue +14 -15
  133. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/search-dialog-event-editor.vue +27 -10
  134. package/src/components/xform/form-designer/setting-panel/property-editor/field-cascader/checkStrictly-editor.vue +11 -13
  135. package/src/components/xform/form-designer/setting-panel/property-editor/field-common/keyName-editor.vue +74 -67
  136. package/src/components/xform/form-designer/setting-panel/property-editor/field-date/date-dateLimit-editor.vue +27 -5
  137. package/src/components/xform/form-designer/setting-panel/property-editor/field-date/date-defaultValue-editor.vue +35 -18
  138. package/src/components/xform/form-designer/setting-panel/property-editor/field-date/date-format-editor.vue +1 -1
  139. package/src/components/xform/form-designer/setting-panel/property-editor/field-date/date-type-editor.vue +1 -1
  140. package/src/components/xform/form-designer/setting-panel/property-editor/field-date/date-valueFormat-editor.vue +1 -1
  141. package/src/components/xform/form-designer/setting-panel/property-editor/field-date-range/date-range-defaultTime-editor.vue +1 -1
  142. package/src/components/xform/form-designer/setting-panel/property-editor/field-date-range/date-range-defaultValue-editor.vue +35 -18
  143. package/src/components/xform/form-designer/setting-panel/property-editor/field-date-range/date-range-format-editor.vue +1 -1
  144. package/src/components/xform/form-designer/setting-panel/property-editor/field-date-range/date-range-type-editor.vue +1 -1
  145. package/src/components/xform/form-designer/setting-panel/property-editor/field-date-range/date-range-valueFormat-editor.vue +1 -1
  146. package/src/components/xform/form-designer/setting-panel/property-editor/field-divider/contentPosition-editor.vue +1 -1
  147. package/src/components/xform/form-designer/setting-panel/property-editor/field-dropdown-menu/dropdown-menu-editor.vue +59 -59
  148. package/src/components/xform/form-designer/setting-panel/property-editor/field-echart/echart-bar-editor.vue +11 -11
  149. package/src/components/xform/form-designer/setting-panel/property-editor/field-echart/echart-category-editor.vue +10 -10
  150. package/src/components/xform/form-designer/setting-panel/property-editor/field-echart/echart-pie-editor.vue +12 -12
  151. package/src/components/xform/form-designer/setting-panel/property-editor/field-file-upload/file-upload-fileTypes-editor.vue +44 -44
  152. package/src/components/xform/form-designer/setting-panel/property-editor/field-html-text/htmlContent-editor.vue +29 -29
  153. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import-button-editor.vue +6 -6
  154. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import2-button-editor.vue +4 -4
  155. package/src/components/xform/form-designer/setting-panel/property-editor/field-number/controlsPosition-editor.vue +1 -1
  156. package/src/components/xform/form-designer/setting-panel/property-editor/field-picture-upload/picture-upload-fileTypes-editor.vue +44 -44
  157. package/src/components/xform/form-designer/setting-panel/property-editor/field-print-button/print-button-editor.vue +115 -115
  158. package/src/components/xform/form-designer/setting-panel/property-editor/field-print-button/print-detail-button-editor.vue +115 -115
  159. package/src/components/xform/form-designer/setting-panel/property-editor/field-rate/highThreshold-editor.vue +1 -1
  160. package/src/components/xform/form-designer/setting-panel/property-editor/field-rate/lowThreshold-editor.vue +1 -1
  161. package/src/components/xform/form-designer/setting-panel/property-editor/field-rate/rate-defaultValue-editor.vue +1 -1
  162. package/src/components/xform/form-designer/setting-panel/property-editor/field-rate/rate-max-editor.vue +1 -1
  163. package/src/components/xform/form-designer/setting-panel/property-editor/field-script/script-editor.vue +4 -4
  164. package/src/components/xform/form-designer/setting-panel/property-editor/field-script-input/script-input-editor.vue +4 -4
  165. package/src/components/xform/form-designer/setting-panel/property-editor/field-static-text/fontSize-editor.vue +1 -1
  166. package/src/components/xform/form-designer/setting-panel/property-editor/field-static-text/textContent-editor.vue +1 -1
  167. package/src/components/xform/form-designer/setting-panel/property-editor/field-status/field-status-editor.vue +3 -3
  168. package/src/components/xform/form-designer/setting-panel/property-editor/field-switch/activeText-editor.vue +1 -1
  169. package/src/components/xform/form-designer/setting-panel/property-editor/field-switch/inactiveText-editor.vue +1 -1
  170. package/src/components/xform/form-designer/setting-panel/property-editor/field-switch/switchWidth-editor.vue +1 -1
  171. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/select-export-button-editor.vue +2 -2
  172. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/select-export-item-button-editor.vue +74 -74
  173. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/table-export-button-editor.vue +3 -3
  174. package/src/components/xform/form-designer/setting-panel/property-editor/field-time/time-defaultValue-editor.vue +34 -18
  175. package/src/components/xform/form-designer/setting-panel/property-editor/field-time/time-format-editor.vue +1 -1
  176. package/src/components/xform/form-designer/setting-panel/property-editor/field-time/time-timeLimit-editor.vue +53 -0
  177. package/src/components/xform/form-designer/setting-panel/property-editor/field-time-range/time-range-defaultValue-editor.vue +35 -18
  178. package/src/components/xform/form-designer/setting-panel/property-editor/field-time-range/time-range-format-editor.vue +1 -1
  179. package/src/components/xform/form-designer/setting-panel/property-editor/field-vabSearch/vabSearchField-editor.vue +2 -2
  180. package/src/components/xform/form-designer/setting-panel/property-editor/field-vabSearch/vabSearchName-editor.vue +2 -2
  181. package/src/components/xform/form-designer/setting-panel/property-editor/field-vabUpload/field-vabUpload-editor.vue +1 -1
  182. package/src/components/xform/form-designer/setting-panel/property-editor/field-vabUpload2/field-vabUpload2-editor.vue +1 -1
  183. package/src/components/xform/form-designer/setting-panel/property-editor/field-vue-page/vue-page-editor.vue +2 -2
  184. package/src/components/xform/form-designer/setting-panel/property-editor/fileMaxSize-editor.vue +1 -1
  185. package/src/components/xform/form-designer/setting-panel/property-editor/fileTypesSelect.vue +176 -176
  186. package/src/components/xform/form-designer/setting-panel/property-editor/fixedQuery-editor.vue +39 -0
  187. package/src/components/xform/form-designer/setting-panel/property-editor/formScriptEnabled-editor.vue +41 -6
  188. package/src/components/xform/form-designer/setting-panel/property-editor/formatType-editor.vue +2 -2
  189. package/src/components/xform/form-designer/setting-panel/property-editor/formula-editor.vue +972 -972
  190. package/src/components/xform/form-designer/setting-panel/property-editor/iconClass-editor.vue +1 -1
  191. package/src/components/xform/form-designer/setting-panel/property-editor/label-editor.vue +1 -1
  192. package/src/components/xform/form-designer/setting-panel/property-editor/labelAlign-editor.vue +1 -1
  193. package/src/components/xform/form-designer/setting-panel/property-editor/labelColor-editor.vue +1 -1
  194. package/src/components/xform/form-designer/setting-panel/property-editor/labelIconPosition-editor.vue +1 -1
  195. package/src/components/xform/form-designer/setting-panel/property-editor/labelWidth-editor.vue +1 -1
  196. package/src/components/xform/form-designer/setting-panel/property-editor/limit-editor.vue +1 -1
  197. package/src/components/xform/form-designer/setting-panel/property-editor/max-editor.vue +1 -1
  198. package/src/components/xform/form-designer/setting-panel/property-editor/maxLength-editor.vue +1 -1
  199. package/src/components/xform/form-designer/setting-panel/property-editor/min-editor.vue +1 -1
  200. package/src/components/xform/form-designer/setting-panel/property-editor/minLength-editor.vue +1 -1
  201. package/src/components/xform/form-designer/setting-panel/property-editor/multipleLimit-editor.vue +1 -1
  202. package/src/components/xform/form-designer/setting-panel/property-editor/name-editor.vue +15 -4
  203. package/src/components/xform/form-designer/setting-panel/property-editor/oplog-editor.vue +3 -3
  204. package/src/components/xform/form-designer/setting-panel/property-editor/placeholder-editor.vue +1 -1
  205. package/src/components/xform/form-designer/setting-panel/property-editor/precision-editor.vue +1 -1
  206. package/src/components/xform/form-designer/setting-panel/property-editor/prefixIcon-editor.vue +14 -15
  207. package/src/components/xform/form-designer/setting-panel/property-editor/project-tag-editor.vue +6 -6
  208. package/src/components/xform/form-designer/setting-panel/property-editor/relative-default-block.vue +369 -0
  209. package/src/components/xform/form-designer/setting-panel/property-editor/requiredHint-editor.vue +1 -1
  210. package/src/components/xform/form-designer/setting-panel/property-editor/rows-editor.vue +1 -1
  211. package/src/components/xform/form-designer/setting-panel/property-editor/space-editor-editor.vue +1 -1
  212. package/src/components/xform/form-designer/setting-panel/property-editor/startPlaceholder-editor.vue +1 -1
  213. package/src/components/xform/form-designer/setting-panel/property-editor/step-editor.vue +1 -1
  214. package/src/components/xform/form-designer/setting-panel/property-editor/styleTableClass-editor.vue +1 -1
  215. package/src/components/xform/form-designer/setting-panel/property-editor/styleTitClass-editor.vue +1 -1
  216. package/src/components/xform/form-designer/setting-panel/property-editor/suffixIcon-editor.vue +14 -15
  217. package/src/components/xform/form-designer/setting-panel/property-editor/tempStorage-editor.vue +1 -1
  218. package/src/components/xform/form-designer/setting-panel/property-editor/textFlag-editor.vue +2 -3
  219. package/src/components/xform/form-designer/setting-panel/property-editor/type-editor.vue +1 -1
  220. package/src/components/xform/form-designer/setting-panel/property-editor/uploadTip-editor.vue +1 -1
  221. package/src/components/xform/form-designer/setting-panel/property-editor/uploadURL-editor.vue +1 -1
  222. package/src/components/xform/form-designer/setting-panel/property-editor/urlValueEnabled-editor.vue +91 -0
  223. package/src/components/xform/form-designer/setting-panel/property-editor/validation-editor.vue +1 -1
  224. package/src/components/xform/form-designer/setting-panel/property-editor/validationHint-editor.vue +1 -1
  225. package/src/components/xform/form-designer/setting-panel/property-editor/widgetWidth-editor.vue +1 -1
  226. package/src/components/xform/form-designer/setting-panel/propertyRegister.js +374 -351
  227. package/src/components/xform/form-designer/toolbar-panel/index.vue +266 -103
  228. package/src/components/xform/form-designer/toolbar-panel/indexMixin.js +655 -589
  229. package/src/components/xform/form-designer/widget-panel/index.vue +391 -341
  230. package/src/components/xform/form-designer/widget-panel/indexMixin.js +351 -308
  231. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +4642 -4028
  232. package/src/components/xform/form-render/container-item/containerItemMixin.js +76 -61
  233. package/src/components/xform/form-render/container-item/data-table-item.vue +24 -13
  234. package/src/components/xform/form-render/container-item/data-table-mixin.js +5927 -3400
  235. package/src/components/xform/form-render/container-item/detail-h5-item.vue +173 -173
  236. package/src/components/xform/form-render/container-item/detail-item.vue +446 -224
  237. package/src/components/xform/form-render/container-item/detail-plain-item.vue +92 -0
  238. package/src/components/xform/form-render/container-item/list-h5-item.vue +1186 -411
  239. package/src/components/xform/form-render/container-item/tab-item.vue +129 -125
  240. package/src/components/xform/form-render/container-item/table-item.vue +0 -3
  241. package/src/components/xform/form-render/container-item/table2-item.vue +18 -10
  242. package/src/components/xform/form-render/dynamicDialogRender.js +140 -99
  243. package/src/components/xform/form-render/index.vue +8 -8
  244. package/src/components/xform/form-render/indexMixin.js +5299 -3766
  245. package/src/components/xform/form-render/refMixin.js +14 -11
  246. package/src/components/xform/lang/en-US.js +473 -438
  247. package/src/components/xform/lang/en-US_extension.js +4 -0
  248. package/src/components/xform/lang/zh-CN.js +646 -620
  249. package/src/components/xform/mixins/defaultHandle.js +363 -26
  250. package/src/components/xform/mixins/scriptHttp.js +54 -51
  251. package/src/components/xform/utils/attachmentValueUtil.js +239 -0
  252. package/src/components/xform/utils/fixedQueryUtil.js +93 -0
  253. package/src/components/xform/utils/format.js +195 -169
  254. package/src/components/xform/utils/queryParamUtil.js +84 -0
  255. package/src/components/xform/utils/tableColumnHelper.js +7 -8
  256. package/src/components/xform/utils/util.js +1663 -1551
  257. package/src/components/xform/utils/validators.js +100 -48
  258. package/src/index.js +403 -89
  259. package/src/layout/components/AppMain.vue +147 -119
  260. package/src/layout/components/Sidebar/default.vue +109 -59
  261. package/src/layout/components/TagsView/index.vue +1 -1
  262. package/src/layout/components/extractedCode/queryDialog.vue +33 -26
  263. package/src/layout/components/extractedCode/viewDialog.vue +207 -193
  264. package/src/layout/components/langTool.vue +128 -123
  265. package/src/layout/defaultLayout.vue +170 -158
  266. package/src/mixins/wf/index.js +40 -38
  267. package/src/public-path.js +38 -0
  268. package/src/router/modules/system.js +4 -0
  269. package/src/store/config/index.js +945 -669
  270. package/src/utils/pdfUtil.js +428 -70
  271. package/src/views/bd/setting/bd_company_env/dialog.vue +1 -1
  272. package/src/views/bd/setting/formVersion/button.vue +5 -0
  273. package/src/views/bd/setting/formVersion/ftHistoryDialog.vue +21 -10
  274. package/src/views/bd/setting/formVersion/link.vue +5 -0
  275. package/src/views/bd/setting/form_script/edit.vue +1 -0
  276. package/src/views/bd/setting/form_script/edit1.vue +1 -0
  277. package/src/views/bd/setting/form_script/form_list.vue +1 -0
  278. package/src/views/bd/setting/form_script/list.vue +1 -0
  279. package/src/views/bd/setting/form_script/list1.vue +2 -0
  280. package/src/views/bd/setting/form_template/edit.vue +1 -0
  281. package/src/views/bd/setting/form_template/list.vue +2 -0
  282. package/src/views/bd/setting/form_template/mixins/edit.js +77 -74
  283. package/src/views/bd/setting/table_model/edit.vue +16 -29
  284. package/src/views/bd/setting/table_model/list.vue +1 -0
  285. package/src/views/bd/setting/table_model/mixins/edit.js +295 -149
  286. package/src/views/bd/setting/table_model/mixins/zdDialog.js +32 -0
  287. package/src/views/support/export_template/list.vue +1 -1
  288. package/src/views/user/company_info/edit.vue +149 -88
  289. package/src/views/user/form/form_template/dialog.vue +1 -1
  290. package/src/views/user/form/form_template/itemList.vue +1 -1
  291. package/src/views/user/form/form_template/list.vue +1 -1
  292. package/src/views/user/form/form_template_field/dialog.vue +1 -1
  293. package/src/views/user/form/form_type/dialog.vue +1 -1
  294. package/src/views/user/form/form_type/list.vue +1 -1
  295. package/src/views/user/form/report_requestaccess/dialog.vue +1 -1
  296. package/src/views/user/form/report_requestaccess/list.vue +1 -1
  297. package/src/views/user/form/vform/designer.vue +51 -22
  298. package/src/views/user/form/vform/render.vue +21 -23
  299. package/src/views/user/form/view/list.vue +134 -37
  300. package/src/views/user/wf/wfReport/index.vue +24 -1
  301. package/src/views/user/wf/wf_manage/list.vue +8 -4
  302. package/src/components/xform/form-designer/form-widget/dialog/formDrawer.vue +0 -209
  303. package/src/components/xform/form-designer/form-widget/dialog/importDialogMixin - /345/211/257/346/234/254.js" +0 -1639
  304. package/src/views/bd/setting/table_model/mixins/edit copy.js +0 -903
  305. package/src/views/user/menu/voc_list.vue +0 -686
@@ -1,295 +1,373 @@
1
- import Vue from 'vue';
2
- import settingConfig from '@/settings.js'
3
- import { scrollIntoScrollParent } from '@base/utils/scrollUtil';
4
-
5
- let f;
6
- let configUtil = {
7
- getWfObj(path) {
8
- return require(`../../components/wf${path}`).default;
9
- },
10
- Vue,
11
- settingConfig
12
- };
13
-
14
- f = async function (option) {
15
- let serviceId = getServiceId(option.serviceId);
16
- if (!serviceId) return;
17
- let that = this;
18
- if (option.objId && option.wfCode) {
19
- /*
20
- if (option.wfViewRegion === false || !wfViewRegion) {
21
- return;
22
- }*/
23
-
24
- let hasWf = false;
25
- let wfInfo, currentTask, taskParam;
26
- await initWfInfo(that, option).then(res => {
27
- if (res && res.type == 'success') {
28
- if (res.objx && res.objx.procInstId) {
29
- hasWf = true;
30
- wfInfo = res.objx;
31
- }
32
- }
33
- });
34
-
35
- if (hasWf) {
36
- if (wfInfo.taskId) {
37
- await getTaskParams(that, option, wfInfo.taskId).then(res2 => {
38
- if (res2.type == 'success') {
39
- taskParam = res2.objx;
40
- taskParam.objId = option.objId;
41
- }
42
- });
43
- }
44
- }
45
-
46
- let done = () => {
47
- let $wfBtnRegion = that.$refs[option.wfBtnRegion || "wfBtnRegion"];
48
- let $wfViewRegion = that.$refs[(option.wfViewRegion || "wfViewRegion")];
49
-
50
- let wfBtnRegion = $wfBtnRegion ? $wfBtnRegion.$el : that.$el.querySelector(
51
- ".el-form .d-header >.fr");
52
- let wfViewRegion = $wfViewRegion ? $wfViewRegion.$el : that.$el.querySelector(
53
- ".el-form .d-cont");
54
-
55
- let slideWrap = $wfViewRegion ? $wfViewRegion.$el : that.$el.querySelector(
56
- ".el-form .slide-wrap");
57
-
58
- let showStartBtn = option.showStartBtn != null ? option.showStartBtn : true;
59
- let showModifyBtn = option.showModifyBtn != null ? option.showModifyBtn : true;
60
-
61
- if (wfInfo) {
62
- let wfModel = configUtil.settingConfig.wfModel || 1;
63
- let url = wfModel == 2 ? '/content2.vue' : '/content.vue';
64
- let a = configUtil.Vue.extend(configUtil.getWfObj(url));
65
- let defaultShowWfContent = that.$attrs.defaultShowWfContent;
66
- let instance = new a({
67
- i18n: that._i18n,
68
- propsData: {
69
- objId: option.objId,
70
- wfCode: option.wfCode,
71
- serviceId: serviceId,
72
- _wfInfo: wfInfo,
73
- _taskParam: taskParam,
74
- parentVue: that,
75
- defaultShowWfContent: defaultShowWfContent,
76
- wfConfig: option
77
- }
78
- });
79
- let _hideWf = that._hideWf || that.$attrs._hideWf;
80
- let isHideWf = _hideWf === true || _hideWf === 'true';
81
- if (!_hideWf && slideWrap) {
82
- let navDom = new configUtil.Vue({
83
- render: function (h) {
84
- let node = h("div", {}, [
85
- h("a", {
86
- staticClass: "slide-nav",
87
- attrs: {
88
- id: "wfNavBtn"
89
- },
90
- on: {
91
- click: (event) => {
92
- instance.$children[0].handleFold(true);
93
- that.$nextTick(() => {
94
- //流程区是挂在 .d-cont 里滚的,直接 scrollIntoView 会把外层文档/宿主容器
95
- //一起滚起来(固定头被顶走、微前端下滚的是主应用),只在真正的滚动容器里滚。
96
- scrollIntoScrollParent(instance.$el);
97
- })
98
- }
99
- }
100
- }, [h('i', {
101
- staticClass: "ico"
102
- }), h("p", that.$t2('流程信息', 'components.wf.wfInfo'))])
103
- ]);
104
- return node;
105
- }
106
- }).$mount().$el;
107
- if (settingConfig.version == 'oa') {
108
- slideWrap = slideWrap.children[0];
109
- }
110
- setTimeout(() => {
111
- slideWrap.append(navDom);
112
- if (that.$attrs.toWfArea) {
113
- //待办进来,直接跳到流程模块
114
- this.$nextTick(() => {
115
- navDom.querySelector('a').click();
116
- });
117
- that.$emit("update:toWfArea", false);
118
- }
119
- }, 500);
120
- }
121
- wfViewRegion && wfViewRegion.append(instance.$mount().$el);
122
- }
123
-
124
- if (wfBtnRegion && showModifyBtn && hasWf && taskParam && taskParam.url && wfInfo.toSubmit && !option.hiddenAllButton) {
125
- let buttonName = getModifyButtonName(that, taskParam);
126
- let dom = new configUtil.Vue({
127
- render: function (h) {
128
- let modifyNode = h("el-button", {
129
- attrs: {
130
- type: "primary",
131
- plain: "",
132
- icon: "el-icon-edit"
133
- },
134
- staticClass: "button-sty",
135
- on: {
136
- click: () => {
137
- openWfModifyDialog(that, taskParam, buttonName, wfInfo);
138
- }
139
- }
140
- }, buttonName);
141
- return modifyNode;
142
- }
143
- }).$mount().$el;
144
- appendPrevChildDom(wfBtnRegion, dom);
145
- }
146
-
147
- if (wfBtnRegion && showStartBtn && option.injectStartBtn !== false && !hasWf && !option.hiddenAllButton) {
148
- let wfStartButtonName = configUtil.settingConfig.wfStartButtonName || this.$t2('流程启动', 'components.wf.wfStart');
149
- let dom = new configUtil.Vue({
150
- render: function (h) {
151
- let startNode = h("el-button", {
152
- attrs: {
153
- type: "success",
154
- icon: "el-icon-video-play"
155
- },
156
- staticClass: "button-sty",
157
- on: {
158
- click: () => {
159
- openStartWfDialog(that, option);
160
- }
161
- }
162
- }, wfStartButtonName);
163
- return startNode;
164
- }
165
- }).$mount().$el;
166
- appendPrevChildDom(wfBtnRegion, dom)
167
- }
168
- }
169
-
170
- if (true || wfInfo) {
171
- if (option.callback) {
172
- option.callback({
173
- wfInfo,
174
- currentTask,
175
- taskParam,
176
- hasWf,
177
- done
178
- });
179
- }
180
- }
181
- if (option.auto !== false) {
182
- done();
183
- }
184
- }
185
- }
186
-
187
- function getModifyButtonName(that, taskParam) {
188
- let buttonName = null;
189
- if (!taskParam.buttonName || taskParam.buttonName == "修改单据") {
190
- buttonName = that.$t2("修改单据", 'components.wf.modifyBill');
191
- } else {
192
- buttonName = taskParam.buttonName;
193
- }
194
- return buttonName;
195
- }
196
-
197
- function getServiceId(str) {
198
- let serviceId;
199
- if (str) {
200
- let strArr = str.split('/');
201
- serviceId = strArr[0] == '/' ? strArr[1] : str;
202
- } else {
203
- serviceId = '';
204
- }
205
- return serviceId;
206
- }
207
-
208
- function getCurrentPrefix(serviceId) {
209
- let currentPrefix;
210
- if (serviceId) {
211
- currentPrefix = serviceId.split('/')[0] == '/' ? serviceId : ('/' + serviceId);
212
- } else {
213
- currentPrefix = '';
214
- }
215
- return currentPrefix;
216
- }
217
-
218
- async function initWfInfo(that, option) {
219
- let id = option.objId;
220
- let code = option.wfCode;
221
- return that.$http({
222
- url: getCurrentPrefix(option.serviceId) + '/wf/getWfInfo',
223
- method: `post`,
224
- data: {
225
- objTypeCode: code,
226
- objId: id
227
- },
228
- isLoading: true,
229
- modalStrictly: true
230
- });
231
- }
232
-
233
- async function getTaskParams(that, option, taskId) {
234
- return that.$http({
235
- url: getCurrentPrefix(option.serviceId) + '/wf/getTaskVariables',
236
- method: `post`,
237
- data: {
238
- stringOne: taskId
239
- },
240
- isLoading: true,
241
- modalStrictly: true
242
- });
243
- }
244
-
245
- function openStartWfDialog(that, option) {
246
- let done = () => {
247
- let a = configUtil.Vue.extend(configUtil.getWfObj('/wfStartDialog.vue'));
248
- let instance = new a({
249
- i18n: that._i18n,
250
- propsData: {
251
- code: option.wfCode,
252
- dataId: option.objId,
253
- serviceId: getServiceId(option.serviceId),
254
- startParam: option.startParam,
255
- parentVue: that,
256
- visible: true,
257
- formCode:(option.formCode || null),
258
- option
259
- }
260
- });
261
- document.body.append(instance.$mount().$el)
262
- }
263
- if (option.onStart) {
264
- option.onStart(done)
265
- } else {
266
- done();
267
- }
268
- }
269
-
270
- function openWfModifyDialog(that, paramData, title, wfInfo) {
271
- let a = configUtil.Vue.extend(configUtil.getWfObj('/wfModifyDialog.vue'));
272
- let instance = new a({
273
- i18n: that._i18n,
274
- propsData: {
275
- paramData: paramData,
276
- parentVue: that,
277
- visible: true,
278
- wfInfo: wfInfo,
279
- title: title
280
- }
281
- });
282
- document.body.append(instance.$mount().$el)
283
- }
284
-
285
- function appendPrevChildDom(parentDom, newDom) {
286
- if (parentDom.hasChildNodes()) {
287
- let currentDom = parentDom.children[0];
288
- parentDom.insertBefore(newDom, currentDom);
289
- } else {
290
- parentDom.append(newDom);
291
- }
292
- }
293
-
294
- export const initWf = f;
295
- export { openStartWfDialog };
1
+ import Vue from 'vue';
2
+ import settingConfig from '@/settings.js'
3
+ import { scrollIntoScrollParent } from '@base/utils/scrollUtil';
4
+
5
+ let f;
6
+ let configUtil = {
7
+ getWfObj(path) {
8
+ return require(`../../components/wf${path}`).default;
9
+ },
10
+ Vue,
11
+ settingConfig
12
+ };
13
+
14
+ f = async function (option) {
15
+ let serviceId = getServiceId(option.serviceId);
16
+ if (!serviceId) return;
17
+ let that = this;
18
+ if (option.objId && option.wfCode) {
19
+ /*
20
+ if (option.wfViewRegion === false || !wfViewRegion) {
21
+ return;
22
+ }*/
23
+
24
+ let hasWf = false;
25
+ let wfInfo, currentTask, taskParam;
26
+ await initWfInfo(that, option).then(res => {
27
+ if (res && res.type == 'success') {
28
+ if (res.objx && res.objx.procInstId) {
29
+ hasWf = true;
30
+ wfInfo = res.objx;
31
+ }
32
+ }
33
+ });
34
+
35
+ if (hasWf) {
36
+ if (wfInfo.taskId) {
37
+ await getTaskParams(that, option, wfInfo.taskId).then(res2 => {
38
+ if (res2.type == 'success') {
39
+ taskParam = res2.objx;
40
+ taskParam.objId = option.objId;
41
+ }
42
+ });
43
+ }
44
+ }
45
+
46
+ /* 下面这些实例都是手工 new 出来、只把 $el 塞进宿主 DOM 的,Vue 不会跟着宿主一起销毁它们:
47
+ 实例活着 watcher 活着、propsData.parentVue 死死引用已销毁的宿主、
48
+ content.vue 里的 $http 回调/定时器还会回来调宿主方法,
49
+ 它内部那些 append-to-body 的 popover/dialog 的 DOM 也没人收。
50
+ 页签模式下详情会被反复重挂载,一次一份,所以统一登记、挂到宿主的销毁钩子上回收。 */
51
+ let instances = [];
52
+ let disposed = false;
53
+ let registerDispose = () => {
54
+ if (!instances.length || !that.$once) return;
55
+ that.$once("hook:beforeDestroy", () => {
56
+ disposed = true;
57
+ instances.forEach((vm) => {
58
+ try {
59
+ vm.$destroy(); //会级联销毁子组件,append-to-body 的那些 el 由它们自己的 destroyed 摘掉
60
+ //$destroy 不管 DOM,自己收一下(宿主子树里的那份本来也会被父级移除)
61
+ if (vm.$el && vm.$el.parentNode) vm.$el.parentNode.removeChild(vm.$el);
62
+ } catch (e) {
63
+ //拆的时候出问题不要拖累宿主销毁
64
+ }
65
+ });
66
+ instances.length = 0;
67
+ });
68
+ };
69
+
70
+ let done = () => {
71
+ let $wfBtnRegion = that.$refs[option.wfBtnRegion || "wfBtnRegion"];
72
+ let $wfViewRegion = that.$refs[(option.wfViewRegion || "wfViewRegion")];
73
+
74
+ let wfBtnRegion = $wfBtnRegion ? $wfBtnRegion.$el : that.$el.querySelector(
75
+ ".el-form .d-header >.fr");
76
+ let wfViewRegion = $wfViewRegion ? $wfViewRegion.$el : that.$el.querySelector(
77
+ ".el-form .d-cont");
78
+
79
+ let slideWrap = $wfViewRegion ? $wfViewRegion.$el : that.$el.querySelector(
80
+ ".el-form .slide-wrap");
81
+
82
+ let showStartBtn = option.showStartBtn != null ? option.showStartBtn : true;
83
+ let showModifyBtn = option.showModifyBtn != null ? option.showModifyBtn : true;
84
+ let contentInstance = null; //流程面板实例,标题栏下拉要点它的方法
85
+ //宿主声明「不挂流程信息面板」:面板整棵 v-if 掉,标题栏那份审批入口也不能挂
86
+ let _hideWf = that._hideWf || that.$attrs._hideWf;
87
+ let isHideWf = _hideWf === true || _hideWf === 'true';
88
+
89
+ if (wfInfo) {
90
+ let wfModel = configUtil.settingConfig.wfModel || 1;
91
+ let url = wfModel == 2 ? '/content2.vue' : '/content.vue';
92
+ let a = configUtil.Vue.extend(configUtil.getWfObj(url));
93
+ let defaultShowWfContent = that.$attrs.defaultShowWfContent;
94
+ let instance = new a({
95
+ i18n: that._i18n,
96
+ propsData: {
97
+ objId: option.objId,
98
+ wfCode: option.wfCode,
99
+ serviceId: serviceId,
100
+ _wfInfo: wfInfo,
101
+ _taskParam: taskParam,
102
+ parentVue: that,
103
+ defaultShowWfContent: defaultShowWfContent,
104
+ wfConfig: option
105
+ }
106
+ });
107
+ instances.push(instance);
108
+ contentInstance = instance;
109
+ if (!_hideWf && slideWrap) {
110
+ let navVm = new configUtil.Vue({
111
+ render: function (h) {
112
+ let node = h("div", {}, [
113
+ h("a", {
114
+ staticClass: "slide-nav",
115
+ attrs: {
116
+ id: "wfNavBtn"
117
+ },
118
+ on: {
119
+ click: (event) => {
120
+ instance.$children[0].handleFold(true);
121
+ that.$nextTick(() => {
122
+ //流程区是挂在 .d-cont 里滚的,直接 scrollIntoView 会把外层文档/宿主容器
123
+ //一起滚起来(固定头被顶走、微前端下滚的是主应用),只在真正的滚动容器里滚。
124
+ scrollIntoScrollParent(instance.$el);
125
+ })
126
+ }
127
+ }
128
+ }, [h('i', {
129
+ staticClass: "ico"
130
+ }), h("p", that.$t2('流程信息', 'components.wf.wfInfo'))])
131
+ ]);
132
+ return node;
133
+ }
134
+ });
135
+ instances.push(navVm);
136
+ let navDom = navVm.$mount().$el;
137
+ if (settingConfig.version == 'oa') {
138
+ slideWrap = slideWrap.children[0];
139
+ }
140
+ setTimeout(() => {
141
+ if (disposed) return; //这一步延后了 500ms,期间宿主可能已经销毁
142
+ slideWrap.append(navDom);
143
+ if (that.$attrs.toWfArea) {
144
+ //待办进来,直接跳到流程模块
145
+ this.$nextTick(() => {
146
+ navDom.querySelector('a').click();
147
+ });
148
+ that.$emit("update:toWfArea", false);
149
+ }
150
+ }, 500);
151
+ }
152
+ wfViewRegion && wfViewRegion.append(instance.$mount().$el);
153
+ }
154
+
155
+ if (wfBtnRegion && showModifyBtn && hasWf && taskParam && taskParam.url && wfInfo.toSubmit && !option.hiddenAllButton) {
156
+ let buttonName = getModifyButtonName(that, taskParam);
157
+ let modifyVm = new configUtil.Vue({
158
+ render: function (h) {
159
+ let modifyNode = h("el-button", {
160
+ attrs: {
161
+ type: "primary",
162
+ plain: "",
163
+ icon: "el-icon-edit"
164
+ },
165
+ staticClass: "button-sty",
166
+ on: {
167
+ click: () => {
168
+ openWfModifyDialog(that, taskParam, buttonName, wfInfo);
169
+ }
170
+ }
171
+ }, buttonName);
172
+ return modifyNode;
173
+ }
174
+ });
175
+ instances.push(modifyVm);
176
+ appendPrevChildDom(wfBtnRegion, modifyVm.$mount().$el);
177
+ }
178
+
179
+ if (wfBtnRegion && showStartBtn && option.injectStartBtn !== false && !hasWf && !option.hiddenAllButton) {
180
+ let wfStartButtonName = configUtil.settingConfig.wfStartButtonName || this.$t2('流程启动', 'components.wf.wfStart');
181
+ let startVm = new configUtil.Vue({
182
+ render: function (h) {
183
+ let startNode = h("el-button", {
184
+ attrs: {
185
+ type: "success",
186
+ icon: "el-icon-video-play"
187
+ },
188
+ staticClass: "button-sty",
189
+ on: {
190
+ click: () => {
191
+ openStartWfDialog(that, option);
192
+ }
193
+ }
194
+ }, wfStartButtonName);
195
+ return startNode;
196
+ }
197
+ });
198
+ instances.push(startVm);
199
+ appendPrevChildDom(wfBtnRegion, startVm.$mount().$el)
200
+ }
201
+
202
+ /* 审批操作:开了 wfActionInHeaderEnabled 时,在详情模块标题栏再挂一份 —— 通过/驳回/撤回
203
+ 平铺成独立按钮,其余收进「更多」下拉(wfActionDropdown.vue)。挂上后把流程面板
204
+ headerActionsMounted 置 true,模块内原按钮条 v-show 藏掉(addOpinionBtn 还在,
205
+ 下拉里「补充意见」才能点开)。点击走流程面板实例上的同一套方法。
206
+ 放在「修改单据」「流程启动」之后挂——appendPrevChildDom 是前插,最后插的排最左,
207
+ 最终顺序:通过/驳回/撤回/更多 → 修改单据 → 内建/业务按钮。
208
+ hiddenAllButton / 素身详情(取不到 .fr) 自动跳过,那种情况模块按钮条继续留着。
209
+ _hideWf 也必须跳过:那种页面 content.vue 根节点 v-if 掉了,弹框根本没渲染出来,
210
+ 挂上去就是一排点了没反应的按钮(wfInfo 照样有值,光看 items 判断不出来)。 */
211
+ if (shouldMountHeaderActions({
212
+ option,
213
+ settingConfig: configUtil.settingConfig,
214
+ wfBtnRegion,
215
+ contentInstance,
216
+ isHideWf
217
+ })) {
218
+ let Dropdown = configUtil.Vue.extend(configUtil.getWfObj('/wfActionDropdown.vue'));
219
+ let dropdownVm = new Dropdown({
220
+ i18n: that._i18n,
221
+ propsData: { wfVm: contentInstance }
222
+ });
223
+ instances.push(dropdownVm);
224
+ appendPrevChildDom(wfBtnRegion, dropdownVm.$mount().$el);
225
+ contentInstance.headerActionsMounted = true;
226
+ }
227
+
228
+ registerDispose();
229
+ }
230
+
231
+ if (true || wfInfo) {
232
+ if (option.callback) {
233
+ option.callback({
234
+ wfInfo,
235
+ currentTask,
236
+ taskParam,
237
+ hasWf,
238
+ done
239
+ });
240
+ }
241
+ }
242
+ if (option.auto !== false) {
243
+ done();
244
+ }
245
+ }
246
+ }
247
+
248
+ /* 标题栏那份审批入口挂不挂。抽成函数是为了能单测——done() 整条链路要打 http、要真 DOM。
249
+ ctx: { option, settingConfig, wfBtnRegion, contentInstance, isHideWf } */
250
+ export function shouldMountHeaderActions(ctx) {
251
+ let option = (ctx && ctx.option) || {};
252
+ let settingConfig = (ctx && ctx.settingConfig) || {};
253
+ let actionInHeader = option.actionInHeader != null
254
+ ? option.actionInHeader
255
+ : settingConfig.wfActionInHeaderEnabled === true;
256
+ return !!(
257
+ actionInHeader
258
+ && ctx.wfBtnRegion //素身详情取不到 .d-header > .fr
259
+ && ctx.contentInstance //没流程面板就没方法可调
260
+ && !ctx.isHideWf //面板被 v-if 掉了,挂上去全是哑按钮
261
+ && !option.hiddenAllButton
262
+ );
263
+ }
264
+
265
+ function getModifyButtonName(that, taskParam) {
266
+ let buttonName = null;
267
+ if (!taskParam.buttonName || taskParam.buttonName == "修改单据") {
268
+ buttonName = that.$t2("修改单据", 'components.wf.modifyBill');
269
+ } else {
270
+ buttonName = taskParam.buttonName;
271
+ }
272
+ return buttonName;
273
+ }
274
+
275
+ function getServiceId(str) {
276
+ let serviceId;
277
+ if (str) {
278
+ let strArr = str.split('/');
279
+ serviceId = strArr[0] == '/' ? strArr[1] : str;
280
+ } else {
281
+ serviceId = '';
282
+ }
283
+ return serviceId;
284
+ }
285
+
286
+ function getCurrentPrefix(serviceId) {
287
+ let currentPrefix;
288
+ if (serviceId) {
289
+ currentPrefix = serviceId.split('/')[0] == '/' ? serviceId : ('/' + serviceId);
290
+ } else {
291
+ currentPrefix = '';
292
+ }
293
+ return currentPrefix;
294
+ }
295
+
296
+ async function initWfInfo(that, option) {
297
+ let id = option.objId;
298
+ let code = option.wfCode;
299
+ return that.$http({
300
+ url: getCurrentPrefix(option.serviceId) + '/wf/getWfInfo',
301
+ method: `post`,
302
+ data: {
303
+ objTypeCode: code,
304
+ objId: id
305
+ },
306
+ isLoading: true,
307
+ modalStrictly: true
308
+ });
309
+ }
310
+
311
+ async function getTaskParams(that, option, taskId) {
312
+ return that.$http({
313
+ url: getCurrentPrefix(option.serviceId) + '/wf/getTaskVariables',
314
+ method: `post`,
315
+ data: {
316
+ stringOne: taskId
317
+ },
318
+ isLoading: true,
319
+ modalStrictly: true
320
+ });
321
+ }
322
+
323
+ function openStartWfDialog(that, option) {
324
+ let done = () => {
325
+ let a = configUtil.Vue.extend(configUtil.getWfObj('/wfStartDialog.vue'));
326
+ let instance = new a({
327
+ i18n: that._i18n,
328
+ propsData: {
329
+ code: option.wfCode,
330
+ dataId: option.objId,
331
+ serviceId: getServiceId(option.serviceId),
332
+ startParam: option.startParam,
333
+ parentVue: that,
334
+ visible: true,
335
+ formCode:(option.formCode || null),
336
+ option
337
+ }
338
+ });
339
+ document.body.append(instance.$mount().$el)
340
+ }
341
+ if (option.onStart) {
342
+ option.onStart(done)
343
+ } else {
344
+ done();
345
+ }
346
+ }
347
+
348
+ function openWfModifyDialog(that, paramData, title, wfInfo) {
349
+ let a = configUtil.Vue.extend(configUtil.getWfObj('/wfModifyDialog.vue'));
350
+ let instance = new a({
351
+ i18n: that._i18n,
352
+ propsData: {
353
+ paramData: paramData,
354
+ parentVue: that,
355
+ visible: true,
356
+ wfInfo: wfInfo,
357
+ title: title
358
+ }
359
+ });
360
+ document.body.append(instance.$mount().$el)
361
+ }
362
+
363
+ function appendPrevChildDom(parentDom, newDom) {
364
+ if (parentDom.hasChildNodes()) {
365
+ let currentDom = parentDom.children[0];
366
+ parentDom.insertBefore(newDom, currentDom);
367
+ } else {
368
+ parentDom.append(newDom);
369
+ }
370
+ }
371
+
372
+ export const initWf = f;
373
+ export { openStartWfDialog };