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,2128 @@
1
+
2
+ <script>
3
+ import SignaturePad from 'signature_pad'
4
+ import component from '@/utils/mixins/component'
5
+ export default {
6
+ name: 'epx-add-form',
7
+ mixins: [component],
8
+ saveSuccessText: '',
9
+ updateSuccessText: '',
10
+ subAddFlag: 'v_sublist',
11
+ subComponent: 'sub-list',
12
+ saveAction: 'save',
13
+ updateAction: 'update',
14
+ backTarget: 'list', // 提交成功返回页面
15
+ editPage: 'entity-edit-page',
16
+ showCatalog: false,
17
+ catalogPosition: 'left',
18
+ catalogLoadWay: 'all',
19
+ showCatalogHeader: false,
20
+ submitParams: {}, // 提交参数
21
+ // 表单区域
22
+ titleFlag: true,
23
+ editOne: false,
24
+ column: 2,
25
+ operateFlag: true,
26
+ operates: [{ // 操作按钮
27
+ text: '保存',
28
+ ui: 'primary',
29
+ handler: 'submitForm',
30
+ option: 'pageType==="ADD"'
31
+ }, { // 操作按钮
32
+ text: '保存',
33
+ ui: 'primary',
34
+ handler: 'submitForm',
35
+ option: 'pageType==="EDIT"'
36
+ }, {
37
+ text: '编辑',
38
+ ui: 'primary',
39
+ handler: 'editEntity',
40
+ option: 'pageType==="DETAIL"'
41
+ },
42
+ {
43
+ text: '返回',
44
+ cls: 'btn_hollow',
45
+ handler: 'backPage'
46
+ }
47
+ ],
48
+ items: [
49
+ {
50
+ title: '基本信息',
51
+ id: 'form-base',
52
+ contentType: 'add-form-item'
53
+ }
54
+ ],
55
+ flex: true,
56
+ data () {
57
+ return {
58
+ operates: [],
59
+ fieldGroups: [],
60
+ data: null,
61
+ foldList: [],
62
+ componentConfigs: {},
63
+ showMobileAction: false,
64
+ editDrawer: false,
65
+ editComponent: null,
66
+ checkOptionDialogVisible: false,
67
+ option: '',
68
+ submitData: {},
69
+ submitParams: {},
70
+ formConfigs: {},
71
+ compElemMap: {},
72
+ catalogList: [],
73
+ activeIndex: '',
74
+ openCatalogId: '',
75
+ scrollTop: 0,
76
+ catalogRows: [],
77
+ componentOperateMap: {},
78
+ checkPersonList: null,
79
+ showCheckPersonDialog: false,
80
+ selectPersonList: [],
81
+ screenHeightNoChange: true,
82
+ fieldScope: null,
83
+ fieldRelation: null
84
+ }
85
+ },
86
+ computed: {
87
+ pageType () {
88
+ // 页面配置
89
+ const { pageType: defaultPageType = 'DETAIL' } = this.upPage ? this.upPage.$configs : {}
90
+ // 页面传递参数
91
+ const { pageType: queryPageType = defaultPageType } = this.upPage ? this.upPage.$query : {}
92
+ // 组件状态
93
+ const { pageType = queryPageType } = this.$configs
94
+ return pageType
95
+ },
96
+ readonly () {
97
+ return this.pageType === 'READONLY'
98
+ },
99
+ buttonFlag () {
100
+ return ({ option, action }) => {
101
+ let flag = true
102
+ // eslint-disable-next-line no-eval
103
+ if (option) flag = eval(`this.${option}`)
104
+ // eslint-disable-next-line no-eval
105
+ return flag
106
+ }
107
+ },
108
+ checkRightOperates () {
109
+ const { operates = [] } = this.$configs
110
+ const _operates = this.$_.cloneDeep(operates)
111
+ return _operates.filter(item => this.$checkOperateRight(item)).filter(item => {
112
+ if (item.operates) {
113
+ item.operates = item.operates.filter(operate => this.$checkOperateRight(operate)).filter(operate => {
114
+ return !operate.showCondition || operate.showCondition.length === 0 || this.$util.runExpByScope.call(this, operate.showCondition, this.data)
115
+ })
116
+ }
117
+ return !item.showCondition || item.showCondition.length === 0 || this.$util.runExpByScope.call(this, item.showCondition, this.data)
118
+ })
119
+ },
120
+ actionOperates () {
121
+ const { operates = [] } = this.$configs
122
+ const actionOperates = [...operates]
123
+ actionOperates.map(item => (item.name = item.text))
124
+ return actionOperates.filter(item => this.buttonFlag(item))
125
+ },
126
+ components () {
127
+ const { items = [] } = this.$component
128
+ const { showCatalog, catalogLoadWay } = this.$configs
129
+ if (showCatalog && !this.$isMobile && catalogLoadWay === 'one' && this.activeIndex) {
130
+ // 获取其组件
131
+ const findComponent = (catalogList = []) => {
132
+ for (let i = 0; i < catalogList.length; i++) {
133
+ const catalog = catalogList[i]
134
+ if (catalog.id === this.activeIndex) {
135
+ return catalog
136
+ } else {
137
+ if (catalog.children) {
138
+ const child = findComponent(catalog.children)
139
+ if (child) return child
140
+ }
141
+ }
142
+ }
143
+ }
144
+ const component = findComponent(this.catalogList)
145
+ component.id = component.id.replace(/\w+-/, '')
146
+ return [component]
147
+ }
148
+ return items.filter(item => !(this.pageType === 'ADD' && item.contentType === 'sub-list2'))
149
+ },
150
+ getComponentId () {
151
+ return component => {
152
+ if (!this.isPage) {
153
+ const { id } = this.$component
154
+ return id + '-' + component.id
155
+ }
156
+ return component.id
157
+ }
158
+ },
159
+ scopeParams () {
160
+ const { scopeParams = [] } = this.$configs
161
+ // 格式化scopeParams
162
+ const _scopeParams = this.$_.cloneDeep(scopeParams)
163
+ // eslint-disable-next-line no-unused-vars
164
+ const that = this
165
+ for (const scopeKey in _scopeParams) {
166
+ const scope = _scopeParams[scopeKey]
167
+ if (!scope) continue
168
+ let values = scope.values
169
+ if (/\$\[(.+)\]/.test(values)) {
170
+ values = values.replace(/\$\[(.+)\]/, (match, key) => {
171
+ try {
172
+ // eslint-disable-next-line no-eval
173
+ return eval(`that.$query.${key}`) || eval(`that.$tab.${key}`) || eval(`that.${key}`) || ''
174
+ } catch (error) {
175
+ return scope.values
176
+ }
177
+ })
178
+ }
179
+ if (/#\{(.+)\}/.test(values)) {
180
+ values = values.replace(/#\{(.+)\}/, (match, key) => {
181
+ try {
182
+ // eslint-disable-next-line no-eval
183
+ return eval(`that.$query.${key}`) || eval(`that.$tab.${key}`) || ''
184
+ } catch (error) {
185
+ return scope.values
186
+ }
187
+ })
188
+ }
189
+ scope.values = values
190
+ }
191
+ return _scopeParams
192
+ }
193
+ },
194
+ watch: {
195
+ checkRightOperates: {
196
+ handler (v) {
197
+ this.getOperates()
198
+ }
199
+ },
200
+ checkOptionDialogVisible (v) {
201
+ if (v) {
202
+ this.$nextTick(() => {
203
+ const signatureContainer = this.$refs.signatureContainer
204
+ const signature = this.$refs.signature
205
+ signature.width = signatureContainer.offsetWidth
206
+ signature.height = signatureContainer.offsetHeight
207
+ this.signaturePad = new SignaturePad(signature)
208
+ })
209
+ }
210
+ },
211
+ data (v) {
212
+ this.$event.emit('set-form-data', v)
213
+ }
214
+ },
215
+ methods: {
216
+ beforeCreateComponent () {
217
+ this.$options.style = { margin: 0 }
218
+ },
219
+ init () {
220
+ // this.getOperates()
221
+ this.getFieldScope()
222
+ this.getFieldRelation()
223
+ this.getData()
224
+ },
225
+ async getOperates () {
226
+ let _operates = []
227
+ for (let i = 0; i < this.checkRightOperates.length; i++) {
228
+ const operate = this.checkRightOperates[i]
229
+ const flag = this.buttonFlag(operate)
230
+ // 审核操作
231
+ if (!flag) continue
232
+ if (operate.handler === 'checkEntity') {
233
+ // 获取审核按钮
234
+ const checkOperates = await this.getCheckOperateList(operate)
235
+ _operates = [..._operates, ...checkOperates]
236
+ } else {
237
+ _operates.push(operate)
238
+ }
239
+ }
240
+ const httpLoading = {}
241
+ _operates.forEach(item => {
242
+ httpLoading[item.handler + '-' + item.text] = false
243
+ })
244
+ this.httpLoading = httpLoading
245
+ this.operates = _operates
246
+ },
247
+ async getCheckOperateList (operate) {
248
+ const { taskId, viewDetail } = this.$query
249
+ if (viewDetail) return Promise.resolve([])
250
+ const params = {
251
+ action: 'getTaskDestFlow',
252
+ entityId: 'ACT_RU_EXECUTION',
253
+ id: this.$query.id,
254
+ currentMetaId: this.$metaId
255
+ }
256
+ if (taskId) {
257
+ params.taskId = taskId
258
+ }
259
+ return this.$http.get(params)
260
+ .then(data => {
261
+ return Promise.resolve(data.map(item => ({ ...operate, text: item.name || item.id, destActivityId: item.id })))
262
+ })
263
+ .catch(() => {
264
+ return Promise.resolve([])
265
+ })
266
+ },
267
+ getFieldScope () {
268
+ const { role } = this.$route.params
269
+ this.$http.get({
270
+ action: 'getEntityRoleFieldScope',
271
+ entityId: 'FM_ROLE_FIELDSCOPE',
272
+ metaId: this.$metaId,
273
+ roleCode: role
274
+ })
275
+ .then(data => {
276
+ this.fieldScope = data || {}
277
+ })
278
+ },
279
+ getFieldsConfigs () {
280
+ const { fieldGroups, fieldConfigs = {} } = this.$configs
281
+ const { fieldConfigs: routeFieldConfigs = {} } = this.$query
282
+ if (!fieldGroups || fieldGroups.length === 0) {
283
+ fieldGroups.push({
284
+ title: this.$t('basic information')
285
+ })
286
+ }
287
+ fieldGroups.forEach(async (item, index) => {
288
+ // 生成字段配置
289
+ if (item.contentType) {
290
+ this.$set(this.fieldGroups, index, { ...item })
291
+ } else {
292
+ this.$FieldFactory.createFields({
293
+ defaultFieldConfigs: { ...routeFieldConfigs, ...fieldConfigs },
294
+ meta: this.$meta,
295
+ metaId: this.$metaId,
296
+ pageType: item.pageType || this.pageType,
297
+ fields: item.children
298
+ })
299
+ .then(data => {
300
+ this.$set(this.fieldGroups, index, { ...item, children: [...data] })
301
+ })
302
+ }
303
+ })
304
+ },
305
+ getFieldRelation () {
306
+ const { config = {} } = this.upPage ? this.upPage.page || {} : {}
307
+ const { link = '', catalogRows = [], catalogIconField = [] } = this.$configs
308
+ let linkArr = []
309
+ if (link) {
310
+ linkArr = link.split(',')
311
+ }
312
+ const itemConfigs = config.itemConfigs || {}
313
+ const { id: compId } = this.$component
314
+ const getLink = (field = '') => {
315
+ if ((field.attriName || field).includes('|')) {
316
+ const arr = (field.attriName || field).split('|')
317
+ arr.pop()
318
+ var flags = []
319
+ arr.forEach((flag, index) => {
320
+ if (index > 0) {
321
+ flags.push(flags[index - 1] + '#' + flag.toLowerCase())
322
+ } else {
323
+ flags.push(flag.toLowerCase())
324
+ }
325
+ })
326
+ flags.forEach(flag => {
327
+ if (!linkArr.includes(flag)) {
328
+ linkArr.push(flag)
329
+ }
330
+ })
331
+ }
332
+ }
333
+
334
+ catalogIconField.forEach(getLink)
335
+ catalogRows.forEach(rowItem => rowItem.forEach(getLink))
336
+ // 获取所有子集和配置
337
+ this.components.forEach(component => {
338
+ const itemConfig = itemConfigs[compId + '-' + component.id] || {}
339
+ const compConfig = { ...(component.configs || {}), ...itemConfig }
340
+ const { fields = [], rows = [], iconFields = [] } = compConfig
341
+
342
+ fields.forEach(getLink)
343
+ iconFields.forEach(getLink)
344
+ rows.forEach(rowItem => rowItem.forEach(getLink))
345
+ })
346
+ this.$http.get({
347
+ action: 'getFieldRelation',
348
+ entityId: 'FM_ATTRIBUTE_RELATION',
349
+ metaId: this.$metaId,
350
+ link: linkArr.join(',')
351
+ })
352
+ .then(data => {
353
+ this.fieldRelation = data.field_relation
354
+ })
355
+ },
356
+ getComponent (id, component) {
357
+ this.$set(this.componentConfigs, id, component.configs)
358
+ },
359
+ getData () {
360
+ // 获取关联
361
+ const query = this.$query || (this.upPage ? this.upPage.$query : {})
362
+ const { config = {} } = this.upPage ? this.upPage.page || {} : {}
363
+ const { id, defaultValue = {}, initData = {} } = query
364
+ const { link = '', queryParams = {}, action = 'get', catalogRows = [], catalogIconField = [] } = this.$configs
365
+ const newQueryParams = this.$formatParams(queryParams)
366
+ const params = {
367
+ action,
368
+ entityId: this.$metaId,
369
+ id: id
370
+ }
371
+ if (this.scopeParams && this.scopeParams.length > 0) params.scopeParams = JSON.stringify(this.scopeParams)
372
+ let linkArr = []
373
+ if (link) {
374
+ linkArr = link.split(',')
375
+ }
376
+ const itemConfigs = config.itemConfigs || {}
377
+ const { id: compId } = this.$component
378
+ const getLink = (field = '') => {
379
+ if ((field.attriName || field).includes('|')) {
380
+ const arr = (field.attriName || field).split('|')
381
+ arr.pop()
382
+ var flags = []
383
+ arr.forEach((flag, index) => {
384
+ if (index > 0) {
385
+ flags.push(flags[index - 1] + '#' + flag.toLowerCase())
386
+ } else {
387
+ flags.push(flag.toLowerCase())
388
+ }
389
+ })
390
+ flags.forEach(flag => {
391
+ if (!linkArr.includes(flag)) {
392
+ linkArr.push(flag)
393
+ }
394
+ })
395
+ }
396
+ }
397
+
398
+ catalogIconField.forEach(getLink)
399
+ catalogRows.forEach(rowItem => rowItem.forEach(getLink))
400
+ // 获取所有子集和配置
401
+ this.components.forEach(component => {
402
+ const itemConfig = itemConfigs[compId + '-' + component.id] || {}
403
+ const compConfig = { ...(component.configs || {}), ...itemConfig }
404
+ const { fields = [], rows = [], iconFields = [] } = compConfig
405
+
406
+ fields.forEach(getLink)
407
+ iconFields.forEach(getLink)
408
+ rows.forEach(rowItem => rowItem.forEach(getLink))
409
+ })
410
+ if (linkArr.length > 0) params.link = linkArr.join(',')
411
+ if (this.pageType === 'ADD') {
412
+ params.action = 'getDefault'
413
+ delete params.id
414
+ } else if (this.$query.noSubmit === true) {
415
+ this.data = { ...initData, ...this.$query.data }
416
+ return
417
+ }
418
+ this.$http.$post({ ...params, ...newQueryParams })
419
+ .then(res => {
420
+ const data = this.data || {}
421
+ if (res.data) {
422
+ this.data = { ...initData, ...data, ...res.data }
423
+ }
424
+ if (defaultValue && this.pageType === 'ADD') {
425
+ this.data = { ...defaultValue, ...this.data }
426
+ }
427
+ })
428
+ .catch((err) => {
429
+ console.error(err)
430
+ this.data = {}
431
+ })
432
+ },
433
+ /**
434
+ * 页面跳转
435
+ * @param num 选中记录数(1,必须选中且只能选中一条记录;n:必须选中至少一条记录;0不需要选中记录)
436
+ * @param pageFlag 目标页面的标识符
437
+ * @param metaId 目标页面的对象
438
+ * @param openMode 打开方式
439
+ * @param params #[列表对象的某字段名]",(如果是选中的多条记录,将字段值拼成一个字符串,用逗号隔开) "$[当前页面的某变量名]"
440
+ * @param comfirmMsg 操作提交之前的确认信息(如果为空,就不需要确认)
441
+ */
442
+ goPage ({ pageFlag, metaId = this.$metaId, num = 0, openMode = '3', component, pageId, menuId, pageType, confirmMsg = null, confirmButtonText, params = {} }) {
443
+ // eslint-disable-next-line no-unused-vars
444
+ const that = this
445
+ const formatParams = {}
446
+ const _params = { ...params }
447
+ // 检测是否选中元素
448
+ if (!_params.id) {
449
+ _params.id = `#[${this.$metaKey}]`
450
+ }
451
+ // 格式化params
452
+ for (const key in _params) {
453
+ let value = _params[key]
454
+ if (/\$\[(.+)\]/.test(_params[key])) {
455
+ try {
456
+ const valueKey = _params[key].replace(/\$\[(.+)\]/, (match, key) => key)
457
+ // eslint-disable-next-line no-eval
458
+ value = eval(`that.${valueKey}`) || eval(`that.$query.${valueKey}`) || ''
459
+ } catch (err) {
460
+ value = ''
461
+ }
462
+ }
463
+ if (/#\{(.+)\}/.test(_params[key])) {
464
+ try {
465
+ const valueKey = _params[key].replace(/#\{(.+)\}/, (match, key) => key)
466
+ // eslint-disable-next-line no-eval
467
+ value = eval(`that.${valueKey}`) || eval(`that.$query.${valueKey}`) || ''
468
+ } catch (err) {
469
+ value = ''
470
+ }
471
+ }
472
+ if (/#\[(.+)\]/.test(_params[key])) {
473
+ value = _params[key].replace(/#\[(.+)\]/, (match, key) => {
474
+ return this.data[key] || ''
475
+ })
476
+ }
477
+ formatParams[key] = value
478
+ }
479
+ // 提交方法
480
+ const submitFn = () => {
481
+ this.$createPage({
482
+ flag: pageFlag,
483
+ metaId: metaId,
484
+ pageId,
485
+ menuId,
486
+ openType: openMode,
487
+ component,
488
+ pageType,
489
+ ...formatParams
490
+ })
491
+ }
492
+ if (confirmMsg) {
493
+ this.$confirm(confirmMsg, this.$t('hint'), {
494
+ confirmButtonText: confirmButtonText || this.$t('determine'),
495
+ cancelButtonText: this.$t('cancel'),
496
+ type: 'warning'
497
+ }).then(() => {
498
+ submitFn()
499
+ })
500
+ } else {
501
+ submitFn()
502
+ }
503
+ },
504
+ $refesh () {
505
+ this.getData()
506
+ },
507
+ reloadData () {
508
+ this.getData()
509
+ },
510
+ foldFn (key) {
511
+ const index = this.foldList.indexOf(key)
512
+ if (index === -1) {
513
+ this.foldList.push(key)
514
+ } else {
515
+ this.foldList.splice(index, 1)
516
+ }
517
+ },
518
+ editEntity () {
519
+ // 获取当前metaId和flag
520
+ const { flag: defaultFlag, pageId, isSub, fieldConfigs, parentId } = this.upPage.$query
521
+ const { editPageFlag = defaultFlag, editPage } = this.$configs
522
+ let key = 'ID'
523
+ if (this.$meta) {
524
+ key = this.$meta.getKey()
525
+ }
526
+ const query = {
527
+ metaId: this.$metaId,
528
+ flag: editPageFlag,
529
+ pageType: 'EDIT',
530
+ pageId,
531
+ component: editPage,
532
+ id: this.data[key],
533
+ isSub,
534
+ fieldConfigs,
535
+ parentId,
536
+ callback: this.getData
537
+ }
538
+ this.$createPage({
539
+ ...query
540
+ })
541
+ },
542
+ getProcessPeople (params) {
543
+ return this.$http.$post(params, {
544
+ requestKey: 'process'
545
+ })
546
+ .then(data => {
547
+ return data.entityList
548
+ })
549
+ .catch(err => {
550
+ this.$message.error(err.message)
551
+ })
552
+ },
553
+ async applyEntity (buttonConfig) {
554
+ const { submitParams: querySumitParams = {}, processCode: queryProcessCode = '' } = this.upPage.$query
555
+ const { submitParams: pageSubmitParams = {}, saveSuccessText, processCode: pageProcessCode = queryProcessCode, startNode: pageStartNode = '', applyAction = 'apply' } = this.$configs
556
+ const { processCode = pageProcessCode, processNode = '', startNode = pageStartNode, result = '1', action = applyAction, params: configParams, afterTrigger, afterTriggerPage, afterTriggerParams, processOptional = false, mask } = buttonConfig
557
+ let params = {
558
+ action,
559
+ entityId: this.$metaId,
560
+ processCode
561
+ }
562
+ if (processNode) {
563
+ params.destActivityId = processNode
564
+ } else {
565
+ params.startNode = startNode
566
+ params.result = result
567
+ }
568
+ params = { ...params, ...this.$formatParams(configParams) }
569
+ // 从各自表单获取数据
570
+ const formParams = this.getFormData(buttonConfig)
571
+ const submitParams = this.$_.assignWith(this.$formatParams(pageSubmitParams), formParams, (pageSubmitValue, formValue) => {
572
+ return formValue || pageSubmitValue
573
+ })
574
+
575
+ if (!formParams) return
576
+ if (processOptional && this.selectPersonList.length === 0) {
577
+ const personList = await this.getProcessPeople({ ...params, action: 'getAssignUserList', entityId: this.$metaId })
578
+ this.checkPersonList = [...personList]
579
+ this.showCheckPersonDialog = true
580
+ this.applyButtonConfig = buttonConfig
581
+ return
582
+ }
583
+ if (this.isRequesting) return
584
+ this.isRequesting = true
585
+ let loading = null
586
+ if (mask) {
587
+ loading = this.$loading({
588
+ target: this.$el,
589
+ background: 'rgba(255, 255, 255, 0.5)',
590
+ text: this.$t('Operating, please wait...')
591
+ })
592
+ }
593
+ this.$http.apply({
594
+ ...params,
595
+ ...this.submitParams,
596
+ ...querySumitParams,
597
+ ...submitParams,
598
+ assigneeUser: this.selectPersonList.join(',')
599
+ }, {
600
+ requestKey: 'process'
601
+ })
602
+ .then(data => {
603
+ this.selectPersonList = []
604
+ this.$message.success(saveSuccessText)
605
+ this.isRequesting = false
606
+ if (loading) loading.close()
607
+ if (afterTrigger) {
608
+ this[afterTrigger]({ pageId: afterTriggerPage, params: afterTriggerParams })
609
+ } else {
610
+ this.backPage()
611
+ }
612
+ })
613
+ .catch(err => {
614
+ this.$message.error(err.message || this.$t('deal with failure'))
615
+ this.isRequesting = false
616
+ if (loading) loading.close()
617
+ })
618
+ },
619
+ dataURLtoFile (dataurl) {
620
+ var arr = dataurl.split(','); var mime = arr[0].match(/:(.*?);/)[1]
621
+ var bstr = atob(arr[1]); var n = bstr.length; var u8arr = new Uint8Array(n)
622
+ while (n--) {
623
+ u8arr[n] = bstr.charCodeAt(n)
624
+ }
625
+ const blob = new Blob([u8arr], { type: mime })
626
+
627
+ return new File([blob], 'signature.png', { type: mime })
628
+ },
629
+ uploadSign (signUrl) {
630
+ const file = this.dataURLtoFile(signUrl)
631
+ return this.$http.$post({
632
+ action: 'upload',
633
+ file
634
+ }, {
635
+ requestType: 'formData'
636
+ })
637
+ },
638
+ check (operate) {
639
+ this.checkEntity(operate)
640
+ },
641
+ async checkEntity (operate) {
642
+ const { action = 'handleTask', destActivityId, params: buttonParams = {}, openOpinion = true, checkSign = true, opinionRequire = false, signRequire = false, confirmMsg = '', confirmButtonText, mask, afterTrigger, afterTriggerParams, afterTriggerPage } = operate
643
+ const { submitParams: pageSubmitParams = {}, checkEntityId = this.$metaId, checkSuccessText } = this.$configs
644
+ const { taskId, callback } = this.$query
645
+ let signFile = null
646
+ const formParams = this.getFormData(operate)
647
+ if (!formParams) return
648
+ // 判断是否有弹窗
649
+ if (openOpinion && !this.checkOptionDialogVisible) {
650
+ this.checkOptionDialogVisible = operate
651
+ return
652
+ }
653
+ if (openOpinion && checkSign && this.signaturePad) {
654
+ // 获取是否需要签名
655
+ const isEmptySign = this.signaturePad.isEmpty()
656
+ if (!isEmptySign) {
657
+ const checkSignUrl = this.signaturePad.toDataURL()
658
+ const data = await this.uploadSign(checkSignUrl)
659
+ signFile = data.bean
660
+ }
661
+ }
662
+ if (openOpinion && opinionRequire && !this.option) {
663
+ // 必填校验
664
+ this.$message.error('请填写审核意见')
665
+ return
666
+ }
667
+ if (checkSign && signRequire && !signFile) {
668
+ this.$message.error('请填写签名字段')
669
+ return
670
+ }
671
+
672
+ const submitParams = this.$_.assignWith(this.$formatParams({ ...pageSubmitParams, ...buttonParams }), formParams, (pageSubmitValue, formValue) => {
673
+ return formValue || pageSubmitValue
674
+ })
675
+ const params = {
676
+ action,
677
+ entityId: checkEntityId,
678
+ currentMetaId: this.$metaId,
679
+ id: this.$query.id,
680
+ destActivityId,
681
+ ...submitParams
682
+ }
683
+ if (taskId) {
684
+ params.taskId = taskId
685
+ }
686
+
687
+ const submitFn = () => {
688
+ if (this.isRequesting) return
689
+ this.isRequesting = true
690
+ let loading = null
691
+ if (mask) {
692
+ loading = this.$loading({
693
+ target: document.body,
694
+ background: 'rgba(255, 255, 255, 0.5)',
695
+ text: this.$t('Operating, please wait...')
696
+ })
697
+ }
698
+ this.$http.$post({
699
+ action,
700
+ entityId: this.$metaId,
701
+ ...params,
702
+ 'check.MESSAGE': this.option,
703
+ 'check.SIGN': signFile
704
+ }, {
705
+ requestKey: 'process'
706
+ })
707
+ .then(data => {
708
+ this.isRequesting = false
709
+ this.$message.success(checkSuccessText || this.$t('handle a successful'))
710
+ this.checkOptionDialogVisible = false
711
+ if (loading) loading.close()
712
+ if (afterTrigger) {
713
+ this[afterTrigger]({ pageId: afterTriggerPage, params: afterTriggerParams })
714
+ } else {
715
+ this.backPage({
716
+ callback () {
717
+ callback && callback(data)
718
+ }
719
+ })
720
+ }
721
+ })
722
+ .catch(err => {
723
+ this.isRequesting = false
724
+ this.$message.error(err.message || this.$t('deal with failure'))
725
+ if (loading) loading.close()
726
+ })
727
+ }
728
+ if (confirmMsg) {
729
+ this.$confirm(confirmMsg, this.$t('hint'), {
730
+ confirmButtonText: confirmButtonText || this.$t('determine'),
731
+ cancelButtonText: this.$t('cancel'),
732
+ type: 'warning'
733
+ }).then(() => {
734
+ submitFn()
735
+ })
736
+ } else {
737
+ submitFn()
738
+ }
739
+ },
740
+ editApplyEntity () {
741
+ const { applyPageFlag = 'v_edit_apply' } = this.$configs
742
+ let key = 'ID'
743
+ if (this.$meta) {
744
+ key = this.$meta.getKey()
745
+ }
746
+ const query = {
747
+ metaId: this.$metaId,
748
+ flag: applyPageFlag,
749
+ pageType: 'EDIT',
750
+ component: 'entity-edit-apply',
751
+ id: this.data[key]
752
+ }
753
+ this.$createPage({
754
+ ...query
755
+ })
756
+ },
757
+ getFormData (operate) {
758
+ let submitFlag = true
759
+ let params = {}
760
+ const { fieldConfigs = {} } = this.$query
761
+ for (const key in fieldConfigs) {
762
+ const field = fieldConfigs[key]
763
+ if (field.attriName && field.value) {
764
+ params[`bean.${field.attriName}`] = field.value
765
+ }
766
+ }
767
+ // 获取formItemData
768
+ Object.keys(this.$refs).forEach(key => {
769
+ if (key.includes('component-')) {
770
+ const component = this.$refs[key].$refs.component
771
+ const form = component.$refs.form
772
+ if (component && form) {
773
+ const { hiddenFields = [] } = component.configs
774
+ hiddenFields.forEach(field => {
775
+ if (field.attriName && field.value) {
776
+ params[`bean.${field.attriName}`] = field.value
777
+ }
778
+ })
779
+ if (component.componentType === 'ADD' || component.componentType === 'EDIT') {
780
+ form.validate((valid, err) => {
781
+ if (!valid && operate.validateForm !== false) {
782
+ for (const key in err) {
783
+ const errMessgae = err[key][0]
784
+ this.$message.error(errMessgae.message)
785
+ submitFlag = false
786
+ return
787
+ }
788
+ }
789
+ })
790
+ }
791
+ for (const field in form.model.data) {
792
+ const formValue = form.model.data[field]
793
+ const fieldsConfigs = component.fieldsConfigs || []
794
+ if (!field.includes('#')) {
795
+ let submitValue = formValue
796
+ const fieldConfigs = fieldsConfigs.find(item => item.attriName === field) || {}
797
+ if (Array.isArray(formValue)) {
798
+ submitValue = formValue[formValue.length - 1]
799
+ }
800
+ this.submitData[field] = submitValue || ''
801
+ if (fieldConfigs.state === 'READONLY' || fieldConfigs.state === 'HIDDEN-READONLY' || (fieldConfigs.dataType === 'password' && !submitValue)) continue
802
+ params[fieldConfigs.name || `bean.${field}`] = submitValue || ''
803
+ }
804
+ }
805
+ const fieldsConfigs = component.fieldsConfigs || []
806
+ fieldsConfigs.forEach(field => {
807
+ if (field.state === 'HIDDEN' && field.isDateNow) {
808
+ this.submitData[field] = this.$moment().format('YYYY-MM-DD HH:mm:ss')
809
+ params[`bean.${field.attriName}`] = this.$moment().format('YYYY-MM-DD HH:mm:ss')
810
+ }
811
+ })
812
+ }
813
+ }
814
+ })
815
+ params = this.$formatParams({ ...params })
816
+ if (this.data.subEntitys) {
817
+ params.subEntitys = this.data.subEntitys
818
+ }
819
+ return submitFlag ? params : false
820
+ },
821
+ getCatalogList () {
822
+ const { id, items = [] } = this.$component
823
+ const formatCatalog = (parent, item) => {
824
+ const id = parent + '-' + item.id
825
+ const children = item.items ? item.items.map(catalog => formatCatalog(id, catalog)) : []
826
+ return { ...item, contentType: item.contentType, id, title: item.title, children }
827
+ }
828
+ this.catalogList = items.map(item => formatCatalog(id, item))
829
+ this.activeIndex = this.catalogList[0].id
830
+ },
831
+ initComponent () {
832
+ this.getCatalogFields()
833
+ },
834
+ // 获取字段配置,生成columns
835
+ getCatalogFields () {
836
+ const { fieldConfigs = {}, catalogRows = [] } = this.$configs
837
+ // 获取rows
838
+ const fields = [].concat(...catalogRows)
839
+ this.$FieldFactory.createFields({
840
+ defaultFieldConfigs: fieldConfigs,
841
+ fields: fields,
842
+ meta: this.$meta
843
+ })
844
+ .then(data => {
845
+ this.catalogRows = catalogRows.map(row => {
846
+ return row.map(field => {
847
+ const item = data.find(item => item.attriName === (field.attriName || field))
848
+ if (item) return item
849
+ else return field
850
+ })
851
+ })
852
+ })
853
+ },
854
+ getCompElems (vnode) {
855
+ const compElems = []
856
+ for (let i = 0; i < this.catalogList.length; i++) {
857
+ const item = this.catalogList[i]
858
+ const elemId = item.id
859
+ const elem = this.$getPageComponent(elemId)
860
+ if (elem) {
861
+ compElems.push({ elem, item })
862
+ }
863
+ if (item.children) {
864
+ for (let i = 0; i < item.children.length; i++) {
865
+ const child = item.children[i]
866
+ const elemId = child.id
867
+ const elem = this.$getPageComponent(elemId)
868
+ if (elem) {
869
+ compElems.push({ elem, item: child, upId: item.id })
870
+ }
871
+ }
872
+ }
873
+ }
874
+ return compElems
875
+ },
876
+ openComponent (id, event) {
877
+ event.stopPropagation()
878
+ this.openCatalogId = this.openCatalogId === id ? '' : id
879
+ },
880
+ compAnchor (id) {
881
+ // 获取组件所在位置
882
+ this.activeIndex = id
883
+ let elem = null
884
+ if (this.compElemMap[id]) {
885
+ elem = this.compElemMap[id]
886
+ } else if (this.compElemArr) {
887
+ const component = this.compElemArr.find(item => {
888
+ return item.item.id === id
889
+ })
890
+ elem = component.elem
891
+ if (elem) {
892
+ this.compElemMap[id] = elem
893
+ // this.$refs.scroll.scrollTop = elem.$el.offsetTop - 60
894
+ }
895
+ } else {
896
+ const elemId = id
897
+ elem = this.$getPageComponent(elemId)
898
+ this.compElemMap[id] = elem
899
+ // this.$refs.scroll.scrollTop = elem.$el.offsetTop - 60
900
+ }
901
+ this.upPage.$el.scrollTop = elem.$el.offsetTop - 120
902
+ },
903
+ addScrollListener () {
904
+ const scrollContainer = this.upPage.$el
905
+ if (scrollContainer) {
906
+ this.scrollTop = scrollContainer.scrollTop
907
+ scrollContainer.addEventListener('scroll', () => {
908
+ const scrollTop = scrollContainer.scrollTop
909
+ this.scrollTop = scrollTop
910
+ if (!this.compElemArr) {
911
+ this.compElemArr = this.getCompElems()
912
+ return
913
+ }
914
+ const distance = []
915
+ this.compElemArr.forEach(item => {
916
+ distance.push({
917
+ ...item,
918
+ dis: Math.abs(item.elem.$el.offsetTop - scrollTop)
919
+ })
920
+ })
921
+ distance.sort((a, b) => a.dis - b.dis)
922
+ const item = distance[0].item
923
+ this.activeIndex = item.id
924
+ this.scrollTop = scrollTop
925
+ // 指定元素选中
926
+ if (item.id) {
927
+ this.activeItem = item.id
928
+ if (distance[0].upId) {
929
+ this.openCatalogId = distance[0].upId
930
+ }
931
+ }
932
+ })
933
+ }
934
+ // }
935
+ },
936
+ validateForm () {
937
+ let submitFlag = true
938
+ Object.keys(this.$refs).forEach(key => {
939
+ if (key.includes('component-')) {
940
+ const component = this.$refs[key].$refs.component
941
+ const form = component.$refs.form
942
+ if (component && form) {
943
+ form.validate((valid, err) => {
944
+ if (!valid) {
945
+ for (const key in err) {
946
+ const errMessgae = err[key][0]
947
+ this.$message.error(errMessgae.message)
948
+ submitFlag = false
949
+ return
950
+ }
951
+ }
952
+ })
953
+ }
954
+ }
955
+ })
956
+ return submitFlag
957
+ },
958
+ submitForm (buttonConfig = {}, cb, errorFn) {
959
+ const { submitParams: querySumitParams = {}, callback, submitBackPage = true } = this.$query
960
+ const { submitParams: pageSubmitParams = {}, saveSuccessText, updateSuccessText, saveAction, updateAction } = this.$configs
961
+ const { action = saveAction, params: buttonParams = {}, text, mask } = buttonConfig
962
+ const params = {
963
+ action,
964
+ entityId: this.$metaId
965
+ }
966
+ if (this.data[this.$metaKey]) {
967
+ params[`bean.${this.$metaKey}`] = this.data[this.$metaKey]
968
+ }
969
+ // 获取form表单 提交
970
+ const formParams = this.getFormData(buttonConfig)
971
+ let submitParams = this.$_.assignWith(this.$formatParams(pageSubmitParams), formParams, (pageSubmitValue, formValue) => {
972
+ return formValue || pageSubmitValue
973
+ })
974
+ submitParams = this.$_.assignWith(submitParams, this.submitParams, (submitValue, _submitValue) => {
975
+ return submitValue || _submitValue
976
+ })
977
+ if (!formParams) return
978
+ if (this.$query.noSubmit === true) {
979
+ const data = { ...this.data, ...this.submitData }
980
+ return this.backPage({
981
+ callback () {
982
+ callback && callback(data)
983
+ }
984
+ })
985
+ }
986
+ if (this.pageType === 'EDIT' && this.data[this.$metaKey]) params.action = updateAction
987
+ this.$set(this.httpLoading, 'submitForm-' + text, true)
988
+ let loading = null
989
+ if (mask) {
990
+ loading = this.$loading({
991
+ target: this.$el,
992
+ background: 'rgba(255, 255, 255, 0.5)',
993
+ text: this.$t('Operating, please wait...')
994
+ })
995
+ }
996
+ this.$http.save({
997
+ ...params,
998
+ ...querySumitParams,
999
+ ...submitParams,
1000
+ ...this.submitParams,
1001
+ ...this.$formatParams(buttonParams)
1002
+ })
1003
+ .then(data => {
1004
+ this.$set(this.httpLoading, 'submitForm-' + text, false)
1005
+ const entity = { ...this.data, ...this.submitData }
1006
+ if (this.pageType === 'ADD') entity[this.$metaKey] = data
1007
+ entity.id = entity[this.$metaKey]
1008
+ entity.name = this.$meta ? entity[this.$meta.label] : ''
1009
+ if (loading) loading.close()
1010
+ this.$message.success(this.pageType === 'EDIT' ? updateSuccessText : saveSuccessText)
1011
+ if (cb && typeof cb === 'function') {
1012
+ cb(entity)
1013
+ } else {
1014
+ if (submitBackPage) {
1015
+ this.backPage({
1016
+ // reload: true,
1017
+ callback () {
1018
+ callback && callback(entity)
1019
+ }
1020
+ })
1021
+ } else {
1022
+ callback && callback(entity)
1023
+ }
1024
+ }
1025
+ })
1026
+ .catch(err => {
1027
+ this.$set(this.httpLoading, 'submitForm-' + text, false)
1028
+ if (loading) loading.close()
1029
+ this.$message.error(err.message || this.$t('deal with failure'))
1030
+ if (errorFn) errorFn(err)
1031
+ })
1032
+ },
1033
+ /**
1034
+ * 通用请求
1035
+ * @param action 请求命令
1036
+ * @param metaId 请求对象,默认为当前页面对象
1037
+ * @param num 选中记录数(1,必须选中且只能选中一条记录;n:必须选中至少一条记录;0不需要选中记录)
1038
+ * @param comfirmMsg 操作提交之前的确认信息(如果为空,就不需要确认)
1039
+ * @param params #[列表对象的某字段名]",(如果是选中的多条记录,将字段值拼成一个字符串,用逗号隔开) "$[当前页面的某变量名]"
1040
+ * @param successMsg 操作成功的提示
1041
+ * @param failMsg 操作失败的提示
1042
+ * @param row 操作的列
1043
+ */
1044
+ commonAction ({ action, rule, metaId = this.$metaId, text, num = 0, confirmMsg = null, confirmButtonText, mask = false, validateForm = true, params = {}, successMsg = this.$t('handle a successful'), failMsg = this.$t('deal with failure'), afterTrigger, afterTriggerPage, afterTriggerParams }, row) {
1045
+ // eslint-disable-next-line no-unused-vars
1046
+ const that = this
1047
+ const formatParams = {}
1048
+ // 格式化params
1049
+ for (const key in params) {
1050
+ let value = params[key]
1051
+ if (/\$\[(.+)\]/.test(params[key])) {
1052
+ value = params[key].replace(/\$\[(.+)\]/, (match, key) => {
1053
+ // eslint-disable-next-line no-eval
1054
+ return eval(`that.${key}`) || eval(`that.$query.${key}`)
1055
+ })
1056
+ }
1057
+ if (/#\[(.+)\]/.test(params[key])) {
1058
+ value = params[key].replace(/#\[(.+)\]/, (match, key) => {
1059
+ return this.data[key]
1060
+ })
1061
+ }
1062
+ formatParams[key] = value
1063
+ }
1064
+
1065
+ // 提交方法
1066
+ const submitFn = () => {
1067
+ const formParams = this.getFormData({ validateForm })
1068
+ if (!formParams) return
1069
+ this.$set(this.httpLoading, 'commonAction-' + text, true)
1070
+ let loading = null
1071
+ if (mask) {
1072
+ loading = this.$loading({
1073
+ target: this.$el,
1074
+ background: 'rgba(255, 255, 255, 0.5)',
1075
+ text: this.$t('Operating, please wait...')
1076
+ })
1077
+ }
1078
+ this.$http.$post({
1079
+ action,
1080
+ entityId: metaId,
1081
+ rule,
1082
+ ...formatParams,
1083
+ ...formParams
1084
+ })
1085
+ .then(() => {
1086
+ this.$set(this.httpLoading, 'commonAction-' + text, false)
1087
+ if (loading) loading.close()
1088
+ this.$message.success(successMsg)
1089
+ if (afterTrigger) {
1090
+ this[afterTrigger]({ pageId: afterTriggerPage, params: afterTriggerParams })
1091
+ } else {
1092
+ this.backPage()
1093
+ }
1094
+ })
1095
+ .catch(err => {
1096
+ this.$set(this.httpLoading, 'commonAction-' + text, false)
1097
+ if (loading) loading.close()
1098
+ this.$message.error(err.message || failMsg)
1099
+ })
1100
+ }
1101
+ // 判断是否需要确认弹窗
1102
+ if (confirmMsg) {
1103
+ this.$confirm(confirmMsg, this.$t('hint'), {
1104
+ confirmButtonText: confirmButtonText || this.$t('determine'),
1105
+ cancelButtonText: this.$t('cancel'),
1106
+ type: 'warning'
1107
+ }).then(() => {
1108
+ submitFn()
1109
+ })
1110
+ } else {
1111
+ submitFn()
1112
+ }
1113
+ },
1114
+ /**
1115
+ * 通用打印
1116
+ */
1117
+ print ({ num = 1, printWay = 'custom', printCode = '', cptName = '', params = {}, ...props }, row) {
1118
+ // eslint-disable-next-line no-unused-vars
1119
+ const that = this
1120
+ // 格式化params
1121
+ const formatParams = {}
1122
+ // 添加主键
1123
+ if (!params.id) params.id = `#[${this.$metaKey}]`
1124
+ for (const key in params) {
1125
+ let value = params[key]
1126
+ if (/\$\[(.+)\]/.test(params[key])) {
1127
+ value = params[key].replace(/\$\[(.+)\]/, (match, key) => {
1128
+ // eslint-disable-next-line no-eval
1129
+ return eval(`that.${key}`) || eval(`that.$query.${key}`) || eval(`that.$tab.${key}`) || ''
1130
+ })
1131
+ }
1132
+ if (/#\[(.+)\]/.test(params[key])) {
1133
+ value = params[key].replace(/#\[(.+)\]/, (match, key) => {
1134
+ return this.data[key]
1135
+ })
1136
+ }
1137
+ formatParams[key] = value
1138
+ }
1139
+ // 帆软报表
1140
+ if (printWay === 'fine') {
1141
+ formatParams.id = `'${this.data[this.$metaKey]}'`
1142
+ this.finePrint(cptName, formatParams)
1143
+ } else {
1144
+ this.customPrint(printCode, formatParams, props)
1145
+ }
1146
+ },
1147
+ // 帆软报表打印
1148
+ finePrint (cptName, formatParams) {
1149
+ const rootPath = this.$util.getAbsPath('/ReportServer')
1150
+ let query = `&reportlet=com.epxing.frame.core.report.ReportReader&__bypagesize__=false&cptname=${cptName}`
1151
+ formatParams.id = this.data[this.$metaKey] || ''
1152
+ for (const key in formatParams) {
1153
+ query += '&' + key + '=' + formatParams[key]
1154
+ }
1155
+ window.open(rootPath + query)
1156
+ },
1157
+ // 自定义报表
1158
+ customPrint (code, params, props) {
1159
+ this.$http.find({
1160
+ entityId: 'FM_FORM',
1161
+ 'scope.CODE': code
1162
+ })
1163
+ .then(data => {
1164
+ const { NAME, TYPE } = data.data
1165
+ if (TYPE === 'excelReport') {
1166
+ this.$createPage({
1167
+ component: 'excel-preview',
1168
+ name: NAME,
1169
+ code,
1170
+ params,
1171
+ showDownload: props.showDownload
1172
+ })
1173
+ } else {
1174
+ this.$http.$post({
1175
+ action: 'exportPdf',
1176
+ querySystem: this.appConfig.SYSTEM,
1177
+ entityId: 'FM_FORM',
1178
+ code,
1179
+ ...params
1180
+ }, {
1181
+ responseType: 'blob'
1182
+ })
1183
+ .then(({ blob }) => {
1184
+ const url = window.URL.createObjectURL(blob, { type: 'application/pdf' })
1185
+ window.open(url)
1186
+ })
1187
+ .catch(err => {
1188
+ this.$message.error(err.message)
1189
+ })
1190
+ }
1191
+ })
1192
+ },
1193
+ verify () {
1194
+ // 校验字段
1195
+ let flag = true
1196
+ for (let i = 0; i < this.fieldGroups.length; i++) {
1197
+ const fields = this.fieldGroups[i]
1198
+ if (flag === false) {
1199
+ break
1200
+ }
1201
+ if (!fields.contentType) {
1202
+ for (let j = 0; j < fields.children.length; j++) {
1203
+ const field = fields.children[j]
1204
+ if (field.isRequired === '1' && field.showFlag) {
1205
+ let isShow = true
1206
+ for (const key in field.showFlag) {
1207
+ if (field.showFlag[key] !== (this.data[key] || this.updateData[key])) {
1208
+ isShow = false
1209
+ }
1210
+ }
1211
+ if (isShow && !(this.data[field.attriName] || this.updateData[field.attriName])) {
1212
+ flag = false
1213
+ this.$message.error(this.$t('please fill in') + field.attriLabel)
1214
+ break
1215
+ }
1216
+ } else if (field.isRequired === '1' && !(this.data[field.attriName] || this.updateData[field.attriName])) {
1217
+ flag = false
1218
+ this.$message.error(this.$t('please fill in') + field.attriLabel)
1219
+ break
1220
+ }
1221
+ }
1222
+ }
1223
+ }
1224
+ return flag
1225
+ },
1226
+ editSave () {
1227
+ const params = {}
1228
+ let submitFlag = true
1229
+ const { submitParams: querySumitParams = {} } = this.$query
1230
+ const component = this.$refs['edit-component'].$refs.component
1231
+ const form = component.$refs.form
1232
+ if (component && form) {
1233
+ const { hiddenFields = [] } = component.configs
1234
+ hiddenFields.forEach(field => {
1235
+ if (field.attriName && field.value) {
1236
+ params[`bean.${field.attriName}`] = field.value
1237
+ }
1238
+ })
1239
+ form.validate((valid, err) => {
1240
+ if (!valid) {
1241
+ for (const key in err) {
1242
+ const errMessgae = err[key][0]
1243
+ this.$message.error(errMessgae.message)
1244
+ submitFlag = false
1245
+ return
1246
+ }
1247
+ }
1248
+ })
1249
+ for (const field in form.model.data) {
1250
+ const formValue = form.model.data[field]
1251
+ const fieldsConfigs = component.fieldsConfigs || []
1252
+ if (!field.includes('#')) {
1253
+ let submitValue = formValue
1254
+ const fieldConfigs = fieldsConfigs.find(item => item.attriName === field) || {}
1255
+ if (Array.isArray(formValue)) {
1256
+ submitValue = formValue[formValue.length - 1]
1257
+ }
1258
+ params[fieldConfigs.name || `bean.${field}`] = submitValue || ''
1259
+ }
1260
+ }
1261
+ }
1262
+ if (!submitFlag) return
1263
+ this.$http.update({
1264
+ entityId: this.$metaId,
1265
+ ...querySumitParams,
1266
+ [`bean.${this.$metaKey}`]: this.data[this.$metaKey],
1267
+ ...params
1268
+ })
1269
+ .then(() => {
1270
+ this.$message.success(this.$t('save successfully'))
1271
+ this.editDrawer = false
1272
+ this.editComponent = null
1273
+ this.getData()
1274
+ })
1275
+ .catch(err => {
1276
+ this.$message.error(err.message || this.$t('fail to save'))
1277
+ })
1278
+ },
1279
+ editFormItem (component) {
1280
+ if (this.$isMobile) {
1281
+ this.editDrawer = true
1282
+ }
1283
+ this.oldData = { ...this.data }
1284
+ this.editComponent = component
1285
+ },
1286
+ cancelEdit (finish) {
1287
+ if (this.oldData && !finish) this.data = { ...this.oldData }
1288
+ this.oldData = null
1289
+ this.editComponent = null
1290
+ this.editDrawer = false
1291
+ },
1292
+ setComponentOperates (id, v) {
1293
+ this.$set(this.componentOperateMap, id, v)
1294
+ },
1295
+ callCompOperate (id, operate) {
1296
+ const component = this.$refs[`component-${id}`]
1297
+ if (component && component.$children[0]) {
1298
+ component.$children[0].$handler(operate)
1299
+ }
1300
+ },
1301
+ selectPersonConfirm () {
1302
+ if (this.selectPersonList.length === 0) {
1303
+ this.$message.error('请选择审核人')
1304
+ return
1305
+ }
1306
+ this.applyEntity(this.applyButtonConfig)
1307
+ this.showCheckPersonDialog = false
1308
+ },
1309
+ closeCheckPerson () {
1310
+ this.selectPersonList = []
1311
+ this.showCheckPersonDialog = false
1312
+ },
1313
+ renderCheckPerson (e) {
1314
+ return (
1315
+ <el-dialog
1316
+ title="审核人"
1317
+ visible={this.showCheckPersonDialog}
1318
+ modal-append-to-body={false}
1319
+ append-to-body={true}
1320
+ width="500px"
1321
+ onClose={this.closeCheckPerson}
1322
+ >
1323
+ <el-checkbox-group class="check-person__list" vModel={this.selectPersonList}>
1324
+ {
1325
+ this.checkPersonList && this.checkPersonList.map(item => (
1326
+ <el-checkbox class="check-person" label={item.ID}>
1327
+ <span class="check-person__item">
1328
+ {
1329
+ item.PHOTO ? (
1330
+ <el-avatar fit="cover" size="small" src={this.$util.getFileUrl(item.PHOTO)}></el-avatar>
1331
+ ) : (
1332
+ <el-avatar fit="cover" size="small" icon="el-icon-user-solid"></el-avatar>
1333
+
1334
+ )
1335
+ }
1336
+ <span class="check-person__name">{item.NAME}</span>
1337
+ </span>
1338
+ </el-checkbox>
1339
+ ))
1340
+ }
1341
+ </el-checkbox-group>
1342
+ <div class="check-person-button__group">
1343
+ <el-button onClick={this.closeCheckPerson}>取 消</el-button>
1344
+ <el-button type="primary" onClick={this.selectPersonConfirm}>确 定</el-button>
1345
+ </div>
1346
+ </el-dialog>
1347
+ )
1348
+ },
1349
+ renderFormTitle (component, index) {
1350
+ const config = this.componentConfigs[component.id] || {}
1351
+ const operates = this.componentOperateMap[component.id]
1352
+
1353
+ const { formTitleStyle = 'default' } = config
1354
+ return (
1355
+ <p class={['form-title', `form-tilte__${formTitleStyle}`]}>
1356
+ <span class="form-title-border">{component.title}</span>
1357
+ <span class="form-title__operate fr">
1358
+ {
1359
+ !this.readonly && this.componentConfigs[component.id] && this.componentConfigs[component.id].editable &&
1360
+ <span class="form-title-edit" onClick={this.editFormItem.bind(this, component)}>
1361
+ <i class="el-icon-edit-outline"></i>
1362
+ {this.$t('edit')}
1363
+ </span>
1364
+ }
1365
+ {
1366
+ operates && (
1367
+ <span>
1368
+ {
1369
+ this.componentConfigs[component.id].operates.map(operate => (
1370
+ <el-button loading={this.httpLoading[operate.handler + '-' + operate.text]} type="text" onClick={this.callCompOperate.bind(this, component.id, operate)}>{operate.text}</el-button>
1371
+ ))
1372
+ }
1373
+ </span>
1374
+ )
1375
+ }
1376
+ <i class={['form-title-fold__icon', 'el-icon-caret-top']} onClick={this.foldFn.bind(this, 'comp-' + index)}></i>
1377
+ </span>
1378
+ </p>
1379
+ )
1380
+ },
1381
+ renderComponent (component) {
1382
+ return (
1383
+ <epx-component
1384
+ ref={'component-' + component.id}
1385
+ name={component.contentType} { ...component }
1386
+ comp-id={this.getComponentId(component)}
1387
+ comp-title={component.title}
1388
+ contentType={component.contentType}
1389
+ comp-configs={{ metaId: this.$metaId, ...component.configs }}
1390
+ items={component.items}
1391
+ formData={this.data}
1392
+ pageType={this.pageType}
1393
+ edit={this.editComponent && this.editComponent.id === component.id}
1394
+ formConfigs={this.formConfigs}
1395
+ fieldScope={this.fieldScope}
1396
+ fieldRelation={this.fieldRelation}
1397
+ form={this}
1398
+ showTitle={this.components.length > 1}
1399
+ onGet-component={v => this.getComponent(component.id, v)}
1400
+ onSet-operates={v => this.setComponentOperates(component.id, v)}
1401
+ onCancel-edit={this.cancelEdit}
1402
+ onChange={v => (this.data = v)}
1403
+ {...{ on: { 'update:formData': v => { this.data = v } } }}
1404
+ ></epx-component>
1405
+ )
1406
+ },
1407
+ renderCatalogList (catalogList = [], parent) {
1408
+ return (
1409
+ <ul class="catalog-list">
1410
+ {
1411
+ catalogList.map(item => (
1412
+ <li class={['catalog-item', { 'catalog-subitem': !!parent }, { active: this.activeIndex === item.id }, { 'is-opened': this.openCatalogId === item.id }]} key={item.id}>
1413
+ <p class="catalog-item__title" onClick={this.compAnchor.bind(this, item.id)}>
1414
+ <span>{item.title}</span>
1415
+ { item.children && item.children.length > 0 && <i class="catalog-item__icon el-icon-arrow-down" onClick={this.openComponent.bind(this, item.id)}></i>}
1416
+ </p>
1417
+ { this.renderCatalogList(item.children, item) }
1418
+ </li>
1419
+ ))
1420
+ }
1421
+ </ul>
1422
+ )
1423
+ },
1424
+ renderCatalog () {
1425
+ return (
1426
+ <div ref="catalogContainer" style={{ display: 'inline-block' }}>
1427
+ <div ref="catalog" class="catalog" style={{ top: this.scrollTop + 'px' }}>
1428
+ { this.renderBase() }
1429
+ { this.renderCatalogList(this.catalogList) }
1430
+ </div>
1431
+ </div>
1432
+ )
1433
+ },
1434
+ renderBase () {
1435
+ const item = this.data || {}
1436
+ const { catalogIconField = [], catalogRows = [], showCatalogHeader, operateEllipsis = 2 } = this.$configs
1437
+ if (catalogIconField.length === 0 && catalogRows.length === 0 && this.operates.length === 0) return null
1438
+ return (
1439
+ <div class="nav-base">
1440
+ {showCatalogHeader && <epx-card-form-item formData={item} pageType={this.pageType} readonly={this.readonly} comp-configs={{ rows: catalogRows, iconField: catalogIconField }}></epx-card-form-item>}
1441
+ <div class="button-group">
1442
+ {
1443
+ this.operates.map((operate, index) => {
1444
+ if ((this.operates.length > operateEllipsis && index === 0) || this.operates.length <= operateEllipsis) {
1445
+ return <el-button loading={this.httpLoading[operate.handler + '-' + operate.text]} size="medium" key={operate.text} style={{ width: operate.width ? operate.width + 'px' : 'auto' }} type={operate.ui} onClick={this.$handler.bind(this, operate)}>{operate.text}</el-button>
1446
+ }
1447
+ })
1448
+ }
1449
+ {
1450
+ this.operates.length > operateEllipsis && (
1451
+ <el-dropdown class="more-table-operates" trigger="click">
1452
+ <el-button size="medium">
1453
+ <i class="el-icon-more"></i> {this.$t('more')}
1454
+ </el-button>
1455
+ <el-dropdown-menu slot="dropdown">
1456
+ {
1457
+ this.operates.map((operate, index) => {
1458
+ if (index !== 0) {
1459
+ return <el-dropdown-item key={operate.text} nativeOnClick={this.$handler.bind(this, operate, null)}>{operate.text}</el-dropdown-item>
1460
+ }
1461
+ })
1462
+ }
1463
+ </el-dropdown-menu>
1464
+ </el-dropdown>
1465
+ )
1466
+ }
1467
+ </div>
1468
+ </div>
1469
+ )
1470
+ },
1471
+ renderForm () {
1472
+ const { operateFlag, showCatalog } = this.$configs
1473
+ return (
1474
+ <div class="add-form" style={this.$component.style} >
1475
+ <div class="field-group">
1476
+ <div>
1477
+ {
1478
+ this.components
1479
+ .map((component, index) => {
1480
+ // const compConfig = this.componentConfigs[component.id] || {}
1481
+ // const { formTitleFlag, showTitle = 'more' } = compConfig
1482
+ const { split } = this.$configs
1483
+ return (
1484
+ <div
1485
+ class={['field-item', { 'm-field-item': this.$isMobile }, { fold: this.foldList.includes('comp-' + index) }]}
1486
+ style={{ marginBottom: split + 'px' }}
1487
+ key={component.id}
1488
+ >
1489
+ {/*
1490
+ (showTitle === 'always' || this.components.length > 1) && showTitle !== 'none' && formTitleFlag !== false &&
1491
+ this.renderFormTitle(component, index)
1492
+ */}
1493
+ {/** 备注说明 */}
1494
+ {/*
1495
+ this.componentConfigs[component.id] && this.componentConfigs[component.id].note && (
1496
+ <p class="form-note" >
1497
+ <i class="el-icon-info"></i>
1498
+ <span>{ this.componentConfigs[component.id].note}</span>
1499
+ </p>
1500
+ ) */
1501
+ }
1502
+ { this.renderComponent(component)}
1503
+ </div>
1504
+ )
1505
+ })
1506
+ }
1507
+ </div>
1508
+ </div>
1509
+ {
1510
+ !this.readonly && operateFlag && !(showCatalog && !this.$isMobile) && (
1511
+ <div>
1512
+ {
1513
+ this.$isMobile ? (
1514
+ <div class={['m-button-group', { 'm-button-more': this.operates.length > 3 }]}>
1515
+ <div class={['m-button-inner', { 'm-button-change': !this.screenHeightNoChange }]}>
1516
+ {
1517
+ this.operates.length > 3 ? (
1518
+ <div class="m-operate">
1519
+ <van-action-sheet
1520
+ vModel={this.showMobileAction}
1521
+ actions={this.operates.map(item => ({ ...item, name: item.text }))}
1522
+ cancel-text={this.$t('cancel')}
1523
+ close-on-click-action
1524
+ onSelect={this.$handler.bind(this)}
1525
+ />
1526
+ <el-button class="m-button" size="medium" onClick={() => (this.showMobileAction = true)}>{this.$t('operation')}</el-button>
1527
+ </div>
1528
+ ) : this.operates.map(operate => (
1529
+ <el-button loading={this.httpLoading[operate.handler + '-' + operate.text]} class="m-button-one" key={operate.text} type={operate.ui} onClick={this.$handler.bind(this, operate)}>{operate.text}</el-button>
1530
+ ))
1531
+ }
1532
+ </div>
1533
+ </div>
1534
+ ) : (
1535
+ <div class="button-group">
1536
+ {
1537
+ this.operates.map(operate => (
1538
+ <el-button loading={this.httpLoading[operate.handler + '-' + operate.text]} size="medium" key={operate.text} type={operate.ui} onClick={this.$handler.bind(this, operate)}>{operate.text}</el-button>
1539
+ ))
1540
+ }
1541
+ </div>
1542
+ )
1543
+ }
1544
+ </div>
1545
+ )
1546
+ }
1547
+
1548
+ </div>
1549
+ )
1550
+ },
1551
+ renderCheck () {
1552
+ if (this.$isMobile) {
1553
+ return this.renderCheckDrawer()
1554
+ } else {
1555
+ return this.rendercheckDialog()
1556
+ }
1557
+ },
1558
+ rendercheckDialog () {
1559
+ const { checkOpinion = true, checkSign = true, text } = this.checkOptionDialogVisible || {}
1560
+ return (
1561
+ <el-dialog
1562
+ title={this.$t('Submission of Comments')}
1563
+ visible={!!this.checkOptionDialogVisible}
1564
+ width="50%"
1565
+ append-to-body={true}
1566
+ class="popup-dialog"
1567
+ onClose={() => (this.checkOptionDialogVisible = false)}
1568
+ >
1569
+ <div class="entity-check-option-container">
1570
+ <div class="input-item">
1571
+ <label>{this.$t('audit')}:</label>
1572
+ <span>{{ text }}</span>
1573
+ </div>
1574
+ {
1575
+ checkOpinion &&
1576
+ <div class="input-item">
1577
+ <label>{this.$t('opinion')}:</label>
1578
+ <el-input
1579
+ type="textarea"
1580
+ class="textarea"
1581
+ rows="5"
1582
+ placeholder={this.$t('please enter')}
1583
+ value={this.option}
1584
+ onInput={e => (this.option = e)}
1585
+ clearable
1586
+ >
1587
+ </el-input>
1588
+ </div>
1589
+ }
1590
+ {
1591
+ checkSign &&
1592
+ <div class="input-item">
1593
+ <label>{this.$t('signature')}:</label>
1594
+ <div class="entity-check-option-sign">
1595
+ <div class="entity-check-option-sign-container" ref="signatureContainer">
1596
+ <canvas ref="signature" width="100%" height="100%"></canvas>
1597
+ </div>
1598
+ <el-button type="text" onClick={() => this.signaturePad.clear()}>{this.$t('re-sign')}</el-button>
1599
+ </div>
1600
+ </div>
1601
+ }
1602
+ <div class="entity-check-option-button-group">
1603
+ <el-button size="middle" type="primary" onClick={this.$handler.bind(this, this.checkOptionDialogVisible)}>{this.$t('determine')}</el-button>
1604
+ <el-button size="middle" onClick={() => (this.checkOptionDialogVisible = false)}>{this.$t('return')}</el-button>
1605
+ </div>
1606
+ </div>
1607
+ </el-dialog>
1608
+ )
1609
+ },
1610
+ renderCheckDrawer () {
1611
+ const { checkOpinion = true, checkSign = true } = this.checkOptionDialogVisible || {}
1612
+ return (
1613
+ <el-drawer
1614
+ visible={!!this.checkOptionDialogVisible}
1615
+ direction="rtl"
1616
+ size="100%"
1617
+ modal={false}
1618
+ custom-class="check-form-edit__drawer"
1619
+ destroy-on-close={true}
1620
+ >
1621
+ <p slot="title">
1622
+ <van-nav-bar
1623
+ class="edit-drawer__nav"
1624
+ title={this.$t('submission of audit comments')}
1625
+ left-text=""
1626
+ left-arrow
1627
+ onClick-left={() => (this.checkOptionDialogVisible = false)}
1628
+ />
1629
+ </p>
1630
+ <div class="check-form-options">
1631
+ {
1632
+ checkOpinion &&
1633
+ <div class="m-input-item">
1634
+ <p class="m-input-item__title">{this.$t('audit opinion')}</p>
1635
+ <el-input
1636
+ type="textarea"
1637
+ class="textarea"
1638
+ rows="5"
1639
+ placeholder={this.$t('please enter')}
1640
+ value={this.option}
1641
+ onInput={e => (this.option = e)}
1642
+ clearable
1643
+ >
1644
+ </el-input>
1645
+ </div>
1646
+ }
1647
+ {
1648
+ checkSign &&
1649
+ <div class="m-input-item">
1650
+ <p class="m-input-item__title">
1651
+ <span>{this.$t('handwritten signature')}</span>
1652
+ <span class="fr clear-sign-btn" onClick={() => this.signaturePad.clear()}>
1653
+ <i class="epx-icon-clear"></i>
1654
+ {this.$t('re-sign')}
1655
+ </span>
1656
+ </p>
1657
+ <div class="entity-check-option-sign">
1658
+ <div class="entity-check-option-sign-container" ref="signatureContainer">
1659
+ <canvas ref="signature" width="100%" height="100%"></canvas>
1660
+ </div>
1661
+ </div>
1662
+ </div>
1663
+ }
1664
+ <div class="check-form-button__group">
1665
+ <el-button onClick={() => (this.checkOptionDialogVisible = false)}>{this.$t('cancel')}</el-button>
1666
+ <el-button type="primary" onClick={this.$handler.bind(this, this.checkOptionDialogVisible)}>{this.$t('submit')}</el-button>
1667
+ </div>
1668
+ </div>
1669
+ </el-drawer>
1670
+ )
1671
+ }
1672
+ },
1673
+ created () {
1674
+ this.$configs.saveSuccessText = this.$t('add success')
1675
+ this.$configs.updateSuccessText = this.$t('edit successfully')
1676
+ this.oldFullHeight = document.documentElement.clientHeight
1677
+ this.init()
1678
+ this.$event.on('submitForm', (configs = {}, cb, err) => {
1679
+ this.submitForm(configs, cb, err)
1680
+ })
1681
+ // 校验表单
1682
+ this.$event.on('validateForm', (cb) => {
1683
+ const flag = this.validateForm()
1684
+ cb(flag)
1685
+ })
1686
+ },
1687
+ mounted () {
1688
+ this.formConfigs = { ...this.$configs }
1689
+ if (this.$configs.showCatalog && !this.$isMobile) {
1690
+ this.getCatalogList()
1691
+ if (this.$configs.catalogLoadWay === 'all') {
1692
+ this.addScrollListener()
1693
+ }
1694
+ }
1695
+ const self = this
1696
+ window.onresize = () => {
1697
+ if (self.oldFullHeight) {
1698
+ self.screenHeightNoChange = document.documentElement.clientHeight === self.oldFullHeight
1699
+ }
1700
+ }
1701
+ },
1702
+ updated () {
1703
+ if (this.$configs.showCatalog && !this.$isMobile) {
1704
+ this.$nextTick(() => {
1705
+ if (this.$refs.catalogContainer && !this.$refs.catalogContainer.height) {
1706
+ this.$refs.catalogContainer.style.height = this.upPage.$el.offsetHeight - this.$refs.container.offsetTop - 20 + 'px'
1707
+ }
1708
+ })
1709
+ }
1710
+ },
1711
+ render () {
1712
+ if (!this.data || !this.fieldScope) return
1713
+ const { showCatalog, catalogPosition } = this.$configs
1714
+ return (
1715
+ <div ref="container" style={this.$component.style} class={['add-form-container', { 'has-catalog': showCatalog && !this.$isMobile }, `has-catalog__${catalogPosition}`]}>
1716
+ {/** 目录 **/}
1717
+ { showCatalog && !this.$isMobile && this.renderCatalog() }
1718
+ {/** 表单 **/ }
1719
+ { this.renderForm() }
1720
+ { this.renderCheck() }
1721
+ { this.renderCheckPerson() }
1722
+ </div>
1723
+ )
1724
+ }
1725
+ }
1726
+ </script>
1727
+
1728
+ <style lang="scss" scoped>
1729
+ .add-form-container {
1730
+ // display: flex;
1731
+ position: relative;
1732
+ height: 100%;
1733
+ }
1734
+ .add-form {
1735
+ height: 100%;
1736
+ overflow: auto;
1737
+ }
1738
+ .has-catalog {
1739
+ .add-form {
1740
+ width: calc(100% - 290px);
1741
+ float: right;
1742
+ }
1743
+ }
1744
+ .has-catalog__right {
1745
+ .add-form {
1746
+ float: none
1747
+ }
1748
+ .catalog {
1749
+ right: 0;
1750
+ }
1751
+ }
1752
+ // .add-form {
1753
+ // flex: 1;
1754
+ // }
1755
+ .field-group {
1756
+ }
1757
+ .field-item {
1758
+ margin-bottom: 16px;
1759
+ &.fold {
1760
+ i {
1761
+ transform: rotate(180deg);
1762
+ }
1763
+ .form-content {
1764
+ display: none;
1765
+ }
1766
+ }
1767
+ }
1768
+
1769
+ .check-person-button__group {
1770
+ text-align: right;
1771
+ }
1772
+
1773
+ .check-person__list {
1774
+ max-height: 300px;
1775
+ overflow: auto;
1776
+ margin-top: 10px;
1777
+ }
1778
+
1779
+ .check-person{
1780
+ display: flex;
1781
+ align-items: center;
1782
+ padding: 4px 0;
1783
+ }
1784
+ .check-person__item {
1785
+ display: flex;
1786
+ align-items: center;
1787
+ line-height: 28px;
1788
+ img {
1789
+ width: 100%;
1790
+ }
1791
+ }
1792
+ .check-person__name {
1793
+ margin-left: 10px;
1794
+ }
1795
+
1796
+ .edit-drawer {
1797
+ height: 100%;
1798
+ overflow: auto;
1799
+ }
1800
+ .edit-drawer__nav {
1801
+ .van-icon {
1802
+ color: #333
1803
+ }
1804
+ }
1805
+
1806
+ /**移动端 */
1807
+ .m-field-item {
1808
+ display: block;
1809
+ margin-bottom:10px;
1810
+ .form-title {
1811
+ font-size: 18px;
1812
+ padding: 0 15px;
1813
+ line-height: 50px;
1814
+ border: none;
1815
+ .form-title-fold__icon {
1816
+ display: none;
1817
+ }
1818
+ &::after {
1819
+ display: none;
1820
+ }
1821
+ }
1822
+ .form-title-border {
1823
+ padding: 0 15px;
1824
+ border:none;
1825
+ position: relative;
1826
+ line-height: 1;
1827
+ &::before {
1828
+ position: absolute;
1829
+ content: '';
1830
+ display: block;
1831
+ width: 4px;
1832
+ top: 2px;
1833
+ height: 18px;
1834
+ border-radius: 2px;
1835
+ @include bg_color_primary;
1836
+ left: -4px;
1837
+ }
1838
+ }
1839
+ .form-title-edit {
1840
+ display: block;
1841
+ line-height: 50px;
1842
+ }
1843
+ }
1844
+
1845
+ .form-content {
1846
+ padding: 12px;
1847
+ overflow: hidden;
1848
+ background: #fff;
1849
+ &.no-padding {
1850
+ padding: 0;
1851
+ }
1852
+ }
1853
+ .button-group {
1854
+ margin: 6px 0;
1855
+ display: flex;
1856
+ justify-content: center;
1857
+ flex-wrap: wrap;
1858
+ &::v-deep {
1859
+ .el-button {
1860
+ padding: 10px 12px;
1861
+ margin: 8px;
1862
+ i {
1863
+ margin-right: 4px;
1864
+ }
1865
+ }
1866
+ }
1867
+ }
1868
+ .m-button-group {
1869
+ width: 100%;
1870
+ height: 72px;
1871
+ }
1872
+ .m-button-more {
1873
+ height: 48px;
1874
+
1875
+ .m-button-inner {
1876
+ padding: 0;
1877
+ box-shadow: 0 2px 5px rgba(0, 0, 0, .2);
1878
+ }
1879
+ }
1880
+ .m-button-inner {
1881
+ position: absolute;
1882
+ box-sizing: border-box;
1883
+ left: 0;
1884
+ bottom: 0;
1885
+ width: 100%;
1886
+ display: flex;
1887
+ justify-content: center;
1888
+ padding: 16px 12px;
1889
+ // box-shadow: 0 2px 5px rgba(0, 0, 0, .2);
1890
+ z-index: 2;
1891
+ background-color: #fff;
1892
+ }
1893
+ .m-button-change{
1894
+ position: absolute;
1895
+ }
1896
+ .m-operate {
1897
+ flex: 1;
1898
+ display: flex;
1899
+
1900
+ }
1901
+ .m-button {
1902
+ flex: 1;
1903
+ margin: 0;
1904
+ border: 0;
1905
+ border-radius: 0;
1906
+ height: 46px;
1907
+ line-height: 46px;
1908
+ padding: 0;
1909
+ }
1910
+
1911
+ .m-button-one {
1912
+ width: 120px
1913
+ }
1914
+
1915
+ .catalog {
1916
+ position: absolute;
1917
+ top: 0;
1918
+ overflow: auto;
1919
+ background: #fff;
1920
+ width: 280px;
1921
+ flex-shrink: 0;
1922
+ }
1923
+ .catalog-item {
1924
+ padding: 0 20px;
1925
+ .catalog-list {
1926
+ display: none;
1927
+ }
1928
+ &.is-opened {
1929
+ .catalog-list {
1930
+ display: block;
1931
+ }
1932
+ .catalog-item__icon {
1933
+ transform: rotate(180deg);
1934
+ }
1935
+ }
1936
+ &.active {
1937
+ >.catalog-item__title {
1938
+ @include font_color_primary;
1939
+ &::before {
1940
+ content: '';
1941
+ position: absolute;
1942
+ left: 0;
1943
+ width: 100%;
1944
+ height: 48px;
1945
+ @include bg_color_primary(.2);
1946
+ }
1947
+ &::after {
1948
+ content: "";
1949
+ position: absolute;
1950
+ left: 0;
1951
+ width: 0;
1952
+ height: 48px;
1953
+ border-left: 2px solid;
1954
+ @include border_color_primary;
1955
+ }
1956
+ }
1957
+ }
1958
+ }
1959
+
1960
+ .catalog-item__title {
1961
+ height: 48px;
1962
+ line-height: 48px;
1963
+ font-size: 16px;
1964
+ font-weight: 700;
1965
+ cursor: pointer;
1966
+ display: flex;
1967
+ justify-content: space-between;
1968
+ align-items:center;
1969
+ &:hover {
1970
+ @include font_color_primary;
1971
+ &::before {
1972
+ content: '';
1973
+ position: absolute;
1974
+ left: 0;
1975
+ width: 100%;
1976
+ height: 48px;
1977
+ @include bg_color_primary(.2);
1978
+ }
1979
+ }
1980
+ }
1981
+
1982
+ .catalog-item__icon {
1983
+ color: #999;
1984
+ transition: all .5s;
1985
+ font-size: 14px;
1986
+ position: relative;
1987
+ z-index: 1
1988
+ }
1989
+
1990
+ .catalog-subitem {
1991
+ .catalog-item__title {
1992
+ font-weight: 500;
1993
+ font-size: 14px;
1994
+ }
1995
+ }
1996
+
1997
+ @media screen and (max-width: 992px) {
1998
+ .form-content {
1999
+ padding: 0
2000
+ }
2001
+ .form-note{
2002
+ margin: 12px 20px 12px;
2003
+ }
2004
+ }
2005
+ </style>
2006
+ <style lang="scss">
2007
+ .entity-check-option-container {
2008
+ padding: 14px 14px 4px;
2009
+ .input-item {
2010
+ display: flex;
2011
+ white-space: nowrap;
2012
+ margin-bottom: 24px;
2013
+ overflow: hidden;
2014
+ }
2015
+ .entity-check-option-sign {
2016
+ flex: 1;
2017
+ flex-shrink: 1;
2018
+ overflow: hidden;
2019
+ }
2020
+ .entity-check-option-sign-container {
2021
+ width: 100%;
2022
+ height: 160px;
2023
+ box-sizing: border-box;
2024
+ border-radius: 4px;
2025
+ background: rgb(246, 246, 246);
2026
+ border: 1px solid #e3e3e3;
2027
+ }
2028
+ .entity-check-option-button-group {
2029
+ text-align: center;
2030
+ .el-button + .el-button {
2031
+ margin-left: 40px;
2032
+ }
2033
+ }
2034
+ }
2035
+
2036
+ // 通过流程颜色
2037
+ .djs-visual.pass {
2038
+ rect {
2039
+ stroke: #67C23A!important;
2040
+ }
2041
+ text {
2042
+ fill: #67C23A!important;
2043
+ }
2044
+ path {
2045
+ stroke: #67C23A!important;
2046
+ &:last-child {
2047
+ fill: #67C23A!important;
2048
+ }
2049
+ }
2050
+ circle, polygon {
2051
+ stroke: #67C23A!important;
2052
+ }
2053
+ }
2054
+ // 通过流程颜色
2055
+ .djs-visual.wait {
2056
+ rect {
2057
+ stroke: #E6A23C!important;
2058
+ }
2059
+ text {
2060
+ fill: #E6A23C!important;
2061
+ }
2062
+ path {
2063
+ stroke: #E6A23C!important;
2064
+ &:last-child {
2065
+ fill: #E6A23C!important;
2066
+ }
2067
+ }
2068
+ }
2069
+ .djs-visual.flow {
2070
+ path {
2071
+ &:last-child {
2072
+ fill: none!important;
2073
+ }
2074
+ }
2075
+ }
2076
+ </style>
2077
+ <style lang="scss">
2078
+ .check-form-edit__drawer {
2079
+ .el-drawer__header {
2080
+ padding: 0;
2081
+ margin:0;
2082
+ }
2083
+ .el-drawer__close-btn {
2084
+ display: none;
2085
+ }
2086
+ .el-drawer__body {
2087
+ overflow: auto;
2088
+ background: #F7F8FA;
2089
+ }
2090
+ }
2091
+ .check-form-options{
2092
+ .m-input-item {
2093
+ background: #fff;
2094
+ margin-bottom: 10px;
2095
+ padding: 16px;
2096
+ }
2097
+ .m-input-item__title {
2098
+ margin-bottom: 16px;
2099
+ }
2100
+ .entity-check-option-sign-container {
2101
+ height: 190px;
2102
+ background: #F4F3F3;
2103
+ border-radius: 4px;
2104
+ border: 1px solid #E3E3E3;
2105
+ }
2106
+ .clear-sign-btn {
2107
+ @include font_color_primary;
2108
+ cursor: pointer;
2109
+ > i {
2110
+ margin-right: 4px;
2111
+ }
2112
+ }
2113
+ }
2114
+ .check-form-button__group {
2115
+ position: fixed;
2116
+ bottom: 0;
2117
+ padding: 20px;
2118
+ width: 100%;
2119
+ box-sizing: border-box;
2120
+ display: flex;
2121
+ >.el-button {
2122
+ width: 120px;
2123
+ }
2124
+ >.el-button--primary {
2125
+ flex: 1;
2126
+ }
2127
+ }
2128
+ </style>