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,1795 @@
1
+ <template>
2
+ <div class="container">
3
+ <hr title="打印线" class="ureport-right-hr-for-print" style="height: 856px;width: 0px;border-left: 1px dashed rgb(153, 153, 153);position: absolute;left: 700pt;top: 35px;z-index: 10;">
4
+ <div class="report-header">
5
+ <div class="report-title">
6
+ <i class="report-back el-icon-arrow-left" @click="backPage"></i>
7
+ <span class="report-name">
8
+ <span v-if="!editName">{{excelInfo.NAME}}</span>
9
+ <el-input v-else v-model="excelInfo.NAME" size="small" @change="setFormName"></el-input>
10
+ <i v-if="!editName" class="el-icon-edit-outline" @click="editName=!editName"></i>
11
+ <i v-else class="el-icon-circle-check" @click="setFormName"></i>
12
+ </span>
13
+ <!-- <el-button type="text" icon="el-icon-setting">设置</el-button> -->
14
+ </div>
15
+ <div class="report-operate">
16
+ <el-button type="text" @click="globalSetting=true" :style="{marginRight: '12px'}">全局设置</el-button>
17
+ <el-upload class="import-btn" action="" :show-file-list="false" :http-request="importExcel">
18
+ <el-button size="medium" :loading="isImportExcel">导入</el-button>
19
+ </el-upload>
20
+ <el-button size="medium" @click="showFormParamsDialog= true">预览</el-button>
21
+ <el-button size="medium" type="primary" @click="saveExcelData">保存</el-button>
22
+ </div>
23
+ </div>
24
+ <div class="content">
25
+ <div class="data-source">
26
+ <el-tabs type="border-card">
27
+ <el-tab-pane label="数据源">
28
+ <div class="module-header">
29
+ <el-button size="small" type="primary" @click="addDataSource">新增</el-button>
30
+ <el-button size="small" type="primary" @click="editDataSource">编辑</el-button>
31
+ <el-button size="small" type="primary" @click="deleteDataSource">删除</el-button>
32
+ </div>
33
+ <el-tree class="data-source-tree" ref="tree" :data="dataSource" :props="{label: 'name', children: 'children'}" :auto-expand-parent="false" :expand-on-click-node="false"
34
+ :check-on-click-node="true" :highlight-current="true" @node-click="clickDataSource">
35
+ <template slot-scope="{ node, data }">
36
+ <span :draggable="data.type==='meta' ?'false': 'true'" :style="{color: data.type==='meta' && data.relationType==='1' ? 'red' : '', 'user-select': 'none'}" @dragstart="e=>drag(e, data, node)">{{node.label}}</span>
37
+ </template>
38
+ </el-tree>
39
+ <el-dialog title="添加数据源" :visible.sync="dataSourceModal" width="70%">
40
+ <div class="add" v-if="dataSourceModal">
41
+ <li class="data-source-modal-item">
42
+ <p class="data-source-modal-header">数据源</p>
43
+ <div class="data-souce-modal-content data-souce-modal-content__base">
44
+ <div class="form-item">
45
+ <label>名称:</label>
46
+ <epx-form-field :values="dataSourceInfo" @update-value="updateDataSourceInfo" :fieldConfig="{attriName: 'NAME',dataType: 'text',attriLabel: '名称', state:'EDIT'}" />
47
+ </div>
48
+ <div class="form-item">
49
+ <label>对象:</label>
50
+ <epx-form-field :values="dataSourceInfo" @update-value="updateDataSourceInfo"
51
+ :fieldConfig="{attriName: 'ENTITY',dataType: 'object',attriLabel: '对象', codeKey: 'FM_ENTITY', state:'EDIT',flag: 'process_entity_find'}" />
52
+ </div>
53
+ <div class="form-item">
54
+ <label>对象视图:</label>
55
+ <epx-object :value="dataSourceInfo.ENTITY_VIEW" @change="v=>$set(dataSourceInfo, 'ENTITY_VIEW', v? v.id : null)"
56
+ :fieldConfigs="{attriName: 'ENTITY_VIEW',dataType: 'object',attriLabel: '对象视图', codeKey: 'FM_ENTITY_VIEW', state:'EDIT', scopeParams: [{field: 'ENTITY', values: dataSourceInfo.ENTITY}],flag: 'process_entity_view_find'}" />
57
+ </div>
58
+ </div>
59
+ </li>
60
+ <li class="data-source-modal-item">
61
+ <p class="data-source-modal-header">数据范围</p>
62
+ <div class="data-souce-modal-content">
63
+ <div class="data-source__scope">
64
+ <epx-form-scope v-model="dataSourceInfo.DATA_SCOPE" :metaId="dataSourceInfo.ENTITY" :metaViewId="dataSourceInfo.ENTITY_VIEW" :fieldConfigs="{ attriName: 'DATA_SCOPE', attriLabel: '数据范围', state: 'EDIT', modeType: ['FIXED_VALUE', 'SYSTEM_VARIABLE', 'DEFINED_DYNAMIC', 'DEFINED'], defineDynamicParams }"></epx-form-scope>
65
+ </div>
66
+ </div>
67
+ </li>
68
+ <li class="data-source-modal-item">
69
+ <p class="data-source-modal-header">排序方式</p>
70
+ <div class="data-souce-modal-content">
71
+ <div class="sort-field" v-for="item in sortFields" :key="item.code">
72
+ {{item.text}}
73
+ <span class="sort-icon" @click="changeSort(item)">
74
+ <i :class="['el-icon-sort-down', {'active':item.sort==='desc'}]"></i>
75
+ <i :class="['el-icon-sort-up', , {'active':item.sort==='asc'}]"></i>
76
+ </span>
77
+ <i class="el-icon-close" @click="deleteSort(item)"></i>
78
+ </div>
79
+ <div class="sort-opera">
80
+ <el-popover ref="popover" trigger="click" :preventOverflowOrder="['left', 'right', 'top', 'bottom']" :tabindex="1" popover-class="sort-opera-popover">
81
+ <span class="sort-opera-item" slot="reference">
82
+ <i class="el-icon-plus"></i>
83
+ <font>添加排序字段</font>
84
+ </span>
85
+ <div class="filter-condition-opera__popper">
86
+ <el-tree :data="allFields" node-key="code" :default-expanded-keys="defaultExpandKey" :props="defaultProps" @node-click="addSortField">
87
+ </el-tree>
88
+ </div>
89
+ </el-popover>
90
+ </div>
91
+ </div>
92
+ </li>
93
+ </div>
94
+ <span slot="footer" class="dialog-footer">
95
+ <el-button @click="dataSourceModal = false">取 消</el-button>
96
+ <el-button type="primary" @click.stop="submitDataSource">确 定</el-button>
97
+ </span>
98
+ </el-dialog>
99
+ </el-tab-pane>
100
+ <el-tab-pane label="参数">
101
+ <div class="module-header">
102
+ <el-button size="small" type="primary" @click="addFormParam">新增</el-button>
103
+ </div>
104
+ <el-tree class="params-tree" :data="variableTree" :props="{label: 'name'}" :default-expand-all="true">
105
+ <template slot-scope="{ node, data }">
106
+ <div class="params">
107
+ <span :draggable="data.type==='variable' ?'true': 'false'" @dragstart="e=>dragVariableFn(e, data, node)">{{node.label}}</span>
108
+ <span class="params-icon" v-if="data.type!=='folder' && data.type!=='variable' && data.value!=='id'">
109
+ <i class="el-icon-edit" @click="editFormParam(data)"></i>
110
+ <i class="el-icon-close" @click="deleteFormParam(data)"></i>
111
+ </span>
112
+ </div>
113
+ </template>
114
+ </el-tree>
115
+ <el-dialog title="添加表单参数" :visible.sync="formParamModal" width="400px">
116
+ <div class="data-souce-modal-content data-souce-modal-content__base">
117
+ <div class="form-item">
118
+ <label class="table-form-item-label">编号:</label>
119
+ <epx-form-field :values="formParam" @update-value="updateFormParam" :fieldConfig="{attriName: 'CODE', attriLabel: '编号', dataType: 'text', state:'EDIT'}" />
120
+ </div>
121
+ <div class="form-item">
122
+ <label class="table-form-item-label">名称:</label>
123
+ <epx-form-field :values="formParam" @update-value="updateFormParam" :fieldConfig="{attriName: 'NAME', attriLabel: '名称', dataType: 'text', state:'EDIT'}" />
124
+ </div>
125
+ </div>
126
+ <span slot="footer" class="dialog-footer">
127
+ <el-button @click="formParamModal = false">取 消</el-button>
128
+ <el-button type="primary" @click.stop="saveFormParam">确 定</el-button>
129
+ </span>
130
+ </el-dialog>
131
+ </el-tab-pane>
132
+ </el-tabs>
133
+ </div>
134
+ <div class="luckysheet-container" ref="luckysheet">
135
+
136
+ </div>
137
+ <div class="attribute-pane">
138
+ <div class="attribute-pane__header">
139
+ <span>{{globalSetting ? '全局设置': '基础配置'}}</span>
140
+ </div>
141
+ <div class="attribute-pane__content" v-if="globalSetting">
142
+ <p class="form__label" for="">文件名</p>
143
+ <textarea v-show="globalSetting" ref="titleEditor" class="title-editor"></textarea>
144
+ <p class="form__label" for="">打印纸张设置</p>
145
+ <epx-table-form class="form-content" ref="form" :fieldsConfigs="fieldsConfigs" v-model="formData" :column="1" label-align="left"></epx-table-form>
146
+ <p class="form__label" for="">其他设置</p>
147
+ <epx-table-form class="form-content" ref="form" :fieldsConfigs="otherFieldsConfigs" v-model="formData" :column="1" label-align="left"></epx-table-form>
148
+ <div :style="{marginTop: '30PX'}">
149
+ <div :style="{textAlign: 'center', position: 'fixed',bottom:0,width:'400px',zIndex:99}">
150
+ <el-button size="medium" @click="globalSettingCancel">取消</el-button>
151
+ <el-button type="primary" size="medium" @click="updateForm">保存</el-button>
152
+ </div>
153
+ </div>
154
+ </div>
155
+ <div class="attribute-pane__content" v-else-if="activeCell">
156
+ <div class="attribute-item">
157
+ <label for="">坐标</label>
158
+ <span class="attribute-item__content">{{excelCoord(activeCell.rowIndex+ 1, activeCell.columnIndex )}}</span>
159
+ </div>
160
+ <div class="attribute-item">
161
+ <label for="">左父格</label>
162
+ <div class="attribute-item__content">
163
+ <el-radio-group v-model="leftCellWay">
164
+ <el-radio label="default" @change="defaultLeftCell">默认</el-radio>
165
+ <br />
166
+ <el-radio label="custom">
167
+ <span>自定义</span>
168
+ <el-select class="cell-select" v-model="leftCellColumn" size="medium" placeholder="">
169
+ <el-option label="无" value="root">无</el-option>
170
+ <el-option v-for="item in columnList" :key="item" :label="item" :value="item"></el-option>
171
+ </el-select>
172
+ <el-select class="cell-select" v-model="leftCellRow" size="medium" placeholder="">
173
+ <el-option v-for="item in rowList" :key="item" :label="item" :value="item"></el-option>
174
+ </el-select>
175
+ </el-radio>
176
+ </el-radio-group>
177
+ </div>
178
+ </div>
179
+ <div class="attribute-item">
180
+ <label for="">上父格</label>
181
+ <el-radio-group v-model="topCellWay">
182
+ <el-radio label="default" @change="defaultTopCell">默认</el-radio>
183
+ <br />
184
+ <el-radio label="custom">
185
+ <span>自定义</span>
186
+ <el-select class="cell-select" v-model="topCellColumn" size="medium" placeholder="">
187
+ <el-option label="无" key='root' value="root"></el-option>
188
+ <el-option v-for="item in columnList" :key="item" :label="item" :value="item"></el-option>
189
+ </el-select>
190
+ <el-select class="cell-select" v-model="topCellRow" size="medium" placeholder="">
191
+ <el-option v-for="item in rowList" :key="item" :label="item" :value="item"></el-option>
192
+ </el-select>
193
+ </el-radio>
194
+ </el-radio-group>
195
+ </div>
196
+ <div class="attribute-item">
197
+ <label for="">单元格类型</label>
198
+ <div class="attribute-item__content">
199
+ <el-select size="medium" v-model="activeCell.cellType" placeholder="请选择">
200
+ <el-option value="simple" label="普通文本"></el-option>
201
+ <el-option value="dataset" label="数据集"></el-option>
202
+ <el-option value="system-variable" label="系统变量"></el-option>
203
+ <el-option value="expression" label="表达式"></el-option>
204
+ <el-option value="image" label="图片"></el-option>
205
+ </el-select>
206
+ </div>
207
+ </div>
208
+ <template v-if="activeCell.cellType==='image'">
209
+ <div class="attribute-item">
210
+ <label for="">图片高度</label>
211
+ <div class="attribute-item__content">
212
+ <el-input v-model="activeCell.imageHeight"></el-input>
213
+ </div>
214
+ </div>
215
+ <div class="attribute-item">
216
+ <label for="">图片宽度</label>
217
+ <div class="attribute-item__content">
218
+ <el-input v-model="activeCell.imageWidth"></el-input>
219
+ </div>
220
+ </div>
221
+ </template>
222
+
223
+ <template v-if="activeCell.cellType==='expression'">
224
+ <div class="attribute-item">
225
+ <label for="">表达式</label>
226
+ <el-input type="textarea" rows="3" v-model="activeCell.v"></el-input>
227
+ </div>
228
+ </template>
229
+ <template v-if="activeCell.cellType==='dataset'">
230
+ <div class="attribute-item">
231
+ <label for="">过滤条件</label>
232
+ <div class="attribute-item__content">
233
+ <ul class="filter-condition__list" v-if="activeCell.filterCondition">
234
+ <li class="filter-condition__item" v-for="(item, index) in activeCell.filterCondition" :key="item.propertyId">
235
+ {{item.text}}
236
+ <span class="filter-condition__operates">
237
+ <i class="el-icon-edit" @click="editFilterCondition(item, index)"></i>
238
+ <el-popconfirm title="确认删除?" @confirm="deleteFilterCondition(index)">
239
+ <i slot="reference" class="el-icon-close"></i>
240
+ </el-popconfirm>
241
+ </span>
242
+ </li>
243
+ </ul>
244
+ <el-button type="primary" size="small" @click="addFilterCondition">添加条件</el-button>
245
+ </div>
246
+ </div>
247
+ </template>
248
+ <div class="attribute-item">
249
+ <label for="">聚合方式</label>
250
+ <div class="attribute-item__content">
251
+ <el-radio-group v-model="activeCell.aggregate">
252
+ <el-radio label="select">列表</el-radio>
253
+ <el-radio label="group">分组</el-radio>
254
+ </el-radio-group>
255
+ </div>
256
+ </div>
257
+ <div class="attribute-item">
258
+ <label for="">数据展开方向</label>
259
+ <div class="attribute-item__content">
260
+ <el-radio-group v-model="activeCell.expand">
261
+ <el-radio label="Down">向下</el-radio>
262
+ <el-radio label="Right">向右</el-radio>
263
+ <el-radio label="None">不展开</el-radio>
264
+ </el-radio-group>
265
+ </div>
266
+ </div>
267
+ <div class="attribute-item">
268
+ <label for="">分页方式</label>
269
+ <div class="attribute-item__content">
270
+ <el-radio-group v-model="activeCell.pagePosition">
271
+ <el-radio label="before">行前分页</el-radio>
272
+ <el-radio label="after">行后分页</el-radio>
273
+ <el-radio label="none">不分页</el-radio>
274
+ </el-radio-group>
275
+ </div>
276
+ </div>
277
+ <div class="attribute-item">
278
+ <label for="">自动换行</label>
279
+ <div class="attribute-item__content">
280
+ <el-radio-group v-model="activeCell.wrapCompute">
281
+ <el-radio label="1">打开</el-radio>
282
+ <el-radio label="0">关闭</el-radio>
283
+ </el-radio-group>
284
+ </div>
285
+ </div>
286
+ <div class="attribute-item">
287
+ <label for="">分页时不断开:</label>
288
+ <div class="attribute-item__content">
289
+ <el-checkbox v-model="activeCell.breakOnPaginate"></el-checkbox>
290
+ </div>
291
+ </div>
292
+ <div class="attribute-item">
293
+ <label for="">高度自适应</label>
294
+ <div class="attribute-item__content">
295
+ <el-radio-group v-model="activeCell.heightAuto">
296
+ <el-radio label="1">打开</el-radio>
297
+ <el-radio label="0">关闭</el-radio>
298
+ </el-radio-group>
299
+ </div>
300
+ </div>
301
+ <div class="attribute-item">
302
+ <label for="">行高</label>
303
+ <div class="attribute-item__content">
304
+ <el-input size="medium" v-model="activeCell.lineHeight" placeholder="默认高度1.2"></el-input>
305
+ </div>
306
+ </div>
307
+ <div class="attribute-item">
308
+ <label for="">补充空白行倍数:</label>
309
+ <div class="attribute-item__content">
310
+ <el-input size="medium" v-model="activeCell.fillBlankRowsMultiple" placeholder=""></el-input>
311
+ </div>
312
+ </div>
313
+ <div class="attribute-item">
314
+ <label for="">条件属性</label>
315
+ <div class="attribute-item__content">
316
+ <span v-for="(item,index) in activeCell.conditionPropertyItems" :key="item.guid">
317
+ {{item.name+(index==activeCell.conditionPropertyItems.length-1?'':'、')}}
318
+ </span>
319
+ <br/>
320
+ <el-button type="primary" size="small" @click="addConditionPropertyItem">添加条件属性</el-button>
321
+ </div>
322
+ </div>
323
+ </div>
324
+ </div>
325
+ </div>
326
+ <el-dialog v-if="showFormParamsDialog" title="提交表单参数" width="520px" :visible.sync="showFormParamsDialog">
327
+ <div>
328
+ <div class="input-params" v-for="param in formParams" :key="param.ID">
329
+ <label>{{param.NAME}}:</label>
330
+ <el-input type="middle" require="true" v-model="previewParams[param.CODE]"></el-input>
331
+ </div>
332
+ </div>
333
+ <el-button class="preview-btn" type="primary" @click="preview">预 览</el-button>
334
+ </el-dialog>
335
+ <el-dialog v-if="showFilterConditionDialog" title="过滤条件" width="520px" :visible.sync="showFilterConditionDialog">
336
+ <div class="input-params" v-if="(activeCell.filterCondition && activeCell.filterCondition.length>0) && ((!editFilterConditionIndex && editFilterConditionIndex!=0) || editFilterConditionIndex > 0)">
337
+ <label>与上一条件关系:</label>
338
+ <el-select size="medium" v-model="filterConditionForm.join" placeholder="请选择">
339
+ <el-option value="and" label="并且"></el-option>
340
+ <el-option value="or" label="或者"></el-option>
341
+ </el-select>
342
+ </div>
343
+ <div class="input-params" >
344
+ <label>属性名:</label>
345
+ <el-select size="medium" v-model="filterConditionForm.propertyId" placeholder="请选择">
346
+ <el-option v-for="item in objectFieldList" :key="item.code" :value="item.code" :label="item.text" ></el-option>
347
+ </el-select>
348
+ <!-- <el-input type="middle" v-model="filterConditionForm.propertyId"></el-input> -->
349
+ </div>
350
+ <div class="input-params" >
351
+ <label>操作符:</label>
352
+ <el-select size="medium" v-model="filterConditionForm.op" placeholder="请选择">
353
+ <el-option value=">" label="大于"></el-option>
354
+ <el-option value=">=" label="大于等于"></el-option>
355
+ <el-option value="<" label="小于"></el-option>
356
+ <el-option value="<=" label="小于等于"></el-option>
357
+ <el-option value="==" label="等于"></el-option>
358
+ <el-option value="!=" label="不等于"></el-option>
359
+ <el-option value="in" label="在集合中"></el-option>
360
+ <el-option value="like" label="相似"></el-option>
361
+ </el-select>
362
+ </div>
363
+ <div class="input-params">
364
+ <label>值表达式:</label>
365
+ <el-input size="middle" :style="{width: '200px'}" v-model="filterConditionForm.condition"></el-input>
366
+ </div>
367
+ <div class="filter-condition__btn">
368
+ <el-button size="medium" @click="showFilterConditionDialog=false">取消</el-button>
369
+ <el-button type="primary" @click="saveFilterCondition">确定</el-button>
370
+ </div>
371
+ </el-dialog>
372
+ <el-dialog v-if="showConditionPropertyItemDialog" title="条件属性" width="1100px" :visible.sync="showConditionPropertyItemDialog">
373
+ <div style="height: 500px;">
374
+ <el-row :gutter="15">
375
+ <el-col :span="7">
376
+ <el-card class="box-card" shadow="never">
377
+ <div slot="header" class="clearfix">
378
+ <el-row>
379
+ <el-col :span="10">
380
+ <span>条件项配置</span>
381
+ </el-col>
382
+ <el-col :span="14">
383
+ <el-button-group>
384
+ <el-button type="primary" icon="el-icon-circle-plus-outline" size="mini" @click="showConditionPropertyItemNameDialog=true"></el-button>
385
+ </el-button-group>
386
+ </el-col>
387
+ </el-row>
388
+ </div>
389
+ <div>
390
+ <ul class="filter-condition__list" v-if="activeCell.conditionPropertyItems">
391
+ <li :class="currentConditionPropertyItem && item.uid == currentConditionPropertyItem.uid ? 'condition-property-item-active' : 'condition-property-item'" v-for="(item) in activeCell.conditionPropertyItems" :key="item.guid" @click="clickConditionPropertyItem(item)">
392
+ {{item.name}}
393
+ <span class="filter-condition__operates">
394
+ <i class="el-icon-edit" @click="editConditionPropertyItem()"></i>
395
+ <el-popconfirm title="确认删除?" @confirm="deleteConditionPropertyItem(item)">
396
+ <i slot="reference" class="el-icon-close"></i>
397
+ </el-popconfirm>
398
+ </span>
399
+ </li>
400
+ </ul>
401
+ </div>
402
+ </el-card>
403
+ </el-col>
404
+ <el-col :span="7">
405
+ <el-card class="box-card" shadow="never">
406
+ <div slot="header" class="clearfix">
407
+ <el-row>
408
+ <el-col :span="10">
409
+ <span>条件配置</span>
410
+ </el-col>
411
+ <el-col :span="14">
412
+ <el-button-group>
413
+ <el-button type="primary" icon="el-icon-circle-plus-outline" size="mini" @click="showConditionPropertyItemConditionDialog=true;conditionPropertyItemConditionForm={}"></el-button>
414
+ </el-button-group>
415
+ </el-col>
416
+ </el-row>
417
+ </div>
418
+ <div>
419
+ <ul class="filter-condition__list" v-if="currentConditionPropertyItem.conditions">
420
+ <li :class="conditionPropertyItemConditionForm && item.uid == conditionPropertyItemConditionForm.uid ? 'condition-property-item-active' : 'condition-property-item'" v-for="(item) in currentConditionPropertyItem.conditions" :key="item.guid">
421
+ {{getConditionOpText(item.join)}} {{item.type=='current'?'当前值':'表达式'}} {{item.type=='expression'?item.left:''}} {{getConditionOpText(item.op)}} {{item.condition}}
422
+ <span class="filter-condition__operates">
423
+ <i class="el-icon-edit" @click="editConditionPropertyCondition(item)"></i>
424
+ <el-popconfirm title="确认删除?" @confirm="deleteConditionPropertyCondition(item)">
425
+ <i slot="reference" class="el-icon-close"></i>
426
+ </el-popconfirm>
427
+ </span>
428
+ </li>
429
+ </ul>
430
+ </div>
431
+ </el-card>
432
+ </el-col>
433
+ <el-col :span="10">
434
+ <el-card class="box-card" shadow="never">
435
+ <div slot="header" class="clearfix">
436
+ <span>属性配置</span>
437
+ </div>
438
+ <div v-if="this.conditionPropertyItems.length>0">
439
+ <el-row :gutter="20">
440
+ <el-col :span="6"><el-checkbox class="property-item-condition" v-model="currentConditionPropertyItem.newValueFlag">新值</el-checkbox></el-col>
441
+ <el-col :span="12" v-if="currentConditionPropertyItem.newValueFlag"><el-input v-model="currentConditionPropertyItem.newValue" placeholder="请输入内容"></el-input></el-col>
442
+ </el-row>
443
+ <el-row :gutter="20">
444
+ <el-col :span="6"><el-checkbox class="property-item-condition" v-model="currentConditionPropertyItem.colWidthFlag">列宽</el-checkbox></el-col>
445
+ <el-col :span="12" v-if="currentConditionPropertyItem.colWidthFlag"><el-input v-model="currentConditionPropertyItem.colWidth" placeholder="请输入内容"></el-input></el-col>
446
+ </el-row>
447
+ <el-row :gutter="20">
448
+ <el-col :span="6"><el-checkbox class="property-item-condition" v-model="currentConditionPropertyItem.pagingFlag">分页</el-checkbox></el-col>
449
+ <el-col :span="12" v-if="currentConditionPropertyItem.pagingFlag">
450
+ <el-select size="medium" v-model="currentConditionPropertyItem.position" placeholder="请选择">
451
+ <el-option value="before" label="当前行前"></el-option>
452
+ <el-option value="after" label="当前行后"></el-option>
453
+ </el-select>
454
+ </el-col>
455
+ </el-row>
456
+ </div>
457
+ </el-card>
458
+ </el-col>
459
+ </el-row>
460
+ </div>
461
+ <div class="filter-condition__btn">
462
+ <el-button @click="showConditionPropertyItemDialog=false">取消</el-button>
463
+ <el-button type="primary" @click="saveConditionPropertyItem">确定</el-button>
464
+ </div>
465
+ </el-dialog>
466
+
467
+ <el-dialog v-if="showConditionPropertyItemNameDialog" width="520px" :visible.sync="showConditionPropertyItemNameDialog">
468
+ <div>
469
+ <div class="input-params" v-for="param in formParams" :key="param.ID">
470
+ <label>{{param.NAME}}:</label>
471
+ <el-input type="middle" require="true" v-model="previewParams[param.CODE]"></el-input>
472
+ </div>
473
+ </div>
474
+ <el-button class="preview-btn" type="primary" @click="preview">预 览</el-button>
475
+ </el-dialog>
476
+ <el-dialog v-if="showConditionPropertyItemNameDialog" title="条件项名称" width="520px" :visible.sync="showConditionPropertyItemNameDialog">
477
+ <div class="input-params">
478
+ <label>条件项名称:</label>
479
+ <el-input size="middle" :style="{width: '200px'}" v-model="conditionPropertyItemNameForm.name"></el-input>
480
+ </div>
481
+ <div class="filter-condition__btn">
482
+ <el-button size="medium" @click="showConditionPropertyItemNameDialog=false">取消</el-button>
483
+ <el-button type="primary" @click="saveConditionPropertyItemName">确定</el-button>
484
+ </div>
485
+ </el-dialog>
486
+
487
+ <el-dialog v-if="showConditionPropertyItemConditionDialog" title="过滤条件" width="520px" :visible.sync="showConditionPropertyItemConditionDialog">
488
+ <input hidden v-model="conditionPropertyItemConditionForm.uid">
489
+ <div class="input-params" v-if="(this.currentConditionPropertyItem.conditions && this.currentConditionPropertyItem.conditions.length>0 && this.conditionPropertyItemConditionForm.index!=0)">
490
+ <label>与上一条件关系:</label>
491
+ <el-select size="medium" v-model="conditionPropertyItemConditionForm.join" placeholder="请选择">
492
+ <el-option value="and" label="并且"></el-option>
493
+ <el-option value="or" label="或者"></el-option>
494
+ </el-select>
495
+ </div>
496
+ <div class="input-params" >
497
+ <label>条件左值:</label>
498
+ <el-select size="medium" v-model="conditionPropertyItemConditionForm.type" placeholder="请选择">
499
+ <el-option value="current" label="当前值"></el-option>
500
+ <el-option value="expression" label="表达式"></el-option>
501
+ </el-select>
502
+ <div v-if="conditionPropertyItemConditionForm.type == 'expression'" class="input-params" style="margin-left:10px">
503
+ <label>表达式:</label>
504
+ <el-input size="middle" :style="{width: '150px'}" v-model="conditionPropertyItemConditionForm.left"></el-input>
505
+ </div>
506
+ </div>
507
+ <div class="input-params" >
508
+ <label>操作符:</label>
509
+ <el-select size="medium" v-model="conditionPropertyItemConditionForm.op" placeholder="请选择">
510
+ <el-option value=">" label="大于"></el-option>
511
+ <el-option value=">=" label="大于等于"></el-option>
512
+ <el-option value="<" label="小于"></el-option>
513
+ <el-option value="<=" label="小于等于"></el-option>
514
+ <el-option value="==" label="等于"></el-option>
515
+ <el-option value="!=" label="不等于"></el-option>
516
+ <el-option value="in" label="在集合中"></el-option>
517
+ <el-option value="like" label="相似"></el-option>
518
+ <el-option value="not like" label="不相似"></el-option>
519
+ </el-select>
520
+ </div>
521
+ <div class="input-params">
522
+ <label>值表达式:</label>
523
+ <el-input size="middle" :style="{width: '200px'}" v-model="conditionPropertyItemConditionForm.condition"></el-input>
524
+ </div>
525
+ <div class="filter-condition__btn">
526
+ <el-button size="medium" @click="showConditionPropertyItemConditionDialog=false">取消</el-button>
527
+ <el-button type="primary" @click="saveConditionPropertyItemCondition">确定</el-button>
528
+ </div>
529
+ </el-dialog>
530
+
531
+ </div>
532
+ </template>
533
+
534
+ <script>
535
+ /* eslint-disable no-undef */
536
+ import { mapState } from 'vuex'
537
+ const ADD_META = 'ADD_META'
538
+ export default {
539
+ name: 'epx-excel-design',
540
+ navConfigs: {
541
+ flag: false
542
+ },
543
+ data () {
544
+ return {
545
+ editName: false,
546
+ globalSetting: false,
547
+ formData: {},
548
+ activeCell: null,
549
+ columnList: [],
550
+ rowList: [],
551
+ leftCellWay: 'default',
552
+ topCellWay: 'default',
553
+ excelInfo: {},
554
+ dataSource: [],
555
+ dataSourceModal: false,
556
+ setting: {
557
+ height: 500
558
+ },
559
+ dataSourceInfo: {},
560
+ allFields: [],
561
+ fields: [],
562
+ defaultExpandKey: [],
563
+ defaultProps: {
564
+ children: 'children',
565
+ label: 'text'
566
+ },
567
+ initCondition: [],
568
+ searchParams: [],
569
+ formParam: {},
570
+ formParams: [],
571
+ formParamModal: false,
572
+ editFormParamId: '',
573
+ showFormParamsDialog: false,
574
+ previewParams: {},
575
+ isImportExcel: false,
576
+ showFilterConditionDialog: false,
577
+ filterConditionForm: {},
578
+ editFilterConditionIndex: null,
579
+ showConditionPropertyItemDialog: false,
580
+ conditionPropertyItems: [],
581
+ showConditionPropertyItemNameDialog: false,
582
+ conditionPropertyItemNameForm: {},
583
+ currentConditionPropertyItem: {},
584
+ showConditionPropertyItemConditionDialog: false,
585
+ conditionPropertyItemConditionForm: {},
586
+ otherFieldsConfigs: []
587
+ }
588
+ },
589
+ computed: {
590
+ ...mapState({
591
+ systemVariableList: state => state.config.systemVariableList // 当前导航菜单
592
+ }),
593
+ variableTree () {
594
+ return [
595
+ {
596
+ type: 'folder',
597
+ name: '自定义参数',
598
+ children: this.formParams.map(item => ({ ...item, name: item.NAME, value: item.CODE }))
599
+ },
600
+ {
601
+ type: 'folder',
602
+ name: '系统变量',
603
+ children: this.systemVariableList
604
+ }
605
+ ]
606
+ },
607
+ leftCellColumn: {
608
+ get () {
609
+ const { leftCell } = this.activeCell
610
+ if (leftCell === 'root') {
611
+ return '无'
612
+ }
613
+ if (leftCell) {
614
+ const arr = /^([A-Z]*)(\d*)$/.exec(leftCell)
615
+ return arr[1] || ''
616
+ }
617
+ return ''
618
+ },
619
+ set (v) {
620
+ if (v === 'root') {
621
+ this.$set(this.activeCell, 'leftCell', v)
622
+ } else {
623
+ this.$set(this.activeCell, 'leftCell', v + this.leftCellRow)
624
+ }
625
+ }
626
+ },
627
+ leftCellRow: {
628
+ get () {
629
+ const { leftCell } = this.activeCell
630
+ if (leftCell && leftCell !== 'root') {
631
+ const arr = /^([A-Z]*)(\d*)$/.exec(leftCell)
632
+ return arr[2] || ''
633
+ }
634
+ return ''
635
+ },
636
+ set (v) {
637
+ this.activeCell.leftCell = this.leftCellColumn + v
638
+ this.$set(this.activeCell, 'leftCell', this.leftCellColumn + v)
639
+ }
640
+ },
641
+ topCellColumn: {
642
+ get () {
643
+ const { topCell } = this.activeCell
644
+ if (topCell === 'root') {
645
+ return '无'
646
+ }
647
+ if (topCell && topCell !== 'root') {
648
+ const arr = /^([A-Z]*)(\d*)$/.exec(topCell)
649
+ return arr[1] || ''
650
+ }
651
+ return ''
652
+ },
653
+ set (v) {
654
+ if (v === 'root') {
655
+ this.$set(this.activeCell, 'topCell', v)
656
+ } else {
657
+ this.$set(this.activeCell, 'topCell', v + this.topCellRow)
658
+ }
659
+ }
660
+ },
661
+ topCellRow: {
662
+ get () {
663
+ const { topCell } = this.activeCell
664
+ if (topCell && topCell !== 'root') {
665
+ const arr = /^([A-Z]*)(\d*)$/.exec(topCell)
666
+ return arr[2] || ''
667
+ }
668
+ return ''
669
+ },
670
+ set (v) {
671
+ this.$set(this.activeCell, 'topCell', this.topCellColumn + v)
672
+ }
673
+ },
674
+ objectFieldList () {
675
+ const { dataSource } = this.activeCell || {}
676
+ if (dataSource) {
677
+ const item = this.dataSource.find(item => item.id === dataSource) || {}
678
+ if (item && item.children[0]) {
679
+ return item.children[0].children
680
+ }
681
+ }
682
+ return []
683
+ },
684
+ defineDynamicParams () {
685
+ return this.formParams.map(item => ({ id: '${' + item.CODE + '}', name: item.NAME }))
686
+ },
687
+ sortFields: {
688
+ get () {
689
+ let { SORT = '[]' } = this.dataSourceInfo
690
+ if (SORT === 'undefined' || SORT === '' || SORT === null) SORT = '[]'
691
+ return JSON.parse(SORT)
692
+ },
693
+ set (v) {
694
+ this.$set(this.dataSourceInfo, 'SORT', JSON.stringify(v))
695
+ }
696
+ }
697
+ },
698
+ watch: {
699
+ activeCell: {
700
+ handler: function (v, oldVal) {
701
+ const { rowIndex, columnIndex, ...props } = v
702
+ if (this.leftCellWay === 'default') props.leftCell = ''
703
+ if (this.topCellWay === 'default') props.topCell = ''
704
+ if (props.cellType && props.cellType === 'expression') {
705
+ props.m = props.v
706
+ }
707
+ luckysheet.setCellValue(rowIndex, columnIndex, props)
708
+ },
709
+ deep: true
710
+ },
711
+ globalSetting (v) {
712
+ if (v) {
713
+ this.$nextTick(() => {
714
+ this.initTitleEditor()
715
+ })
716
+ }
717
+ },
718
+ 'dataSourceInfo.ENTITY': {
719
+ handler (v) {
720
+ if (v) {
721
+ const meta = this.metas[v]
722
+ if (!meta) {
723
+ this.$store.dispatch({ // 加回调
724
+ type: ADD_META,
725
+ metaId: v
726
+ })
727
+ .then(data => {
728
+ if (data) {
729
+ const relations = data.getRelations()
730
+ this.getAllFields(relations)
731
+ }
732
+ })
733
+ } else {
734
+ const relations = meta.getRelations()
735
+ this.getAllFields(relations)
736
+ }
737
+ }
738
+ },
739
+ deep: true
740
+ }
741
+ },
742
+ methods: {
743
+ $refeshData () {
744
+ this.createExcel()
745
+ },
746
+ getData () {
747
+ this.$http.get({
748
+ entityId: 'FM_FORM',
749
+ id: this.$query.id
750
+ })
751
+ .then(data => {
752
+ this.excelInfo = data.data
753
+ this.formData = { ...data.data }
754
+ this.createExcel()
755
+ })
756
+ },
757
+ getFieldConfigs () {
758
+ this.$FieldFactory.createFields({
759
+ meta: this.$meta,
760
+ metaId: this.$metaId,
761
+ pageType: 'EDIT',
762
+ fields: ['PRINT_PAGE_SIZE', 'PRINT_PAGE_DIRECTION', 'LEFT_MARGIN', 'RIGHT_MARGIN', 'TOP_MARGIN', 'BOTTOM_MARGIN', 'IS_PAGE_NUMBER', 'PAGE_NUMBER_FORMAT', 'PAGE_NUMBER_TOP', 'PAGE_NUMBER_START']
763
+ })
764
+ .then(data => {
765
+ this.fieldsConfigs = [...data]
766
+ })
767
+ this.$FieldFactory.createFields({
768
+ meta: this.$meta,
769
+ metaId: this.$metaId,
770
+ pageType: 'EDIT',
771
+ fields: ['PROCESS', 'BUSINESS_KEY']
772
+ })
773
+ .then(data => {
774
+ this.otherFieldsConfigs = [...data]
775
+ })
776
+ },
777
+ excelCoord (row, column) {
778
+ return this.NumToString(column + 1) + row
779
+ },
780
+ initTitleEditor () {
781
+ const that = this
782
+ if (this.titleEditor) this.titleEditor.remove()
783
+ const editor = this.$refs.titleEditor
784
+ global.tinymce.init({
785
+ target: editor,
786
+ height: 80,
787
+ autoresize_min_height: 80,
788
+ plugins: 'data',
789
+ menubar: '',
790
+ toolbar: '',
791
+ contextmenu: 'data',
792
+ language: 'zh_CN',
793
+ dataSource: this.dataSource,
794
+ statusbar: false,
795
+ content_style: 'p {margin: 2px 0}'
796
+ })
797
+ .then(editors => {
798
+ this.titleEditor = editors[0]
799
+ if (this.titleEditor) {
800
+ const frame = this.titleEditor.iframeElement.contentWindow
801
+ const editorContainer = frame.document.querySelector('body')
802
+ editorContainer.ondragover = (e) => {
803
+ e.preventDefault()
804
+ }
805
+ editorContainer.ondrop = (e) => {
806
+ const type = e.dataTransfer.getData('type')
807
+ if (type === 'variable') {
808
+ const variableCode = e.dataTransfer.getData('variableCode')
809
+ const variableName = e.dataTransfer.getData('variableName')
810
+ const span = document.createElement('span')
811
+ span.contentEditable = 'false'
812
+ span.setAttribute('data-name', 'variable')
813
+ span.setAttribute('data-value', variableCode)
814
+ span.innerHTML = `<label>{${variableName}}</label>`
815
+ if (e.target.innerHTML === '<br>') {
816
+ e.target.innerHTML = ''
817
+ }
818
+ e.target.appendChild(span)
819
+ } else {
820
+ const fieldId = e.dataTransfer.getData('fieldId')
821
+ const sourceName = e.dataTransfer.getData('sourceName') || ''
822
+ const fieldName = e.dataTransfer.getData('fieldName')
823
+ if (fieldId) {
824
+ const span = document.createElement('span')
825
+ span.contentEditable = 'false'
826
+ span.setAttribute('data-name', 'datasource')
827
+ span.setAttribute('data-datasource', sourceName)
828
+ span.setAttribute('data-field', fieldId)
829
+ span.innerHTML = `<label>{${sourceName}.${fieldName}}</label>`
830
+ if (e.target.innerHTML === '<br>') {
831
+ e.target.innerHTML = ''
832
+ }
833
+ e.target.appendChild(span)
834
+ const value = this.titleEditor.getContent()
835
+ that.formData = { ...that.formData, TITLE: value }
836
+ } else {
837
+ return true
838
+ }
839
+ }
840
+ }
841
+ this.titleEditor.setContent(this.formData.TITLE || '')
842
+ }
843
+ })
844
+ },
845
+ NumToString (i) {
846
+ var s = 'A B C D E F G H I J K L M N O P Q R S T U V W X Y Z'
847
+ var sArray = s.split(' ')
848
+ if (i < 1) return ''
849
+
850
+ if (parseInt((i / 26) + '') === 0) return sArray[i % 26 - 1]
851
+ else {
852
+ if (i % 26 === 0) return (this.NumToString(parseInt((i / 26) + '') - 1)) + sArray[26 - 1]
853
+ else return sArray[parseInt((i / 26) + '') - 1] + sArray[i % 26 - 1]
854
+ }
855
+ },
856
+ getDataSource () {
857
+ const { id } = this.$query
858
+ this.$http.list({
859
+ entityId: 'FM_FORM_SOURCE',
860
+ 'scope.FORM': id
861
+ })
862
+ .then(async data => {
863
+ this.dataSource = data.entitys.map(item => ({ id: item.ENTITY, name: item.NAME, root: true, sourceId: item.ID }))
864
+ for (let index = 0; index < data.entitys.length; index++) {
865
+ const item = data.entitys[index]
866
+ // 获取对应的metaId
867
+ if (item.ENTITY) this.$store.dispatch({ type: ADD_META, metaId: item.ENTITY })
868
+ const entityData = await this.getAttribute(item, { id: item.ENTITY, name: item.NAME, root: true, sourceId: item.ID })
869
+ this.$set(this.dataSource, index, { ...this.dataSource[index], children: entityData })
870
+ }
871
+ })
872
+ },
873
+ getAttribute (item, source) {
874
+ const { ENTITY, ENTITY_VIEW } = item
875
+ return this.$http.get({
876
+ action: 'getEntityMetaView',
877
+ entityId: 'FM_ENTITY_VIEW',
878
+ metaId: ENTITY,
879
+ metaViewId: ENTITY_VIEW,
880
+ allSub: true
881
+ })
882
+ .then(data => {
883
+ if (data[0]) data[0].isMain = true
884
+ const formatData = (arr) => {
885
+ arr.forEach(item => {
886
+ if (item.type === 'folder') item.isMain = true
887
+ item.field = item.linkCode || item.code
888
+ item.relationSort = item.relationType
889
+ if (!item.codeKey) item.codeKey = item.relatedEntity
890
+ item.id = item.field
891
+ item.name = item.text
892
+ item.meta = item.meta ? item.meta.id : ''
893
+ if (item.type === 'meta' && item.relationType === '1') item.isSub = true
894
+ if (item.children) formatData(item.children)
895
+ })
896
+ }
897
+ formatData(data)
898
+ return data
899
+ })
900
+ },
901
+ setFormName () {
902
+ this.$http.update({
903
+ entityId: 'FM_FORM',
904
+ 'bean.ID': this.excelInfo.ID,
905
+ 'bean.NAME': this.excelInfo.NAME
906
+ })
907
+ .then(() => {
908
+ this.editName = false
909
+ })
910
+ .catch(err => {
911
+ this.$message.error(err.errorText)
912
+ })
913
+ },
914
+ updateForm () {
915
+ const params = {}
916
+ this.formData.TITLE = this.titleEditor.getContent()
917
+ for (const key in this.formData) {
918
+ if (!key.includes('#')) {
919
+ params[`bean.${key}`] = this.formData[key]
920
+ }
921
+ }
922
+ this.$http.update({
923
+ entityId: 'FM_FORM',
924
+ 'bean.ID': this.excelInfo.ID,
925
+ ...params
926
+ })
927
+ .then(() => {
928
+ this.globalSetting = false
929
+ this.$message.success('保存成功')
930
+ this.titleEditor.remove()
931
+ })
932
+ .catch(err => {
933
+ this.$message.error(err.errorText)
934
+ this.titleEditor.remove()
935
+ })
936
+ },
937
+ globalSettingCancel () {
938
+ this.globalSetting = false
939
+ this.titleEditor.remove()
940
+ },
941
+ openAddDataSourceModal () {
942
+
943
+ },
944
+ updateDataSourceInfo (v) {
945
+ this.dataSourceInfo = { ...this.dataSourceInfo, ...v }
946
+ },
947
+ updateFormParam (v) {
948
+ this.formParam = { ...this.formParam, ...v }
949
+ },
950
+ getAllFields (relations) {
951
+ const flags = relations.map(item => item.flag)
952
+ this.$http.entityFieldTreeStore({
953
+ metaId: this.dataSourceInfo.ENTITY,
954
+ link: flags.join(','),
955
+ allSub: false,
956
+ subFields: '',
957
+ showKeyNameFlag: false
958
+ })
959
+ .then(data => {
960
+ // eslint-disable-next-line no-eval
961
+ const jsonData = eval('(' + data + ')')
962
+ this.allFields = [...jsonData]
963
+ this.defaultExpandKey = [this.allFields[0].code]
964
+ })
965
+ },
966
+ addSortField (field) {
967
+ if (!field.leaf) return
968
+ const sortField = this.sortFields.find(item => item.code === field.code)
969
+ if (!sortField) {
970
+ this.sortFields = [...this.sortFields, { code: field.code, text: field.text, sort: 'asc' }]
971
+ }
972
+ },
973
+ changeSort (field) {
974
+ const sortFieldIndex = this.sortFields.findIndex(item => item.code === field.code)
975
+ if (sortFieldIndex !== -1) {
976
+ const sortField = this.sortFields.find(item => item.code === field.code)
977
+ const sortFields = [...this.sortFields]
978
+ sortFields.splice(sortFieldIndex, 1, { ...sortField, sort: sortField.sort === 'asc' ? 'desc' : 'asc' })
979
+ this.sortFields = [...sortFields]
980
+ }
981
+ },
982
+ deleteSort (field) {
983
+ const sortFieldIndex = this.sortFields.findIndex(item => item.code === field.code)
984
+ if (sortFieldIndex !== -1) {
985
+ const sortFields = [...this.sortFields]
986
+ sortFields.splice(sortFieldIndex, 1)
987
+ this.sortFields = [...sortFields]
988
+ }
989
+ },
990
+ formatSearchParams () {
991
+ const params = {}
992
+ this.searchParams.map((item, i) => {
993
+ if (i < this.searchParams.length - 1) {
994
+ params[`search.link${i + 1}`] = item.link || 'and'
995
+ }
996
+ params[`search.leftBrace${i + 1}`] = item.leftBrace || ''
997
+ params[`search.field${i + 1}`] = ''
998
+ params[`search.value${i + 1}`] = item.value
999
+ if (item.dateType) params[`search.dateType${i + 1}`] = item.dateType
1000
+ params[`search.attriName${i + 1}`] = (item.field || item.attriName).replace('#', '').replace(/\|/g, '.')
1001
+ params[`search.relation${i + 1}`] = item.relation
1002
+ params[`search.realRelation${i + 1}`] = item.relation
1003
+ params[`search.realValue${i + 1}`] = item.realValue || item.value
1004
+ params[`search.rightBrace${i + 1}`] = item.rightBrace || ''
1005
+ params[`search.metaId${i + 1}`] = this.$metaId
1006
+ params[`search.inputMode${i + 1}`] = item.inputMode || ''
1007
+ })
1008
+ params.size = this.searchParams.length
1009
+ return params
1010
+ },
1011
+ submitDataSource () {
1012
+ const { id } = this.$query
1013
+ const { ENTITY, ENTITY_VIEW, NAME, SORT, SUB_SOURCE, DATA_SCOPE } = this.dataSourceInfo
1014
+ this.$http.save({
1015
+ action: this.editDataSourceId ? 'update' : 'save',
1016
+ entityId: 'FM_FORM_SOURCE',
1017
+ 'bean.ID': this.editDataSourceId ? this.editDataSourceId : '',
1018
+ 'bean.FORM': id || '',
1019
+ 'bean.ENTITY': ENTITY || '',
1020
+ 'bean.ENTITY_VIEW': ENTITY_VIEW || '',
1021
+ 'bean.NAME': NAME || '',
1022
+ 'bean.SORT': SORT || '',
1023
+ 'bean.SUB_SOURCE': SUB_SOURCE || '',
1024
+ 'bean.DATA_SCOPE': DATA_SCOPE || '',
1025
+ 'bean.CLIENT': this.excelInfo.CLIENT,
1026
+ 'bean.SYSTEM': this.excelInfo.SYSTEM
1027
+ })
1028
+ .then(() => {
1029
+ this.dataSourceModal = false
1030
+ this.editDataSourceId = ''
1031
+ this.searchParams = []
1032
+ this.dataSourceInfo = {}
1033
+ this.getDataSource()
1034
+ })
1035
+ .catch(err => {
1036
+ this.$message.error(err.message)
1037
+ })
1038
+ },
1039
+ clickDataSource (data) {
1040
+ if (data.root) {
1041
+ this.editDataSourceId = data.sourceId
1042
+ }
1043
+ },
1044
+ addDataSource () {
1045
+ this.editDataSourceId = ''
1046
+ this.searchParams = []
1047
+ this.dataSourceInfo = {}
1048
+ this.fields = []
1049
+ this.dataSourceModal = true
1050
+ },
1051
+ editDataSource (data) {
1052
+ this.$http.get({
1053
+ entityId: 'FM_FORM_SOURCE',
1054
+ id: this.editDataSourceId
1055
+ })
1056
+ .then(data => {
1057
+ if (data && data.data) {
1058
+ this.dataSourceInfo = { ...data.data }
1059
+ }
1060
+ this.dataSourceModal = true
1061
+ })
1062
+ .catch(() => {
1063
+ this.dataSourceModal = true
1064
+ })
1065
+ // this.dataSourceModal = this.editDataSourceId
1066
+ },
1067
+ deleteDataSource () {
1068
+ this.$http.removeMulti({
1069
+ entityId: 'FM_FORM_SOURCE',
1070
+ ids: this.editDataSourceId
1071
+ })
1072
+ .then(data => {
1073
+ this.$message.success('删除成功')
1074
+ this.getDataSource()
1075
+ })
1076
+ },
1077
+ getFormParams () {
1078
+ const { id } = this.$query
1079
+ this.$http.list({
1080
+ entityId: 'FM_FORM_PARAM',
1081
+ 'scope.FORM': id
1082
+ })
1083
+ .then(data => {
1084
+ this.formParams = [...data.entitys]
1085
+ })
1086
+ if (this.systemVariableList.length === 0) {
1087
+ this.$store.dispatch('GET_SYSTEM_VARIABLE')
1088
+ }
1089
+ },
1090
+ saveFormParam () {
1091
+ const { id } = this.$query
1092
+ const { CODE, NAME } = this.formParam
1093
+ this.$http.save({
1094
+ action: this.editFormParamId ? 'update' : 'save',
1095
+ entityId: 'FM_FORM_PARAM',
1096
+ 'bean.ID': this.editFormParamId ? this.editFormParamId : '',
1097
+ 'bean.FORM': id,
1098
+ 'bean.CODE': CODE,
1099
+ 'bean.CLIENT': this.excelInfo.CLIENT,
1100
+ 'bean.SYSTEM': this.excelInfo.SYSTEM,
1101
+ 'bean.NAME': NAME
1102
+ })
1103
+ .then(() => {
1104
+ this.formParamModal = false
1105
+ this.editFormParamId = ''
1106
+ this.formParam = {}
1107
+ this.getFormParams()
1108
+ })
1109
+ .catch(err => {
1110
+ this.$message.error(err.message || err.msg || '处理失败')
1111
+ })
1112
+ },
1113
+ addFormParam () {
1114
+ this.editFormParamId = ''
1115
+ this.formParam = {}
1116
+ this.formParamModal = true
1117
+ },
1118
+ editFormParam (param) {
1119
+ this.editFormParamId = param.ID
1120
+ this.formParamModal = true
1121
+ this.formParam = { ...param }
1122
+ },
1123
+ deleteFormParam (param) {
1124
+ this.$http.removeMulti({
1125
+ entityId: 'FM_FORM_PARAM',
1126
+ ids: param.ID
1127
+ }).then(data => {
1128
+ this.$message.success('删除成功')
1129
+ this.getFormParams()
1130
+ })
1131
+ },
1132
+ drag (e, data, node) {
1133
+ if (node.parent) {
1134
+ let parent = node.parent
1135
+ let nodeText = ''
1136
+ while (parent.parent && parent.data.root !== true) {
1137
+ if (!parent.data.isMain) {
1138
+ nodeText = parent.data.text + '.' + nodeText
1139
+ }
1140
+ parent = parent.parent
1141
+ }
1142
+ const field = {
1143
+ sourceId: parent.data.id,
1144
+ sourceName: parent.data.name,
1145
+ fieldId: node.data.id,
1146
+ fieldName: nodeText ? nodeText + node.data.text : node.data.text
1147
+ }
1148
+ for (const key in field) {
1149
+ e.dataTransfer.setData(key, field[key])
1150
+ e.dataTransfer.dropEffect = 'copy'
1151
+ e.dataTransfer.effectAllowed = 'copy'
1152
+ }
1153
+ this.dragField = field
1154
+ }
1155
+ },
1156
+ dragVariableFn (e, data, node) {
1157
+ e.dataTransfer.setData('type', 'variable')
1158
+ e.dataTransfer.setData('variableName', data.name)
1159
+ e.dataTransfer.setData('variableCode', data.code)
1160
+ e.dataTransfer.dropEffect = 'copy'
1161
+ e.dataTransfer.effectAllowed = 'copy'
1162
+ this.dragVariable = {
1163
+ value: data.value,
1164
+ name: data.name
1165
+ }
1166
+ },
1167
+ createExcel (content) {
1168
+ const that = this
1169
+ const { CONTENT } = this.excelInfo
1170
+ let data = null
1171
+ if (CONTENT) {
1172
+ data = JSON.parse(CONTENT)
1173
+ }
1174
+ // 加载luckysheet
1175
+ luckysheet.create({
1176
+ container: 'luckysheet', // 设定DOM容器的id
1177
+ title: 'Luckysheet Demo', // 设定表格名称
1178
+ lang: 'zh', // 设定表格语言
1179
+ plugins: ['chart'],
1180
+ data: content || data,
1181
+ showsheetbar: false,
1182
+ hook: {
1183
+ cellMousedown: function (cell, position, sheetFile, ctx) {
1184
+ if (cell && cell.leftCell) {
1185
+ that.leftCellWay = 'custom'
1186
+ } else {
1187
+ that.leftCellWay = 'default'
1188
+ }
1189
+ if (cell && cell.topCell) {
1190
+ that.topCellWay = 'custom'
1191
+ } else {
1192
+ that.topCellWay = 'default'
1193
+ }
1194
+ const { r, c } = position
1195
+ that.activeCell = { rowIndex: r, columnIndex: c, ...(cell || {}) }
1196
+ that.globalSetting = false
1197
+ },
1198
+ cellDragStop: function (cell, position, sheetFile, ctx) {
1199
+ const { r, c } = position
1200
+ if (that.dragField) {
1201
+ const { sourceName, fieldName, sourceId, fieldId } = that.dragField
1202
+ luckysheet.setCellValue(r, c, { v: `{${sourceName}.${fieldName}}`, cellType: 'dataset', dataSource: sourceId, field: fieldId, aggregate: 'select', expand: 'Down' })
1203
+ that.dragField = null
1204
+ } else if (that.dragVariable) {
1205
+ const { name, value } = that.dragVariable
1206
+ luckysheet.setCellValue(r, c, { v: `{${name}}`, cellType: 'system-variable', variable: value })
1207
+ that.dragVariable = null
1208
+ }
1209
+ },
1210
+ cellEditBefore: function (range, position, sheetFile, ctx) {
1211
+ const selects = luckysheet.getRangeValuesWithFlatte()
1212
+ const cell = selects[0]
1213
+ if (cell && (cell.cellType === 'dataset' || cell.cellType === 'system-variable')) {
1214
+ that.$message.warning(cell.cellType === 'system-variable' ? '系统变量不允许编辑' : '数据源不允许编辑')
1215
+ const functionInput = document.querySelectorAll('.luckysheet-functionbox-cell-input')
1216
+ const cellInput = document.querySelectorAll('.luckysheet-cell-input')
1217
+ const inputList = [...functionInput, ...cellInput]
1218
+ const timer = setTimeout(() => {
1219
+ inputList.map(input => input.blur())
1220
+ clearTimeout(timer)
1221
+ }, 80)
1222
+ }
1223
+ return false
1224
+ },
1225
+ cellUpdated (v) {
1226
+ // luckysheet.setCellValue(r, c, { v: `{${sourceName}.${fieldName}}`, dataSource: sourceId, field: fieldId, cellType: 'dataset' })
1227
+ }
1228
+ }
1229
+
1230
+ })
1231
+ const luckysheetCell = document.getElementsByClassName('luckysheet-cell-flow-col')[0]
1232
+ for (let i = 0; i < 10; i++) {
1233
+ const hr = document.createElement('hr')
1234
+ hr.style = `width:100% ;height: 0px;border-top: 1px dashed rgb(153, 153, 153);position: absolute;left: 0;top: ${(i + 1) * 840.51}pt;z-index: 10;`
1235
+ luckysheetCell.appendChild(hr)
1236
+ }
1237
+ },
1238
+ deleteCell (evt) {
1239
+ console.log(evt)
1240
+ },
1241
+ importExcel (props) {
1242
+ const file = props.file || props
1243
+ this.isImportExcel = true
1244
+ this.$http.$post({
1245
+ action: 'upload',
1246
+ file
1247
+ }, {
1248
+ requestType: 'formData'
1249
+
1250
+ })
1251
+ .then(data => {
1252
+ if (data) {
1253
+ if (data.bean) {
1254
+ this.getExcelDataByFile(data.bean)
1255
+ } else if (data.fileCheck) {
1256
+ this.$message.error(data.fileCheck.checkResult)
1257
+ this.isImportExcel = false
1258
+ }
1259
+ }
1260
+ })
1261
+ .catch(err => {
1262
+ this.$message.error(err.message)
1263
+ this.isImportExcel = false
1264
+ })
1265
+ },
1266
+ getExcelDataByFile (fileId) {
1267
+ this.$http.save({
1268
+ action: 'importExcel',
1269
+ entityId: 'FM_FORM',
1270
+ fileId
1271
+ })
1272
+ .then(data => {
1273
+ const sheets = JSON.parse(data) || []
1274
+ const { celldata } = sheets[0] || {}
1275
+ sheets[0].data = luckysheet.transToData(celldata)
1276
+ luckysheet.destroy()
1277
+ this.createExcel(sheets)
1278
+ this.isImportExcel = false
1279
+ })
1280
+ .catch(err => {
1281
+ this.$message.error(err.message)
1282
+ this.isImportExcel = false
1283
+ })
1284
+ },
1285
+ saveExcelData () {
1286
+ const sheets = luckysheet.getluckysheetfile()
1287
+ sheets[0].celldata = luckysheet.transToCellData(sheets[0].data)
1288
+ this.$http.update({
1289
+ entityId: 'FM_FORM',
1290
+ 'bean.ID': this.$query.id,
1291
+ 'bean.CONTENT': JSON.stringify(sheets)
1292
+ })
1293
+ .then(data => {
1294
+ this.$message.success('保存成功')
1295
+ })
1296
+ },
1297
+ preview () {
1298
+ this.showFormParamsDialog = false
1299
+ this.$createPage({
1300
+ component: 'excel-preview',
1301
+ name: this.excelInfo.NAME,
1302
+ code: this.excelInfo.CODE,
1303
+ params: this.previewParams
1304
+ })
1305
+ },
1306
+ defaultLeftCell () {
1307
+ this.$set(this.activeCell, 'leftCell', '')
1308
+ },
1309
+ defaultTopCell () {
1310
+ this.$set(this.activeCell, 'topCell', '')
1311
+ },
1312
+ addFilterCondition () {
1313
+ this.showFilterConditionDialog = true
1314
+ },
1315
+ editFilterCondition (item, index) {
1316
+ this.filterConditionForm = { ...item }
1317
+ this.editFilterConditionIndex = index
1318
+ this.showFilterConditionDialog = true
1319
+ },
1320
+ deleteFilterCondition (index) {
1321
+ const { filterCondition } = this.activeCell
1322
+ filterCondition.splice(index, 1)
1323
+ this.$set(this.activeCell, index, filterCondition)
1324
+ },
1325
+ saveFilterCondition () {
1326
+ let { filterCondition } = this.activeCell
1327
+ if (!filterCondition) filterCondition = []
1328
+ if (!this.filterConditionForm.propertyId) {
1329
+ this.$message.error('请填写属性id')
1330
+ return
1331
+ }
1332
+ if (!this.filterConditionForm.op) {
1333
+ this.$message.error('请填写操作符')
1334
+ return
1335
+ }
1336
+ if (!this.filterConditionForm.condition) {
1337
+ this.$message.error('请填写值表达式')
1338
+ return
1339
+ }
1340
+ const item = this.objectFieldList.find(item => item.code === this.filterConditionForm.propertyId) || {}
1341
+ const condition = { ...this.filterConditionForm, propertyName: item.text, text: `${(this.editFilterConditionIndex > 0 || filterCondition.length > 0) ? this.getConditionOpText(this.filterConditionForm.join) || '' : ''} ${item.text} ${this.getConditionOpText(this.filterConditionForm.op)} ${this.filterConditionForm.condition}` }
1342
+ if (this.editFilterConditionIndex !== null) {
1343
+ filterCondition.splice(this.editFilterConditionIndex, 1, condition)
1344
+ this.editFilterConditionIndex = null
1345
+ } else {
1346
+ filterCondition.push(condition)
1347
+ }
1348
+ this.$set(this.activeCell, 'filterCondition', filterCondition)
1349
+ this.showFilterConditionDialog = false
1350
+ this.filterConditionForm = {}
1351
+ },
1352
+ addConditionPropertyItem () {
1353
+ this.currentConditionPropertyItem = {}
1354
+ this.showConditionPropertyItemDialog = true
1355
+ const { conditionPropertyItems } = this.activeCell
1356
+ if (conditionPropertyItems) {
1357
+ this.conditionPropertyItems = conditionPropertyItems
1358
+ this.currentConditionPropertyItem = conditionPropertyItems[0]
1359
+ }
1360
+ },
1361
+ saveConditionPropertyItemName () {
1362
+ let { conditionPropertyItems } = this.activeCell
1363
+ if (!conditionPropertyItems) conditionPropertyItems = []
1364
+ if (!this.conditionPropertyItemNameForm.name) {
1365
+ this.$message.error('请输入条件项名称')
1366
+ return
1367
+ }
1368
+ if (this.conditionPropertyItemNameForm.uid) {
1369
+ const c = this.conditionPropertyItems.find(i => i.uid === this.conditionPropertyItemNameForm.uid)
1370
+ c.name = this.conditionPropertyItemNameForm.name
1371
+ } else {
1372
+ const guid = new Date().getTime().toString(32)
1373
+ const item = {
1374
+ uid: guid,
1375
+ name: this.conditionPropertyItemNameForm.name,
1376
+ conditions: [],
1377
+ cellStyle: {},
1378
+ newValueFlag: false,
1379
+ newValue: ''
1380
+ }
1381
+ this.conditionPropertyItems.push(item)
1382
+ }
1383
+ this.$set(this.activeCell, 'conditionPropertyItems', this.conditionPropertyItems)
1384
+ this.showConditionPropertyItemNameDialog = false
1385
+ this.conditionPropertyItemNameForm = {}
1386
+ this.currentConditionPropertyItem = item
1387
+ },
1388
+ saveConditionPropertyItemCondition () {
1389
+ if (!this.conditionPropertyItemConditionForm.type) {
1390
+ this.$message.error('请选择条件左值')
1391
+ return
1392
+ }
1393
+ if (!this.conditionPropertyItemConditionForm.op) {
1394
+ this.$message.error('请选择操作符')
1395
+ return
1396
+ }
1397
+ if (!this.conditionPropertyItemConditionForm.condition) {
1398
+ this.$message.error('请输入值表达式')
1399
+ return
1400
+ }
1401
+ if (this.conditionPropertyItemConditionForm.uid) {
1402
+ const c = this.currentConditionPropertyItem.conditions.find(i => i.uid === this.conditionPropertyItemConditionForm.uid)
1403
+ c.type = this.conditionPropertyItemConditionForm.type
1404
+ c.op = this.conditionPropertyItemConditionForm.op
1405
+ c.join = this.conditionPropertyItemConditionForm.join
1406
+ c.condition = this.conditionPropertyItemConditionForm.condition
1407
+ c.left = this.conditionPropertyItemConditionForm.left
1408
+ } else {
1409
+ const guid = new Date().getTime().toString(32)
1410
+ const item = {
1411
+ uid: guid,
1412
+ type: this.conditionPropertyItemConditionForm.type,
1413
+ op: this.conditionPropertyItemConditionForm.op,
1414
+ join: this.conditionPropertyItemConditionForm.join,
1415
+ condition: this.conditionPropertyItemConditionForm.condition,
1416
+ left: this.conditionPropertyItemConditionForm.left
1417
+ }
1418
+ this.currentConditionPropertyItem.conditions.push(item)
1419
+ }
1420
+ this.$set(this.activeCell, 'conditionPropertyItems', this.conditionPropertyItems)
1421
+ this.showConditionPropertyItemConditionDialog = false
1422
+ this.conditionPropertyItemConditionForm = {}
1423
+ },
1424
+ saveConditionPropertyItem () {
1425
+ this.$set(this.activeCell, 'conditionPropertyItems', this.conditionPropertyItems)
1426
+ this.showConditionPropertyItemDialog = false
1427
+ this.currentConditionPropertyItem = {}
1428
+ this.conditionPropertyItems = []
1429
+ },
1430
+ clickConditionPropertyItem (item) {
1431
+ this.currentConditionPropertyItem = item
1432
+ },
1433
+ deleteConditionPropertyItem (item) {
1434
+ const { conditionPropertyItems } = this.activeCell
1435
+ this.conditionPropertyItems = conditionPropertyItems.filter(i => i.uid !== item.uid)
1436
+ this.$set(this.activeCell, 'conditionPropertyItems', this.conditionPropertyItems)
1437
+ this.currentConditionPropertyItem = {}
1438
+ },
1439
+ editConditionPropertyItem () {
1440
+ this.conditionPropertyItemNameForm = { ...this.currentConditionPropertyItem }
1441
+ this.showConditionPropertyItemNameDialog = true
1442
+ },
1443
+ deleteConditionPropertyCondition (item) {
1444
+ this.currentConditionPropertyItem.conditions = this.currentConditionPropertyItem.conditions.filter(i => i.uid !== item.uid)
1445
+ },
1446
+ editConditionPropertyCondition (item) {
1447
+ this.conditionPropertyItemConditionForm = { ...item }
1448
+ this.conditionPropertyItemConditionForm.index = this.currentConditionPropertyItem.conditions.indexOf(item)
1449
+ this.showConditionPropertyItemConditionDialog = true
1450
+ },
1451
+ getConditionOpText (p) {
1452
+ let text = ''
1453
+ switch (p) {
1454
+ case '==':
1455
+ text = '等于'
1456
+ break
1457
+ case '>':
1458
+ text = '大于'
1459
+ break
1460
+ case '>=':
1461
+ text = '大于等于'
1462
+ break
1463
+ case '<':
1464
+ text = '小于'
1465
+ break
1466
+ case '<=':
1467
+ text = '小于等于'
1468
+ break
1469
+ case '!=':
1470
+ text = '不等于'
1471
+ break
1472
+ case 'in':
1473
+ text = '在集合中'
1474
+ break
1475
+ case 'like':
1476
+ text = '相似'
1477
+ break
1478
+ case 'not like':
1479
+ text = '不相似'
1480
+ break
1481
+ case 'and':
1482
+ text = '并且'
1483
+ break
1484
+ case 'or':
1485
+ text = '或者'
1486
+ break
1487
+ }
1488
+ return text
1489
+ }
1490
+ },
1491
+ mounted () {
1492
+ this.$refs.luckysheet.setAttribute('id', 'luckysheet')
1493
+ this.getData()
1494
+ },
1495
+ created () {
1496
+ this.getDataSource()
1497
+ this.getFormParams()
1498
+ this.getFieldConfigs()
1499
+ this.$store.commit('SWITCH_MENU_SHOW', false)
1500
+ this.$store.commit('SWITCH_APP_NAV_SHOW', false)
1501
+ this.columnList = new Array(60).fill(0).map((item, index) => this.NumToString(index + 1))
1502
+ this.rowList = new Array(500).fill(0).map((item, index) => index + 1)
1503
+ },
1504
+ beforeDestroy () {
1505
+ this.$refs.luckysheet.removeAttribute('id')
1506
+ this.$store.commit('SWITCH_MENU_SHOW', true)
1507
+ this.$store.commit('SWITCH_APP_NAV_SHOW', true)
1508
+ }
1509
+ }
1510
+ </script>
1511
+
1512
+ <style lang="scss" scoped>
1513
+ .container {
1514
+ position: absolute;
1515
+ left: 0;
1516
+ top: 0;
1517
+ width: 100%;
1518
+ height: 100%;
1519
+ }
1520
+ .report-header {
1521
+ height: 56px;
1522
+ background: #fff;
1523
+ padding: 0 20px;
1524
+ display: flex;
1525
+ align-items: center;
1526
+ justify-content: space-between;
1527
+ border-bottom: 1px solid #e8e8e8;
1528
+ }
1529
+ .report-title {
1530
+ display: flex;
1531
+ }
1532
+ .report-back {
1533
+ font-size: 20px;
1534
+ cursor: pointer;
1535
+ position: relative;
1536
+ top: 1px;
1537
+ }
1538
+
1539
+ .report-name {
1540
+ color: #222;
1541
+ font-size: 16px;
1542
+ margin: 0 12px 0 6px;
1543
+ display: flex;
1544
+ align-items: center;
1545
+ white-space: nowrap;
1546
+ i {
1547
+ font-size: 18px;
1548
+ color: #444;
1549
+ cursor: pointer;
1550
+ margin-left: 8px;
1551
+ }
1552
+ }
1553
+ .report-operate {
1554
+ display: flex;
1555
+ }
1556
+ .import-btn {
1557
+ margin-right: 10px;
1558
+ }
1559
+ .content {
1560
+ width: 100%;
1561
+ height: calc(100% - 59px);
1562
+ display: flex;
1563
+ }
1564
+ .data-source {
1565
+ width: 240px;
1566
+ margin-right: 16px;
1567
+ flex-shrink: 0;
1568
+ height: 100%;
1569
+ &::v-deep {
1570
+ .el-tabs {
1571
+ height: 100%;
1572
+ display: flex;
1573
+ flex-direction: column;
1574
+ }
1575
+ .el-tabs__content {
1576
+ flex: 1;
1577
+ overflow: hidden;
1578
+ }
1579
+ .el-tab-pane {
1580
+ height: 100%;
1581
+ display: flex;
1582
+ flex-direction: column;
1583
+ }
1584
+ }
1585
+ }
1586
+ .data-source-modal-header {
1587
+ font-size: 16px;
1588
+ font-weight: 600;
1589
+ }
1590
+ .data-souce-modal-content__base {
1591
+ padding-left: 16px;
1592
+ }
1593
+ .data-source__scope {
1594
+ padding: 16px;
1595
+ }
1596
+ .data-source-tree {
1597
+ margin-top: 16px;
1598
+ flex: 1;
1599
+ overflow: auto;
1600
+ }
1601
+ .form-item {
1602
+ display: flex;
1603
+ align-items: center;
1604
+ margin: 12px 0;
1605
+ label {
1606
+ width: 100px;
1607
+ flex-shrink: 0;
1608
+ }
1609
+ &::v-deep {
1610
+ .el-input__suffix {
1611
+ line-height:36px;
1612
+ }
1613
+ }
1614
+ }
1615
+ .sort-field {
1616
+ padding-left: 16px;
1617
+ line-height: 50px;
1618
+ .active {
1619
+ @include font_color_primary;
1620
+ }
1621
+ .sort-icon {
1622
+ font-size: 16px;
1623
+ }
1624
+ .el-icon-sort-down {
1625
+ position: relative;
1626
+ right: -9px;
1627
+ cursor: pointer;
1628
+ }
1629
+ .el-icon-close {
1630
+ float: right;
1631
+ cursor: pointer;
1632
+ line-height: 50px;
1633
+ font-size: 18px;
1634
+ &:hover {
1635
+ @include font_color_primary;
1636
+ }
1637
+ }
1638
+ }
1639
+ .sort-opera {
1640
+ cursor: pointer;
1641
+ @include font_color_primary;
1642
+ margin-left: 16px;
1643
+ padding: 24px 0;
1644
+ }
1645
+ .luckysheet-container {
1646
+ width: calc(100% - 600px);
1647
+ height: 100%;
1648
+ overflow: auto;
1649
+ &::v-deep {
1650
+ .luckysheet_info_detail {
1651
+ display: none !important;
1652
+ }
1653
+ }
1654
+ }
1655
+ .attribute-pane {
1656
+ width: 360px;
1657
+ height: 100%;
1658
+ background: #fff;
1659
+ }
1660
+ .attribute-pane__header {
1661
+ padding: 16px;
1662
+ border-bottom: 1px solid #e3e3e3;
1663
+ > span {
1664
+ padding-left: 8px;
1665
+ border-left: 4px solid;
1666
+ @include border_color_primary;
1667
+ line-height: 20px;
1668
+ font-size: 16px;
1669
+ color: #222;
1670
+ }
1671
+ }
1672
+ .attribute-pane__content {
1673
+ padding: 0 10px;
1674
+ height: calc(100% - 54px);
1675
+ overflow: auto;
1676
+ }
1677
+
1678
+ .attribute-item {
1679
+ display: flex;
1680
+ padding: 6px 0;
1681
+ > label {
1682
+ padding: 6px 0;
1683
+ display: inline-block;
1684
+ width: 84px;
1685
+ margin-right: 14px;
1686
+ line-height: 24px;
1687
+ color: #444;
1688
+ }
1689
+ }
1690
+
1691
+ .attribute-item__content {
1692
+ line-height: 36px;
1693
+ color: #444;
1694
+ }
1695
+ .params-tree {
1696
+ margin-top: 10px;
1697
+ }
1698
+
1699
+ .params {
1700
+ width: 100%;
1701
+ line-height: 40px;
1702
+ &:hover {
1703
+ .params-icon {
1704
+ display: block;
1705
+ }
1706
+ }
1707
+ }
1708
+ .params-icon {
1709
+ display: none;
1710
+ float: right;
1711
+ i {
1712
+ padding: 0 8px;
1713
+ border-right: 1px solid #e3e3e3;
1714
+ &:last-child {
1715
+ border: 0;
1716
+ }
1717
+ &:hover {
1718
+ cursor: pointer;
1719
+ @include font_color_primary;
1720
+ }
1721
+ }
1722
+ }
1723
+ .input-params {
1724
+ display: flex;
1725
+ align-items: center;
1726
+ padding: 10px 0;
1727
+ label {
1728
+ width: 100px;
1729
+ white-space: pre-wrap;
1730
+ }
1731
+ }
1732
+ .preview-btn {
1733
+ display: block;
1734
+ margin: 0 auto;
1735
+ }
1736
+ .form__label {
1737
+ margin: 10px 0;
1738
+ }
1739
+ .cell-select {
1740
+ width: 68px;
1741
+ margin-left: 8px;
1742
+ }
1743
+ .form-content {
1744
+ &::v-deep {
1745
+ .table-form-item__label {
1746
+ width: 80px;
1747
+ padding-left: 0;
1748
+ }
1749
+ .table-form-item__content {
1750
+ .el-input, .el-input-number--medium {
1751
+ width: 200px;
1752
+ }
1753
+ }
1754
+ }
1755
+ }
1756
+ .filter-condition-opera__popper {
1757
+ max-height: 400px;
1758
+ overflow: auto;
1759
+ }
1760
+ .filter-condition__btn {
1761
+ text-align: center;
1762
+ margin: 10px 0;
1763
+ }
1764
+ .filter-condition__operates {
1765
+ color: #666;
1766
+ i {
1767
+ cursor: pointer;
1768
+ color: red;
1769
+ margin: 0 4px;
1770
+ &:first-child {
1771
+ @include font_color_primary
1772
+ }
1773
+ }
1774
+ }
1775
+ .table-form-item-label::before {
1776
+ content: '*';
1777
+ color: #F56C6C;
1778
+ margin-right: 4px;
1779
+ }
1780
+ .property-item-condition{
1781
+ height: 40px;
1782
+ align-items: center;
1783
+ display: flex;
1784
+ }
1785
+
1786
+ .condition-property-item{
1787
+ padding: 4px 0;
1788
+ }
1789
+
1790
+ .condition-property-item-active{
1791
+ padding: 4px 0;
1792
+ color: #0874e7;
1793
+ }
1794
+
1795
+ </style>