cloud-web-corejs 1.0.54-dev.52 → 1.0.54-dev.520

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 (408) hide show
  1. package/package.json +14 -3
  2. package/src/App.vue +30 -34
  3. package/src/api/user.js +16 -0
  4. package/src/components/Qrcode/fileParse.vue +0 -1
  5. package/src/components/Tinymce/index.vue +112 -71
  6. package/src/components/VabUpload/image-viewer.vue +2 -2
  7. package/src/components/VabUpload/index.js +2 -1
  8. package/src/components/VabUpload/mixins.js +2 -2
  9. package/src/components/VabUpload/privateProfileDialogMixins.js +1 -1063
  10. package/src/components/VabUpload/propertiesDialog.vue +1 -1
  11. package/src/components/VabUpload/view.vue +209 -120
  12. package/src/components/advancedSearchDialog/mixins.js +1 -1
  13. package/src/components/base-textarea/index.vue +104 -0
  14. package/src/components/baseAlert/mixins.js +1 -1
  15. package/src/components/baseAttachment/index.vue +49 -40
  16. package/src/components/baseAttachment/mixins.js +2 -1
  17. package/src/components/baseInputExport/index.vue +19 -12
  18. package/src/components/baseInputExport/mixins.js +1 -1
  19. package/src/components/baseTabs/mixins.js +1 -1
  20. package/src/components/code-editor/index.vue +102 -63
  21. package/src/components/confirmDialog/index.vue +24 -17
  22. package/src/components/confirmDialog/mixins.js +1 -1
  23. package/src/components/errorMsg/index.vue +42 -34
  24. package/src/components/errorMsg/mixins.js +6 -5
  25. package/src/components/excelExport/button.vue +57 -4
  26. package/src/components/excelExport/index.js +6 -6
  27. package/src/components/excelExport/index.vue +56 -2
  28. package/src/components/excelExport/mixins.js +3 -2
  29. package/src/components/excelImport/mixins.js +2 -1
  30. package/src/components/fileLibrary/fileObjAuthDialog.vue +179 -89
  31. package/src/components/fileLibrary/fileObjAuthEditDialog.vue +6 -0
  32. package/src/components/fileLibrary/filterDialog.vue +454 -0
  33. package/src/components/fileLibrary/index.vue +594 -254
  34. package/src/components/fileLibrary/mixins/categoryMoveDialogMixins.js +1 -1
  35. package/src/components/fileLibrary/mixins/fileCategoryDialogMixins.js +1 -1
  36. package/src/components/fileLibrary/mixins/fileHistoryDialogMixins.js +2 -2
  37. package/src/components/fileLibrary/mixins/fileObjAuthDialogMixin.js +339 -211
  38. package/src/components/fileLibrary/mixins/fileObjAuthEditDialogMixin.js +31 -27
  39. package/src/components/fileLibrary/mixins/fileObjAuthEditMixin.js +4 -4
  40. package/src/components/fileLibrary/mixins/indexMixins.js +220 -101
  41. package/src/components/fileLibrary/mixins/propertiesDialogMixins.js +64 -4
  42. package/src/components/fileLibrary/mixins/recycleBinDialogMixins.js +3 -3
  43. package/src/components/fileLibrary/propertiesDialog.vue +113 -74
  44. package/src/components/fileLibrary/shareDialog.vue +1 -1
  45. package/src/components/formOplog/mixins.js +1 -1
  46. package/src/components/jsonImport/index.js +1 -1
  47. package/src/components/jsonImport/mixins.js +2 -1
  48. package/src/components/langImport/mixins.js +17 -16
  49. package/src/components/obsUpload/index.js +1 -0
  50. package/src/components/obsUpload/index.vue +231 -0
  51. package/src/components/obsUpload/mixins.js +8 -0
  52. package/src/components/scriptDescription/button.vue +12 -4
  53. package/src/components/scriptTest/mixins.js +1 -1
  54. package/src/components/statusTag/mixins.js +1 -1
  55. package/src/components/table/CellSlot.vue +1 -0
  56. package/src/components/table/index.js +12 -11
  57. package/src/components/table/plugins/extend-cell-area/vxe-table-extend-cell-area.es6.min.js +11028 -0
  58. package/src/components/table/plugins/extend-cell-area/vxe-table-extend-cell-area.min.css +200 -0
  59. package/src/components/table/tableForm.vue +99 -63
  60. package/src/components/table/tableFormMixin.js +1 -1
  61. package/src/components/table/util/index.js +328 -0
  62. package/src/components/table/vxeFilter/mixin.js +6 -6
  63. package/src/components/tempStorage/index.vue +76 -55
  64. package/src/components/tempStorage/tempStorageDialog.vue +179 -54
  65. package/src/components/vb-tabs/x-tabs.vue +56 -30
  66. package/src/components/wf/addOpinionButton.vue +57 -0
  67. package/src/components/wf/content.vue +834 -362
  68. package/src/components/wf/mixins/addOpinionButton.js +3 -0
  69. package/src/components/wf/mixins/setCandidateButton.js +6 -0
  70. package/src/components/wf/mixins/setCandidateDialog.js +2 -1
  71. package/src/components/wf/mixins/setCandidateDialog2.js +6 -0
  72. package/src/components/wf/mixins/wfFlowEleScriptDialog.js +3 -0
  73. package/src/components/wf/mixins/wfTaskUserRangeDialog.js +3 -0
  74. package/src/components/wf/setCandidateButton.vue +40 -0
  75. package/src/components/wf/setCandidateDialog.vue +10 -0
  76. package/src/components/wf/setCandidateDialog2.vue +105 -0
  77. package/src/components/wf/wf.js +2156 -1
  78. package/src/components/wf/wfFlowEleScriptDialog.vue +89 -0
  79. package/src/components/wf/wfStartDialog.vue +66 -42
  80. package/src/components/wf/wfTaskUserRangeDialog.vue +65 -0
  81. package/src/components/wf/wfUtil.js +279 -1
  82. package/src/components/xform/form-designer/designer.js +5 -3
  83. package/src/components/xform/form-designer/form-widget/components/gantt/index.vue +434 -0
  84. package/src/components/xform/form-designer/form-widget/container-widget/containerMixin.js +3 -3
  85. package/src/components/xform/form-designer/form-widget/container-widget/data-table-mixin.js +9 -8
  86. package/src/components/xform/form-designer/form-widget/container-widget/data-table-widget.vue +4 -1
  87. package/src/components/xform/form-designer/form-widget/container-widget/detail-widget.vue +3 -3
  88. package/src/components/xform/form-designer/form-widget/dialog/baseFormulaDialog copy.vue +971 -0
  89. package/src/components/xform/form-designer/form-widget/dialog/baseFormulaDialog.vue +971 -0
  90. package/src/components/xform/form-designer/form-widget/dialog/exportDialog.vue +13 -0
  91. package/src/components/xform/form-designer/form-widget/dialog/fileReferenceDialog.vue +301 -0
  92. package/src/components/xform/form-designer/form-widget/dialog/formDialog.vue +82 -49
  93. package/src/components/xform/form-designer/form-widget/dialog/formDrawer.vue +5 -1
  94. package/src/components/xform/form-designer/form-widget/dialog/formulaDialog.vue +799 -0
  95. package/src/components/xform/form-designer/form-widget/dialog/importDialog.vue +38 -7
  96. package/src/components/xform/form-designer/form-widget/dialog/importDialogMixin - /345/211/257/346/234/254.js" +1639 -0
  97. package/src/components/xform/form-designer/form-widget/dialog/importDialogMixin.js +9 -8
  98. package/src/components/xform/form-designer/form-widget/dialog/searchFormDialog.vue +133 -72
  99. package/src/components/xform/form-designer/form-widget/field-widget/a-link-widget.vue +2 -2
  100. package/src/components/xform/form-designer/form-widget/field-widget/a-text-widget.vue +1 -1
  101. package/src/components/xform/form-designer/form-widget/field-widget/baseAttachment-widget.vue +34 -5
  102. package/src/components/xform/form-designer/form-widget/field-widget/button-widget.vue +1 -1
  103. package/src/components/xform/form-designer/form-widget/field-widget/cascader-widget.vue +19 -1
  104. package/src/components/xform/form-designer/form-widget/field-widget/census-widget.vue +40 -28
  105. package/src/components/xform/form-designer/form-widget/field-widget/checkbox-widget.vue +18 -7
  106. package/src/components/xform/form-designer/form-widget/field-widget/color-widget.vue +4 -1
  107. package/src/components/xform/form-designer/form-widget/field-widget/copy_button-widget.vue +89 -0
  108. package/src/components/xform/form-designer/form-widget/field-widget/date-range-widget.vue +14 -2
  109. package/src/components/xform/form-designer/form-widget/field-widget/date-widget.vue +30 -4
  110. package/src/components/xform/form-designer/form-widget/field-widget/download-button-widget.vue +133 -0
  111. package/src/components/xform/form-designer/form-widget/field-widget/dropdown-item-widget.vue +77 -0
  112. package/src/components/xform/form-designer/form-widget/field-widget/dropdown-menu-widget.vue +106 -0
  113. package/src/components/xform/form-designer/form-widget/field-widget/echart-bar-widget.vue +1 -1
  114. package/src/components/xform/form-designer/form-widget/field-widget/echart-category-widget.vue +1 -1
  115. package/src/components/xform/form-designer/form-widget/field-widget/echart-pie-widget.vue +1 -1
  116. package/src/components/xform/form-designer/form-widget/field-widget/fieldMixin.js +25 -16
  117. package/src/components/xform/form-designer/form-widget/field-widget/form-item-wrapper.vue +705 -379
  118. package/src/components/xform/form-designer/form-widget/field-widget/gantt-widget.vue +964 -0
  119. package/src/components/xform/form-designer/form-widget/field-widget/html-text-widget.vue +6 -2
  120. package/src/components/xform/form-designer/form-widget/field-widget/import-button-widget.vue +22 -11
  121. package/src/components/xform/form-designer/form-widget/field-widget/import2-button-widget.vue +90 -0
  122. package/src/components/xform/form-designer/form-widget/field-widget/input-widget.vue +7 -2
  123. package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-bar-mixin.js +49 -8
  124. package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-category-mixin.js +61 -88
  125. package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-pie-mixin.js +13 -0
  126. package/src/components/xform/form-designer/form-widget/field-widget/mixins/vabsearch-mixin.js +179 -0
  127. package/src/components/xform/form-designer/form-widget/field-widget/multiSearch-widget.vue +53 -0
  128. package/src/components/xform/form-designer/form-widget/field-widget/number-widget.vue +114 -81
  129. package/src/components/xform/form-designer/form-widget/field-widget/oplog-widget.vue +186 -0
  130. package/src/components/xform/form-designer/form-widget/field-widget/print-button-widget.vue +44 -27
  131. package/src/components/xform/form-designer/form-widget/field-widget/print-detail-button-widget.vue +116 -0
  132. package/src/components/xform/form-designer/form-widget/field-widget/project-tag-widget.vue +154 -47
  133. package/src/components/xform/form-designer/form-widget/field-widget/radio-widget.vue +26 -6
  134. package/src/components/xform/form-designer/form-widget/field-widget/search_button-widget.vue +2 -2
  135. package/src/components/xform/form-designer/form-widget/field-widget/select-export-button-widget.vue +86 -0
  136. package/src/components/xform/form-designer/form-widget/field-widget/select-widget.vue +24 -9
  137. package/src/components/xform/form-designer/form-widget/field-widget/singerSearch-widget.vue +53 -0
  138. package/src/components/xform/form-designer/form-widget/field-widget/singleUpload-widget.vue +145 -0
  139. package/src/components/xform/form-designer/form-widget/field-widget/static-content-wrapper.vue +12 -1
  140. package/src/components/xform/form-designer/form-widget/field-widget/status-widget.vue +31 -17
  141. package/src/components/xform/form-designer/form-widget/field-widget/table-export-button-widget.vue +7 -2
  142. package/src/components/xform/form-designer/form-widget/field-widget/tableexportbuttonwidget.vue +99 -0
  143. package/src/components/xform/form-designer/form-widget/field-widget/tempStorage-widget.vue +147 -0
  144. package/src/components/xform/form-designer/form-widget/field-widget/text-widget.vue +106 -33
  145. package/src/components/xform/form-designer/form-widget/field-widget/time-range-widget.vue +2 -2
  146. package/src/components/xform/form-designer/form-widget/field-widget/vabSearch-widget.vue +3 -171
  147. package/src/components/xform/form-designer/form-widget/field-widget/vabUpload-widget.vue +260 -58
  148. package/src/components/xform/form-designer/form-widget/field-widget/vabUpload2-widget.vue +753 -0
  149. package/src/components/xform/form-designer/indexMixin.js +3 -772
  150. package/src/components/xform/form-designer/setting-panel/form-setting.vue +977 -169
  151. package/src/components/xform/form-designer/setting-panel/index.vue +4 -0
  152. package/src/components/xform/form-designer/setting-panel/indexMixin.js +1 -1
  153. package/src/components/xform/form-designer/setting-panel/option-items-setting.vue +537 -302
  154. package/src/components/xform/form-designer/setting-panel/property-editor/a-link-editor.vue +4 -4
  155. package/src/components/xform/form-designer/setting-panel/property-editor/a-text-editor.vue +3 -3
  156. package/src/components/xform/form-designer/setting-panel/property-editor/autoValueEnabled-editor.vue +38 -0
  157. package/src/components/xform/form-designer/setting-panel/property-editor/censusClass-editor.vue +6 -0
  158. package/src/components/xform/form-designer/setting-panel/property-editor/colorClass-editor.vue +28 -0
  159. package/src/components/xform/form-designer/setting-panel/property-editor/commonAttributeEnabled-editor.vue +41 -0
  160. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/columnRenderDialog.vue +125 -0
  161. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +946 -1042
  162. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/onCheckboxChange-editor.vue +1 -1
  163. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +1127 -512
  164. package/src/components/xform/form-designer/setting-panel/property-editor/container-detail/detail-editor.vue +2 -2
  165. package/src/components/xform/form-designer/setting-panel/property-editor/container-detail-pane/detail-pane-editor.vue +3 -3
  166. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid-col/grid-col-offset-editor.vue +1 -1
  167. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid-col/grid-col-pull-editor.vue +1 -1
  168. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid-col/grid-col-push-editor.vue +1 -1
  169. package/src/components/xform/form-designer/setting-panel/property-editor/container-list-h5/list-h5-editor.vue +0 -8
  170. package/src/components/xform/form-designer/setting-panel/property-editor/container-tree/tree-customClass-editor.vue +31 -2
  171. package/src/components/xform/form-designer/setting-panel/property-editor/copyButton-editor.vue +36 -0
  172. package/src/components/xform/form-designer/setting-panel/property-editor/downloadButtonFlag-editor.vue +32 -0
  173. package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/eventMixin.js +2 -2
  174. package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/onAfterConfirmFile-editor.vue +32 -0
  175. package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/onClick-editor.vue +14 -7
  176. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/clickBindEvent-editor.vue +35 -20
  177. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/search-dialog-event-editor.vue +64 -5
  178. package/src/components/xform/form-designer/setting-panel/property-editor/field-date-range/date-range-defaultTime-editor.vue +27 -0
  179. package/src/components/xform/form-designer/setting-panel/property-editor/field-dropdown-menu/dropdown-item-editor.vue +21 -0
  180. package/src/components/xform/form-designer/setting-panel/property-editor/field-dropdown-menu/dropdown-menu-editor.vue +59 -0
  181. package/src/components/xform/form-designer/setting-panel/property-editor/field-echart/echart-bar-editor.vue +185 -69
  182. package/src/components/xform/form-designer/setting-panel/property-editor/field-echart/echart-category-editor.vue +188 -86
  183. package/src/components/xform/form-designer/setting-panel/property-editor/field-echart/echart-pie-editor.vue +84 -39
  184. package/src/components/xform/form-designer/setting-panel/property-editor/field-gantt/gantt-editor.vue +36 -0
  185. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import-button-editor.vue +77 -20
  186. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import2-button-editor.vue +96 -0
  187. package/src/components/xform/form-designer/setting-panel/property-editor/field-print-button/print-button-editor.vue +44 -15
  188. package/src/components/xform/form-designer/setting-panel/property-editor/field-print-button/print-detail-button-editor.vue +115 -0
  189. package/src/components/xform/form-designer/setting-panel/property-editor/field-rate/rate-defaultValue-editor.vue +1 -1
  190. package/src/components/xform/form-designer/setting-panel/property-editor/field-status/field-status-editor.vue +67 -41
  191. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/select-export-button-editor.vue +56 -0
  192. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/table-export-button-editor.vue +26 -7
  193. package/src/components/xform/form-designer/setting-panel/property-editor/field-vabSearch/vabSearchName-editor.vue +13 -1
  194. package/src/components/xform/form-designer/setting-panel/property-editor/field-vabUpload/field-vabUpload-editor.vue +33 -1
  195. package/src/components/xform/form-designer/setting-panel/property-editor/field-vabUpload2/field-vabUpload2-editor.vue +66 -0
  196. package/src/components/xform/form-designer/setting-panel/property-editor/formScriptEnabled-editor.vue +89 -19
  197. package/src/components/xform/form-designer/setting-panel/property-editor/formatType-editor.vue +137 -0
  198. package/src/components/xform/form-designer/setting-panel/property-editor/formula-editor.vue +721 -466
  199. package/src/components/xform/form-designer/setting-panel/property-editor/labelColor-editor.vue +20 -11
  200. package/src/components/xform/form-designer/setting-panel/property-editor/labelIconClass-editor.vue +1 -1
  201. package/src/components/xform/form-designer/setting-panel/property-editor/labelIconPosition-editor.vue +1 -1
  202. package/src/components/xform/form-designer/setting-panel/property-editor/labelTooltip-editor.vue +1 -1
  203. package/src/components/xform/form-designer/setting-panel/property-editor/limit-editor.vue +1 -1
  204. package/src/components/xform/form-designer/setting-panel/property-editor/multiple-editor.vue +19 -14
  205. package/src/components/xform/form-designer/setting-panel/property-editor/multipleLimit-editor.vue +1 -1
  206. package/src/components/xform/form-designer/setting-panel/property-editor/name-editor.vue +124 -50
  207. package/src/components/xform/form-designer/setting-panel/property-editor/oplog-editor.vue +31 -0
  208. package/src/components/xform/form-designer/setting-panel/property-editor/precision-editor.vue +1 -1
  209. package/src/components/xform/form-designer/setting-panel/property-editor/project-tag-editor.vue +349 -0
  210. package/src/components/xform/form-designer/setting-panel/property-editor/required-editor.vue +10 -6
  211. package/src/components/xform/form-designer/setting-panel/property-editor/requiredHint-editor.vue +3 -3
  212. package/src/components/xform/form-designer/setting-panel/property-editor/showRuleFlag-editor.vue +1 -1
  213. package/src/components/xform/form-designer/setting-panel/property-editor/tempStorage-editor.vue +42 -0
  214. package/src/components/xform/form-designer/setting-panel/property-editor/textFlag-editor.vue +305 -19
  215. package/src/components/xform/form-designer/setting-panel/property-editor/validation-editor.vue +2 -2
  216. package/src/components/xform/form-designer/setting-panel/property-editor/validationHint-editor.vue +2 -2
  217. package/src/components/xform/form-designer/setting-panel/property-editor/wfFlag-editor.vue +372 -50
  218. package/src/components/xform/form-designer/setting-panel/property-editor/widgetShowRuleFlag-editor.vue +263 -0
  219. package/src/components/xform/form-designer/setting-panel/propertyRegister.js +33 -11
  220. package/src/components/xform/form-designer/toolbar-panel/index.vue +12 -11
  221. package/src/components/xform/form-designer/toolbar-panel/indexMixin.js +1 -1
  222. package/src/components/xform/form-designer/widget-panel/index.vue +21 -1
  223. package/src/components/xform/form-designer/widget-panel/indexMixin.js +19 -18
  224. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +1657 -869
  225. package/src/components/xform/form-render/container-item/containerItemMixin.js +12 -11
  226. package/src/components/xform/form-render/container-item/data-table-item.vue +194 -199
  227. package/src/components/xform/form-render/container-item/data-table-mixin.js +22 -18
  228. package/src/components/xform/form-render/container-item/detail-pane-item.vue +17 -3
  229. package/src/components/xform/form-render/container-item/grid-col-item.vue +10 -3
  230. package/src/components/xform/form-render/container-item/grid-item.vue +1 -1
  231. package/src/components/xform/form-render/container-item/list-h5-item.vue +1 -9
  232. package/src/components/xform/form-render/container-item/list-h5-item2.vue +1 -8
  233. package/src/components/xform/form-render/container-item/tab-item.vue +62 -25
  234. package/src/components/xform/form-render/container-item/table-cell-item.vue +38 -32
  235. package/src/components/xform/form-render/container-item/table-item.vue +4 -2
  236. package/src/components/xform/form-render/container-item/table2-cell-item.vue +53 -34
  237. package/src/components/xform/form-render/container-item/table2-item.vue +141 -88
  238. package/src/components/xform/form-render/container-item/tree-item.vue +32 -11
  239. package/src/components/xform/form-render/index.vue +77 -20
  240. package/src/components/xform/form-render/indexMixin copy.js +3462 -0
  241. package/src/components/xform/form-render/indexMixin.js +3517 -12
  242. package/src/components/xform/lang/zh-CN.js +27 -4
  243. package/src/components/xform/mixins/defaultHandle.js +1 -1
  244. package/src/components/xform/mixins/scriptHttp.js +3 -1
  245. package/src/components/xform/utils/emitter.js +4 -4
  246. package/src/components/xform/utils/format.js +35 -34
  247. package/src/components/xform/utils/formula-util.js +966 -0
  248. package/src/components/xform/utils/util.js +1 -1
  249. package/src/components/xform/utils/validators.js +1 -5
  250. package/src/components/xform/utils/vue2js-generator.js +2 -2
  251. package/src/index.js +215 -190
  252. package/src/lang/index.js +56 -51
  253. package/src/lang/locale/en/login.js +20 -0
  254. package/src/lang/locale/zh/login.js +20 -0
  255. package/src/layout/components/AppMain.vue +5 -1
  256. package/src/layout/components/Sidebar/default.vue +1421 -1222
  257. package/src/layout/components/TagsView/index.vue +37 -12
  258. package/src/layout/components/createCompany/createCompanyDialog.vue +157 -0
  259. package/src/layout/components/extractedCode/createDialog.vue +92 -0
  260. package/src/layout/components/extractedCode/queryDialog.vue +96 -0
  261. package/src/layout/components/extractedCode/viewDialog.vue +193 -0
  262. package/src/layout/components/watermark/index.vue +83 -0
  263. package/src/layout/defaultLayout.vue +1 -1
  264. package/src/layout/index.vue +3 -5
  265. package/src/mixins/selectDialog/index.js +1 -1
  266. package/src/mixins/table/index.js +151 -0
  267. package/src/mixins/tableTree/index.js +1 -1
  268. package/src/permission.js +1 -18
  269. package/src/router/modules/customer.js +89 -8
  270. package/src/store/config/index.js +1 -1
  271. package/src/store/getters.js +3 -1
  272. package/src/store/modules/permission.js +1 -1
  273. package/src/store/modules/settings.js +1 -1
  274. package/src/store/modules/tagsView.js +1 -14
  275. package/src/store/modules/user.js +1 -29
  276. package/src/utils/index.js +1 -7
  277. package/src/utils/pddLog.js +103 -0
  278. package/src/utils/pdfUtil.js +71 -0
  279. package/src/utils/request.js +1 -1
  280. package/src/utils/vab.js +19 -27
  281. package/src/views/bd/setting/bd_attach_setting/edit.vue +5 -5
  282. package/src/views/bd/setting/bd_attach_setting/list.vue +28 -55
  283. package/src/views/bd/setting/bd_attach_setting/mixins/edit.js +4 -5
  284. package/src/views/bd/setting/bd_attach_setting/mixins/list.js +239 -1
  285. package/src/views/bd/setting/bd_company_env/dialog.vue +174 -0
  286. package/src/views/bd/setting/bd_company_env/edit.vue +193 -0
  287. package/src/views/bd/setting/bd_company_env/list.vue +175 -0
  288. package/src/views/bd/setting/config_manage/list.vue +83 -0
  289. package/src/views/bd/setting/form_import_log/edit.vue +127 -0
  290. package/src/views/bd/setting/form_import_log/list.vue +206 -0
  291. package/src/views/bd/setting/form_script/edit.vue +9 -0
  292. package/src/views/bd/setting/form_script/edit1.vue +36 -3
  293. package/src/views/bd/setting/form_script/form_list.vue +99 -37
  294. package/src/views/bd/setting/form_script/list1.vue +181 -118
  295. package/src/views/bd/setting/form_script/mixins/dialog.js +130 -1
  296. package/src/views/bd/setting/form_script/mixins/edit.js +201 -1
  297. package/src/views/bd/setting/form_script/mixins/edit1.js +193 -1
  298. package/src/views/bd/setting/form_script/mixins/form_list.js +1 -1
  299. package/src/views/bd/setting/form_script/mixins/list.js +236 -1
  300. package/src/views/bd/setting/form_script/mixins/list1.js +423 -14
  301. package/src/views/bd/setting/form_script/mixins/otherAuthDialog.js +194 -0
  302. package/src/views/bd/setting/form_script/otherAuthDialog.vue +83 -0
  303. package/src/views/bd/setting/form_template/batchWfObjConfigDialog.vue +2 -2
  304. package/src/views/bd/setting/form_template/edit.vue +22 -1
  305. package/src/views/bd/setting/form_template/editWfObjConfigDialog.vue +2 -2
  306. package/src/views/bd/setting/form_template/list.vue +326 -214
  307. package/src/views/bd/setting/form_template/mixins/batchWfObjConfigDialog.js +11 -10
  308. package/src/views/bd/setting/form_template/mixins/edit.js +234 -9
  309. package/src/views/bd/setting/form_template/mixins/list.js +689 -22
  310. package/src/views/bd/setting/form_template/mixins/otherAuthDialog.js +193 -0
  311. package/src/views/bd/setting/form_template/mixins/wf_list.js +1 -423
  312. package/src/views/bd/setting/form_template/otherAuthDialog.vue +83 -0
  313. package/src/views/bd/setting/form_template/wfObjConfigDialog.vue +4 -4
  314. package/src/views/bd/setting/form_template/wf_list.vue +1 -1
  315. package/src/views/bd/setting/logic_param/edit.vue +146 -0
  316. package/src/views/bd/setting/logic_param/edit1.vue +106 -0
  317. package/src/views/bd/setting/logic_param/edit2.vue +139 -0
  318. package/src/views/bd/setting/logic_param/list.vue +74 -0
  319. package/src/views/bd/setting/logic_param/list1.vue +12 -0
  320. package/src/views/bd/setting/logic_param/list2.vue +12 -0
  321. package/src/views/bd/setting/logic_param/mixins/edit.js +3 -0
  322. package/src/views/bd/setting/logic_param/mixins/list.js +9 -0
  323. package/src/views/bd/setting/menu_kind/list.vue +172 -83
  324. package/src/views/bd/setting/menu_kind/mixins/authDialog.js +300 -7
  325. package/src/views/bd/setting/menu_kind/mixins/list.js +201 -1
  326. package/src/views/bd/setting/push_data/edit.vue +139 -0
  327. package/src/views/bd/setting/push_data/list.vue +283 -0
  328. package/src/views/bd/setting/push_data_h/edit.vue +153 -0
  329. package/src/views/bd/setting/push_data_h/list.vue +293 -0
  330. package/src/views/bd/setting/request_async_setting/edit.vue +320 -0
  331. package/src/views/bd/setting/request_async_setting/list.vue +372 -0
  332. package/src/views/bd/setting/request_setting/edit.vue +300 -0
  333. package/src/views/bd/setting/request_setting/list.vue +311 -0
  334. package/src/views/bd/setting/table_model/edit.vue +875 -426
  335. package/src/views/bd/setting/table_model/list.vue +190 -128
  336. package/src/views/bd/setting/table_model/mixins/dialog.js +1 -1
  337. package/src/views/bd/setting/table_model/mixins/edit.js +1202 -13
  338. package/src/views/bd/setting/table_model/mixins/list.js +440 -14
  339. package/src/views/bd/setting/table_model/mixins/otherAuthDialog.js +201 -0
  340. package/src/views/bd/setting/table_model/otherAuthDialog.vue +83 -0
  341. package/src/views/user/access_log/list.vue +418 -349
  342. package/src/views/user/area/dialog.vue +223 -117
  343. package/src/views/user/area/list.vue +318 -0
  344. package/src/views/user/bill_setting/edit.vue +1 -1
  345. package/src/views/user/bill_setting/list.vue +1 -1
  346. package/src/views/user/common_attribute/itemEdit.vue +2 -2
  347. package/src/views/user/common_attribute/list.vue +5 -2
  348. package/src/views/user/common_script/edit.vue +1 -1
  349. package/src/views/user/common_script/list.vue +1 -1
  350. package/src/views/user/company_info/dialog.vue +164 -163
  351. package/src/views/user/company_info/edit.vue +1 -1
  352. package/src/views/user/extend_datasource/dialog.vue +4 -0
  353. package/src/views/user/extend_datasource/edit.vue +5 -1
  354. package/src/views/user/extend_datasource/list.vue +5 -1
  355. package/src/views/user/fieldTranslation/editDialog.vue +7 -7
  356. package/src/views/user/fieldTranslation/list.vue +32 -32
  357. package/src/views/user/form/vform/designer.vue +776 -749
  358. package/src/views/user/form/vform/out_render.vue +1 -1
  359. package/src/views/user/form/vform/render.vue +59 -37
  360. package/src/views/user/form/view/edit.vue +38 -37
  361. package/src/views/user/form/view/list.vue +261 -49
  362. package/src/views/user/home/bears/index.vue +1032 -0
  363. package/src/views/user/home/default.vue +1025 -979
  364. package/src/views/user/home/dev.vue +29 -0
  365. package/src/views/user/home/index.vue +16 -6
  366. package/src/views/user/home/taili/index.vue +1034 -0
  367. package/src/views/user/ledger_library/list.vue +10 -12
  368. package/src/views/user/login/default.vue +165 -36
  369. package/src/views/user/login/index.vue +4 -6
  370. package/src/views/user/login/indexMixin.js +184 -8
  371. package/src/views/user/menu/list.vue +24 -1
  372. package/src/views/user/notify_message/dialog.vue +38 -22
  373. package/src/views/user/notify_template/edit.vue +188 -187
  374. package/src/views/user/notify_template/edit2.vue +176 -0
  375. package/src/views/user/notify_template/list.vue +4 -1
  376. package/src/views/user/notify_template/list2.vue +190 -0
  377. package/src/views/user/outLink/form_view.vue +211 -184
  378. package/src/views/user/outLink/index.vue +67 -11
  379. package/src/views/user/outLink/view.vue +28 -23
  380. package/src/views/user/position/list.vue +4 -4
  381. package/src/views/user/project_tag/dialog.vue +9 -4
  382. package/src/views/user/project_tag/edit.vue +2 -2
  383. package/src/views/user/project_tag/list.vue +9 -4
  384. package/src/views/user/push_setting/list.vue +2 -2
  385. package/src/views/user/request_setting/edit.vue +258 -0
  386. package/src/views/user/request_setting/list.vue +248 -0
  387. package/src/views/user/role/authConfig.vue +89 -0
  388. package/src/views/user/role/dialog.vue +70 -48
  389. package/src/views/user/role/edit.vue +609 -429
  390. package/src/views/user/role/list.vue +4 -4
  391. package/src/views/user/sale_org/dialog.vue +1 -1
  392. package/src/views/user/sale_org/list.vue +4 -1
  393. package/src/views/user/user/dialog.vue +46 -23
  394. package/src/views/user/user/edit.vue +1059 -1021
  395. package/src/views/user/user/form_dialog.vue +158 -0
  396. package/src/views/user/user/form_info.vue +210 -0
  397. package/src/views/user/user/list.vue +647 -563
  398. package/src/views/user/user/modifyPasswordDialog.vue +64 -53
  399. package/src/views/user/wf/wfReport/index.vue +618 -0
  400. package/src/views/user/wf/wf_auto_submit_data/list.vue +2 -0
  401. package/src/views/user/wf/wf_manage/list.vue +371 -249
  402. package/src/views/user/wf/wf_manage/wfContentDialog.vue +1 -1
  403. package/src/views/user/wf/wf_obj_config/importItemDialog.vue +109 -0
  404. package/src/views/user/wf/wf_obj_config/itemEdit.vue +25 -1
  405. package/src/views/user/wf/wf_obj_config/list.vue +114 -9
  406. package/src/views/user/wf/wf_obj_config/wfBizDataSettingDialog.vue +2 -2
  407. package/src/views/user/wf/wf_transfer_setting/edit.vue +282 -0
  408. package/src/views/user/wf/wf_transfer_setting/list.vue +319 -0
@@ -0,0 +1,799 @@
1
+ <template>
2
+ <el-dialog
3
+ :visible.sync="formulaDialogVisible"
4
+ :title="i18nt('designer.hint.formulaSetting')"
5
+ custom-class="dialog-style list-dialog"
6
+ :close-on-click-modal="false"
7
+ :close-on-press-escape="false"
8
+ :destroy-on-close="true"
9
+ :append-to-body="true"
10
+ width="70%"
11
+ top="0px"
12
+ ref="colFormulaDialog"
13
+ @close="dialogClose"
14
+ >
15
+ <div class="cont">
16
+ <el-row>
17
+ <el-col :span="24">
18
+ <div class="editor">
19
+ <div class="editor-top">
20
+ <el-row>
21
+ <el-col :span="22">
22
+ <div style="font-weight: bold">value =</div>
23
+ </el-col>
24
+ <!-- el-tag 模式 按钮 end -->
25
+ <el-col :span="2">
26
+ <el-button size="small" @click="clearFormula" type="danger" plain>
27
+ {{ i18nt("designer.hint.formulaClear") }}
28
+ </el-button>
29
+ </el-col>
30
+ </el-row>
31
+ <div ref="cmRef" style="height: 83px; width: 100%"></div>
32
+ </div>
33
+ <!-- -->
34
+ <div class="editor-bottom">
35
+ <el-button
36
+ v-on:click="insertSymbol(item)"
37
+ size="default"
38
+ v-for="(item, idx) in operate"
39
+ :key="idx"
40
+ >
41
+ {{ item }}
42
+ </el-button>
43
+ </div>
44
+ <!-- -->
45
+ </div>
46
+ </el-col>
47
+ </el-row>
48
+ <el-row style="margin: 10px">
49
+ <el-col :span="6">
50
+ <div class="group-item-left">
51
+ <div class="item-header">
52
+ {{ i18nt("designer.hint.formulaWidgetList") }}
53
+ </div>
54
+ <el-input
55
+ :placeholder="i18nt('designer.hint.formulaSearch')"
56
+ v-model="filterText"
57
+ clearable
58
+ ></el-input>
59
+ <div class="item-body-left">
60
+ <el-tree
61
+ ref="fieldTree"
62
+ :data="fieldTreeData"
63
+ :filter-node-method="filterNode"
64
+ @node-click="insertField"
65
+ >
66
+ <template #default="{ node, data }">
67
+ <span class="custom-tree-node">
68
+ <el-tooltip effect="dark" :content="node.label" placement="right">
69
+ <span>{{ node.label }}</span>
70
+ </el-tooltip>
71
+ </span>
72
+ </template>
73
+ </el-tree>
74
+ </div>
75
+ </div>
76
+ </el-col>
77
+ <el-col :span="6">
78
+ <el-row>
79
+ <el-col :span="24">
80
+ <div class="group-item-right-top">
81
+ <div class="item-header">
82
+ {{ i18nt("designer.hint.formulaFunctionList") }}
83
+ </div>
84
+ <div class="function-list">
85
+ <el-collapse v-model="funcActiveCollapseNames">
86
+ <template v-for="(item, index) in funcList">
87
+ <el-collapse-item
88
+ :key="index"
89
+ :title="i18nt(item.fClass)"
90
+ :name="index"
91
+ v-if="index < 2"
92
+ >
93
+ <div
94
+ v-for="(info, i) in item.flist"
95
+ :key="i"
96
+ class="field-item"
97
+ @click="insertFunction(info.fName + '(')"
98
+ @mouseenter="
99
+ showIntro(
100
+ i18nt(info.fName),
101
+ i18nt(item.fClass),
102
+ i18nt(info.fIntro)
103
+ )
104
+ "
105
+ v-on:mouseleave="resetIntro"
106
+ >
107
+ <span>{{ info.fName }}</span>
108
+ <el-tag :type="getClass(info.fType)"
109
+ >{{ i18nt(info.fType) }}
110
+ </el-tag>
111
+ </div>
112
+ </el-collapse-item>
113
+ </template>
114
+ </el-collapse>
115
+ </div>
116
+ </div>
117
+ </el-col>
118
+ </el-row>
119
+ </el-col>
120
+ <el-col :span="12">
121
+ <div class="group-item-right-bottom">
122
+ <div class="item-header">{{ introTitle }}</div>
123
+ <div class="item-body-right-bottom">
124
+ <ul>
125
+ <li
126
+ v-if="introduction.title !== ''"
127
+ style="font-size: 16px; color: #0a5d7c"
128
+ >
129
+ {{ introduction.title }}
130
+ </li>
131
+ <li>
132
+ <div class="intro-content" v-html="introduction.content"></div>
133
+ </li>
134
+ </ul>
135
+ </div>
136
+ </div>
137
+ </el-col>
138
+ </el-row>
139
+ </div>
140
+ <div class="dialog-footer" slot="footer">
141
+ <el-button
142
+ @click="formulaDialogVisible = false"
143
+ class="button-sty"
144
+ icon="el-icon-close"
145
+ >
146
+ {{ i18nt("designer.hint.cancel") }}
147
+ </el-button>
148
+ <el-button
149
+ type="primary"
150
+ @click="saveFormula"
151
+ class="button-sty"
152
+ icon="el-icon-check"
153
+ >
154
+ {{ i18nt("designer.hint.confirm") }}
155
+ </el-button>
156
+ </div>
157
+ </el-dialog>
158
+ </template>
159
+
160
+ <script>
161
+ import { basicSetup, EditorView } from "codemirror";
162
+ import { javascript } from "@codemirror/lang-javascript";
163
+ import { EditorState } from "@codemirror/state";
164
+ import i18n from "@base/components/xform/utils/i18n";
165
+ import {
166
+ deepClone,
167
+ getAllContainerWidgets,
168
+ getAllFieldWidgets,
169
+ getFieldWidgetById,
170
+ traverseFieldWidgetsOfContainer,
171
+ loopHandleWidget,
172
+ } from "@base/components/xform/utils/util";
173
+ import {
174
+ placeholders,
175
+ baseTheme,
176
+ formulas,
177
+ FORMULA_REG_EXP,
178
+ } from "@base/components/xform/utils/formula-util";
179
+
180
+ export default {
181
+ name: "formula-editor",
182
+ mixins: [i18n],
183
+ components: {},
184
+ props: {
185
+ option: Object,
186
+ },
187
+ computed: {
188
+ formulaForView() {
189
+ const matchResult = this.formula.match(FORMULA_REG_EXP);
190
+ if (!matchResult) {
191
+ return this.formula;
192
+ }
193
+
194
+ let resultFormula = this.formula;
195
+ matchResult.forEach((mi) => {
196
+ const secondPart = mi.split(".")[1];
197
+ resultFormula = resultFormula.replaceAll(mi, secondPart);
198
+ });
199
+
200
+ return resultFormula;
201
+ },
202
+ },
203
+ watch: {
204
+ filterText(val) {
205
+ this.$refs.fieldTree.filter(val);
206
+ },
207
+ },
208
+ data() {
209
+ return {
210
+ codeMirror: null,
211
+ formula: "",
212
+ tags: [], // 公式页签集合
213
+ fieldTreeData: [], // 设计器字段树
214
+ filterText: "",
215
+ formulaDialogVisible: true,
216
+ operate: ["+", "-", "*", "/", "!=", "==", "<", ">", "<=", ">=", "(", ")", ","],
217
+ insertNum: 0,
218
+ insertStr: "",
219
+ activeNames: ["1"],
220
+ widgetSizes: [
221
+ {
222
+ label: this.i18nt("designer.hint.formulaSizeLarge"),
223
+ value: "large",
224
+ },
225
+ {
226
+ label: this.i18nt("designer.hint.formulaSizeMedium"),
227
+ value: "default",
228
+ },
229
+ {
230
+ label: this.i18nt("designer.hint.formulaSizeSmall"),
231
+ value: "small",
232
+ },
233
+ {
234
+ label: this.i18nt("designer.hint.formulaSizeMini"),
235
+ value: "small",
236
+ },
237
+ ],
238
+ introTitle: this.i18nt("designer.hint.formulaFunctionExplain"),
239
+ introduction: {
240
+ title: this.i18nt("designer.hint.formulaPleaseSelect"),
241
+ content:
242
+ '<span class="cg">' +
243
+ this.i18nt("designer.hint.formulaSample") +
244
+ ':</span><span class="fname">SUM</span><span class="cg">(</span><span class="cs">' +
245
+ this.i18nt("designer.hint.formulaPara") +
246
+ '1</span><span class="cg">,</span><span class="cs">' +
247
+ this.i18nt("designer.hint.formulaPara") +
248
+ '2</span><span class="cg">)</span>',
249
+ },
250
+ funcList: formulas,
251
+ funcActiveCollapseNames: [0],
252
+ };
253
+ },
254
+ created() {
255
+ this.editFormula();
256
+ },
257
+ mounted() {},
258
+ methods: {
259
+ dialogClose() {
260
+ this.formulaDialogVisible = false;
261
+ this.$emit("update:visiable", false);
262
+ },
263
+ clearFormula(event) {
264
+ this.formula = ""; //CodeMirror 模式
265
+ this.tags = []; //el-tag模式
266
+ this.codeMirror.dispatch({
267
+ changes: { from: 0, to: this.codeMirror.state.doc.length, insert: "" },
268
+ });
269
+ },
270
+
271
+ /** 删除字符串str中的第n个subStr
272
+ * @param {Object} str
273
+ * @param {Object} subStr
274
+ * @param {Object} n
275
+ */
276
+ deleteChar(str, subStr, n) {
277
+ let num = -1;
278
+ return str.replace(/a/g, (item) => {
279
+ num++;
280
+ return num === n ? "" : item;
281
+ });
282
+ },
283
+
284
+ filterNode(value, data) {
285
+ if (!value) return true;
286
+ return data.label.indexOf(value) !== -1;
287
+ },
288
+ handleTableConfigData(widget, callback) {
289
+ callback(widget);
290
+ },
291
+ loadFieldListToTree() {
292
+ this.fieldTreeData.length = 0; //先清空
293
+ let newItems = this.option.fieldData.map((item) => {
294
+ const fieldNode = {
295
+ id: item.id,
296
+ name: item.label,
297
+ label: item.label,
298
+ type: "input",
299
+ formItemFlag: true,
300
+ };
301
+ return fieldNode;
302
+ });
303
+ this.fieldTreeData.push(...newItems);
304
+ },
305
+
306
+ // 插入字段
307
+ insertField(obj, node, self) {
308
+ if (!!obj.formItemFlag) {
309
+ let fieldId = obj.id + "";
310
+ let fieldLabel = "[" + obj.label + "]";
311
+ this.updateCodeMirror(fieldId, fieldLabel, "field");
312
+ }
313
+ },
314
+
315
+ // 插入符号
316
+ insertSymbol(opt) {
317
+ this.updateCodeMirror(opt, opt, null);
318
+ },
319
+
320
+ // 插入函数
321
+ insertFunction(opt) {
322
+ const val = opt.substring(0, opt.length - 1);
323
+ this.updateCodeMirror(val, val, "func");
324
+ },
325
+
326
+ updateCodeMirror(field, text, type = null) {
327
+ if (type) {
328
+ let obj = {
329
+ field: field,
330
+ text: text,
331
+ type: type,
332
+ };
333
+ let selectionLet = obj.field.length + obj.text.length + obj.type.length; //光标位置;
334
+ let code = `{{${obj.field}.${obj.text}.${obj.type}}}`;
335
+ if (type === "func") {
336
+ code += "()";
337
+ selectionLet = selectionLet + 7;
338
+ } else {
339
+ selectionLet = selectionLet + 6;
340
+ }
341
+
342
+ if (code) {
343
+ this.codeMirror.dispatch({
344
+ changes: {
345
+ from: this.codeMirror.state.selection.main.head,
346
+ to: this.codeMirror.state.selection.main.head,
347
+ insert: code,
348
+ },
349
+ selection: {
350
+ anchor: this.codeMirror.state.selection.main.head + selectionLet,
351
+ },
352
+ });
353
+ }
354
+ } else {
355
+ this.codeMirror.dispatch({
356
+ changes: {
357
+ from: this.codeMirror.state.selection.main.head,
358
+ to: this.codeMirror.state.selection.main.head,
359
+ insert: text,
360
+ },
361
+ selection: {
362
+ anchor: this.codeMirror.state.selection.main.head + text.length,
363
+ },
364
+ });
365
+ }
366
+ },
367
+
368
+ // 在字符串中查找[开始]结尾的字符串,并删除
369
+ removeStr(str) {
370
+ let a = str.indexOf("[");
371
+ if (a === -1) {
372
+ return str;
373
+ }
374
+ let b = str.indexOf("]", a) + 1;
375
+ let c = str.substring(a, b);
376
+ let strArr = str.split(c);
377
+ let newStr = "";
378
+ for (let i = 0; i < strArr.length; i++) {
379
+ newStr += strArr[i];
380
+ }
381
+ return this.removeStr(newStr);
382
+ },
383
+ extractFieldNames(formula) {
384
+ if (!formula) return [];
385
+ const fieldArray = [];
386
+ let tempFormula = formula;
387
+
388
+ // 循环查找所有 [字段名] 格式的引用
389
+ while (true) {
390
+ const startIndex = tempFormula.indexOf("[");
391
+ if (startIndex === -1) {
392
+ break; // 没有更多字段引用了
393
+ }
394
+
395
+ const endIndex = tempFormula.indexOf("]", startIndex);
396
+ if (endIndex === -1) {
397
+ break; // 格式不正确,没有匹配的右括号
398
+ }
399
+
400
+ // 提取字段名(不包含方括号)
401
+ const fieldName = tempFormula.substring(startIndex + 1, endIndex);
402
+
403
+ // 避免重复添加相同的字段名
404
+ if (!fieldArray.includes(fieldName)) {
405
+ fieldArray.push(fieldName);
406
+ }
407
+
408
+ // 从剩余部分继续查找
409
+ tempFormula = tempFormula.substring(endIndex + 1);
410
+ }
411
+
412
+ return fieldArray;
413
+ },
414
+ /**
415
+ * 字段label可能在公式保存后再次被修改,当编辑公式时需要再次刷新公式中的字段label(不刷新也不会影响公式计算结果)
416
+ */
417
+ refreshFormula() {
418
+ let formula = this.option.formula;
419
+
420
+ let fieldTreeData = this.fieldTreeData;
421
+ let paramCodes = this.extractFieldNames(formula);
422
+ paramCodes.forEach((paramCode) => {
423
+ let fieldNode = fieldTreeData.find((item) => item.id === paramCode);
424
+ if (!!fieldNode) {
425
+ let newParamCode = `{{${fieldNode.id}.[${fieldNode.label}].field}}`;
426
+ formula = formula.replaceAll(`[${paramCode}]`, newParamCode);
427
+ } else {
428
+ let newParamCode = `{{${paramCode}.[paramCode(未定义)].field}}`;
429
+ formula = formula.replaceAll(`[${paramCode}]`, newParamCode);
430
+ }
431
+ });
432
+ this.formula = formula;
433
+ },
434
+
435
+ // 打开编辑公式弹窗
436
+ editFormula() {
437
+ this.fieldTreeData.length = 0;
438
+ // 初始化字段树
439
+
440
+ this.loadFieldListToTree();
441
+
442
+ console.log("设计器字段===>", this.fieldTreeData);
443
+
444
+ // 加载当前字段计算公式tags
445
+ this.refreshFormula();
446
+ const code = this.formula;
447
+ this.formulaDialogVisible = true;
448
+
449
+ //==== codeMirror 挂载视图 ====
450
+ this.$nextTick(() => {
451
+ this.codeMirror = new EditorView({
452
+ state: EditorState.create({
453
+ doc: code,
454
+ extensions: [basicSetup, javascript(), [baseTheme, [], placeholders]],
455
+ }),
456
+ parent: this.$refs.cmRef,
457
+ });
458
+ console.log("编辑器实例==>", this.codeMirror);
459
+ });
460
+ },
461
+
462
+ // 保存计算公式
463
+ getFormulaForView(formula) {
464
+ const matchResult = formula.match(FORMULA_REG_EXP);
465
+ if (!matchResult) {
466
+ return {
467
+ formula: formula,
468
+ showFormula: formula,
469
+ };
470
+ }
471
+
472
+ let fullFormula = this.formula;
473
+ let showFormula = this.formula;
474
+ let realFormula = this.formula;
475
+ matchResult.forEach((mi) => {
476
+ let arr = mi.split(".");
477
+ const firstPart = arr[0];
478
+ const secondPart = arr[1];
479
+ const thirdPart = arr[2];
480
+ const fieldId = firstPart.substring(2, firstPart.length);
481
+ const nodeType = thirdPart.substring(0, thirdPart.length - 2);
482
+
483
+ showFormula = showFormula.replaceAll(mi, secondPart);
484
+ if (nodeType == "field") {
485
+ realFormula = realFormula.replaceAll(mi, `[${fieldId}]`);
486
+ } else {
487
+ realFormula = realFormula.replaceAll(mi, secondPart);
488
+ }
489
+ });
490
+
491
+ return {
492
+ showFormula,
493
+ fullFormula,
494
+ formula: realFormula,
495
+ };
496
+ },
497
+ saveFormula() {
498
+ this.formula = this.codeMirror.state.doc.text.join("");
499
+ let resultObj = this.getFormulaForView(this.formula);
500
+ this.option.confirm && this.option.confirm(resultObj);
501
+ this.dialogClose();
502
+ },
503
+ getClass(type) {
504
+ if (type === this.i18nt("designer.hint.formulaNumber")) {
505
+ return "warning";
506
+ }
507
+ if (type === this.i18nt("designer.hint.formulaChar")) {
508
+ return "";
509
+ }
510
+ if (type === this.i18nt("designer.hint.formulaObject")) {
511
+ return "danger";
512
+ }
513
+ },
514
+
515
+ resetIntro() {
516
+ this.introTitle = this.i18nt("designer.hint.formulaFunctionExplain");
517
+ this.introduction = {
518
+ title: this.i18nt("designer.hint.formulaPleaseSelect"),
519
+ content:
520
+ '<span class="cg">' +
521
+ this.i18nt("designer.hint.formulaSample") +
522
+ ':</span><span class="fname">SUM</span><span class="cg">(</span><span class="cs">参数1</span><span class="cg">,</span><span class="cs">参数2</span><span class="cg">)</span>',
523
+ };
524
+ },
525
+
526
+ showIntro(name, title, content) {
527
+ content = '<span class="cg">' + content + "</span>";
528
+ this.introduction = {
529
+ title: title,
530
+ content: content,
531
+ };
532
+ this.introTitle = name;
533
+ },
534
+
535
+ /**
536
+ * 校验计算公式是否正确
537
+ * @param s
538
+ * @returns {boolean}
539
+ */
540
+ isValid(s) {
541
+ let a = []; //存储左括号出现的地方
542
+ let l = s.length;
543
+ let k = 0;
544
+ let flag = 1;
545
+ let j;
546
+ for (let i = 0; i < l && flag; i++) {
547
+ switch (s[i]) {
548
+ case "(":
549
+ a[k] = i;
550
+ k++;
551
+ break;
552
+ case ")":
553
+ j = a[k - 1];
554
+ if (s[j] === "(") {
555
+ a[k] = 0;
556
+ k--;
557
+ } else {
558
+ flag = 0;
559
+ }
560
+ break;
561
+ case "{":
562
+ a[k] = i;
563
+ k++;
564
+ break;
565
+ case "}":
566
+ j = a[k - 1];
567
+ if (s[j] === "{") {
568
+ a[k] = 0;
569
+ k--;
570
+ } else {
571
+ flag = 0;
572
+ }
573
+ break;
574
+ case "[":
575
+ a[k] = i;
576
+ k++;
577
+ break;
578
+ case "]":
579
+ j = a[k - 1];
580
+ if (s[j] === "[") {
581
+ a[k] = 0;
582
+ k--;
583
+ } else {
584
+ flag = 0;
585
+ }
586
+ break;
587
+ }
588
+ }
589
+ if (k !== 0) {
590
+ flag = 0;
591
+ }
592
+ return flag !== 0;
593
+ },
594
+ },
595
+ };
596
+ </script>
597
+
598
+ <style lang="scss" scoped>
599
+ :deep(.cm-editor) {
600
+ height: 100%;
601
+ }
602
+
603
+ li {
604
+ list-style: none;
605
+ }
606
+
607
+ /*去掉li前面的点*/
608
+ .el-input-group {
609
+ cursor: pointer;
610
+ }
611
+
612
+ .header {
613
+ width: 97%;
614
+ border: 1px solid #ccc;
615
+ border-top-left-radius: 10px;
616
+ border-top-right-radius: 10px;
617
+ height: 31px;
618
+ line-height: 31px;
619
+ padding-left: 15px;
620
+ }
621
+
622
+ .editor {
623
+ margin-left: 10px;
624
+ margin-right: 10px;
625
+ height: 200px;
626
+ border: 1px solid #ccc;
627
+ border-radius: 6px;
628
+ }
629
+
630
+ .editor-top {
631
+ //margin-left: 10px;
632
+ height: 130px;
633
+ width: 100%;
634
+ padding: 8px;
635
+ position: relative;
636
+ overflow-x: hidden;
637
+ overflow-y: scroll;
638
+ }
639
+
640
+ .editor-bottom {
641
+ border-left: 1px solid #ccc;
642
+ display: flex;
643
+ flex-wrap: wrap;
644
+ padding: 5px;
645
+ align-content: flex-start;
646
+ }
647
+
648
+ .body-right-button {
649
+ width: 60px;
650
+ height: 40px;
651
+ }
652
+
653
+ .group-form {
654
+ margin-top: 15px;
655
+ display: flex;
656
+ justify-content: space-between;
657
+ height: 350px;
658
+ }
659
+
660
+ .group-item-left {
661
+ height: 350px;
662
+ border: 1px solid #ccc;
663
+ border-top-left-radius: 6px;
664
+ border-bottom-left-radius: 6px;
665
+ margin-bottom: 5px;
666
+ padding: 0;
667
+ width: 100%;
668
+ }
669
+
670
+ .group-item-right-top {
671
+ height: 350px;
672
+ border: 1px solid #ccc;
673
+ border-radius: 0;
674
+ margin-bottom: 5px;
675
+ width: 100%;
676
+ }
677
+
678
+ .group-item-right-bottom {
679
+ height: 350px;
680
+ border: 1px solid #ccc;
681
+ border-top-right-radius: 6px;
682
+ border-bottom-right-radius: 6px;
683
+ margin-bottom: 5px;
684
+ width: 100%;
685
+ }
686
+
687
+ .item-header {
688
+ border-bottom: 1px solid #ccc;
689
+ height: 29px;
690
+ line-height: 29px;
691
+ padding-left: 15px;
692
+ font-weight: bold;
693
+ }
694
+
695
+ .item-body-left {
696
+ height: 320px;
697
+ overflow-y: auto;
698
+ }
699
+
700
+ .function-list {
701
+ height: 320px;
702
+ overflow-y: auto;
703
+
704
+ :deep(.el-collapse-item__header) {
705
+ font-weight: normal !important;
706
+ }
707
+ }
708
+
709
+ .item-body-right-bottom {
710
+ height: 152px;
711
+ overflow-y: auto;
712
+ }
713
+
714
+ .el-collapse {
715
+ border: none;
716
+ }
717
+
718
+ :deep(.el-dialog) {
719
+ margin-top: 10px !important;
720
+ }
721
+
722
+ :deep(.el-collapse-item__header) {
723
+ padding-left: 10px;
724
+ border: none;
725
+ }
726
+
727
+ :deep(.el-collapse-item__wrap) {
728
+ border: none;
729
+ }
730
+
731
+ :deep(.el-collapse-item__arrow) {
732
+ margin-left: 8px;
733
+ }
734
+
735
+ .field-item {
736
+ display: flex;
737
+ justify-content: space-between;
738
+ align-items: center;
739
+ height: 32px;
740
+ padding-left: 30px;
741
+ padding-right: 15px;
742
+ cursor: pointer;
743
+ }
744
+
745
+ .field-item:hover {
746
+ background-color: #f8f8f8;
747
+ }
748
+
749
+ p::before {
750
+ content: "● ";
751
+ color: #0a5d7c;
752
+ }
753
+
754
+ p {
755
+ height: 24px;
756
+ line-height: 24px;
757
+ padding: 0 15px;
758
+ font-size: 16px;
759
+ color: #0a5d7c;
760
+ }
761
+
762
+ .intro-content {
763
+ padding-left: 30px;
764
+ }
765
+
766
+ .cg {
767
+ color: #0a5d7c;
768
+ }
769
+
770
+ .fname {
771
+ display: inline-block;
772
+ border-radius: 2px;
773
+ padding: 0 5px;
774
+ margin: 1px;
775
+ font-size: 12px;
776
+ line-height: 20px;
777
+ color: #708;
778
+ background: #fff;
779
+ }
780
+
781
+ .cs {
782
+ display: inline-block;
783
+ border-radius: 2px;
784
+ padding: 0 5px;
785
+ margin: 1px;
786
+ color: #fff;
787
+ font-size: 12px;
788
+ line-height: 20px;
789
+ background: #178cdf;
790
+ }
791
+
792
+ :deep(.el-dialog__body) {
793
+ padding: 0;
794
+ }
795
+
796
+ .small-padding-dialog {
797
+ /* margin-top: 0px; */
798
+ }
799
+ </style>