sohelp-eleplus 1.1.1-8.beta.1

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 (298) hide show
  1. package/README.md +35 -0
  2. package/cache/DictCache.js +58 -0
  3. package/cache/ModuleCache.js +322 -0
  4. package/components.js +46 -0
  5. package/core-export.js +4 -0
  6. package/http/CrudHttp.js +115 -0
  7. package/http/DictHttp.js +12 -0
  8. package/http/ModuleHttp.js +68 -0
  9. package/http/SohelpHttp.js +125 -0
  10. package/index.js +6 -0
  11. package/installer.js +8 -0
  12. package/lang/en_US.js +4 -0
  13. package/lang/zh_CN.js +4 -0
  14. package/lang/zh_TW.js +4 -0
  15. package/package.json +9 -0
  16. package/sohelp-ace-editor/index.vue +198 -0
  17. package/sohelp-application-select/index.vue +15 -0
  18. package/sohelp-autocode/index.vue +53 -0
  19. package/sohelp-calendar-view/index.vue +11 -0
  20. package/sohelp-card-view/index.vue +11 -0
  21. package/sohelp-condition/index.vue +210 -0
  22. package/sohelp-cry-input/index.vue +64 -0
  23. package/sohelp-date/index.vue +27 -0
  24. package/sohelp-datetime/index.vue +44 -0
  25. package/sohelp-datetime-picker/index.vue +86 -0
  26. package/sohelp-datetime-range/index.vue +59 -0
  27. package/sohelp-dict/index.vue +206 -0
  28. package/sohelp-dict/props.js +68 -0
  29. package/sohelp-drawer/index.vue +50 -0
  30. package/sohelp-drop-card/index.vue +94 -0
  31. package/sohelp-drop-card/props.js +68 -0
  32. package/sohelp-dyn-select/index.vue +99 -0
  33. package/sohelp-dyn-select/props.js +67 -0
  34. package/sohelp-dyn-tree/index.vue +82 -0
  35. package/sohelp-dyn-tree-select/index.vue +114 -0
  36. package/sohelp-entity-form/index.vue +524 -0
  37. package/sohelp-entity-grid/index.vue +30 -0
  38. package/sohelp-file-upload/index.vue +218 -0
  39. package/sohelp-filter-scheme/components/condition.vue +102 -0
  40. package/sohelp-filter-scheme/components/filter.vue +45 -0
  41. package/sohelp-filter-scheme/components/keywords.vue +15 -0
  42. package/sohelp-filter-scheme/components/scheme.vue +49 -0
  43. package/sohelp-filter-scheme/index.vue +113 -0
  44. package/sohelp-grid/SohelpGridConfig.js~ +408 -0
  45. package/sohelp-grid/components/filter-condition-item.vue +298 -0
  46. package/sohelp-grid/index.vue +1965 -0
  47. package/sohelp-grid/js/ConditionType.js +101 -0
  48. package/sohelp-grid/js/DefaultGridOptions.js +145 -0
  49. package/sohelp-grid/js/DefaultProps.js +27 -0
  50. package/sohelp-grid/js/SohelpConfigFunction.js +0 -0
  51. package/sohelp-grid/js/SohelpGridConfig.js +101 -0
  52. package/sohelp-grid/js/useSohelpGridConfig.js +525 -0
  53. package/sohelp-grid-select/index.vue +245 -0
  54. package/sohelp-grid-view/filter/config/grid-filter-condition.vue +221 -0
  55. package/sohelp-grid-view/filter/config/grid-filter-config.vue +27 -0
  56. package/sohelp-grid-view/filter/config/grid-filter-field.vue +378 -0
  57. package/sohelp-grid-view/filter/config/grid-filter-keywords.vue +310 -0
  58. package/sohelp-grid-view/filter/config/grid-filter-list.vue +313 -0
  59. package/sohelp-grid-view/filter/config/grid-filter-scheme.vue +264 -0
  60. package/sohelp-grid-view/filter/config/grid-filter-sort.vue +310 -0
  61. package/sohelp-grid-view/filter/config/index.vue +206 -0
  62. package/sohelp-grid-view/filter/filter-form.vue +446 -0
  63. package/sohelp-grid-view/filter/filter-toolbar.vue +110 -0
  64. package/sohelp-grid-view/filter/index.vue +160 -0
  65. package/sohelp-grid-view/index.vue +379 -0
  66. package/sohelp-grid-view-select/index.vue +141 -0
  67. package/sohelp-group-view/index.vue +11 -0
  68. package/sohelp-icon-select/icons/AnalysisOutlined.vue +22 -0
  69. package/sohelp-icon-select/icons/ApplicationOutlined.vue +21 -0
  70. package/sohelp-icon-select/icons/AppstoreAddOutlined.vue +28 -0
  71. package/sohelp-icon-select/icons/AppstoreOutlined.vue +30 -0
  72. package/sohelp-icon-select/icons/ArrowDown.vue +21 -0
  73. package/sohelp-icon-select/icons/ArrowDownOutlined.vue +20 -0
  74. package/sohelp-icon-select/icons/ArrowLeft.vue +21 -0
  75. package/sohelp-icon-select/icons/ArrowLeftOutlined.vue +20 -0
  76. package/sohelp-icon-select/icons/ArrowRight.vue +21 -0
  77. package/sohelp-icon-select/icons/ArrowRightOutlined.vue +20 -0
  78. package/sohelp-icon-select/icons/ArrowUp.vue +21 -0
  79. package/sohelp-icon-select/icons/ArrowUpOutlined.vue +20 -0
  80. package/sohelp-icon-select/icons/BellOutlined.vue +21 -0
  81. package/sohelp-icon-select/icons/BookOutlined.vue +21 -0
  82. package/sohelp-icon-select/icons/CalendarOutlined.vue +19 -0
  83. package/sohelp-icon-select/icons/CaretDownFilled.vue +13 -0
  84. package/sohelp-icon-select/icons/CaretUpFilled.vue +13 -0
  85. package/sohelp-icon-select/icons/CheckCircleFilled.vue +15 -0
  86. package/sohelp-icon-select/icons/CheckCircleOutlined.vue +23 -0
  87. package/sohelp-icon-select/icons/CheckOutlined.vue +20 -0
  88. package/sohelp-icon-select/icons/CityOutlined.vue +22 -0
  89. package/sohelp-icon-select/icons/ClockCircleOutlined.vue +23 -0
  90. package/sohelp-icon-select/icons/CloseCircleFilled.vue +15 -0
  91. package/sohelp-icon-select/icons/CloseCircleOutlined.vue +22 -0
  92. package/sohelp-icon-select/icons/CloseOutlined.vue +20 -0
  93. package/sohelp-icon-select/icons/CloudUploadOutlined.vue +23 -0
  94. package/sohelp-icon-select/icons/ClusterOutlined.vue +21 -0
  95. package/sohelp-icon-select/icons/CodeOutlined.vue +22 -0
  96. package/sohelp-icon-select/icons/ColumnHeightOutlined.vue +18 -0
  97. package/sohelp-icon-select/icons/CompassOutlined.vue +22 -0
  98. package/sohelp-icon-select/icons/CompressOutlined.vue +23 -0
  99. package/sohelp-icon-select/icons/ConnectionOutlined.vue +24 -0
  100. package/sohelp-icon-select/icons/ControlOutlined.vue +27 -0
  101. package/sohelp-icon-select/icons/CopyOutlined.vue +22 -0
  102. package/sohelp-icon-select/icons/CpuOutlined.vue +22 -0
  103. package/sohelp-icon-select/icons/DashboardOutlined.vue +26 -0
  104. package/sohelp-icon-select/icons/DatabaseOutlined.vue +22 -0
  105. package/sohelp-icon-select/icons/DeleteOutlined.vue +22 -0
  106. package/sohelp-icon-select/icons/DesktopOutlined.vue +19 -0
  107. package/sohelp-icon-select/icons/DownloadOutlined.vue +21 -0
  108. package/sohelp-icon-select/icons/DragOutlined.vue +22 -0
  109. package/sohelp-icon-select/icons/EditOutlined.vue +21 -0
  110. package/sohelp-icon-select/icons/EllipsisOutlined.vue +15 -0
  111. package/sohelp-icon-select/icons/EnvironmentOutlined.vue +22 -0
  112. package/sohelp-icon-select/icons/ExclamationCircleFilled.vue +15 -0
  113. package/sohelp-icon-select/icons/ExpandOutlined.vue +23 -0
  114. package/sohelp-icon-select/icons/FileOutlined.vue +22 -0
  115. package/sohelp-icon-select/icons/FilterFilled.vue +15 -0
  116. package/sohelp-icon-select/icons/FolderAddOutlined.vue +20 -0
  117. package/sohelp-icon-select/icons/FolderOutlined.vue +19 -0
  118. package/sohelp-icon-select/icons/FormOutlined.vue +20 -0
  119. package/sohelp-icon-select/icons/FullscreenExitOutlined.vue +16 -0
  120. package/sohelp-icon-select/icons/FullscreenOutlined.vue +16 -0
  121. package/sohelp-icon-select/icons/FundOutlined.vue +20 -0
  122. package/sohelp-icon-select/icons/GlobalOutlined.vue +15 -0
  123. package/sohelp-icon-select/icons/HolderOutlined.vue +18 -0
  124. package/sohelp-icon-select/icons/HomeOutlined.vue +19 -0
  125. package/sohelp-icon-select/icons/IdcardOutlined.vue +25 -0
  126. package/sohelp-icon-select/icons/InfoCircleFilled.vue +15 -0
  127. package/sohelp-icon-select/icons/LinkOutlined.vue +15 -0
  128. package/sohelp-icon-select/icons/LoadingDotOutlined.vue +21 -0
  129. package/sohelp-icon-select/icons/LoadingOutlined.vue +19 -0
  130. package/sohelp-icon-select/icons/LockOutlined.vue +21 -0
  131. package/sohelp-icon-select/icons/LogOutlined.vue +22 -0
  132. package/sohelp-icon-select/icons/LogoutOutlined.vue +22 -0
  133. package/sohelp-icon-select/icons/MailOutlined.vue +19 -0
  134. package/sohelp-icon-select/icons/MenuFoldOutlined.vue +17 -0
  135. package/sohelp-icon-select/icons/MenuUnfoldOutlined.vue +17 -0
  136. package/sohelp-icon-select/icons/MessageOutlined.vue +22 -0
  137. package/sohelp-icon-select/icons/MinusCircleOutlined.vue +22 -0
  138. package/sohelp-icon-select/icons/MobileOutlined.vue +20 -0
  139. package/sohelp-icon-select/icons/MoonOutlined.vue +21 -0
  140. package/sohelp-icon-select/icons/MoreOutlined.vue +15 -0
  141. package/sohelp-icon-select/icons/PauseFilled.vue +14 -0
  142. package/sohelp-icon-select/icons/PieChartOutlined.vue +20 -0
  143. package/sohelp-icon-select/icons/PlayFilled.vue +13 -0
  144. package/sohelp-icon-select/icons/PlusCircleOutlined.vue +22 -0
  145. package/sohelp-icon-select/icons/PlusOutlined.vue +19 -0
  146. package/sohelp-icon-select/icons/ProtectOutlined.vue +21 -0
  147. package/sohelp-icon-select/icons/QuestionCircleFilled.vue +15 -0
  148. package/sohelp-icon-select/icons/QuestionCircleOutlined.vue +25 -0
  149. package/sohelp-icon-select/icons/ReloadOutlined.vue +22 -0
  150. package/sohelp-icon-select/icons/SearchOutlined.vue +21 -0
  151. package/sohelp-icon-select/icons/SettingOutlined.vue +24 -0
  152. package/sohelp-icon-select/icons/ShoppingOutlined.vue +19 -0
  153. package/sohelp-icon-select/icons/SortOutlined.vue +21 -0
  154. package/sohelp-icon-select/icons/StarFilled.vue +15 -0
  155. package/sohelp-icon-select/icons/StepBackwardFilled.vue +17 -0
  156. package/sohelp-icon-select/icons/StepForwardFilled.vue +17 -0
  157. package/sohelp-icon-select/icons/SuitcaseOutlined.vue +19 -0
  158. package/sohelp-icon-select/icons/SunOutlined.vue +29 -0
  159. package/sohelp-icon-select/icons/SwapOutlined.vue +21 -0
  160. package/sohelp-icon-select/icons/SyncOutlined.vue +21 -0
  161. package/sohelp-icon-select/icons/TableOutlined.vue +19 -0
  162. package/sohelp-icon-select/icons/TagOutlined.vue +20 -0
  163. package/sohelp-icon-select/icons/TimerOutlined.vue +22 -0
  164. package/sohelp-icon-select/icons/UndoOutlined.vue +22 -0
  165. package/sohelp-icon-select/icons/UnlockOutlined.vue +21 -0
  166. package/sohelp-icon-select/icons/UploadOutlined.vue +21 -0
  167. package/sohelp-icon-select/icons/UserOutlined.vue +21 -0
  168. package/sohelp-icon-select/icons/VerticalAlignMiddleOutlined.vue +15 -0
  169. package/sohelp-icon-select/icons/VerticalLeftOutlined.vue +13 -0
  170. package/sohelp-icon-select/icons/VerticalRightOutlined.vue +13 -0
  171. package/sohelp-icon-select/icons/WarningOutlined.vue +21 -0
  172. package/sohelp-icon-select/icons/ZoomInOutlined.vue +22 -0
  173. package/sohelp-icon-select/icons/ZoomOutOutlined.vue +22 -0
  174. package/sohelp-icon-select/icons/index.js +106 -0
  175. package/sohelp-icon-select/icons/index.ts +106 -0
  176. package/sohelp-icon-select/index.vue +95 -0
  177. package/sohelp-icon-select/vxeui-icon.js +90 -0
  178. package/sohelp-image-upload/index.vue +286 -0
  179. package/sohelp-input/index.vue +39 -0
  180. package/sohelp-modal/index.vue +72 -0
  181. package/sohelp-module/index.vue +54 -0
  182. package/sohelp-module/useModalManager.js +89 -0
  183. package/sohelp-module/useSohelpModule.js +64 -0
  184. package/sohelp-number-input/index.vue +32 -0
  185. package/sohelp-number-range/index.vue +135 -0
  186. package/sohelp-org-select/index.vue +30 -0
  187. package/sohelp-org-tree/index.vue +18 -0
  188. package/sohelp-org-tree-select/index.vue +93 -0
  189. package/sohelp-org-user-tree/index.vue +26 -0
  190. package/sohelp-org-user-tree-select/index.vue +11 -0
  191. package/sohelp-pagination/index.vue +11 -0
  192. package/sohelp-power/index.vue +105 -0
  193. package/sohelp-pro-form/components/pro-form-footer.vue +44 -0
  194. package/sohelp-pro-form/components/pro-form-item.vue +1133 -0
  195. package/sohelp-pro-form/index.vue +257 -0
  196. package/sohelp-pro-form/util.js +140 -0
  197. package/sohelp-pro-layout/index.vue +11 -0
  198. package/sohelp-pro-table/index.vue +14 -0
  199. package/sohelp-process/index.vue +216 -0
  200. package/sohelp-rate/index.vue +56 -0
  201. package/sohelp-rate/props.js +71 -0
  202. package/sohelp-relation/index.vue +11 -0
  203. package/sohelp-rich-text/index.vue +242 -0
  204. package/sohelp-rich-text/util.js +231 -0
  205. package/sohelp-richtext/index.vue +10 -0
  206. package/sohelp-role-select/index.vue +33 -0
  207. package/sohelp-search/components/search-config.vue +0 -0
  208. package/sohelp-search/index.vue +49 -0
  209. package/sohelp-search-pro-form/index.vue +11 -0
  210. package/sohelp-select/index.vue +120 -0
  211. package/sohelp-split-panel/index.vue +15 -0
  212. package/sohelp-switch/index.vue +56 -0
  213. package/sohelp-table/index.vue +151 -0
  214. package/sohelp-tenant-select/index.vue +128 -0
  215. package/sohelp-text/index.vue +14 -0
  216. package/sohelp-textarea-input/index.vue +36 -0
  217. package/sohelp-time/index.vue +10 -0
  218. package/sohelp-tree/index.vue +37 -0
  219. package/sohelp-tree-select/index.vue +18 -0
  220. package/sohelp-user-select/index.vue +44 -0
  221. package/sohelp-user-select/index.vue~ +53 -0
  222. package/sohelp-user-select/props.js +71 -0
  223. package/sohelp-user-tag/index.vue +12 -0
  224. package/sohelp-user-tree/index.vue +11 -0
  225. package/sohelp-vform-drawer/index.vue +40 -0
  226. package/sohelp-vform-eleplus/favicon.ico +0 -0
  227. package/sohelp-vform-eleplus/index.vue +297 -0
  228. package/sohelp-vform-eleplus/preview.html +91 -0
  229. package/sohelp-vform-eleplus/render.es.js +72433 -0
  230. package/sohelp-vform-eleplus/render.style.css +16 -0
  231. package/sohelp-vform-eleplus/render.umd.js +57 -0
  232. package/sohelp-vform-eleplus/tinymce/langs/zh_CN.js +462 -0
  233. package/sohelp-vform-eleplus/tinymce/langs/zh_TW.js +419 -0
  234. package/sohelp-vform-eleplus/tinymce/skins/content/dark/content.css +72 -0
  235. package/sohelp-vform-eleplus/tinymce/skins/content/dark/content.min.css +7 -0
  236. package/sohelp-vform-eleplus/tinymce/skins/content/default/content.css +67 -0
  237. package/sohelp-vform-eleplus/tinymce/skins/content/default/content.min.css +7 -0
  238. package/sohelp-vform-eleplus/tinymce/skins/content/document/content.css +72 -0
  239. package/sohelp-vform-eleplus/tinymce/skins/content/document/content.min.css +7 -0
  240. package/sohelp-vform-eleplus/tinymce/skins/content/writer/content.css +68 -0
  241. package/sohelp-vform-eleplus/tinymce/skins/content/writer/content.min.css +7 -0
  242. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide/content.css +732 -0
  243. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide/content.inline.css +726 -0
  244. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide/content.inline.min.css +7 -0
  245. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide/content.min.css +7 -0
  246. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide/content.mobile.css +29 -0
  247. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide/content.mobile.min.css +7 -0
  248. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff +0 -0
  249. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide/skin.css +3047 -0
  250. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide/skin.min.css +7 -0
  251. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide/skin.mobile.css +673 -0
  252. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide/skin.mobile.min.css +7 -0
  253. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide/skin.shadowdom.css +37 -0
  254. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide/skin.shadowdom.min.css +7 -0
  255. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide-dark/content.css +714 -0
  256. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide-dark/content.inline.css +726 -0
  257. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide-dark/content.inline.min.css +7 -0
  258. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide-dark/content.min.css +7 -0
  259. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide-dark/content.mobile.css +29 -0
  260. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide-dark/content.mobile.min.css +7 -0
  261. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff +0 -0
  262. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide-dark/skin.css +3047 -0
  263. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide-dark/skin.min.css +7 -0
  264. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide-dark/skin.mobile.css +673 -0
  265. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide-dark/skin.mobile.min.css +7 -0
  266. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide-dark/skin.shadowdom.css +37 -0
  267. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css +7 -0
  268. package/sohelp-vform-modal/index.vue +41 -0
  269. package/sohelp-vform-select/index.vue +11 -0
  270. package/sohelp-vform-vant/favicon.ico +0 -0
  271. package/sohelp-vform-vant/render.es.js +14608 -0
  272. package/sohelp-vform-vant/render.style.css +1 -0
  273. package/sohelp-vform-vant/render.umd.js +22 -0
  274. package/sohelp-vxe-grid/DefaultGridOptions.js +90 -0
  275. package/sohelp-vxe-grid/DefaultProps.js +27 -0
  276. package/sohelp-vxe-grid/SohelpGridConfig.js +143 -0
  277. package/sohelp-vxe-grid/index.vue +475 -0
  278. package/sohelp-vxe-grid-select/index.vue +148 -0
  279. package/sohelp-vxe-table/index.vue +184 -0
  280. package/sohelp-workflow/index.vue +495 -0
  281. package/sohelp-workflow/nodeWrap.vue +53 -0
  282. package/sohelp-workflow/nodes/addNode.vue +27 -0
  283. package/sohelp-workflow/nodes/approver.vue +125 -0
  284. package/sohelp-workflow/nodes/branch.vue +434 -0
  285. package/sohelp-workflow/nodes/promoter.vue +80 -0
  286. package/sohelp-workflow/nodes/send.vue +95 -0
  287. package/sohelp-workflow-drawer/components/approval-modal.vue +182 -0
  288. package/sohelp-workflow-drawer/components/draw-box.vue +141 -0
  289. package/sohelp-workflow-drawer/components/form.vue +78 -0
  290. package/sohelp-workflow-drawer/components/table.vue +153 -0
  291. package/sohelp-workflow-drawer/components/timeline.vue +189 -0
  292. package/sohelp-workflow-drawer/components/workflow.vue +68 -0
  293. package/sohelp-workflow-drawer/index.vue +311 -0
  294. package/sohelp-workflow-drawer/js/index.js +119 -0
  295. package/utils/ProFormConvertUtil.js +76 -0
  296. package/utils/core.js +310 -0
  297. package/utils/use-form-data.js +48 -0
  298. package/utils/use-mobile.js +43 -0
@@ -0,0 +1,71 @@
1
+ /**
2
+ * 属性
3
+ */
4
+ export const prop = {
5
+ url: {
6
+ type: String,
7
+ required: true
8
+ },
9
+
10
+
11
+ mappingFields:{
12
+ type: Object,
13
+ default: () => {
14
+ return {
15
+ label: 'label',
16
+ value: 'value'
17
+ }
18
+ }
19
+ },
20
+
21
+ width: {
22
+ type: String,
23
+ default: '200px'
24
+ },
25
+
26
+ placeholder: {
27
+ type: String,
28
+ default: '请选择'
29
+ },
30
+ modelValue: {
31
+ type: Array || String,
32
+ required: true
33
+ },
34
+ filterable: {
35
+ type: Boolean,
36
+ default: true
37
+ },
38
+ clearable: {
39
+ type: Boolean,
40
+ default: true
41
+ },
42
+ disabled: {
43
+ type: Boolean,
44
+ default: false
45
+ },
46
+ type: {
47
+ type: String,
48
+ default: 'select'
49
+ },
50
+ size: {
51
+ type: String,
52
+ validator: function (value) {
53
+ return ['large', 'default', 'small', ''].includes(value);
54
+ },
55
+ default: 'default'
56
+ },
57
+ multiple: {
58
+ type: Boolean,
59
+ default: false
60
+ },
61
+ type: {
62
+ type: String,
63
+ default: 'select'
64
+ }
65
+ };
66
+
67
+ /**
68
+ * 事件
69
+ */
70
+
71
+ export const emit = ['update:modelValue','change'];
@@ -0,0 +1,11 @@
1
+ <template>
2
+ <div>输入框,外键关键</div>
3
+ </template>
4
+ <script>
5
+ export default {
6
+ name: "SohelpRelation"
7
+ }
8
+ </script>
9
+ <style scoped>
10
+
11
+ </style>
@@ -0,0 +1,242 @@
1
+ <!-- 富文本编辑器 -->
2
+ <template>
3
+ <component v-if="inlineEditor" :is="tagName" :id="elementId" />
4
+ <textarea v-else :id="elementId"></textarea>
5
+ </template>
6
+
7
+ <script setup>
8
+ import {
9
+ watch,
10
+ onMounted,
11
+ onBeforeUnmount,
12
+ onActivated,
13
+ onDeactivated,
14
+ nextTick,
15
+ useAttrs
16
+ } from 'vue';
17
+ import tinymce from 'tinymce/tinymce';
18
+ import 'tinymce/themes/silver';
19
+ import 'tinymce/icons/default';
20
+ import 'tinymce/plugins/code';
21
+ import 'tinymce/plugins/preview';
22
+ import 'tinymce/plugins/fullscreen';
23
+ import 'tinymce/plugins/paste';
24
+ import 'tinymce/plugins/searchreplace';
25
+ //import 'tinymce/plugins/save';
26
+ //import 'tinymce/plugins/autosave';
27
+ import 'tinymce/plugins/link';
28
+ import 'tinymce/plugins/autolink';
29
+ import 'tinymce/plugins/image';
30
+ import 'tinymce/plugins/media';
31
+ import 'tinymce/plugins/table';
32
+ import 'tinymce/plugins/codesample';
33
+ import 'tinymce/plugins/lists';
34
+ import 'tinymce/plugins/advlist';
35
+ import 'tinymce/plugins/hr';
36
+ import 'tinymce/plugins/charmap';
37
+ import 'tinymce/plugins/emoticons';
38
+ import 'tinymce/plugins/anchor';
39
+ import 'tinymce/plugins/directionality';
40
+ import 'tinymce/plugins/pagebreak';
41
+ import 'tinymce/plugins/quickbars';
42
+ import 'tinymce/plugins/nonbreaking';
43
+ import 'tinymce/plugins/visualblocks';
44
+ import 'tinymce/plugins/visualchars';
45
+ import 'tinymce/plugins/wordcount';
46
+ import 'tinymce/plugins/emoticons/js/emojis';
47
+ import { storeToRefs } from 'pinia';
48
+ import { useThemeStore } from '@/store/modules/theme';
49
+ import {
50
+ DEFAULT_CONFIG,
51
+ DARK_CONFIG,
52
+ uuid,
53
+ bindHandlers,
54
+ openAlert
55
+ } from './util';
56
+
57
+ const props = defineProps({
58
+ /** 编辑器唯一id */
59
+ id: String,
60
+ /** v-model */
61
+ modelValue: String,
62
+ /** 编辑器配置 */
63
+ init: Object,
64
+ /** 是否内联模式 */
65
+ inline: Boolean,
66
+ /** model events */
67
+ modelEvents: {
68
+ type: String,
69
+ default: 'change input undo redo'
70
+ },
71
+ /** 内联模式标签名 */
72
+ tagName: {
73
+ type: String,
74
+ default: 'div'
75
+ },
76
+ /** 是否禁用 */
77
+ disabled: Boolean,
78
+ /** 是否跟随框架主题 */
79
+ autoTheme: {
80
+ type: Boolean,
81
+ default: true
82
+ },
83
+ /** 不跟随框架主题时是否使用暗黑主题 */
84
+ darkTheme: Boolean
85
+ });
86
+
87
+ const emit = defineEmits(['update:modelValue']);
88
+
89
+ const attrs = useAttrs();
90
+ const themeStore = useThemeStore();
91
+ const { darkMode } = storeToRefs(themeStore);
92
+
93
+ /** 编辑器唯一id */
94
+ const elementId = props.id || uuid('tiny-vue');
95
+
96
+ /** 编辑器实例 */
97
+ let editorIns = null;
98
+
99
+ /** 是否内联模式 */
100
+ const inlineEditor = props.init?.inline || props.inline;
101
+
102
+ /** 更新value */
103
+ const updateValue = (value) => {
104
+ emit('update:modelValue', value);
105
+ };
106
+
107
+ /** 修改内容 */
108
+ const setContent = (value) => {
109
+ if (
110
+ editorIns &&
111
+ typeof value === 'string' &&
112
+ value !== editorIns.getContent()
113
+ ) {
114
+ editorIns.setContent(value);
115
+ }
116
+ };
117
+
118
+ /** 渲染编辑器 */
119
+ const render = () => {
120
+ const isDark = props.autoTheme ? darkMode.value : props.darkTheme;
121
+ tinymce.init({
122
+ ...DEFAULT_CONFIG,
123
+ ...(isDark ? DARK_CONFIG : {}),
124
+ ...props.init,
125
+ selector: `#${elementId}`,
126
+ readonly: props.disabled,
127
+ inline: inlineEditor,
128
+ setup: (editor) => {
129
+ editorIns = editor;
130
+ editor.on('init', (e) => {
131
+ // 回显初始值
132
+ if (props.modelValue) {
133
+ setContent(props.modelValue);
134
+ }
135
+ // v-model
136
+ editor.on(props.modelEvents, () => {
137
+ updateValue(editor.getContent());
138
+ });
139
+ // valid events
140
+ bindHandlers(e, attrs, editor);
141
+ });
142
+ if (typeof props.init?.setup === 'function') {
143
+ props.init.setup(editor);
144
+ }
145
+ }
146
+ });
147
+ };
148
+
149
+ /** 销毁编辑器 */
150
+ const destory = () => {
151
+ if (tinymce != null && editorIns != null) {
152
+ tinymce.remove(editorIns);
153
+ editorIns = null;
154
+ }
155
+ };
156
+
157
+ /** 弹出提示框 */
158
+ const alert = (option) => {
159
+ openAlert(editorIns, option);
160
+ };
161
+
162
+ defineExpose({ editorIns, alert });
163
+
164
+ watch(
165
+ () => props.modelValue,
166
+ (val, prevVal) => {
167
+ if (val !== prevVal) {
168
+ setContent(val || '');
169
+ }
170
+ }
171
+ );
172
+
173
+ watch(
174
+ () => props.disabled,
175
+ (disable) => {
176
+ if (editorIns !== null) {
177
+ if (typeof editorIns.mode?.set === 'function') {
178
+ editorIns.mode.set(disable ? 'readonly' : 'design');
179
+ } else {
180
+ editorIns.setMode(disable ? 'readonly' : 'design');
181
+ }
182
+ }
183
+ }
184
+ );
185
+
186
+ watch(
187
+ () => props.tagName,
188
+ () => {
189
+ destory();
190
+ nextTick(() => {
191
+ render();
192
+ });
193
+ }
194
+ );
195
+
196
+ watch(darkMode, () => {
197
+ if (props.autoTheme) {
198
+ destory();
199
+ nextTick(() => {
200
+ render();
201
+ });
202
+ }
203
+ });
204
+
205
+ onMounted(() => {
206
+ render();
207
+ });
208
+
209
+ onBeforeUnmount(() => {
210
+ destory();
211
+ });
212
+
213
+ onActivated(() => {
214
+ render();
215
+ });
216
+
217
+ onDeactivated(() => {
218
+ destory();
219
+ });
220
+ </script>
221
+
222
+ <script>
223
+ export default {
224
+ name: 'SohelpRichText'
225
+ };
226
+ </script>
227
+
228
+ <style>
229
+ body .tox.tox-tinymce-aux,
230
+ body.tox-fullscreen .tox.tox-tinymce-aux {
231
+ z-index: 19990000;
232
+ }
233
+
234
+ textarea[id^='tiny-vue'] {
235
+ width: 0;
236
+ height: 0;
237
+ margin: 0;
238
+ padding: 0;
239
+ opacity: 0;
240
+ box-sizing: border-box;
241
+ }
242
+ </style>
@@ -0,0 +1,231 @@
1
+ const BASE_URL = import.meta.env.BASE_URL;
2
+
3
+
4
+ /** 默认加载插件 */
5
+ const PLUGINS = [
6
+ 'code',
7
+ 'preview',
8
+ 'fullscreen',
9
+ 'paste',
10
+ 'searchreplace',
11
+ //'save',
12
+ //'autosave',
13
+ 'link',
14
+ 'autolink',
15
+ 'image',
16
+ 'media',
17
+ 'table',
18
+ 'codesample',
19
+ 'lists',
20
+ 'advlist',
21
+ 'hr',
22
+ 'charmap',
23
+ 'emoticons',
24
+ 'anchor',
25
+ 'directionality',
26
+ 'pagebreak',
27
+ 'quickbars',
28
+ 'nonbreaking',
29
+ 'visualblocks',
30
+ 'visualchars',
31
+ 'wordcount'
32
+ ].join(' ');
33
+
34
+ /** 默认工具栏布局 */
35
+ const TOOLBAR = [
36
+ 'fullscreen',
37
+ 'preview',
38
+ 'code',
39
+ '|',
40
+ 'undo',
41
+ 'redo',
42
+ '|',
43
+ 'forecolor',
44
+ 'backcolor',
45
+ '|',
46
+ 'bold',
47
+ 'italic',
48
+ 'underline',
49
+ 'strikethrough',
50
+ '|',
51
+ 'alignleft',
52
+ 'aligncenter',
53
+ 'alignright',
54
+ 'alignjustify',
55
+ '|',
56
+ 'outdent',
57
+ 'indent',
58
+ '|',
59
+ 'numlist',
60
+ 'bullist',
61
+ '|',
62
+ 'formatselect',
63
+ 'fontselect',
64
+ 'fontsizeselect',
65
+ '|',
66
+ 'link',
67
+ 'image',
68
+ 'media',
69
+ 'emoticons',
70
+ 'charmap',
71
+ 'anchor',
72
+ 'pagebreak',
73
+ 'codesample',
74
+ '|',
75
+ 'ltr',
76
+ 'rtl'
77
+ ].join(' ');
78
+
79
+ /** 默认配置 */
80
+ export const DEFAULT_CONFIG = {
81
+ height: 300,
82
+ branding: false,
83
+ skin_url: BASE_URL + 'tinymce/skins/ui/oxide',
84
+ content_css: BASE_URL + 'tinymce/skins/content/default/content.min.css',
85
+ language_url: BASE_URL + 'tinymce/langs/zh_CN.js',
86
+ language: 'zh_CN',
87
+ plugins: PLUGINS,
88
+ toolbar: TOOLBAR,
89
+ draggable_modal: true,
90
+ toolbar_mode: 'sliding',
91
+ quickbars_insert_toolbar: '',
92
+ convert_urls: false,
93
+ images_upload_handler: (blobInfo, success, error) => {
94
+ if (blobInfo.blob().size / 1024 > 400) {
95
+ error('大小不能超过 400KB');
96
+ return;
97
+ }
98
+ success('data:image/jpeg;base64,' + blobInfo.base64());
99
+ },
100
+ file_picker_types: 'media image file',
101
+ file_picker_callback: () => {}
102
+ };
103
+
104
+ /** 暗黑主题配置 */
105
+ export const DARK_CONFIG = {
106
+ skin_url: BASE_URL + 'tinymce/skins/ui/oxide-dark',
107
+ content_css: BASE_URL + 'tinymce/skins/content/dark/content.min.css'
108
+ };
109
+
110
+ /** 支持监听的事件 */
111
+ export const VALID_EVENTS = [
112
+ 'onActivate',
113
+ 'onAddUndo',
114
+ 'onBeforeAddUndo',
115
+ 'onBeforeExecCommand',
116
+ 'onBeforeGetContent',
117
+ 'onBeforeRenderUI',
118
+ 'onBeforeSetContent',
119
+ 'onBeforePaste',
120
+ 'onBlur',
121
+ 'onChange',
122
+ 'onClearUndos',
123
+ 'onClick',
124
+ 'onContextMenu',
125
+ 'onCopy',
126
+ 'onCut',
127
+ 'onDblclick',
128
+ 'onDeactivate',
129
+ 'onDirty',
130
+ 'onDrag',
131
+ 'onDragDrop',
132
+ 'onDragEnd',
133
+ 'onDragGesture',
134
+ 'onDragOver',
135
+ 'onDrop',
136
+ 'onExecCommand',
137
+ 'onFocus',
138
+ 'onFocusIn',
139
+ 'onFocusOut',
140
+ 'onGetContent',
141
+ 'onHide',
142
+ 'onInit',
143
+ 'onKeyDown',
144
+ 'onKeyPress',
145
+ 'onKeyUp',
146
+ 'onLoadContent',
147
+ 'onMouseDown',
148
+ 'onMouseEnter',
149
+ 'onMouseLeave',
150
+ 'onMouseMove',
151
+ 'onMouseOut',
152
+ 'onMouseOver',
153
+ 'onMouseUp',
154
+ 'onNodeChange',
155
+ 'onObjectResizeStart',
156
+ 'onObjectResized',
157
+ 'onObjectSelected',
158
+ 'onPaste',
159
+ 'onPostProcess',
160
+ 'onPostRender',
161
+ 'onPreProcess',
162
+ 'onProgressState',
163
+ 'onRedo',
164
+ 'onRemove',
165
+ 'onReset',
166
+ 'onSaveContent',
167
+ 'onSelectionChange',
168
+ 'onSetAttrib',
169
+ 'onSetContent',
170
+ 'onShow',
171
+ 'onSubmit',
172
+ 'onUndo',
173
+ 'onVisualAid'
174
+ ];
175
+
176
+ let unique = 0;
177
+
178
+ /**
179
+ * 生成编辑器 id
180
+ */
181
+ export function uuid(prefix) {
182
+ const time = Date.now();
183
+ const random = Math.floor(Math.random() * 1000000000);
184
+ unique++;
185
+ return prefix + '_' + random + unique + String(time);
186
+ }
187
+
188
+ /**
189
+ * 绑定事件
190
+ */
191
+ export function bindHandlers(initEvent, listeners, editor) {
192
+ const validEvents = VALID_EVENTS.map((event) => event.toLowerCase());
193
+ Object.keys(listeners)
194
+ .filter((key) => validEvents.includes(key.toLowerCase()))
195
+ .forEach((key) => {
196
+ const handler = listeners[key];
197
+ if (typeof handler === 'function') {
198
+ if (key === 'onInit') {
199
+ handler(initEvent, editor);
200
+ } else {
201
+ editor.on(key.substring(2), (e) => handler(e, editor));
202
+ }
203
+ }
204
+ });
205
+ }
206
+
207
+ /**
208
+ * 弹出提示框
209
+ */
210
+ export function openAlert(editor, option = {}) {
211
+ editor?.windowManager?.open?.({
212
+ title: option.title ?? '提示',
213
+ body: {
214
+ type: 'panel',
215
+ items: [
216
+ {
217
+ type: 'htmlpanel',
218
+ html: `<p>${option.content ?? ''}</p>`
219
+ }
220
+ ]
221
+ },
222
+ buttons: [
223
+ {
224
+ type: 'cancel',
225
+ name: 'closeButton',
226
+ text: '确定',
227
+ primary: true
228
+ }
229
+ ]
230
+ });
231
+ }
@@ -0,0 +1,10 @@
1
+ <template>
2
+ <div>Richtext</div>
3
+ </template>
4
+
5
+ <script setup>
6
+
7
+ </script>
8
+ <style scoped>
9
+
10
+ </style>
@@ -0,0 +1,33 @@
1
+ <template>
2
+ <sohelp-dyn-select
3
+ v-bind="$attrs"
4
+ :url="url"
5
+ :labelField="labelField"
6
+ :valueField="valueField"
7
+ v-model="modelValue"
8
+ ></sohelp-dyn-select>
9
+ </template>
10
+ <script setup>
11
+ import SohelpDynSelect from "../sohelp-dyn-select/index.vue";
12
+ const modelValue = defineModel("modelValue", { type: [String, Number, Array], default: "" });
13
+ const props = defineProps({
14
+ url: {
15
+ type: String,
16
+ default: "/engine/web/role/list"
17
+ },
18
+ labelField: {
19
+ type: String,
20
+ default: "role_name"
21
+ },
22
+ valueField: {
23
+ type: String,
24
+ default: "id"
25
+ }
26
+ });
27
+ </script>
28
+ <script>
29
+ export default {
30
+ name: "SohelpRoleSelect"
31
+ };
32
+ </script>
33
+ <style></style>
File without changes
@@ -0,0 +1,49 @@
1
+ <template>
2
+ <el-button v-if="!showSearch" @click="showSearch=true">筛选</el-button>
3
+ <el-form v-if="showSearch">
4
+ <el-form-item label="dsd">
5
+ <el-input></el-input>
6
+ </el-form-item>
7
+ <el-button @click="showSearch=false">关闭</el-button>
8
+ </el-form>
9
+ <sohelp-vxe-grid refid="/商邦示例/组件数据!数据列表"></sohelp-vxe-grid>
10
+ </template>
11
+ <script setup>
12
+ //查询条件
13
+ import {ref} from "vue";
14
+ import SohelpVxeGrid from "../sohelp-vxe-grid/index.vue";
15
+
16
+ const condition = {
17
+ "string": {
18
+ "EQ": "等于",
19
+ "LIKE": "包含",
20
+ "LLIKE": "左包含",
21
+ "RLIKE": "右包含",
22
+ "NOTLIKE": "不含包"
23
+ },
24
+ "number": {
25
+ "EQ": "等于",
26
+ "GEQ": "大等于",
27
+ "LET": "小等于",
28
+ "NOTEQ": "不等于"
29
+ },
30
+ "dict": {
31
+ "selected": true //多选与单选
32
+ }
33
+ }
34
+
35
+ const showSearch = ref(false);
36
+ const showSearchForm = () => {
37
+ showSearch.value = true;
38
+ }
39
+
40
+
41
+ </script>
42
+ <script>
43
+ export default {
44
+ name: 'SohelpSearch',
45
+ setup(props, {emit, attrs}) {
46
+ }
47
+ };
48
+ </script>
49
+ <style></style>
@@ -0,0 +1,11 @@
1
+ <script setup>
2
+
3
+ </script>
4
+
5
+ <template>
6
+ $END$
7
+ </template>
8
+
9
+ <style scoped lang="scss">
10
+
11
+ </style>