@utogether/udp-core 2.0.0-beta.1 → 2.0.0-beta.4

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 (248) hide show
  1. package/dist/{403-CTJDBjz7.js → 403-CekcmGOc.js} +3 -3
  2. package/dist/403-CxOqlq0f-C28ufSE6.js +65 -0
  3. package/dist/403-WCboRvzZ-ZAPgYStl-Ck7rlpC9.js +65 -0
  4. package/dist/404-2V0Qi-d7-DkNwQggp-3kilva5o.js +65 -0
  5. package/dist/{404-BFYkWIkQ.js → 404-DeSH9KnK.js} +1 -1
  6. package/dist/404-xdB6lFeQ-DRhUFuKU.js +65 -0
  7. package/dist/500-BYfzvixf-CGpEieyQ-DLrc9brB.js +67 -0
  8. package/dist/500-C94bRK2S-_XtNljMI.js +67 -0
  9. package/dist/{500-DGG3qadg.js → 500-DHOHlmtv.js} +2 -2
  10. package/dist/{AuthorityInfo-ozZIo1Te.js → AuthorityInfo-BC8U3Zk4.js} +1 -1
  11. package/dist/AuthorityInfo-DBovfUjB-DpQwT9Q5-ChKFxbGl.js +4 -0
  12. package/dist/AuthorityInfo-Dy3b_nFN-BBC0HKlV.js +4 -0
  13. package/dist/AuthorityInfo.vue_vue_type_style_index_0_lang-Bh7IbcdY-BgLN7Lgx.js +100 -0
  14. package/dist/AuthorityInfo.vue_vue_type_style_index_0_lang-D-l_Az3s-Cw7WmFxz-B8tPqh_7.js +100 -0
  15. package/dist/{AuthorityInfo.vue_vue_type_style_index_0_lang-DujerENw.js → AuthorityInfo.vue_vue_type_style_index_0_lang-DVFi0qOJ.js} +2 -2
  16. package/dist/AuthorityPanel-CRlAwbaI-G7pZXKdE-DAeYw45g.js +4 -0
  17. package/dist/AuthorityPanel-CRlAwbaI-G7pZXKdE.js +4 -0
  18. package/dist/AuthorityPanel.vue_vue_type_style_index_0_lang-DxhZjp1S-CJvk3pW8-C6jMEDJq.js +114 -0
  19. package/dist/AuthorityPanel.vue_vue_type_style_index_0_lang-DxhZjp1S-CJvk3pW8.js +114 -0
  20. package/dist/Company-B4vsXy2I-CkNCOqjJ-PjoD0ztY.js +25 -0
  21. package/dist/{Company-6VJtwh23.js → Company-Byq4p14C.js} +3 -3
  22. package/dist/Company-gKkfnhLt-BReGxz7n.js +25 -0
  23. package/dist/CompanyPanel-BF5Pc35s-CtpymP6a.js +206 -0
  24. package/dist/{CompanyPanel-B2P488mq.js → CompanyPanel-CIHP7rVd.js} +7 -7
  25. package/dist/CompanyPanel-Czcx8Gyw-CvndXwB_-mYpxegRQ.js +206 -0
  26. package/dist/DataSet-DT-rGICv-DaUfgbxk-YztlXv7w.js +147 -0
  27. package/dist/DataSet-DT-rGICv-DaUfgbxk.js +147 -0
  28. package/dist/{Department-BnwoLEOC.js → Department-CxgSq34X.js} +3 -3
  29. package/dist/Department-D0I3QVZe-CfWPT-lY.js +25 -0
  30. package/dist/Department-D0dVUrGC-C6HJcYI1-DhAtBQym.js +25 -0
  31. package/dist/DepartmentPanel-2LHODgc7--VCCaEsu.js +254 -0
  32. package/dist/DepartmentPanel-e91Lxr1j-BS_A-ILd-V3QvVWmJ.js +254 -0
  33. package/dist/{DepartmentPanel-CRrrmxtv.js → DepartmentPanel-hYNqywSQ.js} +22 -22
  34. package/dist/DesignPanel-CtF3cAAQ-FM7zpexb.js +4 -0
  35. package/dist/DesignPanel-DdFl_ohi-uCwFxcl1-7p3ouXrw.js +4 -0
  36. package/dist/{DesignPanel-CvbccgX2.js → DesignPanel-GEhqXIAx.js} +1 -1
  37. package/dist/DesignPanel.vue_vue_type_style_index_0_lang-BACPrfUI-cC7yL0uY-CoM_RAUN.js +1013 -0
  38. package/dist/DesignPanel.vue_vue_type_style_index_0_lang-BCYgwoVt-CcCVpy0f.js +1013 -0
  39. package/dist/{DesignPanel.vue_vue_type_style_index_0_lang-Dz2tUszs.js → DesignPanel.vue_vue_type_style_index_0_lang-DxA6H5Ts.js} +3 -3
  40. package/dist/DictView-BzQLOf_P-DDicwdmM-B8CFC279.js +111 -0
  41. package/dist/DictView-H3V5hxg3-BQZWN2zT.js +111 -0
  42. package/dist/{DictView-Ce1LoVHh.js → DictView-tyGrHFO8.js} +1 -1
  43. package/dist/InvOrganization-BiGLnbqe-BK3vgYYR.js +74 -0
  44. package/dist/{InvOrganization-BwCFZO1X.js → InvOrganization-DjJ4XkxN.js} +2 -2
  45. package/dist/InvOrganization-atbhw0CI-BABbVt9V-BT8PkfWL.js +74 -0
  46. package/dist/{Org-0hzs6b0R.js → Org-3eHX7nBU.js} +2 -2
  47. package/dist/Org-BW1YHG-Q-Cow7JWlD-C7ygI7jx.js +39 -0
  48. package/dist/Org-DQTCQHNY-CEEpGGlZ.js +39 -0
  49. package/dist/{Preview--DnEAhwh.js → Preview-Cgc3O8vp.js} +1 -1
  50. package/dist/Preview-DJtVsoq1-CCGidQjJ-DQ_OC1-S.js +48 -0
  51. package/dist/Preview-DXaiis29-BYyNhC1p.js +48 -0
  52. package/dist/ReportDefine-BLh4CiER-D68a0DWB.js +10 -0
  53. package/dist/ReportDefine-CNx_ob99-6NQAHK-Q-BL5gB56o.js +10 -0
  54. package/dist/{ReportDefine-Cu983bTN.js → ReportDefine-FYxHLbPV.js} +1 -1
  55. package/dist/{ReportDesign-QsWXXgvo.js → ReportDesign-BTOVgMzz.js} +7 -7
  56. package/dist/ReportDesign-FbQ6yTJS-C1pPAUSp-DTsrU_wq.js +165 -0
  57. package/dist/ReportDesign-Ni1YxrLC-DfziOJc3.js +165 -0
  58. package/dist/ReportQuery-C5gz8Lgd-Eu2cQmda-c9iy6TZ_.js +75 -0
  59. package/dist/ReportQuery-C8G88_qF-BKknwX1u.js +75 -0
  60. package/dist/{ReportQuery-BjKIIhPu.js → ReportQuery-Dhy9sk04.js} +1 -1
  61. package/dist/{ReportQueryFrom-DIjBO6Fx.js → ReportQueryFrom-B1TE8lOG.js} +1 -1
  62. package/dist/ReportQueryFrom-C7scua5v-uHXWq8Gy-Cq4havLh.js +4 -0
  63. package/dist/ReportQueryFrom-CuZKPtB4-B_TaZr-N.js +4 -0
  64. package/dist/ReportQueryFrom.vue_vue_type_style_index_0_lang-BAn_siFW-CdTqG6KF.js +178 -0
  65. package/dist/{ReportQueryFrom.vue_vue_type_style_index_0_lang-0T62cUMK.js → ReportQueryFrom.vue_vue_type_style_index_0_lang-D93NL2N7.js} +7 -7
  66. package/dist/ReportQueryFrom.vue_vue_type_style_index_0_lang-DCbz67Wa-vK6r2uCl-kdXwDD3n.js +178 -0
  67. package/dist/ReportTemplate-BDANdIWv-D_IGjR1w-txJDRw_J.js +161 -0
  68. package/dist/{ReportTemplate-2uk9tJcy.js → ReportTemplate-C-EuU7mL.js} +8 -8
  69. package/dist/ReportTemplate-DFnDXWmx-QQkaZRvV.js +161 -0
  70. package/dist/Role-BQ7hsfPn-BLwTiMMj.js +25 -0
  71. package/dist/Role-ByB0WbxW-5E8Mb148-WoZV4JKV.js +25 -0
  72. package/dist/{Role-_QP8QEaI.js → Role-Dc1dZ0o9.js} +3 -3
  73. package/dist/{RoleAssign-C2gkcmEQ.js → RoleAssign-DDv65izq.js} +3 -3
  74. package/dist/RoleAssign-DW6iC_0v-Bis61auk-BB4DziuB.js +26 -0
  75. package/dist/RoleAssign-UPCg2d4G-g4V-duK9.js +26 -0
  76. package/dist/RolePanel-BM2MaQPU-CgcsbfaX-D28vR3Fh.js +4 -0
  77. package/dist/RolePanel-C-mQ5XRq-JQYWITkX.js +4 -0
  78. package/dist/{RolePanel-vnl_lXNY.js → RolePanel-CiDM8OSr.js} +1 -1
  79. package/dist/RolePanel-ClQy8DBL-DARL4O-o-DrElGZ66.js +4 -0
  80. package/dist/RolePanel-CoSXOCZN-BdCEhz3b.js +4 -0
  81. package/dist/{RolePanel-B8FPNGaA.js → RolePanel-Dw_pTEGV.js} +1 -1
  82. package/dist/RolePanel.vue_vue_type_script_setup_true_lang-Bc_Ao_PU-DMmxr2iI-Bsk0Mun8.js +132 -0
  83. package/dist/RolePanel.vue_vue_type_script_setup_true_lang-Bg-t2UhF-CMTLt3Lp.js +154 -0
  84. package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-bxHXrBYl.js → RolePanel.vue_vue_type_script_setup_true_lang-CG_KY7NS.js} +7 -7
  85. package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-BuQbYEEI.js → RolePanel.vue_vue_type_script_setup_true_lang-Ctq1lItN.js} +8 -8
  86. package/dist/RolePanel.vue_vue_type_script_setup_true_lang-D-o7HYZ8-DPs8J-8D.js +132 -0
  87. package/dist/RolePanel.vue_vue_type_script_setup_true_lang-fthF1zkp-JsbQJoDy-vZfwM6bG.js +154 -0
  88. package/dist/ScrollPanel.vue_vue_type_style_index_0_lang-ByWIwajm-BsBf2Vs3-CTeY23xN.js +100 -0
  89. package/dist/ScrollPanel.vue_vue_type_style_index_0_lang-CCsoxDfk-D-4pB58A.js +100 -0
  90. package/dist/{ScrollPanel.vue_vue_type_style_index_0_lang-C6yZXBqB.js → ScrollPanel.vue_vue_type_style_index_0_lang-CyU7XjI3.js} +1 -1
  91. package/dist/Staff-CuxzvhD9-D0KTcyRh-Cj8NbX79.js +25 -0
  92. package/dist/Staff-D-CmvG1R-uwSWH8-m.js +25 -0
  93. package/dist/{Staff-CHWrMIEb.js → Staff-DMh451jL.js} +3 -3
  94. package/dist/{StaffInfo-Cpq2eayz.js → StaffInfo-2PhYcVaz.js} +1 -1
  95. package/dist/StaffInfo-CY7gUICu-EZUhUwIp-C8POP58u.js +4 -0
  96. package/dist/StaffInfo-Idhvuc6e-COVQmEz0.js +4 -0
  97. package/dist/{StaffInfo.vue_vue_type_script_setup_true_lang-BVCjF2i1.js → StaffInfo.vue_vue_type_script_setup_true_lang-CrCFms3g.js} +1 -1
  98. package/dist/StaffInfo.vue_vue_type_script_setup_true_lang-Dd8gtQz8-Dlkt-eCn-p0kltEdZ.js +108 -0
  99. package/dist/StaffInfo.vue_vue_type_script_setup_true_lang-MUGKjnHU-Cj9lcXG6.js +108 -0
  100. package/dist/{StaffPanel-D2BMXt5p.js → StaffPanel-BrvkXT68.js} +1 -1
  101. package/dist/StaffPanel-CDDmAYE5-mLPGD2Nf.js +4 -0
  102. package/dist/StaffPanel-CwqG0_xr-CrvzLJoc-AX54GdZ3.js +4 -0
  103. package/dist/StaffPanel.vue_vue_type_script_setup_true_lang-Bdilqbee-RiBDcMMj.js +143 -0
  104. package/dist/StaffPanel.vue_vue_type_script_setup_true_lang-DCdBy8Hu-BXrueqi0-DFG90qAT.js +143 -0
  105. package/dist/{StaffPanel.vue_vue_type_script_setup_true_lang-B6jAGo-g.js → StaffPanel.vue_vue_type_script_setup_true_lang-DKr8VVOJ.js} +42 -42
  106. package/dist/SysUser-9Q2UJWhi-DprWXFlR-DUMl4Hfm.js +15 -0
  107. package/dist/{SysUser-om6H1BeC.js → SysUser-DLDd5do7.js} +2 -2
  108. package/dist/SysUser-a-j5bppr-CpP0s5DW.js +15 -0
  109. package/dist/SysUserPanel-6V232wwB-DI8apzmL.js +4 -0
  110. package/dist/{SysUserPanel-CH0HPP7h.js → SysUserPanel-DDQxi2Hk.js} +1 -1
  111. package/dist/SysUserPanel-bJy69O7x-BJtBgFEs-DEXctwBe.js +4 -0
  112. package/dist/SysUserPanel.vue_vue_type_script_setup_true_lang-BOtHuMVy-CD9JQp9h.js +356 -0
  113. package/dist/SysUserPanel.vue_vue_type_script_setup_true_lang-DUPFqgz3-BSqRCMen-BBtBr0VU.js +356 -0
  114. package/dist/{SysUserPanel.vue_vue_type_script_setup_true_lang-Dpl13ee0.js → SysUserPanel.vue_vue_type_script_setup_true_lang-DvOggZs6.js} +2 -2
  115. package/dist/SystemMenu-BnVeOSOQ-6HW3jX57.js +156 -0
  116. package/dist/SystemMenu-DGOAolc1-CJSLHP8i-DIUNb03s.js +156 -0
  117. package/dist/{SystemMenu-BkG_DKxA.js → SystemMenu-nFNfz4Nj.js} +7 -7
  118. package/dist/{UserInfo-D9croxUe.js → UserInfo-B9PLKur5.js} +1 -1
  119. package/dist/UserInfo-CKoOHkAM-DDWp0I_U-DEerO-y3.js +4 -0
  120. package/dist/UserInfo-Cax9b2nw-DBResyaY.js +4 -0
  121. package/dist/UserInfo.vue_vue_type_style_index_0_lang-BaT53SSu-DsNaAomO-7IKIrGoq.js +160 -0
  122. package/dist/{UserInfo.vue_vue_type_style_index_0_lang-DLIP8xpN.js → UserInfo.vue_vue_type_style_index_0_lang-BwZNwtQH.js} +2 -2
  123. package/dist/UserInfo.vue_vue_type_style_index_0_lang-D-cw11i9-B2nI6TLi.js +160 -0
  124. package/dist/await-to-js.es5-Bv3Eu4mi-UCggJjes-CRQnmLCs.js +10 -0
  125. package/dist/await-to-js.es5-Bv3Eu4mi-UCggJjes.js +10 -0
  126. package/dist/await-to-js.es5-Bv3Eu4mi.js +10 -0
  127. package/dist/childView-0YZQ6GBn-CEqg7k5d-CDGM_XzZ.js +4 -0
  128. package/dist/{childView-BY_Ip-l1.js → childView-BEDVB_RG.js} +1 -1
  129. package/dist/{childView-CHp_TueS.js → childView-BRa268Qh.js} +1 -1
  130. package/dist/childView-DKG3eZo8-CCtKjCU7.js +4 -0
  131. package/dist/childView-DKkgi3yo-D47ft-vi-B5yI8Dk7.js +4 -0
  132. package/dist/childView-siumuBz0-CyYKsSPy.js +4 -0
  133. package/dist/childView.vue_vue_type_style_index_0_lang-ABMrGInv-ClOdE_sa-BnvsyZ35.js +143 -0
  134. package/dist/{childView.vue_vue_type_style_index_0_lang-BNHbDRjt.js → childView.vue_vue_type_style_index_0_lang-BcyosNSH.js} +8 -8
  135. package/dist/childView.vue_vue_type_style_index_0_lang-CUfXDS1q-DNNy6Qe3.js +180 -0
  136. package/dist/childView.vue_vue_type_style_index_0_lang-CW3EbAmW-D6Jvom5y.js +143 -0
  137. package/dist/childView.vue_vue_type_style_index_0_lang-CaW106ve-CClTM8PK-ZSgCqafc.js +180 -0
  138. package/dist/{childView.vue_vue_type_style_index_0_lang-CbjGf7Z7.js → childView.vue_vue_type_style_index_0_lang-qsceJGeR.js} +8 -8
  139. package/dist/{code-rule-Ce6yWqCq.js → code-rule-CJ4FuOo1.js} +2 -2
  140. package/dist/code-rule-Dtoree6F-B4yeNvFw.js +148 -0
  141. package/dist/code-rule-wQyfgpNL-C4evD4Co-BOJCC1LY.js +148 -0
  142. package/dist/core.es.js +10 -10
  143. package/dist/cron-task-C-kryDtd-C0NuGZCe-DIJuoNx-.js +135 -0
  144. package/dist/{cron-task-DziaH0rI.js → cron-task-CXnv7hIa.js} +2 -2
  145. package/dist/cron-task-GSRgA7S5-D_xfN2g_.js +135 -0
  146. package/dist/flow-task-B07st2aD-CgQvagSQ-BaPlX6ds.js +10 -0
  147. package/dist/flow-task-B07st2aD-CgQvagSQ.js +10 -0
  148. package/dist/frameView-BOGA3ezf-QoSxzmSQ-BWs9F5mT.js +44 -0
  149. package/dist/frameView-Cy6wxW0K-BLdNZaGh.js +44 -0
  150. package/dist/{frameView-DNeCVQaY.js → frameView-g5e9PYdE.js} +1 -1
  151. package/dist/{index-BabfUVv_.js → index-BEAth5RR.js} +1057 -1033
  152. package/dist/layout-home-3Dy4onl4-COK554mq.js +228 -0
  153. package/dist/layout-home-CYHksXN_-Basy-3IH-Dnun4YUs.js +228 -0
  154. package/dist/layout-home-bl3JShSF.js +232 -0
  155. package/dist/layoutView-BaRvAbIa-xVgfqspc-zL46XaoI.js +3302 -0
  156. package/dist/layoutView-DMjNscJ--DvK2S5BQ.js +3302 -0
  157. package/dist/{layoutView-12Mlp9A2.js → layoutView-DmM9xk-X.js} +8 -8
  158. package/dist/log-in-Cx1dGik8-BVeEHeZ8-D7mV8pl4.js +117 -0
  159. package/dist/log-in-VAG6Cvcx-B6arurXx.js +117 -0
  160. package/dist/{log-in-1NGaA5OM.js → log-in-eGoxFTDE.js} +8 -8
  161. package/dist/log-out-COYdxrNC-ftopGZdE-Ch_UgXZv.js +130 -0
  162. package/dist/{log-out-B8_atGcQ.js → log-out-CthD_tSk.js} +4 -4
  163. package/dist/log-out-DZGaMCjC-OztBlMPh.js +130 -0
  164. package/dist/login-CqVMdNHs-CRJ-LWAK.js +241 -0
  165. package/dist/login-Dg9ofNS8-Bocp1XMA-DY4y3cAG.js +241 -0
  166. package/dist/{login-5dydO6GR.js → login-Dn7iO3SU.js} +16 -16
  167. package/dist/login-log-DJBGJVV0-AoOyj0jD-AoOyj0jD.js +70 -0
  168. package/dist/login-log-DJBGJVV0-AoOyj0jD.js +70 -0
  169. package/dist/{lov-view-DPvGUu3h.js → lov-view-Bt23RK6S.js} +7 -7
  170. package/dist/lov-view-C0T5prk8-B2DBmn55-BvzOsVW8.js +97 -0
  171. package/dist/lov-view-Cc68_28B-y4f2SzBr.js +97 -0
  172. package/dist/{menuInfo-DVADYfEK.js → menuInfo-BEmcSaIX.js} +1 -1
  173. package/dist/menuInfo-BIrIaJlH-Bxn4KTWH.js +4 -0
  174. package/dist/menuInfo-BZJ_q7bz-Drho-_QC-BK5n3Shr.js +4 -0
  175. package/dist/menuInfo.vue_vue_type_style_index_0_lang-BA8xjUo3-BCZ1wipf-DEApwWGK.js +363 -0
  176. package/dist/{menuInfo.vue_vue_type_style_index_0_lang-DgsifDrm.js → menuInfo.vue_vue_type_style_index_0_lang-CVuG-x2a.js} +2 -2
  177. package/dist/menuInfo.vue_vue_type_style_index_0_lang-DlE4w35X-gWYo2VJe.js +363 -0
  178. package/dist/{pda-app-BZXs-2BQ.js → pda-app-BKfXoKAs.js} +9 -9
  179. package/dist/pda-app-DnjphrRS-4tIZDsnN.js +710 -0
  180. package/dist/pda-app-m9hsppHo-B4xyja1o-9mD3zI7J.js +710 -0
  181. package/dist/redirect-BqegffKC-CBCIuqmz-46JkXpSM.js +15 -0
  182. package/dist/redirect-BqegffKC-CBCIuqmz.js +15 -0
  183. package/dist/resource-C6KEIXu--B_ddyecm-CFF-A4cr.js +97 -0
  184. package/dist/{resource-BZA9NFKc.js → resource-CshrvEYp.js} +4 -4
  185. package/dist/resource-DISgPDM7-C4P8jqU0.js +97 -0
  186. package/dist/su-welcome-BjbuSrBZ-DrInu823.js +49339 -0
  187. package/dist/su-welcome-CYYy-dzr-D3RKPoB0-DhP783YJ.js +42089 -0
  188. package/dist/su-welcome-t7YusM3U.js +49427 -0
  189. package/dist/sys-config-DCjJGtht-DARDjlrt-Dx8559bf.js +370 -0
  190. package/dist/{sys-config-DQmNjWH4.js → sys-config-Jqj3l7NK.js} +13 -13
  191. package/dist/sys-config-Yc9vh1t1-B3bJPd9S.js +370 -0
  192. package/dist/udp-core.css +1 -1
  193. package/dist/utogether-MlnyYtNS-CGgjFNPS-CGgjFNPS.js +4 -0
  194. package/dist/utogether-MlnyYtNS-CGgjFNPS.js +4 -0
  195. package/package.json +5 -2
  196. package/src/App.vue +71 -71
  197. package/src/components/udp/content/index.vue +88 -88
  198. package/src/components/udp/form-upload/form-upload.vue +492 -492
  199. package/src/components/udp/grid/index.vue +524 -524
  200. package/src/components/udp/index.ts +6 -6
  201. package/src/components/udp/ut-stamp-badge/index.vue +271 -271
  202. package/src/components/udp/utils.ts +408 -408
  203. package/src/layout/components/lay-content/index.vue +136 -136
  204. package/src/layout/components/lay-search/components/SearchModal.vue +181 -189
  205. package/src/layout/components/lay-setting/index.vue +503 -503
  206. package/src/layout/components/lay-sidebar/sidebar-logo.vue +101 -101
  207. package/src/layout/components/lay-tag/index.vue +598 -598
  208. package/src/layout/hooks/useNav.ts +176 -176
  209. package/src/layout/hooks/useTag.ts +227 -227
  210. package/src/layout/layoutView.vue +216 -216
  211. package/src/layout/types.ts +93 -93
  212. package/src/main.ts +111 -112
  213. package/src/plugins/i18n/zh.ts +1 -0
  214. package/src/plugins/vxe-table/index.ts +116 -116
  215. package/src/plugins/vxe-table/render.tsx +968 -968
  216. package/src/router/index.ts +187 -187
  217. package/src/router/modules/home.ts +32 -32
  218. package/src/router/utils.ts +420 -420
  219. package/src/store/modules/epTheme.ts +48 -48
  220. package/src/style/vxetable.scss +364 -356
  221. package/src/utils/dataFormat/index.ts +222 -222
  222. package/src/utils/lifecycle.ts +39 -39
  223. package/src/views/organization/department/DepartmentPanel.vue +303 -303
  224. package/src/views/organization/staff/StaffInfo.vue +127 -127
  225. package/src/views/organization/staff/StaffPanel.vue +3 -3
  226. package/src/views/system/layout/layout-home.vue +46 -7
  227. package/src/views/system/menu/AuthorityPanel.vue +141 -141
  228. package/src/views/system/menu/SystemMenu.vue +194 -194
  229. package/src/views/system/menu/menuInfo.vue +1 -1
  230. package/src/views/system/sysUser/SysUserPanel.vue +363 -363
  231. package/src/views/udev/coderule/code-rule.vue +132 -132
  232. package/src/views/udev/dict/DictView.vue +118 -118
  233. package/src/views/udev/dict/childView.vue +184 -184
  234. package/src/views/udev/lov/childView.vue +174 -174
  235. package/src/views/uhome/components/common-menu.vue +118 -0
  236. package/src/views/uhome/components/dynamic-component.vue +66 -0
  237. package/src/views/uhome/components/home-todo.vue +171 -0
  238. package/src/views/uhome/components/menu-favorite.vue +315 -315
  239. package/src/views/uhome/dynamic-card.vue +18 -19
  240. package/src/views/uhome/su-welcome.vue +47 -117
  241. package/src/views/ulogin/login.vue +336 -336
  242. package/src/views/upms/interface/log-in.vue +100 -100
  243. package/src/views/upms/interface/log-out.vue +104 -104
  244. package/src/views/upms/user/login-log.vue +54 -54
  245. package/types/global.d.ts +232 -232
  246. package/dist/await-to-js.es5-BtRbN2QH.js +0 -10
  247. package/dist/layout-home-Cis1KlEr.js +0 -195
  248. package/dist/su-welcome-BXe6Cdp3.js +0 -580
@@ -1,315 +1,315 @@
1
- <template>
2
- <vxe-modal
3
- v-model="showModal"
4
- :loading="loading"
5
- width="75%"
6
- height="80%"
7
- title="常用菜单设置(拖动可改变菜单顺序)"
8
- class-name="u-favorite-modal"
9
- show-footer
10
- @close="onClose"
11
- >
12
- <template #default>
13
- <div class="">
14
- <el-scrollbar heigth="100" class="w-full border-b border-slate-300">
15
- <template #default>
16
- <div class="w-full h-24">
17
- <el-empty v-if="!favoriteMenus.length" :image-size="50" description="" class="p-0" />
18
- <draggable
19
- :list="favoriteMenus"
20
- handle=".drag-item"
21
- animation="300"
22
- item-key="id"
23
- class="flex"
24
- @end="onMoveEnd"
25
- >
26
- <template #item="{ element, index }">
27
- <div class="">
28
- <div
29
- class="h-24 w-24 flex justify-center items-center flex-col relative drag-item ut-menu-top-item"
30
- >
31
- <div
32
- class="rounded-full w-10 h-10 flex items-center justify-center"
33
- :style="{ backgroundColor: getColor(index) }"
34
- >
35
- <iconify-icon-offline
36
- :icon="element.icon || `ri:${icons[index]}-line`"
37
- class="text-2xl text-white"
38
- />
39
- </div>
40
- <span class="w-[90%] text-xs mt-2 text-ellipsis overflow-hidden whitespace-nowrap text-center">
41
- {{ element.menuName }}
42
- </span>
43
- <i
44
- class="ri-indeterminate-circle-line right-3 top-2 text-base hidden ut-menu-del"
45
- @click="onRemoveFavorite(element, index)"
46
- />
47
- </div>
48
- </div>
49
- </template>
50
- </draggable>
51
- </div>
52
- </template>
53
- </el-scrollbar>
54
- <el-scrollbar class="u-favorite-menu--contain">
55
- <template #default>
56
- <div class="p-3 pb-14" style="padding-bottom: 54px">
57
- <div v-for="menu in menuList" :key="menu.id" class="grandparent-node">
58
- <div class="flex items-center">
59
- <div class="w-2 h-4 bg-green-400" />
60
- <div class="ml-1 font-bold text-base">{{ menu.menuName }}</div>
61
- </div>
62
- <div class="pl-3 py-2">
63
- <vxe-checkbox-group v-model="checkboxModel[menu.id]" @change="onChange(menu, $event)">
64
- <vxe-checkbox
65
- v-for="item in handleMenuCategoryGroup(menu).menus"
66
- :key="item.id"
67
- :label="item.id"
68
- :content="item.menuName"
69
- />
70
- </vxe-checkbox-group>
71
- </div>
72
- <div v-for="item in handleMenuCategoryGroup(menu).folder" :key="item.id" class="parent-node pl-3">
73
- <div class="flex items-center">
74
- <div class="w-2 h-4 bg-blue-400" />
75
- <div class="ml-1 font-bold text-sm">{{ item.menuName }}</div>
76
- </div>
77
-
78
- <div class="pl-3 py-2">
79
- <vxe-checkbox-group v-model="checkboxModel[item.id]" @change="onChange(item, $event)">
80
- <vxe-checkbox
81
- v-for="child in handleMenuCategoryGroup(item).menus"
82
- :key="child.id"
83
- :label="child.id"
84
- :content="child.menuName"
85
- />
86
- </vxe-checkbox-group>
87
- </div>
88
- <div v-for="child in handleMenuCategoryGroup(item).folder" :key="child.id" class="child-node pl-3">
89
- <div class="flex items-center">
90
- <div class="w-2 h-4 bg-red-400" />
91
- <div class="ml-1 font-bold text-sm">{{ child.menuName }}</div>
92
- </div>
93
-
94
- <div class="py-2">
95
- <vxe-checkbox-group v-model="checkboxModel[child.id]" @change="onChange(item, $event)">
96
- <vxe-checkbox
97
- v-for="subChild in handleMenuCategoryGroup(child).menus"
98
- :key="subChild.id"
99
- :label="subChild.id"
100
- :content="subChild.menuName"
101
- />
102
- </vxe-checkbox-group>
103
- </div>
104
- </div>
105
- </div>
106
- </div>
107
- </div>
108
- </template>
109
- </el-scrollbar>
110
- </div>
111
- </template>
112
- <template #footer>
113
- <div class="flex justify-end">
114
- <ut-button content="cancel" status="warning" @tap="onClose" />
115
- <ut-button content="confirm" @tap="onConfirm" />
116
- </div>
117
- </template>
118
- </vxe-modal>
119
- </template>
120
- <script setup lang="ts">
121
- import { ref, onMounted, nextTick } from 'vue';
122
- import { clone, max } from 'xe-utils';
123
- import { dbstorage, delay, warnMessage, successMessage } from '@utogether/utils';
124
- import Draggable from 'vuedraggable';
125
- import { getServiceApi } from '../../../api';
126
-
127
- interface IProps {
128
- dataSource: IRecord[];
129
- icons: Array<String>;
130
- userName: string;
131
- }
132
-
133
- const props = withDefaults(defineProps<IProps>(), {
134
- dataSource: () => [],
135
- icons: () => [],
136
- userName: ''
137
- });
138
-
139
- // 用户菜单
140
- const favoriteMenus = ref([]);
141
- const menuList = ref([]);
142
- const showModal = ref(false);
143
- const loading = ref(false);
144
- const checkboxModel = ref<IRecord>({});
145
- // const cacheCheckModel = {}; // 缓存最初选中的数据
146
-
147
- const url = '/upfm/v1/menuFavority';
148
-
149
- const getCacheMenuList = async () => {
150
- menuList.value = await dbstorage.getItem(`U-${props.userName}-ROUTES`);
151
- menuList.value = menuList.value.filter(f => f.menuCode !== 'SysHome');
152
- await delay(64);
153
- setCheckboxedMenu();
154
- };
155
-
156
- /** 上部删除 */
157
- const onRemoveFavorite = (item, idx) => {
158
- favoriteMenus.value.splice(idx, 1);
159
- const index = checkboxModel.value[item.parentId]?.findIndex(f => f === item.menuId);
160
- checkboxModel.value[item.parentId].splice(index, 1);
161
- // index = cacheCheckModel[item.parentId]?.findIndex(f => f.id === item.id);
162
- // cacheCheckModel[item.parentId].splice(index, 1);
163
- };
164
-
165
- /** 菜单分组 */
166
- const handleMenuCategoryGroup = data => {
167
- const folder = [];
168
- const menus = [];
169
- data.children.forEach(e => {
170
- if (['5', '100'].includes(e.menuCategory)) {
171
- folder.push(e);
172
- } else {
173
- menus.push(e);
174
- }
175
- });
176
- return { folder, menus };
177
- };
178
-
179
- /** 设置默认选中 */
180
- const setCheckboxedMenu = () => {
181
- props.dataSource.forEach(data => {
182
- if (checkboxModel.value[data.parentId]) {
183
- checkboxModel.value[data.parentId].push(data.menuId);
184
- // cacheCheckModel[data.parentId].push(data);
185
- } else {
186
- checkboxModel.value[data.parentId] = [data.menuId];
187
- // cacheCheckModel[data.parentId] = [data];
188
- }
189
- });
190
- };
191
- /** checkbox change */
192
- const onChange = (menu, event) => {
193
- if (event.checked) {
194
- // 新增
195
- if (favoriteMenus.value.length === 16) {
196
- nextTick(() => {
197
- checkboxModel.value[menu.id].splice(checkboxModel.value[menu.id].length - 1, 1);
198
- });
199
- return warnMessage('最多只能选择16个常用功能');
200
- }
201
- // const max = getMax();
202
- // if (cacheCheckModel[menu.id]) {
203
- // cacheCheckModel[menu.id].push({ id: event.label, seqNo: max + 10 });
204
- // } else {
205
- // cacheCheckModel[menu.id] = [{ id: event.label, seqNo: max + 10 }];
206
- // }
207
-
208
- const menuItem = menu.children.find(f => f.id === event.label);
209
- if (menuItem) {
210
- menuItem.seqNo = getMax() + 10;
211
- menuItem.menuId = menuItem.id;
212
- favoriteMenus.value.push(menuItem);
213
- }
214
- } else {
215
- // 顶部删除
216
- let idx = favoriteMenus.value.findIndex(f => f.menuId === event.label);
217
- idx !== -1 && favoriteMenus.value.splice(idx, 1);
218
- // checkbox删除
219
- idx = checkboxModel.value[menu.id].findIndex(f => f === event.label);
220
- idx !== -1 && checkboxModel.value[menu.id].splice(idx, 1);
221
- // 缓存删除
222
- // idx = cacheCheckModel[menu.id].findIndex(f => f.id === event.label);
223
- // idx !== -1 && cacheCheckModel[menu.id].splice(idx, 1);
224
- }
225
- };
226
- const onMoveEnd = () => {
227
- favoriteMenus.value.forEach((item, idx) => {
228
- item.seqNo = (idx + 1) * 10;
229
- console.log('seqNo=', item.seqNo);
230
- });
231
- };
232
- /** 获取排序最大值 */
233
- const getMax = () => {
234
- return max(favoriteMenus.value, item => item.seqNo)?.seqNo || 0;
235
- };
236
- const onConfirm = () => {
237
- console.log(favoriteMenus);
238
- const body = favoriteMenus.value.map((m, idx) => {
239
- return {
240
- userName: props.userName,
241
- menuId: m.menuId,
242
- seqNo: 10 * (idx + 1)
243
- };
244
- });
245
- console.log(body);
246
- loading.value = true;
247
- getServiceApi()
248
- .post(url, body)
249
- .then(() => {
250
- successMessage();
251
- onClose();
252
- emit('success');
253
- })
254
- .finally(() => {
255
- loading.value = false;
256
- });
257
- };
258
-
259
- const onClose = () => {
260
- showModal.value = false;
261
- emit('close');
262
- };
263
-
264
- const getColor = idx => {
265
- const colorSet = ['#409eff', '#67c23a', '#13c2c2', '#e85f33', 'orange'];
266
- return colorSet[idx % 5];
267
- };
268
-
269
- const emit = defineEmits<{ (e: 'close'): void; (e: 'success'): void }>();
270
-
271
- onMounted(() => {
272
- favoriteMenus.value = clone(props.dataSource, true);
273
- showModal.value = true;
274
- getCacheMenuList();
275
- });
276
- </script>
277
- <style lang="scss">
278
- .u-favorite-modal {
279
- .vxe-modal--body .vxe-modal--content {
280
- padding: 0;
281
- overflow: hidden !important;
282
- }
283
-
284
- .el-empty {
285
- &__description {
286
- margin-top: 10px;
287
- }
288
- }
289
-
290
- .ut-menu-top-item:hover {
291
- .ut-menu-del {
292
- position: absolute;
293
- display: inline-block;
294
- color: rgb(240 94 94);
295
- cursor: pointer;
296
- }
297
- }
298
-
299
- .u-favorite-menu--contain {
300
- height: calc(100vh - 320px);
301
- }
302
-
303
- .vxe-checkbox,
304
- .vxe-checkbox + .vxe-checkbox {
305
- width: 120px;
306
- padding: 4px 0;
307
- margin-right: 10px;
308
- margin-left: 0;
309
- }
310
-
311
- .vxe-modal--footer {
312
- border-top: 1px solid #e8e8e8;
313
- }
314
- }
315
- </style>
1
+ <template>
2
+ <vxe-modal
3
+ v-model="showModal"
4
+ :loading="loading"
5
+ width="75%"
6
+ height="80%"
7
+ title="常用菜单设置(拖动可改变菜单顺序)"
8
+ class-name="u-favorite-modal"
9
+ show-footer
10
+ @close="onClose"
11
+ >
12
+ <template #default>
13
+ <div class="">
14
+ <el-scrollbar heigth="100" class="w-full border-b border-slate-300">
15
+ <template #default>
16
+ <div class="w-full h-24">
17
+ <el-empty v-if="!favoriteMenus.length" :image-size="50" description="" class="p-0" />
18
+ <draggable
19
+ :list="favoriteMenus"
20
+ handle=".drag-item"
21
+ animation="300"
22
+ item-key="id"
23
+ class="flex"
24
+ @end="onMoveEnd"
25
+ >
26
+ <template #item="{ element, index }">
27
+ <div class="">
28
+ <div
29
+ class="h-24 w-24 flex justify-center items-center flex-col relative drag-item ut-menu-top-item"
30
+ >
31
+ <div
32
+ class="rounded-full w-10 h-10 flex items-center justify-center"
33
+ :style="{ backgroundColor: getColor(index) }"
34
+ >
35
+ <iconify-icon-offline
36
+ :icon="element.icon || `ri:${icons[index]}-line`"
37
+ class="text-2xl text-white"
38
+ />
39
+ </div>
40
+ <span class="w-[90%] text-xs mt-2 text-ellipsis overflow-hidden whitespace-nowrap text-center">
41
+ {{ element.menuName }}
42
+ </span>
43
+ <i
44
+ class="ri-indeterminate-circle-line right-3 top-2 text-base hidden ut-menu-del"
45
+ @click="onRemoveFavorite(element, index)"
46
+ />
47
+ </div>
48
+ </div>
49
+ </template>
50
+ </draggable>
51
+ </div>
52
+ </template>
53
+ </el-scrollbar>
54
+ <el-scrollbar class="u-favorite-menu--contain">
55
+ <template #default>
56
+ <div class="p-3 pb-14" style="padding-bottom: 54px">
57
+ <div v-for="menu in menuList" :key="menu.id" class="grandparent-node">
58
+ <div class="flex items-center">
59
+ <div class="w-2 h-4 bg-green-400" />
60
+ <div class="ml-1 font-bold text-base">{{ menu.menuName }}</div>
61
+ </div>
62
+ <div class="pl-3 py-2">
63
+ <vxe-checkbox-group v-model="checkboxModel[menu.id]" @change="onChange(menu, $event)">
64
+ <vxe-checkbox
65
+ v-for="item in handleMenuCategoryGroup(menu).menus"
66
+ :key="item.id"
67
+ :label="item.id"
68
+ :content="item.menuName"
69
+ />
70
+ </vxe-checkbox-group>
71
+ </div>
72
+ <div v-for="item in handleMenuCategoryGroup(menu).folder" :key="item.id" class="parent-node pl-3">
73
+ <div class="flex items-center">
74
+ <div class="w-2 h-4 bg-blue-400" />
75
+ <div class="ml-1 font-bold text-sm">{{ item.menuName }}</div>
76
+ </div>
77
+
78
+ <div class="pl-3 py-2">
79
+ <vxe-checkbox-group v-model="checkboxModel[item.id]" @change="onChange(item, $event)">
80
+ <vxe-checkbox
81
+ v-for="child in handleMenuCategoryGroup(item).menus"
82
+ :key="child.id"
83
+ :label="child.id"
84
+ :content="child.menuName"
85
+ />
86
+ </vxe-checkbox-group>
87
+ </div>
88
+ <div v-for="child in handleMenuCategoryGroup(item).folder" :key="child.id" class="child-node pl-3">
89
+ <div class="flex items-center">
90
+ <div class="w-2 h-4 bg-red-400" />
91
+ <div class="ml-1 font-bold text-sm">{{ child.menuName }}</div>
92
+ </div>
93
+
94
+ <div class="py-2">
95
+ <vxe-checkbox-group v-model="checkboxModel[child.id]" @change="onChange(item, $event)">
96
+ <vxe-checkbox
97
+ v-for="subChild in handleMenuCategoryGroup(child).menus"
98
+ :key="subChild.id"
99
+ :label="subChild.id"
100
+ :content="subChild.menuName"
101
+ />
102
+ </vxe-checkbox-group>
103
+ </div>
104
+ </div>
105
+ </div>
106
+ </div>
107
+ </div>
108
+ </template>
109
+ </el-scrollbar>
110
+ </div>
111
+ </template>
112
+ <template #footer>
113
+ <div class="flex justify-end">
114
+ <ut-button content="cancel" status="warning" @tap="onClose" />
115
+ <ut-button content="confirm" @tap="onConfirm" />
116
+ </div>
117
+ </template>
118
+ </vxe-modal>
119
+ </template>
120
+ <script setup lang="ts">
121
+ import { ref, onMounted, nextTick } from 'vue';
122
+ import { clone, max } from 'xe-utils';
123
+ import { dbstorage, delay, warnMessage, successMessage } from '@utogether/utils';
124
+ import Draggable from 'vuedraggable';
125
+ import { getServiceApi } from '../../../api';
126
+
127
+ interface IProps {
128
+ dataSource: IRecord[];
129
+ icons: Array<String>;
130
+ userName: string;
131
+ }
132
+
133
+ const props = withDefaults(defineProps<IProps>(), {
134
+ dataSource: () => [],
135
+ icons: () => [],
136
+ userName: ''
137
+ });
138
+
139
+ // 用户菜单
140
+ const favoriteMenus = ref([]);
141
+ const menuList = ref([]);
142
+ const showModal = ref(false);
143
+ const loading = ref(false);
144
+ const checkboxModel = ref<IRecord>({});
145
+ // const cacheCheckModel = {}; // 缓存最初选中的数据
146
+
147
+ const url = '/upfm/v1/menuFavority';
148
+
149
+ const getCacheMenuList = async () => {
150
+ menuList.value = await dbstorage.getItem(`U-${props.userName}-ROUTES`);
151
+ menuList.value = menuList.value.filter(f => f.menuCode !== 'SysHome');
152
+ await delay(64);
153
+ setCheckboxedMenu();
154
+ };
155
+
156
+ /** 上部删除 */
157
+ const onRemoveFavorite = (item, idx) => {
158
+ favoriteMenus.value.splice(idx, 1);
159
+ const index = checkboxModel.value[item.parentId]?.findIndex(f => f === item.menuId);
160
+ checkboxModel.value[item.parentId].splice(index, 1);
161
+ // index = cacheCheckModel[item.parentId]?.findIndex(f => f.id === item.id);
162
+ // cacheCheckModel[item.parentId].splice(index, 1);
163
+ };
164
+
165
+ /** 菜单分组 */
166
+ const handleMenuCategoryGroup = data => {
167
+ const folder = [];
168
+ const menus = [];
169
+ data.children.forEach(e => {
170
+ if (['5', '100'].includes(e.menuCategory)) {
171
+ folder.push(e);
172
+ } else {
173
+ menus.push(e);
174
+ }
175
+ });
176
+ return { folder, menus };
177
+ };
178
+
179
+ /** 设置默认选中 */
180
+ const setCheckboxedMenu = () => {
181
+ props.dataSource.forEach(data => {
182
+ if (checkboxModel.value[data.parentId]) {
183
+ checkboxModel.value[data.parentId].push(data.menuId);
184
+ // cacheCheckModel[data.parentId].push(data);
185
+ } else {
186
+ checkboxModel.value[data.parentId] = [data.menuId];
187
+ // cacheCheckModel[data.parentId] = [data];
188
+ }
189
+ });
190
+ };
191
+ /** checkbox change */
192
+ const onChange = (menu, event) => {
193
+ if (event.checked) {
194
+ // 新增
195
+ if (favoriteMenus.value.length === 16) {
196
+ nextTick(() => {
197
+ checkboxModel.value[menu.id].splice(checkboxModel.value[menu.id].length - 1, 1);
198
+ });
199
+ return warnMessage('最多只能选择16个常用功能');
200
+ }
201
+ // const max = getMax();
202
+ // if (cacheCheckModel[menu.id]) {
203
+ // cacheCheckModel[menu.id].push({ id: event.label, seqNo: max + 10 });
204
+ // } else {
205
+ // cacheCheckModel[menu.id] = [{ id: event.label, seqNo: max + 10 }];
206
+ // }
207
+
208
+ const menuItem = menu.children.find(f => f.id === event.label);
209
+ if (menuItem) {
210
+ menuItem.seqNo = getMax() + 10;
211
+ menuItem.menuId = menuItem.id;
212
+ favoriteMenus.value.push(menuItem);
213
+ }
214
+ } else {
215
+ // 顶部删除
216
+ let idx = favoriteMenus.value.findIndex(f => f.menuId === event.label);
217
+ idx !== -1 && favoriteMenus.value.splice(idx, 1);
218
+ // checkbox删除
219
+ idx = checkboxModel.value[menu.id].findIndex(f => f === event.label);
220
+ idx !== -1 && checkboxModel.value[menu.id].splice(idx, 1);
221
+ // 缓存删除
222
+ // idx = cacheCheckModel[menu.id].findIndex(f => f.id === event.label);
223
+ // idx !== -1 && cacheCheckModel[menu.id].splice(idx, 1);
224
+ }
225
+ };
226
+ const onMoveEnd = () => {
227
+ favoriteMenus.value.forEach((item, idx) => {
228
+ item.seqNo = (idx + 1) * 10;
229
+ console.log('seqNo=', item.seqNo);
230
+ });
231
+ };
232
+ /** 获取排序最大值 */
233
+ const getMax = () => {
234
+ return max(favoriteMenus.value, item => item.seqNo)?.seqNo || 0;
235
+ };
236
+ const onConfirm = () => {
237
+ console.log(favoriteMenus);
238
+ const body = favoriteMenus.value.map((m, idx) => {
239
+ return {
240
+ userName: props.userName,
241
+ menuId: m.menuId,
242
+ seqNo: 10 * (idx + 1)
243
+ };
244
+ });
245
+ console.log(body);
246
+ loading.value = true;
247
+ getServiceApi()
248
+ .post(url, body)
249
+ .then(() => {
250
+ successMessage();
251
+ onClose();
252
+ emit('success');
253
+ })
254
+ .finally(() => {
255
+ loading.value = false;
256
+ });
257
+ };
258
+
259
+ const onClose = () => {
260
+ showModal.value = false;
261
+ emit('close');
262
+ };
263
+
264
+ const getColor = idx => {
265
+ const colorSet = ['#409eff', '#67c23a', '#13c2c2', '#e85f33', 'orange'];
266
+ return colorSet[idx % 5];
267
+ };
268
+
269
+ const emit = defineEmits<{ (e: 'close'): void; (e: 'success'): void }>();
270
+
271
+ onMounted(() => {
272
+ favoriteMenus.value = clone(props.dataSource, true);
273
+ showModal.value = true;
274
+ getCacheMenuList();
275
+ });
276
+ </script>
277
+ <style lang="scss">
278
+ .u-favorite-modal {
279
+ .vxe-modal--body .vxe-modal--content {
280
+ padding: 0;
281
+ overflow: hidden !important;
282
+ }
283
+
284
+ .el-empty {
285
+ &__description {
286
+ margin-top: 10px;
287
+ }
288
+ }
289
+
290
+ .ut-menu-top-item:hover {
291
+ .ut-menu-del {
292
+ position: absolute;
293
+ display: inline-block;
294
+ color: rgb(240 94 94);
295
+ cursor: pointer;
296
+ }
297
+ }
298
+
299
+ .u-favorite-menu--contain {
300
+ height: calc(100vh - 320px);
301
+ }
302
+
303
+ .vxe-checkbox,
304
+ .vxe-checkbox + .vxe-checkbox {
305
+ width: 120px;
306
+ padding: 4px 0;
307
+ margin-right: 10px;
308
+ margin-left: 0;
309
+ }
310
+
311
+ .vxe-modal--footer {
312
+ border-top: 1px solid #e8e8e8;
313
+ }
314
+ }
315
+ </style>