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,2105 @@
1
+ <script>
2
+ import component from '@/utils/mixins/component'
3
+ import EditField from './components/EditField'
4
+ export default {
5
+ name: 'epx-entity-list',
6
+ mixins: [component],
7
+ addPage: 'entity-add-page',
8
+ editPage: 'entity-edit-page',
9
+ detailPage: 'entity-detail-page',
10
+ addPageFlag: 'v_add',
11
+ detailPageFlag: 'v_add',
12
+ editPageFlag: 'v_add',
13
+ action: 'list',
14
+ detailFlag: true,
15
+ searchFlag: true,
16
+ showKeyword: true,
17
+ searchMode: 'keyword', // field filter keyword
18
+ showSearchLabel: false,
19
+ showFilter: true,
20
+ flag: true, // 是否显示
21
+ locked: true, // 是否锁定列表
22
+ border: false,
23
+ headerBorder: false,
24
+ titleFlag: true, // 是否需要标题
25
+ queryParams: {}, // 查询参数
26
+ listFields: null, // 查询字段
27
+ fieldConfigs: {}, // 字段配置
28
+ pageFlag: true, // 是否需要分页
29
+ pageSize: 20, // 每页记录数
30
+ operateEllipsis: 2,
31
+ operateFlag: true,
32
+ multiSelectColumnFlag: true, // 是否显示多选框列
33
+ serialColumnFlag: true, // 是否显示序号列
34
+ operateColumnFlag: true, // 是否显示操作列
35
+ totalFlag: true,
36
+ operateColumnWidth: 100, // 操作列宽度
37
+ operateColumnPosition: 'start', // 操作列位置
38
+ operateColumnLocked: false,
39
+ operateColumnEllipsis: 2, // Boolean/ Number,
40
+ sortable: true,
41
+ fixedTable: false,
42
+ components: {
43
+ [EditField.name]: EditField
44
+ },
45
+ props: {
46
+ queryParams: {
47
+ type: Object,
48
+ default () {
49
+ return {}
50
+ }
51
+ },
52
+ id: String,
53
+ popup: {
54
+ type: Boolean,
55
+ default: false
56
+ },
57
+ formData: {
58
+ type: Object,
59
+ default () {
60
+ return {}
61
+ }
62
+ }
63
+ },
64
+ inject: ['upPage'],
65
+ computed: {
66
+ // 展示查询字段数量
67
+ showFieldNum () {
68
+ const { showFieldNum = 0 } = this.$configs
69
+ return showFieldNum
70
+ },
71
+ lockedIndex () {
72
+ const index = this.$_.findLastIndex(this.listFields, (item) => item.locked)
73
+ return index
74
+ },
75
+ readonly () {
76
+ const { pageType } = this.$query
77
+ const { componentType = pageType } = this.$configs
78
+ return componentType === 'READONLY'
79
+ },
80
+ selection () {
81
+ const selection = this.selectionIds.map(item => this.dataMap[item] || { [this.$metaKey]: item })
82
+ return selection
83
+ },
84
+ buttonUi () {
85
+ return ui => (ui === 'blue' || ui === 'soft-blue') ? 'primary' : ui
86
+ },
87
+ showFlag () {
88
+ return !this.$configs.showCondition || this.$configs.showCondition.length === 0 || this.$util.runExpByScope.call(this, this.$configs.showCondition, this.formData)
89
+ },
90
+ checkRightOperates () {
91
+ const { operates = [] } = this.$configs
92
+ return operates.filter(item => this.$checkOperateRight(item))
93
+ },
94
+ operates () {
95
+ const { operateEllipsis = 1 } = this.$configs
96
+ let showOperateLength = 0
97
+ if (operateEllipsis === false) return this.checkRightOperates
98
+ if (operateEllipsis !== true) {
99
+ showOperateLength = operateEllipsis
100
+ }
101
+ const cOperates = [...this.checkRightOperates]
102
+ if (cOperates.length > showOperateLength) {
103
+ cOperates.length = showOperateLength
104
+ }
105
+ return cOperates
106
+ },
107
+ moreOperates () {
108
+ const { operateEllipsis = 1 } = this.$configs
109
+ let showOperateLength = 0
110
+ if (operateEllipsis === false) return []
111
+ if (operateEllipsis !== true) {
112
+ showOperateLength = operateEllipsis
113
+ }
114
+ const cOperates = [...this.checkRightOperates]
115
+ if (cOperates.length > showOperateLength) {
116
+ cOperates.splice(0, showOperateLength)
117
+ return cOperates
118
+ }
119
+ return []
120
+ },
121
+ columnOperates () {
122
+ const { columnOperates = [] } = this.$configs
123
+ return columnOperates.filter(item => this.$checkOperateRight(item))
124
+ },
125
+ foldColumnOperates () {
126
+ const { operateColumnEllipsis = true } = this.$configs
127
+ let showOperatesLength = 0
128
+ if (operateColumnEllipsis === false) return []
129
+ if (operateColumnEllipsis !== true) {
130
+ showOperatesLength = operateColumnEllipsis
131
+ }
132
+ if (this.columnOperates.length > showOperatesLength) {
133
+ const foldButtons = [...this.columnOperates]
134
+ if (showOperatesLength !== 0) foldButtons.splice(0, showOperatesLength)
135
+ return foldButtons
136
+ } else {
137
+ return []
138
+ }
139
+ },
140
+ unfoldColumnOperates () {
141
+ const { operateColumnEllipsis = true } = this.$configs
142
+ let showOperatesLength = 0
143
+ if (operateColumnEllipsis === false) return this.columnOperates
144
+ if (operateColumnEllipsis !== true) {
145
+ showOperatesLength = operateColumnEllipsis
146
+ }
147
+ const unfoldButtons = [...this.columnOperates]
148
+ if (showOperatesLength === 0) return []
149
+ if (unfoldButtons.length > showOperatesLength) unfoldButtons.length = showOperatesLength
150
+ return unfoldButtons
151
+ },
152
+ params () {
153
+ const { queryParams = {} } = this.$configs
154
+ const params = {
155
+ ...this.$formatParams(queryParams),
156
+ ...this.queryParams,
157
+ ...this.searchKeyParams
158
+ }
159
+ if (this.scopeParams) {
160
+ params.scopeParams = JSON.stringify(this.scopeParams)
161
+ }
162
+ return params
163
+ },
164
+ scopeParams () {
165
+ const { scopeParams: configScopeParams = [] } = this.$configs
166
+ const { scopeParams: queryScopeParams = [] } = this.$query
167
+ const scopeParams = []
168
+ if (typeof configScopeParams === 'object' && !Array.isArray(configScopeParams)) {
169
+ Object.entries(configScopeParams).forEach(([key, value]) => {
170
+ scopeParams.push({
171
+ field: key,
172
+ ...value
173
+ })
174
+ })
175
+ } else {
176
+ scopeParams.push(...configScopeParams)
177
+ }
178
+ if (typeof queryScopeParams === 'object' && !Array.isArray(queryScopeParams)) {
179
+ Object.entries(queryScopeParams).forEach(([key, value]) => {
180
+ scopeParams.push({
181
+ field: key,
182
+ ...value
183
+ })
184
+ })
185
+ } else {
186
+ scopeParams.push(...queryScopeParams)
187
+ }
188
+ // 格式化scopeParams
189
+ const _scopeParams = this.$_.cloneDeep([...scopeParams, ...this.searchScopeParams])
190
+ // eslint-disable-next-line no-unused-vars
191
+ const that = this
192
+ for (const scopeKey in _scopeParams) {
193
+ const scope = _scopeParams[scopeKey]
194
+ if (!scope) continue
195
+ let values = scope.values
196
+ if (/\$\[(.+)\]/.test(values)) {
197
+ values = values.replace(/\$\[(.+)\]/, (match, key) => {
198
+ try {
199
+ // eslint-disable-next-line no-eval
200
+ return eval(`that.$query.${key}`) || eval(`that.$tab.${key}`) || eval(`that.${key}`) || ''
201
+ } catch (error) {
202
+ return scope.values
203
+ }
204
+ })
205
+ }
206
+ if (/#\{(.+)\}/.test(values)) {
207
+ values = values.replace(/#\{(.+)\}/, (match, key) => {
208
+ try {
209
+ // eslint-disable-next-line no-eval
210
+ return eval(`that.$query.${key}`) || eval(`that.$tab.${key}`) || ''
211
+ } catch (error) {
212
+ return scope.values
213
+ }
214
+ })
215
+ }
216
+ scope.values = values
217
+ }
218
+ return _scopeParams
219
+ },
220
+ scopeParamsStr () {
221
+ return JSON.stringify(this.scopeParams)
222
+ },
223
+ columnFields () {
224
+ return this.listFields.map(item => {
225
+ if (typeof item === 'string') return { attriName: item + '#' }
226
+ if (item.orderFieds) {
227
+ item.orderFieds = item.orderFieds.map(item => {
228
+ if (typeof item === 'string') return { attriName: item }
229
+ return item
230
+ })
231
+ }
232
+ const field = { attriName: item.attriName }
233
+ if (item.type === 'meta') {
234
+ field.type = item.type
235
+ const showWay = item.function && item.function !== 'GROUP_CONCAT' ? 'statistics' : 'value'
236
+ field.showWay = item.showWay || showWay
237
+ if (item.function) field.statisticsType = item.function
238
+ } else {
239
+ field.attriName = item.attriName + '#'
240
+ }
241
+ if (item.showFieldNum) {
242
+ field.showFieldNum = item.showFieldNum
243
+ }
244
+ if (item.separator) {
245
+ field.separator = item.separator
246
+ }
247
+ if (item.fields && item.fields.length > 0) {
248
+ field.fields = item.fields.map(item => item + '#')
249
+ }
250
+ if (item.showFieldName) {
251
+ field.showFieldName = item.showFieldName
252
+ }
253
+ if (item.orderFieds) {
254
+ field.orderFieds = item.orderFieds
255
+ }
256
+ if (item.scopeParams) {
257
+ field.scopeParams = this.formatScope(item.scopeParams)
258
+ }
259
+ return field
260
+ })
261
+ },
262
+ fieldScope () {
263
+ const scope = {}
264
+ this.listFields.forEach(item => {
265
+ if (item.scopeParams) {
266
+ scope[item.attriName] = this.formatScope(item.scopeParams)
267
+ }
268
+ })
269
+ return scope
270
+ },
271
+
272
+ validScopeLength () {
273
+ let length = 0
274
+ this.searchScopeParams.forEach(item => {
275
+ if (item.values) {
276
+ length++
277
+ } else if (!item.values && (item.mode === 'is_null' || item.mode === 'not_null')) {
278
+ length++
279
+ }
280
+ })
281
+ return length
282
+ },
283
+ isSelectAll () {
284
+ const allData = []
285
+ const getAllData = (arr) => {
286
+ arr.forEach(item => {
287
+ allData.push(item)
288
+ if (item.children) {
289
+ getAllData(item.children)
290
+ }
291
+ })
292
+ }
293
+ getAllData(this.data)
294
+ if (allData.length === 0) return false
295
+ const flag = allData.every(item => this.selectionIds.includes(item[this.$metaKey]))
296
+ return flag
297
+ },
298
+ tableProps () {
299
+ const { config: pageConfigs = {} } = this.$pageInfo
300
+ const props = {}
301
+ if (this.$configs.fixedTable && pageConfigs.layout === 'flex') {
302
+ props.height = '100%'
303
+ }
304
+ return props
305
+ }
306
+
307
+ },
308
+ data () {
309
+ return {
310
+ renderComponents: [this.renderSearch, this.renderButtons, this.renderTable],
311
+ data: [],
312
+ listFields: [],
313
+ loading: false,
314
+ currentPage: 1,
315
+ pageSize: 20,
316
+ total: 0,
317
+ activeDropDown: '',
318
+ sortParams: {},
319
+ searchScopeParams: [],
320
+ searchKeyParams: {},
321
+ filterDrawer: false,
322
+ checkEntityWay: '',
323
+ editField: {},
324
+ selectionIds: [],
325
+ dataMap: {}
326
+ }
327
+ },
328
+ watch: {
329
+ params (v) {
330
+ if (!this.$_.isEqual(this.oldParams, v)) {
331
+ if (this.initData) {
332
+ this.currentPage = 1
333
+ this.reloadData()
334
+ }
335
+ }
336
+ this.oldParams = v
337
+ },
338
+ searchKeyParams (v) {
339
+ this.currentPage = 1
340
+ this.reloadData()
341
+ }
342
+ },
343
+
344
+ methods: {
345
+ initComponent () {
346
+ if (!this.showFlag) return
347
+ const { pageSize } = this.$configs
348
+ this.pageSize = Number(pageSize)
349
+ this.getDefaultOperates()
350
+ this.getFields()
351
+ },
352
+ getDefaultOperates () {
353
+ const { addPage, editPage, operates, columnOperates } = this.$configs
354
+ const defaultOperates = [
355
+ {
356
+ text: this.$t('add'),
357
+ handler: 'addEntity',
358
+ ui: 'primary',
359
+ component: addPage,
360
+ openMode: '3',
361
+ num: 0,
362
+ params: {
363
+ callback: '$[getData]'
364
+ }
365
+ },
366
+ {
367
+ text: this.$t('delete'),
368
+ handler: 'commonAction',
369
+ action: 'removeMulti',
370
+ num: 'n',
371
+ confirmMsg: this.$t('Confirm the deletion') + '?',
372
+ successMsg: this.$t('deleted successfully'),
373
+ params: {
374
+ ids: `#[${this.$metaKey}]`
375
+ }
376
+ },
377
+ {
378
+ text: this.$t('import'),
379
+ handler: 'goPage',
380
+ pageFlag: 'v_import',
381
+ component: 'import-page'
382
+ },
383
+ {
384
+ text: this.$t('export'),
385
+ handler: 'goPage',
386
+ pageFlag: 'v_export',
387
+ component: 'export-page',
388
+ params: {
389
+ selects: `#[${this.$metaKey}]`,
390
+ total: '$[total]',
391
+ params: '$[params]',
392
+ scopeParams: '$[scopeParams]',
393
+ fields: '$[listFields]'
394
+ }
395
+ }
396
+ ]
397
+
398
+ const defaultColumnOperates = [
399
+ {
400
+ text: this.$t('edit'),
401
+ handler: 'editEntity',
402
+ num: 1,
403
+ component: editPage,
404
+ openMode: '3',
405
+ params: {
406
+ callback: '$[getData]'
407
+ }
408
+ }
409
+ // {
410
+ // text: '删除',
411
+ // handler: 'commonAction',
412
+ // action: 'removeMulti',
413
+ // num: 'n',
414
+ // confirmMsg: '确认删除?',
415
+ // successMsg: '删除成功',
416
+ // params: {
417
+ // ids: `#[${this.$metaKey}]`
418
+ // }
419
+ // }
420
+ ]
421
+ if (!operates) {
422
+ this.$set(this.$configs, 'operates', defaultOperates)
423
+ }
424
+ if (!columnOperates) {
425
+ this.$set(this.$configs, 'columnOperates', defaultColumnOperates)
426
+ }
427
+ },
428
+ $refesh () {
429
+ this.reloadData()
430
+ },
431
+ search (scopeParams) {
432
+ if (scopeParams) {
433
+ this.searchScopeParams = scopeParams
434
+ }
435
+ },
436
+ searchKeyword (searchKeyParams) {
437
+ this.searchKeyParams = searchKeyParams
438
+ },
439
+ getData (current, cb) {
440
+ let { metaViewId, queryParams = {}, pageFlag, orderFields, order_field: orderField = [], order_mode: orderMode = [], limit, action, isTree } = this.$configs
441
+ const params = {
442
+ action,
443
+ entityId: this.$metaId,
444
+ metaViewId
445
+ }
446
+ // if (fields.length > 0) {
447
+ // params.columnFieldNames = fields.join('#,') + '#'
448
+ // }
449
+ const functionField = this.listFields.filter(item => {
450
+ return item.function
451
+ })
452
+ let functionList = []
453
+ if (functionField.length > 0) {
454
+ functionList = functionField.map(item => ({ dataIndex: item.attriName, function: item.function }))
455
+ params.fieldFunctions = JSON.stringify(functionList)
456
+ }
457
+ if (pageFlag && !isTree) {
458
+ params.page = current || this.currentPage
459
+ params.limit = this.pageSize
460
+ }
461
+ if (limit) {
462
+ params.limit = limit
463
+ }
464
+ if (this.scopeParams) {
465
+ params.scopeParams = JSON.stringify(this.scopeParams)
466
+ }
467
+ // 排序字段
468
+ if (orderFields && orderFields.length > 0) {
469
+ orderField = orderFields.map(item => item.attriName || item)
470
+ orderMode = orderFields.map(item => item.sort || 'asc')
471
+ }
472
+ if (this.sortParams && this.sortParams.sort) {
473
+ const { sort, order } = this.sortParams
474
+ orderField = [sort]
475
+ orderMode = [order]
476
+ }
477
+
478
+ if (this.loading) return
479
+ this.loading = true
480
+ const requestParams = {
481
+ ...params,
482
+ ...this.$formatParams(queryParams),
483
+ ...this.searchKeyParams,
484
+ ...this.queryParams,
485
+ columnFields: this.columnFields,
486
+ order_field: orderField.join(','),
487
+ order_mode: orderMode.join(',')
488
+ }
489
+ if (isTree) {
490
+ this.getTreeData(requestParams, cb)
491
+ } else {
492
+ this.$http.list(requestParams)
493
+ .then(data => {
494
+ this.initData = true
495
+ this.loading = false
496
+ if (current) this.currentPage = current
497
+ if (!data) return
498
+ this.data = [...data.entitys]
499
+ this.total = data.total || data.entitys.length
500
+ this.getAllDataMap(data.entitys)
501
+ if (cb) cb(this.data)
502
+ this.$dispatchPage('listData', [{ total: this.total, entitys: this.data }])
503
+ this.$emit('listData', { total: this.total, entitys: this.data })
504
+ if (this.afterData) this.afterData(this.data)
505
+ })
506
+ .catch((err) => {
507
+ this.loading = false
508
+ this.$message.error(err.message)
509
+ })
510
+ }
511
+ },
512
+ getAllDataMap (data) {
513
+ const dataMap = { ...this.dataMap }
514
+ const setDataMap = (arr) => {
515
+ arr.forEach(item => {
516
+ dataMap[item[this.$metaKey]] = item
517
+ if (item.children) setDataMap(item.children)
518
+ })
519
+ }
520
+ setDataMap(data)
521
+ this.dataMap = dataMap
522
+ },
523
+ getTreeData (params, cb) {
524
+ const { treeField = [], action = 'listTree' } = this.$configs
525
+ let parentField = 'UP'
526
+ const { attributes = {}, id } = this.$meta || {}
527
+ const field = Object.values(attributes).find(item => item.relatedEntity === id)
528
+ if (field) parentField = field.name
529
+ this.$http.$post({
530
+ action,
531
+ parentField: treeField[0] || parentField,
532
+ ...params
533
+ })
534
+ .then(data => {
535
+ this.initData = true
536
+ this.loading = false
537
+ if (!data) return
538
+ this.data = [...data.entitys]
539
+ this.total = data.total || data.entitys.length
540
+ this.getAllDataMap(data.entitys)
541
+ if (cb) cb(this.data)
542
+ this.$dispatchPage('listData', [{ total: this.total, entitys: this.data }])
543
+ this.$emit('listData', { total: this.total, entitys: this.data })
544
+ if (this.afterData) this.afterData(this.data)
545
+ })
546
+ .catch((err) => {
547
+ this.loading = false
548
+ this.$message.error(err.message)
549
+ })
550
+ },
551
+ /**
552
+ * 重新加载数据
553
+ */
554
+ reloadData () {
555
+ this.getData(null, data => {
556
+ // 如果selection里没有 旧删除
557
+ const existSelection = []
558
+ const dataMap = {}
559
+ data.forEach(dataItem => {
560
+ dataMap[dataItem[this.$metaKey]] = dataItem
561
+ })
562
+ this.selectionIds.forEach(item => {
563
+ if (dataMap[item[this.$metaKey]]) existSelection.push(item[this.$metaKey])
564
+ })
565
+ if (!this.$_.isEqual(this.selectionIds, existSelection)) {
566
+ this.selectionIds = existSelection
567
+ }
568
+ })
569
+ },
570
+ getFields () {
571
+ const { role } = this.$route.params
572
+ this.$http.get({
573
+ action: 'getEntityRoleFieldScope',
574
+ entityId: 'FM_ROLE_FIELDSCOPE',
575
+ metaId: this.$metaId,
576
+ roleCode: role
577
+ })
578
+ .then(data => {
579
+ const { listFields, fieldConfigs = {} } = this.$configs
580
+ this.$FieldFactory.createFields({
581
+ defaultFieldConfigs: fieldConfigs,
582
+ fieldScope: data,
583
+ fields: listFields,
584
+ meta: this.$meta
585
+ // metaId: this.$metaId
586
+ })
587
+ .then(data => {
588
+ this.listFields = [...data]
589
+ this.getData()
590
+ })
591
+ })
592
+ },
593
+ currentChange (current) {
594
+ this.getData(current)
595
+ },
596
+ sizeChange (size) {
597
+ this.pageSize = size
598
+ this.getData()
599
+ },
600
+ selectAll (v) {
601
+ // 添加到所有id
602
+ const allData = []
603
+ const getAllData = (arr) => {
604
+ arr.forEach(item => {
605
+ allData.push(item)
606
+ if (item.children) {
607
+ getAllData(item.children)
608
+ }
609
+ })
610
+ }
611
+ getAllData(this.data)
612
+ if (this.isSelectAll) {
613
+ allData.forEach(item => {
614
+ const index = this.selectionIds.indexOf(item[this.$metaKey])
615
+ if (index !== -1) this.selectionIds.splice(index, 1)
616
+ })
617
+ } else {
618
+ this.selectionIds = [...new Set([...this.selectionIds, ...allData.map(item => item[this.$metaKey])])]
619
+ }
620
+ },
621
+ sortChange ({ column, prop, order }) {
622
+ if (order) {
623
+ this.sortParams = { sort: prop, order: order === 'ascending' ? 'asc' : 'desc' }
624
+ } else {
625
+ this.sortParams = {}
626
+ }
627
+
628
+ this.getData()
629
+ },
630
+ getShowColumnOperates (row) {
631
+ const columnOperates = this.columnOperates.filter(item => !item.showCondition || item.showCondition.length === 0 || this.$util.runExpByScope.call(this, item.showCondition, row))
632
+ return columnOperates
633
+ },
634
+ getFoldColumnOperates (columnOperates = this.columnOperates) {
635
+ const { operateColumnEllipsis = true } = this.$configs
636
+ let showOperatesLength = 0
637
+ if (operateColumnEllipsis === false) return []
638
+ if (operateColumnEllipsis !== true) {
639
+ showOperatesLength = operateColumnEllipsis
640
+ }
641
+ if (columnOperates.length > showOperatesLength) {
642
+ const foldButtons = [...columnOperates]
643
+ if (showOperatesLength !== 0) foldButtons.splice(0, showOperatesLength)
644
+ return foldButtons
645
+ } else {
646
+ return []
647
+ }
648
+ },
649
+ getUnFoldColumnOperates (columnOperates = this.columnOperates) {
650
+ const { operateColumnEllipsis = true } = this.$configs
651
+ let showOperatesLength = 0
652
+ if (operateColumnEllipsis === false) return columnOperates
653
+ if (operateColumnEllipsis !== true) {
654
+ showOperatesLength = operateColumnEllipsis
655
+ }
656
+ const unfoldButtons = [...columnOperates]
657
+ if (showOperatesLength === 0) return []
658
+ if (unfoldButtons.length > showOperatesLength) unfoldButtons.length = showOperatesLength
659
+ return unfoldButtons
660
+ },
661
+ formatScope (scopeParams) {
662
+ const _scopeParams = this.$_.cloneDeep(scopeParams)
663
+ // eslint-disable-next-line no-unused-vars
664
+ const that = this
665
+ for (const scopeKey in _scopeParams) {
666
+ const scope = _scopeParams[scopeKey]
667
+ if (!scope) continue
668
+ let values = scope.values
669
+ if (/\$\[(.+)\]/.test(values)) {
670
+ values = values.replace(/\$\[(.+)\]/, (match, key) => {
671
+ try {
672
+ // eslint-disable-next-line no-eval
673
+ return eval(`that.$query.${key}`) || eval(`that.$tab.${key}`) || eval(`that.${key}`) || ''
674
+ } catch (error) {
675
+ return scope.values
676
+ }
677
+ })
678
+ }
679
+ if (/#\{(.+)\}/.test(values)) {
680
+ values = values.replace(/#\{(.+)\}/, (match, key) => {
681
+ try {
682
+ // eslint-disable-next-line no-eval
683
+ return eval(`that.$query.${key}`) || eval(`that.$tab.${key}`) || ''
684
+ } catch (error) {
685
+ return scope.values
686
+ }
687
+ })
688
+ }
689
+ scope.values = values
690
+ }
691
+ return _scopeParams
692
+ },
693
+ addEntity (config = {}, item) {
694
+ const { addPage: metaPageId } = this.$meta
695
+ const { pageId = metaPageId } = config
696
+ this.goPage({ pageId, ...config }, item)
697
+ },
698
+ editEntity (config = {}, item) {
699
+ const { editPage: metaPageId } = this.$meta
700
+ const { pageId = metaPageId } = config
701
+ this.goPage({ pageId, ...config }, item)
702
+ },
703
+ clickCell (row, column, cell, e) {
704
+ e.stopPropagation()
705
+ const { editable } = this.$configs
706
+ const fieldConfigs = this.listFields.find(item => item.attriName === column.columnKey)
707
+ if (editable || (fieldConfigs && fieldConfigs.editable)) {
708
+ if (this.editField.rowId) {
709
+ this.updateField(() => {
710
+ this.editField = {
711
+ rowId: row.ID,
712
+ columnId: column.columnKey
713
+ }
714
+ })
715
+ } else {
716
+ this.editField = {
717
+ rowId: row.ID,
718
+ columnId: column.columnKey
719
+ }
720
+ }
721
+ }
722
+ },
723
+ clickField (field, row) {
724
+ const { detailPage } = this.$meta
725
+ const { detailPageId, codeKey } = field
726
+ const { isLabel } = field.attribute || {}
727
+ if (detailPageId) {
728
+ this.$createPage({
729
+ metaId: codeKey,
730
+ component: 'entity-add-page',
731
+ pageId: detailPageId || detailPage,
732
+ pageType: 'DETAIL',
733
+ id: row[field.attriName],
734
+ openType: '2'
735
+ })
736
+ } else if (field.isLabel || (isLabel === '1' && !field.attriName.includes('|'))) {
737
+ this.viewEntity({}, row)
738
+ }
739
+ },
740
+ changeField (v) {
741
+ this.$set(this.editField, 'changeData', v)
742
+ },
743
+ updateField (cb) {
744
+ const { rowId, changeData } = this.editField
745
+ if (!rowId) return
746
+ if (!changeData) {
747
+ this.editField = {}
748
+ return typeof cb === 'function' && cb()
749
+ }
750
+ const formData = {}
751
+ for (const key in changeData) {
752
+ if (!key.includes('#')) formData['bean.' + key] = changeData[key]
753
+ }
754
+ return this.$http.$post({
755
+ action: 'update', // 操作命令 list/ get id/ find/ update / save
756
+ entityId: this.$metaId, // 当前对象id
757
+ 'bean.ID': rowId,
758
+ ...formData
759
+ })
760
+ .then(() => {
761
+ const rowIndex = this.data.findIndex(item => item.ID === rowId)
762
+ this.data.splice(rowIndex, 1, { ...this.data[rowIndex], ...changeData })
763
+ this.editField = {}
764
+ typeof cb === 'function' && cb()
765
+ })
766
+ .catch(err => {
767
+ this.$message.error(err.message)
768
+ })
769
+ },
770
+ detailPage (item) {
771
+ this.viewEntity({}, item)
772
+ },
773
+ /**
774
+ * 页面跳转
775
+ * @param num 选中记录数(1,必须选中且只能选中一条记录;n:必须选中至少一条记录;0不需要选中记录)
776
+ * @param pageFlag 目标页面的标识符
777
+ * @param metaId 目标页面的对象
778
+ * @param openMode 打开方式
779
+ * @param params #[列表对象的某字段名]",(如果是选中的多条记录,将字段值拼成一个字符串,用逗号隔开) "$[当前页面的某变量名]"
780
+ * @param comfirmMsg 操作提交之前的确认信息(如果为空,就不需要确认)
781
+ */
782
+ goPage ({ pageFlag, metaId = this.$metaId, num = 0, openMode = '3', component, pageId, menuId, pageType, confirmMsg = null, params = {} }, row) {
783
+ // eslint-disable-next-line no-unused-vars
784
+ const that = this
785
+ let selections = []
786
+ const formatParams = {}
787
+ const _params = { ...params }
788
+ // 检测是否选中元素
789
+ if (row) {
790
+ selections = [{ ...row }]
791
+ } else {
792
+ if (this.selection) selections = [...this.selection]
793
+ }
794
+ if (selections.length === 0) {
795
+ if (num !== 0 && num !== '0') {
796
+ this.$message.error('请选择一个记录')
797
+ return
798
+ }
799
+ } else if (selections.length > 1) {
800
+ if (num === 1 || num === '1') {
801
+ this.$message.error('只能选择一个记录')
802
+ return
803
+ }
804
+ }
805
+ if (!_params.id) {
806
+ _params.id = `#[${this.$metaKey}]`
807
+ }
808
+ // 格式化params
809
+ for (const key in _params) {
810
+ let value = _params[key]
811
+ if (/\$\[(.+)\]/.test(_params[key])) {
812
+ try {
813
+ const valueKey = _params[key].replace(/\$\[(.+)\]/, (match, key) => key)
814
+ // eslint-disable-next-line no-eval
815
+ value = eval(`that.${valueKey}`) || eval(`that.$query.${valueKey}`) || eval(`that.$tab.${valueKey}`) || ''
816
+ } catch (err) {
817
+ console.error(err)
818
+ value = ''
819
+ }
820
+ }
821
+ if (/#\{(.+)\}/.test(_params[key])) {
822
+ try {
823
+ const valueKey = _params[key].replace(/#\{(.+)\}/, (match, key) => key)
824
+ // eslint-disable-next-line no-eval
825
+ value = eval(`that.${valueKey}`) || eval(`that.$query.${valueKey}`) || ''
826
+ } catch (err) {
827
+ console.error(err)
828
+ value = ''
829
+ }
830
+ }
831
+ if (/#\[(.+)\]/.test(_params[key])) {
832
+ value = _params[key].replace(/#\[(.+)\]/, (match, key) => {
833
+ const values = selections.map(item => item[key])
834
+ return values.join(',')
835
+ })
836
+ }
837
+ formatParams[key] = value
838
+ }
839
+ // 提交方法
840
+ const submitFn = () => {
841
+ this.$createPage({
842
+ flag: pageFlag,
843
+ metaId: metaId,
844
+ pageId,
845
+ menuId,
846
+ openType: openMode,
847
+ component,
848
+ pageType,
849
+ ...formatParams
850
+ })
851
+ }
852
+ if (confirmMsg) {
853
+ this.$confirm(confirmMsg, '提示', {
854
+ confirmButtonText: '确定',
855
+ cancelButtonText: '取消',
856
+ type: 'warning'
857
+ }).then(() => {
858
+ submitFn()
859
+ })
860
+ } else {
861
+ submitFn()
862
+ }
863
+ },
864
+ viewEntity (config, item) {
865
+ const { detailPage: metaPageId } = this.$meta
866
+ const { detailPageFlag, detailPageId, addPageFlag, detailPage, detailFlag, openMode } = this.$configs
867
+ if (!detailFlag) return
868
+ let key = 'ID'
869
+ if (this.$meta) {
870
+ key = this.$meta.getKey()
871
+ }
872
+ const query = {
873
+ metaId: this.$metaId,
874
+ flag: detailPageFlag || addPageFlag,
875
+ component: detailPage,
876
+ pageId: detailPageId || metaPageId,
877
+ pageType: this.readonly ? 'READONLY' : 'DETAIL',
878
+ id: item[key],
879
+ openType: openMode
880
+ }
881
+ if (this.$isMobile) delete query.openType
882
+ this.$createPage({
883
+ ...query
884
+ })
885
+ },
886
+ removeEntity (config, row) {
887
+ this.deleteEntity(config, row)
888
+ },
889
+ deleteEntity (config, row) {
890
+ let ids = ''
891
+ let key = 'ID'
892
+ if (this.$meta) {
893
+ key = this.$meta.getKey()
894
+ }
895
+ if (row) {
896
+ ids = [row[key]]
897
+ } else {
898
+ if (this.selection.length === 0) {
899
+ this.$message.error(this.$t('please select a record'))
900
+ return
901
+ }
902
+ ids = this.selection.map(item => item[key])
903
+ }
904
+
905
+ this.$confirm(this.$t('Confirm the deletion') + '?')
906
+ .then(() => {
907
+ this.$http.removeMulti({
908
+ entityId: this.$metaId,
909
+ ids: ids.join(',')
910
+ })
911
+ .then(() => {
912
+ this.$message.success(this.$t('deleted successfully'))
913
+ this.selectionIds = []
914
+ this.getData()
915
+ })
916
+ .catch(err => {
917
+ this.$message.error(err.message || this.$t('Delete failed'))
918
+ })
919
+ })
920
+ .catch(() => {})
921
+ },
922
+ // 页面导出
923
+ entityExport () {
924
+ const { queryParams = {} } = this.$configs
925
+ const params = {
926
+ ...this.$formatParams(queryParams),
927
+ ...this.queryParams
928
+ }
929
+ if (this.scopeParams) {
930
+ params.scopeParams = JSON.stringify(this.scopeParams)
931
+ }
932
+ this.$createPage({
933
+ metaId: this.$metaId,
934
+ component: 'export-page', // 默认模板 epx-export + component
935
+ flag: 'v_export',
936
+ selects: this.selection,
937
+ total: this.total,
938
+ params,
939
+ field: this.$meta.getExportFields()
940
+ })
941
+ },
942
+ // 批量编辑
943
+ editMultiEntity (config) {
944
+ const { params = {} } = config
945
+ const { queryParams = {} } = this.$configs
946
+ this.$createPage({
947
+ metaId: this.$metaId,
948
+ component: 'batch-edit', // 默认模板 epx-export + component
949
+ flag: 'v_batch_edit',
950
+ selects: this.selection,
951
+ total: this.total,
952
+ params: {
953
+ ...this.$formatParams(queryParams),
954
+ ...this.queryParams
955
+ },
956
+ ...params,
957
+ field: this.$meta.getExportFields()
958
+ })
959
+ },
960
+ // 页面导入
961
+ entityImport () {
962
+ this.$createPage({
963
+ metaId: this.$metaId,
964
+ component: 'import-page', // 默认模板 epx-export + component
965
+ flag: 'v_import',
966
+ meta: this.$meta
967
+ })
968
+ },
969
+ /**
970
+ * 去审核
971
+ */
972
+ goCheckPage (config, item) {
973
+ // 获取审核页面
974
+ const { params = {} } = config
975
+ const _params = { ...params }
976
+ const formatParams = {}
977
+ if (!item) {
978
+ if (this.selection.length > 1) {
979
+ this.$message.error(this.$t('Do not select multiple records'))
980
+ return
981
+ }
982
+ if (this.selection.length === 0) {
983
+ this.$message.error(this.$t('please select a record'))
984
+ return
985
+ }
986
+ item = this.selection[0]
987
+ }
988
+ if (!_params.id) {
989
+ _params.id = `#[${this.$metaKey}]`
990
+ }
991
+ // 格式化params
992
+ for (const key in _params) {
993
+ let value = _params[key]
994
+ if (/\$\[(.+)\]/.test(_params[key])) {
995
+ try {
996
+ const valueKey = _params[key].replace(/\$\[(.+)\]/, (match, key) => key)
997
+ // eslint-disable-next-line no-eval
998
+ value = eval(`that.${valueKey}`) || eval(`that.$query.${valueKey}`) || ''
999
+ } catch (err) {
1000
+ value = ''
1001
+ }
1002
+ }
1003
+ if (/#\[(.+)\]/.test(_params[key])) {
1004
+ value = _params[key].replace(/#\[(.+)\]/, (match, key) => {
1005
+ const values = item[key]
1006
+ return values
1007
+ })
1008
+ }
1009
+ formatParams[key] = value
1010
+ }
1011
+ const { pageFlag, taskActivityId } = config
1012
+ if (pageFlag) {
1013
+ this.$createPage({
1014
+ metaId: this.$metaId,
1015
+ flag: pageFlag,
1016
+ component: 'entity-check-page',
1017
+ taskActivityId,
1018
+ ...formatParams
1019
+ })
1020
+ return
1021
+ }
1022
+ this.$http.get({
1023
+ action: 'getTaskPage',
1024
+ entityId: 'ACT_RU_EXECUTION',
1025
+ id: item[this.$metaKey]
1026
+ })
1027
+ .then(data => {
1028
+ this.$createPage({
1029
+ metaId: this.$metaId,
1030
+ pageId: data.page,
1031
+ pageType: 'DETAIL',
1032
+ component: 'entity-check-page',
1033
+ taskActivityId,
1034
+ ...formatParams
1035
+ })
1036
+ })
1037
+ .catch(err => {
1038
+ this.$message.error(err.message || this.$t('deal with failure'))
1039
+ })
1040
+ },
1041
+ checkEntity (operate, row) {
1042
+ const { action = 'handleTask', destActivityId, params, num = 1, confirmMsg = '', successMsg = this.$t('handle a successful'), failMsg = this.$t('deal with failure') } = operate
1043
+ const _params = { ...params }
1044
+ const formatParams = {}
1045
+ let selections = []
1046
+ // 检测是否选中元素
1047
+ if (row) {
1048
+ selections = [{ ...row }]
1049
+ } else {
1050
+ if (this.selection) selections = [...this.selection]
1051
+ }
1052
+ if (num !== 0 && num !== '0') {
1053
+ if (selections.length === 0) {
1054
+ this.$message.error(this.$t('please select a record'))
1055
+ return
1056
+ } else if (selections.length > 1) {
1057
+ if (num === 1) {
1058
+ this.$message.error(this.$t('Only one record can be selected'))
1059
+ return
1060
+ }
1061
+ }
1062
+ }
1063
+ if (!_params.id) {
1064
+ _params.id = `#[${this.$metaKey}]`
1065
+ }
1066
+ // 格式化params
1067
+ for (const key in _params) {
1068
+ let value = _params[key]
1069
+ if (/\$\[(.+)\]/.test(_params[key])) {
1070
+ try {
1071
+ const valueKey = _params[key].replace(/\$\[(.+)\]/, (match, key) => key)
1072
+ // eslint-disable-next-line no-eval
1073
+ value = eval(`that.${valueKey}`) || eval(`that.$query.${valueKey}`) || ''
1074
+ } catch (err) {
1075
+ value = ''
1076
+ }
1077
+ }
1078
+ if (/#\[(.+)\]/.test(_params[key])) {
1079
+ value = _params[key].replace(/#\[(.+)\]/, (match, key) => {
1080
+ const values = selections.map(item => item[key] || item)
1081
+ return values.join(',')
1082
+ })
1083
+ }
1084
+ formatParams[key] = value
1085
+ }
1086
+ const checkParams = {
1087
+ action,
1088
+ entityId: this.$metaId,
1089
+ currentMetaId: this.$metaId,
1090
+ id: this.$query.id,
1091
+ destActivityId,
1092
+ ...formatParams
1093
+ }
1094
+ const submitFn = () => {
1095
+ if (this.isRequesting) return
1096
+ this.isRequesting = true
1097
+ this.$http.$request(checkParams)
1098
+ .then(data => {
1099
+ this.isRequesting = false
1100
+ this.$message.success(successMsg)
1101
+ this.reloadData()
1102
+ })
1103
+ .catch(err => {
1104
+ this.isRequesting = false
1105
+ this.$message.error(err.message || failMsg)
1106
+ })
1107
+ }
1108
+ if (confirmMsg) {
1109
+ this.$confirm(confirmMsg, this.$t('hint'), {
1110
+ confirmButtonText: this.$t('determine'),
1111
+ cancelButtonText: this.$t('cancel'),
1112
+ type: 'warning'
1113
+ }).then(() => {
1114
+ submitFn()
1115
+ })
1116
+ } else {
1117
+ submitFn()
1118
+ }
1119
+ },
1120
+ async getCheckOperateList (operate, id) {
1121
+ const params = {
1122
+ action: 'getTaskDestFlow',
1123
+ entityId: 'ACT_RU_EXECUTION',
1124
+ id: id,
1125
+ currentMetaId: this.$metaId
1126
+ }
1127
+
1128
+ return this.$http.get(params)
1129
+ .then(data => {
1130
+ return Promise.resolve(data.map(item => ({ ...operate, text: item.name || item.id, destActivityId: item.id })))
1131
+ })
1132
+ .catch(() => {
1133
+ return Promise.resolve([])
1134
+ })
1135
+ },
1136
+ async batchCheck (operate, row) {
1137
+ const { action = 'batchHandleTask', params, num = 'n', successMsg = this.$t('handle a successful'), failMsg = this.$t('deal with failure') } = operate
1138
+ const _params = { ...params }
1139
+ const formatParams = {}
1140
+ let selections = []
1141
+ if (row) {
1142
+ selections = [{ ...row }]
1143
+ } else {
1144
+ if (this.selection) selections = [...this.selection]
1145
+ }
1146
+ if (num !== 0 && num !== '0') {
1147
+ if (selections.length === 0) {
1148
+ this.$message.error(this.$t('please select a record'))
1149
+ return
1150
+ } else if (selections.length > 1) {
1151
+ if (num === 1) {
1152
+ this.$message.error(this.$t('Only one record can be selected'))
1153
+ return
1154
+ }
1155
+ }
1156
+ }
1157
+ if (!_params.id) {
1158
+ _params.id = `#[${this.$metaKey}]`
1159
+ }
1160
+ if (!_params.ids) {
1161
+ _params.ids = `#[${this.$metaKey}]`
1162
+ }
1163
+ // 格式化params
1164
+ for (const key in _params) {
1165
+ let value = _params[key]
1166
+ if (/\$\[(.+)\]/.test(_params[key])) {
1167
+ try {
1168
+ const valueKey = _params[key].replace(/\$\[(.+)\]/, (match, key) => key)
1169
+ // eslint-disable-next-line no-eval
1170
+ value = eval(`that.${valueKey}`) || eval(`that.$query.${valueKey}`) || ''
1171
+ } catch (err) {
1172
+ value = ''
1173
+ }
1174
+ }
1175
+ if (/#\[(.+)\]/.test(_params[key])) {
1176
+ value = _params[key].replace(/#\[(.+)\]/, (match, key) => {
1177
+ const values = selections.map(item => item[key] || item)
1178
+ return values.join(',')
1179
+ })
1180
+ }
1181
+ formatParams[key] = value
1182
+ }
1183
+
1184
+ const submitFn = async (destActivityId) => {
1185
+ const checkParams = {
1186
+ action,
1187
+ entityId: this.$metaId,
1188
+ currentMetaId: this.$metaId,
1189
+ destActivityId,
1190
+ ...formatParams
1191
+ }
1192
+ if (this.isRequesting) return
1193
+ this.isRequesting = true
1194
+ this.$http.$request(checkParams)
1195
+ .then(data => {
1196
+ this.isRequesting = false
1197
+ this.$message.success(successMsg)
1198
+ this.reloadData()
1199
+ })
1200
+ .catch(err => {
1201
+ this.isRequesting = false
1202
+ this.$message.error(err.message || failMsg)
1203
+ })
1204
+ }
1205
+ const operates = await this.getCheckOperateList(operate, selections.map(item => item[this.$metaKey])[0])
1206
+ this.$msgbox({
1207
+ title: this.$t('please select the audit mode'),
1208
+ message: this.renderCheckOperates(operates),
1209
+ showCancelButton: true,
1210
+ confirmButtonText: this.$t('determine'),
1211
+ cancelButtonText: this.$t('cancel')
1212
+ })
1213
+ .then(() => {
1214
+ submitFn(this.checkEntityWay)
1215
+ this.checkEntityWay = null
1216
+ })
1217
+ .catch(() => {
1218
+ this.checkEntityWay = null
1219
+ })
1220
+ },
1221
+ renderCheckOperates (operates) {
1222
+ const selectRadio = (item, e) => {
1223
+ this.checkEntityWay = item.destActivityId
1224
+ operates.forEach(operate => {
1225
+ const radioRef = this.$refs['radio-' + operate.destActivityId]
1226
+ if (radioRef) {
1227
+ const radio = radioRef.$el
1228
+ radio.querySelector('.el-radio__input').className = radio.querySelector('.el-radio__input').className.replace(/\sis-checked/g, '')
1229
+ }
1230
+ })
1231
+ const radioRef = this.$refs['radio-' + item.destActivityId]
1232
+ if (radioRef) {
1233
+ const radio = radioRef.$el
1234
+ radio.querySelector('.el-radio__input').className += ' is-checked'
1235
+ }
1236
+ }
1237
+ return (
1238
+ <div key={new Date().getTime()}>
1239
+ {
1240
+ operates.map(item => (
1241
+ <el-radio ref={'radio-' + item.destActivityId} value={this.checkEntityWay === item.destActivityId} label={item.destActivityId} nativeOnClick={(e) => selectRadio(item, e)}>{item.text}</el-radio>
1242
+ ))
1243
+ }
1244
+ </div>
1245
+ )
1246
+ },
1247
+ applyEntity (buttonConfig, row) {
1248
+ const { mask, num = 1, processCode, processNode = '', startNode, result = '1', action = 'apply', params, successMsg = this.$t('handle a successful'), failMsg = this.$t('deal with failure') } = buttonConfig
1249
+ const _params = { ...params }
1250
+ const formatParams = {}
1251
+ let selections = []
1252
+ // 检测是否选中元素
1253
+ if (row) {
1254
+ selections = [{ ...row }]
1255
+ } else {
1256
+ if (this.selection) selections = [...this.selection]
1257
+ }
1258
+ if (num !== 0 && num !== '0') {
1259
+ if (selections.length === 0) {
1260
+ this.$message.error(this.$t('please select a record'))
1261
+ return
1262
+ } else if (selections.length > 1) {
1263
+ if (num === 1) {
1264
+ this.$message.error(this.$t('Only one record can be selected'))
1265
+ return
1266
+ }
1267
+ }
1268
+ }
1269
+ if (!_params.id) {
1270
+ _params.id = `#[${this.$metaKey}]`
1271
+ }
1272
+ // 格式化params
1273
+ for (const key in _params) {
1274
+ let value = _params[key]
1275
+ if (/\$\[(.+)\]/.test(_params[key])) {
1276
+ try {
1277
+ const valueKey = _params[key].replace(/\$\[(.+)\]/, (match, key) => key)
1278
+ // eslint-disable-next-line no-eval
1279
+ value = eval(`that.${valueKey}`) || eval(`that.$query.${valueKey}`) || ''
1280
+ } catch (err) {
1281
+ value = ''
1282
+ }
1283
+ }
1284
+ if (/#\[(.+)\]/.test(_params[key])) {
1285
+ value = _params[key].replace(/#\[(.+)\]/, (match, key) => {
1286
+ const values = selections.map(item => item[key] || item)
1287
+ return values.join(',')
1288
+ })
1289
+ }
1290
+ formatParams[key] = value
1291
+ }
1292
+ let queryParams = {
1293
+ action,
1294
+ entityId: this.$metaId,
1295
+ processCode
1296
+ }
1297
+ if (processNode) {
1298
+ queryParams.destActivityId = processNode
1299
+ } else {
1300
+ queryParams.startNode = startNode
1301
+ queryParams.result = result
1302
+ }
1303
+ queryParams = { ...queryParams, ...formatParams }
1304
+ if (this.isRequesting) return
1305
+ this.isRequesting = true
1306
+ let loading = null
1307
+ if (mask) {
1308
+ loading = this.$loading({
1309
+ target: this.$el,
1310
+ background: 'rgba(255, 255, 255, 0.5)',
1311
+ text: this.$t('Operating, please wait...')
1312
+ })
1313
+ }
1314
+ this.$http.apply({
1315
+ ...params,
1316
+ ...queryParams
1317
+ }, {
1318
+ requestKey: 'process'
1319
+ })
1320
+ .then(data => {
1321
+ this.$message.success(successMsg)
1322
+ this.isRequesting = false
1323
+ if (loading) loading.close()
1324
+ this.reloadData()
1325
+ })
1326
+ .catch(err => {
1327
+ this.$message.error(err.message || failMsg)
1328
+ this.isRequesting = false
1329
+ if (loading) loading.close()
1330
+ })
1331
+ },
1332
+ /**
1333
+ * 通用打印
1334
+ */
1335
+ print ({ num = 0, printWay = 'custom', printCode = '', cptName = '', params = {}, ...props }, row) {
1336
+ // 格式化params
1337
+ let selections = []
1338
+ const formatParams = {}
1339
+ // eslint-disable-next-line no-unused-vars
1340
+ const that = this
1341
+ // 检测是否选中元素
1342
+ if (row) {
1343
+ selections = [{ ...row }]
1344
+ } else {
1345
+ if (this.selection) selections = [...this.selection]
1346
+ }
1347
+ if (num !== 0 && num !== '0') {
1348
+ if (selections.length === 0) {
1349
+ this.$message.error(this.$t('please select a record'))
1350
+ return
1351
+ } else if (selections.length > 1) {
1352
+ if (num === 1 || num === '1') {
1353
+ this.$message.error(this.$t('Only one record can be selected'))
1354
+ return
1355
+ }
1356
+ }
1357
+ }
1358
+ // 添加主键
1359
+ if (!params.id) params.id = `#[${this.$metaKey}]`
1360
+ for (const key in params) {
1361
+ let value = params[key]
1362
+ if (/\$\[(.+)\]/.test(params[key])) {
1363
+ value = params[key].replace(/\$\[(.+)\]/, (match, key) => {
1364
+ // eslint-disable-next-line no-eval
1365
+ return eval(`that.${key}`) || eval(`that.$query.${key}`) || eval(`that.$tab.${key}`) || ''
1366
+ })
1367
+ }
1368
+ if (/#\[(.+)\]/.test(params[key])) {
1369
+ value = params[key].replace(/#\[(.+)\]/, (match, key) => {
1370
+ const values = selections.map(item => item[key])
1371
+ return values.join(',')
1372
+ })
1373
+ }
1374
+ formatParams[key] = value
1375
+ }
1376
+ if (printWay === 'fine') {
1377
+ const ids = selections.map(item => `'${item[this.$metaKey]}'`)
1378
+ formatParams.id = ids.join(',')
1379
+ this.fineReportPrint(cptName, formatParams)
1380
+ } else {
1381
+ this.customReportPrint(printCode, formatParams, props)
1382
+ }
1383
+ },
1384
+ /**
1385
+ * 自定义报表打印方法
1386
+ * @param {String} code 报表编号
1387
+ * @param {Object} params 参数
1388
+ */
1389
+ customReportPrint (code, params, props) {
1390
+ this.$http.find({
1391
+ entityId: 'FM_FORM',
1392
+ 'scope.CODE': code
1393
+ })
1394
+ .then(data => {
1395
+ const { NAME, TYPE } = data.data
1396
+ if (TYPE === 'excelReport') {
1397
+ this.$createPage({
1398
+ component: props.printPage || 'excel-preview',
1399
+ name: NAME,
1400
+ code,
1401
+ params,
1402
+ showDownload: props.showDownload
1403
+ })
1404
+ } else {
1405
+ this.$http.$post({
1406
+ action: 'exportPdf',
1407
+ querySystem: this.appConfig.SYSTEM,
1408
+ entityId: 'FM_FORM',
1409
+ code,
1410
+ ...params
1411
+ }, {
1412
+ responseType: 'blob'
1413
+ })
1414
+ .then(({ blob }) => {
1415
+ const url = window.URL.createObjectURL(blob, { type: 'application/pdf' })
1416
+ window.open(url)
1417
+ })
1418
+ .catch(err => {
1419
+ this.$message.error(err.message)
1420
+ })
1421
+ }
1422
+ })
1423
+ },
1424
+ fineReportPrint (cptName, params) {
1425
+ const rootPath = this.$util.getAbsPath('/ReportServer')
1426
+ let query = `&reportlet=com.epxing.frame.core.report.ReportReader&__bypagesize__=false&cptname=${cptName}`
1427
+ for (const key in params) {
1428
+ query += '&' + key + '=' + params[key]
1429
+ }
1430
+
1431
+ window.open(rootPath + query)
1432
+ },
1433
+ /**
1434
+ * 打印方法
1435
+ * @param {String} cptName 报表编号
1436
+ * @param {Object} 参数
1437
+ * @param {Object} item 当前选中的数据
1438
+ */
1439
+ simplePrintFromColumn ({ cptName, params }, item) {
1440
+ const rootPath = this.$util.getAbsPath('/ReportServer')
1441
+ let query = `&reportlet=com.commons.ReportReader&__bypagesize__=false&cptname=${cptName}`
1442
+ params.forEach(param => {
1443
+ query += `&${param.name}=${item[param.valueField]}`
1444
+ })
1445
+ window.open(rootPath + query)
1446
+ },
1447
+ /**
1448
+ * 帆软报表打印
1449
+ */
1450
+ simplePrint ({ cptName, params }, row) {
1451
+ const rootPath = this.$util.getAbsPath('/ReportServer')
1452
+ let query = `&reportlet=com.epxing.frame.core.report.ReportReader&__bypagesize__=false&cptname=${cptName}`
1453
+ // eslint-disable-next-line no-unused-vars
1454
+ const that = this
1455
+ const formatParams = {}
1456
+ let selections = []
1457
+ // 检测是否选中元素
1458
+ if (row) {
1459
+ selections = [{ ...row }]
1460
+ } else {
1461
+ if (this.selection) selections = [...this.selection]
1462
+ }
1463
+ if (selections.length === 0) {
1464
+ this.$message.error(this.$t('please select a record'))
1465
+ return
1466
+ }
1467
+ // if (!params.id) {
1468
+ // params.id = `#[${this.$metaKey}]`
1469
+ // }
1470
+
1471
+ // 格式化params
1472
+ for (const key in params) {
1473
+ let value = params[key]
1474
+ if (/\$\[(.+)\]/.test(params[key])) {
1475
+ try {
1476
+ const valueKey = params[key].replace(/\$\[(.+)\]/, (match, key) => key)
1477
+ // eslint-disable-next-line no-eval
1478
+ value = eval(`that.${valueKey}`) || eval(`that.$query.${valueKey}`) || ''
1479
+ } catch (err) {
1480
+ value = ''
1481
+ }
1482
+ }
1483
+ if (/#\[(.+)\]/.test(params[key])) {
1484
+ value = params[key].replace(/#\[(.+)\]/, (match, key) => {
1485
+ const values = selections.map(item => item[key] || item)
1486
+ return values.join(',')
1487
+ })
1488
+ }
1489
+ formatParams[key] = value
1490
+ }
1491
+ const ids = selections.map(item => `'${item[this.$metaKey]}'`)
1492
+ formatParams.id = ids.join(',')
1493
+ for (const key in formatParams) {
1494
+ query += '&' + key + '=' + formatParams[key]
1495
+ }
1496
+ window.open(rootPath + query)
1497
+ },
1498
+ renderField (field) {
1499
+ return {
1500
+ scopedSlots: {
1501
+ default: ({ row }) => <epx-entity-list-edit-field fieldConfigs={field} row={row} onClick={this.clickField.bind(this)} onChange={this.changeField.bind(this)} isEdit={this.editField.rowId === row.ID && this.editField.columnId === field.attriName} />
1502
+ }
1503
+ }
1504
+ },
1505
+ renderColumnOperates () {
1506
+ return {
1507
+ scopedSlots: {
1508
+ default: ({ row }) => {
1509
+ const showColumnOperates = this.getShowColumnOperates(row)
1510
+ const foldColumnOperates = this.getFoldColumnOperates(showColumnOperates)
1511
+ const unfoldColumnOperates = this.getUnFoldColumnOperates(showColumnOperates)
1512
+ return (
1513
+ <div class="column-operates">
1514
+ {
1515
+ unfoldColumnOperates.map(operate => {
1516
+ return (
1517
+ <el-button
1518
+ class="column-operate-btn"
1519
+ key={operate.text}
1520
+ type="text"
1521
+ size="small"
1522
+ onClick={this.$handler.bind(this, operate, row)}
1523
+ >
1524
+ { operate.iconCls && <i class={operate.iconCls}></i>}
1525
+ {operate.text}
1526
+ </el-button>
1527
+ )
1528
+ })
1529
+ }
1530
+ {
1531
+ foldColumnOperates.length > 0 && (
1532
+ <el-dropdown trigger="click" onVisible-change={(show) => (this.activeDropDown = show ? row[this.$pageMetaKey] : '')}>
1533
+ <span class={['el-dropdown-link', { active: this.activeDropDown === row[this.$pageMetaKey] }]}>
1534
+ <i class="el-icon-more"></i>
1535
+ </span>
1536
+ <el-dropdown-menu slot="dropdown">
1537
+ {
1538
+ foldColumnOperates.map(operate => {
1539
+ return (
1540
+ <el-dropdown-item key={operate.text} nativeOnClick={this.$handler.bind(this, operate, row)} icon={operate.iconCls}>
1541
+ {operate.text}
1542
+ </el-dropdown-item>
1543
+ )
1544
+ })
1545
+ }
1546
+ </el-dropdown-menu>
1547
+ </el-dropdown>
1548
+ )
1549
+ }
1550
+ </div>
1551
+ )
1552
+ }
1553
+ }
1554
+ }
1555
+ },
1556
+ renderButtons () {
1557
+ const { operateFlag, searchFlag, searchMode, showFilter, filterFields, keywords, totalFlag, showKeyword } = this.$configs
1558
+ const showOperate = operateFlag && this.checkRightOperates.length > 0
1559
+ const showKeyWordSearch = searchFlag && searchMode === 'keyword' && showKeyword
1560
+ if (this.readonly || (!showOperate && !showKeyWordSearch && !totalFlag)) return
1561
+ return (
1562
+ <div class="list-operates" >
1563
+ <div>
1564
+ { operateFlag && this.checkRightOperates.length > 0 &&
1565
+ <div class="button-group">
1566
+ {
1567
+ this.operates.map(operate => {
1568
+ if (operate.operateType === 'dropdown') {
1569
+ return (
1570
+ <el-dropdown class="more-table-operates">
1571
+ <el-button size="medium" key={operate.text} type={this.buttonUi(operate.ui)}>
1572
+ { operate.icon && <i class={['operate-icon', operate.icon]}></i>}
1573
+ {operate.text}
1574
+ <i class="el-icon-arrow-down el-icon--right"></i>
1575
+ </el-button>
1576
+ <el-dropdown-menu slot="dropdown">
1577
+ {
1578
+ operate.operates.map(item => (
1579
+ <el-dropdown-item key={item.key} nativeOnClick={this.$handler.bind(this, item, null)}>{item.text}</el-dropdown-item>
1580
+ ))
1581
+ }
1582
+ </el-dropdown-menu>
1583
+ </el-dropdown>
1584
+ )
1585
+ }
1586
+ return (
1587
+ <el-button size="medium" key={operate.text} type={this.buttonUi(operate.ui)} onClick={this.$handler.bind(this, operate, null)}>
1588
+ { operate.icon && <i class={['operate-icon', operate.icon]}></i>}
1589
+ {operate.text}
1590
+ </el-button>
1591
+ )
1592
+ })
1593
+ }
1594
+ {
1595
+ this.moreOperates.length > 0 && (
1596
+ <el-dropdown class="more-table-operates" trigger="click">
1597
+ <el-button size="medium">
1598
+ <i class="el-icon-more"></i>
1599
+ </el-button>
1600
+ <el-dropdown-menu slot="dropdown">
1601
+ {
1602
+ this.moreOperates.map(operate => (
1603
+ <el-dropdown-item key={operate.text} nativeOnClick={this.$handler.bind(this, operate, null)}>{operate.text}</el-dropdown-item>
1604
+
1605
+ ))
1606
+ }
1607
+ </el-dropdown-menu>
1608
+ </el-dropdown>
1609
+ )
1610
+ }
1611
+ </div>
1612
+ }
1613
+ </div>
1614
+ {
1615
+ searchFlag && searchMode === 'keyword' && showKeyword ? (
1616
+ <div class="search-simple fr">
1617
+ <epx-search-keyword vModel={this.searchKeyParams} meta={this.$meta} metaId={this.$metaId} keywords={keywords}></epx-search-keyword>
1618
+ { showFilter && (
1619
+ <span>
1620
+ <el-button style={{ marginLeft: '8px' }} type="text" onClick={() => (this.filterDrawer = true)}>
1621
+ <el-tooltip class="item" effect="dark" content={this.$t('advanced filter')} placement="top">
1622
+ <i class="epx-icon-filter" ></i>{this.searchScopeParams.length > 0 ? `(${this.validScopeLength})` : ''}
1623
+ </el-tooltip>
1624
+ </el-button>
1625
+ <epx-scope-drawer visible={this.filterDrawer} {...{ on: { 'update:visible': v => (this.filterDrawer = v) } }} metaId={this.$metaId} metaViewId={this.$configs.metaViewId} ref="filterDrawer" vModel={this.searchScopeParams} filterFields={filterFields}/>
1626
+ </span>
1627
+ )}
1628
+ </div>
1629
+ ) : totalFlag ? (
1630
+ <span >{this.$t('general')}{this.total}{this.$t('data')}</span>
1631
+ ) : null
1632
+ }
1633
+ </div>
1634
+ )
1635
+ },
1636
+ // 查询组件
1637
+ renderSearch () {
1638
+ const { searchFlag, searchMode, showKeyword, searchFields, filterFields, keywords, showFilter, showSearchLabel } = this.$configs
1639
+ if (!searchFlag) return null
1640
+ if (searchMode === 'field') {
1641
+ return (
1642
+ <epx-search-fields metaId={this.$metaId} metaViewId={this.$configs.metaViewId} showKeyword={showKeyword} fields={searchFields} showFilter={showFilter} showSearchLabel={showSearchLabel} filterFields={filterFields} keywords={keywords} onSearch={this.search.bind(this)} onSearch-keyword={this.searchKeyword.bind(this)}></epx-search-fields>
1643
+ )
1644
+ } else if (searchMode === 'filter') {
1645
+ return (
1646
+ <epx-search-filter metaViewId={this.$configs.metaViewId} metaId={this.$metaId} showKeyword={showKeyword} fields={searchFields} showFilter={showFilter} filterFields={filterFields} keywords={keywords} onSearch={this.search.bind(this)} onSearch-keyword={this.searchKeyword.bind(this)}></epx-search-filter>
1647
+ )
1648
+ }
1649
+ },
1650
+ renderTable () {
1651
+ const { pageFlag, operateColumnFlag, operateColumnWidth, operateColumnPosition, operateColumnLocked, multiSelectColumnFlag, serialColumnFlag, columnOperates = [], sortable, border, headerBorder, isTree, stripe = true } = this.$configs
1652
+ return (
1653
+ <div class="table">
1654
+ <el-checkbox-group class="table-checkbox-group" vModel={this.selectionIds}>
1655
+ <el-table
1656
+ v-loading={this.loading}
1657
+ class={{ 'list-table': true, 'no-border': !border, 'header-border': border && headerBorder }}
1658
+ ref="table"
1659
+ rowKey={this.$metaKey}
1660
+ stripe={stripe}
1661
+ fit={true} // !this.popup
1662
+ tree-props={{ children: 'children', hasChildren: 'hasChildren' }}
1663
+ border
1664
+ data={this.data}
1665
+ onRow-dblclick={v => this.viewEntity({}, v)}
1666
+ onCell-click={this.clickCell}
1667
+ onSort-change={this.sortChange}
1668
+ { ...{ props: this.tableProps } }
1669
+ >
1670
+ {/* 选择列 */}
1671
+ {
1672
+ multiSelectColumnFlag && (
1673
+ <el-table-column
1674
+ type="index"
1675
+ width="55"
1676
+ reserve-selection={true}
1677
+ fixed={!this.popup}
1678
+ scopedSlots={{
1679
+ default: ({ row }) => <el-checkbox label={row[this.$metaKey]} ><span></span></el-checkbox>,
1680
+ header: () => <label class={{ 'el-checkbox': true, 'is-checked': this.isSelectAll }} ><span class={{ 'el-checkbox__input': true, 'is-checked': this.isSelectAll }}><span class="el-checkbox__inner" onClick={this.selectAll}></span><input type="checkbox" class="el-checkbox__original"/></span></label>
1681
+ }}
1682
+ >
1683
+ </el-table-column>
1684
+ )
1685
+ }
1686
+ {/* 序号列 */}
1687
+ {
1688
+ serialColumnFlag && (
1689
+ <el-table-column
1690
+ width="55"
1691
+ label={this.$t('numerical order')}
1692
+ type="index"
1693
+ index={index => (this.currentPage - 1) * this.pageSize + index + 1}
1694
+ fixed={this.lockedIndex !== -1}
1695
+ >
1696
+ </el-table-column>
1697
+ )
1698
+ }
1699
+ {/* 操作列 */}
1700
+ {
1701
+ !this.readonly && operateColumnFlag !== false && columnOperates.length > 0 && operateColumnPosition !== 'end' && (
1702
+ <el-table-column class-name="operate-column__cell" width={operateColumnWidth} fixed={operateColumnLocked || this.lockedIndex !== -1 ? 'left' : false} label={this.$t('operation')} { ...this.renderColumnOperates() }></el-table-column>
1703
+ )
1704
+ }
1705
+ {
1706
+ this.listFields.map((field, index) => {
1707
+ if (field.state !== 'HIDDEN') {
1708
+ return (
1709
+ <el-table-column column-key={field.attriName} prop={field.attriName} {...field} min-width={field.width || 120} sortable={sortable ? 'custom' : false} resizable show-overflow-tooltip label={field.attriLabel} fixed={index <= this.lockedIndex}
1710
+ { ...this.renderField(field) }>
1711
+
1712
+ </el-table-column>
1713
+ )
1714
+ }
1715
+ })
1716
+ }
1717
+ {/* 操作列 */}
1718
+ {
1719
+ !this.readonly && operateColumnFlag !== false && columnOperates.length > 0 && operateColumnPosition === 'end' && (
1720
+ <el-table-column width={operateColumnWidth} fixed={operateColumnLocked ? 'right' : false} label={this.$t('operation')} { ...this.renderColumnOperates() }></el-table-column>
1721
+ )
1722
+ }
1723
+ </el-table>
1724
+ </el-checkbox-group>
1725
+ {/* 分页 */}
1726
+ {
1727
+ pageFlag && !isTree && (
1728
+ <div class="pagination">
1729
+ <el-pagination
1730
+ currentPage={this.currentPage}
1731
+ pageSizes={[5, 10, 15, 20, 30, 50, 100, 200, 500, 1000]}
1732
+ pageSize={this.pageSize}
1733
+ layout="prev, pager, next, jumper, sizes,total"
1734
+ total={this.total}
1735
+ onSize-change={this.sizeChange}
1736
+ onCurrent-change={this.currentChange}
1737
+ >
1738
+ </el-pagination>
1739
+ </div>
1740
+ )
1741
+ }
1742
+ </div>
1743
+ )
1744
+ },
1745
+ tableHeaderFxiedListener (event) {
1746
+ const scrollEl = event.target
1747
+ const table = this.$refs.table.$el
1748
+ const tableHeader = table.querySelector('.el-table__header-wrapper')
1749
+ const tableBody = table.querySelector('.el-table__body-wrapper')
1750
+ const tableFixed = table.querySelector('.el-table__fixed')
1751
+ let tableFixedHeader = null
1752
+ if (tableFixed) {
1753
+ tableFixedHeader = tableFixed.querySelector('.el-table__fixed-header-wrapper')
1754
+ }
1755
+ const tableTop = table.getBoundingClientRect().top
1756
+ const top = scrollEl.getBoundingClientRect().top
1757
+ if (tableTop <= top) {
1758
+ // 表头
1759
+ if (!this.copyTableHeader) {
1760
+ setTimeout(() => {
1761
+ this.copyTableHeader = tableHeader.cloneNode(true)
1762
+ this.copyTableHeader.className += ' el-table__header-wrapper-copy'
1763
+ this.copyTableHeader.style = 'position:fixed;top: 60px;z-index:4;background:#fff;margin-left: -12px;padding-left: 12px;width:' + tableHeader.offsetWidth + 'px'
1764
+ if (tableFixedHeader) {
1765
+ tableFixedHeader.className += ' el-table__fixed-header-wrapper-copy'
1766
+ tableFixedHeader.style = 'position:fixed;top: 60px;z-index:5;left: auto;overflow: hidden;width:' + tableFixed.offsetWidth + 'px'
1767
+ }
1768
+ try {
1769
+ table.insertBefore(this.copyTableHeader, tableHeader)
1770
+ } catch (error) {}
1771
+ }, 0)
1772
+ }
1773
+ setTimeout(() => {
1774
+ const tableHeaderChildren = this.copyTableHeader.children[0]
1775
+ tableHeaderChildren.style.transform = `translate(-${tableBody.scrollLeft}px)`
1776
+ }, 10)
1777
+ } else {
1778
+ // 移除悬浮样式
1779
+ if (tableFixedHeader) {
1780
+ tableFixedHeader.className = 'el-table__fixed-header-wrapper'
1781
+ tableFixedHeader.style = ''
1782
+ }
1783
+
1784
+ const copyTableHeaderElements = document.querySelectorAll('.el-table__header-wrapper-copy')
1785
+ for (let i = 0; i < copyTableHeaderElements.length; i++) {
1786
+ const element = copyTableHeaderElements[i]
1787
+ try {
1788
+ table.removeChild(element)
1789
+ } catch (error) {
1790
+
1791
+ }
1792
+ }
1793
+ this.copyTableHeader = null
1794
+ }
1795
+ },
1796
+ tableBodyScrollListener () {
1797
+ const tableBody = this.$refs.list.querySelector('.el-table__body-wrapper')
1798
+ if (this.copyTableHeader) {
1799
+ const tableFixed = this.copyTableHeader.children[0]
1800
+ tableFixed.style.transform = `translate(-${tableBody.scrollLeft}px)`
1801
+ }
1802
+ },
1803
+ containerClick () {
1804
+ this.editField = {}
1805
+ }
1806
+ },
1807
+ render () {
1808
+ if (this.showFlag) {
1809
+ return (
1810
+ <div ref="list" class={['list-container', { fold: this.isFold }, { 'list-container--fixed': this.$configs.fixedTable }]} style={this.$component.style} >
1811
+ {
1812
+ this.renderComponents.map(componentFn => componentFn())
1813
+ }
1814
+ </div>
1815
+ )
1816
+ }
1817
+ return null
1818
+ },
1819
+ mounted () {
1820
+ if (this.upPage) {
1821
+ const scrollEl = this.upPage.$el
1822
+ this.copyTableHeader = null
1823
+ scrollEl.addEventListener('scroll', this.tableHeaderFxiedListener)
1824
+ if (this.$refs.list) {
1825
+ const tableBody = this.$refs.list.querySelector('.el-table__body-wrapper')
1826
+ if (tableBody) tableBody.addEventListener('scroll', this.tableBodyScrollListener)
1827
+ }
1828
+ }
1829
+ window.addEventListener('click', this.updateField)
1830
+ this.$event.on('search', (scopeParams) => {
1831
+ this.search(scopeParams)
1832
+ })
1833
+ this.$event.on('search-keyword', (searchKeyParams) => {
1834
+ this.searchKeyParams = searchKeyParams
1835
+ this.search()
1836
+ })
1837
+ this.$event.on('get-data', (...props) => {
1838
+ this.getData(...props)
1839
+ })
1840
+ /**
1841
+ * 更新数据
1842
+ */
1843
+ // this.$on('getData', (scopeParams) => {
1844
+ // this.search(scopeParams)
1845
+ // })
1846
+ },
1847
+ beforeDestroy () {
1848
+ if (this.upPage) {
1849
+ const scrollEl = this.upPage.$el
1850
+ const tableBody = this.$refs.list.querySelector('.el-table__body-wrapper')
1851
+ this.copyTableHeader = null
1852
+ scrollEl.removeEventListener('scroll', this.tableHeaderFxiedListener)
1853
+ if (tableBody) tableBody.removeEventListener('scroll', this.tableBodyScrollListener)
1854
+ }
1855
+ window.removeEventListener('click', this.updateField)
1856
+ }
1857
+ }
1858
+ </script>
1859
+
1860
+ <style scoped lang="scss">
1861
+ $paddingSize: 16px;
1862
+ .list-container {
1863
+ overflow: auto;
1864
+ &.fold {
1865
+ .list-operates {
1866
+ display: none;
1867
+ }
1868
+ .list-table {
1869
+ display: none;
1870
+ }
1871
+ .form-title-fold__icon {
1872
+ transform: rotate(180deg);
1873
+ }
1874
+ .list-note-container {
1875
+ display: none;
1876
+ }
1877
+ }
1878
+ &::v-deep {
1879
+ .el-table__header-wrapper-copy, .el-table__fixed-header-wrapper-copy {
1880
+ .caret-wrapper {
1881
+ opacity: 0;
1882
+ }
1883
+ }
1884
+ .operate-column__cell {
1885
+ .cell {
1886
+ display: flex;
1887
+ align-items: center;
1888
+ .el-table__placeholder {
1889
+ flex-shrink: 0;
1890
+ }
1891
+ }
1892
+ }
1893
+ }
1894
+ &.list-container--fixed {
1895
+ display: flex;
1896
+ flex-direction: column;
1897
+ .table {
1898
+ flex: 1;
1899
+ overflow: hidden;
1900
+ display: flex;
1901
+ flex-direction: column;
1902
+ }
1903
+ .table-checkbox-group {
1904
+ flex: 1;
1905
+ overflow: auto;
1906
+ }
1907
+ .list-table {
1908
+ height: 100%;
1909
+ overflow: auto;
1910
+ }
1911
+ }
1912
+ }
1913
+
1914
+ .search-simple {
1915
+ display: flex;
1916
+ align-items: center;
1917
+ white-space: nowrap;
1918
+ }
1919
+
1920
+ .list-table {
1921
+ background: #fff;
1922
+ // padding:0 12px;
1923
+ // 无边框
1924
+ &.no-border {
1925
+ border: 0;
1926
+ border-top: dashed 1px #e3e3e3;
1927
+ &::after {
1928
+ display: none
1929
+ }
1930
+ ::v-deep {
1931
+ th.is-leaf, td {
1932
+ border-right: 0
1933
+ }
1934
+ }
1935
+ }
1936
+ }
1937
+ .header-border{
1938
+ ::v-deep{
1939
+ td {
1940
+ border-right: 0;
1941
+ }
1942
+ }
1943
+ }
1944
+ .is-label {
1945
+ @include font_color_primary;
1946
+ cursor: pointer;
1947
+ }
1948
+ .list-operates {
1949
+ background: #fff;
1950
+ padding: $paddingSize 12px;
1951
+ display: flex;
1952
+ justify-content: space-between;
1953
+ align-items: center;
1954
+ }
1955
+ .more-table-operates {
1956
+ margin-left: 10px
1957
+ }
1958
+ .column-operates {
1959
+ display: flex;
1960
+ align-items: center;
1961
+ white-space: nowrap;
1962
+ button {
1963
+ padding: 4px 0;
1964
+ }
1965
+ button:not(:last-child) {
1966
+ &::after {
1967
+ content: '';
1968
+ position: relative;
1969
+ right: -6px;
1970
+ top:0 ;
1971
+ height: 14px;
1972
+ border-right: 1px solid #e3e3e3;
1973
+ }
1974
+ }
1975
+ }
1976
+
1977
+ .el-dropdown-link {
1978
+ cursor: pointer;
1979
+ float: left;
1980
+ width: 30px;
1981
+ height: 30px;
1982
+ border-radius: 4px;
1983
+ text-align: center;
1984
+ line-height: 30px;
1985
+ overflow: hidden;
1986
+ border: 0;
1987
+ outline: none;
1988
+ margin-left: 6px;
1989
+ &.active {
1990
+ @include bg_color_primary( 0.1);
1991
+ }
1992
+ }
1993
+
1994
+ .operate-icon {
1995
+ margin-right: 4px;
1996
+ }
1997
+
1998
+ .column-operate-btn {
1999
+ font-size: 16px;
2000
+ }
2001
+ .pagination {
2002
+ background: #fff;
2003
+ padding: $paddingSize 0;
2004
+ ::v-deep{
2005
+ .el-select {
2006
+ margin-left: 24px;
2007
+ }
2008
+ .el-pagination__total {
2009
+ float: right;
2010
+ }
2011
+ }
2012
+ }
2013
+ .field__photo {
2014
+ &::v-deep {
2015
+ .el-avatar {
2016
+ width: 32px;
2017
+ height: 32px;
2018
+ line-height: 32px;
2019
+ display: block;
2020
+ >img {
2021
+ width: 100%
2022
+ }
2023
+ }
2024
+ }
2025
+ }
2026
+ .form-title {
2027
+ padding: 6px 24px;
2028
+ position: relative;
2029
+ overflow: hidden;
2030
+ font-size: 18px;
2031
+ line-height: 36px;
2032
+ white-space: pre-wrap;
2033
+ background: #fff;
2034
+ &::after {
2035
+ content: '';
2036
+ position: absolute;
2037
+ left: -24px;
2038
+ bottom: 0;
2039
+ width: calc(100% + 48px);
2040
+ height: 1px;
2041
+ background: #e3e3e3;
2042
+ }
2043
+ .form-title-fold__icon {
2044
+ @include font_color_primary;
2045
+ font-size: 20px;
2046
+ cursor: pointer;
2047
+ transition: all .5s;
2048
+ line-height: 36px;
2049
+ margin-left: 10px;
2050
+ }
2051
+ }
2052
+
2053
+ .form-tilte__simple {
2054
+ margin-bottom: -20px;
2055
+ padding: 6px 12px 0;
2056
+ &::after {
2057
+ display: none;
2058
+ }
2059
+ .form-title-border {
2060
+ border: 0;
2061
+ padding-left: 0;
2062
+ }
2063
+ .form-title__operate {
2064
+ display: none;
2065
+ }
2066
+ .form-title-fold__icon {
2067
+ display: none;
2068
+ }
2069
+ }
2070
+ .form-title-border{
2071
+ border-left: 3px solid;
2072
+ @include border_color_primary;
2073
+ padding-left: 6px;
2074
+ }
2075
+
2076
+ .form-title-edit {
2077
+ font-size: 16px;
2078
+ line-height: 36px;
2079
+ cursor: pointer;
2080
+ @include font_color_primary;
2081
+ i {
2082
+ margin-right: 4px;
2083
+ }
2084
+ }
2085
+ .list-note-container {
2086
+ background: #fff;
2087
+ padding: 12px 10px 0;
2088
+ }
2089
+ .form-note {
2090
+ @include bg_color_primary(.2);
2091
+ @include border_color_primary;
2092
+ @include font_color_primary;
2093
+ border: 1px dashed;
2094
+ padding: 8px 12px;
2095
+ border-radius: 4px;
2096
+ white-space: pre-wrap;
2097
+ display: flex;
2098
+ align-items: center;
2099
+ >i {
2100
+ margin-right: 8px;
2101
+ font-size: 18px;
2102
+ flex-shrink: 0;
2103
+ }
2104
+ }
2105
+ </style>