cloud-web-corejs 1.1.0-dev.6 → 1.1.0-dev.60

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 (498) hide show
  1. package/README.md +38 -0
  2. package/bin/core-resources.js +16 -0
  3. package/bin/create-child-app.js +34 -0
  4. package/docs/child-app/README.md +95 -0
  5. package/docs/child-app/activiti-resources.md +63 -0
  6. package/docs/child-app/generate-prompt.md +55 -0
  7. package/docs/child-app/luckysheet-resources.md +80 -0
  8. package/docs/child-app/public-resources-plan.md +288 -0
  9. package/docs/child-app/resources-implementation.md +101 -0
  10. package/docs/child-app/tinymce-resources.md +88 -0
  11. package/docs/child-app/validation.md +34 -0
  12. package/docs/qiankun/346/216/245/345/205/245/345/215/217/350/256/256.md +298 -0
  13. package/docs/qiankun/350/257/246/346/203/205/346/211/277/350/275/275/345/255/220/345/272/224/347/224/250/345/257/271/346/216/245/346/270/205/345/215/225.md +111 -0
  14. package/package.json +29 -4
  15. package/resource-tools/index.js +126 -0
  16. package/src/app-bootstrap.js +531 -0
  17. package/src/app-bootstrap.sync.js +502 -0
  18. package/src/boot-assets.legacy.js +13 -0
  19. package/src/boot-assets.next.js +7 -0
  20. package/src/components/Qrcode/fileParse.vue +11 -0
  21. package/src/components/Tinymce/dynamicLoadScript.js +51 -59
  22. package/src/components/Tinymce/index.vue +382 -336
  23. package/src/components/Tinymce/mce-chrome.scss +150 -0
  24. package/src/components/VabUpload/image-viewer.vue +18 -10
  25. package/src/components/VabUpload/index.js +11 -4
  26. package/src/components/VabUpload/index.vue +1 -1
  27. package/src/components/VabUpload/mixins/fileLibraryDialog.js +2 -0
  28. package/src/components/VabUpload/mixins.js +72 -40
  29. package/src/components/VabUpload/partUploadConfig.js +95 -0
  30. package/src/components/VabUpload/privateProfileDialogMixins.js +2 -0
  31. package/src/components/VabUpload/style.scss +282 -0
  32. package/src/components/VabUpload/view.vue +19 -18
  33. package/src/components/baseArea/index.vue +2 -2
  34. package/src/components/baseInputExport/mixins.js +1 -6
  35. package/src/components/bizTab/BizTabListPage.vue +66 -33
  36. package/src/components/bizTab/README.md +3 -1
  37. package/src/components/bizTab/bizBillDetailMixin.js +2 -0
  38. package/src/components/code-editor/ace-chrome.scss +17 -0
  39. package/src/components/code-editor/index.vue +361 -340
  40. package/src/components/errorMsg/index.vue +142 -13
  41. package/src/components/errorMsg/mixins.js +53 -0
  42. package/src/components/excelExport/conditionExportConfig.js +112 -0
  43. package/src/components/excelExport/exportColumnMemory.js +118 -0
  44. package/src/components/excelExport/exportFieldDialog.vue +50 -38
  45. package/src/components/excelExport/exportType.js +8 -0
  46. package/src/components/excelExport/index.js +30 -13
  47. package/src/components/excelExport/index.vue +7 -1
  48. package/src/components/excelExport/mixins.js +782 -293
  49. package/src/components/excelImport/index.vue +156 -156
  50. package/src/components/excelImport/mixins.js +888 -834
  51. package/src/components/fileLibrary/mixins/indexMixins.js +2 -0
  52. package/src/components/fileLibrary/style.scss +579 -0
  53. package/src/components/formDialog/index.vue +11 -8
  54. package/src/components/hiprint/style.scss +188 -0
  55. package/src/components/hiprint/view/json-view.vue +4 -4
  56. package/src/components/jdPrint/mixins.js +2 -0
  57. package/src/components/jsonImport/index.vue +1 -1
  58. package/src/components/jsonImport/mixins.js +6 -10
  59. package/src/components/langImport/index.vue +1 -1
  60. package/src/components/langImport/mixins.js +6 -10
  61. package/src/components/luckysheet/loadResources.js +64 -0
  62. package/src/components/luckysheet/view.vue +239 -210
  63. package/src/components/mobile/buttonGroup/index.vue +1 -1
  64. package/src/components/mobile/wf/addTaskUserdialog.vue +100 -80
  65. package/src/components/mobile/wf/content.vue +1734 -1662
  66. package/src/components/mobile/wf/deleteTaskUserDialog.vue +73 -54
  67. package/src/components/mobile/wf/selectUserDialog.vue +118 -0
  68. package/src/components/mobile/wf/setCandidateDialog.vue +69 -48
  69. package/src/components/mobile/wf/urgingDialog.vue +75 -52
  70. package/src/components/mobile/wf/wfModifyDialog.vue +4 -0
  71. package/src/components/obsUpload/index.js +4 -1
  72. package/src/components/obsUpload/index.vue +1 -1
  73. package/src/components/obsUpload/mixins.js +45 -15
  74. package/src/components/onlineTalk/index.vue +4 -4
  75. package/src/components/onlineTalk/mixins.js +21 -7
  76. package/src/components/table/index.js +96 -81
  77. package/src/components/table/plugins/cell-area/index.js +10 -3
  78. package/src/components/table/style.scss +1399 -0
  79. package/src/components/table/vxeFilter/mixin.js +28 -18
  80. package/src/components/wf/content.vue +3 -2
  81. package/src/components/wf/content2.vue +1 -1
  82. package/src/components/wf/style.scss +265 -0
  83. package/src/components/wf/wf.js +7 -0
  84. package/src/components/wf/wfActionItems.js +3 -0
  85. package/src/components/wf/wfStartDialog.vue +1 -0
  86. package/src/components/wf/wfTransferEnabled.js +54 -0
  87. package/src/components/wf/wfUtil.js +47 -29
  88. package/src/components/wf/wfVisibility.js +6 -0
  89. 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" +64 -57
  90. package/src/components/xform/docs/2026-08 xform H5 P0 /345/256/236/347/216/260/350/247/204/346/240/274.md" +1 -1
  91. package/src/components/xform/docs/2026-08 xform /347/247/273/345/212/250/347/253/257/345/270/203/345/261/200/345/257/271/351/275/220 bill_setting /346/226/271/346/241/210.md" +1 -1
  92. package/src/components/xform/docs/2026-09 /345/212/250/346/200/201/345/255/227/346/256/265/350/247/204/345/210/231/344/270/216/346/265/201/347/250/213/346/216/247/345/210/266/346/211/247/350/241/214/351/241/272/345/272/217/350/220/275/345/234/260/346/226/271/346/241/210.md" +409 -0
  93. package/src/components/xform/docs/2026-09 /346/235/241/344/273/266/345/257/274/345/207/272/345/244/247/346/225/260/346/215/256/351/207/217/345/264/251/346/272/203/346/216/222/346/237/245.md" +389 -0
  94. package/src/components/xform/docs/2026-09 /346/265/217/350/247/210/345/231/250/345/264/251/346/272/203/346/262/273/347/220/206P0/344/273/243/347/240/201/350/257/204/345/256/241.md" +255 -0
  95. package/src/components/xform/docs/2026-09 /346/265/217/350/247/210/345/231/250/345/264/251/346/272/203/346/262/273/347/220/206P0/346/265/213/350/257/225/351/252/214/350/257/201/345/256/236/346/226/275/346/226/207/346/241/243.md" +595 -0
  96. package/src/components/xform/docs/2026-09 /347/274/226/350/276/221/350/241/250/350/241/214/345/206/205/344/277/235/345/255/230/346/240/241/351/252/214/350/214/203/345/233/264/344/270/216/345/210/227/345/277/205/345/241/253/350/247/243/346/236/220/344/277/256/345/244/215.md" +233 -0
  97. package/src/components/xform/docs/2026-09 /350/241/250/345/215/225/345/257/274/345/205/245/351/200/232/351/201/223/346/242/263/347/220/206/344/270/216/350/220/275/345/234/260/346/226/271/346/241/210.md" +745 -0
  98. package/src/components/xform/docs//346/265/217/350/247/210/345/231/250/345/264/251/346/272/203/346/262/273/347/220/206/344/270/216/344/277/256/345/244/215/350/220/275/345/234/260/346/226/271/346/241/210.md +324 -0
  99. package/src/components/xform/form-designer/designer.js +2133 -2100
  100. package/src/components/xform/form-designer/form-widget/container-widget/data-table-mixin.js +7 -0
  101. package/src/components/xform/form-designer/form-widget/container-widget/data-table-widget.vue +4 -2
  102. package/src/components/xform/form-designer/form-widget/container-widget/detail-h5-widget.vue +243 -227
  103. package/src/components/xform/form-designer/form-widget/container-widget/h5-card-pane-widget.vue +228 -207
  104. package/src/components/xform/form-designer/form-widget/container-widget/h5-card-widget.vue +165 -136
  105. package/src/components/xform/form-designer/form-widget/dialog/formDialog.vue +30 -4
  106. package/src/components/xform/form-designer/form-widget/dialog/importDialog.vue +190 -185
  107. package/src/components/xform/form-designer/form-widget/dialog/importDialogMixin.js +2657 -1774
  108. package/src/components/xform/form-designer/form-widget/dialog/searchFormDialog.vue +27 -4
  109. package/src/components/xform/form-designer/form-widget/field-widget/a-link-widget.vue +1 -1
  110. package/src/components/xform/form-designer/form-widget/field-widget/a-text-widget.vue +1 -1
  111. package/src/components/xform/form-designer/form-widget/field-widget/area-select-widget.vue +1 -1
  112. package/src/components/xform/form-designer/form-widget/field-widget/autocomplete-widget.vue +1 -1
  113. package/src/components/xform/form-designer/form-widget/field-widget/baseAttachment-widget.vue +1 -1
  114. package/src/components/xform/form-designer/form-widget/field-widget/button-widget.vue +1 -1
  115. package/src/components/xform/form-designer/form-widget/field-widget/cascader-widget.vue +1 -1
  116. package/src/components/xform/form-designer/form-widget/field-widget/census-widget.vue +1 -1
  117. package/src/components/xform/form-designer/form-widget/field-widget/checkbox-widget.vue +1 -1
  118. package/src/components/xform/form-designer/form-widget/field-widget/color-widget.vue +1 -1
  119. package/src/components/xform/form-designer/form-widget/field-widget/copy_button-widget.vue +1 -1
  120. package/src/components/xform/form-designer/form-widget/field-widget/date-range-widget.vue +1 -1
  121. package/src/components/xform/form-designer/form-widget/field-widget/date-widget.vue +1 -1
  122. package/src/components/xform/form-designer/form-widget/field-widget/descriptions-widget.vue +1 -1
  123. package/src/components/xform/form-designer/form-widget/field-widget/divider-widget.vue +1 -1
  124. package/src/components/xform/form-designer/form-widget/field-widget/download-button-widget.vue +1 -1
  125. package/src/components/xform/form-designer/form-widget/field-widget/dropdown-item-widget.vue +1 -1
  126. package/src/components/xform/form-designer/form-widget/field-widget/dropdown-widget.vue +35 -4
  127. package/src/components/xform/form-designer/form-widget/field-widget/echart-bar-widget.vue +1 -1
  128. package/src/components/xform/form-designer/form-widget/field-widget/echart-category-widget.vue +1 -1
  129. package/src/components/xform/form-designer/form-widget/field-widget/echart-pie-widget.vue +1 -1
  130. package/src/components/xform/form-designer/form-widget/field-widget/fieldMixin.js +64 -10
  131. package/src/components/xform/form-designer/form-widget/field-widget/file-upload-widget.vue +1 -1
  132. package/src/components/xform/form-designer/form-widget/field-widget/form-item-wrapper.vue +14 -4
  133. package/src/components/xform/form-designer/form-widget/field-widget/html-text-widget.vue +1 -1
  134. package/src/components/xform/form-designer/form-widget/field-widget/import-button-widget.vue +19 -6
  135. package/src/components/xform/form-designer/form-widget/field-widget/import2-button-widget.vue +1 -1
  136. package/src/components/xform/form-designer/form-widget/field-widget/index.js +10 -1
  137. package/src/components/xform/form-designer/form-widget/field-widget/input-batch-widget.vue +1 -1
  138. package/src/components/xform/form-designer/form-widget/field-widget/input-widget.vue +29 -3
  139. package/src/components/xform/form-designer/form-widget/field-widget/multiSearch-widget.vue +1 -1
  140. package/src/components/xform/form-designer/form-widget/field-widget/news-list-widget.vue +1 -1
  141. package/src/components/xform/form-designer/form-widget/field-widget/number-widget.vue +1 -1
  142. package/src/components/xform/form-designer/form-widget/field-widget/oplog-widget.vue +1 -1
  143. package/src/components/xform/form-designer/form-widget/field-widget/picture-upload-widget.vue +1 -1
  144. package/src/components/xform/form-designer/form-widget/field-widget/print-button-widget.vue +1 -1
  145. package/src/components/xform/form-designer/form-widget/field-widget/print-detail-button-widget.vue +1 -1
  146. package/src/components/xform/form-designer/form-widget/field-widget/project-tag-widget.vue +1 -1
  147. package/src/components/xform/form-designer/form-widget/field-widget/radio-widget.vue +1 -1
  148. package/src/components/xform/form-designer/form-widget/field-widget/rate-widget.vue +1 -1
  149. package/src/components/xform/form-designer/form-widget/field-widget/rich-editor-widget.vue +1 -1
  150. package/src/components/xform/form-designer/form-widget/field-widget/row-col-select-widget.vue +64 -0
  151. package/src/components/xform/form-designer/form-widget/field-widget/save_submit_wf_button-widget.vue +1 -1
  152. package/src/components/xform/form-designer/form-widget/field-widget/script-input-widget.vue +1 -1
  153. package/src/components/xform/form-designer/form-widget/field-widget/search_button-widget.vue +1 -1
  154. package/src/components/xform/form-designer/form-widget/field-widget/select-export-button-widget.vue +1 -1
  155. package/src/components/xform/form-designer/form-widget/field-widget/select-export-item-button-widget.vue +6 -2
  156. package/src/components/xform/form-designer/form-widget/field-widget/select-widget.vue +1 -1
  157. package/src/components/xform/form-designer/form-widget/field-widget/singerSearch-widget.vue +1 -1
  158. package/src/components/xform/form-designer/form-widget/field-widget/singleUpload-widget.vue +145 -145
  159. package/src/components/xform/form-designer/form-widget/field-widget/slider-widget.vue +1 -1
  160. package/src/components/xform/form-designer/form-widget/field-widget/static-content-wrapper.vue +1 -1
  161. package/src/components/xform/form-designer/form-widget/field-widget/static-text-widget.vue +1 -1
  162. package/src/components/xform/form-designer/form-widget/field-widget/status-widget.vue +1 -1
  163. package/src/components/xform/form-designer/form-widget/field-widget/switch-widget.vue +1 -1
  164. package/src/components/xform/form-designer/form-widget/field-widget/table-export-button-widget.vue +3 -2
  165. package/src/components/xform/form-designer/form-widget/field-widget/tempStorage-widget.vue +1 -1
  166. package/src/components/xform/form-designer/form-widget/field-widget/text-widget.vue +1 -1
  167. package/src/components/xform/form-designer/form-widget/field-widget/textarea-widget.vue +1 -1
  168. package/src/components/xform/form-designer/form-widget/field-widget/time-range-widget.vue +1 -1
  169. package/src/components/xform/form-designer/form-widget/field-widget/time-widget.vue +1 -1
  170. package/src/components/xform/form-designer/form-widget/field-widget/title-head-widget.vue +1 -1
  171. package/src/components/xform/form-designer/form-widget/field-widget/vabSearch-widget.vue +1 -1
  172. package/src/components/xform/form-designer/form-widget/field-widget/vabUpload-widget.vue +3 -3
  173. package/src/components/xform/form-designer/form-widget/field-widget/vabUpload2-widget.vue +25 -1
  174. package/src/components/xform/form-designer/form-widget/field-widget/vue-page-widget.vue +1 -1
  175. package/src/components/xform/form-designer/indexMixin.js +27 -0
  176. package/src/components/xform/form-designer/setting-panel/form-dynamicField-setting.vue +687 -602
  177. package/src/components/xform/form-designer/setting-panel/form-setting.vue +269 -36
  178. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +335 -12
  179. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +23 -7
  180. package/src/components/xform/form-designer/setting-panel/property-editor/container-detail/detail-temp-edito.vue +13 -1
  181. package/src/components/xform/form-designer/setting-panel/property-editor/container-list-h5/list-h5-editor.vue +846 -860
  182. package/src/components/xform/form-designer/setting-panel/property-editor/container-tab/tab-lazyRender-editor.vue +27 -0
  183. package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/onTabChange-editor.vue +28 -0
  184. package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/onTabClick-editor.vue +28 -0
  185. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import-button-editor.vue +62 -1
  186. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import2-button-editor.vue +142 -2
  187. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/empty-number-input.vue +51 -0
  188. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/select-export-item-button-editor.vue +27 -2
  189. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/table-export-button-editor.vue +33 -3
  190. package/src/components/xform/form-designer/setting-panel/property-editor/project-tag-editor.vue +2 -4
  191. package/src/components/xform/form-designer/setting-panel/property-editor/suffixIconClickable-editor.vue +23 -0
  192. package/src/components/xform/form-designer/setting-panel/propertyRegister.js +18 -4
  193. package/src/components/xform/form-designer/toolbar-panel/index.vue +884 -874
  194. package/src/components/xform/form-designer/toolbar-panel/indexMixin.js +13 -0
  195. package/src/components/xform/form-designer/widget-panel/index.vue +11 -7
  196. package/src/components/xform/form-designer/widget-panel/indexMixin.js +15 -2
  197. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +152 -9
  198. package/src/components/xform/form-render/container-item/containerItemMixin.js +93 -8
  199. package/src/components/xform/form-render/container-item/data-table-item.vue +352 -347
  200. package/src/components/xform/form-render/container-item/data-table-mixin.js +7261 -5985
  201. package/src/components/xform/form-render/container-item/detail-h5-item.vue +48 -19
  202. package/src/components/xform/form-render/container-item/detail-item.vue +350 -446
  203. package/src/components/xform/form-render/container-item/dynamicFieldMixin.js +55 -1
  204. package/src/components/xform/form-render/container-item/list-h5-item.vue +261 -178
  205. package/src/components/xform/form-render/container-item/panel-item.vue +1 -1
  206. package/src/components/xform/form-render/container-item/tab-item.vue +177 -129
  207. package/src/components/xform/form-render/fieldControlEngine.js +218 -0
  208. package/src/components/xform/form-render/fieldControlMixin.js +536 -0
  209. package/src/components/xform/form-render/index.vue +164 -153
  210. package/src/components/xform/form-render/indexMixin.js +5443 -5311
  211. package/src/components/xform/form-render/pageDialogScope.js +54 -0
  212. package/src/components/xform/icon-picker/index.vue +1 -1
  213. package/src/components/xform/lang/en-US.js +8 -0
  214. package/src/components/xform/lang/zh-CN.js +9 -0
  215. package/src/components/xform/mixins/businessLock.js +59 -0
  216. package/src/components/xform/mixins/defaultHandle.js +713 -707
  217. package/src/components/xform/mixins/scriptHttp.js +42 -21
  218. package/src/components/xform/mixins/wfStart.js +105 -0
  219. package/src/components/xform/mixins/wfVisibility.js +33 -0
  220. package/src/components/xform/styles/census.scss +288 -0
  221. package/src/components/xform/styles/containers.scss +215 -0
  222. package/src/components/xform/styles/designer.scss +904 -0
  223. package/src/components/xform/styles/detail-temp.scss +71 -0
  224. package/src/components/xform/styles/h5-designer.scss +191 -0
  225. package/src/components/xform/styles/h5-runtime.scss +520 -0
  226. package/src/components/xform/styles/h5.scss +836 -516
  227. package/src/components/xform/styles/skins.scss +398 -0
  228. package/src/components/xform/styles/table-layout.scss +91 -0
  229. package/src/components/xform/styles/titles.scss +255 -0
  230. package/src/components/xform/utils/dynamicSchemaUtil.js +385 -361
  231. package/src/components/xform/utils/fixedQueryUtil.js +29 -4
  232. package/src/components/xform/utils/serviceNameCache.js +69 -0
  233. package/src/components/xform/utils/tableColumnHelper.js +46 -4
  234. package/src/components/xform/utils/util.js +1776 -1708
  235. package/src/core-resources/css/h5.scss +548 -0
  236. package/src/core-resources/css/iconfont.css +1447 -0
  237. package/src/core-resources/font/iconfont.ttf +0 -0
  238. package/src/core-resources/font/iconfont.woff +0 -0
  239. package/src/core-resources/font/iconfont.woff2 +0 -0
  240. package/src/core-resources/images/default-header.png +0 -0
  241. package/src/core-resources/images/ico-default_wenjian.svg +1 -0
  242. package/src/core-resources/images/ico-excel.svg +1 -0
  243. package/src/core-resources/images/ico-ftl.svg +7 -0
  244. package/src/core-resources/images/ico-html.svg +1 -0
  245. package/src/core-resources/images/ico-java.svg +1 -0
  246. package/src/core-resources/images/ico-music.svg +1 -0
  247. package/src/core-resources/images/ico-pdf.svg +1 -0
  248. package/src/core-resources/images/ico-photo.svg +1 -0
  249. package/src/core-resources/images/ico-ppt.svg +1 -0
  250. package/src/core-resources/images/ico-psd.svg +1 -0
  251. package/src/core-resources/images/ico-service.png +0 -0
  252. package/src/core-resources/images/ico-txt.svg +1 -0
  253. package/src/core-resources/images/ico-video.svg +1 -0
  254. package/src/core-resources/images/ico-vue.svg +8 -0
  255. package/src/core-resources/images/ico-wenjianjia.svg +1 -0
  256. package/src/core-resources/images/ico-wrod.svg +1 -0
  257. package/src/core-resources/images/ico-xml.svg +1 -0
  258. package/src/core-resources/images/ico-yasuobao.svg +1 -0
  259. package/src/core-resources/images/icon-error.png +0 -0
  260. package/src/core-resources/images/icon-tips.png +0 -0
  261. package/src/core-resources/images/nodata.png +0 -0
  262. package/src/core-resources/images/nodata2.png +0 -0
  263. package/src/directive/append-to-body/index.js +48 -0
  264. package/src/directive/el-dialog-center/index.js +3 -2
  265. package/src/directive/el-drag-dialog/drag.js +33 -4
  266. package/src/icons/index.js +9 -0
  267. package/src/icons/svg/404.svg +1 -0
  268. package/src/icons/svg/alert.svg +1 -0
  269. package/src/icons/svg/bug.svg +1 -0
  270. package/src/icons/svg/button.svg +1 -0
  271. package/src/icons/svg/card.svg +1 -0
  272. package/src/icons/svg/cascader-field.svg +1 -0
  273. package/src/icons/svg/census.svg +1 -0
  274. package/src/icons/svg/chart.svg +1 -0
  275. package/src/icons/svg/checkbox-field.svg +1 -0
  276. package/src/icons/svg/clipboard.svg +1 -0
  277. package/src/icons/svg/color-field.svg +1 -0
  278. package/src/icons/svg/component.svg +1 -0
  279. package/src/icons/svg/custom-component.svg +1 -0
  280. package/src/icons/svg/dashboard.svg +1 -0
  281. package/src/icons/svg/data-table.svg +1 -0
  282. package/src/icons/svg/date-field.svg +1 -0
  283. package/src/icons/svg/date-range-field.svg +1 -0
  284. package/src/icons/svg/descriptions.svg +1 -0
  285. package/src/icons/svg/divider.svg +1 -0
  286. package/src/icons/svg/document.svg +1 -0
  287. package/src/icons/svg/documentation.svg +1 -0
  288. package/src/icons/svg/drag.svg +1 -0
  289. package/src/icons/svg/echart-category.svg +1 -0
  290. package/src/icons/svg/echart-pie.svg +1 -0
  291. package/src/icons/svg/echart.svg +1 -0
  292. package/src/icons/svg/edit.svg +1 -0
  293. package/src/icons/svg/education.svg +1 -0
  294. package/src/icons/svg/email.svg +1 -0
  295. package/src/icons/svg/example.svg +1 -0
  296. package/src/icons/svg/excel.svg +1 -0
  297. package/src/icons/svg/exit-fullscreen.svg +1 -0
  298. package/src/icons/svg/eye-open.svg +1 -0
  299. package/src/icons/svg/eye.svg +1 -0
  300. package/src/icons/svg/file-upload-field.svg +1 -0
  301. package/src/icons/svg/form.svg +1 -0
  302. package/src/icons/svg/fullscreen.svg +1 -0
  303. package/src/icons/svg/github.svg +1 -0
  304. package/src/icons/svg/grid.svg +1 -0
  305. package/src/icons/svg/guide.svg +1 -0
  306. package/src/icons/svg/html-text.svg +1 -0
  307. package/src/icons/svg/ico-more.svg +1 -0
  308. package/src/icons/svg/ico-wenjianjia.svg +1 -0
  309. package/src/icons/svg/icon.svg +1 -0
  310. package/src/icons/svg/input-batch.svg +1 -0
  311. package/src/icons/svg/international.svg +1 -0
  312. package/src/icons/svg/language.svg +1 -0
  313. package/src/icons/svg/link.svg +1 -0
  314. package/src/icons/svg/list-export.svg +1 -0
  315. package/src/icons/svg/list.svg +1 -0
  316. package/src/icons/svg/lock.svg +1 -0
  317. package/src/icons/svg/message.svg +1 -0
  318. package/src/icons/svg/money.svg +1 -0
  319. package/src/icons/svg/nested.svg +1 -0
  320. package/src/icons/svg/news-list.svg +1 -0
  321. package/src/icons/svg/node-tree.svg +1 -0
  322. package/src/icons/svg/number-field.svg +1 -0
  323. package/src/icons/svg/password.svg +1 -0
  324. package/src/icons/svg/pdf.svg +1 -0
  325. package/src/icons/svg/people.svg +1 -0
  326. package/src/icons/svg/peoples.svg +1 -0
  327. package/src/icons/svg/picture-upload-field.svg +1 -0
  328. package/src/icons/svg/qq.svg +1 -0
  329. package/src/icons/svg/query.svg +1 -0
  330. package/src/icons/svg/radio-field.svg +1 -0
  331. package/src/icons/svg/rate-field.svg +1 -0
  332. package/src/icons/svg/redo.svg +1 -0
  333. package/src/icons/svg/rich-editor-field.svg +1 -0
  334. package/src/icons/svg/search.svg +1 -0
  335. package/src/icons/svg/searchbox.svg +1 -0
  336. package/src/icons/svg/section.svg +1 -0
  337. package/src/icons/svg/select-field.svg +1 -0
  338. package/src/icons/svg/shopping.svg +1 -0
  339. package/src/icons/svg/size.svg +1 -0
  340. package/src/icons/svg/skill.svg +1 -0
  341. package/src/icons/svg/slider-field.svg +1 -0
  342. package/src/icons/svg/slot-component.svg +1 -0
  343. package/src/icons/svg/slot-field.svg +1 -0
  344. package/src/icons/svg/star.svg +1 -0
  345. package/src/icons/svg/static-text.svg +1 -0
  346. package/src/icons/svg/status.svg +1 -0
  347. package/src/icons/svg/sub-form.svg +1 -0
  348. package/src/icons/svg/switch-field.svg +1 -0
  349. package/src/icons/svg/tab.svg +1 -0
  350. package/src/icons/svg/table.svg +1 -0
  351. package/src/icons/svg/text-field.svg +1 -0
  352. package/src/icons/svg/text.svg +1 -0
  353. package/src/icons/svg/textarea-field.svg +1 -0
  354. package/src/icons/svg/theme.svg +1 -0
  355. package/src/icons/svg/time-field.svg +1 -0
  356. package/src/icons/svg/time-range-field.svg +1 -0
  357. package/src/icons/svg/tips-text.svg +1 -0
  358. package/src/icons/svg/title-head.svg +1 -0
  359. package/src/icons/svg/tree-pane.svg +1 -0
  360. package/src/icons/svg/tree-table.svg +1 -0
  361. package/src/icons/svg/tree.svg +1 -0
  362. package/src/icons/svg/undo.svg +1 -0
  363. package/src/icons/svg/uploadbox.svg +1 -0
  364. package/src/icons/svg/user.svg +1 -0
  365. package/src/icons/svg/vf-box.svg +1 -0
  366. package/src/icons/svg/vf-dialog.svg +1 -0
  367. package/src/icons/svg/vf-drawer.svg +1 -0
  368. package/src/icons/svg/vue-sfc.svg +1 -0
  369. package/src/icons/svg/wechat.svg +1 -0
  370. package/src/icons/svg/zip.svg +1 -0
  371. package/src/index.js +2 -510
  372. package/src/index.next.js +5 -0
  373. package/src/index.sync.js +5 -0
  374. package/src/layout/components/Sidebar/default.vue +1656 -1655
  375. package/src/layout/components/TagsView/index.vue +330 -323
  376. package/src/layout/components/TagsView/style.scss +92 -0
  377. package/src/layout/defaultLayout.vue +2 -2
  378. package/src/router/index.js +43 -48
  379. package/src/router/modules/customer.js +12 -0
  380. package/src/store/modules/settings.js +1 -1
  381. package/src/store/modules/tagsView.js +241 -217
  382. package/src/store/modules/user.js +16 -12
  383. package/src/styles/btn.scss +315 -0
  384. package/src/styles/dialog.scss +1710 -0
  385. package/src/styles/element-ui.scss +1076 -0
  386. package/src/styles/element-variables.scss +31 -0
  387. package/src/styles/global.scss +115 -0
  388. package/src/styles/index.scss +245 -0
  389. package/src/styles/layout-skins.scss +840 -0
  390. package/src/styles/legacy-base.scss +19 -0
  391. package/src/styles/menu-icons.scss +75 -0
  392. package/src/styles/mixin.scss +80 -0
  393. package/src/styles/nprogress.scss +14 -0
  394. package/src/styles/page-shell.scss +723 -0
  395. package/src/styles/sidebar.scss +296 -0
  396. package/src/styles/split-handle.scss +52 -0
  397. package/src/styles/theme-variables.scss +7 -0
  398. package/src/styles/transition.scss +48 -0
  399. package/src/styles/utilities.scss +253 -0
  400. package/src/styles/variables.scss +72 -0
  401. package/src/utils/baseDictsCache.js +197 -0
  402. package/src/utils/chunkLoadError.js +24 -0
  403. package/src/utils/featureResources.js +57 -0
  404. package/src/utils/importLimit.js +72 -0
  405. package/src/utils/pdfUtil.js +6 -1
  406. package/src/utils/request.js +142 -7
  407. package/src/utils/resolveViewComponent.js +45 -90
  408. package/src/utils/runtimeRecovery.js +105 -0
  409. package/src/utils/swiperLoader.js +20 -0
  410. package/src/utils/vab.js +1334 -1283
  411. package/src/utils/xlsxLoader.js +29 -0
  412. package/src/views/bd/setting/formVersion/compareContMixin.scss +1 -1
  413. package/src/views/bd/setting/form_template/edit.vue +378 -356
  414. package/src/views/bd/setting/form_template/formDesignerDialog.vue +6 -0
  415. package/src/views/bd/setting/form_template/formTemplateType.js +43 -0
  416. package/src/views/bd/setting/form_template/list.vue +304 -303
  417. package/src/views/bd/setting/form_template/mixins/edit.js +344 -280
  418. package/src/views/bd/setting/form_template/mixins/list.js +749 -721
  419. package/src/views/bd/setting/form_template/mixins/list2.js +412 -411
  420. package/src/views/bd/setting/form_template/mixins/wf_list.js +431 -430
  421. package/src/views/mobile/user/area/dialog.vue +1 -1
  422. package/src/views/mobile/user/user/dialog.vue +1 -1
  423. package/src/views/user/bill_setting/mixins/wf.js +8 -0
  424. package/src/views/user/bill_setting/render.vue +1 -1
  425. package/src/views/user/commMenu/index.vue +3 -1
  426. package/src/views/user/commMenu/style.scss +123 -0
  427. package/src/views/user/common_attribute/edit.vue +2 -0
  428. package/src/views/user/common_attribute/itemEdit.vue +2 -0
  429. package/src/views/user/file_view_ins/list.vue +970 -970
  430. package/src/views/user/form/form_template/list.vue +527 -506
  431. package/src/views/user/form/vform/designer.vue +823 -821
  432. package/src/views/user/form/view/list.vue +24 -1
  433. package/src/views/user/home/default.vue +1124 -1117
  434. package/src/views/user/home/default2.vue +12 -8
  435. package/src/views/user/home/index.vue +102 -102
  436. package/src/views/user/home/wjl/content.vue +1581 -1569
  437. package/src/views/user/intf_permission/edit.vue +230 -0
  438. package/src/views/user/intf_permission/list.vue +196 -0
  439. package/src/views/user/menuFallback/index.vue +23 -0
  440. package/src/views/user/notify_message/dialog.vue +139 -139
  441. package/src/views/user/outLink/form_view.vue +202 -202
  442. package/src/views/user/outLink/index.vue +110 -110
  443. package/src/views/user/role/edit.vue +4 -0
  444. package/src/views/user/role/role-box.scss +83 -0
  445. package/src/views/user/role/voc_edit.vue +4 -0
  446. package/src/views/user/user/list.vue +28 -6
  447. package/src/views/user/wf/iframe/index.vue +51 -51
  448. package/src/views/user/wf/iframe/index2.vue +64 -64
  449. package/src/views/user/wf/wf_diy_attribute/edit.vue +1 -1
  450. package/src/views/user/wf/wf_manage/list2.vue +871 -871
  451. package/src/views/user/wf/wf_manage/wfContentDialog.vue +177 -126
  452. package/src/views/user/wf/wf_obj_config/activiti_wf.vue +134 -133
  453. package/src/views/user/wf/wf_obj_config/importItemDialog.vue +1 -1
  454. package/src/views/user/wf/wf_obj_config/list.vue +747 -746
  455. package/src/views/user/wf/wf_obj_config/list_form.vue +374 -373
  456. package/templates/child-app/.env +3 -0
  457. package/templates/child-app/README.md +49 -0
  458. package/templates/child-app/app.config.js +6 -0
  459. package/templates/child-app/babel.config.js +1 -0
  460. package/templates/child-app/core-resources.config.js +15 -0
  461. package/templates/child-app/gitignore +7 -0
  462. package/templates/child-app/package.json +34 -0
  463. package/templates/child-app/public/index.html +12 -0
  464. package/templates/child-app/src/assets/401_images/401.gif +0 -0
  465. package/templates/child-app/src/assets/404_images/404.png +0 -0
  466. package/templates/child-app/src/assets/404_images/404_cloud.png +0 -0
  467. package/templates/child-app/src/assets/logo.png +0 -0
  468. package/templates/child-app/src/corejsConfig.js +2 -0
  469. package/templates/child-app/src/icons/index.js +2 -0
  470. package/templates/child-app/src/icons/svg/child-demo.svg +1 -0
  471. package/templates/child-app/src/layout/index.vue +4 -0
  472. package/templates/child-app/src/main.js +5 -0
  473. package/templates/child-app/src/prefixConfig.js +13 -0
  474. package/templates/child-app/src/resources/css/login.scss +29 -0
  475. package/templates/child-app/src/resources/images/bg-login5.jpg +0 -0
  476. package/templates/child-app/src/resources/images/home-img.png +0 -0
  477. package/templates/child-app/src/router/modules/customer.js +3 -0
  478. package/templates/child-app/src/settings.js +24 -0
  479. package/templates/child-app/src/styles/app.scss +2 -0
  480. package/templates/child-app/src/views/demo/detail.vue +19 -0
  481. package/templates/child-app/src/views/demo/list.vue +38 -0
  482. package/templates/child-app/src/views/user/login/index.vue +18 -0
  483. package/templates/child-app/vue.config.js +107 -0
  484. package/src/components/xform/form-render/container-item/dynamicFieldEngine.js +0 -285
  485. package/src/components/xform/form-render/formDynamicFieldMixin.js +0 -131
  486. package/src/views/demo/bizTab/bill/billConfig.js +0 -41
  487. package/src/views/demo/bizTab/bill/detail.vue +0 -436
  488. package/src/views/demo/bizTab/bill/list.vue +0 -288
  489. package/src/views/demo/bizTab/bill/productDialog.vue +0 -176
  490. package/src/views/demo/bizTab/simple/billApi.js +0 -123
  491. package/src/views/demo/bizTab/simple/detail.vue +0 -407
  492. package/src/views/demo/bizTab/simple/list.vue +0 -217
  493. package/src/views/demo/bizTab/standalone/index.vue +0 -121
  494. package/src/views/demo/bizTab/wf/billConfig.js +0 -44
  495. package/src/views/demo/bizTab/wf/detail.vue +0 -661
  496. package/src/views/demo/bizTab/wf/list.vue +0 -242
  497. package/src/views/user/outLink/cc_form_view.vue +0 -188
  498. /package/src/{resources → core-resources}/js/base/common.js +0 -0
@@ -109,8 +109,9 @@ tmixins = {
109
109
  Bucket: "gztw-file01", // 你的桶名
110
110
  };
111
111
  },
112
- beforeDestroy() {
113
- this.removePasteEvent();
112
+ beforeDestroy() {
113
+ this.removePasteEvent();
114
+ this.revokeUploadObjectUrls();
114
115
  },
115
116
  filters: {
116
117
  btnText(btn) {
@@ -349,7 +350,7 @@ tmixins = {
349
350
  blurPasteEvent() {
350
351
  this.pasteAreaStatus = false;
351
352
  },
352
- handleClose() {
353
+ handleClose() {
353
354
  let target = this.$refs.upload;
354
355
  (target.uploadFiles || []).forEach((uploadFile) => {
355
356
  if (uploadFile.status == "uploading" || uploadFile.status == "ready") {
@@ -358,10 +359,15 @@ tmixins = {
358
359
  this.$t2("取消上传", "components.VabUpload.cancelUpload")
359
360
  );
360
361
  }
361
- });
362
- this.picture = "picture";
363
- this.clearFileInfo();
364
- this.dialogFormVisible = false;
362
+ });
363
+ this.revokeUploadObjectUrls();
364
+ this.pasteList = [];
365
+ this.removePasteEvent();
366
+ this.picture = "picture";
367
+ this.clearFileInfo();
368
+ this.dialogFormVisible = false;
369
+ const destroyRoot = this.$destroyOnDialogClose;
370
+ if (destroyRoot) this.$nextTick(destroyRoot);
365
371
  },
366
372
  clearFileInfo() {
367
373
  this.fileList = [];
@@ -1204,15 +1210,33 @@ tmixins = {
1204
1210
  }
1205
1211
  },
1206
1212
  //end
1207
- getShowImage(file, fileName) {
1213
+ getShowImage(file, fileName) {
1208
1214
  fileName = fileName || file.name;
1209
1215
  if (this.$commonFileUtil.isPictureFile(fileName)) {
1210
1216
  return file.showUrl || file.url;
1211
1217
  } else {
1212
1218
  return this.$commonFileUtil.getFileIconRequire(fileName);
1213
1219
  }
1214
- },
1215
- removeFile(sfile) {
1220
+ },
1221
+ revokeUploadObjectUrl(url) {
1222
+ if (typeof url === "string" && url.startsWith("blob:")) {
1223
+ URL.revokeObjectURL(url);
1224
+ }
1225
+ },
1226
+ revokeUploadObjectUrls() {
1227
+ const files = [
1228
+ ...(this.fileList || []),
1229
+ ...(this.pasteList || []),
1230
+ ...(this.$refs.upload?.uploadFiles || []),
1231
+ ];
1232
+ const urls = new Set();
1233
+ files.forEach((file) => {
1234
+ if (file?.showUrl) urls.add(file.showUrl);
1235
+ if (file?.url) urls.add(file.url);
1236
+ });
1237
+ urls.forEach((url) => this.revokeUploadObjectUrl(url));
1238
+ },
1239
+ removeFile(sfile) {
1216
1240
  var target = this.$refs.upload;
1217
1241
  var index;
1218
1242
  var fileList = target.uploadFiles;
@@ -1233,7 +1257,8 @@ tmixins = {
1233
1257
  }
1234
1258
  }
1235
1259
 
1236
- target.uploadFiles.splice(index, 1);
1260
+ this.revokeUploadObjectUrl(sfile?.showUrl || sfile?.url);
1261
+ target.uploadFiles.splice(index, 1);
1237
1262
  this.handleChange(sfile, target.uploadFiles);
1238
1263
  },
1239
1264
  submitImage() {
@@ -1443,8 +1468,10 @@ tmixins = {
1443
1468
  this.pasteList.push(...fileList);
1444
1469
  }
1445
1470
  },
1446
- deletePasteFile(index) {
1447
- this.pasteList.splice(index, 1);
1471
+ deletePasteFile(index) {
1472
+ const file = this.pasteList[index];
1473
+ this.revokeUploadObjectUrl(file?.showUrl || file?.url);
1474
+ this.pasteList.splice(index, 1);
1448
1475
  },
1449
1476
  confirmPasteFile() {
1450
1477
  let target = this.$refs.upload;
@@ -1456,7 +1483,10 @@ tmixins = {
1456
1483
  fileRaw.fileName = name;
1457
1484
  return fileRaw;
1458
1485
  });
1459
- innerTarget.uploadFiles(files);
1486
+ innerTarget.uploadFiles(files);
1487
+ this.pasteList.forEach((file) =>
1488
+ this.revokeUploadObjectUrl(file?.showUrl || file?.url)
1489
+ );
1460
1490
  this.$nextTick(() => {
1461
1491
  target.uploadFiles.forEach((uploadFile) => {
1462
1492
  let fileRaw = uploadFile.raw;
@@ -1466,7 +1496,7 @@ tmixins = {
1466
1496
  }
1467
1497
  });
1468
1498
  });
1469
- this.pasteList = [];
1499
+ this.pasteList = [];
1470
1500
  },
1471
1501
  changeFileName(file) {
1472
1502
  if (file.fileSuffix) {
@@ -277,12 +277,12 @@
277
277
 
278
278
  <script>
279
279
  import {mixins} from "./mixins";
280
- import userDialog from './talkUserDialog.vue';
281
280
 
282
281
  export default {
283
282
  mixins: [mixins],
284
283
  components: {
285
- userDialog,
284
+ // 选人弹窗同步引入会把 tableForm 焊进 onlineTalk;仅打开选人时再拉
285
+ userDialog: () => import('./talkUserDialog.vue'),
286
286
  privateProfileDialog: () => import('../../components/VabUpload/privateProfileDialog')
287
287
  },
288
288
  data() {
@@ -293,7 +293,7 @@ export default {
293
293
  };
294
294
  </script>
295
295
  <style scoped lang="scss">
296
- @import '~@/styles/variables.scss';
296
+ @import '~@base/styles/variables.scss';
297
297
  .onlieTalk-search-list{
298
298
  list-style: none;margin: -8px -4px 0;padding: 0;min-width: 360px;max-width: 90%;
299
299
  .tit{color: #333;font-size: 14px;margin: 10px 0 3px;padding-left: 6px;
@@ -493,7 +493,7 @@ export default {
493
493
 
494
494
 
495
495
  .ico-online {
496
- background: url(~@/resources/images/ico-service.png) no-repeat center 19px #FFF;
496
+ background: url(~@base/core-resources/images/ico-service.png) no-repeat center 19px #FFF;
497
497
  background-size: 40px;
498
498
  position: fixed;
499
499
  right: 28px;
@@ -92,6 +92,12 @@ tmixins = {
92
92
  },
93
93
  beforeDestroy() {
94
94
  this.clearTimerHandle();
95
+ (this.files || []).forEach((file) => {
96
+ const url = file?.showUrl || file?.url;
97
+ if (typeof url === "string" && url.startsWith("blob:")) {
98
+ URL.revokeObjectURL(url);
99
+ }
100
+ });
95
101
  },
96
102
  methods: {
97
103
  bindMove(e) {
@@ -272,7 +278,7 @@ tmixins = {
272
278
  }
273
279
  });
274
280
  },
275
- getUserPage(flag) {
281
+ getUserPage(flag, silent) {
276
282
  if (!this.dialogTableVisible) return
277
283
  if (!this.inited) {
278
284
  flag = null;
@@ -284,6 +290,7 @@ tmixins = {
284
290
  method: `post`,
285
291
  data: {operateTime: time},
286
292
  modal: false,
293
+ ...(silent ? { errorMsg: false } : {}),
287
294
  success: res => {
288
295
  let records = res.objx || [];
289
296
  records.forEach(record => {
@@ -368,7 +375,7 @@ tmixins = {
368
375
  }
369
376
  return lastTalkRecordId;
370
377
  },
371
- getList(direction, callback) {
378
+ getList(direction, callback, silent) {
372
379
  if (!this.dialogTableVisible) return
373
380
  if (!this.talkUserId) return
374
381
  let talkUser = this.talkUser;
@@ -387,6 +394,7 @@ tmixins = {
387
394
  direction: direction
388
395
  },
389
396
  modal: false,
397
+ ...(silent ? { errorMsg: false } : {}),
390
398
  success: res => {
391
399
  let rows = res.objx || [];
392
400
  if (rows.length) {
@@ -456,15 +464,15 @@ tmixins = {
456
464
  createTimerHandle() {
457
465
  this.clearTimerHandle();
458
466
  this.handleExitsRead();
459
- this.talkHandle();
467
+ this.talkHandle(true);
460
468
  this.timer = setInterval(() => {
461
469
  this.handleExitsRead();
462
- this.talkHandle();
470
+ this.talkHandle(true);
463
471
  }, 10000)
464
472
  },
465
- talkHandle() {
466
- this.getUserPage(1);
467
- this.getList(0);
473
+ talkHandle(silent) {
474
+ this.getUserPage(1, silent);
475
+ this.getList(0, null, silent);
468
476
  },
469
477
  clearTimerHandle() {
470
478
  if (this.timer) {
@@ -488,6 +496,7 @@ tmixins = {
488
496
  method: `post`,
489
497
  data: {},
490
498
  modal: false,
499
+ errorMsg: false,
491
500
  success: res => {
492
501
  this.isExitsRead = res.objx === 1;
493
502
  }
@@ -675,6 +684,11 @@ tmixins = {
675
684
  })
676
685
  },
677
686
  deleteFile(index) {
687
+ const file = this.files[index];
688
+ const url = file?.showUrl || file?.url;
689
+ if (typeof url === "string" && url.startsWith("blob:")) {
690
+ URL.revokeObjectURL(url);
691
+ }
678
692
  this.files.splice(index, 1);
679
693
  },
680
694
  confirmPrivateProfileDialog(rows) {
@@ -86,6 +86,7 @@ async function initVxeTable(option) {
86
86
  isQueryAllPage: true,
87
87
  exportColumns: null,
88
88
  exportItemColumns: null,
89
+ exportItemColumnsMap: null,
89
90
  };
90
91
 
91
92
  let isQueryAllPage = true;
@@ -96,7 +97,7 @@ async function initVxeTable(option) {
96
97
  let searchColumns = null;
97
98
  if (tableName) {
98
99
  setTableState($grid, "tableName", tableName);
99
- if (option.path) {
100
+ if (option.path && option.readQueryAllPage !== false) {
100
101
  await getTableData(that, option.tableRef, "isQueryAllPage", (res1) => {
101
102
  let result = res1.objx ? res1.objx.data : null;
102
103
  if (result !== null && result !== undefined) {
@@ -168,7 +169,8 @@ async function initVxeTable(option) {
168
169
  // nOption.getCellValue = getCellValue;
169
170
  // nOption.createParams = createParams;
170
171
  // nOption.searchColumns = searchColumns;
171
- // 运行时可变状态(tableName / isQueryAllPage / exportColumns / exportItemColumns)
172
+ // 运行时可变状态(tableName / isQueryAllPage / exportColumns / exportItemColumns /
173
+ // exportItemColumnsMap)
172
174
  // 一并放进 params:params 随 vxeOption 由页面持有,grid 被 v-if 销毁重建后依然带着这些值
173
175
  let params = {
174
176
  originOption,
@@ -329,85 +331,80 @@ function columnDrop(t, tableName, tableRef) {
329
331
  }
330
332
  let dragStartIndex = -1;
331
333
  let dragEndIndex = -1;
332
- $table.sortable = configUtil.Sortable.create(
333
- headerElem,
334
- {
335
- handle: ".vxe-header--column:not(.col--fixed)",
336
- onMove: (a, b, c) => {
337
- let { dragged, related } = a;
338
- // dragStartIndex = getElementIndex(dragged);
339
- // dragEndIndex = getElementIndex(related);
340
-
341
- let tableColumn = $table.getTableColumn().tableColumn;
342
- let draggedColId = dragged.getAttribute("colid");
343
- let relatedColId = related.getAttribute("colid");
344
- dragStartIndex = tableColumn.findIndex(
345
- (item) => item.id === draggedColId
346
- );
347
- dragEndIndex = tableColumn.findIndex(
348
- (item) => item.id === relatedColId
349
- );
350
- },
351
- onEnd: (dropParam) => {
352
- let { item } = dropParam;
353
- let oldIndex = dragStartIndex;
354
- let newIndex = dragEndIndex;
355
-
356
- // Sortable 原地放下时可能不触发 onMove,索引需从 dropParam 兜底
357
- if (oldIndex < 0) oldIndex = dropParam.oldIndex;
358
- if (newIndex < 0) newIndex = dropParam.newIndex;
359
- const { fullColumn, tableColumn, collectColumn } =
360
- $table.getTableColumn();
361
- const targetThElem = item;
362
- const wrapperElem = targetThElem.parentNode;
363
- let oldColumn = tableColumn[oldIndex];
364
- const newColumn = tableColumn[newIndex];
365
- if (!oldColumn || !newColumn) return;
366
- if (newColumn.fixed) {
367
- // 错误的移动
368
- if (newIndex > oldIndex) {
369
- wrapperElem.insertBefore(
370
- targetThElem,
371
- wrapperElem.children[oldIndex]
372
- );
373
- } else {
374
- wrapperElem.insertBefore(
375
- wrapperElem.children[oldIndex],
376
- targetThElem
377
- );
378
- }
379
- return;
380
- /* return that.$XModal.message({
334
+ $table.sortable = configUtil.Sortable.create(headerElem, {
335
+ handle: ".vxe-header--column:not(.col--fixed)",
336
+ onMove: (a, b, c) => {
337
+ let { dragged, related } = a;
338
+ // dragStartIndex = getElementIndex(dragged);
339
+ // dragEndIndex = getElementIndex(related);
340
+
341
+ let tableColumn = $table.getTableColumn().tableColumn;
342
+ let draggedColId = dragged.getAttribute("colid");
343
+ let relatedColId = related.getAttribute("colid");
344
+ dragStartIndex = tableColumn.findIndex(
345
+ (item) => item.id === draggedColId
346
+ );
347
+ dragEndIndex = tableColumn.findIndex((item) => item.id === relatedColId);
348
+ },
349
+ onEnd: (dropParam) => {
350
+ let { item } = dropParam;
351
+ let oldIndex = dragStartIndex;
352
+ let newIndex = dragEndIndex;
353
+
354
+ // Sortable 原地放下时可能不触发 onMove,索引需从 dropParam 兜底
355
+ if (oldIndex < 0) oldIndex = dropParam.oldIndex;
356
+ if (newIndex < 0) newIndex = dropParam.newIndex;
357
+ const { fullColumn, tableColumn, collectColumn } =
358
+ $table.getTableColumn();
359
+ const targetThElem = item;
360
+ const wrapperElem = targetThElem.parentNode;
361
+ let oldColumn = tableColumn[oldIndex];
362
+ const newColumn = tableColumn[newIndex];
363
+ if (!oldColumn || !newColumn) return;
364
+ if (newColumn.fixed) {
365
+ // 错误的移动
366
+ if (newIndex > oldIndex) {
367
+ wrapperElem.insertBefore(
368
+ targetThElem,
369
+ wrapperElem.children[oldIndex]
370
+ );
371
+ } else {
372
+ wrapperElem.insertBefore(
373
+ wrapperElem.children[oldIndex],
374
+ targetThElem
375
+ );
376
+ }
377
+ return;
378
+ /* return that.$XModal.message({
381
379
  content: '固定列不允许拖动!',
382
380
  status: 'error'
383
381
  }) */
384
- }
385
- // 叶子在 fullColumn 中的下标,与 collectColumn 顶层结构的下标不能直接混用
386
- const oldColumnIndex = fullColumn.findIndex(
387
- (item) => item.id === oldColumn.id
388
- );
389
- const newColumnIndex = fullColumn.findIndex(
390
- (item) => item.id === newColumn.id
391
- );
392
- const oldLeafColumn = fullColumn[oldColumnIndex];
393
- const newLeafColumn = fullColumn[newColumnIndex];
394
- if (oldColumnIndex === newColumnIndex) {
395
- return;
396
- }
397
- const oldTopIdx = collectTopRootIndex(collectColumn, oldLeafColumn);
398
- const newTopIdx = collectTopRootIndex(collectColumn, newLeafColumn);
399
- if (oldTopIdx === -1 || newTopIdx === -1) {
400
- return;
401
- }
402
- if (oldTopIdx !== newTopIdx) {
403
- const currRow = collectColumn.splice(oldTopIdx, 1)[0];
404
- collectColumn.splice(newTopIdx, 0, currRow);
405
- $table.loadColumn(collectColumn);
406
- addTableJson(that, $table, tableName, collectColumn);
407
- }
408
- },
409
- }
410
- );
382
+ }
383
+ // 叶子在 fullColumn 中的下标,与 collectColumn 顶层结构的下标不能直接混用
384
+ const oldColumnIndex = fullColumn.findIndex(
385
+ (item) => item.id === oldColumn.id
386
+ );
387
+ const newColumnIndex = fullColumn.findIndex(
388
+ (item) => item.id === newColumn.id
389
+ );
390
+ const oldLeafColumn = fullColumn[oldColumnIndex];
391
+ const newLeafColumn = fullColumn[newColumnIndex];
392
+ if (oldColumnIndex === newColumnIndex) {
393
+ return;
394
+ }
395
+ const oldTopIdx = collectTopRootIndex(collectColumn, oldLeafColumn);
396
+ const newTopIdx = collectTopRootIndex(collectColumn, newLeafColumn);
397
+ if (oldTopIdx === -1 || newTopIdx === -1) {
398
+ return;
399
+ }
400
+ if (oldTopIdx !== newTopIdx) {
401
+ const currRow = collectColumn.splice(oldTopIdx, 1)[0];
402
+ collectColumn.splice(newTopIdx, 0, currRow);
403
+ $table.loadColumn(collectColumn);
404
+ addTableJson(that, $table, tableName, collectColumn);
405
+ }
406
+ },
407
+ });
411
408
  }
412
409
 
413
410
  function getSelfConfig() {
@@ -700,9 +697,10 @@ function initOption(opts) {
700
697
  let $grid = getGrid(that, opts.tableRef);
701
698
  let isQueryAllPage = getTableStateValue($grid, "isQueryAllPage");
702
699
  let pathStr1 = "";
703
- if (isQueryAllPage === false) {
700
+ /* if (isQueryAllPage === false) {
704
701
  queryParams.searchCount = false;
705
- }
702
+ } */
703
+ queryParams.searchCount = isQueryAllPage !== false;
706
704
 
707
705
  let reqPath = typeof path === "function" ? path() : path;
708
706
  let addUserForTableEnabled =
@@ -888,6 +886,9 @@ function initOption(opts) {
888
886
  result = configUtil.extendDeeply(defaultOptions, config);
889
887
  applyTableFeatureDisabled(result, that);
890
888
 
889
+ if (!result.pagerConfig) {
890
+ return result;
891
+ }
891
892
  let pageSize = result.pagerConfig.pageSize;
892
893
  let pageSizes = result.pagerConfig.pageSizes;
893
894
  if (pageSizes && !pageSizes.includes(pageSize)) {
@@ -978,12 +979,18 @@ function addTableJson(that, $grid, tableName, columns, success) {
978
979
  };
979
980
  let exportColumns = getTableStateValue($grid, "exportColumns");
980
981
  let exportItemColumns = getTableStateValue($grid, "exportItemColumns");
982
+ // 明细导出的勾选记忆按导出按钮分组(见 excelExport/exportColumnMemory.js);
983
+ // exportItemColumns 是分组之前的扁平表,旧记录里还有,只读不再写,故一并原样存回。
984
+ let exportItemColumnsMap = getTableStateValue($grid, "exportItemColumnsMap");
981
985
  if (exportColumns && exportColumns.length) {
982
986
  jsonData.exportColumns = exportColumns;
983
987
  }
984
988
  if (exportItemColumns && exportItemColumns.length) {
985
989
  jsonData.exportItemColumns = exportItemColumns;
986
990
  }
991
+ if (exportItemColumnsMap && Object.keys(exportItemColumnsMap).length) {
992
+ jsonData.exportItemColumnsMap = exportItemColumnsMap;
993
+ }
987
994
  let json = encodeURIComponent(JSON.stringify(jsonData));
988
995
 
989
996
  let url = USER_PREFIX + "/table_column/addTableJson";
@@ -1081,6 +1088,11 @@ function initExportColumns($grid, tableState, json) {
1081
1088
  tableState.exportItemColumns = json.exportItemColumns;
1082
1089
  setTableState($grid, "exportItemColumns", json.exportItemColumns);
1083
1090
  }
1091
+ let itemMap = json?.exportItemColumnsMap;
1092
+ if (itemMap && Object.keys(itemMap).length) {
1093
+ tableState.exportItemColumnsMap = itemMap;
1094
+ setTableState($grid, "exportItemColumnsMap", itemMap);
1095
+ }
1084
1096
  }
1085
1097
 
1086
1098
  function initSearchColumns(oriColumns, syncColumns) {
@@ -1239,7 +1251,10 @@ function checkQueryTotal(that, tableRef, value) {
1239
1251
  let pagerConfig = $grid.pagerConfig;
1240
1252
 
1241
1253
  $grid.pagerConfig.layouts = pagerConfig.layouts || [];
1242
- addTableData(that, tableRef, value);
1254
+ let originOption = $grid.params && $grid.params.originOption;
1255
+ if (!originOption || originOption.readQueryAllPage !== false) {
1256
+ addTableData(that, tableRef, value);
1257
+ }
1243
1258
  $grid.commitProxy("query");
1244
1259
  }
1245
1260
 
@@ -464,8 +464,8 @@ function clearAreaValues($table, area) {
464
464
  }
465
465
 
466
466
  /**
467
- * 粘贴落盘。必须整段同步执行:业务的 pasteMethod 里会读 window.event.clipboardData
468
- * 取粘贴进来的图片文件,一旦跨出原生事件派发(setTimeout/await/$nextTick)就读不到了。
467
+ * 粘贴落盘。必须整段同步执行:clipboardData 会随 clipData 传给业务 pasteMethod,
468
+ * 一旦跨出原生事件派发(setTimeout/await/$nextTick),部分浏览器就读不到图片文件了。
469
469
  */
470
470
  function applyPaste($table, pasteCells, clipData) {
471
471
  let store = getStore($table);
@@ -499,8 +499,11 @@ function applyPaste($table, pasteCells, clipData) {
499
499
  let newRows = insertRows;
500
500
  if (clipOpts.createRowsMethod) {
501
501
  let created = clipOpts.createRowsMethod({
502
+ $table: $table,
502
503
  insertRows: insertRows,
503
504
  pasteCells: pasteCells,
505
+ startRowIndex: startRowIndex,
506
+ targetRow: rows[startRowIndex] || null,
504
507
  });
505
508
  newRows = created || insertRows;
506
509
  }
@@ -887,7 +890,11 @@ const cellAreaMixin = {
887
890
  pasteCells = [[""]];
888
891
  }
889
892
  evnt.preventDefault();
890
- applyPaste($table, pasteCells, { text: text, html: html });
893
+ applyPaste($table, pasteCells, {
894
+ text: text,
895
+ html: html,
896
+ clipboardData: clipboardData,
897
+ });
891
898
  if (store.isCut) {
892
899
  store.isCut = false;
893
900
  store.copyArea = null;