@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,1083 @@
1
+ <template>
2
+ <div class="operates">
3
+ <el-radio-group v-model="operateWay" v-if="state!=='DETAIL'">
4
+ <el-radio label="default" value="default">默认操作</el-radio>
5
+ <el-radio label="custom" value="custom">自定义操作</el-radio>
6
+ </el-radio-group>
7
+ <div class="operate-group" v-show="operateWay==='custom'">
8
+ <!-- 必须用 v-model 而不是 :list —— draggable 的 alterList 对两者行为相反:
9
+ `:list` 分支是 onList(this.list) 原地 splice,**不 emit `input` / `update:modelValue`**,引用不变
10
+ ⇒ Vue3 浅层 watcher 不跑 ⇒ 下面那个 operates watcher 的 $emit('change-configs')
11
+ 发不出去 ⇒ 拖出来的顺序不写回设计器,刷新即还原(Vue2 因为 splice 被 patch 过而正常,
12
+ 是典型的静默迁移回归)。
13
+ `v-model` 分支走 [...modelValue] 新数组 + emit('update:modelValue'),引用变了,
14
+ 浅层 watcher 正常触发,**不需要 deep**。
15
+ (`change` 事件其实两种模式都发,所以挂 `@change` 自己接也是一条可行修法;这里选
16
+ v-model 是因为它顺带消掉了「operates 与 prop 同引用、就地 splice 等于改 prop」的隐患。) -->
17
+ <draggable
18
+ v-model="operates"
19
+ class="list-group-operates"
20
+ ghost-class="ghost"
21
+ :disabled="state==='DETAIL'"
22
+ >
23
+ <transition-group type="transition" name="flip-list" >
24
+ <el-button v-bind="{[operate.type]: true}" v-for="operate in operates"
25
+ :key="operate.text"
26
+ size="default"
27
+
28
+ :type="operate.type=='text'?'text' :operate.ui"
29
+ >
30
+ <i :class="['fa', operate.icon]"></i>
31
+ {{operate.text}}
32
+ </el-button>
33
+ </transition-group>
34
+ </draggable>
35
+ <el-button type="primary" link :style="{ marginLeft: '12px' }" @click="openDialog" v-if="state!=='DETAIL'">设置</el-button>
36
+ </div>
37
+ <div class="operate-group" v-show="operateWay==='default'">
38
+ <el-button v-bind="{[operate.type]: true}" size="default" v-for="operate in defaultValue" :key="operate.text"
39
+ :type="operate.type=='text'?'text' :operate.ui">{{operate.text}}</el-button>
40
+ </div>
41
+ <div class="operate-config">
42
+ <epx-visual-config-lazy-dialog
43
+ class="setting-fields-dialog setting-operate-dialog"
44
+ title="操作按钮配置"
45
+ v-model="showDialog"
46
+ :append-to-body="true"
47
+ width="70%"
48
+ >
49
+ <div class="setting-fields-container">
50
+ <div class="setting-fields__select">
51
+ <draggable
52
+ :list="settingOperates"
53
+ class="list-group"
54
+ ghost-class="ghost"
55
+ >
56
+ <transition-group type="transition" name="flip-list" class="setting-fields__select--list">
57
+ <li class="setting-fields__select--item" v-for="(operate, index) in settingOperates" :key="operate.text" @click="selectOperateFn(operate)">
58
+ <el-button size="default" :type="operate.ui"> <i :class="['fa', operate.icon]"></i>{{operate.text}}</el-button>
59
+ <span class="button-icon-container">
60
+ <i title="复制" class="el-icon-copy-document" @click.stop="copyOperate(operate, index)"></i>
61
+ <i title="删除" class="el-icon-delete" @click.stop="deleteOperate(operate, index)"></i>
62
+ </span>
63
+ </li>
64
+ </transition-group>
65
+ </draggable>
66
+ <el-popover
67
+ trigger="click">
68
+ <ul :style="{maxHeight: '300px', overflow: 'auto'}">
69
+ <li v-for="operate in commonOperates" :key="operate.text" class="common-operate-item" @click="addOperate(operate)">{{operate.text}}</li>
70
+ </ul>
71
+ <template v-slot:reference><el-button type="primary" link class="setting-fields__select--add" >+ 添加常用按钮</el-button></template>
72
+ </el-popover>
73
+ <el-button type="primary" link class="setting-fields__select--add" @click="addOperate(null)" >+ 添加自定义按钮</el-button>
74
+ <el-button type="primary" link class="setting-fields__select--add" @click="addFoldOperate(null)" >+ 添加折叠按钮</el-button>
75
+ </div>
76
+ <!-- 操作按钮配置项 -->
77
+ <operate-Item
78
+ :key="selectOperate.id"
79
+ v-if="selectOperate"
80
+ :designer="designer"
81
+ :value="selectOperate"
82
+ :operate-tabs="selectOperate.operateType==='dropdown'? dropdownTabs :operateTabs"
83
+ :metaId="currentMetaId"
84
+ :defaultRuleList="ruleList"
85
+ :defaultActionList="actionList"
86
+ :treeFieldStore="treeFieldStore"
87
+ :useProcessRight="configs.useProcessRight"
88
+ :scopeConfigs="scopeConfigs"
89
+ @change="updateOperate"
90
+ @set-dropdown="openDropdownDialog"
91
+ ></operate-Item>
92
+ </div>
93
+ <template v-slot:footer><div class="button-group">
94
+ <el-button type="primary" @click="saveOperateSetting">保存</el-button>
95
+ <el-button @click="showDialog=false">取消</el-button>
96
+ </div></template>
97
+ </epx-visual-config-lazy-dialog>
98
+ <epx-visual-config-lazy-dialog
99
+ v-if="selectOperate"
100
+ class="setting-fields-dialog setting-operate-dialog"
101
+ title="折叠按钮配置"
102
+ v-model="showDropdownDialog"
103
+ :append-to-body="true"
104
+ width="70%"
105
+ >
106
+ <div class="setting-fields-container">
107
+ <div class="setting-fields__select">
108
+ <draggable
109
+ :list="settingDropdownOperates"
110
+ class="list-group"
111
+ ghost-class="ghost"
112
+ >
113
+ <transition-group type="transition" name="flip-list" class="setting-fields__select--list">
114
+ <li class="setting-fields__select--item" v-for="(operate, index) in settingDropdownOperates" :key="operate.text" @click="selectOperateFn(operate, 'dropdown')">
115
+ <el-button size="default" :type="operate.ui"> <i :class="['fa', operate.icon]"></i>{{operate.text}}</el-button>
116
+ <span class="button-icon-container">
117
+ <i title="复制" class="el-icon-copy-document" @click.stop="copyDropdown(operate, index)"></i>
118
+ <i title="删除" class="el-icon-delete" @click.stop="deleteDropdown(operate, index)"></i>
119
+ </span>
120
+ </li>
121
+ </transition-group>
122
+ </draggable>
123
+ <el-popover
124
+ trigger="click">
125
+ <ul>
126
+ <li v-for="operate in commonOperates" :key="operate.text" class="common-operate-item" @click="addDropdownOperate(operate)">{{operate.text}}</li>
127
+ </ul>
128
+ <template v-slot:reference><el-button type="primary" link class="setting-fields__select--add" >+ 添加常用按钮</el-button></template>
129
+ </el-popover>
130
+ <el-button type="primary" link class="setting-fields__select--add" @click="addDropdownOperate(null)" >+ 添加自定义按钮</el-button>
131
+ </div>
132
+ <operate-Item
133
+ :key="selectDropdownOperate.key"
134
+ v-if="selectDropdownOperate"
135
+ :designer="designer"
136
+ :value="selectDropdownOperate"
137
+ :operate-tabs="operateTabs"
138
+ :metaId="currentMetaId"
139
+ :defaultRuleList="ruleList"
140
+ :defaultActionList="actionList"
141
+ :treeFieldStore="treeFieldStore"
142
+ :useProcessRight="configs.useProcessRight"
143
+ :scopeConfigs="scopeConfigs"
144
+ @change="updateDropdownOperates"
145
+ ></operate-Item>
146
+ </div>
147
+ <template v-slot:footer><div class="button-group">
148
+ <el-button type="primary" @click="saveDropdownOperate">保存</el-button>
149
+ <el-button @click="showDropdownDialog=false">取消</el-button>
150
+ </div></template>
151
+ </epx-visual-config-lazy-dialog>
152
+ </div>
153
+ </div>
154
+ </template>
155
+
156
+ <script>
157
+ import draggable from '@epxing/core/src/components/draggable'
158
+ import OperateItem from './OperateItem'
159
+ export default {
160
+ name: 'epx-visual-config-operate',
161
+ components: {
162
+ draggable,
163
+ OperateItem
164
+ },
165
+ props: {
166
+ value: Array,
167
+ defaultValue: {
168
+ type: Array,
169
+ default () {
170
+ return []
171
+ }
172
+ },
173
+ configs: {
174
+ type: Object,
175
+ default () {
176
+ return {}
177
+ }
178
+ },
179
+ state: {
180
+ type: String,
181
+ defaultValue: 'ADD'
182
+ },
183
+ metaId: String,
184
+ compMetaId: String,
185
+ commonOperates: {
186
+ type: Array,
187
+ default () {
188
+ return []
189
+ }
190
+ },
191
+ handlerList: {
192
+ type: Array,
193
+ default () {
194
+ return []
195
+ }
196
+ },
197
+ actionList: {
198
+ type: Array,
199
+ default () {
200
+ return []
201
+ }
202
+ },
203
+ ruleList: {
204
+ type: Array,
205
+ default () {
206
+ return []
207
+ }
208
+ },
209
+ treeFieldStore: {
210
+ type: Array,
211
+ default () {
212
+ return []
213
+ }
214
+ },
215
+ scopeConfigs: {
216
+ type: Object,
217
+ default () {
218
+ return {}
219
+ }
220
+ },
221
+ operateConfigs: {
222
+ type: Array
223
+ },
224
+ operateOptions: {
225
+ type: [Object, Array],
226
+ default () {
227
+ return {}
228
+ }
229
+ },
230
+ pageGlobalConfigs: {
231
+ type: Object,
232
+ default () {
233
+ return {}
234
+ }
235
+ },
236
+ pageParams: {
237
+ type: Array,
238
+ default () {
239
+ return []
240
+ }
241
+ },
242
+ changeItemConfigs: {
243
+ type: Function,
244
+ default () {
245
+ return () => null
246
+ }
247
+ },
248
+ designer: {
249
+ type: Object,
250
+ required: true
251
+ }
252
+ },
253
+ data () {
254
+ return {
255
+ operateTabs: [],
256
+ operates: [],
257
+ settingOperates: [],
258
+ operateWay: 'default',
259
+ pageWay: 'component',
260
+ showDialog: false,
261
+ selectOperate: null,
262
+ dropdownTabs: [],
263
+ showDropdownDialog: false,
264
+ selectDropdownOperate: null,
265
+ settingDropdownOperates: []
266
+ }
267
+ },
268
+ computed: {
269
+ currentMetaId () {
270
+ return this.metaId || this.compMetaId
271
+ }
272
+ },
273
+ watch: {
274
+ defaultValue: {
275
+ handler () {
276
+ if (this.value) {
277
+ this.operateWay = 'custom'
278
+ this.operates = this.value
279
+ } else {
280
+ this.operateWay = 'default'
281
+ this.operates = [...this.defaultValue]
282
+ }
283
+ },
284
+ immediate: true
285
+ },
286
+ operates (v) {
287
+ if (this.operateWay === 'custom') {
288
+ if (v !== this.value) {
289
+ this.$emit('change-configs', v)
290
+ }
291
+ } else if (this.value != null) {
292
+ // 默认方式下仅在存在自定义值时才需要清除,避免默认值回显触发无意义写回
293
+ this.$emit('change-configs', null)
294
+ }
295
+ },
296
+ operateWay (v) {
297
+ if (this._skipOperateWayChange) {
298
+ this._skipOperateWayChange = false
299
+ return
300
+ }
301
+ if (v === 'custom') {
302
+ if (this.operates !== this.value) {
303
+ this.$emit('change-configs', this.operates)
304
+ }
305
+ } else if (this.value && this.value.length) {
306
+ // 已有自定义按钮时切回默认需确认,防止误触清空配置
307
+ this.$confirm('切换为默认操作后,已配置的自定义按钮将被清除,是否继续?', '提示', { type: 'warning' })
308
+ .then(() => {
309
+ this.$emit('change-configs', null)
310
+ })
311
+ .catch(() => {
312
+ this._skipOperateWayChange = true
313
+ this.operateWay = 'custom'
314
+ })
315
+ } else {
316
+ this.$emit('change-configs', null)
317
+ }
318
+ },
319
+ operateOptions () {
320
+ this.getOperateOptions()
321
+ }
322
+ },
323
+ methods: {
324
+ getOperateOptions () {
325
+ const defaultOperateOptions = {
326
+ text: { key: 'text', label: '按钮名称' },
327
+ ui: {
328
+ key: 'ui',
329
+ label: '按钮类型',
330
+ type: 'ui-select',
331
+ options: [
332
+ { label: '主要按钮', value: 'primary' },
333
+ { label: '成功按钮', value: 'success' },
334
+ { label: '信息按钮', value: 'info' },
335
+ { label: '警告按钮', value: 'warning' },
336
+ { label: '危险按钮', value: 'danger' },
337
+ { label: '文本按钮', value: 'text' },
338
+ { label: '默认按钮', value: 'default' }
339
+ ],
340
+ defaultValue: 'default'
341
+ },
342
+ styles: {
343
+ key: 'styles',
344
+ label: '按钮样式',
345
+ type: 'checkbox',
346
+ options: [
347
+ {
348
+ label: '空心按钮',
349
+ value: 'plain'
350
+ },
351
+ {
352
+ label: '圆角按钮',
353
+ value: 'round'
354
+ },
355
+ {
356
+ label: '圆形按钮',
357
+ value: 'circle'
358
+ }
359
+ ]
360
+ },
361
+ icon: { key: 'icon', label: '按钮图标', type: 'object', object: 'FM_FONT_ICON' },
362
+ showName: { key: 'showName', label: '显示按钮名称', type: 'switch', defaultValue: true },
363
+ preview: { key: 'preview', label: '预览', type: 'preview' },
364
+ beforeTrigger: {
365
+ key: 'beforeTrigger',
366
+ label: '事件触发前',
367
+ type: 'function'
368
+ },
369
+ handler: {
370
+ key: 'handler',
371
+ label: '处理事件',
372
+ type: 'select',
373
+ options: this.handlerList,
374
+ allowCreate: true
375
+ },
376
+ metaId: { key: 'metaId', label: '请求对象', type: 'entity' },
377
+ action: { key: 'action', label: '请求操作', type: 'action', options: this.actionList, desc: '请求操作可用于控制操作权限:按钮是否显示' },
378
+ rule: {
379
+ key: 'rule',
380
+ label: '业务规则',
381
+ type: 'rule',
382
+ options: this.ruleList,
383
+ showFlag: { handler: 'commonRuleAction' }
384
+ },
385
+ page: {
386
+ key: 'page',
387
+ label: '打开页面',
388
+ type: 'page',
389
+ showFlag: { handler: ['goPage', 'addEntity', 'editEntity', 'entityImport'] }
390
+ },
391
+ menuId: {
392
+ key: 'menuId',
393
+ label: '打开菜单',
394
+ type: 'object',
395
+ object: 'FM_MODULE',
396
+ flag: 'config_menu',
397
+ objectWay: 'option',
398
+ isTree: '1',
399
+ showFlag: { handler: ['goPage', 'addEntity', 'editEntity'] }
400
+ },
401
+ moveType: {
402
+ key: 'moveType',
403
+ label: '移动类型',
404
+ type: 'radio',
405
+ options: [{ label: '上移', value: 'pre' }, { label: '下移', value: 'next' }, { label: '最前', value: 'first' }, { label: '最后', value: 'last' }, { label: '上一层', value: 'upper' }],
406
+ defaultValue: 'pre',
407
+ showFlag: { handler: ['operateTree'] }
408
+ },
409
+ openMode: {
410
+ key: 'openMode',
411
+ label: '页面打开方式',
412
+ type: 'radio',
413
+ options: [{ label: '直接打开', value: '3' }, { label: '标签页', value: '1' }, { label: '弹窗', value: '2' }],
414
+ defaultValue: '3',
415
+ showFlag: { handler: ['goPage', 'addEntity', 'editEntity', 'print'] }
416
+ },
417
+ serviceId: {
418
+ key: 'serviceId',
419
+ label: '指定应用',
420
+ type: 'object',
421
+ object: 'FM_SERVICE',
422
+ scopeParams: [{ field: 'CLIENT', values: this.CLIENT }],
423
+ showFlag: { handler: ['goApp'] }
424
+ },
425
+ webLinkUrl: {
426
+ key: 'webLinkUrl',
427
+ label: '指定链接',
428
+ type: 'input',
429
+ showFlag: { handler: 'goWebLink' }
430
+ },
431
+ pageType: {
432
+ key: 'pageType',
433
+ label: '页面状态',
434
+ type: 'radio',
435
+ options: [{ label: '新增', value: 'ADD' }, { label: '编辑', value: 'EDIT' }, { label: '详情', value: 'DETAIL' }, { label: '只读', value: 'READONLY' }],
436
+ showFlag: { handler: ['goPage', 'addEntity', 'editEntity'] }
437
+ },
438
+ printWay: {
439
+ key: 'printWay',
440
+ label: '打印方式',
441
+ type: 'radio',
442
+ options: [{ label: '自定义报表打印', value: 'custom' }, { label: '帆软报表打印', value: 'fine' }],
443
+ defaultValue: 'custom',
444
+ showFlag: { handler: 'print' }
445
+ },
446
+ printCode: {
447
+ key: 'printCode',
448
+ label: '打印模板',
449
+ type: 'object',
450
+ object: 'FM_FORM',
451
+ dataKey: 'CODE',
452
+ showFlag: { handler: ['print', 'downloadReport'], printWay: 'custom' }
453
+ },
454
+ cptName: {
455
+ key: 'cptName',
456
+ label: '打印模板',
457
+ type: 'object',
458
+ object: 'FM_REPORT_TEMPLATE',
459
+ dataKey: 'CODE',
460
+ showFlag: { handler: 'print', printWay: 'fine' }
461
+ },
462
+ printOperates: {
463
+ key: 'printOperates',
464
+ label: '按钮显示',
465
+ type: 'checkbox',
466
+ options: [{ label: '下载pdf', value: 'downloadPdf' }, { label: '下载word', value: 'downloadWord' }, { label: '下载excel', value: 'downloadExcel' }, { label: '打印', value: 'print' }],
467
+ defaultValue: 'downloadPdf,downloadWord,downloadExcel,print',
468
+ showFlag: { handler: 'print', printWay: 'custom' }
469
+ },
470
+ showDownloadReportDialog: {
471
+ key: 'showDownloadReportDialog',
472
+ label: '下载报表弹窗',
473
+ type: 'radio',
474
+ options: [{ label: '显示', value: true }, { label: '不显示', value: false }],
475
+ defaultValue: true,
476
+ showFlag: { handler: 'downloadReport' }
477
+ },
478
+ showDownloadReportFormat: {
479
+ key: 'showDownloadReportFormat',
480
+ label: '显示文件格式',
481
+ type: 'radio',
482
+ options: [{ label: '显示', value: true }, { label: '不显示', value: false }],
483
+ defaultValue: true,
484
+ showFlag: { handler: 'downloadReport', showDownloadReportDialog: [true, null] }
485
+ },
486
+ downloadReportFormat: {
487
+ key: 'downloadReportFormat',
488
+ label: '文件格式',
489
+ type: 'radio',
490
+ options: [{ label: 'pdf', value: 'pdf' }, { label: 'excel', value: 'excel' }, { label: 'word', value: 'word' }],
491
+ defaultValue: 'pdf',
492
+ showFlag: { handler: 'downloadReport' }
493
+ },
494
+ downloadReportWay: {
495
+ key: 'downloadReportWay',
496
+ label: '下载报表方式',
497
+ type: 'radio',
498
+ options: [{ label: '单个文件', value: 'single' }, { label: '多个文件', value: 'multiple' }],
499
+ defaultValue: 'single',
500
+ showFlag: { handler: 'downloadReport' }
501
+ },
502
+ downloadReportNameFields: {
503
+ key: 'downloadReportNameFields',
504
+ label: '文件命名字段',
505
+ type: 'field',
506
+ showFlag: { handler: 'downloadReport' }
507
+ },
508
+ downloadReportNameSplit: {
509
+ key: 'downloadReportNameSplit',
510
+ label: '文件命名分隔符',
511
+ type: 'select',
512
+ allowCreate: true,
513
+ placeholder: '请选择或输入分隔符',
514
+ options: [{ label: '_', value: '_' }, { label: '-', value: '-' }],
515
+ // eslint-disable-next-line no-useless-escape
516
+ tip: '文件分隔符不能包含\ / : * ? " < > |',
517
+ showFlag: { handler: 'downloadReport' }
518
+ },
519
+ destActivityId: {
520
+ key: 'destActivityId',
521
+ label: '审核流程',
522
+ type: 'process',
523
+ processType: 'check',
524
+ showFlag: { handler: ['checkEntity', 'check'] }
525
+ },
526
+ processNode: {
527
+ key: 'processNode',
528
+ label: '流程',
529
+ type: 'process',
530
+ showFlag: { handler: 'applyEntity' }
531
+ },
532
+ auditorOptional: {
533
+ key: 'auditorOptional',
534
+ label: '审核人自选',
535
+ type: 'radio',
536
+ options: [{ label: '是', value: true }, { label: '否', value: false }],
537
+ defaultValue: false,
538
+ showFlag: { handler: ['checkEntity', 'check', 'applyEntity'] }
539
+ },
540
+ openOpinion: {
541
+ key: 'openOpinion',
542
+ label: '审核意见弹窗',
543
+ type: 'radio',
544
+ options: [{ label: '显示', value: true }, { label: '不显示', value: false }],
545
+ defaultValue: true,
546
+ showFlag: { handler: ['checkEntity', 'check'] }
547
+ },
548
+ showCheckFields: {
549
+ key: 'showCheckFields',
550
+ label: '显示字段',
551
+ type: 'checkbox',
552
+ options: [{ label: '审核操作', value: 'operate' }, { label: '审核意见', value: 'opinion' }, { label: '审核签名', value: 'sign' }],
553
+ defaultValue: ['operate', 'opinion', 'sign'],
554
+ showFlag: { handler: ['checkEntity', 'check'] }
555
+ },
556
+ checkRequireFields: {
557
+ key: 'checkRequireFields',
558
+ label: '必填字段',
559
+ type: 'checkbox',
560
+ options: [{ label: '审核意见', value: 'opinion' }, { label: '审核签名', value: 'sign' }],
561
+ showFlag: { handler: ['checkEntity', 'check'] }
562
+ },
563
+ showCheckOperate: {
564
+ key: 'showCheckOperate',
565
+ label: '审核操作',
566
+ type: 'radio',
567
+ options: [{ label: '显示', value: true }, { label: '不显示', value: false }],
568
+ defaultValue: true,
569
+ showFlag: { handler: ['checkEntity', 'check'] }
570
+ },
571
+ checkOpinion: {
572
+ key: 'checkOpinion',
573
+ label: '审核意见',
574
+ type: 'radio',
575
+ options: [{ label: '显示', value: true }, { label: '不显示', value: false }],
576
+ defaultValue: true,
577
+ showFlag: { handler: ['checkEntity', 'check'] }
578
+ },
579
+ checkOpinionLabel: {
580
+ key: 'checkOpinionLabel',
581
+ label: '审核意见名称',
582
+ type: 'text',
583
+ showFlag: { handler: ['checkEntity', 'check'], showCheckFields: ['opinion', null] }
584
+ },
585
+ checkOpinionValue: {
586
+ key: 'checkOpinionValue',
587
+ label: '审核意见默认值',
588
+ type: 'text',
589
+ showFlag: { handler: ['checkEntity', 'check'], showCheckFields: ['opinion', null] }
590
+ },
591
+ checkSign: {
592
+ key: 'checkSign',
593
+ label: '审核签名',
594
+ type: 'radio',
595
+ options: [{ label: '显示', value: true }, { label: '不显示', value: false }],
596
+ defaultValue: true,
597
+ showFlag: { handler: ['checkEntity', 'check'] }
598
+ },
599
+ reload: {
600
+ key: 'reload',
601
+ label: '是否刷新页面',
602
+ type: 'radio',
603
+ options: [{ label: '是', value: true }, { label: '否', value: false }],
604
+ showFlag: { handler: 'backPage' },
605
+ defaultValue: false
606
+ },
607
+ function: {
608
+ key: 'function',
609
+ label: '事件名称',
610
+ type: 'function',
611
+ showFlag: { handler: 'customJs' }
612
+ },
613
+ afterTrigger: {
614
+ key: 'afterTrigger',
615
+ label: '事件触发后',
616
+ type: 'select',
617
+ options: [
618
+ { label: '返回', value: 'backPage' },
619
+ { label: '返回并刷新', value: 'backRefeshPage' },
620
+ { label: '打开指定页面', value: 'goPage' },
621
+ { label: '刷新组件', value: '$refesh' },
622
+ { label: '刷新页面', value: '$refeshPage' },
623
+ { label: '重新加载页面', value: 'reloadPage' }
624
+ ],
625
+ showFlag: { handler: ['commonRuleAction', 'commonAction', 'downloadFile', 'applyEntity', 'checkEntity', 'batchCheck', 'check'] }
626
+ },
627
+ backPageDelta: {
628
+ key: 'backPageDelta',
629
+ label: '返回页面数',
630
+ type: 'num',
631
+ defaultValue: 1,
632
+ showFlag: { handler: ['commonRuleAction', 'commonAction', 'downloadFile', 'applyEntity', 'checkEntity', 'batchCheck', 'check'], afterTrigger: ['backPage', 'backRefeshPage'] }
633
+ },
634
+ afterTriggerPage: {
635
+ key: 'afterTriggerPage',
636
+ label: '打开页面',
637
+ type: 'object',
638
+ object: 'FM_PAGE_CONFIG',
639
+ scopeParams: [{ field: 'SYSTEM', values: this.SYSTEM }],
640
+ showFlag: { handler: ['commonRuleAction', 'commonAction', 'downloadFile', 'applyEntity', 'checkEntity', 'batchCheck', 'check'], afterTrigger: 'goPage' }
641
+ },
642
+ afterTriggerPageOpenMode: {
643
+ key: 'afterTriggerPageOpenMode',
644
+ label: '页面打开方式',
645
+ type: 'radio',
646
+ options: [{ label: '直接打开', value: '3' }, { label: '标签页', value: '1' }, { label: '弹窗', value: '2' }],
647
+ defaultValue: '3',
648
+ showFlag: { handler: ['commonRuleAction', 'commonAction', 'downloadFile', 'applyEntity', 'checkEntity', 'batchCheck', 'check'], afterTrigger: 'goPage' }
649
+ },
650
+ afterTriggerParams: {
651
+ key: 'afterTriggerParams',
652
+ label: '页面参数传递',
653
+ type: 'params',
654
+ showFlag: { handler: ['commonRuleAction', 'commonAction', 'downloadFile', 'applyEntity', 'checkEntity', 'batchCheck', 'check'], afterTrigger: 'goPage' }
655
+ },
656
+ num: { key: 'num', label: '控制选择数量', type: 'radio', options: [{ label: '不需要', value: '0' }, { label: '选择1个', value: '1' }, { label: '选择多个', value: 'n' }], defaultValue: '0' },
657
+ limitFlag: { key: 'limitFlag', label: '操作限制', type: 'radio', options: [{ label: '需要', value: true }, { label: '不需要', value: false }], defaultValue: true },
658
+ limitCondition: {
659
+ key: 'limitCondition',
660
+ label: '操作限制条件',
661
+ type: 'scope',
662
+ showOperate: false,
663
+ modeType: ['FIXED_VALUE', 'DYNAMIC_VALUE', 'DEFINED'],
664
+ extendFields: [{
665
+ code: 'user',
666
+ text: '用户信息',
667
+ type: 'meta',
668
+ children: [
669
+ { code: 'user.account', text: '用户账户', type: 'field', field: 'user.account', dataType: 'text' },
670
+ { code: 'user.roleCode', text: '用户角色编号', type: 'field', field: 'user.roleCode', dataType: 'text' }
671
+ ]
672
+ }],
673
+ showFlag: { limitFlag: [true, null] }
674
+ },
675
+ limitTip: { key: 'limitTip', label: '操作限制提示', defaultValue: '对不起,不能执行该操作!', showFlag: { limitFlag: [true, null] } },
676
+ showConditionType: { key: 'showConditionType', label: '显示条件类型', type: 'radio', options: [{ label: '高级筛选', value: 'scope' }, { label: '公式编辑器', value: 'el' }], defaultValue: 'scope' },
677
+ showCondition: {
678
+ key: 'showCondition',
679
+ label: '显示条件',
680
+ type: 'scope',
681
+ showOperate: false,
682
+ modeType: ['FIXED_VALUE', 'DYNAMIC_VALUE', 'DEFINED'],
683
+ // 显示条件在前端用 runExpByScope 解析,系统变量改用前端可解析的 $[xxx] 形式
684
+ frontendSysVar: true,
685
+ extendFields: [{
686
+ code: 'user',
687
+ text: '用户信息',
688
+ type: 'meta',
689
+ children: [
690
+ { code: 'user.account', text: '用户账户', type: 'field', field: 'user.account', dataType: 'text' },
691
+ { code: 'user.roleCode', text: '用户角色编号', type: 'field', field: 'user.roleCode', dataType: 'text' }
692
+ ]
693
+ }],
694
+ showFlag: { showConditionType: ['scope', null] }
695
+ },
696
+ showConditionEl: { key: 'showConditionEl', label: '显示条件(表达式)', type: 'el', showFlag: { showConditionType: 'el' } },
697
+ confirm: { key: 'confirm', label: '二次确认', type: 'radio', options: [{ label: '需要', value: true }, { label: '不需要', value: false }], defaultValue: false },
698
+ confirmMsg: { key: 'confirmMsg', label: '操作确认信息', showFlag: { confirm: true } },
699
+ confirmButtonText: { key: 'confirmButtonText', label: '确认按钮文字', defaultValue: this.$t('confirm'), showFlag: { confirm: true } },
700
+ cancelButtonText: { key: 'cancelButtonText', label: '取消按钮文字', defaultValue: this.$t('cancel'), showFlag: { confirm: true } },
701
+ successMsg: { key: 'successMsg', label: '操作成功提示', defaultValue: '处理成功' },
702
+ failMsg: { key: 'failMsg', label: '操作失败提示', defaultValue: '处理失败' },
703
+ actionOptionMsg: { key: 'actionOptionMsg', label: '禁止操作提示' },
704
+ mask: { key: 'mask', label: 'loading遮罩', type: 'radio', options: [{ label: '显示', value: true }, { label: '不显示', value: false }] },
705
+ params: { key: 'params', label: '参数传递', type: 'params' },
706
+ terminal: { key: 'terminal', label: '适用终端', type: 'radio', options: [{ label: '全部', value: 'all' }, { label: 'PC端', value: 'pc' }, { label: '移动端', value: 'mobile' }], defaultValue: 'all' }
707
+ }
708
+ const operateOptions = { ...defaultOperateOptions, ...this.operateOptions }
709
+ let operateConfigs = this.operateConfigs
710
+ if (!operateConfigs) {
711
+ operateConfigs = [
712
+ {
713
+ key: 'base',
714
+ title: '基本',
715
+ options: ['text', 'ui', 'styles', 'icon', 'showName', 'preview']
716
+ },
717
+ {
718
+ key: 'event',
719
+ title: '事件',
720
+ options: ['handler', 'metaId', 'action', 'rule', 'moveType', 'openMode', 'page', 'pageType', 'menuId', 'serviceId', 'webLinkUrl', 'printWay', 'printCode', 'cptName', 'destActivityId', 'processNode', 'function', 'params', 'beforeTrigger', 'afterTrigger', 'afterTriggerPage', 'afterTriggerPageOpenMode', 'afterTriggerParams']
721
+ },
722
+ {
723
+ key: 'advance',
724
+ title: '高级',
725
+ options: ['terminal', 'num', 'limitFlag', 'limitCondition', 'limitTip', 'showCondition', 'confirm', 'confirmMsg', 'confirmButtonText', 'cancelButtonText', 'successMsg', 'failMsg', 'mask']
726
+ }
727
+ ]
728
+ }
729
+ this.operateTabs = operateConfigs.map(item => {
730
+ return {
731
+ ...item,
732
+ options: item.options.map(option => operateOptions[option])
733
+ }
734
+ })
735
+ const dropdownOptions = ['text', 'ui', 'styles', 'icon', 'showName', 'preview'].map(option => operateOptions[option])
736
+ const dropdownAnvanceOptions = ['terminal', 'limitFlag', 'limitCondition', 'limitTip', 'showConditionType', 'showCondition', 'showConditionEl'].map(option => operateOptions[option])
737
+ this.dropdownTabs = [
738
+ {
739
+ key: 'base',
740
+ title: '基本',
741
+ options: [...dropdownOptions, { key: 'operates', label: '按钮', type: 'operate' }]
742
+ },
743
+ {
744
+ key: 'advance',
745
+ title: '高级',
746
+ options: dropdownAnvanceOptions
747
+ }
748
+ ]
749
+ },
750
+
751
+ openDialog () {
752
+ this.settingOperates = this.$_.cloneDeep(this.operates)
753
+ this.showDialog = true
754
+ this.selectOperate = null
755
+ },
756
+ openDropdownDialog () {
757
+ this.showDropdownDialog = true
758
+ this.selectDropdown = null
759
+ this.settingDropdownOperates = this.selectOperate.operates ? this.$_.cloneDeep(this.selectOperate.operates) : []
760
+ },
761
+ addOperate (operate) {
762
+ const key = 'operate_' + this.$util.genId()
763
+ const item = { ...(operate || { text: '自定义按钮' }), key }
764
+ this.settingOperates.push(item)
765
+ this.selectOperateFn(item)
766
+ },
767
+ addFoldOperate (operate) {
768
+ const key = 'operate_' + this.$util.genId()
769
+ const item = { ...(operate || { text: '折叠按钮', operateType: 'dropdown' }), key }
770
+ this.settingOperates.push(item)
771
+ this.selectOperateFn(item)
772
+ },
773
+ addDropdownOperate (operate) {
774
+ if (this.selectOperate) {
775
+ const key = 'operate_' + this.$util.genId()
776
+ const dropdownOperate = { ...(operate || { text: '自定义按钮' }), key }
777
+ this.settingDropdownOperates.push(dropdownOperate)
778
+ this.selectOperateFn(dropdownOperate, 'dropdown')
779
+ }
780
+ },
781
+ copyOperate (operate) {
782
+ const key = 'operate_' + this.$util.genId()
783
+ // id 也要重新生成,否则复制出的按钮与原按钮共用同一 id(运行时按 id 标识按钮),会互相影响
784
+ const newBtn = { ...this.$_.cloneDeep(operate), key, id: key, text: `${operate.text}-复制-按钮${this.settingOperates.length + 1}` }
785
+ this.settingOperates.push(newBtn)
786
+ },
787
+ deleteOperate (operate, index) {
788
+ if (this.selectOperate && operate.key === this.selectOperate.key) this.selectOperate = null
789
+ this.settingOperates.splice(index, 1)
790
+ },
791
+ copyDropdown (operate) {
792
+ if (this.selectDropdownOperate && operate.key === this.selectDropdownOperate.key) this.selectDropdownOperate = null
793
+ const key = 'operate_' + this.$util.genId()
794
+ // id 也要重新生成,否则复制出的按钮与原按钮共用同一 id(运行时按 id 标识按钮),会互相影响
795
+ const newBtn = { ...this.$_.cloneDeep(operate), key, id: key, text: `${operate.text}-复制-按钮${this.settingDropdownOperates.length + 1}` }
796
+ this.settingDropdownOperates.push(newBtn)
797
+ },
798
+ deleteDropdown (operate, index) {
799
+ if (this.selectDropdownOperate && operate.key === this.selectDropdownOperate.key) this.selectDropdownOperate = null
800
+ this.settingDropdownOperates.splice(index, 1)
801
+ },
802
+ async selectOperateFn (operate = {}, type) {
803
+ if (!operate.key) operate.key = 'operate_' + this.$util.genId()
804
+ const selectOperate = { ...operate }
805
+ if (type === 'dropdown') {
806
+ this.selectDropdownOperate = selectOperate
807
+ } else {
808
+ this.selectOperate = null
809
+ this.$nextTick(() => {
810
+ this.selectOperate = selectOperate
811
+ })
812
+ }
813
+ },
814
+ async updateOperate (v) {
815
+ const operates = this.settingOperates
816
+ const selectOperate = { ...v }
817
+ const index = operates.findIndex(item => item.key === selectOperate.key)
818
+ this.$emit('change-operate', v)
819
+ if (index !== -1) {
820
+ const operate = { ...selectOperate }
821
+ this.settingOperates.splice(index, 1, operate)
822
+ }
823
+ },
824
+ saveOperateSetting () {
825
+ setTimeout(() => {
826
+ this.operates = [...this.settingOperates]
827
+ this.$message.success('保存成功')
828
+ this.showDialog = false
829
+ }, 400)
830
+ },
831
+ async updateDropdownOperates (v) {
832
+ const selectOperate = { ...v }
833
+ const index = this.settingDropdownOperates.findIndex(item => item.key === selectOperate.key)
834
+ if (index !== -1) {
835
+ const operate = { ...this.settingDropdownOperates[index], ...selectOperate }
836
+ this.settingDropdownOperates.splice(index, 1, operate)
837
+ }
838
+ },
839
+ saveDropdownOperate () {
840
+ this.selectOperate.operates = [...this.settingDropdownOperates]
841
+ this.showDropdownDialog = false
842
+ this.selectDropdownOperate = null
843
+ this.selectOperateFn(this.selectOperate)
844
+ }
845
+ },
846
+ created () {
847
+ // 如果按钮有值,默认为自定义设置
848
+ this.getOperateOptions()
849
+ }
850
+ }
851
+ </script>
852
+
853
+ <style lang="scss" scoped>
854
+ .operate-config {
855
+
856
+ :deep(.el-dialog__body) {
857
+ padding: 0;
858
+ }
859
+
860
+ }
861
+ .operate-config__options {
862
+ width: 100%;
863
+ height: 100%;
864
+ }
865
+
866
+ .list-group-operates {
867
+ display: inline;
868
+
869
+ :deep(.el-button) {
870
+ margin-bottom: 10px;
871
+ }
872
+
873
+ }
874
+ .common-operate-item {
875
+ cursor: pointer;
876
+ line-height: 32px;
877
+ &:hover {
878
+ @include font_color_primary()
879
+ }
880
+ }
881
+
882
+ .setting-fields-container {
883
+ display: flex;
884
+ height: 60vh;
885
+ }
886
+ .setting-fields__select {
887
+ width: 210px;
888
+ height: 100%;
889
+ padding-top: 20px;
890
+ box-sizing: border-box;
891
+ border-right: 1px solid #e3e3e3;
892
+ overflow: auto;
893
+ .list-group {
894
+ width: 100%;
895
+ }
896
+ }
897
+ .setting-fields__select--item {
898
+ width: 100%;
899
+ padding: 8px 24px;
900
+ box-sizing: border-box;
901
+ cursor: pointer;
902
+ display: flex;
903
+ align-items: center;
904
+ justify-content: space-between;
905
+ i {
906
+ line-height: 1;
907
+ font-size: var(--epx-font-size-base);
908
+ }
909
+
910
+ :deep(.el-button) {
911
+ max-width: calc(100% - 20px);
912
+ overflow: hidden;
913
+ text-overflow: ellipsis;
914
+ }
915
+
916
+ .el-icon-document,.el-icon-copy-document {
917
+ @include font-color-primary();
918
+ margin-right: 8px;
919
+ }
920
+ .button-icon-container{
921
+ display: none;
922
+ margin-left: 8px;
923
+ }
924
+ .el-icon-delete {
925
+ display: none;
926
+ color: red;
927
+ }
928
+ &:hover, &.active {
929
+ .button-icon-container{
930
+ display: inline-block;
931
+ width: 40px;
932
+ }
933
+ .el-icon-delete,.el-icon-copy-document {
934
+ display: inline;
935
+ }
936
+ @include font-color-primary();
937
+ @include bg-color-primary(.2)
938
+ }
939
+ }
940
+ .setting-fields__select--add {
941
+
942
+ &.el-button {
943
+ margin-left: 24px;
944
+ }
945
+
946
+ }
947
+
948
+ .setting-field__item {
949
+ display: flex;
950
+
951
+ :deep(.el-color-picker__trigger) {
952
+ width: 120px;
953
+ }
954
+
955
+ }
956
+ .setting-field__item--default {
957
+ white-space: nowrap;
958
+ }
959
+
960
+ .button-group {
961
+ height: 60px;
962
+ border-top: 1px solid #e3e3e3;
963
+ display: flex;
964
+ align-items: center;
965
+ justify-content: center;
966
+ }
967
+ .operate-color {
968
+ width: 32px;
969
+ height: 32px;
970
+ border-radius: 50%;
971
+ line-height: 36px;
972
+ box-sizing: border-box;
973
+ text-align: center;
974
+ .check-icon {
975
+ display: none;
976
+ }
977
+ &.default {
978
+ border: 1px solid #e3e3e3;
979
+ }
980
+ &.primary {
981
+ @include bg_color_primary;
982
+ }
983
+ &.success {
984
+ background: #67c23a;
985
+ }
986
+ &.warning {
987
+ background: #e6a23c;
988
+ }
989
+ &.danger {
990
+ background: #f56c6c;
991
+ }
992
+ &.active {
993
+ .check-icon {
994
+ display: inline;
995
+ color: #fff;
996
+ font-size: 18px;
997
+ text-align: center
998
+ }
999
+ }
1000
+ &.active.default {
1001
+ .check-icon {
1002
+ @include font_color_primary;
1003
+ }
1004
+ }
1005
+ }
1006
+ .handler-item {
1007
+ padding-left: 40px;
1008
+ position: relative;
1009
+ &:last-child {
1010
+ .handler-item__dot {
1011
+ top: 15px;
1012
+ left: 20px;
1013
+ width: 10px;
1014
+ height: 10px;
1015
+ border-radius: 50%;
1016
+ background: #888888;
1017
+ &::after {
1018
+ display: none;
1019
+ }
1020
+ }
1021
+ }
1022
+ }
1023
+ .event-delete {
1024
+ position: absolute;
1025
+ left: 400px;
1026
+ top: 0;
1027
+ line-height: 30px;
1028
+ z-index: 1;
1029
+ }
1030
+ .handler-item__dot {
1031
+ position: absolute;
1032
+ top: 20px;
1033
+ left: 15px;
1034
+ width: 20px;
1035
+ height: 20px;
1036
+ border-radius: 50%;
1037
+ @include bg_color_primary(.4);
1038
+ text-align: center;
1039
+ line-height: 20px;
1040
+ flex-direction: column;
1041
+ &::after {
1042
+ content: '';
1043
+ display: inline-block;
1044
+ width: 10px;
1045
+ height: 10px;
1046
+ border-radius: 50%;
1047
+ @include bg_color_primary;
1048
+ }
1049
+
1050
+ }
1051
+ .handler-item__line {
1052
+ display: block;
1053
+ position: absolute;
1054
+ top: 40px;
1055
+ left: 24px;
1056
+ width: 2px;
1057
+ height: calc(100% - 20px);
1058
+ background: #DCDFE6;
1059
+ }
1060
+ .handler-function {
1061
+ margin-top: 10px;
1062
+
1063
+ :deep(.el-input) {
1064
+ margin-right: 10px;
1065
+ }
1066
+
1067
+ }
1068
+ .operate-config-item__tip {
1069
+ margin-left: 10px;
1070
+ cursor: pointer;
1071
+ }
1072
+
1073
+ </style>
1074
+ <style lang="scss">
1075
+ .setting-operate-dialog {
1076
+ .el-dialog__body {
1077
+ padding-bottom: 0;
1078
+ }
1079
+ .el-dialog__footer {
1080
+ padding: 0;
1081
+ }
1082
+ }
1083
+ </style>