@epxing/designer 0.0.0-stage → 5.3.0-beta.2

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 (491) hide show
  1. package/API.md +160 -0
  2. package/README.md +45 -2
  3. package/dist/_virtual/_plugin-vue_export-helper.js +10 -0
  4. package/dist/_virtual/preload-helper.js +88 -0
  5. package/dist/assets/default-icon-2193FMjv.png +0 -0
  6. package/dist/assets/technology_bg-oWIS2awO.jpg +0 -0
  7. package/dist/assets/theme_black-Ctdygcr4.png +0 -0
  8. package/dist/assets/theme_technology-DJk-2e7g.png +0 -0
  9. package/dist/assets/theme_white-uMQ6JYml.png +0 -0
  10. package/dist/src/assets/images/dashboard/theme_black.png.js +4 -0
  11. package/dist/src/assets/images/dashboard/theme_technology.png.js +4 -0
  12. package/dist/src/assets/images/dashboard/theme_white.png.js +4 -0
  13. package/dist/src/assets/images/default-icon.png.js +4 -0
  14. package/dist/src/index.js +53 -0
  15. package/dist/src/page-designer/PageConfigPreview.js +102 -0
  16. package/dist/src/page-designer/PageDesigner.js +844 -0
  17. package/dist/src/page-designer/designer.js +1120 -0
  18. package/dist/src/page-designer/index.js +52 -0
  19. package/dist/src/page-designer/mixins/dragSourceMixin.js +95 -0
  20. package/dist/src/page-designer/page-variable-panel/JsonEditor.js +106 -0
  21. package/dist/src/page-designer/page-variable-panel/PageVariablePanel.js +939 -0
  22. package/dist/src/page-designer/page-variable-panel/index.js +7 -0
  23. package/dist/src/page-designer/page-variable-panel/jsonlint.js +230 -0
  24. package/dist/src/page-designer/previews/add-form/Preview.js +8 -0
  25. package/dist/src/page-designer/previews/add-form/Preview.vue.js +328 -0
  26. package/dist/src/page-designer/previews/add-form-item/Preview.js +194 -0
  27. package/dist/src/page-designer/previews/button/Preview.js +30 -0
  28. package/dist/src/page-designer/previews/card/Preview.js +87 -0
  29. package/dist/src/page-designer/previews/carousel/CarouselItemPreview.js +33 -0
  30. package/dist/src/page-designer/previews/carousel/Preview.js +61 -0
  31. package/dist/src/page-designer/previews/collapse/CollapseItemPreview.js +118 -0
  32. package/dist/src/page-designer/previews/collapse/Preview.js +35 -0
  33. package/dist/src/page-designer/previews/dropdown/Preview.js +68 -0
  34. package/dist/src/page-designer/previews/entity-list/Preview.js +522 -0
  35. package/dist/src/page-designer/previews/entity-sub-list/Preview.js +352 -0
  36. package/dist/src/page-designer/previews/entity-virtual-list/Preview.js +11 -0
  37. package/dist/src/page-designer/previews/form-field/preview/Checkbox.js +91 -0
  38. package/dist/src/page-designer/previews/form-field/preview/Date.js +77 -0
  39. package/dist/src/page-designer/previews/form-field/preview/Input.js +74 -0
  40. package/dist/src/page-designer/previews/form-field/preview/InputNumber.js +74 -0
  41. package/dist/src/page-designer/previews/form-field/preview/Object.js +77 -0
  42. package/dist/src/page-designer/previews/form-field/preview/Radio.js +146 -0
  43. package/dist/src/page-designer/previews/form-field/preview/Select.js +78 -0
  44. package/dist/src/page-designer/previews/form-field/preview/Textarea.js +78 -0
  45. package/dist/src/page-designer/previews/grid/Preview.js +139 -0
  46. package/dist/src/page-designer/previews/html/Preview.js +18 -0
  47. package/dist/src/page-designer/previews/icon/Preview.js +20 -0
  48. package/dist/src/page-designer/previews/image/Preview.js +36 -0
  49. package/dist/src/page-designer/previews/index.js +74 -0
  50. package/dist/src/page-designer/previews/layout/ColumnPreview.js +47 -0
  51. package/dist/src/page-designer/previews/layout/Preview.js +110 -0
  52. package/dist/src/page-designer/previews/num/Preview.js +132 -0
  53. package/dist/src/page-designer/previews/page-tabs/Preview.js +75 -0
  54. package/dist/src/page-designer/previews/step/Preview.js +207 -0
  55. package/dist/src/page-designer/previews/tabs/Preview.js +95 -0
  56. package/dist/src/page-designer/previews/tabs/tab-pane/Preview.js +33 -0
  57. package/dist/src/page-designer/previews/text/Preview.js +38 -0
  58. package/dist/src/page-designer/previews/text-editor/Preview.js +23 -0
  59. package/dist/src/page-designer/previews/video/Preview.js +10 -0
  60. package/dist/src/page-designer/setting-panel/Advance.js +281 -0
  61. package/dist/src/page-designer/setting-panel/CodeEditor.js +94 -0
  62. package/dist/src/page-designer/setting-panel/Property.js +165 -0
  63. package/dist/src/page-designer/setting-panel/Setting.js +296 -0
  64. package/dist/src/page-designer/setting-panel/Style.js +1591 -0
  65. package/dist/src/page-designer/setting-panel/css-editor/CssEditor.js +98 -0
  66. package/dist/src/page-designer/setting-panel/css-editor/css-hint.js +84 -0
  67. package/dist/src/page-designer/setting-panel/index.js +11 -0
  68. package/dist/src/page-designer/template-attribute-panel/TemplateAttributePanel.js +487 -0
  69. package/dist/src/page-designer/template-attribute-panel/index.js +5 -0
  70. package/dist/src/page-designer/template-library/Library.js +219 -0
  71. package/dist/src/page-designer/template-library/index.js +5 -0
  72. package/dist/src/page-designer/widget-library/Base.js +170 -0
  73. package/dist/src/page-designer/widget-library/Library.js +213 -0
  74. package/dist/src/page-designer/widget-library/index.js +7 -0
  75. package/dist/src/page-designer/widget-preview/Container.js +80 -0
  76. package/dist/src/page-designer/widget-preview/DragGhost.js +54 -0
  77. package/dist/src/page-designer/widget-preview/DropZoneOverlay.js +42 -0
  78. package/dist/src/page-designer/widget-preview/HoverOverlay.js +61 -0
  79. package/dist/src/page-designer/widget-preview/Mixin.js +260 -0
  80. package/dist/src/page-designer/widget-preview/Placeholder.js +28 -0
  81. package/dist/src/page-designer/widget-preview/Preview.js +277 -0
  82. package/dist/src/page-designer/widget-preview/PreviewItem.js +83 -0
  83. package/dist/src/page-designer/widget-preview/SelectedOverlay.js +332 -0
  84. package/dist/src/page-designer/widget-preview/Template.js +66 -0
  85. package/dist/src/page-designer/widget-preview/WidgetWrapper.js +170 -0
  86. package/dist/src/page-designer/widget-preview/directive.js +159 -0
  87. package/dist/src/page-designer/widget-preview/dropPosition.js +50 -0
  88. package/dist/src/page-designer/widget-preview/index.js +23 -0
  89. package/dist/src/page-designer/widget-preview/overlayPositionMixin.js +87 -0
  90. package/dist/src/page-designer/widget-preview/resolvePreviewName.js +32 -0
  91. package/dist/src/page-designer/widget-tree/Item.js +580 -0
  92. package/dist/src/page-designer/widget-tree/Tree.js +855 -0
  93. package/dist/src/page-designer/widget-tree/index.js +7 -0
  94. package/dist/src/visual/AddForm.js +172 -0
  95. package/dist/src/visual/AddFormItem.js +480 -0
  96. package/dist/src/visual/AppIndex.js +243 -0
  97. package/dist/src/visual/ApplyForm.js +135 -0
  98. package/dist/src/visual/AttributeList.js +344 -0
  99. package/dist/src/visual/BasePage.js +77 -0
  100. package/dist/src/visual/Button.js +5 -0
  101. package/dist/src/visual/Button.vue.js +89 -0
  102. package/dist/src/visual/CardNum.js +74 -0
  103. package/dist/src/visual/CategoryList.js +569 -0
  104. package/dist/src/visual/Chart.js +27 -0
  105. package/dist/src/visual/ChartNew.js +5 -0
  106. package/dist/src/visual/ChartNew.vue.js +54 -0
  107. package/dist/src/visual/CheckForm.js +110 -0
  108. package/dist/src/visual/ClientList.js +41 -0
  109. package/dist/src/visual/CodeManage.js +113 -0
  110. package/dist/src/visual/Component.js +6 -0
  111. package/dist/src/visual/Component.vue.js +1332 -0
  112. package/dist/src/visual/ComponentList.js +280 -0
  113. package/dist/src/visual/Config.js +8 -0
  114. package/dist/src/visual/Config.vue.js +862 -0
  115. package/dist/src/visual/ConfigItem.js +8 -0
  116. package/dist/src/visual/ConfigItem.vue.js +192 -0
  117. package/dist/src/visual/ConfigSelectItems.js +8 -0
  118. package/dist/src/visual/ConfigSelectItems.vue.js +260 -0
  119. package/dist/src/visual/CreatePage.js +389 -0
  120. package/dist/src/visual/DashboardDiv.js +58 -0
  121. package/dist/src/visual/DashboardTabs.js +9 -0
  122. package/dist/src/visual/DashboardTabs.vue.js +127 -0
  123. package/dist/src/visual/DashboardWidget.js +5 -0
  124. package/dist/src/visual/DashboardWidget.vue.js +62 -0
  125. package/dist/src/visual/DblogList.js +82 -0
  126. package/dist/src/visual/EntityAddPage.js +49 -0
  127. package/dist/src/visual/EntityApplyPage.js +54 -0
  128. package/dist/src/visual/EntityCardList.js +455 -0
  129. package/dist/src/visual/EntityCheckPage.js +66 -0
  130. package/dist/src/visual/EntityFindPage.js +45 -0
  131. package/dist/src/visual/EntityList.js +6 -0
  132. package/dist/src/visual/EntityList.vue.js +1221 -0
  133. package/dist/src/visual/EntityListPage.js +43 -0
  134. package/dist/src/visual/EntityNoSubmitSubList.js +267 -0
  135. package/dist/src/visual/EntityRightSubList.js +29 -0
  136. package/dist/src/visual/EntitySubAdd.js +10 -0
  137. package/dist/src/visual/EntitySubGridItem.js +66 -0
  138. package/dist/src/visual/EntitySubList.js +434 -0
  139. package/dist/src/visual/EntityTreeFindPage.js +32 -0
  140. package/dist/src/visual/EntityTreeManage.js +49 -0
  141. package/dist/src/visual/EntityTreePage.js +42 -0
  142. package/dist/src/visual/ExcelPreview.js +10 -0
  143. package/dist/src/visual/FormField.js +5 -0
  144. package/dist/src/visual/FormField.vue.js +121 -0
  145. package/dist/src/visual/HeaderNew.js +161 -0
  146. package/dist/src/visual/Html.js +8 -0
  147. package/dist/src/visual/Html.vue.js +109 -0
  148. package/dist/src/visual/Import.js +53 -0
  149. package/dist/src/visual/InterfaceSubList.js +21 -0
  150. package/dist/src/visual/ListFirst.js +704 -0
  151. package/dist/src/visual/MEntityAddPage.js +66 -0
  152. package/dist/src/visual/MEntityList.js +485 -0
  153. package/dist/src/visual/MEntityListPage.js +40 -0
  154. package/dist/src/visual/MEntitySubList.js +237 -0
  155. package/dist/src/visual/MetaList.js +23 -0
  156. package/dist/src/visual/ModuleIndexPage.js +67 -0
  157. package/dist/src/visual/ModuleList.js +47 -0
  158. package/dist/src/visual/NavAddForm.js +173 -0
  159. package/dist/src/visual/NavFormCatalogItem.js +44 -0
  160. package/dist/src/visual/NumItem.js +70 -0
  161. package/dist/src/visual/NumStatistic.js +6 -0
  162. package/dist/src/visual/NumStatistic.vue.js +81 -0
  163. package/dist/src/visual/OrgChart.js +107 -0
  164. package/dist/src/visual/PageCatalog.js +27 -0
  165. package/dist/src/visual/PageConfig.js +223 -0
  166. package/dist/src/visual/PageTabs.js +49 -0
  167. package/dist/src/visual/Progress.js +40 -0
  168. package/dist/src/visual/ProgressItem.js +44 -0
  169. package/dist/src/visual/SystemManager.js +77 -0
  170. package/dist/src/visual/Title.js +45 -0
  171. package/dist/src/visual/TodoList.js +14 -0
  172. package/dist/src/visual/UserFormItem.js +41 -0
  173. package/dist/src/visual/UserManage.js +35 -0
  174. package/dist/src/visual/chart/CircularPie.js +9 -0
  175. package/dist/src/visual/chart/Column.js +70 -0
  176. package/dist/src/visual/chart/HoriColumn.js +9 -0
  177. package/dist/src/visual/chart/Line.js +9 -0
  178. package/dist/src/visual/chart/Pie.js +9 -0
  179. package/dist/src/visual/config/Background.js +526 -0
  180. package/dist/src/visual/config/Chart.js +154 -0
  181. package/dist/src/visual/config/Checkbox.js +63 -0
  182. package/dist/src/visual/config/Color.js +41 -0
  183. package/dist/src/visual/config/DesignReport.js +24 -0
  184. package/dist/src/visual/config/Event.js +304 -0
  185. package/dist/src/visual/config/Field.js +520 -0
  186. package/dist/src/visual/config/Font.js +202 -0
  187. package/dist/src/visual/config/FormItem.js +23 -0
  188. package/dist/src/visual/config/Function.js +114 -0
  189. package/dist/src/visual/config/Html.js +111 -0
  190. package/dist/src/visual/config/Image.js +102 -0
  191. package/dist/src/visual/config/Input.js +177 -0
  192. package/dist/src/visual/config/Input.vue.js +479 -0
  193. package/dist/src/visual/config/LazyDialog.js +41 -0
  194. package/dist/src/visual/config/List.js +65 -0
  195. package/dist/src/visual/config/ListField.js +2080 -0
  196. package/dist/src/visual/config/MField.js +733 -0
  197. package/dist/src/visual/config/Number.js +37 -0
  198. package/dist/src/visual/config/Object.js +168 -0
  199. package/dist/src/visual/config/Operate.js +1109 -0
  200. package/dist/src/visual/config/OperateItem.js +1186 -0
  201. package/dist/src/visual/config/Options.js +8 -0
  202. package/dist/src/visual/config/Options.vue.js +278 -0
  203. package/dist/src/visual/config/OrderField.js +505 -0
  204. package/dist/src/visual/config/Page.js +76 -0
  205. package/dist/src/visual/config/Params.js +353 -0
  206. package/dist/src/visual/config/Radio.js +127 -0
  207. package/dist/src/visual/config/Row.js +104 -0
  208. package/dist/src/visual/config/Scope.js +350 -0
  209. package/dist/src/visual/config/Select.js +95 -0
  210. package/dist/src/visual/config/Switch.js +37 -0
  211. package/dist/src/visual/config/Textarea.js +175 -0
  212. package/dist/src/visual/config/Textarea.vue.js +507 -0
  213. package/dist/src/visual/config/Tree.js +138 -0
  214. package/dist/src/visual/config/remote-cache.js +30 -0
  215. package/dist/src/visual/config/show-condition.js +20 -0
  216. package/dist/src/visual/config/variable-sources.js +27 -0
  217. package/dist/src/visual/config/wait-ref.js +19 -0
  218. package/dist/src/visual/config-page/ComponentLibrary.js +170 -0
  219. package/dist/src/visual/config-page/ComponentLibraryDialog.js +250 -0
  220. package/dist/src/visual/config-page/ComponentList.js +9 -0
  221. package/dist/src/visual/config-page/ComponentList.vue.js +292 -0
  222. package/dist/src/visual/config-page/ComponentPreview.js +8 -0
  223. package/dist/src/visual/config-page/ComponentPreview.vue.js +151 -0
  224. package/dist/src/visual/config-page/ConfigOption.js +13 -0
  225. package/dist/src/visual/config-page/ConfigPanel.js +302 -0
  226. package/dist/src/visual/config-page/Dashboard.js +2160 -0
  227. package/dist/src/visual/config-page/DashboardDesign.js +606 -0
  228. package/dist/src/visual/config-page/DashboardGlobalConfig.js +6 -0
  229. package/dist/src/visual/config-page/DashboardGlobalConfig.vue.js +292 -0
  230. package/dist/src/visual/config-page/DashboardMobile.js +1115 -0
  231. package/dist/src/visual/config-page/DashboardSetting.js +86 -0
  232. package/dist/src/visual/config-page/PagePreview.js +8 -0
  233. package/dist/src/visual/config-page/PagePreview.vue.js +72 -0
  234. package/dist/src/visual/config-page/StyleConfig.js +979 -0
  235. package/dist/src/visual/config-page/VisualConfigPage.js +645 -0
  236. package/dist/src/visual/config-page/dashboard-theme-setting/Background.js +180 -0
  237. package/dist/src/visual/config-page/dashboard-theme-setting/Border.js +314 -0
  238. package/dist/src/visual/config-page/dashboard-theme-setting/Font.js +192 -0
  239. package/dist/src/visual/config-page/dashboard-theme-setting/Index.js +545 -0
  240. package/dist/src/visual/config-page/dashboard-theme-setting/Shadow.js +174 -0
  241. package/dist/src/visual/config-page/index.js +90 -0
  242. package/dist/src/visual/index.js +151 -0
  243. package/dist/src/visual/mixins/innerGridMixin.js +122 -0
  244. package/dist/src/visual/search/Filter.js +49 -0
  245. package/dist/src/visual/step/Index.js +8 -0
  246. package/dist/src/visual/step/Index.vue.js +485 -0
  247. package/dist/src/visual/step/Item.js +139 -0
  248. package/dist/src/visual/widgets/CardFormItemVisual.js +45 -0
  249. package/dist/src/visual/widgets/CarouselVisual.js +8 -0
  250. package/dist/src/visual/widgets/CarouselVisual.vue.js +303 -0
  251. package/dist/src/visual/widgets/CollapseVisual.js +8 -0
  252. package/dist/src/visual/widgets/CollapseVisual.vue.js +202 -0
  253. package/dist/src/visual/widgets/DropdownVisual.js +8 -0
  254. package/dist/src/visual/widgets/DropdownVisual.vue.js +955 -0
  255. package/dist/src/visual/widgets/LayoutConfig.js +8 -0
  256. package/dist/src/visual/widgets/LayoutConfig.vue.js +168 -0
  257. package/dist/src/visual/widgets/ListVisual.js +349 -0
  258. package/dist/src/visual/widgets/MEntityListFindVisual.js +76 -0
  259. package/dist/src/visual/widgets/ProcessFormItemVisual.js +5 -0
  260. package/dist/src/visual/widgets/ProcessFormItemVisual.vue.js +45 -0
  261. package/dist/src/visual/widgets/TabsConfig.js +8 -0
  262. package/dist/src/visual/widgets/TabsConfig.vue.js +343 -0
  263. package/dist/style.css +9907 -0
  264. package/package.json +104 -3
  265. package/src/index.js +27 -0
  266. package/src/page-designer/PageConfigPreview.vue +103 -0
  267. package/src/page-designer/PageDesigner.vue +1017 -0
  268. package/src/page-designer/designer.js +1299 -0
  269. package/src/page-designer/index.js +38 -0
  270. package/src/page-designer/mixins/dragSourceMixin.js +113 -0
  271. package/src/page-designer/page-variable-panel/JsonEditor.vue +109 -0
  272. package/src/page-designer/page-variable-panel/PageVariablePanel.vue +781 -0
  273. package/src/page-designer/page-variable-panel/index.js +6 -0
  274. package/src/page-designer/page-variable-panel/jsonlint.js +2 -0
  275. package/src/page-designer/previews/add-form/Preview.vue +331 -0
  276. package/src/page-designer/previews/add-form-item/Preview.vue +167 -0
  277. package/src/page-designer/previews/button/Preview.vue +27 -0
  278. package/src/page-designer/previews/card/Preview.vue +78 -0
  279. package/src/page-designer/previews/carousel/CarouselItemPreview.vue +32 -0
  280. package/src/page-designer/previews/carousel/Preview.vue +36 -0
  281. package/src/page-designer/previews/collapse/CollapseItemPreview.vue +136 -0
  282. package/src/page-designer/previews/collapse/Preview.vue +28 -0
  283. package/src/page-designer/previews/dropdown/Preview.vue +21 -0
  284. package/src/page-designer/previews/entity-list/Preview.vue +382 -0
  285. package/src/page-designer/previews/entity-sub-list/Preview.vue +283 -0
  286. package/src/page-designer/previews/entity-virtual-list/Preview.vue +14 -0
  287. package/src/page-designer/previews/form-field/preview/Checkbox.vue +57 -0
  288. package/src/page-designer/previews/form-field/preview/Date.vue +56 -0
  289. package/src/page-designer/previews/form-field/preview/Input.vue +53 -0
  290. package/src/page-designer/previews/form-field/preview/InputNumber.vue +53 -0
  291. package/src/page-designer/previews/form-field/preview/Object.vue +53 -0
  292. package/src/page-designer/previews/form-field/preview/Radio.vue +69 -0
  293. package/src/page-designer/previews/form-field/preview/Select.vue +55 -0
  294. package/src/page-designer/previews/form-field/preview/Textarea.vue +57 -0
  295. package/src/page-designer/previews/grid/Preview.vue +156 -0
  296. package/src/page-designer/previews/html/Preview.vue +11 -0
  297. package/src/page-designer/previews/icon/Preview.vue +12 -0
  298. package/src/page-designer/previews/image/Preview.vue +37 -0
  299. package/src/page-designer/previews/index.js +74 -0
  300. package/src/page-designer/previews/layout/ColumnPreview.vue +89 -0
  301. package/src/page-designer/previews/layout/Preview.vue +96 -0
  302. package/src/page-designer/previews/num/Preview.vue +100 -0
  303. package/src/page-designer/previews/page-tabs/Preview.vue +53 -0
  304. package/src/page-designer/previews/step/Preview.vue +190 -0
  305. package/src/page-designer/previews/tabs/Preview.vue +66 -0
  306. package/src/page-designer/previews/tabs/tab-pane/Preview.vue +32 -0
  307. package/src/page-designer/previews/text/Preview.vue +26 -0
  308. package/src/page-designer/previews/text-editor/Preview.vue +14 -0
  309. package/src/page-designer/previews/video/Preview.vue +9 -0
  310. package/src/page-designer/setting-panel/Advance.vue +175 -0
  311. package/src/page-designer/setting-panel/CodeEditor.vue +88 -0
  312. package/src/page-designer/setting-panel/Property.vue +163 -0
  313. package/src/page-designer/setting-panel/Setting.vue +271 -0
  314. package/src/page-designer/setting-panel/Style.vue +1096 -0
  315. package/src/page-designer/setting-panel/css-editor/CssEditor.vue +93 -0
  316. package/src/page-designer/setting-panel/css-editor/css-hint.js +58 -0
  317. package/src/page-designer/setting-panel/index.js +10 -0
  318. package/src/page-designer/template-attribute-panel/TemplateAttributePanel.vue +383 -0
  319. package/src/page-designer/template-attribute-panel/index.js +2 -0
  320. package/src/page-designer/template-library/Library.vue +153 -0
  321. package/src/page-designer/template-library/index.js +4 -0
  322. package/src/page-designer/widget-library/Base.vue +156 -0
  323. package/src/page-designer/widget-library/Library.vue +282 -0
  324. package/src/page-designer/widget-library/index.js +6 -0
  325. package/src/page-designer/widget-preview/Container.vue +89 -0
  326. package/src/page-designer/widget-preview/DragGhost.vue +83 -0
  327. package/src/page-designer/widget-preview/DropZoneOverlay.vue +51 -0
  328. package/src/page-designer/widget-preview/HoverOverlay.vue +85 -0
  329. package/src/page-designer/widget-preview/Mixin.js +285 -0
  330. package/src/page-designer/widget-preview/Placeholder.vue +22 -0
  331. package/src/page-designer/widget-preview/Preview.vue +322 -0
  332. package/src/page-designer/widget-preview/PreviewItem.vue +162 -0
  333. package/src/page-designer/widget-preview/SelectedOverlay.vue +340 -0
  334. package/src/page-designer/widget-preview/Template.vue +77 -0
  335. package/src/page-designer/widget-preview/WidgetWrapper.vue +197 -0
  336. package/src/page-designer/widget-preview/directive.js +258 -0
  337. package/src/page-designer/widget-preview/dropPosition.js +51 -0
  338. package/src/page-designer/widget-preview/index.js +23 -0
  339. package/src/page-designer/widget-preview/overlayPositionMixin.js +88 -0
  340. package/src/page-designer/widget-preview/resolvePreviewName.js +33 -0
  341. package/src/page-designer/widget-tree/Item.vue +719 -0
  342. package/src/page-designer/widget-tree/Tree.vue +995 -0
  343. package/src/page-designer/widget-tree/index.js +6 -0
  344. package/src/visual/AddForm.vue +172 -0
  345. package/src/visual/AddFormItem.vue +482 -0
  346. package/src/visual/AppIndex.vue +245 -0
  347. package/src/visual/ApplyForm.vue +140 -0
  348. package/src/visual/AttributeList.vue +344 -0
  349. package/src/visual/BasePage.vue +76 -0
  350. package/src/visual/Button.vue +80 -0
  351. package/src/visual/CardNum.vue +73 -0
  352. package/src/visual/CategoryList.vue +563 -0
  353. package/src/visual/Chart.vue +29 -0
  354. package/src/visual/ChartNew.vue +49 -0
  355. package/src/visual/CheckForm.vue +106 -0
  356. package/src/visual/ClientList.vue +42 -0
  357. package/src/visual/CodeManage.vue +116 -0
  358. package/src/visual/Component.vue +1342 -0
  359. package/src/visual/ComponentList.vue +280 -0
  360. package/src/visual/Config.vue +881 -0
  361. package/src/visual/ConfigItem.vue +218 -0
  362. package/src/visual/ConfigSelectItems.vue +445 -0
  363. package/src/visual/CreatePage.vue +389 -0
  364. package/src/visual/DashboardDiv.vue +197 -0
  365. package/src/visual/DashboardTabs.vue +118 -0
  366. package/src/visual/DashboardWidget.vue +55 -0
  367. package/src/visual/DblogList.vue +84 -0
  368. package/src/visual/EntityAddPage.vue +52 -0
  369. package/src/visual/EntityApplyPage.vue +57 -0
  370. package/src/visual/EntityCardList.vue +449 -0
  371. package/src/visual/EntityCheckPage.vue +69 -0
  372. package/src/visual/EntityFindPage.vue +55 -0
  373. package/src/visual/EntityList.vue +838 -0
  374. package/src/visual/EntityListPage.vue +97 -0
  375. package/src/visual/EntityNoSubmitSubList.vue +273 -0
  376. package/src/visual/EntityRightSubList.vue +32 -0
  377. package/src/visual/EntitySubAdd.vue +11 -0
  378. package/src/visual/EntitySubGridItem.vue +67 -0
  379. package/src/visual/EntitySubList.vue +440 -0
  380. package/src/visual/EntityTreeFindPage.vue +36 -0
  381. package/src/visual/EntityTreeManage.vue +50 -0
  382. package/src/visual/EntityTreePage.vue +45 -0
  383. package/src/visual/ExcelPreview.vue +11 -0
  384. package/src/visual/FormField.vue +113 -0
  385. package/src/visual/HeaderNew.vue +176 -0
  386. package/src/visual/Html.vue +104 -0
  387. package/src/visual/Import.vue +55 -0
  388. package/src/visual/InterfaceSubList.vue +23 -0
  389. package/src/visual/ListFirst.vue +614 -0
  390. package/src/visual/MEntityAddPage.vue +71 -0
  391. package/src/visual/MEntityList.vue +488 -0
  392. package/src/visual/MEntityListPage.vue +46 -0
  393. package/src/visual/MEntitySubList.vue +237 -0
  394. package/src/visual/MetaList.vue +24 -0
  395. package/src/visual/ModuleIndexPage.vue +70 -0
  396. package/src/visual/ModuleList.vue +46 -0
  397. package/src/visual/NavAddForm.vue +177 -0
  398. package/src/visual/NavFormCatalogItem.vue +47 -0
  399. package/src/visual/NumItem.vue +69 -0
  400. package/src/visual/NumStatistic.vue +242 -0
  401. package/src/visual/OrgChart.vue +113 -0
  402. package/src/visual/PageCatalog.vue +26 -0
  403. package/src/visual/PageConfig.vue +278 -0
  404. package/src/visual/PageTabs.vue +55 -0
  405. package/src/visual/Progress.vue +39 -0
  406. package/src/visual/ProgressItem.vue +43 -0
  407. package/src/visual/SystemManager.vue +80 -0
  408. package/src/visual/Title.vue +44 -0
  409. package/src/visual/TodoList.vue +18 -0
  410. package/src/visual/UserFormItem.vue +49 -0
  411. package/src/visual/UserManage.vue +36 -0
  412. package/src/visual/chart/CircularPie.vue +7 -0
  413. package/src/visual/chart/Column.vue +73 -0
  414. package/src/visual/chart/HoriColumn.vue +7 -0
  415. package/src/visual/chart/Line.vue +7 -0
  416. package/src/visual/chart/Pie.vue +7 -0
  417. package/src/visual/config/Background.vue +398 -0
  418. package/src/visual/config/Chart.vue +139 -0
  419. package/src/visual/config/Checkbox.vue +64 -0
  420. package/src/visual/config/Color.vue +40 -0
  421. package/src/visual/config/DesignReport.vue +20 -0
  422. package/src/visual/config/Event.vue +220 -0
  423. package/src/visual/config/Field.vue +597 -0
  424. package/src/visual/config/Font.vue +149 -0
  425. package/src/visual/config/FormItem.vue +25 -0
  426. package/src/visual/config/Function.vue +78 -0
  427. package/src/visual/config/Html.vue +98 -0
  428. package/src/visual/config/Image.vue +132 -0
  429. package/src/visual/config/Input.vue +712 -0
  430. package/src/visual/config/LazyDialog.vue +44 -0
  431. package/src/visual/config/List.vue +68 -0
  432. package/src/visual/config/ListField.vue +1714 -0
  433. package/src/visual/config/MField.vue +601 -0
  434. package/src/visual/config/Number.vue +41 -0
  435. package/src/visual/config/Object.vue +177 -0
  436. package/src/visual/config/Operate.vue +1083 -0
  437. package/src/visual/config/OperateItem.vue +917 -0
  438. package/src/visual/config/Options.vue +330 -0
  439. package/src/visual/config/OrderField.vue +587 -0
  440. package/src/visual/config/Page.vue +45 -0
  441. package/src/visual/config/Params.vue +228 -0
  442. package/src/visual/config/Radio.vue +93 -0
  443. package/src/visual/config/Row.vue +78 -0
  444. package/src/visual/config/Scope.vue +363 -0
  445. package/src/visual/config/Select.vue +93 -0
  446. package/src/visual/config/Switch.vue +36 -0
  447. package/src/visual/config/Textarea.vue +754 -0
  448. package/src/visual/config/Tree.vue +135 -0
  449. package/src/visual/config/remote-cache.js +35 -0
  450. package/src/visual/config/show-condition.js +21 -0
  451. package/src/visual/config/variable-sources.js +27 -0
  452. package/src/visual/config/wait-ref.js +17 -0
  453. package/src/visual/config-page/ComponentLibrary.vue +220 -0
  454. package/src/visual/config-page/ComponentLibraryDialog.vue +262 -0
  455. package/src/visual/config-page/ComponentList.vue +580 -0
  456. package/src/visual/config-page/ComponentPreview.vue +206 -0
  457. package/src/visual/config-page/ConfigOption.vue +16 -0
  458. package/src/visual/config-page/ConfigPanel.vue +301 -0
  459. package/src/visual/config-page/Dashboard.vue +2331 -0
  460. package/src/visual/config-page/DashboardDesign.vue +656 -0
  461. package/src/visual/config-page/DashboardGlobalConfig.vue +158 -0
  462. package/src/visual/config-page/DashboardMobile.vue +1118 -0
  463. package/src/visual/config-page/DashboardSetting.vue +47 -0
  464. package/src/visual/config-page/PagePreview.vue +105 -0
  465. package/src/visual/config-page/StyleConfig.vue +656 -0
  466. package/src/visual/config-page/VisualConfigPage.vue +746 -0
  467. package/src/visual/config-page/dashboard-theme-setting/Background.vue +98 -0
  468. package/src/visual/config-page/dashboard-theme-setting/Border.vue +185 -0
  469. package/src/visual/config-page/dashboard-theme-setting/Font.vue +101 -0
  470. package/src/visual/config-page/dashboard-theme-setting/Index.vue +471 -0
  471. package/src/visual/config-page/dashboard-theme-setting/Shadow.vue +102 -0
  472. package/src/visual/config-page/index.js +93 -0
  473. package/src/visual/index.js +23 -0
  474. package/src/visual/mixins/innerGridMixin.js +128 -0
  475. package/src/visual/search/Filter.vue +50 -0
  476. package/src/visual/step/Index.vue +361 -0
  477. package/src/visual/step/Item.vue +140 -0
  478. package/src/visual/widgets/CardFormItemVisual.vue +46 -0
  479. package/src/visual/widgets/CarouselVisual.vue +291 -0
  480. package/src/visual/widgets/CollapseVisual.vue +203 -0
  481. package/src/visual/widgets/DropdownVisual.vue +541 -0
  482. package/src/visual/widgets/LayoutConfig.vue +186 -0
  483. package/src/visual/widgets/ListVisual.vue +349 -0
  484. package/src/visual/widgets/MEntityListFindVisual.vue +77 -0
  485. package/src/visual/widgets/ProcessFormItemVisual.vue +58 -0
  486. package/src/visual/widgets/TabsConfig.vue +266 -0
  487. package/types/index.d.ts +22 -0
  488. package/types/page-designer.d.ts +3 -0
  489. package/types/visual-component.d.ts +1 -0
  490. package/types/visual-entity-list.d.ts +1 -0
  491. package/types/visual-entity-sub-list.d.ts +1 -0
@@ -0,0 +1,838 @@
1
+ <script>
2
+ // @jsx-vue3(T30 JSX 批:Vue3 JSX 语法,@vue/babel-plugin-jsx 编译)
3
+
4
+ import ComponentVue from './Component.vue'
5
+ import Background from './config/Background.vue'
6
+ export default {
7
+ name: 'epx-visual-entity-list',
8
+ extends: ComponentVue,
9
+ components: {
10
+ [Background.name]: Background
11
+ },
12
+ data () {
13
+ return {
14
+ FunctionOption: [],
15
+ operateConfigs: {},
16
+ unfold: false,
17
+ backgroundCondition: null,
18
+ backgroundStyleDialog: false,
19
+ operateOptions: {}
20
+ }
21
+ },
22
+ computed: {
23
+ metaView () {
24
+ if (this.currentMeta && this.currentMeta.metaView) {
25
+ return this.currentMeta.metaView[this.currentMetaViewId]
26
+ }
27
+ return null
28
+ }
29
+ },
30
+ watch: {
31
+ allConfigs: {
32
+ handler (v) {
33
+ this.componentMetaId = v.metaId
34
+ },
35
+ immediate: true
36
+ },
37
+ 'allConfigs.categoryField': {
38
+ handler (v) {
39
+ // 根据字段获取对象
40
+ if (v) {
41
+ const fieldConfigs = this.currentMeta.getAllFieldConfigs().find(item => item.attriName === v[0])
42
+ if (fieldConfigs) {
43
+ this.treeMetaId = fieldConfigs.codeKey
44
+ this.treeFieldIsObject = fieldConfigs.dataType === 'object' || fieldConfigs.dataType === 'dept' || fieldConfigs.dataType === 'user'
45
+ // this.initConfigOptions()
46
+ }
47
+ }
48
+ },
49
+ immediate: true
50
+ },
51
+ async currentMetaViewId (v) {
52
+ if (!v) return
53
+ await this.getAllFields()
54
+ // 仅用户切换视图且字段树加载成功时,按新视图过滤已配置字段(配置回显不过滤,避免误删)
55
+ if (!this.canFilterFieldsByView(v)) return
56
+ const { listFields, orderFields, rowFields } = this.config
57
+ if (listFields) {
58
+ const filtered = listFields.filter(item => this.getField(item.attriName || item))
59
+ if (filtered.length !== listFields.length) this.changeConfigItem('listFields', filtered)
60
+ }
61
+ if (orderFields) {
62
+ const filtered = orderFields.filter(item => this.getField(item.attriName || item))
63
+ if (filtered.length !== orderFields.length) this.changeConfigItem('orderFields', filtered)
64
+ }
65
+ if (rowFields) {
66
+ const filtered = rowFields.map(row => row.filter(item => this.getField(item.attriName || item)))
67
+ if (!this.$_.isEqual(filtered, rowFields)) this.changeConfigItem('rowFields', filtered)
68
+ }
69
+ }
70
+ },
71
+ methods: {
72
+ getOperateOptions () {
73
+ this.getHandlerList()
74
+ this.getCommonOperates()
75
+ this.operateConfigs = [
76
+ {
77
+ key: 'base',
78
+ title: '基本',
79
+ options: ['text', 'ui', 'styles', 'icon', 'showName', 'preview']
80
+ },
81
+ {
82
+ key: 'event',
83
+ title: '事件',
84
+ options: ['handler', 'metaId', 'action', 'rule', 'moveType', 'exportFileImmediately', 'exportFileFields', 'exportFileNameFields', 'openMode', 'page', 'menuId', 'serviceId', 'pageType', 'printWay', 'printCode', 'cptName', 'printOperates', 'showDownloadReportDialog', 'showDownloadReportFormat', 'downloadReportFormat', 'downloadReportNameFields', 'downloadReportNameSplit', 'downloadReportWay', 'destActivityId', 'processNode', 'processCode', 'processNodes', 'endOtherNode', 'showCheckFields', 'checkRequireFields', 'checkOpinionValue', 'function', 'importPromptCode', 'sendMessageType', 'defaultMessageTemplate', 'messageTemplateScope', 'receiveMessagePhone', 'receiveMessageEmail', 'sendMessageEmail', 'editableFields', 'params', 'beforeTrigger', 'afterTrigger', 'afterTriggerPage', 'afterTriggerPageOpenMode', 'afterTriggerParams']
85
+ },
86
+ {
87
+ key: 'advance',
88
+ title: '高级',
89
+ options: ['terminal', 'num', 'limitFlag', 'limitCondition', 'limitTip', 'showConditionType', 'showCondition', 'showConditionEl', 'confirm', 'confirmMsg', 'confirmButtonText', 'cancelButtonText', 'successMsg', 'failMsg', 'mask']
90
+ }
91
+ ]
92
+ this.operateOptions = {
93
+ showCheckFields: {
94
+ key: 'showCheckFields',
95
+ label: '显示字段',
96
+ type: 'checkbox',
97
+ options: [{ label: '审核意见', value: 'opinion' }, { label: '审核签名', value: 'sign' }],
98
+ showFlag: { handler: ['batchCheck'] }
99
+ },
100
+ checkRequireFields: {
101
+ key: 'checkRequireFields',
102
+ label: '必填字段',
103
+ type: 'checkbox',
104
+ options: [{ label: '审核意见', value: 'opinion' }, { label: '审核签名', value: 'sign' }],
105
+ showFlag: { handler: ['batchCheck'] }
106
+ },
107
+ checkOpinionValue: {
108
+ key: 'checkOpinionValue',
109
+ label: '审核意见默认值',
110
+ type: 'text',
111
+ showFlag: { handler: ['batchCheck'], showCheckFields: ['opinion'] }
112
+ },
113
+ importPromptCode: {
114
+ key: 'importPromptCode',
115
+ label: '导入大模型提示词',
116
+ type: 'object',
117
+ object: 'FM_AI_PROMPT',
118
+ dataKey: 'CODE',
119
+ showFlag: { handler: ['entityImport'] }
120
+ },
121
+ sendMessageType: {
122
+ key: 'sendMessageType',
123
+ label: '发送方式',
124
+ type: 'checkbox',
125
+ defaultValue: ['template', 'custom'],
126
+ options: [{ label: '模版发送', value: 'template' }, { label: '自定义', value: 'custom' }],
127
+ showFlag: { handler: ['sendMessage'] }
128
+ },
129
+ defaultMessageTemplate: {
130
+ key: 'defaultMessageTemplate',
131
+ label: '默认模版',
132
+ type: 'object',
133
+ object: 'FM_MESSAGE_TEMPLATE',
134
+ scopeParams: [{ field: 'SYSTEM', values: this.SYSTEM }],
135
+ showFlag: { handler: ['sendMessage'] }
136
+ },
137
+ messageTemplateScope: {
138
+ key: 'messageTemplateScope',
139
+ label: '模版范围',
140
+ type: 'object',
141
+ object: 'FM_MESSAGE_TEMPLATE',
142
+ fieldConfigs: { isMultiple: '1' },
143
+ scopeParams: [{ field: 'SYSTEM', values: this.SYSTEM }],
144
+ showFlag: { handler: ['sendMessage'] }
145
+ },
146
+ receiveMessagePhone: {
147
+ key: 'receiveMessagePhone',
148
+ label: '接收人手机号',
149
+ type: 'field',
150
+ showSubField: false,
151
+ showSubFlag: false,
152
+ showFlag: { handler: ['sendMessage'] }
153
+ },
154
+ receiveMessageEmail: {
155
+ key: 'receiveMessageEmail',
156
+ label: '接收人邮箱',
157
+ type: 'field',
158
+ showSubField: false,
159
+ showSubFlag: false,
160
+ showFlag: { handler: ['sendMessage'] }
161
+ },
162
+ sendMessageEmail: {
163
+ key: 'sendMessageEmail',
164
+ label: '默认发送邮箱',
165
+ type: 'object',
166
+ object: 'FM_MAIL_CONFIG',
167
+ scopeParams: [{ field: 'SYSTEM', values: this.SYSTEM }],
168
+ showFlag: { handler: ['sendMessage'] }
169
+ },
170
+ exportFileImmediately: {
171
+ key: 'exportFileImmediately',
172
+ label: '是否直接导出',
173
+ type: 'switch',
174
+ options: [{ label: '是', value: true }, { label: '否', value: false }],
175
+ defaultValue: false,
176
+ showFlag: { handler: ['exportFile'] }
177
+ },
178
+ exportFileFields: {
179
+ key: 'exportFileFields',
180
+ label: '导出附件',
181
+ type: 'field',
182
+ limit: { dataType: ['blob', 'photo'] },
183
+ showFlag: { handler: ['exportFile'], exportFileImmediately: true }
184
+ },
185
+ exportFileNameFields: {
186
+ key: 'exportFileNameFields',
187
+ label: '导出附件命名',
188
+ type: 'field',
189
+ showFlag: { handler: ['exportFile'], exportFileImmediately: true }
190
+ },
191
+ page: {
192
+ key: 'page',
193
+ label: '打开页面',
194
+ type: 'page',
195
+ showFlag: { handler: ['goPage', 'addEntity', 'editEntity', 'entityImport', 'exportFile'] }
196
+ },
197
+ editableFields: {
198
+ key: 'editableFields',
199
+ label: '可编辑字段',
200
+ type: 'field',
201
+ showSubField: false,
202
+ showSubFlag: false,
203
+ showFlag: { handler: ['editMultiEntity'] }
204
+ },
205
+ processCode: {
206
+ key: 'processCode',
207
+ label: '选择流程',
208
+ type: 'object',
209
+ object: 'ACT_RE_MODEL',
210
+ dataKey: 'KEY',
211
+ fieldConfigs: {
212
+ scopeParams: [{ field: 'ENTITY', values: this.currentMetaId }, { field: 'CATEGORY', values: '1' }]
213
+ },
214
+ showFlag: { handler: ['skipProcessNode', 'resetCheckPerson', 'rejectionProcess'] }
215
+ },
216
+ processNodes: {
217
+ key: 'processNodes',
218
+ label: '选择可跳转结束节点',
219
+ type: 'select',
220
+ multiple: true,
221
+ showFlag: { handler: ['skipProcessNode'] }
222
+ },
223
+ endOtherNode: {
224
+ key: 'endOtherNode',
225
+ label: '结束其他节点',
226
+ type: 'switch',
227
+ options: [{ label: '是', value: true }, { label: '否', value: false }],
228
+ defaultValue: true,
229
+ showFlag: { handler: ['skipProcessNode'] }
230
+ }
231
+ }
232
+ let oldMetaId = this.currentMetaId
233
+ let oldProcessCode = null
234
+ this.changeOperate = (key, operate) => {
235
+ if (operate.metaId !== oldMetaId) {
236
+ const processCode = this.operateOptions.processCode
237
+ oldMetaId = operate.metaId
238
+ delete this.operateOptions.processCode
239
+ this.$nextTick(() => {
240
+ this.operateOptions.processCode = {
241
+ ...processCode,
242
+ fieldConfigs: {
243
+ scopeParams: [{ field: 'ENTITY', values: operate.metaId || this.currentMetaId }, { field: 'CATEGORY', values: '1' }]
244
+ }
245
+ }
246
+ })
247
+ }
248
+ if (operate?.processCode && operate.processCode !== oldProcessCode) {
249
+ oldProcessCode = operate.processCode
250
+ this.$http.get({
251
+ action: 'processNodeList',
252
+ entityId: 'ACT_RE_MODEL',
253
+ processCode: operate.processCode
254
+ })
255
+ .then(data => {
256
+ const optionList = data.map(item => {
257
+ return {
258
+ label: item.name,
259
+ value: item.id
260
+ }
261
+ })
262
+ const processNodes = this.operateOptions.processNodes
263
+ delete this.operateOptions.processNodes
264
+ this.$nextTick(() => {
265
+ this.operateOptions.processNodes = { ...processNodes, options: optionList }
266
+ })
267
+ })
268
+ }
269
+ }
270
+ },
271
+ initDefaultConfigs () {
272
+ let defaultListFields = []
273
+ if (this.currentMeta) {
274
+ if (this.metaView) {
275
+ const { listFields, fields } = this.metaView
276
+ if (listFields) {
277
+ defaultListFields = JSON.parse(listFields)
278
+ } else {
279
+ defaultListFields = JSON.parse(fields)
280
+ }
281
+ } else {
282
+ defaultListFields = this.currentMeta.getAllFields()
283
+ }
284
+ }
285
+ // const { addPage = 'entity-add-page', editPage = 'entity-edit-page', openMode = '3', addPageFlag = 'v_add' } = this.allConfigs
286
+ const { addPage = 'entity-add-page', editPage = 'entity-edit-page', openMode = '3' } = this.allConfigs
287
+ let keywords = []
288
+ let metaKey = 'ID'
289
+ if (this.currentMeta) {
290
+ const { label, keyNames = [] } = this.currentMeta
291
+ metaKey = this.currentMeta.getKey()
292
+ keywords = [...keyNames]
293
+ if (label) {
294
+ keywords.push(label)
295
+ }
296
+ }
297
+ this.defaultConfigs = {
298
+ flex: true,
299
+ componentName: this.componentInfo.title,
300
+ type: 'table',
301
+ addPageFlag: 'v_add',
302
+ editPageFlag: 'v_add',
303
+ detailPageFlag: 'v_add',
304
+ detailFlag: true,
305
+ componentType: '',
306
+ metaId: this.pageMetaId,
307
+ action: 'list',
308
+ searchFlag: true,
309
+ searchMode: 'keyword',
310
+ showSearchLabel: false,
311
+ isChangeListType: false,
312
+ border: false,
313
+ keywords,
314
+ searchFields: [],
315
+ listFields: defaultListFields,
316
+ pageFlag: true,
317
+ pageSize: 20,
318
+
319
+ operateEllipsis: 2,
320
+ serialColumnFlag: true, // 是否显示序号列
321
+ operateColumnFlag: true, // 是否显示操作列
322
+ operateColumnWidth: 100,
323
+ operateColumnEllipsis: 2,
324
+ operateColumnPosition: 'start',
325
+ categoryExpandLevel: 'none',
326
+ operateTreeListFlag: true,
327
+ dragSort: false,
328
+ fixedTable: true,
329
+ span: 24,
330
+ metaKeyField: [metaKey],
331
+ operates: [
332
+ {
333
+ text: '新增',
334
+ handler: 'addEntity',
335
+ action: 'save',
336
+ ui: 'primary',
337
+ num: 0,
338
+ openMode,
339
+ component: addPage,
340
+ params: {}
341
+ },
342
+ {
343
+ text: '删除',
344
+ handler: 'commonAction',
345
+ action: 'removeMulti',
346
+ num: 'n',
347
+ confirm: true,
348
+ confirmMsg: this.$t('Confirm the deletion') + '?',
349
+ successMsg: '删除成功',
350
+ params: {
351
+ ids: `#[${metaKey}]`
352
+ }
353
+ },
354
+ {
355
+ text: '导入',
356
+ handler: 'entityImport',
357
+ action: 'entityImport',
358
+ component: 'import-page',
359
+ params: {}
360
+ },
361
+ {
362
+ text: '导出',
363
+ handler: 'goPage',
364
+ action: 'entityExport',
365
+ component: 'export-page',
366
+ params: {
367
+ selects: `#[${metaKey}]`,
368
+ total: '$[total]',
369
+ params: '$[params]',
370
+ fields: '$[exportFields]',
371
+ scopeParams: '$[scopeParams]'
372
+ }
373
+ }
374
+ ],
375
+ columnOperates: [
376
+ // {
377
+ // text: '多选',
378
+ // handler: 'multiSelect',
379
+ // terminal: 'mobile'
380
+ // },
381
+ {
382
+ text: '编辑',
383
+ handler: 'editEntity',
384
+ action: 'update',
385
+ num: 1,
386
+ openMode,
387
+ component: editPage,
388
+ pageType: 'EDIT'
389
+ }
390
+ // {
391
+ // text: '删除',
392
+ // handler: 'commonAction',
393
+ // action: 'removeMulti',
394
+ // num: 'n',
395
+ // confirmMsg: this.$t('Confirm the deletion') + '?',
396
+ // successMsg: '删除成功',
397
+ // params: {
398
+ // ids: `#[${this.$metaKey}]`
399
+ // }
400
+ // }
401
+ ],
402
+ treeListOperates: [{
403
+ text: '上移',
404
+ handler: 'operateTree',
405
+ action: 'operateTree',
406
+ moveType: 'pre'
407
+ },
408
+ {
409
+ text: '下移',
410
+ handler: 'operateTree',
411
+ action: 'operateTree',
412
+ moveType: 'next'
413
+ },
414
+ {
415
+ text: '移到最前',
416
+ handler: 'operateTree',
417
+ action: 'operateTree',
418
+ moveType: 'first'
419
+ },
420
+ {
421
+ text: '移到最后',
422
+ handler: 'operateTree',
423
+ action: 'operateTree',
424
+ moveType: 'last'
425
+ },
426
+ {
427
+ text: '移到外层',
428
+ handler: 'operateTree',
429
+ action: 'operateTree',
430
+ moveType: 'upper'
431
+ },
432
+ {
433
+ text: '移到指定位置',
434
+ action: 'dragTree',
435
+ handler: 'dragTree'
436
+ }],
437
+
438
+ // 列表内容
439
+ treeExpandLevel: 'first',
440
+ treeExpandMore: false
441
+ }
442
+ },
443
+ initConfig () {
444
+ const config = this.$_.cloneDeep(this.compConfig)
445
+ if (this.componentInfo.span) {
446
+ config.span = this.componentInfo.span
447
+ }
448
+ this.config = config
449
+ },
450
+ getFieldOptions () {
451
+ this.getFunctionOption()
452
+ this.fieldOptions = [
453
+ { key: 'attriName', label: '字段', readonly: true },
454
+ { key: 'configWay', label: '配置方式', type: 'radio', options: [{ label: '默认配置', value: 'default' }, { label: '自定义', value: 'custom' }], defaultValue: 'default' },
455
+ { key: 'attriLabel', label: '名称', type: 'text' },
456
+ { key: 'width', label: '宽度', type: 'text', defaultValue: '120' },
457
+ { key: 'color', label: '字体颜色', type: 'color', defaultValue: '#333' },
458
+ { key: 'icon', label: '图标', type: 'object', object: 'FM_FONT_ICON', tip: '图标只在卡片模式展示' },
459
+ { key: 'iconColor', label: '图标颜色', type: 'color' },
460
+ { key: 'newLine', label: '是否换行', type: 'switch', defaultValue: false },
461
+ {
462
+ key: 'lineNum',
463
+ label: '显示行数',
464
+ type: 'num',
465
+ showFlag: {
466
+ newLine: true
467
+ }
468
+ },
469
+ {
470
+ key: 'showTooltip',
471
+ label: '鼠标悬浮展示',
472
+ type: 'switch',
473
+ defaultValue: true,
474
+ showFlag: {
475
+ newLine: [false, null, undefined]
476
+ }
477
+ },
478
+ { key: 'locked', label: '是否锁定', type: 'switch', defaultValue: false },
479
+ { key: 'editable', label: '可编辑', type: 'switch', defaultValue: false },
480
+ { key: 'rule', label: '逻辑编排', type: 'select', options: this.ruleList, showFlag: { editable: true } },
481
+ { key: 'addible', label: '可新增', type: 'switch', defaultValue: true },
482
+ { key: 'state', label: '字段状态', type: 'radio', options: [{ label: '显示', value: 'DETAIL' }, { label: '隐藏', value: 'HIDDEN' }], defaultValue: 'DETAIL' },
483
+ { key: 'align', label: '对齐方式', type: 'radio', options: [{ label: '左对齐', value: 'left' }, { label: '居中对齐', value: 'center' }, { label: '右对齐', value: 'right' }], defaultValue: 'left' },
484
+ { key: 'isLabel', label: '外部标签', type: 'radio', options: [{ label: '是', value: true }, { label: '否', value: false }] },
485
+ { key: 'sortable', label: '可排序', type: 'radio', options: [{ label: '是', value: true }, { label: '否', value: false }] },
486
+ {
487
+ key: 'findPageId',
488
+ label: '对象查找页面',
489
+ type: 'object',
490
+ object: 'FM_PAGE_CONFIG',
491
+ scopeParams: [{ field: 'SYSTEM', values: this.SYSTEM }],
492
+ showFlag: {
493
+ editable: true,
494
+ dataType: ['multiobject', 'object', 'user', 'dept', 'list', 'treeList']
495
+ }
496
+ },
497
+ {
498
+ key: 'objectScope',
499
+ label: '对象查询范围',
500
+ type: 'object-scope',
501
+ showFlag: {
502
+ editable: true,
503
+ dataType: ['multiobject', 'object', 'user', 'dept']
504
+ }
505
+ },
506
+ {
507
+ key: 'fieldExMethod',
508
+ label: '字段扩展方式',
509
+ type: 'radio',
510
+ code: 'FIELD_EX_METHOD',
511
+ defaultValue: 'suffix',
512
+ showFlag: {
513
+ dataType: ['text', 'num']
514
+ }
515
+ },
516
+ {
517
+ key: 'suffix',
518
+ label: '前/后缀内容',
519
+ type: 'text',
520
+ showFlag: {
521
+ dataType: ['text', 'num']
522
+ }
523
+ },
524
+ {
525
+ key: 'numericalUnits',
526
+ label: '数值单位',
527
+ type: 'radio',
528
+ code: 'Numerical units',
529
+ showFlag: {
530
+ dataType: ['num']
531
+ }
532
+ },
533
+ { key: 'link', label: '链接', type: 'switch' },
534
+ { key: 'linkType', label: '链接类型', type: 'radio', code: 'LINK_TYPE', showFlag: { link: [true] } },
535
+ { key: 'linkPageId', label: '页面', type: 'object', object: 'FM_PAGE_CONFIG', scopeParams: [{ field: 'SYSTEM', values: this.SYSTEM }], showFlag: { link: [true], linkType: 'page' } },
536
+ { key: 'linkAddress', label: '链接地址', showFlag: { link: [true], linkType: 'url' } },
537
+ { key: 'linkOpenType', label: '链接打开方式', type: 'radio', code: 'OPEN_PAGE_MODE', showFlag: { link: [true], linkType: ['page', 'detail'] } },
538
+ { key: 'linkParams', label: '链接参数设置', type: 'params', showFlag: { link: [true], linkType: ['page', 'detail'] } },
539
+ { key: 'showSummary', label: '显示合计项', type: 'switch', defaultValue: false, showFlag: { dataType: ['num', 'int'] } },
540
+ { key: 'showOptionStyle', label: '显示选项样式', type: 'switch', defaultValue: false, showFlag: { dataType: ['list'] } },
541
+ { key: 'imageFit', label: '图片显示方式', type: 'radio', options: [{ label: '剪切', value: 'cover' }, { label: '填充', value: 'fill' }, { label: '缩放', value: 'contain' }, { label: '不做处理', value: 'none' }], defaultValue: 'cover', showFlag: { dataType: ['photo'] } },
542
+ { key: 'imgaePosition', label: '图片显示位置', type: 'radio', options: [{ label: '顶部', value: 'top' }, { label: '居中', value: 'center' }, { label: '底部', value: 'bottom' }], defaultValue: 'center', showFlag: { dataType: ['photo'] } },
543
+ { key: 'previewDialogSize', label: '预览弹窗大小', type: 'radio', options: [{ label: '50%', value: '50%' }, { label: '75%', value: '75%' }, { label: '80%', value: '80%' }, { label: '90%', value: '90%' }, { label: '全屏', value: 'fullscreen' }], defaultValue: '75%', showFlag: { dataType: ['blob'] } },
544
+ // {
545
+ // key: 'showWay',
546
+ // label: '显示内容',
547
+ // type: 'radio',
548
+ // options: [{ label: '字段值', value: 'value' }, { label: '记录数', value: 'record' }, { label: '字段统计', value: 'statistics' }],
549
+ // defaultValue: 'value',
550
+ // showCondition: {
551
+ // el: '#{field.relationSort===\'1\'&&field.type!==\'meta\'}'
552
+ // }
553
+
554
+ // },
555
+ {
556
+ key: 'showWay',
557
+ label: '显示内容',
558
+ type: 'radio',
559
+ options: [{ label: '字段值', value: 'value' }, { label: '记录数', value: 'record' }, { label: '自定义', value: 'el' }],
560
+ defaultValue: 'value',
561
+ showFlag: {
562
+ type: 'meta'
563
+ }
564
+ },
565
+ {
566
+ key: 'statisticsType',
567
+ label: '统计方式',
568
+ type: 'radio',
569
+ code: 'FIELD_STATISTIC_TYPE',
570
+ defaultValue: 'SUM',
571
+ showFlag: {
572
+ showWay: 'statistics',
573
+ type: 'meta'
574
+ }
575
+ },
576
+ {
577
+ key: 'showWay',
578
+ label: '显示内容',
579
+ type: 'radio',
580
+ options: [{ label: '字段值', value: 'value' }, { label: '统计值', value: 'statistics' }],
581
+ defaultValue: 'value',
582
+ showFlag: {
583
+ relationSort: '1',
584
+ dataType: ['num']
585
+ }
586
+ },
587
+ {
588
+ key: 'statisticsType',
589
+ label: '统计方式',
590
+ type: 'radio',
591
+ code: 'FIELD_STATISTIC_TYPE',
592
+ defaultValue: 'SUM',
593
+ showFlag: {
594
+ showWay: 'statistics',
595
+ relationSort: '1',
596
+ dataType: ['num']
597
+ }
598
+ },
599
+ {
600
+ key: 'fields',
601
+ label: '展示字段',
602
+ type: 'field',
603
+ showFlag: {
604
+ // relationSort: '1',
605
+ type: 'meta',
606
+ showWay: ['value', undefined, null]
607
+ }
608
+ },
609
+
610
+ {
611
+ key: 'showEl',
612
+ label: '自定义内容',
613
+ type: 'rule',
614
+ showFlag: {
615
+ showWay: 'el',
616
+ type: 'meta'
617
+ }
618
+ },
619
+ {
620
+ key: 'separator',
621
+ label: '字段分隔符',
622
+ type: 'radio-input',
623
+ options: [{ label: '、', value: '、' }, { label: '/', value: '/' }, { label: ',', value: ',' }],
624
+ defaultValue: '、',
625
+ showFlag: {
626
+ // relationSort: '1'
627
+ type: 'meta'
628
+ }
629
+ },
630
+ {
631
+ key: 'showFieldName',
632
+ label: '是否展示字段名',
633
+ type: 'radio',
634
+ options: [{ label: '是', value: '1' }, { label: '否', value: '0' }],
635
+ defaultValue: '0',
636
+ showFlag: {
637
+ // relationSort: '1'
638
+ type: 'meta'
639
+ }
640
+ },
641
+ {
642
+ key: 'orderFields',
643
+ label: '数据排序',
644
+ type: 'order-field',
645
+ showFlag: {
646
+ relationSort: '1'
647
+ }
648
+ },
649
+ {
650
+ key: 'scopeParams',
651
+ label: '查询范围',
652
+ type: 'scope',
653
+ showFlag: {
654
+ relationSort: '1'
655
+ }
656
+ },
657
+ {
658
+ key: 'recordSeparator',
659
+ label: '记录分隔符',
660
+ type: 'radio-input',
661
+ options: [{ label: '换行', value: '\n' }, { label: '/', value: '/' }, { label: ',', value: ',' }],
662
+ defaultValue: '\n',
663
+ showFlag: {
664
+ relationSort: '1'
665
+ }
666
+ }
667
+ ]
668
+ this.rowFieldOptions = [...this.fieldOptions]
669
+ this.rowFieldOptions.splice(4, 0,
670
+ { key: 'showLabel', label: '显示标题', type: 'radio', options: [{ label: '显示', value: true }, { label: '不显示', value: false }], defaultValue: false },
671
+ { key: 'split', label: '分隔符', type: 'radio', options: [{ label: '竖号', value: ' | ' }, { label: '斜杠', value: ' / ' }, { label: '空格', value: ' ' }], defaultValue: ' | ' },
672
+ { key: 'fontWeight', label: this.$t('whether the bold'), type: 'radio', options: [{ label: this.$t('yes'), value: 'bold' }, { label: this.$t('no'), value: 'normal' }] },
673
+ { key: 'fontSize', label: this.$t('font size'), type: 'num', defaultValue: 14 })
674
+ },
675
+ addCondition (v) {
676
+ const backgroundConditionSet = this.config.backgroundConditionSet ? [...this.config.backgroundConditionSet] : []
677
+ backgroundConditionSet.push({ condition: v, style: null })
678
+ this.config.backgroundConditionSet = backgroundConditionSet
679
+ },
680
+ setConditionBackgroundStyle (item, index) {
681
+ this.backgroundStyleDialog = true
682
+ this.conditionBackgroundStyle = item.style || {}
683
+ this.editConditionIndex = index
684
+ },
685
+ deleteConditionBackgroundStyle (index) {
686
+ const backgroundConditionSet = this.config.backgroundConditionSet ? [...this.config.backgroundConditionSet] : []
687
+ backgroundConditionSet.splice(index, 1)
688
+ this.config.backgroundConditionSet = backgroundConditionSet
689
+ },
690
+ saveConditionBackgroundStyle () {
691
+ const backgroundConditionSet = this.config.backgroundConditionSet ? [...this.config.backgroundConditionSet] : []
692
+ backgroundConditionSet.splice(this.editConditionIndex, 1, { ...backgroundConditionSet[this.editConditionIndex], style: this.conditionBackgroundStyle })
693
+ this.config.backgroundConditionSet = backgroundConditionSet
694
+ this.conditionBackgroundStyle = {}
695
+ this.backgroundStyleDialog = false
696
+ this.editConditionIndex = null
697
+ },
698
+ renderCardBackground () {
699
+ const { backgroundConditionSet = [] } = this.config
700
+ return (
701
+ <div class={['epx-page-designer-setting-style__item', 'epx-visual-entity-list__card-background', { 'epx-page-designer-setting-style__item--unfold': this.unfold }]}>
702
+ <div class="epx-page-designer-setting-style__header">
703
+ <span>
704
+ <i class="epx-page-designer-setting-style__fold-icon el-icon-caret-right" onClick={() => { this.unfold = !this.unfold }}></i>
705
+ <label class="epx-page-designer-setting-style__label" for="">{this.$t('background')}</label>
706
+ </span>
707
+ </div>
708
+ <div class="epx-page-designer-setting-style__content">
709
+ <epx-visual-config-background v-model={this.config.backgroundStyle} class="epx-visual-entity-list__background-style" defaultValue={{
710
+ backgroundSize: 'cover',
711
+ backgroundRepeat: 'no-repeat',
712
+ backgroundPosition: 'center'
713
+ }}></epx-visual-config-background>
714
+ <div class="epx-visual-entity-list__background-conditions">
715
+ {
716
+ backgroundConditionSet.map((item, index) => (
717
+ <div key={index} class="epx-visual-entity-list__background-condition-item">
718
+ <div class="epx-visual-entity-list__background-condition-content">
719
+ <epx-visual-config-scope
720
+ designer={this.designer}
721
+ value={item.condition}
722
+ pageParams={this.pageParams}
723
+ treeFieldStore={this.treeFieldStore}
724
+ componentMetaId={this.componentMetaId || this.pageMetaId}
725
+ scopeConfigs={this.scopeConfigs}
726
+ state='DETAIL'
727
+ />
728
+ <el-button type="primary" link class="epx-visual-entity-list__background-condition-set" onClick={this.setConditionBackgroundStyle.bind(this, item, index)}>
729
+ <i class="el-icon-setting"></i>
730
+ 背景设置
731
+ </el-button>
732
+ </div>
733
+ <i class="epx-visual-entity-list__background-condition-remove el-icon-close" onClick={this.deleteConditionBackgroundStyle.bind(this, index)}></i>
734
+ </div>
735
+ ))
736
+ }
737
+ <epx-visual-config-scope
738
+ designer={this.designer}
739
+ value={this.backgroundCondition}
740
+ pageParams={this.pageParams}
741
+ treeFieldStore={this.treeFieldStore}
742
+ componentMetaId={this.componentMetaId || this.pageMetaId}
743
+ scopeConfigs={this.scopeConfigs}
744
+ operateName="+ 添加动态背景条件"
745
+ onChangeConfigs={v => this.addCondition(v)}
746
+ >
747
+ </epx-visual-config-scope>
748
+ </div>
749
+
750
+ <el-dialog
751
+ title="背景设置"
752
+ modelValue={this.backgroundStyleDialog}
753
+ width="420px"
754
+ show-close={false}
755
+ append-to-body
756
+ destroy-on-close
757
+ center v-slots={{
758
+ footer: () => (<span class="dialog-footer">
759
+ <el-button onClick={() => { this.backgroundStyleDialog = false }}>取 消</el-button>
760
+ <el-button type="primary"onClick={this.saveConditionBackgroundStyle}>确 定</el-button>
761
+ </span>)
762
+ }}>
763
+ {
764
+ this.backgroundStyleDialog &&
765
+ <epx-visual-config-background
766
+ v-model={this.conditionBackgroundStyle}
767
+ defaultValue={{
768
+ backgroundSize: 'cover',
769
+ backgroundRepeat: 'no-repeat'
770
+ }}></epx-visual-config-background>
771
+ }
772
+ </el-dialog>
773
+ </div>
774
+ </div>
775
+ )
776
+ }
777
+ }
778
+ }
779
+ </script>
780
+ <style lang="scss">
781
+ // 2026-09-09:整块从 <style scoped> 搬来。
782
+ // Vue3 的 extends **不继承** __scopeId,本组件有 4 个纯 script 继承者(ClientList /
783
+ // ComponentList / DblogList / MetaList,都没有自己的 <template>、也没转写 __scopeId)
784
+ // ⇒ 它们渲染出的 DOM 上一个 data-v-* 都没有,这一簇规则整块静默失效:卡片背景配置项的
785
+ // 负边距丢失、条件列表没有分隔线与 flex 布局。
786
+ //
787
+ // ⚠️ 三个搬迁要点,别改回去:
788
+ // 1) 类名必须带 BEM 前缀——`.background-style` / `.background-condition__*` 都是通用名,
789
+ // 裸着放进无 scoped 块就是全局污染。
790
+ // 2) 原文的 `:deep(...)` 全部去掉了:`:deep()` 是 scoped 专用的穿透语法,只有 scoped 块
791
+ // 才会被编译器改写;留在无 scoped 块里会原样输出成浏览器不认识的伪类 ⇒ 规则照样失效。
792
+ // 无 scoped 下嵌在块内本身就是后代选择器,语义等价。
793
+ // 3) 这簇 DOM 挂在 `epx-page-designer-setting-style__item` 上,**不在** .epx-visual-entity-list
794
+ // 的后代里。能这么写是因为本仓 e() 在不含 modifier / .is- / 伪类时走 @at-root,生成的是
795
+ // 独立类名 `.epx-x__y` 而不是后代选择器(见 theme/utils/mixins.scss)。
796
+ //
797
+ // 原 `.background-condititon`(三个 t)是笔误,与 `.background-condition__*` 并非同名;
798
+ // 类名反正要整体重命名,就没把笔误固化进 BEM 名,统一成 conditions,JSX 同步改。
799
+ @include b(visual-entity-list) {
800
+ @include e(card-background) {
801
+ margin: 0 -10px;
802
+
803
+ .epx-page-designer-setting-style__subitem {
804
+ margin: 20px 0;
805
+ }
806
+ .epx-page-designer-setting-style__content {
807
+ background: none;
808
+ padding: 0;
809
+ }
810
+ }
811
+ @include e(background-style) {
812
+ padding: 10px 10px 10px 28px;
813
+ background: #F5F7FA;
814
+ }
815
+ @include e(background-conditions) {
816
+ padding: 10px;
817
+ }
818
+ @include e(background-condition-item) {
819
+ display: flex;
820
+ padding: 10px 0;
821
+ border-bottom: 1px solid #DCDCDC;
822
+ }
823
+ @include e(background-condition-content) {
824
+ flex: 1;
825
+ }
826
+ @include e(background-condition-set) {
827
+ margin: 0;
828
+ i {
829
+ margin-right: 4px;
830
+ }
831
+ }
832
+ @include e(background-condition-remove) {
833
+ font-size: var(--epx-font-size-l);
834
+ cursor: pointer;
835
+ margin-top: 4px;
836
+ }
837
+ }
838
+ </style>