epx-frame 3.5.0-shpgy.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 (1223) hide show
  1. package/.browserslistrc +4 -0
  2. package/.dockerignore +2 -0
  3. package/.editorconfig +5 -0
  4. package/.env.dev +6 -0
  5. package/.env.development +4 -0
  6. package/.env.localize +7 -0
  7. package/.env.ppe +6 -0
  8. package/.env.prd +6 -0
  9. package/.env.pre +6 -0
  10. package/.env.production +6 -0
  11. package/.env.simple +8 -0
  12. package/.eslintignore +2 -0
  13. package/.eslintrc.js +24 -0
  14. package/Dockerfile +12 -0
  15. package/README.md +108 -0
  16. package/babel.config.js +26 -0
  17. package/build/webpack.component.js +54 -0
  18. package/build/webpack.dev.js +114 -0
  19. package/build/webpack.prod.js +133 -0
  20. package/nginx.conf +38 -0
  21. package/package.json +93 -0
  22. package/public/403.html +77 -0
  23. package/public/cmaps/78-EUC-H.bcmap +0 -0
  24. package/public/cmaps/78-EUC-V.bcmap +0 -0
  25. package/public/cmaps/78-H.bcmap +0 -0
  26. package/public/cmaps/78-RKSJ-H.bcmap +0 -0
  27. package/public/cmaps/78-RKSJ-V.bcmap +0 -0
  28. package/public/cmaps/78-V.bcmap +0 -0
  29. package/public/cmaps/78ms-RKSJ-H.bcmap +0 -0
  30. package/public/cmaps/78ms-RKSJ-V.bcmap +0 -0
  31. package/public/cmaps/83pv-RKSJ-H.bcmap +0 -0
  32. package/public/cmaps/90ms-RKSJ-H.bcmap +0 -0
  33. package/public/cmaps/90ms-RKSJ-V.bcmap +0 -0
  34. package/public/cmaps/90msp-RKSJ-H.bcmap +0 -0
  35. package/public/cmaps/90msp-RKSJ-V.bcmap +0 -0
  36. package/public/cmaps/90pv-RKSJ-H.bcmap +0 -0
  37. package/public/cmaps/90pv-RKSJ-V.bcmap +0 -0
  38. package/public/cmaps/Add-H.bcmap +0 -0
  39. package/public/cmaps/Add-RKSJ-H.bcmap +0 -0
  40. package/public/cmaps/Add-RKSJ-V.bcmap +0 -0
  41. package/public/cmaps/Add-V.bcmap +0 -0
  42. package/public/cmaps/Adobe-CNS1-0.bcmap +0 -0
  43. package/public/cmaps/Adobe-CNS1-1.bcmap +0 -0
  44. package/public/cmaps/Adobe-CNS1-2.bcmap +0 -0
  45. package/public/cmaps/Adobe-CNS1-3.bcmap +0 -0
  46. package/public/cmaps/Adobe-CNS1-4.bcmap +0 -0
  47. package/public/cmaps/Adobe-CNS1-5.bcmap +0 -0
  48. package/public/cmaps/Adobe-CNS1-6.bcmap +0 -0
  49. package/public/cmaps/Adobe-CNS1-UCS2.bcmap +0 -0
  50. package/public/cmaps/Adobe-GB1-0.bcmap +0 -0
  51. package/public/cmaps/Adobe-GB1-1.bcmap +0 -0
  52. package/public/cmaps/Adobe-GB1-2.bcmap +0 -0
  53. package/public/cmaps/Adobe-GB1-3.bcmap +0 -0
  54. package/public/cmaps/Adobe-GB1-4.bcmap +0 -0
  55. package/public/cmaps/Adobe-GB1-5.bcmap +0 -0
  56. package/public/cmaps/Adobe-GB1-UCS2.bcmap +0 -0
  57. package/public/cmaps/Adobe-Japan1-0.bcmap +0 -0
  58. package/public/cmaps/Adobe-Japan1-1.bcmap +0 -0
  59. package/public/cmaps/Adobe-Japan1-2.bcmap +0 -0
  60. package/public/cmaps/Adobe-Japan1-3.bcmap +0 -0
  61. package/public/cmaps/Adobe-Japan1-4.bcmap +0 -0
  62. package/public/cmaps/Adobe-Japan1-5.bcmap +0 -0
  63. package/public/cmaps/Adobe-Japan1-6.bcmap +0 -0
  64. package/public/cmaps/Adobe-Japan1-UCS2.bcmap +0 -0
  65. package/public/cmaps/Adobe-Korea1-0.bcmap +0 -0
  66. package/public/cmaps/Adobe-Korea1-1.bcmap +0 -0
  67. package/public/cmaps/Adobe-Korea1-2.bcmap +0 -0
  68. package/public/cmaps/Adobe-Korea1-UCS2.bcmap +0 -0
  69. package/public/cmaps/B5-H.bcmap +0 -0
  70. package/public/cmaps/B5-V.bcmap +0 -0
  71. package/public/cmaps/B5pc-H.bcmap +0 -0
  72. package/public/cmaps/B5pc-V.bcmap +0 -0
  73. package/public/cmaps/CNS-EUC-H.bcmap +0 -0
  74. package/public/cmaps/CNS-EUC-V.bcmap +0 -0
  75. package/public/cmaps/CNS1-H.bcmap +0 -0
  76. package/public/cmaps/CNS1-V.bcmap +0 -0
  77. package/public/cmaps/CNS2-H.bcmap +0 -0
  78. package/public/cmaps/CNS2-V.bcmap +3 -0
  79. package/public/cmaps/ETHK-B5-H.bcmap +0 -0
  80. package/public/cmaps/ETHK-B5-V.bcmap +0 -0
  81. package/public/cmaps/ETen-B5-H.bcmap +0 -0
  82. package/public/cmaps/ETen-B5-V.bcmap +0 -0
  83. package/public/cmaps/ETenms-B5-H.bcmap +3 -0
  84. package/public/cmaps/ETenms-B5-V.bcmap +0 -0
  85. package/public/cmaps/EUC-H.bcmap +0 -0
  86. package/public/cmaps/EUC-V.bcmap +0 -0
  87. package/public/cmaps/Ext-H.bcmap +0 -0
  88. package/public/cmaps/Ext-RKSJ-H.bcmap +0 -0
  89. package/public/cmaps/Ext-RKSJ-V.bcmap +0 -0
  90. package/public/cmaps/Ext-V.bcmap +0 -0
  91. package/public/cmaps/GB-EUC-H.bcmap +0 -0
  92. package/public/cmaps/GB-EUC-V.bcmap +0 -0
  93. package/public/cmaps/GB-H.bcmap +4 -0
  94. package/public/cmaps/GB-V.bcmap +0 -0
  95. package/public/cmaps/GBK-EUC-H.bcmap +0 -0
  96. package/public/cmaps/GBK-EUC-V.bcmap +0 -0
  97. package/public/cmaps/GBK2K-H.bcmap +0 -0
  98. package/public/cmaps/GBK2K-V.bcmap +0 -0
  99. package/public/cmaps/GBKp-EUC-H.bcmap +0 -0
  100. package/public/cmaps/GBKp-EUC-V.bcmap +0 -0
  101. package/public/cmaps/GBT-EUC-H.bcmap +0 -0
  102. package/public/cmaps/GBT-EUC-V.bcmap +0 -0
  103. package/public/cmaps/GBT-H.bcmap +0 -0
  104. package/public/cmaps/GBT-V.bcmap +0 -0
  105. package/public/cmaps/GBTpc-EUC-H.bcmap +0 -0
  106. package/public/cmaps/GBTpc-EUC-V.bcmap +0 -0
  107. package/public/cmaps/GBpc-EUC-H.bcmap +0 -0
  108. package/public/cmaps/GBpc-EUC-V.bcmap +0 -0
  109. package/public/cmaps/H.bcmap +0 -0
  110. package/public/cmaps/HKdla-B5-H.bcmap +0 -0
  111. package/public/cmaps/HKdla-B5-V.bcmap +0 -0
  112. package/public/cmaps/HKdlb-B5-H.bcmap +0 -0
  113. package/public/cmaps/HKdlb-B5-V.bcmap +0 -0
  114. package/public/cmaps/HKgccs-B5-H.bcmap +0 -0
  115. package/public/cmaps/HKgccs-B5-V.bcmap +0 -0
  116. package/public/cmaps/HKm314-B5-H.bcmap +0 -0
  117. package/public/cmaps/HKm314-B5-V.bcmap +0 -0
  118. package/public/cmaps/HKm471-B5-H.bcmap +0 -0
  119. package/public/cmaps/HKm471-B5-V.bcmap +0 -0
  120. package/public/cmaps/HKscs-B5-H.bcmap +0 -0
  121. package/public/cmaps/HKscs-B5-V.bcmap +0 -0
  122. package/public/cmaps/Hankaku.bcmap +0 -0
  123. package/public/cmaps/Hiragana.bcmap +0 -0
  124. package/public/cmaps/KSC-EUC-H.bcmap +0 -0
  125. package/public/cmaps/KSC-EUC-V.bcmap +0 -0
  126. package/public/cmaps/KSC-H.bcmap +0 -0
  127. package/public/cmaps/KSC-Johab-H.bcmap +0 -0
  128. package/public/cmaps/KSC-Johab-V.bcmap +0 -0
  129. package/public/cmaps/KSC-V.bcmap +0 -0
  130. package/public/cmaps/KSCms-UHC-H.bcmap +0 -0
  131. package/public/cmaps/KSCms-UHC-HW-H.bcmap +0 -0
  132. package/public/cmaps/KSCms-UHC-HW-V.bcmap +0 -0
  133. package/public/cmaps/KSCms-UHC-V.bcmap +0 -0
  134. package/public/cmaps/KSCpc-EUC-H.bcmap +0 -0
  135. package/public/cmaps/KSCpc-EUC-V.bcmap +0 -0
  136. package/public/cmaps/Katakana.bcmap +0 -0
  137. package/public/cmaps/LICENSE +36 -0
  138. package/public/cmaps/NWP-H.bcmap +0 -0
  139. package/public/cmaps/NWP-V.bcmap +0 -0
  140. package/public/cmaps/RKSJ-H.bcmap +0 -0
  141. package/public/cmaps/RKSJ-V.bcmap +0 -0
  142. package/public/cmaps/Roman.bcmap +0 -0
  143. package/public/cmaps/UniCNS-UCS2-H.bcmap +0 -0
  144. package/public/cmaps/UniCNS-UCS2-V.bcmap +0 -0
  145. package/public/cmaps/UniCNS-UTF16-H.bcmap +0 -0
  146. package/public/cmaps/UniCNS-UTF16-V.bcmap +0 -0
  147. package/public/cmaps/UniCNS-UTF32-H.bcmap +0 -0
  148. package/public/cmaps/UniCNS-UTF32-V.bcmap +0 -0
  149. package/public/cmaps/UniCNS-UTF8-H.bcmap +0 -0
  150. package/public/cmaps/UniCNS-UTF8-V.bcmap +0 -0
  151. package/public/cmaps/UniGB-UCS2-H.bcmap +0 -0
  152. package/public/cmaps/UniGB-UCS2-V.bcmap +0 -0
  153. package/public/cmaps/UniGB-UTF16-H.bcmap +0 -0
  154. package/public/cmaps/UniGB-UTF16-V.bcmap +0 -0
  155. package/public/cmaps/UniGB-UTF32-H.bcmap +0 -0
  156. package/public/cmaps/UniGB-UTF32-V.bcmap +0 -0
  157. package/public/cmaps/UniGB-UTF8-H.bcmap +0 -0
  158. package/public/cmaps/UniGB-UTF8-V.bcmap +0 -0
  159. package/public/cmaps/UniJIS-UCS2-H.bcmap +0 -0
  160. package/public/cmaps/UniJIS-UCS2-HW-H.bcmap +0 -0
  161. package/public/cmaps/UniJIS-UCS2-HW-V.bcmap +0 -0
  162. package/public/cmaps/UniJIS-UCS2-V.bcmap +0 -0
  163. package/public/cmaps/UniJIS-UTF16-H.bcmap +0 -0
  164. package/public/cmaps/UniJIS-UTF16-V.bcmap +0 -0
  165. package/public/cmaps/UniJIS-UTF32-H.bcmap +0 -0
  166. package/public/cmaps/UniJIS-UTF32-V.bcmap +0 -0
  167. package/public/cmaps/UniJIS-UTF8-H.bcmap +0 -0
  168. package/public/cmaps/UniJIS-UTF8-V.bcmap +0 -0
  169. package/public/cmaps/UniJIS2004-UTF16-H.bcmap +0 -0
  170. package/public/cmaps/UniJIS2004-UTF16-V.bcmap +0 -0
  171. package/public/cmaps/UniJIS2004-UTF32-H.bcmap +0 -0
  172. package/public/cmaps/UniJIS2004-UTF32-V.bcmap +0 -0
  173. package/public/cmaps/UniJIS2004-UTF8-H.bcmap +0 -0
  174. package/public/cmaps/UniJIS2004-UTF8-V.bcmap +0 -0
  175. package/public/cmaps/UniJISPro-UCS2-HW-V.bcmap +0 -0
  176. package/public/cmaps/UniJISPro-UCS2-V.bcmap +0 -0
  177. package/public/cmaps/UniJISPro-UTF8-V.bcmap +0 -0
  178. package/public/cmaps/UniJISX0213-UTF32-H.bcmap +0 -0
  179. package/public/cmaps/UniJISX0213-UTF32-V.bcmap +0 -0
  180. package/public/cmaps/UniJISX02132004-UTF32-H.bcmap +0 -0
  181. package/public/cmaps/UniJISX02132004-UTF32-V.bcmap +0 -0
  182. package/public/cmaps/UniKS-UCS2-H.bcmap +0 -0
  183. package/public/cmaps/UniKS-UCS2-V.bcmap +0 -0
  184. package/public/cmaps/UniKS-UTF16-H.bcmap +0 -0
  185. package/public/cmaps/UniKS-UTF16-V.bcmap +0 -0
  186. package/public/cmaps/UniKS-UTF32-H.bcmap +0 -0
  187. package/public/cmaps/UniKS-UTF32-V.bcmap +0 -0
  188. package/public/cmaps/UniKS-UTF8-H.bcmap +0 -0
  189. package/public/cmaps/UniKS-UTF8-V.bcmap +0 -0
  190. package/public/cmaps/V.bcmap +0 -0
  191. package/public/cmaps/WP-Symbol.bcmap +0 -0
  192. package/public/favicon.ico +0 -0
  193. package/public/font/font_2530548_ikl5ryc86u.css +535 -0
  194. package/public/font/font_2530548_ikl5ryc86u.ttf +0 -0
  195. package/public/font/font_2530548_ikl5ryc86u.woff +0 -0
  196. package/public/font/font_2530548_ikl5ryc86u.woff2 +0 -0
  197. package/public/font/font_2612462_d2s6adyaymf.css +93 -0
  198. package/public/font/font_2612462_d2s6adyaymf.ttf +0 -0
  199. package/public/font/font_2612462_d2s6adyaymf.woff +0 -0
  200. package/public/font/font_2612462_d2s6adyaymf.woff2 +0 -0
  201. package/public/img/banner.png +0 -0
  202. package/public/img/icons/android-chrome-192x192.png +0 -0
  203. package/public/img/icons/android-chrome-512x512.png +0 -0
  204. package/public/img/icons/android-chrome-maskable-192x192.png +0 -0
  205. package/public/img/icons/android-chrome-maskable-512x512.png +0 -0
  206. package/public/img/icons/apple-touch-icon-120x120.png +0 -0
  207. package/public/img/icons/apple-touch-icon-152x152.png +0 -0
  208. package/public/img/icons/apple-touch-icon-180x180.png +0 -0
  209. package/public/img/icons/apple-touch-icon-60x60.png +0 -0
  210. package/public/img/icons/apple-touch-icon-76x76.png +0 -0
  211. package/public/img/icons/apple-touch-icon.png +0 -0
  212. package/public/img/icons/favicon-16x16.png +0 -0
  213. package/public/img/icons/favicon-32x32.png +0 -0
  214. package/public/img/icons/msapplication-icon-144x144.png +0 -0
  215. package/public/img/icons/mstile-150x150.png +0 -0
  216. package/public/img/icons/safari-pinned-tab.svg +149 -0
  217. package/public/img/success.png +0 -0
  218. package/public/img/tip.png +0 -0
  219. package/public/index.html +132 -0
  220. package/public/js/babel-standalone.min.js +25 -0
  221. package/public/js/config.js +0 -0
  222. package/public/js/jquery-3.6.0.min.js +2 -0
  223. package/public/js/pdf.worker.js +45929 -0
  224. package/public/js/signature_pad.min.js +6 -0
  225. package/public/js/tinymce/icons/default/icons.js +170 -0
  226. package/public/js/tinymce/icons/default/icons.min.js +1 -0
  227. package/public/js/tinymce/jquery.tinymce.min.js +92 -0
  228. package/public/js/tinymce/langs/readme.md +3 -0
  229. package/public/js/tinymce/langs/zh_CN.js +419 -0
  230. package/public/js/tinymce/license.txt +504 -0
  231. package/public/js/tinymce/plugins/advlist/plugin.js +281 -0
  232. package/public/js/tinymce/plugins/advlist/plugin.min.js +9 -0
  233. package/public/js/tinymce/plugins/anchor/plugin.js +216 -0
  234. package/public/js/tinymce/plugins/anchor/plugin.min.js +9 -0
  235. package/public/js/tinymce/plugins/autolink/plugin.js +185 -0
  236. package/public/js/tinymce/plugins/autolink/plugin.min.js +9 -0
  237. package/public/js/tinymce/plugins/autoresize/plugin.js +171 -0
  238. package/public/js/tinymce/plugins/autoresize/plugin.min.js +9 -0
  239. package/public/js/tinymce/plugins/autosave/plugin.js +214 -0
  240. package/public/js/tinymce/plugins/autosave/plugin.min.js +9 -0
  241. package/public/js/tinymce/plugins/bbcode/plugin.js +99 -0
  242. package/public/js/tinymce/plugins/bbcode/plugin.min.js +9 -0
  243. package/public/js/tinymce/plugins/charmap/plugin.js +1706 -0
  244. package/public/js/tinymce/plugins/charmap/plugin.min.js +9 -0
  245. package/public/js/tinymce/plugins/code/plugin.js +92 -0
  246. package/public/js/tinymce/plugins/code/plugin.min.js +9 -0
  247. package/public/js/tinymce/plugins/codesample/plugin.js +1717 -0
  248. package/public/js/tinymce/plugins/codesample/plugin.min.js +9 -0
  249. package/public/js/tinymce/plugins/colorpicker/plugin.js +22 -0
  250. package/public/js/tinymce/plugins/colorpicker/plugin.min.js +9 -0
  251. package/public/js/tinymce/plugins/contextmenu/plugin.js +22 -0
  252. package/public/js/tinymce/plugins/contextmenu/plugin.min.js +9 -0
  253. package/public/js/tinymce/plugins/data/plugin.min.js +209 -0
  254. package/public/js/tinymce/plugins/directionality/plugin.js +314 -0
  255. package/public/js/tinymce/plugins/directionality/plugin.min.js +9 -0
  256. package/public/js/tinymce/plugins/emoticons/js/emojiimages.js +9424 -0
  257. package/public/js/tinymce/plugins/emoticons/js/emojiimages.min.js +3 -0
  258. package/public/js/tinymce/plugins/emoticons/js/emojis.js +9423 -0
  259. package/public/js/tinymce/plugins/emoticons/js/emojis.min.js +2 -0
  260. package/public/js/tinymce/plugins/emoticons/plugin.js +564 -0
  261. package/public/js/tinymce/plugins/emoticons/plugin.min.js +9 -0
  262. package/public/js/tinymce/plugins/fullpage/plugin.js +544 -0
  263. package/public/js/tinymce/plugins/fullpage/plugin.min.js +9 -0
  264. package/public/js/tinymce/plugins/fullscreen/plugin.js +851 -0
  265. package/public/js/tinymce/plugins/fullscreen/plugin.min.js +9 -0
  266. package/public/js/tinymce/plugins/help/plugin.js +846 -0
  267. package/public/js/tinymce/plugins/help/plugin.min.js +9 -0
  268. package/public/js/tinymce/plugins/hr/plugin.js +46 -0
  269. package/public/js/tinymce/plugins/hr/plugin.min.js +9 -0
  270. package/public/js/tinymce/plugins/image/plugin.js +1660 -0
  271. package/public/js/tinymce/plugins/image/plugin.min.js +9 -0
  272. package/public/js/tinymce/plugins/imagetools/plugin.js +1304 -0
  273. package/public/js/tinymce/plugins/imagetools/plugin.min.js +9 -0
  274. package/public/js/tinymce/plugins/importcss/plugin.js +337 -0
  275. package/public/js/tinymce/plugins/importcss/plugin.min.js +9 -0
  276. package/public/js/tinymce/plugins/insertdatetime/plugin.js +177 -0
  277. package/public/js/tinymce/plugins/insertdatetime/plugin.min.js +9 -0
  278. package/public/js/tinymce/plugins/legacyoutput/plugin.js +199 -0
  279. package/public/js/tinymce/plugins/legacyoutput/plugin.min.js +9 -0
  280. package/public/js/tinymce/plugins/link/plugin.js +1219 -0
  281. package/public/js/tinymce/plugins/link/plugin.min.js +9 -0
  282. package/public/js/tinymce/plugins/lists/plugin.js +2163 -0
  283. package/public/js/tinymce/plugins/lists/plugin.min.js +9 -0
  284. package/public/js/tinymce/plugins/media/plugin.js +1315 -0
  285. package/public/js/tinymce/plugins/media/plugin.min.js +9 -0
  286. package/public/js/tinymce/plugins/nonbreaking/plugin.js +101 -0
  287. package/public/js/tinymce/plugins/nonbreaking/plugin.min.js +9 -0
  288. package/public/js/tinymce/plugins/noneditable/plugin.js +117 -0
  289. package/public/js/tinymce/plugins/noneditable/plugin.min.js +9 -0
  290. package/public/js/tinymce/plugins/pagebreak/plugin.js +107 -0
  291. package/public/js/tinymce/plugins/pagebreak/plugin.min.js +9 -0
  292. package/public/js/tinymce/plugins/pagelink/plugin.min.js +171 -0
  293. package/public/js/tinymce/plugins/paper/plugin.min.js +80 -0
  294. package/public/js/tinymce/plugins/paste/plugin.js +1707 -0
  295. package/public/js/tinymce/plugins/paste/plugin.min.js +9 -0
  296. package/public/js/tinymce/plugins/preview/plugin.js +127 -0
  297. package/public/js/tinymce/plugins/preview/plugin.min.js +9 -0
  298. package/public/js/tinymce/plugins/print/plugin.js +53 -0
  299. package/public/js/tinymce/plugins/print/plugin.min.js +9 -0
  300. package/public/js/tinymce/plugins/quickbars/plugin.js +488 -0
  301. package/public/js/tinymce/plugins/quickbars/plugin.min.js +9 -0
  302. package/public/js/tinymce/plugins/save/plugin.js +119 -0
  303. package/public/js/tinymce/plugins/save/plugin.min.js +9 -0
  304. package/public/js/tinymce/plugins/searchreplace/plugin.js +1167 -0
  305. package/public/js/tinymce/plugins/searchreplace/plugin.min.js +9 -0
  306. package/public/js/tinymce/plugins/spellchecker/plugin.js +737 -0
  307. package/public/js/tinymce/plugins/spellchecker/plugin.min.js +9 -0
  308. package/public/js/tinymce/plugins/tabfocus/plugin.js +128 -0
  309. package/public/js/tinymce/plugins/tabfocus/plugin.min.js +9 -0
  310. package/public/js/tinymce/plugins/table/plugin.min.js +9805 -0
  311. package/public/js/tinymce/plugins/table/plugin.min.js1 +9 -0
  312. package/public/js/tinymce/plugins/template/plugin.js +562 -0
  313. package/public/js/tinymce/plugins/template/plugin.min.js +9 -0
  314. package/public/js/tinymce/plugins/textattribute/plugin.min.js +76 -0
  315. package/public/js/tinymce/plugins/textcolor/plugin.js +22 -0
  316. package/public/js/tinymce/plugins/textcolor/plugin.min.js +9 -0
  317. package/public/js/tinymce/plugins/textpattern/plugin.js +1392 -0
  318. package/public/js/tinymce/plugins/textpattern/plugin.min.js +9 -0
  319. package/public/js/tinymce/plugins/toc/plugin.js +235 -0
  320. package/public/js/tinymce/plugins/toc/plugin.min.js +9 -0
  321. package/public/js/tinymce/plugins/visualblocks/plugin.js +104 -0
  322. package/public/js/tinymce/plugins/visualblocks/plugin.min.js +9 -0
  323. package/public/js/tinymce/plugins/visualchars/plugin.js +541 -0
  324. package/public/js/tinymce/plugins/visualchars/plugin.min.js +9 -0
  325. package/public/js/tinymce/plugins/wordcount/plugin.js +416 -0
  326. package/public/js/tinymce/plugins/wordcount/plugin.min.js +9 -0
  327. package/public/js/tinymce/readme.md +77 -0
  328. package/public/js/tinymce/skins/content/dark/content.css +59 -0
  329. package/public/js/tinymce/skins/content/dark/content.min.css +7 -0
  330. package/public/js/tinymce/skins/content/dark/content.min.css.map +1 -0
  331. package/public/js/tinymce/skins/content/default/content.css +49 -0
  332. package/public/js/tinymce/skins/content/default/content.min.css +7 -0
  333. package/public/js/tinymce/skins/content/default/content.min.css.map +1 -0
  334. package/public/js/tinymce/skins/content/document/content.css +54 -0
  335. package/public/js/tinymce/skins/content/document/content.min.css +7 -0
  336. package/public/js/tinymce/skins/content/document/content.min.css.map +1 -0
  337. package/public/js/tinymce/skins/content/writer/content.css +50 -0
  338. package/public/js/tinymce/skins/content/writer/content.min.css +7 -0
  339. package/public/js/tinymce/skins/content/writer/content.min.css.map +1 -0
  340. package/public/js/tinymce/skins/ui/oxide/content.css +693 -0
  341. package/public/js/tinymce/skins/ui/oxide/content.inline.css +687 -0
  342. package/public/js/tinymce/skins/ui/oxide/content.inline.min.css +7 -0
  343. package/public/js/tinymce/skins/ui/oxide/content.inline.min.css.map +1 -0
  344. package/public/js/tinymce/skins/ui/oxide/content.min.css +7 -0
  345. package/public/js/tinymce/skins/ui/oxide/content.min.css.map +1 -0
  346. package/public/js/tinymce/skins/ui/oxide/content.mobile.css +29 -0
  347. package/public/js/tinymce/skins/ui/oxide/content.mobile.min.css +7 -0
  348. package/public/js/tinymce/skins/ui/oxide/content.mobile.min.css.map +1 -0
  349. package/public/js/tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff +0 -0
  350. package/public/js/tinymce/skins/ui/oxide/skin.css +2937 -0
  351. package/public/js/tinymce/skins/ui/oxide/skin.min.css +7 -0
  352. package/public/js/tinymce/skins/ui/oxide/skin.min.css.map +1 -0
  353. package/public/js/tinymce/skins/ui/oxide/skin.mobile.css +673 -0
  354. package/public/js/tinymce/skins/ui/oxide/skin.mobile.min.css +7 -0
  355. package/public/js/tinymce/skins/ui/oxide/skin.mobile.min.css.map +1 -0
  356. package/public/js/tinymce/skins/ui/oxide/skin.shadowdom.min.css +7 -0
  357. package/public/js/tinymce/skins/ui/oxide-dark/content.css +675 -0
  358. package/public/js/tinymce/skins/ui/oxide-dark/content.inline.css +687 -0
  359. package/public/js/tinymce/skins/ui/oxide-dark/content.inline.min.css +7 -0
  360. package/public/js/tinymce/skins/ui/oxide-dark/content.inline.min.css.map +1 -0
  361. package/public/js/tinymce/skins/ui/oxide-dark/content.min.css +7 -0
  362. package/public/js/tinymce/skins/ui/oxide-dark/content.min.css.map +1 -0
  363. package/public/js/tinymce/skins/ui/oxide-dark/content.mobile.css +29 -0
  364. package/public/js/tinymce/skins/ui/oxide-dark/content.mobile.min.css +7 -0
  365. package/public/js/tinymce/skins/ui/oxide-dark/content.mobile.min.css.map +1 -0
  366. package/public/js/tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff +0 -0
  367. package/public/js/tinymce/skins/ui/oxide-dark/skin.css +2937 -0
  368. package/public/js/tinymce/skins/ui/oxide-dark/skin.min.css +7 -0
  369. package/public/js/tinymce/skins/ui/oxide-dark/skin.min.css.map +1 -0
  370. package/public/js/tinymce/skins/ui/oxide-dark/skin.mobile.css +673 -0
  371. package/public/js/tinymce/skins/ui/oxide-dark/skin.mobile.min.css +7 -0
  372. package/public/js/tinymce/skins/ui/oxide-dark/skin.mobile.min.css.map +1 -0
  373. package/public/js/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css +7 -0
  374. package/public/js/tinymce/themes/mobile/theme.js +13612 -0
  375. package/public/js/tinymce/themes/mobile/theme.min.js +9 -0
  376. package/public/js/tinymce/themes/silver/theme.js +31769 -0
  377. package/public/js/tinymce/themes/silver/theme.min.js +9 -0
  378. package/public/js/tinymce/tinymce.d.ts +2916 -0
  379. package/public/js/tinymce/tinymce.min.js +9 -0
  380. package/public/luckysheet/iconfont.css +456 -0
  381. package/public/luckysheet/luckysheet.css +1 -0
  382. package/public/luckysheet/luckysheet.umd.js +27 -0
  383. package/public/luckysheet/plugin.js +1 -0
  384. package/public/luckysheet/plugins.css +10 -0
  385. package/public/luckysheet/pluginsCss.css +1 -0
  386. package/public/robots.txt +2 -0
  387. package/public/signature.html +445 -0
  388. package/sh.exe.stackdump +11 -0
  389. package/src/App.vue +31 -0
  390. package/src/api/README.md +1 -0
  391. package/src/api/config.js +187 -0
  392. package/src/api/createHttp.js +160 -0
  393. package/src/api/index.js +32 -0
  394. package/src/assets/bdrz/banlizhong.png +0 -0
  395. package/src/assets/bdrz/chenggong.png +0 -0
  396. package/src/assets/bdrz/danwei.png +0 -0
  397. package/src/assets/bdrz/hedui.png +0 -0
  398. package/src/assets/bdrz/laoziguanli.png +0 -0
  399. package/src/assets/bdrz/location.png +0 -0
  400. package/src/assets/bdrz/locationl.png +0 -0
  401. package/src/assets/bdrz/phone.png +0 -0
  402. package/src/assets/bdrz/phonel.png +0 -0
  403. package/src/assets/bdrz/shouzhi.png +0 -0
  404. package/src/assets/bdrz/time.png +0 -0
  405. package/src/assets/bdrz/timel.png +0 -0
  406. package/src/assets/bdrz/wancheng.png +0 -0
  407. package/src/assets/bdrz/zuobiao.png +0 -0
  408. package/src/assets/customTranslate/customTranslate.js +13 -0
  409. package/src/assets/customTranslate/translations.js +218 -0
  410. package/src/assets/data/card.png +0 -0
  411. package/src/assets/data/code.png +0 -0
  412. package/src/assets/home/apply.png +0 -0
  413. package/src/assets/home/banner1.png +0 -0
  414. package/src/assets/home/banner11.png +0 -0
  415. package/src/assets/home/banner12.png +0 -0
  416. package/src/assets/home/banner2.png +0 -0
  417. package/src/assets/home/banner3.png +0 -0
  418. package/src/assets/home/benke.png +0 -0
  419. package/src/assets/home/chengguo.png +0 -0
  420. package/src/assets/home/gaojirencaisousuo.png +0 -0
  421. package/src/assets/home/hangyebiaozhun.png +0 -0
  422. package/src/assets/home/huojiang.png +0 -0
  423. package/src/assets/home/icon-test.png +0 -0
  424. package/src/assets/home/kaoshi.png +0 -0
  425. package/src/assets/home/kejichengguo.png +0 -0
  426. package/src/assets/home/keyanxiangmu.png +0 -0
  427. package/src/assets/home/lunwendao.png +0 -0
  428. package/src/assets/home/message.png +0 -0
  429. package/src/assets/home/my-yanjiubaogao.png +0 -0
  430. package/src/assets/home/nodata.png +0 -0
  431. package/src/assets/home/people.png +0 -0
  432. package/src/assets/home/qita.png +0 -0
  433. package/src/assets/home/schoollogo.png +0 -0
  434. package/src/assets/home/search.png +0 -0
  435. package/src/assets/home/shenbaoguanli.png +0 -0
  436. package/src/assets/home/shouye.png +0 -0
  437. package/src/assets/home/title.png +0 -0
  438. package/src/assets/home/todo.png +0 -0
  439. package/src/assets/home/wave0.png +0 -0
  440. package/src/assets/home/wave1.png +0 -0
  441. package/src/assets/home/wave2.png +0 -0
  442. package/src/assets/home/wodeshuju(1).png +0 -0
  443. package/src/assets/home/xinxizhongxin.png +0 -0
  444. package/src/assets/home/yanjiusheng.png +0 -0
  445. package/src/assets/home/yeji.png +0 -0
  446. package/src/assets/home/zhengjiuniandukaohe.png +0 -0
  447. package/src/assets/home/zhengshu.png +0 -0
  448. package/src/assets/home/zhidao.png +0 -0
  449. package/src/assets/home/zhuanli.png +0 -0
  450. package/src/assets/home/zhuanye.png +0 -0
  451. package/src/assets/home/zhuzuoquan.png +0 -0
  452. package/src/assets/images/add.png +0 -0
  453. package/src/assets/images/app.png +0 -0
  454. package/src/assets/images/apply_bg.png +0 -0
  455. package/src/assets/images/auto.png +0 -0
  456. package/src/assets/images/book.png +0 -0
  457. package/src/assets/images/clear.png +0 -0
  458. package/src/assets/images/contact_bg.png +0 -0
  459. package/src/assets/images/data/benke.png +0 -0
  460. package/src/assets/images/data/chengguo.png +0 -0
  461. package/src/assets/images/data/chubanwu.png +0 -0
  462. package/src/assets/images/data/erjidanwei.png +0 -0
  463. package/src/assets/images/data/hangyebiaozhun.png +0 -0
  464. package/src/assets/images/data/huojiang(1).png +0 -0
  465. package/src/assets/images/data/huojiang(2).png +0 -0
  466. package/src/assets/images/data/icon-test.png +0 -0
  467. package/src/assets/images/data/jianzhi.png +0 -0
  468. package/src/assets/images/data/jiaozhigong.png +0 -0
  469. package/src/assets/images/data/keyanxiangmu.png +0 -0
  470. package/src/assets/images/data/keyanxiangmu/346/213/267/350/264/2352.png +0 -0
  471. package/src/assets/images/data/lunwen(1).png +0 -0
  472. package/src/assets/images/data/lunwendao.png +0 -0
  473. package/src/assets/images/data/lunwendao/346/213/267/350/264/2352.png +0 -0
  474. package/src/assets/images/data/pingtai.png +0 -0
  475. package/src/assets/images/data/pingtai/346/213/267/350/264/235.png +0 -0
  476. package/src/assets/images/data/shengbujijiaoxuechengguojiang.png +0 -0
  477. package/src/assets/images/data/wudachengguozhuanhuazhongxin.png +0 -0
  478. package/src/assets/images/data/xueke(1).png +0 -0
  479. package/src/assets/images/data/yanjiusheng.png +0 -0
  480. package/src/assets/images/data/zhidao.png +0 -0
  481. package/src/assets/images/data/zhuanli.png +0 -0
  482. package/src/assets/images/data/zhuzuoquan.png +0 -0
  483. package/src/assets/images/error.png +0 -0
  484. package/src/assets/images/file.png +0 -0
  485. package/src/assets/images/hall_banner.png +0 -0
  486. package/src/assets/images/hr.png +0 -0
  487. package/src/assets/images/index/benke.png +0 -0
  488. package/src/assets/images/index/chengguo.png +0 -0
  489. package/src/assets/images/index/gaojirencaisousuo.png +0 -0
  490. package/src/assets/images/index/hangyebiaozhun.png +0 -0
  491. package/src/assets/images/index/huojiang.png +0 -0
  492. package/src/assets/images/index/icon-test.png +0 -0
  493. package/src/assets/images/index/kaoshi.png +0 -0
  494. package/src/assets/images/index/kejichengguo.png +0 -0
  495. package/src/assets/images/index/keyanxiangmu.png +0 -0
  496. package/src/assets/images/index/lunwendao.png +0 -0
  497. package/src/assets/images/index/my-yanjiubaogao.png +0 -0
  498. package/src/assets/images/index/qita.png +0 -0
  499. package/src/assets/images/index/shenbaoguanli.png +0 -0
  500. package/src/assets/images/index/wodeshuju(1).png +0 -0
  501. package/src/assets/images/index/xinxizhongxin.png +0 -0
  502. package/src/assets/images/index/yanjiusheng.png +0 -0
  503. package/src/assets/images/index/yeji.png +0 -0
  504. package/src/assets/images/index/zhengjiuniandukaohe.png +0 -0
  505. package/src/assets/images/index/zhengshu.png +0 -0
  506. package/src/assets/images/index/zhidao.png +0 -0
  507. package/src/assets/images/index/zhuanli.png +0 -0
  508. package/src/assets/images/index/zhuanye.png +0 -0
  509. package/src/assets/images/index/zhuzuoquan.png +0 -0
  510. package/src/assets/images/index//344/270/232/345/212/241/347/224/263/346/212/245/344/270/200/347/253/231/345/274/217/345/212/236/347/220/206.png +0 -0
  511. package/src/assets/images/index//345/276/205/345/212/236.png +0 -0
  512. package/src/assets/images/index//346/244/255/345/234/2064/346/213/267/350/264/2355.png +0 -0
  513. package/src/assets/images/index//346/244/255/345/234/2065/346/213/267/350/264/235.png +0 -0
  514. package/src/assets/images/index//346/266/210/346/201/257.png +0 -0
  515. package/src/assets/images/index//347/224/263/350/257/267.png +0 -0
  516. package/src/assets/images/index//351/273/230/350/256/244/345/255/246/346/240/241logo.png +0 -0
  517. package/src/assets/images/jian.png +0 -0
  518. package/src/assets/images/login.jpg +0 -0
  519. package/src/assets/images/logo.png +0 -0
  520. package/src/assets/images/m_hall_banner.png +0 -0
  521. package/src/assets/images/mlogin.png +0 -0
  522. package/src/assets/images/module.png +0 -0
  523. package/src/assets/images/offical/111.png +0 -0
  524. package/src/assets/images/offical/haiwaigaocengcirencai.png +0 -0
  525. package/src/assets/images/offical/jiaoxue(1).png +0 -0
  526. package/src/assets/images/offical/niandukaohe-weikaohe.png +0 -0
  527. package/src/assets/images/offical/pinqikaohe.png +0 -0
  528. package/src/assets/images/offical/renshiguanlixinxi_yingongchuguo.png +0 -0
  529. package/src/assets/images/offical/shengbujijiaoxuechengguojiang.png +0 -0
  530. package/src/assets/images/offical/shujucaiji.png +0 -0
  531. package/src/assets/images/offical/yeji(1).png +0 -0
  532. package/src/assets/images/offical/zhuanye.png +0 -0
  533. package/src/assets/images/offical//345/244/232/350/276/271/345/275/2421/346/213/267/350/264/23510.png +0 -0
  534. package/src/assets/images/qq.png +0 -0
  535. package/src/assets/images/role_select.png +0 -0
  536. package/src/assets/images/staff.png +0 -0
  537. package/src/assets/images/success.png +0 -0
  538. package/src/assets/images/theme/aurorablue.png +0 -0
  539. package/src/assets/images/theme/classicblue.png +0 -0
  540. package/src/assets/images/theme/deepblue.png +0 -0
  541. package/src/assets/images/theme/forestgreen.png +0 -0
  542. package/src/assets/images/theme/orange.png +0 -0
  543. package/src/assets/images/theme/palevioletred.png +0 -0
  544. package/src/assets/images/theme/purple.png +0 -0
  545. package/src/assets/images/theme/skyblue.png +0 -0
  546. package/src/assets/images/theme/tiffanyblue.png +0 -0
  547. package/src/assets/images/user_bg.png +0 -0
  548. package/src/assets/images/weixin.png +0 -0
  549. package/src/assets/login/bgimg.jpg +0 -0
  550. package/src/assets/moren.png +0 -0
  551. package/src/assets/wage/baseBanner.png +0 -0
  552. package/src/frame/base/AppModuleTreeFind.vue +51 -0
  553. package/src/frame/base/AttributeSubAdd.vue +29 -0
  554. package/src/frame/base/ChooseApplication.vue +176 -0
  555. package/src/frame/base/ChooseApplicationSet.vue +165 -0
  556. package/src/frame/base/ClientAppItem.vue +217 -0
  557. package/src/frame/base/ClientApplication.vue +446 -0
  558. package/src/frame/base/ClientApplicationList.vue +180 -0
  559. package/src/frame/base/ClientModule.vue +65 -0
  560. package/src/frame/base/ClientModuleIndex.vue +413 -0
  561. package/src/frame/base/ClientTreePage.vue +29 -0
  562. package/src/frame/base/ConfigModuleIndex.vue +82 -0
  563. package/src/frame/base/CurrentClientApplication.vue +33 -0
  564. package/src/frame/base/DeptTreeFind.vue +51 -0
  565. package/src/frame/base/EntityList.vue +71 -0
  566. package/src/frame/base/ModuleTreeFind.vue +51 -0
  567. package/src/frame/base/PageList.vue +47 -0
  568. package/src/frame/base/PermissManage.vue +95 -0
  569. package/src/frame/base/RoleAccredit.vue +961 -0
  570. package/src/frame/base/ServiceAccredit.vue +956 -0
  571. package/src/frame/base/ServiceMenu.vue +380 -0
  572. package/src/frame/base/ServiceOperate.vue +929 -0
  573. package/src/frame/base/ServiceTreePage.vue +31 -0
  574. package/src/frame/components/AddUsedInterface.vue +154 -0
  575. package/src/frame/components/Alert.vue +35 -0
  576. package/src/frame/components/AppList.vue +254 -0
  577. package/src/frame/components/Apply/ApplyIndex.vue +207 -0
  578. package/src/frame/components/AttributeList.vue +612 -0
  579. package/src/frame/components/Banner.vue +25 -0
  580. package/src/frame/components/CardO.vue +112 -0
  581. package/src/frame/components/CheckForm.vue +20 -0
  582. package/src/frame/components/ClientAdminFormItem.vue +49 -0
  583. package/src/frame/components/ClientFormItem.vue +45 -0
  584. package/src/frame/components/ClientList.vue +135 -0
  585. package/src/frame/components/CodeDetail.vue +374 -0
  586. package/src/frame/components/CodeManage.vue +755 -0
  587. package/src/frame/components/ComponentFind.vue +356 -0
  588. package/src/frame/components/ComponentList.vue +521 -0
  589. package/src/frame/components/ConfigParamFormItem.vue +193 -0
  590. package/src/frame/components/CreatePage.vue +329 -0
  591. package/src/frame/components/DataLog.vue +91 -0
  592. package/src/frame/components/DblogList.vue +158 -0
  593. package/src/frame/components/DeptFind.vue +126 -0
  594. package/src/frame/components/DropDown/DropDownMenu.vue +267 -0
  595. package/src/frame/components/DropDown/DropDownMenuItem.vue +489 -0
  596. package/src/frame/components/DynamicUserList.vue +69 -0
  597. package/src/frame/components/EditListTable.vue +774 -0
  598. package/src/frame/components/EntityCheckboxFind.vue +88 -0
  599. package/src/frame/components/EntityRelationAdd.vue +201 -0
  600. package/src/frame/components/EntityRelationAddFormItem.vue +100 -0
  601. package/src/frame/components/EntityRightFormItem.vue +616 -0
  602. package/src/frame/components/EntityRightSubList.vue +588 -0
  603. package/src/frame/components/EntityTreeManage.vue +852 -0
  604. package/src/frame/components/EntityViewFields.vue +401 -0
  605. package/src/frame/components/EntityViewSubList.vue +976 -0
  606. package/src/frame/components/ExportSystemConfig.vue +103 -0
  607. package/src/frame/components/FieldAddFormItem.vue +35 -0
  608. package/src/frame/components/Footer.vue +120 -0
  609. package/src/frame/components/FormulaEditor.vue +1216 -0
  610. package/src/frame/components/HallNav.vue +450 -0
  611. package/src/frame/components/HeaderNav.vue +417 -0
  612. package/src/frame/components/IconCard.vue +158 -0
  613. package/src/frame/components/IconFontLibrary.vue +59 -0
  614. package/src/frame/components/IconFontList.vue +75 -0
  615. package/src/frame/components/IdentifyList.vue +33 -0
  616. package/src/frame/components/ImportSystemConfig.vue +206 -0
  617. package/src/frame/components/InterfaceSubList.vue +295 -0
  618. package/src/frame/components/JsPanel.vue +103 -0
  619. package/src/frame/components/LanguageImportPage.vue +598 -0
  620. package/src/frame/components/LanguageSetting.vue +449 -0
  621. package/src/frame/components/List/LinkItem.vue +98 -0
  622. package/src/frame/components/List/List.vue +17 -0
  623. package/src/frame/components/List/ListItem.vue +52 -0
  624. package/src/frame/components/ListTable.vue +796 -0
  625. package/src/frame/components/MEntitySubList.vue +199 -0
  626. package/src/frame/components/MenuTreeFind.vue +107 -0
  627. package/src/frame/components/MessageList.vue +137 -0
  628. package/src/frame/components/MessageRuleFormItem.vue +61 -0
  629. package/src/frame/components/MessageRuleReceiverFormItem.vue +173 -0
  630. package/src/frame/components/MessageTemplate.vue +791 -0
  631. package/src/frame/components/MetaList.vue +65 -0
  632. package/src/frame/components/Mine.vue +114 -0
  633. package/src/frame/components/Nav.vue +599 -0
  634. package/src/frame/components/NavFormCatalogItem.vue +9 -0
  635. package/src/frame/components/NumList.vue +108 -0
  636. package/src/frame/components/OperateLog.vue +168 -0
  637. package/src/frame/components/PageCatalog.vue +454 -0
  638. package/src/frame/components/PageChart.vue +306 -0
  639. package/src/frame/components/PageSwipes.vue +179 -0
  640. package/src/frame/components/PersonFormItem.vue +92 -0
  641. package/src/frame/components/Popup.vue +181 -0
  642. package/src/frame/components/PrintFormList.vue +495 -0
  643. package/src/frame/components/PublishEntity.vue +87 -0
  644. package/src/frame/components/ReportFormList.vue +247 -0
  645. package/src/frame/components/ReportList.vue +493 -0
  646. package/src/frame/components/RightSubList.vue +253 -0
  647. package/src/frame/components/RoleAddUser.vue +50 -0
  648. package/src/frame/components/RoleApplicationCard.vue +299 -0
  649. package/src/frame/components/RoleApplicationList.vue +766 -0
  650. package/src/frame/components/RoleApplicationSet.vue +845 -0
  651. package/src/frame/components/RuleText.vue +98 -0
  652. package/src/frame/components/Search.vue +270 -0
  653. package/src/frame/components/ServiceFormItem.vue +29 -0
  654. package/src/frame/components/SubAdd.vue +0 -0
  655. package/src/frame/components/SystemNav.vue +18 -0
  656. package/src/frame/components/TaskNumCard.vue +26 -0
  657. package/src/frame/components/TimerRuleFormItem.vue +227 -0
  658. package/src/frame/components/TodoList.vue +429 -0
  659. package/src/frame/components/UpdateSystemConfig.vue +186 -0
  660. package/src/frame/components/UserCard.vue +110 -0
  661. package/src/frame/components/UserFind.vue +438 -0
  662. package/src/frame/components/UserFormItem.vue +666 -0
  663. package/src/frame/components/UserList.vue +17 -0
  664. package/src/frame/components/UserManage.vue +716 -0
  665. package/src/frame/components/ValidateRuleFormItem.vue +40 -0
  666. package/src/frame/components/ViewFieldDefine.vue +554 -0
  667. package/src/frame/components/attribute/Form.vue +439 -0
  668. package/src/frame/components/authorization/AddApiPermiss.vue +179 -0
  669. package/src/frame/components/authorization/AddAuthorization.vue +135 -0
  670. package/src/frame/components/authorization/AddEntityFind.vue +68 -0
  671. package/src/frame/components/authorization/AddNoApi.vue +143 -0
  672. package/src/frame/components/authorization/AddRoleScope.vue +291 -0
  673. package/src/frame/components/authorization/ApiShareOtherList.vue +353 -0
  674. package/src/frame/components/authorization/ApiSystemList.vue +315 -0
  675. package/src/frame/components/authorization/AuthorizationRoleSystem.vue +213 -0
  676. package/src/frame/components/authorization/EntityConstraintFormItem.vue +255 -0
  677. package/src/frame/components/authorization/OtherShareApiList.vue +248 -0
  678. package/src/frame/components/authorization/PermissRoleAuthorization.vue +583 -0
  679. package/src/frame/components/authorization/PermissRoleTabs.vue +117 -0
  680. package/src/frame/components/authorization/RoleLevel.vue +113 -0
  681. package/src/frame/components/authorization/RoleLevelScope.vue +247 -0
  682. package/src/frame/components/card/CardList.vue +78 -0
  683. package/src/frame/components/card/CardListItem.vue +147 -0
  684. package/src/frame/components/card/Title.vue +38 -0
  685. package/src/frame/components/chart/CircularPie.vue +11 -0
  686. package/src/frame/components/chart/Column.vue +11 -0
  687. package/src/frame/components/chart/HoriColumn.vue +11 -0
  688. package/src/frame/components/chart/Line.vue +11 -0
  689. package/src/frame/components/chart/Pie.vue +11 -0
  690. package/src/frame/components/custom-bpmn/CustomContextPad.js +58 -0
  691. package/src/frame/components/custom-bpmn/CustomPalette.js +257 -0
  692. package/src/frame/components/custom-bpmn/CustomRenderer.js +115 -0
  693. package/src/frame/components/custom-bpmn/CustomRendererBpmn.js +45 -0
  694. package/src/frame/components/custom-bpmn/PropertiesView.vue +4046 -0
  695. package/src/frame/components/custom-bpmn/img/chaxun.png +0 -0
  696. package/src/frame/components/custom-bpmn/img/fasong.png +0 -0
  697. package/src/frame/components/custom-bpmn/img/gengxin.png +0 -0
  698. package/src/frame/components/custom-bpmn/img/jiagong.png +0 -0
  699. package/src/frame/components/custom-bpmn/img/jiekou.png +0 -0
  700. package/src/frame/components/custom-bpmn/img/shanchu.png +0 -0
  701. package/src/frame/components/custom-bpmn/img/tongbu.png +0 -0
  702. package/src/frame/components/custom-bpmn/img/xinzeng.png +0 -0
  703. package/src/frame/components/custom-bpmn/img/xunhuanend.png +0 -0
  704. package/src/frame/components/custom-bpmn/img/xunhuanstart.png +0 -0
  705. package/src/frame/components/custom-bpmn/img/ywgz.png +0 -0
  706. package/src/frame/components/custom-bpmn/index.js +6 -0
  707. package/src/frame/components/custom-bpmn/palette.js +18 -0
  708. package/src/frame/components/custom-bpmn/util.js +5 -0
  709. package/src/frame/components/expand/AddForm.vue +91 -0
  710. package/src/frame/components/expand/AddFormItem.vue +144 -0
  711. package/src/frame/components/filter/Filter.vue +744 -0
  712. package/src/frame/components/filter/FilterItem.vue +516 -0
  713. package/src/frame/components/form/Cascader.vue +79 -0
  714. package/src/frame/components/form/CheckBox.vue +88 -0
  715. package/src/frame/components/form/Date.vue +154 -0
  716. package/src/frame/components/form/DateRange.vue +108 -0
  717. package/src/frame/components/form/Field.vue +91 -0
  718. package/src/frame/components/form/File.vue +415 -0
  719. package/src/frame/components/form/FormItem.vue +128 -0
  720. package/src/frame/components/form/Hidden.vue +77 -0
  721. package/src/frame/components/form/Input.vue +123 -0
  722. package/src/frame/components/form/List.vue +149 -0
  723. package/src/frame/components/form/Object.vue +225 -0
  724. package/src/frame/components/form/Photo.vue +235 -0
  725. package/src/frame/components/form/Textarea.vue +133 -0
  726. package/src/frame/components/grid/Module.vue +63 -0
  727. package/src/frame/components/grid/ModuleItem.vue +205 -0
  728. package/src/frame/components/hall/AppCollect.vue +189 -0
  729. package/src/frame/components/hall/AppList.vue +407 -0
  730. package/src/frame/components/hall/AppVisitRecord.vue +170 -0
  731. package/src/frame/components/hall/Banner.vue +21 -0
  732. package/src/frame/components/hall/ServiceCard.vue +202 -0
  733. package/src/frame/components/hall/UserCard.vue +112 -0
  734. package/src/frame/components/mscope/Scope.vue +90 -0
  735. package/src/frame/components/mscope/ScopeItem.vue +372 -0
  736. package/src/frame/components/mscope/drawer.vue +43 -0
  737. package/src/frame/components/permiss/AddApi.vue +119 -0
  738. package/src/frame/components/permiss/AddNoEntityApi.vue +131 -0
  739. package/src/frame/components/permiss/AddSystemPermiss.vue +107 -0
  740. package/src/frame/components/permiss/AllocateRole.vue +107 -0
  741. package/src/frame/components/permiss/ApiSubList.vue +193 -0
  742. package/src/frame/components/permiss/FieldScope.vue +138 -0
  743. package/src/frame/components/permiss/ListTable.vue +842 -0
  744. package/src/frame/components/permiss/PermissEdit.vue +61 -0
  745. package/src/frame/components/permiss/PermissManage.vue +96 -0
  746. package/src/frame/components/permiss/PermissManageAdd.vue +203 -0
  747. package/src/frame/components/permiss/RoleMenu.vue +405 -0
  748. package/src/frame/components/permiss/RoleSubList.vue +264 -0
  749. package/src/frame/components/permiss/jurisdiction.vue +425 -0
  750. package/src/frame/components/report/ChartLine.vue +253 -0
  751. package/src/frame/components/report/ChartPie.vue +345 -0
  752. package/src/frame/components/report/Config.vue +709 -0
  753. package/src/frame/components/report/Design.vue +2783 -0
  754. package/src/frame/components/report/Index.vue +115 -0
  755. package/src/frame/components/report/ReportTable.vue +1051 -0
  756. package/src/frame/components/report/StatList.vue +229 -0
  757. package/src/frame/components/right/RoleDataList.vue +291 -0
  758. package/src/frame/components/right/RoleFieldList.vue +348 -0
  759. package/src/frame/components/scope/Scope.vue +497 -0
  760. package/src/frame/components/scope/ScopeDrawer.vue +195 -0
  761. package/src/frame/components/scope/ScopeItem.vue +973 -0
  762. package/src/frame/components/task-list/TaskList.vue +617 -0
  763. package/src/frame/components/task-list/Visual.vue +45 -0
  764. package/src/frame/components/task-list/index.js +3 -0
  765. package/src/frame/components/task-list-page/TaskListPage.vue +26 -0
  766. package/src/frame/components/task-list-page/index.js +8 -0
  767. package/src/frame/components/upLoad.vue +69 -0
  768. package/src/frame/components/viewport/LookViewList.vue +28 -0
  769. package/src/frame/components/viewport/ViewAddForm.vue +151 -0
  770. package/src/frame/components/viewport/ViewDefineList.vue +53 -0
  771. package/src/frame/components/viewport/ViewFiedList.vue +646 -0
  772. package/src/frame/components/viewport/ViewScope.vue +109 -0
  773. package/src/frame/index.js +37 -0
  774. package/src/frame/packages/add-form/AddForm.vue +2128 -0
  775. package/src/frame/packages/add-form/Preview.vue +312 -0
  776. package/src/frame/packages/add-form/index.js +8 -0
  777. package/src/frame/packages/add-form-item/AddFormItem.vue +446 -0
  778. package/src/frame/packages/add-form-item/Preview.vue +92 -0
  779. package/src/frame/packages/add-form-item/index.js +8 -0
  780. package/src/frame/packages/alter/Alert.vue +42 -0
  781. package/src/frame/packages/alter/Visual.vue +58 -0
  782. package/src/frame/packages/alter/index.js +8 -0
  783. package/src/frame/packages/app-index/AppIndex.vue +188 -0
  784. package/src/frame/packages/app-index/index.js +8 -0
  785. package/src/frame/packages/app-nav/AppNav.vue +1553 -0
  786. package/src/frame/packages/app-nav/Preview.vue +13 -0
  787. package/src/frame/packages/app-nav/index.js +8 -0
  788. package/src/frame/packages/app-tabs/Tabs.vue +121 -0
  789. package/src/frame/packages/app-tabs/index.js +8 -0
  790. package/src/frame/packages/apply-form/ApplyForm.vue +68 -0
  791. package/src/frame/packages/apply-form/index.js +3 -0
  792. package/src/frame/packages/approval-index/ApprovalIndex.vue +465 -0
  793. package/src/frame/packages/approval-index/index.js +8 -0
  794. package/src/frame/packages/approval-index-page/ApprovalIndexPage.vue +21 -0
  795. package/src/frame/packages/approval-index-page/index.js +8 -0
  796. package/src/frame/packages/base-page/BasePage.vue +221 -0
  797. package/src/frame/packages/base-page/index.js +8 -0
  798. package/src/frame/packages/button/Button.vue +47 -0
  799. package/src/frame/packages/button/Preview.vue +33 -0
  800. package/src/frame/packages/button/index.js +8 -0
  801. package/src/frame/packages/card/Card.vue +291 -0
  802. package/src/frame/packages/card/index.js +8 -0
  803. package/src/frame/packages/card-form-item/CardFormItem.vue +301 -0
  804. package/src/frame/packages/card-form-item/Visual.vue +101 -0
  805. package/src/frame/packages/card-form-item/index.js +3 -0
  806. package/src/frame/packages/category-list/CategoryList.vue +854 -0
  807. package/src/frame/packages/category-list/index.js +8 -0
  808. package/src/frame/packages/chart/Chart.vue +124 -0
  809. package/src/frame/packages/chart/ChartColumn.vue +365 -0
  810. package/src/frame/packages/chart/ChartFormItem.vue +241 -0
  811. package/src/frame/packages/chart/ChartLine.vue +317 -0
  812. package/src/frame/packages/chart/ChartPie.vue +384 -0
  813. package/src/frame/packages/chart/Funnel.vue +379 -0
  814. package/src/frame/packages/chart/ReportTable.vue +1139 -0
  815. package/src/frame/packages/chart/index.js +23 -0
  816. package/src/frame/packages/check-history/CheckHistory.vue +510 -0
  817. package/src/frame/packages/check-history/Steps.vue +213 -0
  818. package/src/frame/packages/check-history/index.js +8 -0
  819. package/src/frame/packages/component/Component.vue +16 -0
  820. package/src/frame/packages/component/index.js +8 -0
  821. package/src/frame/packages/contacts/Card.vue +133 -0
  822. package/src/frame/packages/contacts/Contacts.vue +167 -0
  823. package/src/frame/packages/contacts/index.js +8 -0
  824. package/src/frame/packages/edit-entity-list/EditEntityList.vue +108 -0
  825. package/src/frame/packages/entity-add-page/EntityAddPage.vue +100 -0
  826. package/src/frame/packages/entity-add-page/index.js +8 -0
  827. package/src/frame/packages/entity-apply-page/EntityApplyPage.vue +60 -0
  828. package/src/frame/packages/entity-apply-page/index.js +3 -0
  829. package/src/frame/packages/entity-list/Config.vue +275 -0
  830. package/src/frame/packages/entity-list/EntityList.scss +88 -0
  831. package/src/frame/packages/entity-list/EntityList.vue +2105 -0
  832. package/src/frame/packages/entity-list/Preview.vue +232 -0
  833. package/src/frame/packages/entity-list/components/EditField.vue +76 -0
  834. package/src/frame/packages/entity-list/components/Field.vue +166 -0
  835. package/src/frame/packages/entity-list/config.js +0 -0
  836. package/src/frame/packages/entity-list/index.js +20 -0
  837. package/src/frame/packages/entity-list-find/EntityListFind.vue +161 -0
  838. package/src/frame/packages/entity-list-find/index.js +8 -0
  839. package/src/frame/packages/entity-list-find-page/EntityListFindPage.vue +72 -0
  840. package/src/frame/packages/entity-list-find-page/index.js +8 -0
  841. package/src/frame/packages/entity-list-page/EntityListPage.vue +91 -0
  842. package/src/frame/packages/entity-list-page/index.js +8 -0
  843. package/src/frame/packages/entity-no-submit-sub-list/EntityNoSubmitSubList.vue +302 -0
  844. package/src/frame/packages/entity-no-submit-sub-list/index.js +8 -0
  845. package/src/frame/packages/entity-sub-grid/EntitySubGrid.vue +46 -0
  846. package/src/frame/packages/entity-sub-grid/EntitySubGridItem.vue +68 -0
  847. package/src/frame/packages/entity-sub-grid/index.js +13 -0
  848. package/src/frame/packages/entity-sub-list/EntitySubList.vue +418 -0
  849. package/src/frame/packages/entity-sub-list/index.js +8 -0
  850. package/src/frame/packages/entity-tree-find/EntitytTreeFind.vue +460 -0
  851. package/src/frame/packages/entity-tree-find/index.js +8 -0
  852. package/src/frame/packages/entity-tree-find-page/EntityTreeFindPage.vue +29 -0
  853. package/src/frame/packages/entity-tree-find-page/index.js +8 -0
  854. package/src/frame/packages/export/Export.vue +530 -0
  855. package/src/frame/packages/export/index.js +8 -0
  856. package/src/frame/packages/footer/Footer.vue +142 -0
  857. package/src/frame/packages/footer/index.js +3 -0
  858. package/src/frame/packages/form/Form.vue +611 -0
  859. package/src/frame/packages/form/index.js +8 -0
  860. package/src/frame/packages/form-item/CheckBox.vue +160 -0
  861. package/src/frame/packages/form-item/Color.vue +135 -0
  862. package/src/frame/packages/form-item/Date.vue +330 -0
  863. package/src/frame/packages/form-item/File.vue +712 -0
  864. package/src/frame/packages/form-item/FormItem.vue +464 -0
  865. package/src/frame/packages/form-item/Hidden.vue +55 -0
  866. package/src/frame/packages/form-item/Html.vue +291 -0
  867. package/src/frame/packages/form-item/Input.vue +320 -0
  868. package/src/frame/packages/form-item/Location.vue +313 -0
  869. package/src/frame/packages/form-item/Number.vue +217 -0
  870. package/src/frame/packages/form-item/Object.vue +1195 -0
  871. package/src/frame/packages/form-item/Password.vue +128 -0
  872. package/src/frame/packages/form-item/Photo.vue +362 -0
  873. package/src/frame/packages/form-item/Radio.vue +157 -0
  874. package/src/frame/packages/form-item/Rule.vue +989 -0
  875. package/src/frame/packages/form-item/Scope.vue +224 -0
  876. package/src/frame/packages/form-item/Select.vue +226 -0
  877. package/src/frame/packages/form-item/Signature.vue +242 -0
  878. package/src/frame/packages/form-item/Switch.vue +124 -0
  879. package/src/frame/packages/form-item/Tag.vue +216 -0
  880. package/src/frame/packages/form-item/Textarea.vue +279 -0
  881. package/src/frame/packages/form-item/index.js +45 -0
  882. package/src/frame/packages/grid/Grid.vue +70 -0
  883. package/src/frame/packages/grid/GridItem.vue +190 -0
  884. package/src/frame/packages/grid/index.js +13 -0
  885. package/src/frame/packages/header/Breadcrumb.vue +55 -0
  886. package/src/frame/packages/header/Header.vue +602 -0
  887. package/src/frame/packages/header/Preview.vue +252 -0
  888. package/src/frame/packages/header/index.js +16 -0
  889. package/src/frame/packages/icon/Icon.vue +47 -0
  890. package/src/frame/packages/icon/index.js +7 -0
  891. package/src/frame/packages/iframe/Iframe.vue +17 -0
  892. package/src/frame/packages/iframe/index.js +8 -0
  893. package/src/frame/packages/image/image.vue +23 -0
  894. package/src/frame/packages/import/Import.vue +832 -0
  895. package/src/frame/packages/import/index.js +8 -0
  896. package/src/frame/packages/layout/Column.vue +47 -0
  897. package/src/frame/packages/layout/ColumnPreview.vue +119 -0
  898. package/src/frame/packages/layout/Config.vue +114 -0
  899. package/src/frame/packages/layout/Layout.vue +62 -0
  900. package/src/frame/packages/layout/Preview.vue +111 -0
  901. package/src/frame/packages/layout/index.js +10 -0
  902. package/src/frame/packages/list/List.vue +426 -0
  903. package/src/frame/packages/list/index.js +8 -0
  904. package/src/frame/packages/list/visual/List.vue +349 -0
  905. package/src/frame/packages/load-page/LoadPage.vue +29 -0
  906. package/src/frame/packages/load-page/index.js +8 -0
  907. package/src/frame/packages/m-entity-add-page/MEntityAddPage.vue +100 -0
  908. package/src/frame/packages/m-entity-add-page/index.js +8 -0
  909. package/src/frame/packages/m-entity-list/MEntityList.vue +1083 -0
  910. package/src/frame/packages/m-entity-list/index.js +3 -0
  911. package/src/frame/packages/m-entity-list-find/MEntityListFind.vue +329 -0
  912. package/src/frame/packages/m-entity-list-find/Visual.vue +105 -0
  913. package/src/frame/packages/m-entity-list-find/index.js +3 -0
  914. package/src/frame/packages/m-entity-tree-find/MEntityTreeFind.vue +339 -0
  915. package/src/frame/packages/m-entity-tree-find/index.js +8 -0
  916. package/src/frame/packages/menu/Menu.vue +174 -0
  917. package/src/frame/packages/menu/MenuItem.vue +94 -0
  918. package/src/frame/packages/menu/index.js +16 -0
  919. package/src/frame/packages/menu-index/MenuIndex.vue +444 -0
  920. package/src/frame/packages/menu-index/index.js +8 -0
  921. package/src/frame/packages/mine/Mine.vue +404 -0
  922. package/src/frame/packages/module-index-page/ModuleIndexPage.vue +250 -0
  923. package/src/frame/packages/module-index-page/index.js +7 -0
  924. package/src/frame/packages/module-list/ModuleList.vue +222 -0
  925. package/src/frame/packages/module-list/index.js +8 -0
  926. package/src/frame/packages/module-list-page/ModuleListPage.vue +24 -0
  927. package/src/frame/packages/module-list-page/index.js +8 -0
  928. package/src/frame/packages/nav-add-form/NavAddForm.vue +626 -0
  929. package/src/frame/packages/nav-add-form/index.js +8 -0
  930. package/src/frame/packages/num/CardNum.vue +267 -0
  931. package/src/frame/packages/num/NumItem.vue +192 -0
  932. package/src/frame/packages/num/NumSubItem.vue +137 -0
  933. package/src/frame/packages/num/Statistic.vue +42 -0
  934. package/src/frame/packages/num/index.js +17 -0
  935. package/src/frame/packages/org-chart/OrgChart.vue +301 -0
  936. package/src/frame/packages/org-chart/index.js +8 -0
  937. package/src/frame/packages/page/Page.vue +322 -0
  938. package/src/frame/packages/page/index.js +8 -0
  939. package/src/frame/packages/page-help/PageHelp.vue +28 -0
  940. package/src/frame/packages/page-help/Preview.vue +35 -0
  941. package/src/frame/packages/page-help/index.js +8 -0
  942. package/src/frame/packages/page-tabs/PageTabs.vue +188 -0
  943. package/src/frame/packages/page-tabs/index.js +8 -0
  944. package/src/frame/packages/progress/Progress.vue +287 -0
  945. package/src/frame/packages/progress/ProgressItem.vue +39 -0
  946. package/src/frame/packages/progress/index.js +13 -0
  947. package/src/frame/packages/progress-chart/ProcessChart.vue +210 -0
  948. package/src/frame/packages/progress-chart/index.js +8 -0
  949. package/src/frame/packages/report-form-list/ReportFormList.vue +0 -0
  950. package/src/frame/packages/router-view/RouterView.vue +229 -0
  951. package/src/frame/packages/router-view/index.js +8 -0
  952. package/src/frame/packages/scope/Scope.vue +594 -0
  953. package/src/frame/packages/scope/ScopeDrawer.vue +201 -0
  954. package/src/frame/packages/scope/ScopeItem.vue +987 -0
  955. package/src/frame/packages/scope/index.js +15 -0
  956. package/src/frame/packages/search/Fields.vue +326 -0
  957. package/src/frame/packages/search/Filter.vue +473 -0
  958. package/src/frame/packages/search/Keyword.vue +106 -0
  959. package/src/frame/packages/search/Mobile.vue +314 -0
  960. package/src/frame/packages/search/Select.vue +238 -0
  961. package/src/frame/packages/search/index.js +22 -0
  962. package/src/frame/packages/step/Step.vue +149 -0
  963. package/src/frame/packages/step/index.js +8 -0
  964. package/src/frame/packages/step-item/StepItem.vue +126 -0
  965. package/src/frame/packages/step-item/index.js +8 -0
  966. package/src/frame/packages/tab-bar/Config.vue +11 -0
  967. package/src/frame/packages/tab-bar/TabBar.vue +25 -0
  968. package/src/frame/packages/tab-bar/index.js +3 -0
  969. package/src/frame/packages/text/Text.vue +25 -0
  970. package/src/frame/packages/text-editor/TextEditor.vue +22 -0
  971. package/src/frame/packages/title/Title.vue +21 -0
  972. package/src/frame/packages/title/index.js +8 -0
  973. package/src/frame/packages/visual-config-page/ComponentLibrary.vue +198 -0
  974. package/src/frame/packages/visual-config-page/ComponentList.vue +565 -0
  975. package/src/frame/packages/visual-config-page/ComponentPreview.vue +153 -0
  976. package/src/frame/packages/visual-config-page/ConfigOption.vue +16 -0
  977. package/src/frame/packages/visual-config-page/ConfigPanel.vue +576 -0
  978. package/src/frame/packages/visual-config-page/PagePreview.vue +53 -0
  979. package/src/frame/packages/visual-config-page/VisualConfigPage.vue +632 -0
  980. package/src/frame/packages/visual-config-page/index.js +24 -0
  981. package/src/frame/popup.js +31 -0
  982. package/src/frame/views/Add.vue +823 -0
  983. package/src/frame/views/App.vue +49 -0
  984. package/src/frame/views/AppRoleSelect.vue +272 -0
  985. package/src/frame/views/AppSubModule.vue +50 -0
  986. package/src/frame/views/BatchEdit.vue +206 -0
  987. package/src/frame/views/Bpmn.vue +553 -0
  988. package/src/frame/views/Container.vue +294 -0
  989. package/src/frame/views/DblogList.vue +348 -0
  990. package/src/frame/views/EntityCheckList.vue +164 -0
  991. package/src/frame/views/EntityCheckPage.vue +44 -0
  992. package/src/frame/views/EntityDetailPage.vue +75 -0
  993. package/src/frame/views/EntityEditApply.vue +136 -0
  994. package/src/frame/views/EntityEditPage.vue +13 -0
  995. package/src/frame/views/EntityFind.vue +135 -0
  996. package/src/frame/views/EntitySingleAdd.vue +31 -0
  997. package/src/frame/views/EntitySubListPage.vue +44 -0
  998. package/src/frame/views/EntityTreeFind.vue +188 -0
  999. package/src/frame/views/EntityTreePage.vue +37 -0
  1000. package/src/frame/views/EntityTreePageOld.vue +536 -0
  1001. package/src/frame/views/Error.vue +29 -0
  1002. package/src/frame/views/ExcelDesign.vue +1795 -0
  1003. package/src/frame/views/ExcelPreview.vue +173 -0
  1004. package/src/frame/views/ExportPage.vue +19 -0
  1005. package/src/frame/views/FormDesign.vue +1049 -0
  1006. package/src/frame/views/IconFontLibraryPage.vue +74 -0
  1007. package/src/frame/views/ImportPage.vue +19 -0
  1008. package/src/frame/views/List.vue +955 -0
  1009. package/src/frame/views/LocalLogin.vue +27 -0
  1010. package/src/frame/views/Login.vue +1059 -0
  1011. package/src/frame/views/MEntityListPage.vue +83 -0
  1012. package/src/frame/views/MEntitySubListPage.vue +44 -0
  1013. package/src/frame/views/MainModule.vue +83 -0
  1014. package/src/frame/views/MenuIndex.vue +444 -0
  1015. package/src/frame/views/MinePage.vue +18 -0
  1016. package/src/frame/views/Module.vue +203 -0
  1017. package/src/frame/views/ModuleIndex.vue +377 -0
  1018. package/src/frame/views/PageAttriTree.vue +419 -0
  1019. package/src/frame/views/PageAttributeTreePage.vue +424 -0
  1020. package/src/frame/views/PageConfig.vue +218 -0
  1021. package/src/frame/views/Permission.vue +695 -0
  1022. package/src/frame/views/PersonalInfo.vue +659 -0
  1023. package/src/frame/views/QyWechat.vue +69 -0
  1024. package/src/frame/views/ReportFormList.vue +146 -0
  1025. package/src/frame/views/ReportFormListPage.vue +91 -0
  1026. package/src/frame/views/RoleTreePage.vue +180 -0
  1027. package/src/frame/views/ServiceHelp.vue +177 -0
  1028. package/src/frame/views/SubModule.vue +67 -0
  1029. package/src/frame/views/SystemIndex.vue +105 -0
  1030. package/src/frame/views/SystemTabs.vue +87 -0
  1031. package/src/frame/views/TaskPage.vue +46 -0
  1032. package/src/frame/views/client/AddForm.vue +64 -0
  1033. package/src/frame/views/client/AppMarket.vue +345 -0
  1034. package/src/frame/views/client/ClientIndex.vue +261 -0
  1035. package/src/frame/views/client/ClientModuleIndexPage.vue +25 -0
  1036. package/src/frame/views/client/CopySystem.vue +179 -0
  1037. package/src/frame/views/client/CreateMethod.vue +133 -0
  1038. package/src/frame/views/client/Login.vue +234 -0
  1039. package/src/frame/views/client/OpenClientManage.vue +53 -0
  1040. package/src/frame/views/client/PageTabsCyclic.vue +121 -0
  1041. package/src/frame/views/client/SelfBuiltSystem.vue +272 -0
  1042. package/src/frame/views/client/StandardProduct.vue +325 -0
  1043. package/src/frame/views/client/SystemList.vue +160 -0
  1044. package/src/frame/views/client/SystemManager.vue +346 -0
  1045. package/src/frame/views/layout/CardList.vue +123 -0
  1046. package/src/frame/views/layout/Grid.vue +95 -0
  1047. package/src/frame/views/match/AddTargetField.vue +118 -0
  1048. package/src/frame/views/match/MatchAddFormItem.vue +34 -0
  1049. package/src/frame/views/match/conversion.vue +209 -0
  1050. package/src/frame/views/match/customize.vue +344 -0
  1051. package/src/frame/views/match/fieldMatch.vue +518 -0
  1052. package/src/frame/views/report/AddFormItem.vue +67 -0
  1053. package/src/frame/views/report/DesignReport.vue +1213 -0
  1054. package/src/frame/views/report/LookReport.vue +221 -0
  1055. package/src/frame/views/report/ReportAdd.vue +237 -0
  1056. package/src/frame/views/report/ReportFormList.vue +235 -0
  1057. package/src/frame/views/report/ReportList.vue +163 -0
  1058. package/src/frame/views/report/ReportTreeFind.vue +188 -0
  1059. package/src/frame/views/visual/Add.vue +1818 -0
  1060. package/src/frame/views/visual/AddForm.vue +228 -0
  1061. package/src/frame/views/visual/AddFormItem.vue +242 -0
  1062. package/src/frame/views/visual/AppIndex.vue +149 -0
  1063. package/src/frame/views/visual/ApplyForm.vue +142 -0
  1064. package/src/frame/views/visual/AttributeList.vue +329 -0
  1065. package/src/frame/views/visual/BasePage.vue +73 -0
  1066. package/src/frame/views/visual/Button.vue +119 -0
  1067. package/src/frame/views/visual/Card.vue +68 -0
  1068. package/src/frame/views/visual/CardNum.vue +74 -0
  1069. package/src/frame/views/visual/CategoryList.vue +566 -0
  1070. package/src/frame/views/visual/Chart.vue +53 -0
  1071. package/src/frame/views/visual/CheckForm.vue +106 -0
  1072. package/src/frame/views/visual/CheckHistory.vue +28 -0
  1073. package/src/frame/views/visual/ClientList.vue +42 -0
  1074. package/src/frame/views/visual/CodeManage.vue +128 -0
  1075. package/src/frame/views/visual/Component.vue +1142 -0
  1076. package/src/frame/views/visual/ComponentList.vue +288 -0
  1077. package/src/frame/views/visual/Config.vue +888 -0
  1078. package/src/frame/views/visual/ConfigItem.vue +218 -0
  1079. package/src/frame/views/visual/ConfigSelectItems.vue +521 -0
  1080. package/src/frame/views/visual/CreatePage.vue +397 -0
  1081. package/src/frame/views/visual/DblogList.vue +137 -0
  1082. package/src/frame/views/visual/EntityAddPage.vue +52 -0
  1083. package/src/frame/views/visual/EntityApplyPage.vue +57 -0
  1084. package/src/frame/views/visual/EntityCheckPage.vue +69 -0
  1085. package/src/frame/views/visual/EntityFindPage.vue +55 -0
  1086. package/src/frame/views/visual/EntityList.vue +442 -0
  1087. package/src/frame/views/visual/EntityListPage.vue +97 -0
  1088. package/src/frame/views/visual/EntityNoSubmitSubList.vue +252 -0
  1089. package/src/frame/views/visual/EntityRightSubList.vue +32 -0
  1090. package/src/frame/views/visual/EntitySubAdd.vue +11 -0
  1091. package/src/frame/views/visual/EntitySubGrid.vue +39 -0
  1092. package/src/frame/views/visual/EntitySubGridItem.vue +96 -0
  1093. package/src/frame/views/visual/EntitySubList.vue +298 -0
  1094. package/src/frame/views/visual/EntityTreeFindPage.vue +36 -0
  1095. package/src/frame/views/visual/EntityTreeManage.vue +144 -0
  1096. package/src/frame/views/visual/EntityTreePage.vue +46 -0
  1097. package/src/frame/views/visual/Grid.vue +46 -0
  1098. package/src/frame/views/visual/GridItem.vue +41 -0
  1099. package/src/frame/views/visual/HeaderNew.vue +326 -0
  1100. package/src/frame/views/visual/Iframe.vue +32 -0
  1101. package/src/frame/views/visual/Image.vue +49 -0
  1102. package/src/frame/views/visual/Import.vue +59 -0
  1103. package/src/frame/views/visual/InterfaceSubList.vue +23 -0
  1104. package/src/frame/views/visual/Layout.vue +0 -0
  1105. package/src/frame/views/visual/ListFirst.vue +613 -0
  1106. package/src/frame/views/visual/LoadPage.vue +42 -0
  1107. package/src/frame/views/visual/MEntityAddPage.vue +71 -0
  1108. package/src/frame/views/visual/MEntityList.vue +472 -0
  1109. package/src/frame/views/visual/MEntityListPage.vue +46 -0
  1110. package/src/frame/views/visual/MEntitySubList.vue +237 -0
  1111. package/src/frame/views/visual/MetaList.vue +23 -0
  1112. package/src/frame/views/visual/Mine.vue +37 -0
  1113. package/src/frame/views/visual/ModuleIndexPage.vue +68 -0
  1114. package/src/frame/views/visual/ModuleList.vue +44 -0
  1115. package/src/frame/views/visual/NavAddForm.vue +144 -0
  1116. package/src/frame/views/visual/NavFormCatalogItem.vue +21 -0
  1117. package/src/frame/views/visual/NumItem.vue +69 -0
  1118. package/src/frame/views/visual/NumStatistic.vue +85 -0
  1119. package/src/frame/views/visual/NumSubItem.vue +63 -0
  1120. package/src/frame/views/visual/OrgChart.vue +121 -0
  1121. package/src/frame/views/visual/PageCatalog.vue +26 -0
  1122. package/src/frame/views/visual/PageConfig.vue +278 -0
  1123. package/src/frame/views/visual/PageTabs.vue +54 -0
  1124. package/src/frame/views/visual/ProcessChart.vue +24 -0
  1125. package/src/frame/views/visual/Progress.vue +39 -0
  1126. package/src/frame/views/visual/ProgressItem.vue +43 -0
  1127. package/src/frame/views/visual/Text.vue +36 -0
  1128. package/src/frame/views/visual/TextEditor.vue +36 -0
  1129. package/src/frame/views/visual/Title.vue +44 -0
  1130. package/src/frame/views/visual/TodoList.vue +18 -0
  1131. package/src/frame/views/visual/TreeFind.vue +39 -0
  1132. package/src/frame/views/visual/UserFormItem.vue +50 -0
  1133. package/src/frame/views/visual/UserManage.vue +36 -0
  1134. package/src/frame/views/visual/chart/CircularPie.vue +7 -0
  1135. package/src/frame/views/visual/chart/Column.vue +73 -0
  1136. package/src/frame/views/visual/chart/HoriColumn.vue +7 -0
  1137. package/src/frame/views/visual/chart/Line.vue +7 -0
  1138. package/src/frame/views/visual/chart/Pie.vue +7 -0
  1139. package/src/frame/views/visual/config/Chart.vue +136 -0
  1140. package/src/frame/views/visual/config/Color.vue +39 -0
  1141. package/src/frame/views/visual/config/DesignReport.vue +20 -0
  1142. package/src/frame/views/visual/config/Event.vue +218 -0
  1143. package/src/frame/views/visual/config/Field.vue +494 -0
  1144. package/src/frame/views/visual/config/Html.vue +26 -0
  1145. package/src/frame/views/visual/config/Image.vue +118 -0
  1146. package/src/frame/views/visual/config/Input.vue +52 -0
  1147. package/src/frame/views/visual/config/List.vue +63 -0
  1148. package/src/frame/views/visual/config/ListField.vue +1229 -0
  1149. package/src/frame/views/visual/config/MField.vue +594 -0
  1150. package/src/frame/views/visual/config/Number.vue +36 -0
  1151. package/src/frame/views/visual/config/Object.vue +106 -0
  1152. package/src/frame/views/visual/config/Operate.vue +1657 -0
  1153. package/src/frame/views/visual/config/OrderField.vue +507 -0
  1154. package/src/frame/views/visual/config/Page.vue +44 -0
  1155. package/src/frame/views/visual/config/Params.vue +104 -0
  1156. package/src/frame/views/visual/config/Radio.vue +54 -0
  1157. package/src/frame/views/visual/config/Row.vue +64 -0
  1158. package/src/frame/views/visual/config/Scope.vue +314 -0
  1159. package/src/frame/views/visual/config/Select.vue +54 -0
  1160. package/src/frame/views/visual/config/Switch.vue +36 -0
  1161. package/src/frame/views/visual/config/Textarea.vue +38 -0
  1162. package/src/frame/views/visual/config/Tree.vue +111 -0
  1163. package/src/frame/views/visual/search/Fields.vue +52 -0
  1164. package/src/frame/views/visual/search/Filter.vue +50 -0
  1165. package/src/frame/views/visual/search/Mobile.vue +54 -0
  1166. package/src/frame/views/visual/step/Index.vue +11 -0
  1167. package/src/frame/views/visual/step/Item.vue +157 -0
  1168. package/src/index.js +369 -0
  1169. package/src/main.js +54 -0
  1170. package/src/plugins/element.js +167 -0
  1171. package/src/plugins/frame.js +12 -0
  1172. package/src/plugins/i18n.js +51 -0
  1173. package/src/plugins/index.js +11 -0
  1174. package/src/plugins/oa.js +3 -0
  1175. package/src/plugins/vant.js +80 -0
  1176. package/src/product/oa/components/AddForm.vue +87 -0
  1177. package/src/product/oa/components/MeetingAddForm.vue +85 -0
  1178. package/src/product/oa/components/MeetingExport.vue +422 -0
  1179. package/src/product/oa/components/MeetingRoomUse.vue +371 -0
  1180. package/src/product/oa/index.js +31 -0
  1181. package/src/registerServiceWorker.js +32 -0
  1182. package/src/router/config.js +416 -0
  1183. package/src/router/index.js +26 -0
  1184. package/src/store/actions.js +46 -0
  1185. package/src/store/export.js +23 -0
  1186. package/src/store/index.js +17 -0
  1187. package/src/store/modules/config.js +201 -0
  1188. package/src/store/modules/file.js +32 -0
  1189. package/src/store/modules/index.js +9 -0
  1190. package/src/store/modules/list.js +130 -0
  1191. package/src/store/modules/meta.js +210 -0
  1192. package/src/store/modules/page.js +75 -0
  1193. package/src/store/modules/router.js +140 -0
  1194. package/src/store/modules/tabs.js +62 -0
  1195. package/src/store/modules/user.js +71 -0
  1196. package/src/styles/index.scss +143 -0
  1197. package/src/styles/theme/element.scss +240 -0
  1198. package/src/styles/theme/utils/config.scss +4 -0
  1199. package/src/styles/theme/utils/function.scss +44 -0
  1200. package/src/styles/theme/utils/mixins.scss +317 -0
  1201. package/src/styles/theme/utils/var.scss +112 -0
  1202. package/src/utils/Config.js +25 -0
  1203. package/src/utils/axios.js +121 -0
  1204. package/src/utils/chartTheme.js +471 -0
  1205. package/src/utils/directives/global.js +127 -0
  1206. package/src/utils/fieldFactory.js +147 -0
  1207. package/src/utils/index.js +21 -0
  1208. package/src/utils/loadComponent.js +39 -0
  1209. package/src/utils/meta.js +355 -0
  1210. package/src/utils/mixins/component.js +368 -0
  1211. package/src/utils/mixins/global.js +985 -0
  1212. package/src/utils/mixins/index.js +11 -0
  1213. package/src/utils/page.js +126 -0
  1214. package/src/utils/util.js +381 -0
  1215. package/src/vant-variables.less +1 -0
  1216. package/src/vue.bus.js +18 -0
  1217. package/start-code-dev.sh +24 -0
  1218. package/start-code-pgy.sh +25 -0
  1219. package/start-code-ppe.sh +23 -0
  1220. package/start-code-prd.sh +25 -0
  1221. package/start-code-pre.sh +25 -0
  1222. package/vue.config.js +101 -0
  1223. package/webpack.config.js +97 -0
@@ -0,0 +1,1216 @@
1
+ <script>
2
+ export default {
3
+ name: 'epx-formula-editor',
4
+ props: {
5
+ elTree: {
6
+ type: Array,
7
+ default () {
8
+ return []
9
+ }
10
+ }
11
+ },
12
+ data () {
13
+ return {
14
+ showCursor: false,
15
+ cursorPosition: 1,
16
+ cursorIndex: -1,
17
+ elementTree: [],
18
+ cursorElement: {
19
+ line: 0,
20
+ index: 0,
21
+ textLength: 0,
22
+ left: 0
23
+ },
24
+ cursor: {
25
+ line: 1
26
+ },
27
+ textFocus: true,
28
+ element: null,
29
+ selectFunction: ''
30
+ }
31
+ },
32
+ watch: {
33
+ elTree: {
34
+ handler (v) {
35
+ this.elementIds = []
36
+ this.elementTree = v
37
+ this.setElementId(v)
38
+ },
39
+ immediate: true
40
+ },
41
+ element (v) {
42
+ let element = v
43
+ const formularEditor = this.$refs.formularEditor
44
+ if (!element) element = this.elementTree[this.elementTree.length - 1]
45
+ if (element && !this.$_.isEmpty(element)) {
46
+ const { id, cursorIndex, type } = element
47
+ // 获取到具体的元素
48
+ this.$nextTick(() => {
49
+ if (type === 'text' || type === 'variable') {
50
+ const node = formularEditor.querySelector(`#${id}`)
51
+ const editorRect = formularEditor.getBoundingClientRect()
52
+ let index = cursorIndex
53
+ if (index === undefined) index = node.innerText.length - 1
54
+ let r = null
55
+ try {
56
+ r = this.setRange(node.childNodes[0], index, index + 1)
57
+ } catch (error) {
58
+ r = this.setRange(node.childNodes[0], index, index)
59
+ }
60
+ const rect = r.getBoundingClientRect()
61
+ const left = rect.x - editorRect.x
62
+ this.cursorPosition = cursorIndex === undefined ? left + rect.width : left
63
+ const line = Math.round((rect.y - editorRect.y) / 20) + 1
64
+ this.$set(this.cursor, 'line', line)
65
+ // 获取cursorIndex前的字符
66
+ } else if (type === 'function') {
67
+ // 获取函数的最后一个元素
68
+ const node = formularEditor.querySelector(`#${id}`)
69
+ const editorRect = formularEditor.getBoundingClientRect()
70
+ let index = cursorIndex
71
+ if (index === undefined) index = node.childNodes.length - 1
72
+ const r = this.setRange(node, index, index + 1)
73
+ const rect = r.getBoundingClientRect()
74
+ const left = rect.x - editorRect.x
75
+ this.cursorPosition = cursorIndex === undefined ? left + rect.width : left
76
+ const line = Math.round((rect.y - editorRect.y) / 20) + 1
77
+ this.$set(this.cursor, 'line', line)
78
+ } else if (type === 'params') {
79
+ // 获取第几个参数
80
+ const node = formularEditor.querySelector(`#${id}`)
81
+ const paramsNode = node.childNodes[2]
82
+ const editorRect = formularEditor.getBoundingClientRect()
83
+ let r = null
84
+ if (cursorIndex === undefined) {
85
+ r = this.setRange(node, 3, 4)
86
+ } else if (paramsNode.innerHTML === '') {
87
+ r = this.setRange(node, 3, 4)
88
+ } else {
89
+ const childNodes = paramsNode.childNodes[cursorIndex].childNodes[0]
90
+ r = this.setRange(childNodes, 0, 1)
91
+ }
92
+ const rect = r.getBoundingClientRect()
93
+ const left = rect.x - editorRect.x
94
+ // 获取到文字
95
+ this.cursorPosition = left
96
+ const line = Math.round((rect.y - editorRect.y) / 20) + 1
97
+ this.$set(this.cursor, 'line', line)
98
+ }
99
+ })
100
+ } else {
101
+ this.cursorPosition = 0
102
+ }
103
+ }
104
+ },
105
+ methods: {
106
+ reset () {
107
+ this.cursor = {
108
+ line: 1
109
+ }
110
+ this.cursorPosition = 0
111
+ this.element = null
112
+ this.elementTree = []
113
+ },
114
+ getElementById (id, arr = this.elementTree) {
115
+ for (let i = 0; i < arr.length; i++) {
116
+ const element = arr[i]
117
+ if (element.id === id) return element
118
+ if (element.children) {
119
+ const _element = this.getElementById(id, element.children)
120
+ if (_element) return _element
121
+ }
122
+ }
123
+ },
124
+ setFunctionById (id, arr, element) {
125
+ for (let i = 0; i < arr.length; i++) {
126
+ const _element = arr[i]
127
+ if (_element.id === id) {
128
+ arr[i] = element
129
+ return
130
+ } else if (_element.children) {
131
+ this.setFunctionById(id, _element.children, element)
132
+ }
133
+ }
134
+ },
135
+ setElementById (id, element, arr = this.elementTree, index) {
136
+ for (let i = 0; i < arr.length; i++) {
137
+ const _element = arr[i]
138
+ if (_element.id === id) {
139
+ arr[i] = { ...element }
140
+ break
141
+ }
142
+ if (_element.children) {
143
+ this.setFunctionById(id, _element.children, element)
144
+ }
145
+ }
146
+ this.elementTree = arr
147
+ this.$forceUpdate()
148
+ },
149
+ appendToElement (id, element, arr = this.elementTree) {
150
+ for (let i = 0; i < arr.length; i++) {
151
+ const _element = arr[i]
152
+ if (_element.id === id) {
153
+ arr.splice(i + 1, 0, element)
154
+ this.$forceUpdate()
155
+ break
156
+ }
157
+ if (_element.children) {
158
+ this.appendToElement(id, element, _element.children)
159
+ }
160
+ }
161
+ },
162
+ prependToElement (id, element, arr = this.elementTree) {
163
+ for (let i = 0; i < arr.length; i++) {
164
+ const _element = arr[i]
165
+ if (_element.id === id) {
166
+ arr.splice(i, 0, element)
167
+ this.$forceUpdate()
168
+ break
169
+ }
170
+ if (_element.children) {
171
+ this.prependToElement(id, element, _element.children)
172
+ }
173
+ }
174
+ },
175
+ deleteElementById (id, arr = this.elementTree) {
176
+ for (let i = 0; i < arr.length; i++) {
177
+ const _element = arr[i]
178
+ if (_element.id === id) {
179
+ arr.splice(i, 1)
180
+ this.$forceUpdate()
181
+ break
182
+ } else if (_element.children) {
183
+ this.deleteElementById(id, _element.children)
184
+ }
185
+ }
186
+ },
187
+ getElementId (prefix) {
188
+ let id = prefix
189
+ let idIndex = 1
190
+ while (this.elementIds.includes(id)) {
191
+ id = prefix + idIndex++
192
+ }
193
+ this.elementIds.push(id)
194
+ return id
195
+ },
196
+ setElementId (arr = this.elementTree) {
197
+ arr.forEach(element => {
198
+ if (!this.elementIds) this.elementIds = []
199
+ this.elementIds.push(element.id)
200
+ if (element.children) {
201
+ this.setElementId(element.children)
202
+ }
203
+ })
204
+ },
205
+ getParentElement (id, arr = this.elementTree, parent = null) {
206
+ for (let i = 0; i < arr.length; i++) {
207
+ const element = arr[i]
208
+ if (element.id === id) return parent
209
+ if (element.children) {
210
+ const _parent = this.getParentElement(id, element.children, element)
211
+ if (_parent) return _parent
212
+ }
213
+ }
214
+ },
215
+ getNextElement (id, arr = this.elementTree) {
216
+ for (let i = 0; i < arr.length; i++) {
217
+ const element = arr[i]
218
+ if (element.id === id) {
219
+ return arr[i + 1]
220
+ }
221
+ if (element.children) {
222
+ const _element = this.getNextElement(id, element.children)
223
+ if (_element) return _element
224
+ }
225
+ }
226
+ },
227
+ getLastElement (id, arr = this.elementTree) {
228
+ for (let i = 0; i < arr.length; i++) {
229
+ const element = arr[i]
230
+ if (element.id === id) {
231
+ return arr[i - 1]
232
+ } else if (element.children) {
233
+ const _element = this.getLastElement(id, element.children)
234
+ if (_element) return _element
235
+ }
236
+ }
237
+ },
238
+ getBrotherElements (id, arr = this.elementTree) {
239
+ for (let i = 0; i < arr.length; i++) {
240
+ const element = arr[i]
241
+ if (element.id === id) {
242
+ return arr
243
+ } else if (element.children) {
244
+ const _elements = this.getBrotherElements(id, element.children)
245
+ if (_elements) return _elements
246
+ }
247
+ }
248
+ },
249
+ inputValue (event) {
250
+ if (event.data) {
251
+ this.event = event
252
+ if (this.inputFinish) {
253
+ this.inputContent(event.data)
254
+ }
255
+ }
256
+ // 获取输入的内容
257
+ },
258
+ compositionstart () {
259
+ this.inputFinish = false
260
+ },
261
+ compositionend (event) {
262
+ this.inputFinish = true
263
+ if (event.data) {
264
+ // 获取字体宽度
265
+ this.inputContent(event.data)
266
+ }
267
+ },
268
+ inputContent (data) {
269
+ const { id, type, cursorIndex } = this.element || {}
270
+ if (type === 'params') {
271
+ // 获取到元素
272
+ this.addParams(data)
273
+ } else if (type === 'function') {
274
+ // 添加文本元素
275
+ const element = {
276
+ id: this.getElementId('text'),
277
+ type: 'text',
278
+ text: ''
279
+ }
280
+ if (cursorIndex === 0) {
281
+ this.prependToElement(id, element)
282
+ } else {
283
+ this.appendToElement(id, element)
284
+ }
285
+ this.element = element
286
+ this.addText(data)
287
+ } else if (type === 'variable') {
288
+ // 添加文本节点
289
+ const textid = this.getElementId('text')
290
+ const element = {
291
+ id: textid,
292
+ type: 'text',
293
+ text: ''
294
+ }
295
+ if (cursorIndex === 0) {
296
+ this.prependToElement(id, element)
297
+ } else {
298
+ this.appendToElement(id, element)
299
+ }
300
+ this.element = element
301
+ this.addText(data)
302
+ } else {
303
+ // 输入文本
304
+ this.addText(data)
305
+ }
306
+ },
307
+ addText (data, elementTree = this.elementTree) {
308
+ if (!this.element) {
309
+ // 添加一个文本节点
310
+ const textId = this.getElementId('text')
311
+ const element = {
312
+ id: textId,
313
+ type: 'text',
314
+ text: ''
315
+ }
316
+ elementTree.push(
317
+ element
318
+ )
319
+ this.element = element
320
+ }
321
+ // 获取相邻的文本节点
322
+ let { id, text = '', cursorIndex } = this.element
323
+ let newText = text + data
324
+ const brotherElements = this.getBrotherElements(id) || []
325
+ if (cursorIndex !== undefined) {
326
+ newText = text.substring(0, cursorIndex) + data + text.substring(cursorIndex)
327
+ }
328
+ const element = { ...this.element, text: newText }
329
+ let nearTextElements = [element]
330
+ const index = brotherElements.findIndex(element => element.id === id)
331
+ let lastIndex = index - 1
332
+ let nextIndex = index + 1
333
+ while (lastIndex >= 0) {
334
+ const lastElement = brotherElements[lastIndex]
335
+ if (lastElement && lastElement.type === 'text') {
336
+ nearTextElements = [lastElement, ...nearTextElements]
337
+ if (cursorIndex) cursorIndex += lastElement.text.length
338
+ lastIndex--
339
+ } else {
340
+ lastIndex = -1
341
+ }
342
+ }
343
+ while (nextIndex >= 0 && nextIndex < brotherElements.length) {
344
+ const nextElement = brotherElements[nextIndex]
345
+ if (nextElement && nextElement.type === 'text') {
346
+ nearTextElements = [...nearTextElements, nextElement]
347
+ nextIndex++
348
+ } else {
349
+ nextIndex = -1
350
+ }
351
+ }
352
+ const nearText = nearTextElements.map(element => element.text).join('')
353
+ const elements = this.formatText(nearText)
354
+ // 删除当前文本元素 替换成新的
355
+ elements.forEach(element => {
356
+ this.prependToElement(id, element)
357
+ })
358
+ nearTextElements.forEach(element => {
359
+ this.deleteElementById(element.id)
360
+ })
361
+ if (cursorIndex !== undefined) {
362
+ // 获取第n个文字所在元素
363
+ let index = 0
364
+ for (let i = 0; i < elements.length; i++) {
365
+ const element = elements[i]
366
+ index += element.text.length
367
+ if (index >= cursorIndex) {
368
+ cursorIndex = cursorIndex - (index - element.text.length) + 1
369
+ this.element = { ...element, cursorIndex }
370
+ break
371
+ }
372
+ }
373
+ } else {
374
+ // 指针指向最后一个元素
375
+ this.element = elements[elements.length - 1]
376
+ }
377
+ this.$refs.fontWidth.innerHTML = data
378
+ const rect = this.$refs.fontWidth.getBoundingClientRect()
379
+ this.cursorPosition += rect.width
380
+ this.$forceUpdate()
381
+ },
382
+ formatText (text) {
383
+ let elements = []
384
+ const strMatch = text.match(/["|'][^("|')]*["|']/)
385
+ if (strMatch) {
386
+ // 分割字符串
387
+ const str = strMatch[0]
388
+ const index = strMatch.index
389
+ // 截取字符串
390
+ const beforeText = text.substring(0, index)
391
+ const afterText = text.substring(index + str.length, text.length)
392
+ // 设置为字符串类型 格式化其他文本
393
+ if (beforeText) {
394
+ const beforeElements = this.formatText(beforeText)
395
+ elements = [...beforeElements, ...elements]
396
+ }
397
+ const id = this.getElementId('text')
398
+ elements.push({ id, type: 'text', text: str, dataType: 'string' })
399
+ if (afterText) {
400
+ const afterElements = this.formatText(afterText)
401
+ elements = [...elements, ...afterElements]
402
+ }
403
+ } else if (/\d+/.test(text)) {
404
+ const match = text.match(/\d+/)
405
+ const str = match[0]
406
+ const index = match.index
407
+ // 截取字符串
408
+ const beforeText = text.substring(0, index)
409
+ const afterText = text.substring(index + str.length, text.length)
410
+
411
+ // 设置为字符串类型 格式化其他文本
412
+ if (beforeText) {
413
+ const beforeElements = this.formatText(beforeText)
414
+ elements = [...beforeElements, ...elements]
415
+ }
416
+ const id = this.getElementId('text')
417
+ elements.push({ id, type: 'text', text: str, dataType: 'number' })
418
+ if (afterText) {
419
+ const afterElements = this.formatText(afterText)
420
+ elements = [...elements, ...afterElements]
421
+ }
422
+ } else if (/,/.test(text)) {
423
+ const match = text.match(/,/)
424
+ const str = match[0]
425
+ const index = match.index
426
+ // 截取字符串
427
+ const beforeText = text.substring(0, index)
428
+ const afterText = text.substring(index + str.length, text.length)
429
+ // 设置为字符串类型 格式化其他文本
430
+ if (beforeText) {
431
+ const beforeElements = this.formatText(beforeText)
432
+ elements = [...beforeElements, ...elements]
433
+ }
434
+ const id = this.getElementId('text')
435
+ elements.push({ id, type: 'text', text: str, dataType: 'split' })
436
+ if (afterText) {
437
+ const afterElements = this.formatText(afterText)
438
+ elements = [...elements, ...afterElements]
439
+ }
440
+ } else if (/[=|>|<|+|-|*|/|(|)|!|||&]+/.test(text)) {
441
+ const match = text.match(/[=|>|<|+|-|*|/|(|)|!|||&]+/)
442
+ const str = match[0]
443
+ const index = match.index
444
+ // 截取字符串
445
+ const beforeText = text.substring(0, index)
446
+ const afterText = text.substring(index + str.length, text.length)
447
+ // 设置为字符串类型 格式化其他文本
448
+ if (beforeText) {
449
+ const beforeElements = this.formatText(beforeText)
450
+ elements = [...beforeElements, ...elements]
451
+ }
452
+ const id = this.getElementId('text')
453
+ elements.push({ id, type: 'text', text: str, dataType: 'operate' })
454
+ if (afterText) {
455
+ const afterElements = this.formatText(afterText)
456
+ elements = [...elements, ...afterElements]
457
+ }
458
+ } else {
459
+ const id = this.getElementId('text')
460
+ elements.push({ id, type: 'text', text })
461
+ }
462
+ return elements
463
+ },
464
+ addParams (content) {
465
+ const { id, cursorIndex } = this.element
466
+ const element = this.getElementById(id)
467
+ if (!element.children) element.children = []
468
+ if (typeof content === 'string') {
469
+ const cElement = {
470
+ id: this.getElementId('TEXT'),
471
+ type: 'text',
472
+ text: ''
473
+ }
474
+ // 如果有序号 插入元素
475
+ if (cursorIndex !== undefined) {
476
+ element.children.splice(cursorIndex, 0, cElement)
477
+ } else {
478
+ element.children.push(cElement)
479
+ }
480
+ this.setElementById(element.id, {
481
+ ...element
482
+ })
483
+ this.element = cElement
484
+ this.addText(content)
485
+ } else {
486
+ let index = cursorIndex !== undefined ? cursorIndex : element.children.length
487
+ const lastElement = element.children[index - 1]
488
+ if (lastElement && lastElement.dataType !== 'split') {
489
+ const splitElement = {
490
+ id: this.getElementId('text'),
491
+ dataType: 'split',
492
+ type: 'text',
493
+ text: ','
494
+ }
495
+ element.children.splice(index, 0, splitElement)
496
+ index++
497
+ }
498
+ element.children.splice(index, 0, content)
499
+ this.setElementById(element.id, { ...element })
500
+ this.element = content
501
+ }
502
+
503
+ // let params = element.children
504
+ // if (!params) {
505
+ // params = [typeof content === 'string' ? {
506
+ // type: 'text',
507
+ // text: content
508
+ // } : content]
509
+ // } else {
510
+ // const param = params[paramsIndex]
511
+ // params[paramsIndex] = typeof content === 'string' ? {
512
+ // ...param,
513
+ // text: param.text + content
514
+ // } : content
515
+ // }
516
+ // element.children = params
517
+ },
518
+ clickEditor (event) {
519
+ this.$refs.textarea.focus()
520
+ // this.cursorPosition =
521
+ },
522
+ setRange (node, start, end, endNode) {
523
+ var r = document.createRange()
524
+ r.setEnd(endNode || node, end)
525
+ r.setStart(node, start)
526
+ return r
527
+ },
528
+ clickCode (event) {
529
+ let element = event.target
530
+ const formularEditor = this.$refs.formularEditor
531
+ let type = element.getAttribute('type')
532
+ const left = event.offsetX
533
+ while (!type && element.parentNode) {
534
+ element = element.parentNode
535
+ type = element.getAttribute('type')
536
+ }
537
+ if (type === 'function') {
538
+ const id = element.getAttribute('id')
539
+ // 判断行数
540
+ const line = Math.round((event.offsetY + 10) / 20)
541
+ this.$set(this.cursor, 'line', line < 1 ? 1 : line)
542
+ // 函数 判断是前还是后还是参数
543
+ const elementWidth = element.offsetWidth
544
+ const elementLeft = element.offsetLeft
545
+ const fElement = this.getElementById(id)
546
+ if (left - elementLeft < 5 && event.offsetY - element.offsetTop < 20) {
547
+ // 函数前
548
+ this.cursorPosition = elementLeft
549
+ this.element = {
550
+ id,
551
+ type: 'function',
552
+ children: fElement.children,
553
+ cursorIndex: 0
554
+ }
555
+ } else if (elementLeft + elementWidth - left < 3 && event.offsetY - element.offsetTop < 20) {
556
+ // 函数后
557
+ this.cursorPosition = elementLeft + elementWidth
558
+ this.element = {
559
+ id,
560
+ type: 'function',
561
+ children: fElement.children
562
+ }
563
+ } else {
564
+ // 判断第几个参数
565
+ const paramElement = element.children[2]
566
+ const elementLeft = paramElement.offsetLeft
567
+ const elementRight = paramElement.offsetLeft + paramElement.offsetWidth
568
+
569
+ if ((left < elementLeft || left - elementLeft < elementRight - left) && event.offsetY - paramElement.offsetTop < 20) {
570
+ this.cursorPosition = elementLeft
571
+ this.element = {
572
+ id,
573
+ type: 'params',
574
+ children: fElement.children
575
+ }
576
+ if (fElement.children && fElement.children.length > 0) this.element.cursorIndex = 0
577
+ } else {
578
+ this.cursorPosition = elementRight
579
+ this.element = {
580
+ id,
581
+ type: 'params',
582
+ children: fElement.children
583
+ }
584
+ }
585
+ }
586
+ } else if (type === 'text') {
587
+ // 获取元素距离左侧位置
588
+ const elmentHtml = element.innerText
589
+ this.$refs.fontWidth.innerHTML = ''
590
+
591
+ // 判断行数
592
+ const line = Math.round((event.offsetY + 10) / 20)
593
+ this.$set(this.cursor, 'line', line < 1 ? 1 : line)
594
+ // 获取第几个元素
595
+ let width = 0
596
+ let lastWidth = 0
597
+ let index = 0
598
+ let elementLine = 1
599
+ const textNode = element.childNodes[0]
600
+ const editorTop = formularEditor.getBoundingClientRect().top
601
+ const editorLeft = formularEditor.getBoundingClientRect().left
602
+ while (!(width > event.x && elementLine === line) && elmentHtml[index] !== undefined) {
603
+ const r = this.setRange(textNode, index, index + 1)
604
+ const rect = r.getBoundingClientRect()
605
+ const top = rect.top - editorTop
606
+ elementLine = Math.round(top / 20) + 1
607
+ elementLine = elementLine < 1 ? 1 : elementLine
608
+ lastWidth = width
609
+ width = rect.left
610
+ index++
611
+ }
612
+
613
+ if (width - event.x > event.x - lastWidth) {
614
+ width = lastWidth
615
+ index--
616
+ }
617
+ this.cursorPosition = width - editorLeft
618
+ const elementInfo = this.getElementById(element.id) || {}
619
+ this.element = {
620
+ ...elementInfo,
621
+ cursorIndex: index - 1
622
+ }
623
+ } else if (type === 'code') {
624
+ const lastElement = this.elementTree[this.elementTree.length - 1]
625
+ if (lastElement) {
626
+ this.element = lastElement
627
+ }
628
+ } else if (type === 'variable') {
629
+ const x = event.offsetX
630
+ const left = element.offsetLeft
631
+ const right = element.offsetLeft + element.offsetWidth
632
+ const elementInfo = this.getElementById(element.id) || {}
633
+ const line = Math.round(event.offsetY / 20)
634
+ this.$set(this.cursor, 'line', line)
635
+ if (x - left > right - x || event.offsetY - element.offsetTop > 20) {
636
+ this.cursorPosition = right
637
+ this.element = {
638
+ ...elementInfo
639
+ }
640
+ } else {
641
+ this.cursorPosition = left
642
+ this.element = {
643
+ ...elementInfo,
644
+ cursorIndex: 0
645
+ }
646
+ }
647
+ }
648
+ },
649
+ keydown (event) {
650
+ const formularEditor = this.$refs.formularEditor
651
+ // 删除
652
+ if (event.keyCode === 8) {
653
+ let element = this.element
654
+ if (!this.element) {
655
+ element = this.elementTree[this.elementTree.length - 1]
656
+ }
657
+ if (element && element.cursorIndex === 0) {
658
+ // 获取前一个元素
659
+ element = this.getLastElement(element.id)
660
+ }
661
+ if (!element) return
662
+ // backspace
663
+ let { id, cursorIndex, type, text = '' } = element
664
+ if (type === 'params') {
665
+ if (cursorIndex > 0) {
666
+ element = element.children[cursorIndex]
667
+ } else if (cursorIndex === undefined && element.children && element.children.length > 0) {
668
+ element = element.children[element.children.length - 1]
669
+ }
670
+ id = element.id
671
+ type = element.type
672
+ text = element.text || ''
673
+ }
674
+ if (type === 'text') {
675
+ let newText = text.substring(0, text.length - 1)
676
+ let delText = text[text.length - 1]
677
+ if (cursorIndex !== undefined) {
678
+ if (cursorIndex > 0) {
679
+ delText = text[cursorIndex - 1]
680
+ newText = text.substring(0, cursorIndex - 1) + text.substring(cursorIndex, text.length)
681
+ } else {
682
+ delText = ''
683
+ newText = text
684
+ }
685
+ }
686
+ const brotherElements = this.getBrotherElements(id) || []
687
+ const newElement = { ...element, text: newText }
688
+ let nearTextElements = [newElement]
689
+ const index = brotherElements.findIndex(element => element.id === id)
690
+ let lastIndex = index - 1
691
+ let nextIndex = index + 1
692
+ while (lastIndex >= 0) {
693
+ const lastElement = brotherElements[lastIndex]
694
+ if (lastElement && lastElement.type === 'text') {
695
+ nearTextElements = [lastElement, ...nearTextElements]
696
+ if (cursorIndex) cursorIndex += lastElement.text.length
697
+ lastIndex--
698
+ } else {
699
+ lastIndex = -1
700
+ }
701
+ }
702
+ while (nextIndex >= 0 && nextIndex < brotherElements.length) {
703
+ const nextElement = brotherElements[nextIndex]
704
+ if (nextElement && nextElement.type === 'text') {
705
+ nearTextElements = [...nearTextElements, nextElement]
706
+ nextIndex++
707
+ } else {
708
+ nextIndex = -1
709
+ }
710
+ }
711
+ const nearText = nearTextElements.map(element => element.text).join('')
712
+ if (nearText === '') {
713
+ this.element = this.getLastElement(nearTextElements[0].id)
714
+ nearTextElements.forEach(element => {
715
+ this.deleteElementById(element.id)
716
+ })
717
+ } else {
718
+ const elements = this.formatText(nearText)
719
+ // 删除当前文本元素 替换成新的
720
+ elements.forEach(element => {
721
+ if (element.type !== 'text' || element.text) {
722
+ this.prependToElement(id, element)
723
+ }
724
+ })
725
+ nearTextElements.forEach(element => {
726
+ this.deleteElementById(element.id)
727
+ })
728
+ if (cursorIndex !== undefined) {
729
+ // 获取第n个文字所在元素
730
+ let nextCursorIndex = cursorIndex - 1
731
+ let index = 0
732
+ for (let i = 0; i < elements.length; i++) {
733
+ const element = elements[i]
734
+ index += element.text.length
735
+ if (index >= nextCursorIndex) {
736
+ nextCursorIndex = nextCursorIndex - (index - element.text.length)
737
+ this.element = { ...element, cursorIndex: nextCursorIndex }
738
+ break
739
+ }
740
+ }
741
+ } else {
742
+ // 指针指向最后一个元素
743
+ this.element = elements[elements.length - 1]
744
+ }
745
+ }
746
+ this.$refs.fontWidth.innerHTML = delText || ''
747
+ const rect = this.$refs.fontWidth.getBoundingClientRect()
748
+ this.cursorPosition -= rect.width
749
+ this.$forceUpdate()
750
+ } else if (type === 'function') {
751
+ if (this.selectFunction === element.id) {
752
+ const element = this.getLastElement(id)
753
+ const node = formularEditor.querySelector(`#${id}`)
754
+ this.element = element
755
+ this.deleteElementById(id)
756
+ this.cursorPosition -= node.offsetWidth
757
+ } else {
758
+ this.selectFunction = element.id
759
+ }
760
+ } else if (type === 'variable') {
761
+ if (this.selectFunction === element.id) {
762
+ const element = this.getLastElement(id)
763
+ const node = formularEditor.querySelector(`#${id}`)
764
+ this.element = element
765
+ this.deleteElementById(id)
766
+ this.cursorPosition -= (node.offsetWidth + 4)
767
+ } else {
768
+ this.selectFunction = element.id
769
+ }
770
+ }
771
+ } else if (event.keyCode === 46) {
772
+ let element = this.element
773
+
774
+ if (element && (element.cursorIndex === undefined || (element.text && element.cursorIndex === element.text.length))) {
775
+ // 获取前一个元素
776
+ const nextElement = this.getNextElement(element.id)
777
+ if (nextElement) {
778
+ element = { ...nextElement, cursorIndex: 0 }
779
+ } else {
780
+ return
781
+ }
782
+ }
783
+ if (!element) return
784
+
785
+ let { id, cursorIndex, type, text } = element
786
+ if (type === 'params') {
787
+ if (cursorIndex >= 0) {
788
+ element = element.children[cursorIndex]
789
+ }
790
+ id = element.id
791
+ cursorIndex = 0
792
+ type = element.type
793
+ text = element.text || ''
794
+ }
795
+ if (type === 'text') {
796
+ let newText = text
797
+ if (cursorIndex >= 0) {
798
+ newText = text.substring(0, cursorIndex) + text.substring(cursorIndex + 1, text.length)
799
+ }
800
+ const brotherElements = this.getBrotherElements(id) || []
801
+ const newElement = { ...element, text: newText }
802
+ let nearTextElements = [newElement]
803
+ const index = brotherElements.findIndex(element => element.id === id)
804
+ let lastIndex = index - 1
805
+ let nextIndex = index + 1
806
+ while (lastIndex >= 0) {
807
+ const lastElement = brotherElements[lastIndex]
808
+ if (lastElement && lastElement.type === 'text') {
809
+ nearTextElements = [lastElement, ...nearTextElements]
810
+ if (cursorIndex !== undefined) cursorIndex += lastElement.text.length
811
+ lastIndex--
812
+ } else {
813
+ lastIndex = -1
814
+ }
815
+ }
816
+ while (nextIndex >= 0 && nextIndex < brotherElements.length) {
817
+ const nextElement = brotherElements[nextIndex]
818
+ if (nextElement && nextElement.type === 'text') {
819
+ nearTextElements = [...nearTextElements, nextElement]
820
+ nextIndex++
821
+ } else {
822
+ nextIndex = -1
823
+ }
824
+ }
825
+ const nearText = nearTextElements.map(element => element.text).join('')
826
+ if (nearText === '') {
827
+ this.element = this.getNextElement(nearTextElements[nearTextElements.length - 1].id)
828
+ nearTextElements.forEach(element => {
829
+ this.deleteElementById(element.id)
830
+ })
831
+ } else {
832
+ const elements = this.formatText(nearText)
833
+ // 删除当前文本元素 替换成新的
834
+ elements.forEach(element => {
835
+ if (element.type !== 'text' || element.text) {
836
+ this.prependToElement(id, element)
837
+ }
838
+ })
839
+ nearTextElements.forEach(element => {
840
+ this.deleteElementById(element.id)
841
+ })
842
+ // 获取第n个文字所在元素
843
+ let index = 0
844
+ for (let i = 0; i < elements.length; i++) {
845
+ const element = elements[i]
846
+ index += element.text.length
847
+ if (index >= cursorIndex) {
848
+ cursorIndex = cursorIndex - (index - element.text.length)
849
+ this.element = { ...element, cursorIndex }
850
+ break
851
+ }
852
+ }
853
+ }
854
+ } else if (type === 'function') {
855
+ if (this.selectFunction === element.id) {
856
+ const element = this.getNextElement(id)
857
+ this.element = element
858
+ this.deleteElementById(id)
859
+ } else {
860
+ this.selectFunction = element.id
861
+ }
862
+ } else if (type === 'variable') {
863
+ if (this.selectFunction === element.id) {
864
+ const element = this.getLastElement(id)
865
+ this.element = element
866
+ this.deleteElementById(id)
867
+ } else {
868
+ this.selectFunction = element.id
869
+ }
870
+ }
871
+ } else if (event.keyCode === 37) {
872
+ // ←
873
+ if (!this.element) return
874
+ let element = this.element
875
+ if (element.type === 'params') {
876
+ if (!element.children || element.children.length === 0 || element.cursorIndex === 0) {
877
+ element.type = 'function'
878
+ element.cursorIndex = 0
879
+ this.element = { ...element }
880
+ } else {
881
+ if (!element.cursorIndex) element.cursorIndex = element.children.length
882
+ element = element.children[element.cursorIndex - 1]
883
+ this.element = element
884
+ }
885
+ } else if (element.cursorIndex === 0) {
886
+ // 如果在参数内
887
+ let lastElement = this.getLastElement(element.id)
888
+ if (!lastElement) {
889
+ // 判断是否是参数内
890
+ const parentElement = this.getParentElement(element.id)
891
+ if (parentElement) {
892
+ lastElement = { ...parentElement, cursorIndex: 0 }
893
+ } else {
894
+ return
895
+ }
896
+ }
897
+ element = lastElement
898
+ this.element = lastElement
899
+ }
900
+ let { cursorIndex, type, text = '' } = element
901
+ if (type === 'text') {
902
+ if (!cursorIndex) cursorIndex = text.length
903
+ this.element = { ...this.element, cursorIndex: cursorIndex - 1 }
904
+ } else if (type === 'function') {
905
+ if (cursorIndex === undefined) {
906
+ this.element = { ...this.element, type: 'params' }
907
+ }
908
+ } else if (type === 'variable') {
909
+ if (cursorIndex === undefined) {
910
+ // 获取子元素最后一个
911
+ this.element = { ...this.element, cursorIndex: 0 }
912
+ }
913
+ }
914
+ } else if (event.keyCode === 39) {
915
+ // →
916
+ if (!this.element) return
917
+ let element = this.element
918
+ if (element.type === 'params') {
919
+ if (!element.children || element.children.length === 0 || element.cursorIndex === undefined || element.cursorIndex === element.children.length) {
920
+ element.type = 'function'
921
+ delete element.cursorIndex
922
+ this.element = { ...element }
923
+ return
924
+ } else {
925
+ element = element.children[element.cursorIndex]
926
+ this.element = element
927
+ }
928
+ } else if (element.cursorIndex === undefined || (element.type === 'text' && (element.text.length === element.cursorIndex))) {
929
+ let nextElement = this.getNextElement(element.id)
930
+
931
+ if (!nextElement) {
932
+ // 判断是否是参数内
933
+ const parentElement = this.getParentElement(element.id)
934
+ if (parentElement) {
935
+ nextElement = { ...parentElement }
936
+ element = { ...nextElement }
937
+ this.element = element
938
+ return
939
+ } else {
940
+ return
941
+ }
942
+ } else {
943
+ element = { ...nextElement, cursorIndex: 0 }
944
+ this.element = element
945
+ }
946
+ }
947
+ if (element.type === 'text') {
948
+ this.element = { ...element, cursorIndex: element.cursorIndex + 1 }
949
+ } else if (element.type === 'function') {
950
+ this.element = { ...element, type: 'params', cursorIndex: 0 }
951
+ } else if (element.type === 'variable') {
952
+ delete element.cursorIndex
953
+ this.element = { ...element }
954
+ }
955
+ }
956
+ // 获取当前光标位置
957
+ },
958
+ addElement (elementType, data) {
959
+ const formularEditor = this.$refs.formularEditor
960
+ // 添加元素
961
+ if (elementType === 'function') {
962
+ let idIndex = 1
963
+ let functionId = data.code
964
+ while (this.elementIds.includes(functionId)) {
965
+ functionId = functionId + idIndex++
966
+ }
967
+ this.elementIds.push(functionId)
968
+ // 固定参数
969
+ const fElement = { id: functionId, type: 'function', code: data.code, text: data.text }
970
+ if (data.fixedParam) {
971
+ const params = data.fixedParam.split(',')
972
+ fElement.children = params.map(item => ({ id: this.getElementId('variable'), type: 'variable', code: item, text: item }))
973
+ }
974
+ if (!this.element) {
975
+ // 添加
976
+ this.elementTree.push(fElement)
977
+ } else {
978
+ // 获取所在元素, 添加到下一个元素 如果是cursorIndex==0 添加到上一个元素
979
+ const { id, type, cursorIndex } = this.element
980
+ if (type === 'params') {
981
+ this.addParams(fElement)
982
+ } else {
983
+ if (cursorIndex === 0) {
984
+ this.prependToElement(id, fElement)
985
+ } else {
986
+ this.appendToElement(id, fElement)
987
+ }
988
+ }
989
+ }
990
+ this.$nextTick(() => {
991
+ const node = formularEditor.querySelector(`#${functionId}`)
992
+ const paramsNode = node.getElementsByClassName('fe-params')[0]
993
+ this.cursorPosition = paramsNode.offsetLeft
994
+ this.element = {
995
+ type: 'params',
996
+ id: functionId,
997
+ children: node.children
998
+ }
999
+ })
1000
+ } else if (elementType === 'variable') {
1001
+ const id = this.getElementId('variable')
1002
+ const vElement = { id: id, type: 'variable', code: data.linkCode || data.code, text: data.linkText || data.text }
1003
+ if (!this.element) {
1004
+ // 添加
1005
+ this.elementTree.push(vElement)
1006
+ } else {
1007
+ // 获取所在元素, 添加到下一个元素
1008
+ const { id, type, dataType, cursorIndex } = this.element
1009
+ if (type === 'params') {
1010
+ this.addParams(vElement)
1011
+ } else {
1012
+ const parentElement = this.getParentElement(id)
1013
+ const splitId = this.getElementId('text')
1014
+ const splitElement = {
1015
+ id: splitId,
1016
+ type: 'text',
1017
+ dataType: 'split',
1018
+ text: ','
1019
+ }
1020
+ if (cursorIndex === 0) {
1021
+ const lastElement = this.getLastElement(id)
1022
+ if (parentElement && parentElement.type === 'function' && lastElement && lastElement.dataType !== 'split') {
1023
+ this.prependToElement(id, splitElement)
1024
+ this.appendToElement(splitId, vElement)
1025
+ } else {
1026
+ this.prependToElement(id, vElement)
1027
+ }
1028
+ } else {
1029
+ // 切分文本添加元素
1030
+ if (parentElement && parentElement.type === 'function' && dataType !== 'split') {
1031
+ this.appendToElement(id, splitElement)
1032
+ this.appendToElement(splitId, vElement)
1033
+ } else {
1034
+ this.appendToElement(id, vElement)
1035
+ }
1036
+ }
1037
+ }
1038
+ }
1039
+ this.$nextTick(() => {
1040
+ const node = formularEditor.querySelector(`#${id}`)
1041
+ this.cursorPosition = node.offsetLeft + node.offsetWidth
1042
+ this.element = vElement
1043
+ })
1044
+ } else {
1045
+ const id = this.getElementId(elementType)
1046
+ const oElement = { id: id, type: 'text', dataType: elementType, text: data.code }
1047
+ if (!this.element) {
1048
+ // 添加
1049
+ this.elementTree.push(oElement)
1050
+ } else {
1051
+ // 获取所在元素, 添加到下一个元素
1052
+ const { id, type, cursorIndex } = this.element
1053
+ if (type === 'params') {
1054
+ this.addParams(oElement)
1055
+ } else {
1056
+ if (cursorIndex === 0) {
1057
+ this.prependToElement(id, oElement)
1058
+ } else {
1059
+ // 切分文本添加元素
1060
+ this.appendToElement(id, oElement)
1061
+ }
1062
+ }
1063
+ }
1064
+ this.$nextTick(() => {
1065
+ const node = formularEditor.querySelector(`#${id}`)
1066
+ this.cursorPosition = node.offsetLeft + node.offsetWidth
1067
+ this.element = oElement
1068
+ })
1069
+ }
1070
+ this.$refs.textarea.focus()
1071
+ // if (cursor === 'params') {
1072
+ // const element = this.getElementById(id)
1073
+ // this.addParams(element, 0, { id: functionId, type: 'function', code: data.code, text: data.text })
1074
+ // // 更新光标位置
1075
+ // } else {
1076
+
1077
+ // // lineArr.splice(index + 1, 0, { id: functionId, type: 'function', code: data.code, text: data.text })
1078
+ // }
1079
+
1080
+ // 光标移动到括号
1081
+ // this.$refs.formularCode.innerHTML += element
1082
+ },
1083
+ renderNode (element, index) {
1084
+ if (element.type === 'function') {
1085
+ return (
1086
+ <span key={element.id} id={element.id} index={index} class={['fe-function', { 'is-select': this.selectFunction === element.id }]} type="function" code={element.code} text={element.text}>
1087
+ <span class="fe-function__name">{element.text}</span>
1088
+ <span class="fe-bracket">(</span>
1089
+ <span class="fe-params" type="params">
1090
+ {
1091
+ element.children && element.children.map((element, index) => this.renderNode(element, index))
1092
+ }
1093
+ </span>
1094
+ <span class="fe-bracket">)</span>
1095
+ </span>
1096
+ )
1097
+ } else if (element.type === 'split') {
1098
+ return (
1099
+ <span key={element.id} id={element.id} type="split" class="fe-text__split">,</span>
1100
+ )
1101
+ } else if (element.type === 'variable') {
1102
+ return (
1103
+ <span key={element.id} id={element.id} class={['fe-variable', { 'is-select': this.selectFunction === element.id }]} type="variable" code={element.code}> {element.text} </span>
1104
+ )
1105
+ } else {
1106
+ return (
1107
+ <span key={element.id} id={element.id} type="text" class={['fe-text', { [`fe-text__${element.dataType}`]: !!element.dataType }]}>{element.text}</span>
1108
+ )
1109
+ }
1110
+ }
1111
+ },
1112
+ render () {
1113
+ const { line } = this.cursor
1114
+ return (
1115
+ <div class="formular-editor" ref="formularEditor" tabindex="1" onClick={this.clickEditor} onKeydown={this.keydown}>
1116
+ <textarea class="formular-textarea" onInput={this.inputValue} onCompositionstart={this.compositionstart} onCompositionend={this.compositionend} onFocus={() => (this.textFocus = true)} onBlur={() => (this.textFocus = false)} ref="textarea" class="formular-textarea"></textarea>
1117
+ <div class="cursor" style={{ display: this.textFocus ? 'block' : 'none', visibility: this.showCursor ? 'visible' : 'hidden', left: this.cursorPosition + 'px', top: (line - 1) * 20 + 'px' }}></div>
1118
+ <div ref="formularCode" class="formular-code" onClick={this.clickCode} type="code">
1119
+ {
1120
+ this.elementTree.map((element, index) => this.renderNode(element, index))
1121
+ }
1122
+ </div>
1123
+ <span ref="fontWidth" class="font-width">
1124
+ </span>
1125
+ </div>
1126
+ )
1127
+ },
1128
+ mounted () {
1129
+ this.inputFinish = true
1130
+ this.$refs.textarea.focus()
1131
+ this.timer = setInterval(() => {
1132
+ this.showCursor = !this.showCursor
1133
+ }, 500)
1134
+ window.addEventListener('click', () => {
1135
+ this.selectFunction = ''
1136
+ })
1137
+ },
1138
+ destroyed () {
1139
+ clearInterval(this.timer)
1140
+ }
1141
+ }
1142
+ </script>
1143
+
1144
+ <style scoped lang="scss">
1145
+ .formular-editor {
1146
+ position: relative;;
1147
+
1148
+ }
1149
+ .cursor {
1150
+ position: absolute;
1151
+ left: 10px;
1152
+ height: 22px;
1153
+ border-left: 1px solid #000;
1154
+ border-right: none;
1155
+ width: 0;
1156
+ pointer-events: none;
1157
+ }
1158
+
1159
+ .formular-textarea {
1160
+ // display: none;
1161
+ }
1162
+ .formular-code {
1163
+ white-space: pre-wrap;
1164
+ height: 80px;
1165
+ color: #333;
1166
+ font-family: Menlo,Monaco,Consolas,'Courier New',monospace;
1167
+ }
1168
+ .font-width {
1169
+ white-space: pre-wrap;
1170
+ font-family: Menlo,Monaco,Consolas,'Courier New',monospace;
1171
+ opacity: 0;
1172
+ position: absolute;
1173
+ z-index: -1;
1174
+ width: 100%;
1175
+ overflow: auto;
1176
+ }
1177
+ .fe-function {
1178
+ &.is-select {
1179
+ background: rgb(51, 144, 255);
1180
+ color: #fff;
1181
+ }
1182
+ }
1183
+ .formular-textarea {
1184
+ width: 0;
1185
+ height: 0;
1186
+ opacity: 0;
1187
+ position: absolute;
1188
+ z-index: -1;
1189
+ }
1190
+ .fe-function__name {
1191
+ color:#708;
1192
+ }
1193
+ .fe-variable {
1194
+ background: #178cdf;
1195
+ padding: 2px 0;
1196
+ border-radius: 2px;
1197
+ margin: 0 2px;
1198
+ color: #fff;
1199
+ &.is-select {
1200
+ background: rgb(51, 144, 255);
1201
+ color: #fff;
1202
+ }
1203
+ }
1204
+ .fe-text__operate {
1205
+ color: #666;
1206
+ }
1207
+ .fe-text__string {
1208
+ color: #a11;
1209
+ }
1210
+ .fe-text__number {
1211
+ color: #164;
1212
+ }
1213
+ .fe-text__split {
1214
+ color: #997;
1215
+ }
1216
+ </style>