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,82 +1,761 @@
1
1
  <template>
2
- <div>
3
- <div class="h5-box">
4
- <div>
5
- <!-- <div class="header-box"><i class="back el-icon-arrow-left"></i>杂发订单</div> -->
6
- <div class="search-H5box">
7
- <div class="txt">
8
- <el-input placeholder="订单编号" suffix-icon="el-icon-search" v-model="formData.sn"
9
- @keyup.enter.native="searchEvent">
10
- <el-button slot="append" @click="searchEvent"> 搜索</el-button>
11
- </el-input>
2
+ <container-item-wrapper
3
+ :widget="widget"
4
+ :class="widget.options.isFullscreen ? 'full-height' : ''"
5
+ >
6
+ <div class="h5-header">{{ widget.options.label }}</div>
7
+ <div class="h5-search-box">
8
+ <el-input v-model="keyword" placeholder="请选择" class="txt">
9
+ <i slot="suffix" class="el-input__icon el-icon-search"></i>
10
+ <el-button slot="append" class="btn" @click="searchEvent"
11
+ >搜索</el-button
12
+ >
13
+ </el-input>
14
+ <div class="icon-screen" @click="openAdvancedSearchDialog">
15
+ <i class="iconfont icon-chaxuntiaojianshezhi"></i>筛选
16
+ </div>
17
+ </div>
18
+ <div
19
+ v-if="widget.options.isQueryTable"
20
+ class="h5-fixed-top-btns"
21
+ title-width="92px"
22
+ title-align="right"
23
+ >
24
+ <el-form label-position="top">
25
+ <template v-if="!!widget.buttons && widget.buttons.length > 0">
26
+ <template v-for="(subWidget, swIdx) in widget.buttons">
27
+ <template v-if="'container' === subWidget.category">
28
+ <component
29
+ :is="subWidget.type + '-item'"
30
+ :widget="subWidget"
31
+ :key="swIdx"
32
+ :parent-list="widget.buttons"
33
+ :index-of-parent-list="swIdx"
34
+ :parent-widget="widget"
35
+ >
36
+ <!-- 递归传递插槽!!! -->
37
+ <template
38
+ v-for="slot in Object.keys($scopedSlots)"
39
+ v-slot:[slot]="scope"
40
+ >
41
+ <slot :name="slot" v-bind="scope" />
42
+ </template>
43
+ </component>
44
+ </template>
45
+ <template v-else>
46
+ <component
47
+ :is="subWidget.type + '-widget'"
48
+ :field="subWidget"
49
+ :designer="null"
50
+ :key="swIdx"
51
+ :parent-list="widget.buttons"
52
+ :index-of-parent-list="swIdx"
53
+ :parent-widget="widget"
54
+ >
55
+ <!-- 递归传递插槽!!! -->
56
+ <template
57
+ v-for="slot in Object.keys($scopedSlots)"
58
+ v-slot:[slot]="scope"
59
+ >
60
+ <slot :name="slot" v-bind="scope" />
61
+ </template>
62
+ </component>
63
+ </template>
64
+ </template>
65
+ </template>
66
+ </el-form>
67
+ </div>
68
+ <div class="h5-list-box">
69
+ <div
70
+ v-for="(row, rowIndex) in fieldModel"
71
+ :key="rowIndex"
72
+ class="item"
73
+ @click="itemCheck(row)"
74
+ :class="{ checked: checkItemIds.includes(row.id) }"
75
+ >
76
+ <div
77
+ v-if="!widget.options.isQueryTable"
78
+ class="del-btn"
79
+ @click.stop="deleteRow(row, rowIndex)"
80
+ >
81
+ <i class="el-icon-delete"></i>
82
+ </div>
83
+ <template v-if="vxeOption.columns.length > 0">
84
+ <div class="t1" v-if="widget.options.isQueryTable">
85
+ <template
86
+ v-for="(column, columnIndex) in vxeOption.columns.filter(
87
+ (item, index) => item.isMainFiled
88
+ )"
89
+ >
90
+ <b :key="'1-' + columnIndex">{{ column.title }}:</b>
91
+ <span :key="'2-' + columnIndex">
92
+ <template v-if="!column.params.formatS">
93
+ {{ row[column.field] }}
94
+ </template>
95
+ <template v-else-if="column.params.formatS == 'render'">
96
+ {{
97
+ column.slots.default({
98
+ column: column,
99
+ rowIndex: rowIndex,
100
+ row: row,
101
+ items: fieldModel,
102
+ })
103
+ }}
104
+ </template>
105
+ <template
106
+ v-else-if="column.slots && column.slots.default == 'widget'"
107
+ >
108
+ <component
109
+ :is="getColumnWidgetName(column.params.widget)"
110
+ :field="column.params.widget"
111
+ :form-model="globalModel.formModel"
112
+ :designer="null"
113
+ :key="rowIndex"
114
+ :parent-widget="widget"
115
+ :columnConfig="column.params.columnConfig"
116
+ :subFormRowIndex="rowIndex"
117
+ :formItemProp="
118
+ getColumnProp(widget, {
119
+ column: column,
120
+ rowIndex: rowIndex,
121
+ row: row,
122
+ items: fieldModel,
123
+ })
124
+ "
125
+ :tableParam="{
126
+ column: column,
127
+ rowIndex: rowIndex,
128
+ row: row,
129
+ items: fieldModel,
130
+ }"
131
+ ></component>
132
+ </template>
133
+ <template v-else-if="column.params.formatS == 'editDelete'">
134
+ <a
135
+ href="javascript:void(0);"
136
+ class="a-link"
137
+ @click="deleteRow(row, rowIndex)"
138
+ >
139
+ <el-tooltip
140
+ :enterable="false"
141
+ effect="dark"
142
+ content="删除"
143
+ placement="top"
144
+ popper-class="tooltip-skin"
145
+ >
146
+ <i class="el-icon-delete" />
147
+ </el-tooltip>
148
+ </a>
149
+ </template>
150
+ <template v-else-if="column.params.formatS == 'editButton'">
151
+ <a
152
+ href="javascript:void(0);"
153
+ class="a-link"
154
+ @click.stop="openEditDialog(obj.row)"
155
+ >
156
+ <el-tooltip
157
+ :enterable="false"
158
+ effect="dark"
159
+ content="查看"
160
+ placement="top"
161
+ popper-class="tooltip-skin"
162
+ >
163
+ <i class="el-icon-edit" />
164
+ </el-tooltip>
165
+ </a>
166
+ </template>
167
+ <template v-else>
168
+ {{
169
+ column.formatter({
170
+ cellValue: row[column.field],
171
+ column: column,
172
+ rowIndex: rowIndex,
173
+ row: row,
174
+ items: fieldModel,
175
+ })
176
+ }}
177
+ </template>
178
+ </span>
179
+ <!-- <div class="status">未审核</div>-->
180
+ </template>
12
181
  </div>
13
- <div class="icon-screen" @click="popStatus = true">
14
- <i class="iconfont icon-shaixuan1"></i>
15
- <span>高级筛选</span>
182
+ <div class="t2">
183
+ <template
184
+ v-if="
185
+ !widget.options.isQueryTable || vxeOption.columns.length > 1
186
+ "
187
+ >
188
+ <template v-for="(column, columnIndex) in vxeOption.columns">
189
+ <template
190
+ v-if="
191
+ (!widget.options.isQueryTable || !column.isMainFiled) &&
192
+ column.showForRow
193
+ "
194
+ >
195
+ <dl :key="columnIndex">
196
+ <div>
197
+ <dt>{{ column.title }}:</dt>
198
+ <dd>
199
+ <template v-if="!column.params.formatS">
200
+ {{ row[column.field] }}
201
+ </template>
202
+ <template v-else-if="column.params.formatS == 'render'">
203
+ {{
204
+ column.slots.default({
205
+ column: column,
206
+ rowIndex: rowIndex,
207
+ row: row,
208
+ items: fieldModel,
209
+ })
210
+ }}
211
+ </template>
212
+
213
+ <template
214
+ v-else-if="
215
+ column.slots && column.slots.default == 'widget'
216
+ "
217
+ >
218
+ <component
219
+ :is="getColumnWidgetName(column.params.widget)"
220
+ :field="column.params.widget"
221
+ :form-model="globalModel.formModel"
222
+ :designer="null"
223
+ :key="rowIndex + '-' + columnIndex"
224
+ :parent-widget="widget"
225
+ :columnConfig="column.params.columnConfig"
226
+ :subFormRowIndex="rowIndex"
227
+ :formItemProp="
228
+ getColumnProp(widget, {
229
+ column: column,
230
+ rowIndex: rowIndex,
231
+ row: row,
232
+ items: fieldModel,
233
+ })
234
+ "
235
+ :tableParam="{
236
+ column: column,
237
+ rowIndex: rowIndex,
238
+ row: row,
239
+ items: fieldModel,
240
+ }"
241
+ ></component>
242
+ </template>
243
+ <template
244
+ v-else-if="column.params.formatS == 'editDelete'"
245
+ >
246
+ <a
247
+ href="javascript:void(0);"
248
+ class="a-link"
249
+ @click.stop="deleteRow(row, rowIndex)"
250
+ >
251
+ <el-tooltip
252
+ :enterable="false"
253
+ effect="dark"
254
+ content="删除"
255
+ placement="top"
256
+ popper-class="tooltip-skin"
257
+ >
258
+ <i class="el-icon-delete" />
259
+ </el-tooltip>
260
+ </a>
261
+ </template>
262
+ <template
263
+ v-else-if="column.params.formatS == 'editButton'"
264
+ >
265
+ <a
266
+ href="javascript:void(0);"
267
+ class="a-link"
268
+ @click.stop="openEditDialog(row)"
269
+ >
270
+ <el-tooltip
271
+ :enterable="false"
272
+ effect="dark"
273
+ content="查看"
274
+ placement="top"
275
+ popper-class="tooltip-skin"
276
+ >
277
+ <i class="el-icon-edit" />
278
+ </el-tooltip>
279
+ </a>
280
+ </template>
281
+ <template v-else>
282
+ {{
283
+ column.formatter({
284
+ cellValue: row[column.field],
285
+ column: column,
286
+ rowIndex: rowIndex,
287
+ row: row,
288
+ items: fieldModel,
289
+ })
290
+ }}
291
+ </template>
292
+ </dd>
293
+ </div>
294
+ </dl>
295
+ </template>
296
+ </template>
297
+ </template>
16
298
  </div>
17
- </div>
18
- <div class="orderList-box" @scroll="handleScroll">
19
- <div class="item" v-for="(row,rowIndex) in page.records" :key="rowIndex" @click="openEditDialog(row.id)">
20
- <div class="info1">
21
- <div class="name">订单编号:{{ row.orderSn }}</div>
22
- <p>发货单号:{{ row.shippingSn }}</p>
23
- <p>外部订单号:{{ row.outTradeSn }}</p>
24
- <p>客户编码:{{ row.customerCode }}</p>
25
- <p>客户名称:{{ row.customerName }}</p>
26
- <p>机构:{{ row.saleOrgName }}</p>
27
- <p>业务员:{{ row.salesManName }}</p>
28
- <p>订单类型:{{ row.orderTypeVal }}</p>
29
- <h5-status-tag :value="row.status"></h5-status-tag>
30
- </div>
31
- <!-- <div class="btns">
32
- <el-button type="success" icon="iconfont icon-shenhe" class="btn">审核</el-button>
33
- <el-button type="primary" icon="el-icon-edit-outline" class="btn" @click="openEditDialog(row.orderId)">
34
- 编辑
35
- </el-button>
36
- </div>-->
299
+ <div class="btns">
300
+ <!-- <div class="checkbox_fl">
301
+ <el-checkbox></el-checkbox>
302
+ </div> -->
303
+ <!-- <a class="btn"><i class="el-icon-delete"/><span>删除</span></a>
304
+ <a class="btn"><i class="el-icon-edit"/><span>查看</span></a>-->
305
+ <template
306
+ v-if="!!widget.lineButtons && widget.lineButtons.length > 0"
307
+ >
308
+ <template v-for="(subWidget, swIdx) in widget.lineButtons">
309
+ <template v-if="'container' === subWidget.category">
310
+ <component
311
+ :is="subWidget.type + '-item'"
312
+ :widget="subWidget"
313
+ :key="swIdx"
314
+ :parent-list="widget.lineButtons"
315
+ :index-of-parent-list="swIdx"
316
+ :parent-widget="widget"
317
+ :subFormRowIndex="rowIndex"
318
+ :tableParam="{
319
+ rowIndex: rowIndex,
320
+ row: row,
321
+ items: fieldModel,
322
+ }"
323
+ >
324
+ <!-- 递归传递插槽!!! -->
325
+ <template
326
+ v-for="slot in Object.keys($scopedSlots)"
327
+ v-slot:[slot]="scope"
328
+ >
329
+ <slot :name="slot" v-bind="scope" />
330
+ </template>
331
+ </component>
332
+ </template>
333
+ <template v-else>
334
+ <component
335
+ :is="subWidget.type + '-widget'"
336
+ :field="subWidget"
337
+ :designer="null"
338
+ :key="swIdx"
339
+ :parent-list="widget.lineButtons"
340
+ :index-of-parent-list="swIdx"
341
+ :parent-widget="widget"
342
+ :subFormRowIndex="rowIndex"
343
+ :tableParam="{
344
+ rowIndex: rowIndex,
345
+ row: row,
346
+ items: fieldModel,
347
+ }"
348
+ >
349
+ <!-- 递归传递插槽!!! -->
350
+ <template
351
+ v-for="slot in Object.keys($scopedSlots)"
352
+ v-slot:[slot]="scope"
353
+ >
354
+ <slot :name="slot" v-bind="scope" />
355
+ </template>
356
+ </component>
357
+ </template>
358
+ </template>
359
+ </template>
37
360
  </div>
38
- </div>
39
- <div class="float-addBtn" @click="openEditDialog()"><i class="el-icon-plus"></i><span>新增</span></div>
40
- <h5SearchDialog v-if="popStatus" :visiable.sync="popStatus" @searchEvent="confirmSearchDialog"
41
- @resetEvent="resetSearchDialog">
42
- <el-form label-position="top">
43
- <el-form-item label="订单编号">
44
- <el-input v-model="formData.sn" class="txt" clearable/>
45
- </el-form-item>
46
- <el-form-item label="发货单号">
47
- <el-input v-model="formData.shippingSn" class="txt" clearable/>
48
- </el-form-item>
49
- <el-form-item label="订单状态">
50
- <el-select v-model="formData.statuses" class="txt" multiple clearable>
51
- <el-option :value="0" label="未审核"/>
52
- <el-option :value="1" label="审核中"/>
53
- <el-option :value="2" label="已审核"/>
54
- <el-option :value="3" label="已作废"/>
55
- </el-select>
56
- </el-form-item>
57
- </el-form>
58
- </h5SearchDialog>
361
+ </template>
362
+
363
+ <!-- <div class="t1">
364
+ <b>订单号:21533666</b>
365
+ <div class="status">未审核</div>
366
+ </div>
367
+ <div class="t2">
368
+ <p>产地:广东佛山</p>
369
+ <p>产地:广东佛山</p>
370
+ <p>产地:广东佛山</p>
371
+ </div>-->
372
+ </div>
373
+ </div>
374
+ <div class="vxe-grid" v-if="widget.options.isQueryTable">
375
+ <div class="vxe-grid&#45;&#45;pager-wrapper">
376
+ <vxe-pager
377
+ class="pages-box"
378
+ :current-page.sync="page.current"
379
+ :page-size.sync="page.size"
380
+ :total="page.total"
381
+ :layouts="['PrevPage', 'Number', 'NextPage']"
382
+ @page-change="changePageNew"
383
+ >
384
+ <template #right>
385
+ <span>
386
+ <span>当前记录</span>
387
+ <span class="f-red"> {{ page.records.length }} </span>
388
+ <span>/</span>
389
+ <span class="f-red"> {{ page.total }}</span>
390
+ </span>
391
+ </template>
392
+ </vxe-pager>
59
393
  </div>
60
394
  </div>
61
- <!-- <editView v-if="showViewDialog && showEdit" visible-key="showEdit" :_dataId.sync="dataId" :copyId.sync="copyId"
62
- :parent-target="_self" @reload="$reloadHandle" @close="closeViewDialog"></editView>-->
63
- </div>
395
+
396
+ <advancedSearchDialog
397
+ v-if="showAdvancedSearch"
398
+ :visiable.sync="showAdvancedSearch"
399
+ class="adSearchForm_all"
400
+ :formData="advancedFormData"
401
+ @confirm="confirmAdvancedSearchDialog"
402
+ @clear="advancedClear"
403
+ >
404
+ <template #form>
405
+ <vxe-form
406
+ :model="formModel"
407
+ title-width="102px"
408
+ :inline="true"
409
+ class="adSearchForm"
410
+ >
411
+ <template v-for="(searchColumn, index) in vxeOption.searchColumns">
412
+ <vxe-form-item>
413
+ <component
414
+ :is="getColumnWidgetName(searchColumn.widget)"
415
+ :field="searchColumn.widget"
416
+ :form-model="globalModel.formModel"
417
+ :designer="null"
418
+ :key="index"
419
+ :parent-widget="widget"
420
+ ></component>
421
+ </vxe-form-item>
422
+ </template>
423
+ </vxe-form>
424
+ </template>
425
+ </advancedSearchDialog>
426
+ <el-dialog
427
+ title="明细详情"
428
+ :modal-append-to-body="false"
429
+ :close-on-click-modal="false"
430
+ :visible.sync="showRowDetailDialog"
431
+ :modal="false"
432
+ custom-class="dialog-style h5view-dialog"
433
+ width="100%"
434
+ top="0px"
435
+ v-el-drag-dialog
436
+ v-el-dialog-center
437
+ :destroy-on-close="true"
438
+ >
439
+ <div class="cont" style="height: calc(100vh - 73px)">
440
+ <div class="h5-list-box">
441
+ <div
442
+ v-for="(row, rowIndex) in [editRow]"
443
+ :key="rowIndex"
444
+ class="item"
445
+ >
446
+ <!-- <div class="del-btn"><i class="el-icon-delete"></i></div>-->
447
+ <template v-if="vxeOption.columns.length > 0">
448
+ <div class="t1" v-if="widget.options.isQueryTable">
449
+ <template
450
+ v-for="(column, columnIndex) in vxeOption.columns.filter(
451
+ (item, index) => item.isMainFiled
452
+ )"
453
+ >
454
+ <b>{{ column.title }}:</b>
455
+ <span>
456
+ <template v-if="!column.params.formatS">
457
+ {{ row[column.field] }}
458
+ </template>
459
+ <template v-else-if="column.params.formatS == 'render'">
460
+ {{
461
+ column.slots.default({
462
+ column: column,
463
+ rowIndex: rowIndex,
464
+ row: row,
465
+ items: fieldModel,
466
+ })
467
+ }}
468
+ </template>
469
+ <template
470
+ v-else-if="
471
+ column.slots && column.slots.default == 'widget'
472
+ "
473
+ >
474
+ <component
475
+ :is="getColumnWidgetName(column.params.widget)"
476
+ :field="column.params.widget"
477
+ :form-model="globalModel.formModel"
478
+ :designer="null"
479
+ :key="rowIndex"
480
+ :parent-widget="widget"
481
+ :columnConfig="column.params.columnConfig"
482
+ :subFormRowIndex="rowIndex"
483
+ :formItemProp="
484
+ getColumnProp(widget, {
485
+ column: column,
486
+ rowIndex: rowIndex,
487
+ row: row,
488
+ items: fieldModel,
489
+ })
490
+ "
491
+ :tableParam="{
492
+ column: column,
493
+ rowIndex: rowIndex,
494
+ row: row,
495
+ items: fieldModel,
496
+ }"
497
+ ></component>
498
+ </template>
499
+ <template v-else-if="column.params.formatS == 'editDelete'">
500
+ <a
501
+ href="javascript:void(0);"
502
+ class="a-link"
503
+ @click.stop="deleteRow(row, rowIndex)"
504
+ >
505
+ <el-tooltip
506
+ :enterable="false"
507
+ effect="dark"
508
+ content="删除"
509
+ placement="top"
510
+ popper-class="tooltip-skin"
511
+ >
512
+ <i class="el-icon-delete" />
513
+ </el-tooltip>
514
+ </a>
515
+ </template>
516
+ <template v-else-if="column.params.formatS == 'editButton'">
517
+ <a
518
+ href="javascript:void(0);"
519
+ class="a-link"
520
+ @click.stop="openEditDialog(obj.row)"
521
+ >
522
+ <el-tooltip
523
+ :enterable="false"
524
+ effect="dark"
525
+ content="查看"
526
+ placement="top"
527
+ popper-class="tooltip-skin"
528
+ >
529
+ <i class="el-icon-edit" />
530
+ </el-tooltip>
531
+ </a>
532
+ </template>
533
+ <template v-else>
534
+ {{
535
+ column.formatter({
536
+ cellValue: row[column.field],
537
+ column: column,
538
+ rowIndex: rowIndex,
539
+ row: row,
540
+ items: fieldModel,
541
+ })
542
+ }}
543
+ </template>
544
+ </span>
545
+ <!-- <div class="status">未审核</div>-->
546
+ </template>
547
+ </div>
548
+ <div class="t2">
549
+ <template
550
+ v-if="
551
+ !widget.options.isQueryTable || vxeOption.columns.length > 1
552
+ "
553
+ >
554
+ <template v-for="(column, columnIndex) in vxeOption.columns">
555
+ <template
556
+ v-if="!widget.options.isQueryTable || !column.isMainFiled"
557
+ >
558
+ <dl>
559
+ <div>
560
+ <dt>{{ column.title }}:</dt>
561
+ <dd>
562
+ <template v-if="!column.params.formatS">
563
+ {{ row[column.field] }}
564
+ </template>
565
+ <template
566
+ v-else-if="column.params.formatS == 'render'"
567
+ >
568
+ {{
569
+ column.slots.default({
570
+ column: column,
571
+ rowIndex: rowIndex,
572
+ row: row,
573
+ items: fieldModel,
574
+ })
575
+ }}
576
+ </template>
577
+
578
+ <template
579
+ v-else-if="
580
+ column.slots && column.slots.default == 'widget'
581
+ "
582
+ >
583
+ <component
584
+ :is="getColumnWidgetName(column.params.widget)"
585
+ :field="column.params.widget"
586
+ :form-model="globalModel.formModel"
587
+ :designer="null"
588
+ :key="rowIndex + '-' + columnIndex"
589
+ :parent-widget="widget"
590
+ :columnConfig="column.params.columnConfig"
591
+ :subFormRowIndex="rowIndex"
592
+ :formItemProp="
593
+ getColumnProp(widget, {
594
+ column: column,
595
+ rowIndex: rowIndex,
596
+ row: row,
597
+ items: fieldModel,
598
+ })
599
+ "
600
+ :tableParam="{
601
+ column: column,
602
+ rowIndex: rowIndex,
603
+ row: row,
604
+ items: fieldModel,
605
+ }"
606
+ ></component>
607
+ </template>
608
+ <template
609
+ v-else-if="column.params.formatS == 'editDelete'"
610
+ >
611
+ <a
612
+ href="javascript:void(0);"
613
+ class="a-link"
614
+ @click="deleteRow(row, rowIndex)"
615
+ >
616
+ <el-tooltip
617
+ :enterable="false"
618
+ effect="dark"
619
+ content="删除"
620
+ placement="top"
621
+ popper-class="tooltip-skin"
622
+ >
623
+ <i class="el-icon-delete" />
624
+ </el-tooltip>
625
+ </a>
626
+ </template>
627
+ <template
628
+ v-else-if="column.params.formatS == 'editButton'"
629
+ >
630
+ <a
631
+ href="javascript:void(0);"
632
+ class="a-link"
633
+ @click="openEditDialog(obj.row)"
634
+ >
635
+ <el-tooltip
636
+ :enterable="false"
637
+ effect="dark"
638
+ content="查看"
639
+ placement="top"
640
+ popper-class="tooltip-skin"
641
+ >
642
+ <i class="el-icon-edit" />
643
+ </el-tooltip>
644
+ </a>
645
+ </template>
646
+ <template v-else>
647
+ {{
648
+ column.formatter({
649
+ cellValue: row[column.field],
650
+ column: column,
651
+ rowIndex: rowIndex,
652
+ row: row,
653
+ items: fieldModel,
654
+ })
655
+ }}
656
+ </template>
657
+ </dd>
658
+ </div>
659
+ </dl>
660
+ </template>
661
+ </template>
662
+ </template>
663
+ </div>
664
+ <div class="btns">
665
+ <template
666
+ v-if="!!widget.lineButtons && widget.lineButtons.length > 0"
667
+ >
668
+ <template v-for="(subWidget, swIdx) in widget.lineButtons">
669
+ <template v-if="'container' === subWidget.category">
670
+ <component
671
+ :is="subWidget.type + '-item'"
672
+ :widget="subWidget"
673
+ :key="swIdx"
674
+ :parent-list="widget.lineButtons"
675
+ :index-of-parent-list="swIdx"
676
+ :parent-widget="widget"
677
+ :subFormRowIndex="rowIndex"
678
+ :tableParam="{
679
+ rowIndex: rowIndex,
680
+ row: row,
681
+ items: fieldModel,
682
+ }"
683
+ >
684
+ <!-- 递归传递插槽!!! -->
685
+ <template
686
+ v-for="slot in Object.keys($scopedSlots)"
687
+ v-slot:[slot]="scope"
688
+ >
689
+ <slot :name="slot" v-bind="scope" />
690
+ </template>
691
+ </component>
692
+ </template>
693
+ <template v-else>
694
+ <component
695
+ :is="subWidget.type + '-widget'"
696
+ :field="subWidget"
697
+ :designer="null"
698
+ :key="swIdx"
699
+ :parent-list="widget.lineButtons"
700
+ :index-of-parent-list="swIdx"
701
+ :parent-widget="widget"
702
+ :subFormRowIndex="rowIndex"
703
+ :tableParam="{
704
+ rowIndex: rowIndex,
705
+ row: row,
706
+ items: fieldModel,
707
+ }"
708
+ >
709
+ <!-- 递归传递插槽!!! -->
710
+ <template
711
+ v-for="slot in Object.keys($scopedSlots)"
712
+ v-slot:[slot]="scope"
713
+ >
714
+ <slot :name="slot" v-bind="scope" />
715
+ </template>
716
+ </component>
717
+ </template>
718
+ </template>
719
+ </template>
720
+ </div>
721
+ </template>
722
+
723
+ <!-- <div class="t1">
724
+ <b>订单号:21533666</b>
725
+ <div class="status">未审核</div>
726
+ </div>
727
+ <div class="t2">
728
+ <p>产地:广东佛山</p>
729
+ <p>产地:广东佛山</p>
730
+ <p>产地:广东佛山</p>
731
+ </div>-->
732
+ </div>
733
+ </div>
734
+ </div>
735
+ </el-dialog>
736
+ </container-item-wrapper>
64
737
  </template>
65
738
 
66
739
  <script>
67
- import emitter from '../../../../components/xform/utils/emitter';
68
- import i18n from '../../../../components/xform/utils/i18n';
69
- import refMixin from '../../../../components/xform/form-render/refMixin';
70
- import containerItemMixin from './containerItemMixin';
71
- import FieldComponents from '../../../../components/xform/form-designer/form-widget/field-widget/index';
72
- import {assembleAxiosConfig, generateId, getReportGlobalMap} from "../../../../components/xform/utils/util";
740
+ import emitter from "../../../../components/xform/utils/emitter";
741
+ import i18n from "../../../../components/xform/utils/i18n";
742
+ import refMixin from "../../../../components/xform/form-render/refMixin";
743
+ import containerItemMixin from "./containerItemMixin";
744
+ import FieldComponents from "../../../../components/xform/form-designer/form-widget/field-widget/index";
745
+ import {
746
+ assembleAxiosConfig,
747
+ generateId,
748
+ getReportGlobalMap,
749
+ isVabsearchMultiWidget,
750
+ } from "../../../../components/xform/utils/util";
73
751
  import * as formatUtil from "../../../../components/xform/utils/format";
74
752
  import {
75
753
  buildTextMaskContext,
76
754
  markMaskedExportColumns,
77
755
  } from "../../../../components/xform/utils/textMaskUtil";
756
+ import { extendDeeply } from "../../../../utils/index.js";
757
+ import { mergeQueryParam } from "../../../../components/xform/utils/queryParamUtil";
78
758
  import render from "../../../../views/user/bill_setting/render.vue";
79
- import mixin from "../../../../mixins/mobile/list/index";
80
759
 
81
760
  const baseRefUtil = {
82
761
  emitter,
@@ -85,16 +764,17 @@ const baseRefUtil = {
85
764
  containerItemMixin,
86
765
  formatUtil,
87
766
  assembleAxiosConfig,
88
- getReportGlobalMap
767
+ getReportGlobalMap,
89
768
  };
90
769
 
770
+ const defaultPageSize = 2;
91
771
  export default {
92
- name: 'list-h5-item',
772
+ name: "list-h5-item",
93
773
  components: {
94
- ...FieldComponents
774
+ ...FieldComponents,
95
775
  },
96
- mixins: [emitter, i18n, refMixin, containerItemMixin,mixin],
97
- componentName: 'ContainerItem',
776
+ mixins: [emitter, i18n, refMixin, containerItemMixin],
777
+ componentName: "ContainerItem",
98
778
  props: {
99
779
  widget: Object,
100
780
  parentWidget: Object,
@@ -102,21 +782,27 @@ export default {
102
782
  indexOfParentList: Number,
103
783
  subFormRowIndex: {
104
784
  type: Number,
105
- default: -1
785
+ default: -1,
106
786
  },
107
787
  subFormColIndex: {
108
788
  type: Number,
109
- default: -1
789
+ default: -1,
110
790
  },
111
791
  subFormRowId: {
112
792
  type: String,
113
- default: ''
114
- }
793
+ default: "",
794
+ },
115
795
  },
116
- inject: ['refList', 'sfRefList', 'globalModel', 'getFormConfig', 'getGlobalDsv'],
796
+ inject: [
797
+ "refList",
798
+ "sfRefList",
799
+ "globalModel",
800
+ "getFormConfig",
801
+ "getGlobalDsv",
802
+ ],
117
803
  data: function () {
118
804
  let that = this;
119
- let pageSize = 2;
805
+ let pageSize = defaultPageSize;
120
806
  return {
121
807
  showAdvancedSearch: false,
122
808
  showRowDetailDialog: false,
@@ -128,20 +814,20 @@ export default {
128
814
  currentPage: this.widget.options.pagination.currentPage,
129
815
  total: this.widget.options.pagination.total,*/
130
816
  formData: {
131
- saleOrgName: '',
132
- loginAccount: '',
133
- mobile: '',
134
- enabled: 1
817
+ saleOrgName: "",
818
+ loginAccount: "",
819
+ mobile: "",
820
+ enabled: 1,
135
821
  },
136
- vxeOption: {columns: []},
822
+ vxeOption: { columns: [] },
137
823
  requestAccess: null,
138
824
  columnFormatMap: {
139
- editInput: 'input',
140
- editNumber: 'number',
141
- editDate: 'date',
142
- editSelect: 'select',
143
- editSearch: 'vabsearch',
144
- button: 'button'
825
+ editInput: "input",
826
+ editNumber: "number",
827
+ editDate: "date",
828
+ editSelect: "select",
829
+ editSearch: "vabsearch",
830
+ button: "button",
145
831
  },
146
832
  dataTableConfig: {},
147
833
  advancedFormData: {},
@@ -156,33 +842,33 @@ export default {
156
842
  keyword: null,
157
843
 
158
844
  checkItemIds: [],
159
-
160
- dataId: 0,
161
- showEdit: false,
162
- showViewDialog: false
163
845
  };
164
846
  },
165
847
  watch: {
166
848
  fieldModel(val) {
167
849
  this.formModel[this.fieldKeyName] = val || [];
168
- }
850
+ },
169
851
  },
170
852
  computed: {
171
853
  formConfig: function () {
172
854
  return this.getFormConfig();
173
855
  },
174
856
  paginationLayout: function () {
175
- return this.widget.options.smallPagination ? 'prev, pager, next' : 'total, sizes, prev, pager, next, jumper';
857
+ return this.widget.options.smallPagination
858
+ ? "prev, pager, next"
859
+ : "total, sizes, prev, pager, next, jumper";
176
860
  },
177
861
  customClass: function () {
178
- return this.widget.options.customClass || '';
862
+ return this.widget.options.customClass || "";
179
863
  },
180
864
  singleRowSelectFlag: function () {
181
865
  return !this.widget.options.showCheckBox;
182
866
  },
183
867
  buttonsColumnFixed: function () {
184
- return void 0 === this.widget.options.buttonsColumnFixed ? 'right' : !!this.widget.options
185
- .buttonsColumnFixed && this.widget.options.buttonsColumnFixed;
868
+ return void 0 === this.widget.options.buttonsColumnFixed
869
+ ? "right"
870
+ : !!this.widget.options.buttonsColumnFixed &&
871
+ this.widget.options.buttonsColumnFixed;
186
872
  },
187
873
  columns() {
188
874
  let tableColumns = this.widget.options.tableColumns;
@@ -194,23 +880,25 @@ export default {
194
880
  fixed: 'left'
195
881
  });*/
196
882
 
197
- let firstColumn = tableColumns.find(column => {
883
+ let firstColumn = tableColumns.find((column) => {
198
884
  return !!column.prop && !!column.showForRow;
199
885
  });
200
886
  let mainFiled = firstColumn?.prop;
201
887
 
202
888
  let formRef = this.getFormRef();
203
- let dateConfig = this.$baseLodash.cloneDeep(formRef.getFieldWidgetByType('date').options)
204
- tableColumns.forEach(t => {
889
+ let dateConfig = this.$baseLodash.cloneDeep(
890
+ formRef.getFieldWidgetByType("date").options
891
+ );
892
+ tableColumns.forEach((t) => {
205
893
  let columnOption;
206
894
  let widget;
207
895
  let columnWidgetConfig = this.getColumnWidgetConfig(t);
208
- let {columnSelectedWidget, columnEditFields} = columnWidgetConfig;
896
+ let { columnSelectedWidget, columnEditFields } = columnWidgetConfig;
209
897
  if (columnSelectedWidget) {
210
- widget = columnSelectedWidget
898
+ widget = columnSelectedWidget;
211
899
  columnOption = widget.options;
212
900
  } else {
213
- columnOption = {}
901
+ columnOption = {};
214
902
  }
215
903
 
216
904
  let col = {
@@ -219,7 +907,7 @@ export default {
219
907
  title: t.label,
220
908
  witdh: t.width,
221
909
  sortable: t.sortable,
222
- align: t.align ? t.align : 'center',
910
+ align: t.align ? t.align : "center",
223
911
  formatter: this.formatterValue,
224
912
  isMainFiled: mainFiled == t.prop,
225
913
  showForRow: t.showForRow,
@@ -228,25 +916,40 @@ export default {
228
916
  widget: widget,
229
917
  formatS: t.formatS,
230
918
  required: t.required || false,
231
- columnConfig: t
919
+ columnConfig: t,
920
+ utcTransformEnabled: widget
921
+ ? !!columnOption.utcTransformEnabled
922
+ : !t.formatS ||
923
+ [
924
+ "d1",
925
+ "d2",
926
+ "d3",
927
+ "d4",
928
+ "d5",
929
+ "render",
930
+ "create_date",
931
+ "modify_date",
932
+ ].includes(t.formatS)
933
+ ? !!t.utcTransformEnabled
934
+ : false,
232
935
  },
233
- visible: t.show
936
+ visible: t.show,
234
937
  };
235
938
 
236
- if (t.formatS == 'render') {
237
- let r = t.render ? new Function('params', 'h', t.render) : null;
939
+ if (t.formatS == "render") {
940
+ let r = t.render ? new Function("params", "h", t.render) : null;
238
941
  col.slots = {
239
942
  default: (params, h) => {
240
- return r ? r.call(this, params, h) : '';
241
- }
943
+ return r ? r.call(this, params, h) : "";
944
+ },
242
945
  };
243
946
  } else if (columnSelectedWidget) {
244
947
  col.slots = {
245
- default: 'widget'
948
+ default: "widget",
246
949
  };
247
- } else if (['editDelete', 'editButton'].includes(t.formatS)) {
950
+ } else if (["editDelete", "editButton"].includes(t.formatS)) {
248
951
  col.slots = {
249
- default: t.formatS
952
+ default: t.formatS,
250
953
  };
251
954
  }
252
955
 
@@ -272,15 +975,16 @@ export default {
272
975
  cache: !1,
273
976
  get: function () {
274
977
  return this.globalModel.formModel;
275
- }
978
+ },
276
979
  },
277
980
  formDataId() {
278
981
  let formRef = this.getFormRef();
279
982
  return formRef.dataId;
280
- }
983
+ },
281
984
  },
282
985
  created: function () {
283
- if (!this.formModel[this.fieldKeyName]) this.formModel[this.fieldKeyName] = [];
986
+ if (!this.formModel[this.fieldKeyName])
987
+ this.formModel[this.fieldKeyName] = [];
284
988
  this.initRefList();
285
989
  this.handleOnCreated();
286
990
  },
@@ -309,24 +1013,24 @@ export default {
309
1013
  confirmAdvancedSearchDialog() {
310
1014
  let formModel = this.formModel;
311
1015
  let advancedFormData = this.advancedFormData;
312
- this.vxeOption.searchColumns.forEach(form1Field => {
1016
+ this.vxeOption.searchColumns.forEach((form1Field) => {
313
1017
  let value = formModel[form1Field.field];
314
1018
  if (value !== null && value !== undefined) {
315
- advancedFormData[form1Field.field] = value
1019
+ advancedFormData[form1Field.field] = value;
316
1020
  } else {
317
- advancedFormData[form1Field.field] = null
1021
+ advancedFormData[form1Field.field] = null;
318
1022
  }
319
1023
  });
320
1024
  this.searchEvent();
321
1025
  },
322
1026
  advancedClear() {
323
- this.vxeOption.searchColumns.forEach(form1Field => {
324
- let widgetRef = this.getWidgetRef(form1Field.widget.options.name)
1027
+ this.vxeOption.searchColumns.forEach((form1Field) => {
1028
+ let widgetRef = this.getWidgetRef(form1Field.widget.options.name);
325
1029
  if (widgetRef && widgetRef.setValue) widgetRef.setValue(null);
326
1030
  });
327
1031
  },
328
1032
  setValue(val) {
329
- let rows = val || []
1033
+ let rows = val || [];
330
1034
  this.formModel[this.fieldKeyName] = rows;
331
1035
  this.fieldModel = rows;
332
1036
  },
@@ -335,43 +1039,68 @@ export default {
335
1039
  },
336
1040
  getFieldKeyName(widget) {
337
1041
  let o = widget.options.name;
338
- return (
339
- (widget.options.keyNameEnabled
340
- && widget.options.keyName)
341
- || o
342
- );
1042
+ return (widget.options.keyNameEnabled && widget.options.keyName) || o;
343
1043
  },
344
- formatterValue: function ({cellValue, row, column}) {
1044
+ formatterValue: function ({ cellValue, row, column }) {
345
1045
  if (cellValue === null || cellValue === undefined) return cellValue;
1046
+ if (!column.params) return cellValue;
346
1047
 
347
- if (column.params && column.params.formatS)
348
- switch (column.params.formatS) {
349
- case 'd1':
350
- return baseRefUtil.formatUtil.formatDate1(cellValue);
351
- case 'd2':
352
- return baseRefUtil.formatUtil.formatDate2(cellValue);
353
- case 'd3':
354
- return baseRefUtil.formatUtil.formatDate3(cellValue);
355
- case 'd4':
356
- return baseRefUtil.formatUtil.formatDate4(cellValue);
357
- case 'd5':
358
- return baseRefUtil.formatUtil.formatDate4(cellValue);
359
- case 'n1':
360
- return baseRefUtil.formatUtil.formatNumber1(cellValue);
361
- case 'n2':
362
- return baseRefUtil.formatUtil.formatNumber2(cellValue);
363
- case 'n3':
364
- return baseRefUtil.formatUtil.formatNumber3(cellValue);
365
- case 'n4':
366
- return baseRefUtil.formatUtil.formatNumber4(cellValue);
367
- case 'n5':
368
- return baseRefUtil.formatUtil.formatNumber5(cellValue);
369
- case 'n6':
370
- return baseRefUtil.formatUtil.formatNumber6(cellValue);
371
- case 'n7':
372
- return baseRefUtil.formatUtil.formatNumber7(cellValue);
373
- }
374
- return cellValue;
1048
+ let value = cellValue;
1049
+ const formatS = column.params.formatS;
1050
+ const dateFormats = [
1051
+ "d1",
1052
+ "d2",
1053
+ "d3",
1054
+ "d4",
1055
+ "d5",
1056
+ "render",
1057
+ "create_date",
1058
+ "modify_date",
1059
+ ];
1060
+ const isColumnLevelUtc =
1061
+ !formatS || dateFormats.includes(formatS);
1062
+ const utcTransformEnabled = isColumnLevelUtc
1063
+ ? !!(
1064
+ column.params.utcTransformEnabled ||
1065
+ column.params.columnConfig?.utcTransformEnabled
1066
+ )
1067
+ : false;
1068
+
1069
+ if (utcTransformEnabled && value != null && value !== "") {
1070
+ value = this.$utcToLocal(value);
1071
+ }
1072
+
1073
+ if (!formatS) {
1074
+ return value;
1075
+ }
1076
+
1077
+ switch (formatS) {
1078
+ case "d1":
1079
+ return baseRefUtil.formatUtil.formatDate1(value);
1080
+ case "d2":
1081
+ return baseRefUtil.formatUtil.formatDate2(value);
1082
+ case "d3":
1083
+ return baseRefUtil.formatUtil.formatDate3(value);
1084
+ case "d4":
1085
+ return baseRefUtil.formatUtil.formatDate4(value);
1086
+ case "d5":
1087
+ return baseRefUtil.formatUtil.formatDate4(value);
1088
+ case "n1":
1089
+ return baseRefUtil.formatUtil.formatNumber1(value);
1090
+ case "n2":
1091
+ return baseRefUtil.formatUtil.formatNumber2(value);
1092
+ case "n3":
1093
+ return baseRefUtil.formatUtil.formatNumber3(value);
1094
+ case "n4":
1095
+ return baseRefUtil.formatUtil.formatNumber4(value);
1096
+ case "n5":
1097
+ return baseRefUtil.formatUtil.formatNumber5(value);
1098
+ case "n6":
1099
+ return baseRefUtil.formatUtil.formatNumber6(value);
1100
+ case "n7":
1101
+ return baseRefUtil.formatUtil.formatNumber7(value);
1102
+ }
1103
+ return value;
375
1104
  },
376
1105
  searchEvent() {
377
1106
  // this.getGridTable().commitProxy('reload');
@@ -380,73 +1109,60 @@ export default {
380
1109
  async resetEvent() {
381
1110
  let formData = this.formModel;
382
1111
  this.keyword = null;
383
- this.widget.widgetList && this.widget.widgetList.forEach(subWidget => {
384
- let widgetRef = this.getWidgetRef(subWidget.options.name)
385
- let fieldKeyName = this.getFieldKeyName(subWidget);
386
- formData[fieldKeyName] = null;
387
- this.advancedFormData[fieldKeyName] = null;
388
- if (widgetRef && widgetRef.setValue) widgetRef.setValue(null);
389
- });
1112
+ this.widget.widgetList &&
1113
+ this.widget.widgetList.forEach((subWidget) => {
1114
+ let widgetRef = this.getWidgetRef(subWidget.options.name);
1115
+ let fieldKeyName = this.getFieldKeyName(subWidget);
1116
+ formData[fieldKeyName] = null;
1117
+ this.advancedFormData[fieldKeyName] = null;
1118
+ if (widgetRef && widgetRef.setValue) widgetRef.setValue(null);
1119
+ });
390
1120
  // this.getGridTable().commitProxy('reload');
391
1121
  this.loadAccessData();
392
1122
  },
393
1123
  openEditDialog(row) {
394
1124
  let formRef = this.getFormRef();
395
1125
  let parentTarget = formRef.$attrs["parent-target"];
396
- parentTarget && parentTarget.$attrs.openEditDialog && parentTarget.$attrs.openEditDialog(row);
1126
+ parentTarget &&
1127
+ parentTarget.$attrs.openEditDialog &&
1128
+ parentTarget.$attrs.openEditDialog(row);
397
1129
  },
398
1130
  initTableList() {
399
1131
  let that = this;
400
1132
  let path = null;
401
1133
  let paramFun = null;
402
- // let mainDataSetDTO = null;
403
- let requestAccess = this.requestAccess;
404
1134
  let tableRef = this.getTableRef();
405
- let formDataModel = this.getFormRef().formDataModel;
406
1135
  let isQueryTable = this.widget.options.isQueryTable || false;
407
- let isDataPage = this.widget.options.accessReturnType == "2";
408
- let formCode = this.getFormRef().reportTemplate.formCode;
409
- let dataId = this.formDataId;
410
- let accessScript = this.widget.options.accessScript;
1136
+ let isDataPage = this.widget.options.accessReturnType === "2";
1137
+ let isQueryAllPage = !this.widget.options.isNotQueryAllPage;
411
1138
  let searchColumns = null;
412
1139
  if (isQueryTable) {
413
- path = this.getUrl();
1140
+ path = "#";
414
1141
  paramFun = () => {
415
- // let conditions = this.getSearchCondition();
416
- let conditions = {keyword: this.keyword, ...this.advancedFormData};
1142
+ let conditions = this.getSearchCondition();
417
1143
  if (this.widget.options.showPagination) {
418
1144
  let searchCount = true;
419
- /*let isQueryAllPage = $grid.isQueryAllPage;
420
- if (isQueryAllPage == false) {
1145
+ if (isQueryAllPage === false) {
421
1146
  searchCount = false;
422
- }*/
423
- /*let pager = proxyInfo ? proxyInfo.pager : null;
424
- if (pager) {
425
- conditions.current = pager.currentPage;
426
- conditions.size = pager.pageSize;
427
- conditions.searchCount = searchCount;
428
- }*/
1147
+ }
1148
+ conditions.current = this.page.current;
1149
+ conditions.size = this.page.size;
1150
+ conditions.searchCount = searchCount;
429
1151
  }
430
-
431
- /*let formData = {
432
- accessCode: requestAccess.accessCode,
433
- conditions: conditions
434
- };*/
435
- let formData = conditions;
436
- return formData;
1152
+ return conditions;
437
1153
  };
438
1154
 
439
1155
  searchColumns = [];
440
1156
  let widgetList = this.widget.widgetList;
441
1157
  let typeMap = {
442
- "input": "input",
443
- "number": "number",
444
- "inputBatch": "inputBatch",
445
- "date": "date"
446
- }
1158
+ input: "input",
1159
+ number: "number",
1160
+ inputBatch: "inputBatch",
1161
+ date: "date",
1162
+ };
447
1163
 
448
- widgetList.forEach(widget => {
449
- if ('container' !== widget.category) {
1164
+ widgetList.forEach((widget) => {
1165
+ if ("container" !== widget.category) {
450
1166
  let options = widget.options;
451
1167
  let type = typeMap[widget.type] || null;
452
1168
  searchColumns.push({
@@ -458,14 +1174,14 @@ export default {
458
1174
  defaultValueEnabled: !!type,
459
1175
  slot: options.name,
460
1176
  widget: widget,
461
- formItem: false
1177
+ formItem: false,
462
1178
  });
463
1179
  }
464
1180
  });
465
1181
  }
466
1182
 
467
1183
  let formRef = this.getFormRef();
468
- let dataTableConfig = formRef.$attrs.dataTableOption || {}
1184
+ let dataTableConfig = formRef.$attrs.dataTableOption || {};
469
1185
  this.dataTableConfig = dataTableConfig;
470
1186
 
471
1187
  let tableOption = {
@@ -481,190 +1197,109 @@ export default {
481
1197
  /*pagerConfig: {
482
1198
  autoHidden: !this.widget.options.showPagination
483
1199
  },*/
484
- ...dataTableConfig.config
1200
+ ...dataTableConfig.config,
485
1201
  },
486
1202
  exportAjax: (param) => {
487
1203
  let $grid = this.getGridTable();
488
1204
  let pageSize = param.size;
489
1205
  let currentPage = param.current;
490
- let page = {pageSize, currentPage};
491
- return this.vxeOption.config.proxyConfig.ajax.query.call(this, {page, param})
492
- }
1206
+ let page = { pageSize, currentPage };
1207
+ return this.vxeOption.config.proxyConfig.ajax.query.call(this, {
1208
+ page,
1209
+ param,
1210
+ });
1211
+ },
493
1212
  };
494
1213
 
495
1214
  if (isQueryTable) {
496
1215
  tableOption.path = path;
497
1216
  tableOption.config.proxyConfig = {
498
1217
  props: {
499
- result: isDataPage ? 'objx.records' : 'objx', // 配置响应结果列表字段
500
- total: isDataPage ? 'objx.total' : 'objx.length' // 配置响应结果总页数字段
1218
+ result: isDataPage ? "objx.records" : "objx", // 配置响应结果列表字段
1219
+ total: isDataPage ? "objx.total" : "objx.length", // 配置响应结果总页数字段
501
1220
  },
502
1221
  ajax: {
503
1222
  // 接收 Promise 对象
504
- query: ({page, sorts, filters, form, param}) => {
505
- if (!path) {
506
- return;
507
- }
508
-
1223
+ query: ({ page, sorts, filters, form, param }) => {
1224
+ let scriptCode = this.getScriptCode();
509
1225
  let formData = tableOption.param ? tableOption.param() || {} : {};
510
1226
  const queryParams = Object.assign({}, formData);
511
1227
 
512
- // 处理排序条件
513
- if (sorts) {
514
- const firstSort = sorts[0];
515
- if (firstSort) {
516
- queryParams.sort = firstSort.property;
517
- queryParams.order = firstSort.order;
518
- }
519
- }
520
-
521
- // 处理筛选条件
522
1228
  if (filters) {
523
- filters.forEach(({property, values}) => {
1229
+ filters.forEach(({ property, values }) => {
524
1230
  queryParams[property] = values.join(",");
525
1231
  });
526
1232
  }
527
1233
 
528
1234
  if (page.pageSize !== undefined) {
529
- queryParams["size"] = `${page.pageSize}`;
530
- queryParams["current"] = `${page.currentPage}`;
1235
+ queryParams.size = page.pageSize;
1236
+ queryParams.current = page.currentPage;
531
1237
  }
532
1238
 
533
- /*let $grid = this.getGridTable();
534
- let isQueryAllPage = $grid.isQueryAllPage;
535
- let pathStr1 = "";
536
- if (isQueryAllPage === false) {
537
- queryParams.searchCount = false;
538
- }*/
539
- Object.assign(queryParams, param)
1239
+ queryParams.searchCount = isQueryAllPage !== false;
1240
+ Object.assign(queryParams, param);
540
1241
 
541
- var reqPath = typeof path == "function" ? path() : path;
1242
+ // PC 链路同规则:condition 追加合并,其余键平铺覆盖
1243
+ if (that.dataTableConfig.queryParam) {
1244
+ mergeQueryParam(queryParams, that.dataTableConfig.queryParam);
1245
+ }
542
1246
 
543
1247
  return new Promise((resolve, reject) => {
544
1248
  let reqData = {
545
- formCode: formCode,
546
- ...queryParams
547
- }
548
- if (accessScript) {
549
- let index = 0;
550
- let toDo = () => {
551
- let f = new Function("dataId", "formCode", "param", "done", accessScript);
552
- let done = (res) => {
553
- resolve(res);
554
- if (res.type == "success") {
555
- let rows = res.objx ? res.objx.records || res.objx || [] : [];
556
- this.setValue(rows);
557
- if (res.objx && res.objx.records) {
558
- this.page = res.objx || {};
559
- }
560
- if (tableOption.callback) {
561
- that.$nextTick(() => {
562
- setTimeout(function () {
563
- tableOption.callback(rows);
564
- }, 0);
565
- });
566
- }
567
- } else {
568
- this.setValue([]);
1249
+ ...queryParams,
1250
+ };
1251
+ if (scriptCode) {
1252
+ let done = (res) => {
1253
+ resolve(res);
1254
+ if (res.type === "success") {
1255
+ let rows = res.objx
1256
+ ? res.objx.records || res.objx || []
1257
+ : [];
1258
+ this.setValue(rows);
1259
+ if (res.objx && res.objx.records !== undefined) {
1260
+ this.page = {
1261
+ current: res.objx.current ?? this.page.current,
1262
+ size: res.objx.size ?? this.page.size,
1263
+ total: res.objx.total ?? 0,
1264
+ records: rows,
1265
+ };
569
1266
  }
570
- }
571
- let r = f.call(that, dataId, formCode, reqData, done);
572
- if (r) {
573
- r.catch(error => {
574
- reject(error);
1267
+ that.$nextTick(() => {
1268
+ setTimeout(function () {
1269
+ dataTableConfig.callback &&
1270
+ dataTableConfig.callback(rows);
1271
+ tableOption.callback && tableOption.callback(rows);
1272
+ that.handleCustomEvent(
1273
+ that.widget.options.formScriptCallback,
1274
+ ["rows"],
1275
+ [rows]
1276
+ );
1277
+ }, 0);
575
1278
  });
1279
+ } else {
1280
+ this.page = {
1281
+ current: 1,
1282
+ size: this.pageSize,
1283
+ total: 0,
1284
+ records: [],
1285
+ };
1286
+ this.setValue([]);
576
1287
  }
577
1288
  };
578
- let loopHandle = () => {
579
- /*if (index < 500 && $grid.tableFormStop === true) {
580
- //阻塞列表查询,或者次数达到500时,自动释放
581
- index++
582
- setTimeout(() => {
583
- loopHandle();
584
- }, 10)
585
- } else {
586
- if ($grid.tableFormStop) $grid.tableFormStop = false;
587
- toDo();
588
- }*/
589
- toDo();
590
- }
591
- loopHandle();
1289
+ this.loadDefaultQueryList(reqData, done).catch((error) => {
1290
+ reject(error);
1291
+ });
592
1292
  } else {
593
1293
  resolve();
594
1294
  }
595
- /*that.scriptHttp({
596
- options: this.widget.options,
597
- params: queryParams,
598
- callback: (res) => {
599
- resolve(res);
600
- if (res.type == "success") {
601
- let rows = res.objx ? res.objx.records || res.objx || [] : [];
602
- /!*if (tableOption.treeNodeUrl) {
603
- if (rows.length > 0) {
604
- let $t = this.$refs[tableRef];
605
- var treeConditions = $t.originOption.treeConditions || [
606
- "enabled",
607
- ];
608
- let treeFiled = Object.keys(formData).some((key) => {
609
- return (
610
- !treeConditions.includes(key) && formData[key] != null && formData[key] != ""
611
- );
612
- });
613
- if (treeFiled) {
614
- that.$nextTick(() => {
615
- setTimeout(function () {
616
- let isLazy = $t.treeConfig.lazy;
617
- $t.treeConfig.lazy = false;
618
- $t.setAllTreeExpand(true).then(() => {
619
- let fullAllDataRowMap = $t.$refs.xTable.fullAllDataRowMap;
620
- let fullData = $t.getTableData().fullData;
621
- fullData.forEach((lineData) => {
622
- if (
623
- $t.$refs.xTable.isTreeExpandByRow(lineData)
624
- ) {
625
- var rest = fullAllDataRowMap.get(lineData);
626
- rest.treeLoaded = true;
627
- }
628
- });
629
- $t.treeConfig.lazy = isLazy;
630
- });
631
- }, 0);
632
- });
633
- } else {
634
- let row = rows[0];
635
- if (row[result.treeConfig.hasChild]) {
636
- that.$nextTick(() => {
637
- setTimeout(function () {
638
- $t.setTreeExpand(row, true);
639
- }, 0);
640
- });
641
- }
642
- }
643
- }
644
- }*!/
645
- if (tableOption.callback) {
646
- that.$nextTick(() => {
647
- setTimeout(function () {
648
- tableOption.callback(rows);
649
- }, 0);
650
- });
651
- }
652
- }
653
- },
654
- httpConfig: {
655
- error: (error) => {
656
- reject(error);
657
- }
658
- }
659
- });*/
660
1295
  });
661
- }
662
- }
1296
+ },
1297
+ },
663
1298
  };
664
1299
  tableOption.callback = (rows) => {
665
1300
  // this.fieldModel = rows;
666
- this.formModel[this.fieldKeyName] = rows
667
- }
1301
+ this.formModel[this.fieldKeyName] = rows;
1302
+ };
668
1303
  }
669
1304
  this.vxeOption = tableOption;
670
1305
  this.loadAccessData();
@@ -681,23 +1316,66 @@ export default {
681
1316
  this.loadAccessData();
682
1317
  }*/
683
1318
  },
1319
+ getTableCondition() {
1320
+ if (this.widget.options.tableCondition) {
1321
+ let e = new Function(this.widget.options.tableCondition);
1322
+ return e.call(this);
1323
+ }
1324
+ },
1325
+ getSearchCondition() {
1326
+ // let extraAccessData = this.extraAccessData || {};
1327
+ let searchFormData = this.getSearchFormData();
1328
+ let conditions = {
1329
+ // ...this.getTableCondition(),
1330
+ ...searchFormData,
1331
+ // ...this.advancedFormData,
1332
+ // ...extraAccessData,
1333
+ };
1334
+ if (this.keyword) {
1335
+ conditions.keyword = this.keyword;
1336
+ }
1337
+ return conditions;
1338
+ },
684
1339
  getSearchFormData() {
685
- let map = {};
1340
+ let map = { condition: [] };
686
1341
  let formData = this.globalModel.formModel;
687
1342
  let widgetList = this.widget.widgetList;
688
1343
  if (!!widgetList && widgetList.length > 0) {
689
1344
  let loop = (wItem) => {
690
- if (wItem.category === 'container') {
1345
+ if (wItem.category === "container") {
691
1346
  loop(wItem);
692
1347
  } else {
693
1348
  let formField = this.getFieldKeyName(wItem);
694
1349
  let vaule = formData[formField];
695
- if (vaule !== null && vaule !== undefined && vaule !== '') {
696
- map[formField] = vaule;
1350
+ if (vaule !== null && vaule !== undefined && vaule !== "") {
1351
+ if (!Array.isArray(vaule) || vaule.length > 0) {
1352
+ let item = {
1353
+ value: vaule,
1354
+ field: formField,
1355
+ filter: null,
1356
+ };
1357
+ let wType = wItem.type;
1358
+ if (["date-range", "time-range"].includes(wType)) {
1359
+ item.filter = "between";
1360
+ } else if (
1361
+ ["input-batch", "checkbox"].includes(wType) ||
1362
+ (wType === "select" && wItem.options.multiple)
1363
+ ) {
1364
+ item.filter = "in";
1365
+ } else if (
1366
+ ["radio", "time", "date"].includes(wType) ||
1367
+ (wType === "select" && !wItem.options.multiple)
1368
+ ) {
1369
+ item.filter = "eq";
1370
+ } else {
1371
+ item.filter = "like";
1372
+ }
1373
+ map.condition.push(item);
1374
+ }
697
1375
  }
698
1376
  }
699
1377
  };
700
- widgetList.forEach(wItem => {
1378
+ widgetList.forEach((wItem) => {
701
1379
  loop(wItem);
702
1380
  });
703
1381
  }
@@ -710,51 +1388,133 @@ export default {
710
1388
  param = param || {};
711
1389
  let pageSize = param.size || this.pageSize;
712
1390
  let currentPage = param.current || 1;
713
- let page = {pageSize, currentPage};
714
- return this.vxeOption.config.proxyConfig.ajax.query.call(this, {page, param})
1391
+ let page = { pageSize, currentPage };
1392
+ return this.vxeOption.config.proxyConfig.ajax.query.call(this, {
1393
+ page,
1394
+ param,
1395
+ });
715
1396
  },
716
1397
  loadAccessData() {
717
1398
  let isQueryTable = this.widget.options.isQueryTable || false;
718
1399
  if (isQueryTable) {
719
- this.loadTableData({})
1400
+ this.loadTableData({});
720
1401
  return;
721
1402
  }
722
1403
  if (!isQueryTable && !this.formDataId) return;
723
1404
 
724
- let accessScript = this.widget.options.accessScript;
725
- let formCode = this.getFormRef().reportTemplate.formCode;
726
- if (accessScript) {
727
- let f = new Function("dataId", "formCode", "param", "done", accessScript);
728
- let toDo = (res) => {
729
- let rows = res.objx ? res.objx.records || res.objx || [] : [];
730
- // this.fieldModel = rows;
731
- this.formModel[this.fieldKeyName] = rows
732
- this.fieldModel = rows;
1405
+ let scriptCode = this.getScriptCode();
1406
+ if (scriptCode) {
1407
+ this.loadDefaultViewList();
1408
+ }
1409
+ },
1410
+ getAccessParam() {
1411
+ if (!this.widget.options.formScriptParam) return;
1412
+ return this.handleCustomEvent(this.widget.options.formScriptParam);
1413
+ },
1414
+ getScriptCode() {
1415
+ let accessReturnType = this.widget.options.accessReturnType;
1416
+ let defaultScriptCode = "getList";
1417
+ if (accessReturnType === "1") {
1418
+ defaultScriptCode = "getList";
1419
+ } else if (accessReturnType === "2") {
1420
+ defaultScriptCode = "getPage";
1421
+ }
1422
+ return this.widget.options.formScriptCode || defaultScriptCode;
1423
+ },
1424
+ getAttachmentType() {
1425
+ let result = [];
1426
+ let tableColumns = this.widget.options.tableColumns || [];
1427
+ tableColumns.forEach((item) => {
1428
+ if (item.prop && item.label && item.formatS === "editAttachment") {
1429
+ result.push(item.prop);
733
1430
  }
734
-
735
- f.call(this, this.formDataId, formCode, null, toDo)
1431
+ });
1432
+ return result;
1433
+ },
1434
+ getHttpConfigForUser() {
1435
+ return {
1436
+ addCreateInfo: true,
1437
+ queryCreateInfo: window.$vueRoot.$store.getters.queryCreateInfo || "0",
1438
+ };
1439
+ },
1440
+ /**
1441
+ * 构造表单脚本请求的 data 参数(通用)。
1442
+ * 勾选"请求去掉data层"(removeDataLevel)时,内层参数平铺到外层,不再包一层 data。
1443
+ */
1444
+ buildFormScriptData(reportTemplate, innerData, taBm) {
1445
+ let base = {
1446
+ formCode: reportTemplate.formCode,
1447
+ formVersion: reportTemplate.formVersion,
1448
+ taBm: taBm || this.fieldKeyName,
1449
+ };
1450
+ return this.widget.options.removeDataLevel
1451
+ ? { ...base, ...(innerData || {}) }
1452
+ : { ...base, data: innerData || {} };
1453
+ },
1454
+ loadDefaultQueryList(reqData, done) {
1455
+ let reportTemplate = this.getFormRef().reportTemplate;
1456
+ let scriptCode = this.getScriptCode();
1457
+ let accessParam = this.getAccessParam() || {};
1458
+ let otherParam = {};
1459
+ let attachmentType = this.getAttachmentType();
1460
+ if (attachmentType.length) {
1461
+ otherParam.attachmentType = attachmentType;
736
1462
  }
737
-
738
- /*this.scriptHttp({
739
- options: this.widget.options,
740
- params: {},
741
- success: (res) => {
1463
+ let defaultOption = this.getHttpConfigForUser();
1464
+ let requestData = {
1465
+ ...reqData,
1466
+ ...otherParam,
1467
+ };
1468
+ requestData = extendDeeply(requestData, accessParam);
1469
+ return this.formHttp({
1470
+ scriptCode: scriptCode,
1471
+ data: this.buildFormScriptData(reportTemplate, requestData),
1472
+ isLoading: false,
1473
+ ...defaultOption,
1474
+ callback: (res) => {
1475
+ done(res);
1476
+ },
1477
+ });
1478
+ },
1479
+ loadDefaultViewList() {
1480
+ let dataId = this.formDataId;
1481
+ let reportTemplate = this.getFormRef().reportTemplate;
1482
+ let accessParam = this.getAccessParam() || {};
1483
+ let otherParam = {};
1484
+ let attachmentType = this.getAttachmentType();
1485
+ if (attachmentType.length) {
1486
+ otherParam.attachmentType = attachmentType;
1487
+ }
1488
+ let scriptCode = this.getScriptCode();
1489
+ return this.formHttp({
1490
+ scriptCode: scriptCode,
1491
+ data: this.buildFormScriptData(reportTemplate, {
1492
+ id: dataId,
1493
+ ...otherParam,
1494
+ ...accessParam,
1495
+ }),
1496
+ callback: (res) => {
742
1497
  let rows = res.objx ? res.objx.records || res.objx || [] : [];
743
- this.fieldModel = rows;
744
- }
745
- });*/
1498
+ this.setValue(rows);
1499
+ this.handleCustomEvent(
1500
+ this.widget.options.formScriptCallback,
1501
+ ["rows"],
1502
+ [rows]
1503
+ );
1504
+ },
1505
+ });
746
1506
  },
747
1507
  getReqParam(item, dataId, billData) {
748
1508
  let param = {};
749
1509
  if (item.accessParam) {
750
1510
  if (typeof item.accessParam === "string") {
751
- let n = new Function('billData', item.accessParam);
1511
+ let n = new Function("billData", item.accessParam);
752
1512
  param = n.call(this, billData);
753
1513
  } else {
754
- param = item.accessParam
1514
+ param = item.accessParam;
755
1515
  }
756
1516
  } else {
757
- param = {id: dataId}
1517
+ param = { id: dataId };
758
1518
  }
759
1519
  return param;
760
1520
  },
@@ -762,10 +1522,12 @@ export default {
762
1522
  this.fieldModel.splice(rowIndex, 1);
763
1523
  },
764
1524
  createNewTableData() {
765
- let vailColumns = this.widget.options.tableColumns.filter(item => item.prop && item.label);
1525
+ let vailColumns = this.widget.options.tableColumns.filter(
1526
+ (item) => item.prop && item.label
1527
+ );
766
1528
  let newData = {};
767
- vailColumns.forEach(item => {
768
- if (item.formatS == 'editSearch') {
1529
+ vailColumns.forEach((item) => {
1530
+ if (item.formatS == "editSearch") {
769
1531
  newData[item.prop] = null;
770
1532
  let vabSearchName = item?.columnOption?.vabSearchName;
771
1533
  if (vabSearchName) newData[vabSearchName] = null;
@@ -781,11 +1543,11 @@ export default {
781
1543
  let fullData = this.fieldModel;
782
1544
  let items;
783
1545
  if (field) {
784
- let keys = fullData.map(item => {
1546
+ let keys = fullData.map((item) => {
785
1547
  return item[field] + "";
786
1548
  });
787
- items = rows.filter(item => {
788
- let value = item[field] + ""
1549
+ items = rows.filter((item) => {
1550
+ let value = item[field] + "";
789
1551
  return !keys.includes(value);
790
1552
  });
791
1553
  } else {
@@ -793,12 +1555,12 @@ export default {
793
1555
  }
794
1556
  if (items) {
795
1557
  if (items.length) {
796
- items.forEach(row => {
1558
+ items.forEach((row) => {
797
1559
  let newData = this.createNewTableData();
798
1560
  Object.assign(newData, row);
799
1561
 
800
1562
  tableRows.push(newData);
801
- })
1563
+ });
802
1564
  }
803
1565
  } else {
804
1566
  let newData = this.createNewTableData();
@@ -810,16 +1572,18 @@ export default {
810
1572
  },
811
1573
  getColumnWidgetConfig(row) {
812
1574
  let formRef = this.getFormRef();
813
- let formatS = row.formatS
1575
+ let formatS = row.formatS;
814
1576
  let columnSelectedWidget = null;
815
1577
  let columnEditFields = null;
816
1578
 
817
1579
  let type = this.columnFormatMap[row.formatS];
818
1580
 
819
1581
  if (type) {
820
- columnSelectedWidget = this.$baseLodash.cloneDeep(formRef.getFieldWidgetByType(type));
1582
+ columnSelectedWidget = this.$baseLodash.cloneDeep(
1583
+ formRef.getFieldWidgetByType(type)
1584
+ );
821
1585
  let tmpId = generateId();
822
- let idVal = row.prop ? row.prop : (type + tmpId);
1586
+ let idVal = row.prop ? row.prop : type + tmpId;
823
1587
  columnSelectedWidget.id = idVal;
824
1588
  columnSelectedWidget.options.name = idVal;
825
1589
  if (row.columnOption && Object.keys(row.columnOption).length) {
@@ -833,24 +1597,45 @@ export default {
833
1597
  columnSelectedWidget.options.label = row.label;
834
1598
  columnSelectedWidget.options.labelHidden = true;
835
1599
  }
836
- return {columnSelectedWidget, columnEditFields};
1600
+ return { columnSelectedWidget, columnEditFields };
837
1601
  },
838
1602
  getColumnProp(widget, obj) {
839
1603
  let isQueryTable = this.widget.options.isQueryTable || false;
840
1604
  if (isQueryTable) {
841
1605
  return "false";
842
1606
  } else {
843
- let propName = this.getFieldKeyName(widget) + '.' + obj.rowIndex + '.' + obj.column.field
844
- if (this.isVabsearchFlagWidget(widget)) {
1607
+ let propName =
1608
+ this.getFieldKeyName(widget) +
1609
+ "." +
1610
+ obj.rowIndex +
1611
+ "." +
1612
+ obj.column.field;
1613
+ if (
1614
+ this.isVabsearchFlagWidget(widget) &&
1615
+ !isVabsearchMultiWidget(widget)
1616
+ ) {
845
1617
  let vabSearchName = obj.column.params.widget.options.vabSearchName;
846
- propName = this.getFieldKeyName(widget) + '.' + obj.rowIndex + '.' + vabSearchName;
1618
+ propName =
1619
+ this.getFieldKeyName(widget) +
1620
+ "." +
1621
+ obj.rowIndex +
1622
+ "." +
1623
+ vabSearchName;
847
1624
  }
848
1625
  return propName;
849
1626
  }
850
1627
  },
1628
+ isVabsearchFlagWidget(widget) {
1629
+ let type = widget?.type;
1630
+ return (
1631
+ type === "vabsearch" ||
1632
+ type === "singerSearch" ||
1633
+ type === "multiSearch"
1634
+ );
1635
+ },
851
1636
  getColumnWidgetName(e) {
852
1637
  if (e && e.type) {
853
- return e.type + '-widget';
1638
+ return e.type + "-widget";
854
1639
  }
855
1640
  },
856
1641
  getGridTable() {
@@ -862,8 +1647,8 @@ export default {
862
1647
  return tableRef;
863
1648
  },
864
1649
  getUrl() {
865
- let accessUrl = this.widget.options.accessUrl
866
- return accessUrl || (USER_PREFIX + `/form_ins/getFormInsData`);
1650
+ let accessUrl = this.widget.options.accessUrl;
1651
+ return accessUrl || USER_PREFIX + `/form_ins/getFormInsData`;
867
1652
  },
868
1653
  openRowDetailDialog(row) {
869
1654
  /*let isQueryTable = this.widget.options.isQueryTable || false;
@@ -871,11 +1656,11 @@ export default {
871
1656
  this.editRow = row;
872
1657
  this.showRowDetailDialog = true;
873
1658
  },
874
- changePageNew({type, currentPage, pageSize, $event}) {
1659
+ changePageNew({ type, currentPage, pageSize, $event }) {
875
1660
  this.loadTableData({
876
1661
  size: pageSize + "",
877
- current: currentPage + ""
878
- })
1662
+ current: currentPage + "",
1663
+ });
879
1664
  },
880
1665
  /** 导出前按脱敏规则剔除列,实现见 textMaskUtil.markMaskedExportColumns。 */
881
1666
  markMaskedColumnsForExport() {
@@ -889,7 +1674,7 @@ export default {
889
1674
  let tableRef = this.getTableRef();
890
1675
  let serverName = this.getFormRef().reportTemplate.serverName;
891
1676
  option.prefix = option.prefix || serverName;
892
- this.$excelExport({targetRef: tableRef, ...option})
1677
+ this.$excelExport({ targetRef: tableRef, ...option });
893
1678
  },
894
1679
  itemCheck(row) {
895
1680
  let dataTableConfig = this.dataTableConfig;
@@ -901,25 +1686,15 @@ export default {
901
1686
  checkItemIds.splice(checkItemIds.indexOf(row.id), 1);
902
1687
  } else {
903
1688
  checked = true;
904
- checkItemIds.push(row.id)
1689
+ checkItemIds.push(row.id);
905
1690
  }
906
- let param = {row, checked};
907
- dataTableConfig.onCheckboxChange && dataTableConfig.onCheckboxChange(param);
1691
+ let param = { row, checked };
1692
+ dataTableConfig.onCheckboxChange &&
1693
+ dataTableConfig.onCheckboxChange(param);
908
1694
  }
909
-
910
- }
911
- }
1695
+ },
1696
+ },
912
1697
  };
913
1698
  </script>
914
- <style lang="scss" scoped>
915
- @import "~@/resources/css/h5.scss";
916
-
917
- .orderList-box {
918
- flex: 1;
919
- overflow-y: auto;
920
- }
921
-
922
- .search-H5box {
923
- margin: 0 0 9px;
924
- }
925
- </style>
1699
+
1700
+ <style lang="scss" scoped></style>