cloud-web-corejs 1.0.276 → 1.0.277

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (305) hide show
  1. package/package.json +28 -24
  2. package/src/App.vue +73 -71
  3. package/src/api/user.js +21 -0
  4. package/src/components/baseArea/index.vue +82 -27
  5. package/src/components/baseTabs/mixins.js +5 -1
  6. package/src/components/luckysheet/dialog.vue +1 -1
  7. package/src/components/micro-view-host/contract.js +66 -0
  8. package/src/components/micro-view-host/index.vue +148 -0
  9. package/src/components/table/tableForm.vue +16 -5
  10. package/src/components/table/tableFormMixin.js +35 -7
  11. package/src/components/vb-tabs/x-tabs.vue +167 -143
  12. package/src/components/wf/content.vue +14 -0
  13. package/src/components/wf/content2.vue +4 -2
  14. package/src/components/wf/wf.js +74 -23
  15. package/src/components/wf/wfActionDropdown.vue +85 -0
  16. package/src/components/wf/wfActionItems.js +136 -0
  17. package/src/components/wf/wfAutoConfirm.js +55 -0
  18. package/src/components/wf/wfButtonName.js +60 -0
  19. package/src/components/wf/wfUserRange.js +53 -0
  20. package/src/components/wf/wfUtil.js +373 -295
  21. package/src/components/xform/XFormTabContainer//346/226/260/345/242/236/351/241/265/347/255/276/346/250/241/345/274/217-/346/234/200/347/273/210/345/256/236/347/216/260.md +195 -0
  22. package/src/components/xform/docs/2026-07 table/344/270/216excelExport/344/277/256/345/244/215/345/217/212/345/257/274/345/207/272/344/274/230/345/214/226.md" +57 -0
  23. package/src/components/xform/docs/2026-07 /346/216/222/346/237/245/344/277/256/345/244/215/350/256/260/345/275/225.md" +73 -0
  24. package/src/components/xform/docs/autocomplete /350/207/252/345/212/250/345/256/214/346/210/220/347/273/204/344/273/266/350/257/264/346/230/216.md" +126 -0
  25. package/src/components/xform/docs//345/257/271/346/257/224/345/212/237/350/203/275/350/220/275/345/234/260/346/226/271/346/241/210.md +986 -0
  26. package/src/components/xform/docs//346/225/260/346/215/256/350/241/250/346/240/274/345/212/250/346/200/201/345/210/227 JSON /350/257/264/346/230/216.md" +657 -0
  27. package/src/components/xform/docs//346/240/221/350/241/250rowField/346/224/266/346/225/233-/350/220/275/345/234/260/346/226/207/346/241/243.md +1427 -0
  28. package/src/components/xform/form-designer/designer.js +2085 -2025
  29. package/src/components/xform/form-designer/form-widget/container-widget/containerMixin.js +9 -11
  30. package/src/components/xform/form-designer/form-widget/container-widget/data-table-mixin.js +76 -75
  31. package/src/components/xform/form-designer/form-widget/container-widget/data-table-widget.vue +10 -4
  32. package/src/components/xform/form-designer/form-widget/container-widget/detail-plain-widget.vue +76 -0
  33. package/src/components/xform/form-designer/form-widget/container-widget/detail-widget.vue +59 -5
  34. package/src/components/xform/form-designer/form-widget/dialog/fileReferenceDialog.vue +38 -17
  35. package/src/components/xform/form-designer/form-widget/dialog/formDialog.vue +138 -13
  36. package/src/components/xform/form-designer/form-widget/dialog/formFieldDialog.vue +1 -1
  37. package/src/components/xform/form-designer/form-widget/dialog/importDialogMixin.js +1774 -1772
  38. package/src/components/xform/form-designer/form-widget/dialog/searchFormDialog.vue +2 -3
  39. package/src/components/xform/form-designer/form-widget/dialog/vabSearchDialog.vue +1 -1
  40. package/src/components/xform/form-designer/form-widget/field-widget/a-link-widget.vue +66 -53
  41. package/src/components/xform/form-designer/form-widget/field-widget/baseAttachment-widget.vue +287 -214
  42. package/src/components/xform/form-designer/form-widget/field-widget/button-widget.vue +76 -66
  43. package/src/components/xform/form-designer/form-widget/field-widget/cascader-widget.vue +208 -124
  44. package/src/components/xform/form-designer/form-widget/field-widget/census-widget.vue +3 -9
  45. package/src/components/xform/form-designer/form-widget/field-widget/copy_button-widget.vue +11 -2
  46. package/src/components/xform/form-designer/form-widget/field-widget/date-range-widget.vue +7 -6
  47. package/src/components/xform/form-designer/form-widget/field-widget/date-widget.vue +43 -19
  48. package/src/components/xform/form-designer/form-widget/field-widget/fieldMixin.js +680 -372
  49. package/src/components/xform/form-designer/form-widget/field-widget/form-item-wrapper.vue +879 -763
  50. package/src/components/xform/form-designer/form-widget/field-widget/mixins/date-limit-mixin.js +17 -2
  51. package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-bar-mixin.js +3 -9
  52. package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-category-mixin.js +3 -9
  53. package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-pie-mixin.js +3 -9
  54. package/src/components/xform/form-designer/form-widget/field-widget/mixins/relative-default-mixin.js +107 -0
  55. package/src/components/xform/form-designer/form-widget/field-widget/mixins/relativeDateUtil.js +321 -0
  56. package/src/components/xform/form-designer/form-widget/field-widget/mixins/time-limit-mixin.js +77 -0
  57. package/src/components/xform/form-designer/form-widget/field-widget/mixins/vabsearch-mixin.js +13 -0
  58. package/src/components/xform/form-designer/form-widget/field-widget/number-widget.vue +13 -8
  59. package/src/components/xform/form-designer/form-widget/field-widget/project-tag-widget.vue +4 -9
  60. package/src/components/xform/form-designer/form-widget/field-widget/save_submit_wf_button-widget.vue +3 -0
  61. package/src/components/xform/form-designer/form-widget/field-widget/select-export-item-button-widget.vue +120 -120
  62. package/src/components/xform/form-designer/form-widget/field-widget/static-content-wrapper.vue +4 -0
  63. package/src/components/xform/form-designer/form-widget/field-widget/status-widget.vue +11 -0
  64. package/src/components/xform/form-designer/form-widget/field-widget/switch-widget.vue +9 -1
  65. package/src/components/xform/form-designer/form-widget/field-widget/tempStorage-widget.vue +1 -1
  66. package/src/components/xform/form-designer/form-widget/field-widget/text-widget.vue +7 -3
  67. package/src/components/xform/form-designer/form-widget/field-widget/time-range-widget.vue +4 -2
  68. package/src/components/xform/form-designer/form-widget/field-widget/time-widget.vue +36 -5
  69. package/src/components/xform/form-designer/form-widget/field-widget/vabUpload-widget.vue +338 -374
  70. package/src/components/xform/form-designer/form-widget/index.vue +6 -1
  71. package/src/components/xform/form-designer/form-widget/indexMixin.js +29 -25
  72. package/src/components/xform/form-designer/index.vue +194 -191
  73. package/src/components/xform/form-designer/indexMixin.js +860 -847
  74. package/src/components/xform/form-designer/setting-panel/dataSource-setting.vue +397 -397
  75. package/src/components/xform/form-designer/setting-panel/form-dynamicField-setting.vue +602 -601
  76. package/src/components/xform/form-designer/setting-panel/form-setting.vue +1790 -1483
  77. package/src/components/xform/form-designer/setting-panel/index.vue +2 -7
  78. package/src/components/xform/form-designer/setting-panel/indexMixin.js +370 -335
  79. package/src/components/xform/form-designer/setting-panel/option-items-setting.vue +585 -544
  80. package/src/components/xform/form-designer/setting-panel/property-editor/a-link-editor.vue +1 -1
  81. package/src/components/xform/form-designer/setting-panel/property-editor/a-text-editor.vue +1 -1
  82. package/src/components/xform/form-designer/setting-panel/property-editor/alignType-editor.vue +1 -1
  83. package/src/components/xform/form-designer/setting-panel/property-editor/buttonIcon-editor.vue +14 -15
  84. package/src/components/xform/form-designer/setting-panel/property-editor/censusClass-editor.vue +1 -1
  85. package/src/components/xform/form-designer/setting-panel/property-editor/colorClass-editor.vue +1 -1
  86. package/src/components/xform/form-designer/setting-panel/property-editor/commonAttributeEnabled-editor.vue +3 -3
  87. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/columnRenderDialog.vue +124 -125
  88. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +1151 -957
  89. package/src/components/xform/form-designer/setting-panel/property-editor/container-detail/detail-editor.vue +96 -74
  90. package/src/components/xform/form-designer/setting-panel/property-editor/container-detail-plain/detail-plain-editor.vue +75 -0
  91. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid/colHeight-editor.vue +1 -1
  92. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid/gutter-editor.vue +14 -13
  93. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid-col/grid-col-height-editor.vue +1 -1
  94. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid-col/grid-col-offset-editor.vue +1 -1
  95. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid-col/grid-col-pull-editor.vue +1 -1
  96. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid-col/grid-col-push-editor.vue +1 -1
  97. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid-col/grid-col-span-editor.vue +4 -4
  98. package/src/components/xform/form-designer/setting-panel/property-editor/container-h5-card/h5-card-editor.vue +124 -124
  99. package/src/components/xform/form-designer/setting-panel/property-editor/container-list-h5/list-h5-editor.vue +26 -31
  100. package/src/components/xform/form-designer/setting-panel/property-editor/container-panel/height-editor.vue +1 -1
  101. package/src/components/xform/form-designer/setting-panel/property-editor/container-panel/width-editor.vue +1 -1
  102. package/src/components/xform/form-designer/setting-panel/property-editor/container-tab/tab-customClass-editor.vue +119 -119
  103. package/src/components/xform/form-designer/setting-panel/property-editor/container-tab/tabClass-editor.vue +45 -45
  104. package/src/components/xform/form-designer/setting-panel/property-editor/container-table/table-dynamicField-editor.vue +340 -342
  105. package/src/components/xform/form-designer/setting-panel/property-editor/container-table-cell/cellHeight-editor.vue +1 -1
  106. package/src/components/xform/form-designer/setting-panel/property-editor/container-table-cell/cellWidth-editor.vue +1 -1
  107. package/src/components/xform/form-designer/setting-panel/property-editor/container-tree/tree-customClass-editor.vue +2 -2
  108. package/src/components/xform/form-designer/setting-panel/property-editor/container-tree-pane/tree-pane-editor.vue +1 -1
  109. package/src/components/xform/form-designer/setting-panel/property-editor/container-vf-dialog/cancelButtonLabel-editor.vue +1 -1
  110. package/src/components/xform/form-designer/setting-panel/property-editor/container-vf-dialog/okButtonLabel-editor.vue +1 -1
  111. package/src/components/xform/form-designer/setting-panel/property-editor/container-vf-dialog/title-editor.vue +1 -1
  112. package/src/components/xform/form-designer/setting-panel/property-editor/container-vf-dialog/width-editor.vue +1 -1
  113. package/src/components/xform/form-designer/setting-panel/property-editor/containerClass-editor.vue +1 -1
  114. package/src/components/xform/form-designer/setting-panel/property-editor/customClass-editor.vue +1 -1
  115. package/src/components/xform/form-designer/setting-panel/property-editor/defaultValue-editor.vue +1 -1
  116. package/src/components/xform/form-designer/setting-panel/property-editor/descriptionsItems-editor.vue +4 -4
  117. package/src/components/xform/form-designer/setting-panel/property-editor/downloadButtonFlag-editor.vue +3 -3
  118. package/src/components/xform/form-designer/setting-panel/property-editor/dropdownFlag-editor.vue +6 -2
  119. package/src/components/xform/form-designer/setting-panel/property-editor/dsName-editor.vue +1 -1
  120. package/src/components/xform/form-designer/setting-panel/property-editor/echartHeight-editor.vue +1 -1
  121. package/src/components/xform/form-designer/setting-panel/property-editor/endPlaceholder-editor.vue +1 -1
  122. package/src/components/xform/form-designer/setting-panel/property-editor/field-accessUrl/accessUrl-editor.vue +2 -2
  123. package/src/components/xform/form-designer/setting-panel/property-editor/field-area-select/areaDataType-editor.vue +1 -1
  124. package/src/components/xform/form-designer/setting-panel/property-editor/field-area-select/areaMinLevel-editor.vue +50 -50
  125. package/src/components/xform/form-designer/setting-panel/property-editor/field-area-select/areaName-editor.vue +1 -1
  126. package/src/components/xform/form-designer/setting-panel/property-editor/field-autocomplete/autocomplete-vabSearchName-editor.vue +7 -7
  127. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/addTableData-event-editor.vue +84 -85
  128. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/button-type-editor.vue +1 -1
  129. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/clickBindActions.js +262 -0
  130. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/clickBindEvent-editor.vue +97 -88
  131. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/form-host-event-editor.vue +188 -0
  132. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/icon-editor.vue +14 -15
  133. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/search-dialog-event-editor.vue +27 -10
  134. package/src/components/xform/form-designer/setting-panel/property-editor/field-cascader/checkStrictly-editor.vue +11 -13
  135. package/src/components/xform/form-designer/setting-panel/property-editor/field-common/keyName-editor.vue +74 -67
  136. package/src/components/xform/form-designer/setting-panel/property-editor/field-date/date-dateLimit-editor.vue +27 -5
  137. package/src/components/xform/form-designer/setting-panel/property-editor/field-date/date-defaultValue-editor.vue +35 -18
  138. package/src/components/xform/form-designer/setting-panel/property-editor/field-date/date-format-editor.vue +1 -1
  139. package/src/components/xform/form-designer/setting-panel/property-editor/field-date/date-type-editor.vue +1 -1
  140. package/src/components/xform/form-designer/setting-panel/property-editor/field-date/date-valueFormat-editor.vue +1 -1
  141. package/src/components/xform/form-designer/setting-panel/property-editor/field-date-range/date-range-defaultTime-editor.vue +1 -1
  142. package/src/components/xform/form-designer/setting-panel/property-editor/field-date-range/date-range-defaultValue-editor.vue +35 -18
  143. package/src/components/xform/form-designer/setting-panel/property-editor/field-date-range/date-range-format-editor.vue +1 -1
  144. package/src/components/xform/form-designer/setting-panel/property-editor/field-date-range/date-range-type-editor.vue +1 -1
  145. package/src/components/xform/form-designer/setting-panel/property-editor/field-date-range/date-range-valueFormat-editor.vue +1 -1
  146. package/src/components/xform/form-designer/setting-panel/property-editor/field-divider/contentPosition-editor.vue +1 -1
  147. package/src/components/xform/form-designer/setting-panel/property-editor/field-dropdown-menu/dropdown-menu-editor.vue +59 -59
  148. package/src/components/xform/form-designer/setting-panel/property-editor/field-echart/echart-bar-editor.vue +11 -11
  149. package/src/components/xform/form-designer/setting-panel/property-editor/field-echart/echart-category-editor.vue +10 -10
  150. package/src/components/xform/form-designer/setting-panel/property-editor/field-echart/echart-pie-editor.vue +12 -12
  151. package/src/components/xform/form-designer/setting-panel/property-editor/field-file-upload/file-upload-fileTypes-editor.vue +44 -44
  152. package/src/components/xform/form-designer/setting-panel/property-editor/field-html-text/htmlContent-editor.vue +29 -29
  153. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import-button-editor.vue +6 -6
  154. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import2-button-editor.vue +4 -4
  155. package/src/components/xform/form-designer/setting-panel/property-editor/field-number/controlsPosition-editor.vue +1 -1
  156. package/src/components/xform/form-designer/setting-panel/property-editor/field-picture-upload/picture-upload-fileTypes-editor.vue +44 -44
  157. package/src/components/xform/form-designer/setting-panel/property-editor/field-print-button/print-button-editor.vue +115 -115
  158. package/src/components/xform/form-designer/setting-panel/property-editor/field-print-button/print-detail-button-editor.vue +115 -115
  159. package/src/components/xform/form-designer/setting-panel/property-editor/field-rate/highThreshold-editor.vue +1 -1
  160. package/src/components/xform/form-designer/setting-panel/property-editor/field-rate/lowThreshold-editor.vue +1 -1
  161. package/src/components/xform/form-designer/setting-panel/property-editor/field-rate/rate-defaultValue-editor.vue +1 -1
  162. package/src/components/xform/form-designer/setting-panel/property-editor/field-rate/rate-max-editor.vue +1 -1
  163. package/src/components/xform/form-designer/setting-panel/property-editor/field-script/script-editor.vue +4 -4
  164. package/src/components/xform/form-designer/setting-panel/property-editor/field-script-input/script-input-editor.vue +4 -4
  165. package/src/components/xform/form-designer/setting-panel/property-editor/field-static-text/fontSize-editor.vue +1 -1
  166. package/src/components/xform/form-designer/setting-panel/property-editor/field-static-text/textContent-editor.vue +1 -1
  167. package/src/components/xform/form-designer/setting-panel/property-editor/field-status/field-status-editor.vue +3 -3
  168. package/src/components/xform/form-designer/setting-panel/property-editor/field-switch/activeText-editor.vue +1 -1
  169. package/src/components/xform/form-designer/setting-panel/property-editor/field-switch/inactiveText-editor.vue +1 -1
  170. package/src/components/xform/form-designer/setting-panel/property-editor/field-switch/switchWidth-editor.vue +1 -1
  171. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/select-export-button-editor.vue +2 -2
  172. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/select-export-item-button-editor.vue +74 -74
  173. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/table-export-button-editor.vue +3 -3
  174. package/src/components/xform/form-designer/setting-panel/property-editor/field-time/time-defaultValue-editor.vue +34 -18
  175. package/src/components/xform/form-designer/setting-panel/property-editor/field-time/time-format-editor.vue +1 -1
  176. package/src/components/xform/form-designer/setting-panel/property-editor/field-time/time-timeLimit-editor.vue +53 -0
  177. package/src/components/xform/form-designer/setting-panel/property-editor/field-time-range/time-range-defaultValue-editor.vue +35 -18
  178. package/src/components/xform/form-designer/setting-panel/property-editor/field-time-range/time-range-format-editor.vue +1 -1
  179. package/src/components/xform/form-designer/setting-panel/property-editor/field-vabSearch/vabSearchField-editor.vue +2 -2
  180. package/src/components/xform/form-designer/setting-panel/property-editor/field-vabSearch/vabSearchName-editor.vue +2 -2
  181. package/src/components/xform/form-designer/setting-panel/property-editor/field-vabUpload/field-vabUpload-editor.vue +1 -1
  182. package/src/components/xform/form-designer/setting-panel/property-editor/field-vabUpload2/field-vabUpload2-editor.vue +1 -1
  183. package/src/components/xform/form-designer/setting-panel/property-editor/field-vue-page/vue-page-editor.vue +2 -2
  184. package/src/components/xform/form-designer/setting-panel/property-editor/fileMaxSize-editor.vue +1 -1
  185. package/src/components/xform/form-designer/setting-panel/property-editor/fileTypesSelect.vue +176 -176
  186. package/src/components/xform/form-designer/setting-panel/property-editor/fixedQuery-editor.vue +39 -0
  187. package/src/components/xform/form-designer/setting-panel/property-editor/formScriptEnabled-editor.vue +41 -6
  188. package/src/components/xform/form-designer/setting-panel/property-editor/formatType-editor.vue +2 -2
  189. package/src/components/xform/form-designer/setting-panel/property-editor/formula-editor.vue +972 -972
  190. package/src/components/xform/form-designer/setting-panel/property-editor/iconClass-editor.vue +1 -1
  191. package/src/components/xform/form-designer/setting-panel/property-editor/label-editor.vue +1 -1
  192. package/src/components/xform/form-designer/setting-panel/property-editor/labelAlign-editor.vue +1 -1
  193. package/src/components/xform/form-designer/setting-panel/property-editor/labelColor-editor.vue +1 -1
  194. package/src/components/xform/form-designer/setting-panel/property-editor/labelIconPosition-editor.vue +1 -1
  195. package/src/components/xform/form-designer/setting-panel/property-editor/labelWidth-editor.vue +1 -1
  196. package/src/components/xform/form-designer/setting-panel/property-editor/limit-editor.vue +1 -1
  197. package/src/components/xform/form-designer/setting-panel/property-editor/max-editor.vue +1 -1
  198. package/src/components/xform/form-designer/setting-panel/property-editor/maxLength-editor.vue +1 -1
  199. package/src/components/xform/form-designer/setting-panel/property-editor/min-editor.vue +1 -1
  200. package/src/components/xform/form-designer/setting-panel/property-editor/minLength-editor.vue +1 -1
  201. package/src/components/xform/form-designer/setting-panel/property-editor/multipleLimit-editor.vue +1 -1
  202. package/src/components/xform/form-designer/setting-panel/property-editor/name-editor.vue +15 -4
  203. package/src/components/xform/form-designer/setting-panel/property-editor/oplog-editor.vue +3 -3
  204. package/src/components/xform/form-designer/setting-panel/property-editor/placeholder-editor.vue +1 -1
  205. package/src/components/xform/form-designer/setting-panel/property-editor/precision-editor.vue +1 -1
  206. package/src/components/xform/form-designer/setting-panel/property-editor/prefixIcon-editor.vue +14 -15
  207. package/src/components/xform/form-designer/setting-panel/property-editor/project-tag-editor.vue +6 -6
  208. package/src/components/xform/form-designer/setting-panel/property-editor/relative-default-block.vue +369 -0
  209. package/src/components/xform/form-designer/setting-panel/property-editor/requiredHint-editor.vue +1 -1
  210. package/src/components/xform/form-designer/setting-panel/property-editor/rows-editor.vue +1 -1
  211. package/src/components/xform/form-designer/setting-panel/property-editor/space-editor-editor.vue +1 -1
  212. package/src/components/xform/form-designer/setting-panel/property-editor/startPlaceholder-editor.vue +1 -1
  213. package/src/components/xform/form-designer/setting-panel/property-editor/step-editor.vue +1 -1
  214. package/src/components/xform/form-designer/setting-panel/property-editor/styleTableClass-editor.vue +1 -1
  215. package/src/components/xform/form-designer/setting-panel/property-editor/styleTitClass-editor.vue +1 -1
  216. package/src/components/xform/form-designer/setting-panel/property-editor/suffixIcon-editor.vue +14 -15
  217. package/src/components/xform/form-designer/setting-panel/property-editor/tempStorage-editor.vue +1 -1
  218. package/src/components/xform/form-designer/setting-panel/property-editor/textFlag-editor.vue +2 -3
  219. package/src/components/xform/form-designer/setting-panel/property-editor/type-editor.vue +1 -1
  220. package/src/components/xform/form-designer/setting-panel/property-editor/uploadTip-editor.vue +1 -1
  221. package/src/components/xform/form-designer/setting-panel/property-editor/uploadURL-editor.vue +1 -1
  222. package/src/components/xform/form-designer/setting-panel/property-editor/urlValueEnabled-editor.vue +91 -0
  223. package/src/components/xform/form-designer/setting-panel/property-editor/validation-editor.vue +1 -1
  224. package/src/components/xform/form-designer/setting-panel/property-editor/validationHint-editor.vue +1 -1
  225. package/src/components/xform/form-designer/setting-panel/property-editor/widgetWidth-editor.vue +1 -1
  226. package/src/components/xform/form-designer/setting-panel/propertyRegister.js +374 -351
  227. package/src/components/xform/form-designer/toolbar-panel/index.vue +266 -103
  228. package/src/components/xform/form-designer/toolbar-panel/indexMixin.js +655 -589
  229. package/src/components/xform/form-designer/widget-panel/index.vue +391 -341
  230. package/src/components/xform/form-designer/widget-panel/indexMixin.js +351 -308
  231. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +4642 -4028
  232. package/src/components/xform/form-render/container-item/containerItemMixin.js +76 -61
  233. package/src/components/xform/form-render/container-item/data-table-item.vue +24 -13
  234. package/src/components/xform/form-render/container-item/data-table-mixin.js +5927 -3400
  235. package/src/components/xform/form-render/container-item/detail-h5-item.vue +173 -173
  236. package/src/components/xform/form-render/container-item/detail-item.vue +446 -224
  237. package/src/components/xform/form-render/container-item/detail-plain-item.vue +92 -0
  238. package/src/components/xform/form-render/container-item/list-h5-item.vue +1186 -411
  239. package/src/components/xform/form-render/container-item/tab-item.vue +129 -125
  240. package/src/components/xform/form-render/container-item/table-item.vue +0 -3
  241. package/src/components/xform/form-render/container-item/table2-item.vue +18 -10
  242. package/src/components/xform/form-render/dynamicDialogRender.js +140 -99
  243. package/src/components/xform/form-render/index.vue +8 -8
  244. package/src/components/xform/form-render/indexMixin.js +5299 -3766
  245. package/src/components/xform/form-render/refMixin.js +14 -11
  246. package/src/components/xform/lang/en-US.js +473 -438
  247. package/src/components/xform/lang/en-US_extension.js +4 -0
  248. package/src/components/xform/lang/zh-CN.js +646 -620
  249. package/src/components/xform/mixins/defaultHandle.js +363 -26
  250. package/src/components/xform/mixins/scriptHttp.js +54 -51
  251. package/src/components/xform/utils/attachmentValueUtil.js +239 -0
  252. package/src/components/xform/utils/fixedQueryUtil.js +93 -0
  253. package/src/components/xform/utils/format.js +195 -169
  254. package/src/components/xform/utils/queryParamUtil.js +84 -0
  255. package/src/components/xform/utils/tableColumnHelper.js +7 -8
  256. package/src/components/xform/utils/util.js +1663 -1551
  257. package/src/components/xform/utils/validators.js +100 -48
  258. package/src/index.js +403 -89
  259. package/src/layout/components/AppMain.vue +147 -119
  260. package/src/layout/components/Sidebar/default.vue +109 -59
  261. package/src/layout/components/TagsView/index.vue +1 -1
  262. package/src/layout/components/extractedCode/queryDialog.vue +33 -26
  263. package/src/layout/components/extractedCode/viewDialog.vue +207 -193
  264. package/src/layout/components/langTool.vue +128 -123
  265. package/src/layout/defaultLayout.vue +170 -158
  266. package/src/mixins/wf/index.js +40 -38
  267. package/src/public-path.js +38 -0
  268. package/src/router/modules/system.js +4 -0
  269. package/src/store/config/index.js +945 -669
  270. package/src/utils/pdfUtil.js +428 -70
  271. package/src/views/bd/setting/bd_company_env/dialog.vue +1 -1
  272. package/src/views/bd/setting/formVersion/button.vue +5 -0
  273. package/src/views/bd/setting/formVersion/ftHistoryDialog.vue +21 -10
  274. package/src/views/bd/setting/formVersion/link.vue +5 -0
  275. package/src/views/bd/setting/form_script/edit.vue +1 -0
  276. package/src/views/bd/setting/form_script/edit1.vue +1 -0
  277. package/src/views/bd/setting/form_script/form_list.vue +1 -0
  278. package/src/views/bd/setting/form_script/list.vue +1 -0
  279. package/src/views/bd/setting/form_script/list1.vue +2 -0
  280. package/src/views/bd/setting/form_template/edit.vue +1 -0
  281. package/src/views/bd/setting/form_template/list.vue +2 -0
  282. package/src/views/bd/setting/form_template/mixins/edit.js +77 -74
  283. package/src/views/bd/setting/table_model/edit.vue +16 -29
  284. package/src/views/bd/setting/table_model/list.vue +1 -0
  285. package/src/views/bd/setting/table_model/mixins/edit.js +295 -149
  286. package/src/views/bd/setting/table_model/mixins/zdDialog.js +32 -0
  287. package/src/views/support/export_template/list.vue +1 -1
  288. package/src/views/user/company_info/edit.vue +149 -88
  289. package/src/views/user/form/form_template/dialog.vue +1 -1
  290. package/src/views/user/form/form_template/itemList.vue +1 -1
  291. package/src/views/user/form/form_template/list.vue +1 -1
  292. package/src/views/user/form/form_template_field/dialog.vue +1 -1
  293. package/src/views/user/form/form_type/dialog.vue +1 -1
  294. package/src/views/user/form/form_type/list.vue +1 -1
  295. package/src/views/user/form/report_requestaccess/dialog.vue +1 -1
  296. package/src/views/user/form/report_requestaccess/list.vue +1 -1
  297. package/src/views/user/form/vform/designer.vue +51 -22
  298. package/src/views/user/form/vform/render.vue +21 -23
  299. package/src/views/user/form/view/list.vue +134 -37
  300. package/src/views/user/wf/wfReport/index.vue +24 -1
  301. package/src/views/user/wf/wf_manage/list.vue +8 -4
  302. package/src/components/xform/form-designer/form-widget/dialog/formDrawer.vue +0 -209
  303. package/src/components/xform/form-designer/form-widget/dialog/importDialogMixin - /345/211/257/346/234/254.js" +0 -1639
  304. package/src/views/bd/setting/table_model/mixins/edit copy.js +0 -903
  305. package/src/views/user/menu/voc_list.vue +0 -686
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <el-form-item :label="i18nt('designer.setting.iconClass')">
2
+ <el-form-item :label="i18nt('designer.setting.iconClass')" class="form-item-label-top">
3
3
  <el-select v-model="optionModel.iconClass">
4
4
  <el-option label="统计块" value="el-icon-coin">
5
5
  <span><i class="el-icon-coin"></i> 统计块</span>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <el-form-item :label="i18nt('designer.setting.label')" v-if="!noLabelSetting">
2
+ <el-form-item :label="i18nt('designer.setting.label')" v-if="!noLabelSetting" class="form-item-label-top">
3
3
  <el-input type="text" v-model="optionModel.label"></el-input>
4
4
  </el-form-item>
5
5
  </template>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <el-form-item :label="i18nt('designer.setting.labelAlign')" v-if="!noLabelSetting && (selectedWidget.type !== 'button')">
2
+ <el-form-item :label="i18nt('designer.setting.labelAlign')" v-if="!noLabelSetting && (selectedWidget.type !== 'button')" class="form-item-label-top">
3
3
  <el-radio-group v-model="optionModel.labelAlign" class="radio-group-custom">
4
4
  <el-radio-button label="label-left-align">
5
5
  {{i18nt('designer.setting.leftAlign')}}</el-radio-button>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <el-form-item :label="i18nt('designer.setting.labelColor')">
2
+ <el-form-item :label="i18nt('designer.setting.labelColor')" class="form-item-label-top">
3
3
  <div>
4
4
  <el-select style="width: 130px;float: left;margin-right: 5px;" v-model="optionModel.labelColor" clearable>
5
5
  <el-option value="#e6a23c" label="橙"></el-option>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <el-form-item :label="i18nt('designer.setting.labelIconPosition')">
2
+ <el-form-item :label="i18nt('designer.setting.labelIconPosition')" class="form-item-label-top">
3
3
  <el-select v-model="optionModel.labelIconPosition">
4
4
  <el-option
5
5
  v-for="item in labelIconPosition"
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <el-form-item :label="i18nt('designer.setting.labelWidth')">
2
+ <el-form-item :label="i18nt('designer.setting.labelWidth')" class="form-item-label-top">
3
3
  <el-input type="number" v-model="optionModel.labelWidth" @input.native="inputNumberHandler"
4
4
  min="0" class="hide-spin-button"></el-input>
5
5
  </el-form-item>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <el-form-item :label="i18nt('designer.setting.limit')">
2
+ <el-form-item :label="i18nt('designer.setting.limit')" class="form-item-label-top">
3
3
  <el-input-number v-model="optionModel.limit" class="hide-spin-button" style="width: 100%"></el-input-number>
4
4
  </el-form-item>
5
5
  </template>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <el-form-item :label="i18nt('designer.setting.maxValue')">
2
+ <el-form-item :label="i18nt('designer.setting.maxValue')" class="form-item-label-top">
3
3
  <el-input-number v-model="maxValue" class="hide-spin-button" style="width: 100%"></el-input-number>
4
4
  </el-form-item>
5
5
  </template>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <el-form-item :label="i18nt('designer.setting.maxLength')">
2
+ <el-form-item :label="i18nt('designer.setting.maxLength')" class="form-item-label-top">
3
3
  <el-input type="number" @input.native="inputNumberHandler" class="hide-spin-button"
4
4
  min="1" v-model="maxLength" style="width: 100%"></el-input>
5
5
  </el-form-item>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <el-form-item :label="i18nt('designer.setting.minValue')">
2
+ <el-form-item :label="i18nt('designer.setting.minValue')" class="form-item-label-top">
3
3
  <el-input-number v-model="minValue" class="hide-spin-button" style="width: 100%"></el-input-number>
4
4
  </el-form-item>
5
5
  </template>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <el-form-item :label="i18nt('designer.setting.minLength')">
2
+ <el-form-item :label="i18nt('designer.setting.minLength')" class="form-item-label-top">
3
3
  <el-input type="number" @input.native="inputNumberHandler" class="hide-spin-button"
4
4
  min="0" v-model="minLength" style="width: 100%"></el-input>
5
5
  </el-form-item>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <el-form-item :label="i18nt('designer.setting.multipleLimit')">
2
+ <el-form-item :label="i18nt('designer.setting.multipleLimit')" class="form-item-label-top">
3
3
  <el-input-number v-model="optionModel.multipleLimit"
4
4
  class="hide-spin-button" style="width: 100%"></el-input-number>
5
5
  </el-form-item>
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div>
3
- <el-form-item prop="name" :rules="nameRequiredRule">
3
+ <el-form-item class="form-item-label-top" prop="name" :rules="nameRequiredRule">
4
4
  <span slot="label"
5
5
  >{{ i18nt("designer.setting.uniqueName") }}
6
6
  <el-tooltip effect="light" :content="i18nt('designer.setting.editNameHelp')">
@@ -37,10 +37,10 @@
37
37
  </el-select>
38
38
  </template>
39
39
  </el-form-item>
40
- <el-form-item label="菜单按钮权限编码" v-show="showAuthCode">
40
+ <el-form-item label="按钮编码" v-show="showAuthCode" class="form-item-label-top">
41
41
  <div style="word-break: break-all">
42
42
  <el-tooltip effect="light" content="复制">
43
- <a class="a-link" style="color: unset;" @click="copyAuthCode"><span><i class="el-icon-copy-document" style="margin-right:2px"></i>{{ authCode }}</span></a>
43
+ <a class="a-link" style="" @click="copyAuthCode"><i class="el-icon-copy-document"></i><span>{{ authCode }}</span></a>
44
44
  </el-tooltip>
45
45
  </div>
46
46
  </el-form-item>
@@ -94,6 +94,7 @@ export default {
94
94
  "print-detail-button",
95
95
  "download-button",
96
96
  "copy_button",
97
+ "save_submit_wf_button",
97
98
  "tempStorage",
98
99
  "dropdown",
99
100
  "dropdown-item",
@@ -174,4 +175,14 @@ export default {
174
175
  };
175
176
  </script>
176
177
 
177
- <style lang="scss" scoped></style>
178
+ <style lang="scss" scoped>
179
+ .a-link{
180
+ display:flex;line-height:1.2;width:100%;align-items:center;color:rgba(0,0,0,0.65);
181
+ > i{
182
+ margin-right:8px;
183
+ }
184
+ > span{
185
+ flex:1
186
+ }
187
+ }
188
+ </style>
@@ -1,12 +1,12 @@
1
1
  <template>
2
2
  <div>
3
- <el-form-item :label="i18nt('脚本编码')">
3
+ <el-form-item :label="i18nt('脚本编码')" class="form-item-label-top">
4
4
  <el-input type="text" v-model="optionModel.formScriptCode"></el-input>
5
5
  </el-form-item>
6
- <el-form-item :label="i18nt('日志类型')">
6
+ <el-form-item :label="i18nt('日志类型')" class="form-item-label-top">
7
7
  <el-input type="text" v-model="optionModel.oplogTypeCode" placeholder="默认表单模板编码"></el-input>
8
8
  </el-form-item>
9
- <el-form-item :label="i18nt('业务唯一字段')">
9
+ <el-form-item :label="i18nt('业务唯一字段')" class="form-item-label-top">
10
10
  <el-input type="text" v-model="optionModel.oplogBusinessKey" placeholder="默认单据id"></el-input>
11
11
  </el-form-item>
12
12
  </div>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <el-form-item :label="i18nt('designer.setting.placeholder')">
2
+ <el-form-item :label="i18nt('designer.setting.placeholder')" class="form-item-label-top">
3
3
  <el-input type="textarea" :rows="3" v-model="optionModel.placeholder"></el-input>
4
4
  </el-form-item>
5
5
  </template>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <el-form-item :label="i18nt('designer.setting.precision')">
2
+ <el-form-item :label="i18nt('designer.setting.precision')" class="form-item-label-top">
3
3
  <el-input-number v-model="optionModel.precision" class="hide-spin-button" style="width: 100%"></el-input-number>
4
4
  </el-form-item>
5
5
  </template>
@@ -1,23 +1,22 @@
1
1
  <template>
2
2
  <el-form-item :label="i18nt('designer.setting.prefixIcon')">
3
- <el-input type="text" v-model="optionModel.prefixIcon"></el-input>
3
+ <icon-picker v-model="optionModel.prefixIcon"></icon-picker>
4
4
  </el-form-item>
5
5
  </template>
6
6
 
7
7
  <script>
8
- import i18n from "../../../../../components/xform/utils/i18n";
9
-
10
- export default {
11
- name: "prefixIcon-editor",
12
- mixins: [i18n],
13
- props: {
14
- designer: Object,
15
- selectedWidget: Object,
16
- optionModel: Object,
17
- },
18
- }
8
+ import i18n from "@base/components/xform/utils/i18n";
9
+ import IconPicker from "@base/components/xform/icon-picker/index.vue";
10
+ export default {
11
+ name: "prefixIcon-editor",
12
+ components: { IconPicker },
13
+ mixins: [i18n],
14
+ props: {
15
+ designer: Object,
16
+ selectedWidget: Object,
17
+ optionModel: Object,
18
+ },
19
+ };
19
20
  </script>
20
21
 
21
- <style scoped>
22
-
23
- </style>
22
+ <style scoped></style>
@@ -3,10 +3,10 @@
3
3
  <el-form-item label-width="0">
4
4
  <el-divider class="custom-divider-margin-top">项目标签设置</el-divider>
5
5
  </el-form-item>
6
- <el-form-item label="标签长度">
6
+ <el-form-item label="标签长度" class="form-item-label-top">
7
7
  <el-input v-model="optionModel.tagWidth" clearable></el-input>
8
8
  </el-form-item>
9
- <el-form-item label="弹框表单编码">
9
+ <el-form-item label="弹框表单编码" class="form-item-label-top">
10
10
  <el-input v-model="optionModel.tagFormCode" clearable></el-input>
11
11
  </el-form-item>
12
12
  <el-form-item label="弹框查询参数">
@@ -19,16 +19,16 @@
19
19
  <i class="el-icon-edit"></i>
20
20
  </a>
21
21
  </el-form-item>
22
- <el-form-item label="展示字段">
22
+ <el-form-item label="展示字段" class="form-item-label-top">
23
23
  <el-input v-model="optionModel.tagLabelField" clearable></el-input>
24
24
  </el-form-item>
25
- <el-form-item label="唯一关键字段">
25
+ <el-form-item label="唯一关键字段" class="form-item-label-top">
26
26
  <el-input v-model="optionModel.tagUniqueField" clearable></el-input>
27
27
  </el-form-item>
28
- <el-form-item label="来源展示字段">
28
+ <el-form-item label="来源展示字段" class="form-item-label-top">
29
29
  <el-input v-model="optionModel.tagFormLabelField" clearable></el-input>
30
30
  </el-form-item>
31
- <el-form-item label="来源唯一关键字段">
31
+ <el-form-item label="来源唯一关键字段" class="form-item-label-top">
32
32
  <el-input v-model="optionModel.tagFormUniqueField" clearable></el-input>
33
33
  </el-form-item>
34
34
 
@@ -0,0 +1,369 @@
1
+ <template>
2
+ <div class="relative-default-block">
3
+ <div class="relative-default-block__head">
4
+ <el-checkbox v-model="relativeMode">相对当前</el-checkbox>
5
+ <el-button
6
+ v-if="relativeMode"
7
+ type="text"
8
+ size="mini"
9
+ style="margin-left: 10px; padding: 0"
10
+ @click="openDialog"
11
+ >配置</el-button
12
+ >
13
+ </div>
14
+ <!-- 未勾选时由各组件自己的固定值控件占位 -->
15
+ <slot v-if="!relativeMode"></slot>
16
+ <template v-else>
17
+ <div class="relative-default-block__summary">{{ ruleText }}</div>
18
+ <div class="relative-default-block__summary">取值:{{ valueText }}</div>
19
+ </template>
20
+
21
+ <el-dialog
22
+ v-if="dialogVisible"
23
+ title="相对默认值"
24
+ :visible.sync="dialogVisible"
25
+ width="520px"
26
+ append-to-body
27
+ :close-on-click-modal="false"
28
+ :destroy-on-close="true"
29
+ >
30
+ <!-- 宽度打在自己的 span 上:全局 body .el-input{width:148px !important}
31
+ 会撑破 el-select,箭头被裁掉、两个下拉也会贴在一起 -->
32
+ <div v-for="part in parts" :key="part.key" class="relative-default-part">
33
+ <div v-if="part.label" class="relative-default-part__title">
34
+ {{ part.label }}
35
+ </div>
36
+ <div class="relative-default-part__row">
37
+ <span class="relative-default-part__prefix">当前</span>
38
+ <span class="relative-default-part__control relative-default-part__offset">
39
+ <el-input
40
+ :value="part.item.offsetText"
41
+ size="mini"
42
+ placeholder="0"
43
+ @input="handleOffsetInput(part.item, $event)"
44
+ ></el-input>
45
+ </span>
46
+ <span class="relative-default-part__control relative-default-part__unit">
47
+ <el-select v-model="part.item.unit" size="mini">
48
+ <el-option
49
+ v-for="item in unitOptions"
50
+ :key="item.value"
51
+ :label="item.label"
52
+ :value="item.value"
53
+ ></el-option>
54
+ </el-select>
55
+ </span>
56
+ <span class="relative-default-part__control relative-default-part__align">
57
+ <el-select v-model="part.item.align" size="mini">
58
+ <el-option
59
+ v-for="item in alignOptionsOf(part.item)"
60
+ :key="item.value"
61
+ :label="item.label"
62
+ :value="item.value"
63
+ ></el-option>
64
+ </el-select>
65
+ </span>
66
+ </div>
67
+ <div class="relative-default-part__preview">
68
+ 取值:{{ previewOf(part) }}
69
+ </div>
70
+ </div>
71
+ <div class="relative-default-tip">
72
+ 对齐指先按偏移量平移,再落到该单位的起点或终点,如「1月前·月初」为上月1号。
73
+ </div>
74
+ <span slot="footer">
75
+ <el-button size="mini" @click="dialogVisible = false">取消</el-button>
76
+ <el-button size="mini" type="primary" @click="confirmDialog"
77
+ >确定</el-button
78
+ >
79
+ </span>
80
+ </el-dialog>
81
+ </div>
82
+ </template>
83
+
84
+ <script>
85
+ import {
86
+ DATE_UNITS,
87
+ DEFAULT_VALUE_TYPE_RELATIVE,
88
+ KIND_TIME,
89
+ TIME_UNITS,
90
+ describeRelativeDescriptor,
91
+ getRelativeKind,
92
+ getUnitLabel,
93
+ hasTimePart,
94
+ isRangeWidgetType,
95
+ isRelativeDefaultType,
96
+ normalizeRelativeDescriptor,
97
+ normalizeRelativeRangeDescriptor,
98
+ resolveDefaultValueFromOptions,
99
+ resolveRelativeValue,
100
+ toPreviewText,
101
+ } from "../../../../../components/xform/form-designer/form-widget/field-widget/mixins/relativeDateUtil";
102
+
103
+ /**
104
+ * 日期/时间组件「相对默认值」的配置入口:属性面板上只占一行(勾选 + 配置按钮 + 摘要),
105
+ * 具体的偏移量/单位/对齐放进弹框里横排——属性面板只有 200px 宽,塞不下三个控件。
106
+ *
107
+ * 弹框里编辑的是本地草稿,点确定才写回 options:一来老表单不会被打开即改脏,
108
+ * 二来避免边输入边回写触发的重渲染回环。
109
+ */
110
+ export default {
111
+ name: "relative-default-block",
112
+ props: {
113
+ optionModel: {
114
+ type: Object,
115
+ required: true,
116
+ },
117
+ widgetType: {
118
+ type: String,
119
+ required: true,
120
+ },
121
+ },
122
+ data() {
123
+ return {
124
+ dialogVisible: false,
125
+ draft: null,
126
+ };
127
+ },
128
+ computed: {
129
+ kind() {
130
+ return getRelativeKind(this.widgetType);
131
+ },
132
+ isRange() {
133
+ return isRangeWidgetType(this.widgetType);
134
+ },
135
+ relativeMode: {
136
+ get() {
137
+ return isRelativeDefaultType(this.optionModel.defaultValueType);
138
+ },
139
+ set(checked) {
140
+ /* 老表单的 options 没有这些属性,一律 $set 保证响应式 */
141
+ this.$set(
142
+ this.optionModel,
143
+ "defaultValueType",
144
+ checked ? DEFAULT_VALUE_TYPE_RELATIVE : ""
145
+ );
146
+ if (checked) {
147
+ //相对模式下静态默认值不再参与取值,清掉避免两处配置打架
148
+ this.$set(this.optionModel, "defaultValue", null);
149
+ }
150
+ this.$emit("change");
151
+ },
152
+ },
153
+ descriptor() {
154
+ return this.isRange
155
+ ? normalizeRelativeRangeDescriptor(
156
+ this.optionModel.defaultValueRelative,
157
+ this.kind
158
+ )
159
+ : normalizeRelativeDescriptor(
160
+ this.optionModel.defaultValueRelative,
161
+ this.kind
162
+ );
163
+ },
164
+ ruleText() {
165
+ if (!this.isRange) {
166
+ return describeRelativeDescriptor(this.descriptor, this.kind);
167
+ }
168
+ return `${describeRelativeDescriptor(
169
+ this.descriptor.start,
170
+ this.kind
171
+ )} ~ ${describeRelativeDescriptor(this.descriptor.end, this.kind)}`;
172
+ },
173
+ valueText() {
174
+ return toPreviewText(
175
+ resolveDefaultValueFromOptions(this.optionModel, this.widgetType)
176
+ );
177
+ },
178
+ /* 时分秒单位只在时间类组件、或带时分秒的日期组件上给出 */
179
+ unitOptions() {
180
+ let units = [];
181
+ if (this.kind === KIND_TIME) {
182
+ units = [...TIME_UNITS];
183
+ } else if (
184
+ hasTimePart(this.optionModel.type, this.optionModel.valueFormat)
185
+ ) {
186
+ units = [...DATE_UNITS, ...TIME_UNITS];
187
+ } else {
188
+ units = [...DATE_UNITS];
189
+ }
190
+ return units.map((item) => ({ value: item, label: getUnitLabel(item) }));
191
+ },
192
+ parts() {
193
+ if (!this.draft) {
194
+ return [];
195
+ }
196
+ if (!this.isRange) {
197
+ return [
198
+ {
199
+ key: "single",
200
+ label: "",
201
+ item: this.draft,
202
+ defaultTime: this.getDefaultTimeAt(0),
203
+ },
204
+ ];
205
+ }
206
+ return [
207
+ {
208
+ key: "start",
209
+ label: "起始",
210
+ item: this.draft.start,
211
+ defaultTime: this.getDefaultTimeAt(0),
212
+ },
213
+ {
214
+ key: "end",
215
+ label: "截止",
216
+ item: this.draft.end,
217
+ defaultTime: this.getDefaultTimeAt(1),
218
+ },
219
+ ];
220
+ },
221
+ },
222
+ methods: {
223
+ getDefaultTimeAt(index) {
224
+ let defaultTime = this.optionModel.defaultTime;
225
+ return Array.isArray(defaultTime) ? defaultTime[index] || "" : "";
226
+ },
227
+ /* 草稿里额外挂一个 offsetText,输入过程中允许出现 "-" 这类中间态 */
228
+ toDraftItem(source) {
229
+ let item = normalizeRelativeDescriptor(source, this.kind);
230
+ return { ...item, offsetText: String(item.offset) };
231
+ },
232
+ openDialog() {
233
+ this.draft = this.isRange
234
+ ? {
235
+ start: this.toDraftItem(this.descriptor.start),
236
+ end: this.toDraftItem(this.descriptor.end),
237
+ }
238
+ : this.toDraftItem(this.descriptor);
239
+ this.dialogVisible = true;
240
+ },
241
+ /* 只留数字和一个前导负号 */
242
+ handleOffsetInput(item, text) {
243
+ let offsetText = String(text)
244
+ .replace(/[^\d-]/g, "")
245
+ .replace(/(?!^)-/g, "");
246
+ item.offsetText = offsetText;
247
+ let parsed = parseInt(offsetText, 10);
248
+ item.offset = Number.isFinite(parsed) ? parsed : 0;
249
+ },
250
+ alignOptionsOf(item) {
251
+ let unitLabel = getUnitLabel(item.unit);
252
+ return [
253
+ { value: "none", label: "不对齐" },
254
+ { value: "start", label: `对齐到${unitLabel}初` },
255
+ { value: "end", label: `对齐到${unitLabel}末` },
256
+ ];
257
+ },
258
+ previewOf(part) {
259
+ try {
260
+ return toPreviewText(
261
+ resolveRelativeValue(part.item, {
262
+ kind: this.kind,
263
+ type: this.optionModel.type,
264
+ valueFormat: this.optionModel.valueFormat,
265
+ defaultTime: part.defaultTime,
266
+ })
267
+ );
268
+ } catch (error) {
269
+ return "";
270
+ }
271
+ },
272
+ stripDraftItem(item) {
273
+ return { offset: item.offset, unit: item.unit, align: item.align };
274
+ },
275
+ confirmDialog() {
276
+ let value = this.isRange
277
+ ? {
278
+ start: this.stripDraftItem(this.draft.start),
279
+ end: this.stripDraftItem(this.draft.end),
280
+ }
281
+ : this.stripDraftItem(this.draft);
282
+ this.$set(this.optionModel, "defaultValueRelative", value);
283
+ this.$set(
284
+ this.optionModel,
285
+ "defaultValueType",
286
+ DEFAULT_VALUE_TYPE_RELATIVE
287
+ );
288
+ this.dialogVisible = false;
289
+ this.$emit("change");
290
+ },
291
+ },
292
+ };
293
+ </script>
294
+
295
+ <style lang="scss" scoped>
296
+ .relative-default-block__head {
297
+ display: flex;
298
+ align-items: center;
299
+ }
300
+
301
+ .relative-default-block__config {
302
+ margin-left: 8px;
303
+ padding: 0;
304
+ }
305
+
306
+ .relative-default-block__summary {
307
+ color: #909399;
308
+ line-height: 18px;
309
+ word-break: break-all;
310
+ }
311
+
312
+ .relative-default-part + .relative-default-part {
313
+ margin-top: 16px;
314
+ }
315
+
316
+ .relative-default-part__title {
317
+ margin-bottom: 6px;
318
+ color: #606266;
319
+ }
320
+
321
+ .relative-default-part__row {
322
+ display: flex;
323
+ flex-wrap: nowrap;
324
+ align-items: center;
325
+ gap: 10px;
326
+ }
327
+
328
+ .relative-default-part__prefix {
329
+ flex: none;
330
+ color: #606266;
331
+ }
332
+
333
+ .relative-default-part__control {
334
+ flex: none;
335
+ display: inline-block;
336
+ }
337
+
338
+ .relative-default-part__offset {
339
+ width: 80px;
340
+ }
341
+
342
+ .relative-default-part__unit {
343
+ width: 100px;
344
+ }
345
+
346
+ .relative-default-part__align {
347
+ width: 158px;
348
+ }
349
+
350
+ /* 压过 body .el-input{width:148px !important},让框体和内层同宽,箭头才能露出来 */
351
+ .relative-default-part__control ::v-deep .el-select,
352
+ .relative-default-part__control ::v-deep .el-input,
353
+ .relative-default-part__control ::v-deep .el-input__inner {
354
+ width: 100% !important;
355
+ }
356
+
357
+ .relative-default-part__preview {
358
+ margin-top: 2px;
359
+ color: #909399;
360
+ line-height: 18px;
361
+ word-break: break-all;
362
+ }
363
+
364
+ .relative-default-tip {
365
+ margin-top: 12px;
366
+ color: #909399;
367
+ line-height: 18px;
368
+ }
369
+ </style>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <el-form-item :label="i18nt('designer.setting.requiredHint')">
2
+ <el-form-item :label="i18nt('designer.setting.requiredHint')" class="form-item-label-top">
3
3
  <el-input type="text" v-model="optionModel.requiredHint"></el-input>
4
4
  </el-form-item>
5
5
  </template>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <el-form-item :label="i18nt('designer.setting.rows')">
2
+ <el-form-item :label="i18nt('designer.setting.rows')" class="form-item-label-top">
3
3
  <el-input-number v-model="optionModel.rows" style="width: 100%"></el-input-number>
4
4
  </el-form-item>
5
5
  </template>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <el-form-item :label="i18nt('designer.setting.space')">
2
+ <el-form-item :label="i18nt('designer.setting.space')" class="form-item-label-top">
3
3
  <el-input-number ref="fieldEditor" v-model="optionModel.space"></el-input-number>
4
4
  </el-form-item>
5
5
  </template>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <el-form-item :label="i18nt('designer.setting.startPlaceholder')">
2
+ <el-form-item :label="i18nt('designer.setting.startPlaceholder')" class="form-item-label-top">
3
3
  <el-input type="text" v-model="optionModel.startPlaceholder"></el-input>
4
4
  </el-form-item>
5
5
  </template>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <el-form-item :label="i18nt('designer.setting.step')">
2
+ <el-form-item :label="i18nt('designer.setting.step')" class="form-item-label-top">
3
3
  <el-input-number v-model="optionModel.step" class="hide-spin-button" style="width: 100%"></el-input-number>
4
4
  </el-form-item>
5
5
  </template>