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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "cloud-web-corejs",
3
3
  "private": false,
4
- "version": "1.0.276",
4
+ "version": "1.0.277",
5
5
  "scripts": {
6
6
  "dev": "vue-cli-service serve",
7
7
  "lint": "eslint --ext .js,.vue src",
@@ -16,73 +16,79 @@
16
16
  "publishDev": "npm publish --tag dev"
17
17
  },
18
18
  "dependencies": {
19
+ "@claviska/jquery-minicolors": "2.3.6",
19
20
  "@codemirror/lang-javascript": "^6.1.9",
21
+ "@codemirror/state": "^6.5.4",
22
+ "@codemirror/view": "^6.39.13",
20
23
  "@formulajs/formulajs": "^4.3.1",
21
- "@vue/preload-webpack-plugin": "^2.0.0",
24
+ "@vue/composition-api": "1.0.5",
25
+ "ace-builds": "1.11.0",
22
26
  "axios": "0.18.1",
27
+ "canvg": "3.0.10",
28
+ "clipboard": "2.0.8",
23
29
  "codemirror": "^6.0.1",
24
30
  "concurrent-tasks": "1.0.7",
25
- "copy-webpack-plugin": "5.1.2",
26
31
  "core-js": "^3.8.3",
27
- "dayjs": "^1.11.13",
32
+ "crypto-js": "^4.2.0",
28
33
  "dhtmlx-gantt": "^9.1.1",
34
+ "dompurify": "^3.3.1",
35
+ "echarts": "5.1.2",
29
36
  "element-ui": "^2.15.14",
30
37
  "esdk-obs-browserjs": "^3.25.6",
31
38
  "exceljs": "^4.4.0",
32
- "FileSaver": "^0.10.0",
39
+ "file-saver": "2.0.5",
33
40
  "html2canvas": "^1.4.1",
41
+ "jquery": "3.6.0",
34
42
  "js-base64": "^3.7.7",
35
43
  "js-cookie": "2.2.0",
44
+ "jsbarcode": "3.11.5",
36
45
  "jspdf": "^3.0.1",
37
46
  "jsqr": "^1.4.0",
38
47
  "lodash": "4.17.21",
39
48
  "luckyexcel": "^1.0.1",
40
49
  "moment": "2.29.4",
41
- "node-polyfill-webpack-plugin": "^4.0.0",
42
50
  "normalize.css": "7.0.0",
43
51
  "nprogress": "0.2.0",
52
+ "nzh": "1.0.8",
44
53
  "qiankun": "^2.10.16",
45
54
  "qrcode": "^1.5.1",
46
55
  "qs": "6.10.3",
47
- "sortablejs": "1.8.4",
56
+ "socket.io-client": "4.5.1",
57
+ "sortablejs": "^1.8.4",
48
58
  "spark-md5": "^3.0.1",
49
59
  "swiper": "4.0.7",
50
60
  "vue": "2.6.12",
61
+ "vue-echarts": "6.0.0",
51
62
  "vue-i18n": "^8.22.2",
52
63
  "vue-ls": "^4.2.0",
53
64
  "vue-router": "3.0.2",
65
+ "vuedraggable": "2.24.3",
54
66
  "vuex": "3.1.0",
55
67
  "vxe-table": "3.5.9",
68
+ "xe-utils": "3.5.2",
56
69
  "xlsx": "^0.14.1"
57
70
  },
58
71
  "devDependencies": {
59
72
  "@babel/core": "^7.12.16",
60
73
  "@babel/eslint-parser": "^7.12.16",
61
74
  "@babel/plugin-syntax-dynamic-import": "^7.8.3",
62
- "@claviska/jquery-minicolors": "2.3.6",
63
75
  "@vue/cli-plugin-babel": "~5.0.0",
64
76
  "@vue/cli-plugin-eslint": "~5.0.0",
77
+ "@vue/cli-plugin-unit-jest": "~5.0.9",
65
78
  "@vue/cli-service": "~5.0.0",
66
- "@vue/composition-api": "1.0.5",
67
- "ace-builds": "1.11.0",
79
+ "@vue/test-utils": "^1.3.6",
80
+ "@vue/vue2-jest": "^27.0.0",
68
81
  "autoprefixer": "9.5.1",
69
82
  "babel-plugin-dynamic-import-node": "2.3.3",
70
- "canvg": "3.0.10",
71
83
  "chalk": "2.4.2",
72
- "clipboard": "2.0.8",
73
84
  "compression-webpack-plugin": "5.0.2",
74
85
  "connect": "3.6.6",
75
- "crypto-js": "^4.2.0",
76
- "echarts": "5.1.2",
77
86
  "eslint": "^7.32.0",
78
87
  "eslint-plugin-vue": "^8.0.3",
79
- "file-saver": "2.0.5",
80
88
  "html-webpack-plugin": "~5.0.0",
81
89
  "husky": "1.3.1",
82
- "jquery": "3.6.0",
83
- "jsbarcode": "3.11.5",
84
90
  "lint-staged": "8.1.5",
85
- "nzh": "1.0.8",
91
+ "node-polyfill-webpack-plugin": "^4.0.0",
86
92
  "plop": "2.3.0",
87
93
  "postcss": "^8.2.8",
88
94
  "postcss-loader": "^4.0.4",
@@ -90,15 +96,11 @@
90
96
  "sass": "^1.32.7",
91
97
  "sass-loader": "^12.0.0",
92
98
  "serve-static": "1.13.2",
93
- "socket.io-client": "4.5.1",
94
99
  "speed-measure-webpack-plugin": "^1.5.0",
95
100
  "svg-sprite-loader": "^6.0.11",
96
101
  "svgo": "1.2.0",
97
- "vue-echarts": "6.0.0",
98
102
  "vue-template-compiler": "2.6.12",
99
- "vuedraggable": "2.24.3",
100
- "webpack-bundle-analyzer": "^4.9.1",
101
- "xe-utils": "3.5.2"
103
+ "webpack-bundle-analyzer": "^4.9.1"
102
104
  },
103
105
  "eslintConfig": {
104
106
  "root": true,
@@ -121,8 +123,8 @@
121
123
  "files": [
122
124
  "src/components/advancedSearchDialog",
123
125
  "src/components/baseAlert",
124
- "src/components/baseArea",
125
126
  "src/components/baseAttachment",
127
+ "src/components/baseArea",
126
128
  "src/components/baseInputBatch",
127
129
  "src/components/baseInputExport",
128
130
  "src/components/baseInputNumber",
@@ -142,6 +144,7 @@
142
144
  "src/components/jdPrint",
143
145
  "src/components/jsonImport",
144
146
  "src/components/langImport",
147
+ "src/components/micro-view-host",
145
148
  "src/components/mobile",
146
149
  "src/components/onlineTalk",
147
150
  "src/components/oplogTable",
@@ -183,6 +186,7 @@
183
186
  "src/router",
184
187
  "src/permission.js",
185
188
  "src/index.js",
189
+ "src/public-path.js",
186
190
  "src/microRouter",
187
191
  "src/App.vue"
188
192
  ],
package/src/App.vue CHANGED
@@ -1,71 +1,73 @@
1
- <template>
2
- <div id="app" :class="{ mobileApp: isMobile }">
3
- <router-view />
4
- </div>
5
- </template>
6
-
7
- <script>
8
- import settting from "@/settings.js";
9
-
10
- export default {
11
- name: "App",
12
- data() {
13
- let isMobile = this.getIsMobile();
14
- return {
15
- isMobile: isMobile,
16
- };
17
- },
18
- created() {
19
- if (settting.reflushRouter!== true && process.env.NODE_ENV !== "development") {
20
- window.addEventListener(
21
- "hashchange",
22
- (event) => {
23
- var currentPath = window.location.hash.slice(1).split("?")[0]; // 获取输入的路由
24
- if (
25
- currentPath != "/404" &&
26
- currentPath != "/login" &&
27
- this.$router.path !== currentPath
28
- ) {
29
- this.$store.dispatch("tagsView/delAllViews").then((visitedViews) => {
30
- this.$router.replace({ path: "/redirect" + "/home" });
31
- });
32
- }
33
- },
34
- false
35
- );
36
-
37
- window.addEventListener("beforeunload", async (event) => {
38
- // 如果按下的键是 F5,则执行相应的操作
39
- var currentPath = window.location.hash.slice(1).split("?")[0]; // 获取输入的路由
40
- if (
41
- currentPath != "/home" &&
42
- currentPath != "/" &&
43
- currentPath != "/login" &&
44
- currentPath != "/404"
45
- ) {
46
- sessionStorage.setItem("toHome", "1");
47
- }
48
- });
49
- }
50
-
51
- document.title = settting.title;
52
- },
53
- mounted() {},
54
- methods: {
55
- getIsMobile() {
56
- const userAgent = navigator.userAgent;
57
- const mobileRegex = /Android|webOS|iPhone|iPad|iPod|BlackBerry|Windows Phone/i;
58
- return mobileRegex.test(userAgent);
59
- },
60
- },
61
- };
62
- </script>
63
- <style>
64
- .inner-dialog .el-dialog__wrapper {
65
- top: 0;
66
- }
67
-
68
- /* #app .el-submenu .el-menu {
69
- height: 500px;
70
- } */
71
- </style>
1
+ <template>
2
+ <div id="app" :class="{ mobileApp: isMobile }">
3
+ <router-view />
4
+ </div>
5
+ </template>
6
+
7
+ <script>
8
+ import settting from "@/settings.js";
9
+
10
+ export default {
11
+ name: "App",
12
+ data() {
13
+ let isMobile = this.getIsMobile();
14
+ return {
15
+ isMobile: isMobile,
16
+ };
17
+ },
18
+ created() {
19
+ // qiankun 子应用模式跳过:hashchange 事件在真实 window 派发,子应用的处理器会
20
+ // 干扰主应用导航;sessionStorage.toHome 同域共享,子应用写入会污染主应用
21
+ if (settting.reflushRouter!== true && process.env.NODE_ENV !== "development" && !window.__POWERED_BY_QIANKUN__) {
22
+ window.addEventListener(
23
+ "hashchange",
24
+ (event) => {
25
+ var currentPath = window.location.hash.slice(1).split("?")[0]; // 获取输入的路由
26
+ if (
27
+ currentPath != "/404" &&
28
+ currentPath != "/login" &&
29
+ this.$route.path !== currentPath
30
+ ) {
31
+ this.$store.dispatch("tagsView/delAllViews").then((visitedViews) => {
32
+ this.$router.replace({ path: "/redirect" + "/home" });
33
+ });
34
+ }
35
+ },
36
+ false
37
+ );
38
+
39
+ window.addEventListener("beforeunload", async (event) => {
40
+ // 如果按下的键是 F5,则执行相应的操作
41
+ var currentPath = window.location.hash.slice(1).split("?")[0]; // 获取输入的路由
42
+ if (
43
+ currentPath != "/home" &&
44
+ currentPath != "/" &&
45
+ currentPath != "/login" &&
46
+ currentPath != "/404"
47
+ ) {
48
+ sessionStorage.setItem("toHome", "1");
49
+ }
50
+ });
51
+ }
52
+
53
+ document.title = settting.title;
54
+ },
55
+ mounted() {},
56
+ methods: {
57
+ getIsMobile() {
58
+ const userAgent = navigator.userAgent;
59
+ const mobileRegex = /Android|webOS|iPhone|iPad|iPod|BlackBerry|Windows Phone/i;
60
+ return mobileRegex.test(userAgent);
61
+ },
62
+ },
63
+ };
64
+ </script>
65
+ <style>
66
+ .inner-dialog .el-dialog__wrapper {
67
+ top: 0;
68
+ }
69
+
70
+ /* #app .el-submenu .el-menu {
71
+ height: 500px;
72
+ } */
73
+ </style>
package/src/api/user.js CHANGED
@@ -32,6 +32,19 @@ export function saveAccessMenuLog(option) {
32
32
  });
33
33
  }
34
34
 
35
+ export function saveUserLog(option) {
36
+ let data = {
37
+ logType: "operationLog",
38
+ ...option.data,
39
+ };
40
+ return request({
41
+ url: USER_PREFIX + "/user_log/save",
42
+ method: "post",
43
+ ...option,
44
+ data,
45
+ });
46
+ }
47
+
35
48
  export function getLoginTp(duration, option) {
36
49
  return request({
37
50
  url: USER_PREFIX + "/thirdparty_auth/getTp",
@@ -113,3 +126,11 @@ export function getLogicParamValue(option) {
113
126
  ...option,
114
127
  });
115
128
  }
129
+
130
+ export function getIdmLoginUrl(option) {
131
+ return request({
132
+ url: USER_PREFIX + "/auth/idmLoginUrl",
133
+ method: "post",
134
+ ...option,
135
+ });
136
+ }
@@ -1,6 +1,7 @@
1
1
  <template>
2
2
  <div class="base-area">
3
3
  <el-popover
4
+ ref="popoverRef"
4
5
  v-model="popoverVisible"
5
6
  placement="bottom-start"
6
7
  trigger="click"
@@ -268,13 +269,28 @@ export default {
268
269
  if (this.labelValue) {
269
270
  return this.labelValue;
270
271
  }
271
- const pathLabel = this.selectedPath.length
272
+ /* 弹层浏览中的选择未确认,输入框只回显打开弹层时的已提交值 */
273
+ if (this.popoverVisible) {
274
+ return this.committedPathLabel;
275
+ }
276
+ if (!this.selectedPath.length) {
277
+ return "";
278
+ }
279
+ /* 外部未回传 label 时的兜底:仅当浏览路径与已绑定值一致才回显 */
280
+ const leafId = this.getLeafIdFromValue(this.value);
281
+ return this.isValueSynced(leafId)
272
282
  ? this.buildPathLabel(this.selectedPath)
273
283
  : "";
274
- if (this.popoverVisible && pathLabel) {
275
- return pathLabel;
284
+ },
285
+ committedPathLabel() {
286
+ const snapshot = this.committedBrowseSnapshot;
287
+ if (!snapshot || !snapshot.selectedPath || !snapshot.selectedPath.length) {
288
+ return "";
276
289
  }
277
- return pathLabel || "";
290
+ if (!this.isSameBoundValue(this.value, snapshot.boundValue)) {
291
+ return "";
292
+ }
293
+ return this.buildPathLabel(snapshot.selectedPath);
278
294
  },
279
295
  tabs() {
280
296
  const tabs = [];
@@ -336,8 +352,43 @@ export default {
336
352
  },
337
353
  beforeDestroy() {
338
354
  clearTimeout(this.searchTimer);
355
+ this.unbindOutsideClick();
339
356
  },
340
357
  methods: {
358
+ bindOutsideClick() {
359
+ /* 捕获阶段监听:外层若阻止了 click 冒泡,el-popover 自带的 document 监听收不到,弹层不会关闭 */
360
+ document.addEventListener("mousedown", this.handleOutsideClick, true);
361
+ },
362
+ unbindOutsideClick() {
363
+ document.removeEventListener("mousedown", this.handleOutsideClick, true);
364
+ },
365
+ isInsidePopover(target) {
366
+ if (!target || !target.nodeType) {
367
+ return false;
368
+ }
369
+ /* 触发器(含输入框)在组件根节点内 */
370
+ if (this.$el && this.$el.contains(target)) {
371
+ return true;
372
+ }
373
+ /* 弹层默认 append 到 body,需单独判断 */
374
+ const popoverRef = this.$refs.popoverRef;
375
+ const popper = popoverRef && popoverRef.$refs && popoverRef.$refs.popper;
376
+ return !!(popper && popper.contains(target));
377
+ },
378
+ handleOutsideClick(evt) {
379
+ if (!this.popoverVisible) {
380
+ return;
381
+ }
382
+ const target = evt.target;
383
+ /* 已从文档移除的节点无法判断归属,不做处理 */
384
+ if (!target || !document.contains(target)) {
385
+ return;
386
+ }
387
+ if (this.isInsidePopover(target)) {
388
+ return;
389
+ }
390
+ this.popoverVisible = false;
391
+ },
341
392
  getResolveDepthLimit(item) {
342
393
  if (item && item.treePath) {
343
394
  const ids = this.parseTreePathIds(item.treePath);
@@ -565,6 +616,7 @@ export default {
565
616
  },
566
617
  handlePopoverShow() {
567
618
  this.pendingLeaf = false;
619
+ this.bindOutsideClick();
568
620
  this.saveCommittedBrowseSnapshot();
569
621
  this.$emit("popover-open");
570
622
  this.$nextTick(() => {
@@ -1060,6 +1112,7 @@ export default {
1060
1112
  this.emitResolvedLabelIfNeeded();
1061
1113
  },
1062
1114
  handlePopoverHide() {
1115
+ this.unbindOutsideClick();
1063
1116
  this.searchKeyword = "";
1064
1117
  this.searchList = [];
1065
1118
  this.searchDropdownVisible = false;
@@ -1299,13 +1352,13 @@ export default {
1299
1352
  }
1300
1353
 
1301
1354
  .base-area-panel {
1302
- padding: 4px 0 0;
1355
+ padding: 0;
1303
1356
  overflow: visible;
1304
1357
  }
1305
1358
 
1306
1359
  .base-area-search {
1307
1360
  position: relative;
1308
- margin-bottom: 8px;
1361
+ margin-bottom: 6px;
1309
1362
  z-index: 2;
1310
1363
  }
1311
1364
 
@@ -1360,8 +1413,8 @@ export default {
1360
1413
  }
1361
1414
 
1362
1415
  .base-area-path {
1363
- padding: 6px 10px;
1364
- margin-bottom: 10px;
1416
+ padding: 3px 8px;
1417
+ margin-bottom: 6px;
1365
1418
  background: #f5f7fa;
1366
1419
  border: 1px solid #ebeef5;
1367
1420
  border-radius: 4px;
@@ -1380,7 +1433,7 @@ export default {
1380
1433
  padding: 0 2px;
1381
1434
  font-size: 12px;
1382
1435
  color: #c0c4cc;
1383
- line-height: 24px;
1436
+ line-height: 22px;
1384
1437
  user-select: none;
1385
1438
  }
1386
1439
 
@@ -1389,8 +1442,8 @@ export default {
1389
1442
  min-width: 0;
1390
1443
  max-width: 100%;
1391
1444
  padding: 0 4px;
1392
- height: 24px;
1393
- line-height: 24px;
1445
+ height: 22px;
1446
+ line-height: 22px;
1394
1447
  border: none;
1395
1448
  border-bottom: 2px solid transparent;
1396
1449
  border-radius: 0;
@@ -1427,7 +1480,7 @@ export default {
1427
1480
  }
1428
1481
 
1429
1482
  .base-area-grid-wrap {
1430
- padding: 8px;
1483
+ padding: 6px;
1431
1484
  background: #fff;
1432
1485
  border: 1px solid #eee;
1433
1486
  border-radius: 8px;
@@ -1436,20 +1489,22 @@ export default {
1436
1489
  .base-area-grid {
1437
1490
  display: flex;
1438
1491
  flex-wrap: wrap;
1439
- min-height: 120px;
1440
- max-height: 294px;
1492
+ align-content: flex-start;
1493
+ min-height: 82px;
1494
+ /* 5 行:(28 + 6) * 5 + 4 */
1495
+ max-height: 174px;
1441
1496
  overflow-y: auto;
1442
1497
  margin: 0 -4px;
1443
1498
  }
1444
1499
 
1445
1500
  .base-area-item {
1446
1501
  width: calc(25% - 8px);
1447
- margin: 0 4px 8px;
1502
+ margin: 0 4px 6px;
1448
1503
  padding: 0 10px;
1449
- height: 34px;
1450
- line-height: 34px;
1504
+ height: 28px;
1505
+ line-height: 28px;
1451
1506
  border: 1px solid #eee;
1452
- border-radius: 8px;
1507
+ border-radius: 6px;
1453
1508
  font-size: 12px;
1454
1509
  cursor: pointer;
1455
1510
  overflow: hidden;
@@ -1470,7 +1525,7 @@ export default {
1470
1525
 
1471
1526
  .base-area-empty {
1472
1527
  width: 100%;
1473
- padding: 24px 0;
1528
+ padding: 16px 0;
1474
1529
  text-align: center;
1475
1530
  color: #909399;
1476
1531
  font-size: 12px;
@@ -1480,12 +1535,12 @@ export default {
1480
1535
  display: flex;
1481
1536
  align-items: center;
1482
1537
  justify-content: space-between;
1483
- margin-top: 8px;
1538
+ margin-top: 6px;
1484
1539
 
1485
1540
  .base-area-nav-btn {
1486
1541
  min-width: 32px;
1487
- padding: 7px 10px;
1488
- border-radius: 8px;
1542
+ padding: 5px 10px;
1543
+ border-radius: 6px;
1489
1544
  color: #fff;
1490
1545
  border-color: $baseColor;
1491
1546
  background-color: $baseColor;
@@ -1522,7 +1577,7 @@ export default {
1522
1577
  text-align: center;
1523
1578
  font-size: 12px;
1524
1579
  color: #606266;
1525
- line-height: 28px;
1580
+ line-height: 24px;
1526
1581
  user-select: none;
1527
1582
  }
1528
1583
  }
@@ -1531,8 +1586,8 @@ export default {
1531
1586
  display: flex;
1532
1587
  align-items: center;
1533
1588
  justify-content: flex-end;
1534
- margin-top: 8px;
1535
- padding-top: 8px;
1589
+ margin-top: 6px;
1590
+ padding-top: 6px;
1536
1591
  border-top: 1px solid #ebeef5;
1537
1592
  }
1538
1593
  </style>
@@ -1577,7 +1632,7 @@ export default {
1577
1632
  }
1578
1633
 
1579
1634
  .base-area-popover {
1580
- padding: 10px 12px;
1635
+ padding: 8px 10px;
1581
1636
  overflow: visible;
1582
1637
  box-sizing: border-box;
1583
1638
 
@@ -1599,7 +1654,7 @@ export default {
1599
1654
  }
1600
1655
 
1601
1656
  .base-area-nav-btn.el-button {
1602
- border-radius: 8px;
1657
+ border-radius: 6px;
1603
1658
  color: #fff;
1604
1659
  border-color: $baseColor;
1605
1660
  background-color: $baseColor;
@@ -122,7 +122,11 @@ baseTabPaneMixin = {
122
122
  }
123
123
  },
124
124
  beforeDestroy() {
125
- let navList = this.getParent().navList;
125
+ //getParent() 只认 baseTabs 父级/祖父级,拿不到就是没被 baseTabs 包着(如设计期画布、
126
+ //或中间隔了 draggable),此时没有 navList 可维护,直接跳过——原来这里直接取 .navList 会崩。
127
+ let parentPanel = this.getParent();
128
+ if (!parentPanel) return;
129
+ let navList = parentPanel.navList;
126
130
  if (navList.length <= 1) {
127
131
  this.updateNav();
128
132
  }
@@ -136,7 +136,7 @@ export default {
136
136
  ::v-deep .grid-container {
137
137
  outline: none;
138
138
  &.detail-wrap .d-cont {
139
- height: calc(100vh - 150px);
139
+ //height: calc(100vh - 150px);
140
140
  .title .field-wrapper {
141
141
  display: inline-block !important;
142
142
  }
@@ -0,0 +1,66 @@
1
+ /**
2
+ * 详情承载契约(纯常量 + props 构造,无副作用,可完整单测)。
3
+ * micro-view-host(主/渲染方)与子应用「详情承载入口」共同遵守。
4
+ * 完整设计见 docs/qiankun动态详情页承载方案.md 第 5 节。
5
+ *
6
+ * 关键前提:qiankun loadMicroApp 的 props 是同一 JS realm 内的普通对象,
7
+ * 函数可直接传入并被子应用调用——故上行回调用函数 props,不需事件总线;
8
+ * 真正跨不过去的是 Vue 实例(parentVue)与 $parent 链,由子应用侧用 shim 合成。
9
+ */
10
+
11
+ // props 标志:子应用 mount 时据此进入「详情承载」分支(而非常规整站渲染)
12
+ export const DETAIL_HOST_MODE = "microDetailHost";
13
+
14
+ // 上行回调字段名(函数 props)。子应用承载入口据此把详情页的
15
+ // $baseReload / _handleCallback / 关闭 / outParam.sync / 任意 listeners
16
+ // 转调回渲染方(见方案 §5.2 / §5.3 的 parentVue shim)。
17
+ export const DETAIL_HOST_CALLBACKS = [
18
+ "onReload",
19
+ "onHandleCallback",
20
+ "onClose",
21
+ "onUpdateOutParam",
22
+ "onEmit",
23
+ ];
24
+
25
+ /**
26
+ * 构造下发给子应用的 props。
27
+ *
28
+ * @param {object} input
29
+ * @param {string} input.appCode 归属子应用 appCode
30
+ * @param {string} input.targetPath 剥掉 /micro/<appCode> 后的子应用内路径
31
+ * @param {object} input.bizParams 业务字段整包(objTypeCode/formCode/dataId/param/queryParam…)
32
+ * @param {object} input.viewMeta 承载元数据(visibleKey/defaultShowWfContent/viewType)
33
+ * @param {*} input.initialOutParam outParam 初值(替代 .sync 入向)
34
+ * @param {object} input.baseProps 基础 props(token/lang/userInfo/mainAdapter…)
35
+ * @param {object} input.callbacks 上行回调;仅函数值会被收录
36
+ * @returns {object} 传给 loadMicroApp 的 props
37
+ */
38
+ export function buildDetailHostProps(input = {}) {
39
+ const {
40
+ appCode,
41
+ targetPath,
42
+ bizParams,
43
+ viewMeta,
44
+ initialOutParam,
45
+ baseProps,
46
+ callbacks,
47
+ } = input;
48
+
49
+ const props = Object.assign({}, baseProps, {
50
+ [DETAIL_HOST_MODE]: true,
51
+ appCode: appCode || "",
52
+ targetPath: targetPath || "",
53
+ bizParams: bizParams || {},
54
+ viewMeta: viewMeta || {},
55
+ initialOutParam: initialOutParam,
56
+ });
57
+
58
+ const cb = callbacks || {};
59
+ DETAIL_HOST_CALLBACKS.forEach((name) => {
60
+ if (typeof cb[name] === "function") {
61
+ props[name] = cb[name];
62
+ }
63
+ });
64
+
65
+ return props;
66
+ }