sh-view 1.5.2

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 (209) hide show
  1. package/.eslintrc.js +21 -0
  2. package/README.en.md +36 -0
  3. package/README.md +39 -0
  4. package/package.json +64 -0
  5. package/packages/assets/css/animated.scss +33 -0
  6. package/packages/assets/css/loader.scss +193 -0
  7. package/packages/assets/css/main.scss +235 -0
  8. package/packages/assets/css/theme.scss +52 -0
  9. package/packages/assets/icons/demo.css +539 -0
  10. package/packages/assets/icons/iconfont.css +415 -0
  11. package/packages/assets/icons/iconfont.js +1 -0
  12. package/packages/assets/icons/iconfont.json +709 -0
  13. package/packages/assets/icons/iconfont.ttf +0 -0
  14. package/packages/assets/icons/iconfont.woff +0 -0
  15. package/packages/assets/icons/iconfont.woff2 +0 -0
  16. package/packages/assets/img/image-error.png +0 -0
  17. package/packages/assets/img/square-image.png +0 -0
  18. package/packages/components/global-components/sh-card/index.vue +122 -0
  19. package/packages/components/global-components/sh-code-editor/index.vue +237 -0
  20. package/packages/components/global-components/sh-corner/index.vue +236 -0
  21. package/packages/components/global-components/sh-count-to/index.vue +46 -0
  22. package/packages/components/global-components/sh-empty/index.vue +43 -0
  23. package/packages/components/global-components/sh-header/index.vue +269 -0
  24. package/packages/components/global-components/sh-icon/icons.vue +32 -0
  25. package/packages/components/global-components/sh-icon/index.vue +27 -0
  26. package/packages/components/global-components/sh-iv-form/components/iv-group-item.vue +57 -0
  27. package/packages/components/global-components/sh-iv-form/components/iv-single-item.vue +76 -0
  28. package/packages/components/global-components/sh-iv-form/index.vue +255 -0
  29. package/packages/components/global-components/sh-layout/index.vue +142 -0
  30. package/packages/components/global-components/sh-loading/index.vue +42 -0
  31. package/packages/components/global-components/sh-noticebar/index.vue +201 -0
  32. package/packages/components/global-components/sh-preview/index.vue +62 -0
  33. package/packages/components/global-components/sh-pull-refresh/index.vue +290 -0
  34. package/packages/components/global-components/sh-result/index.vue +88 -0
  35. package/packages/components/global-components/sh-sheet/index.vue +173 -0
  36. package/packages/components/global-components/sh-upload/components/u-img.vue +63 -0
  37. package/packages/components/global-components/sh-upload/components/u-list.vue +100 -0
  38. package/packages/components/global-components/sh-upload/index.vue +418 -0
  39. package/packages/components/global-components/sh-vxe-form/components/form-item.vue +25 -0
  40. package/packages/components/global-components/sh-vxe-form/css/index.scss +55 -0
  41. package/packages/components/global-components/sh-vxe-form/index.vue +115 -0
  42. package/packages/components/global-components/sh-vxe-form/js/methods.js +170 -0
  43. package/packages/components/global-components/sh-vxe-form/js/props.js +63 -0
  44. package/packages/components/global-components/sh-vxe-form/mixin/defaultData.js +33 -0
  45. package/packages/components/global-components/sh-vxe-list/index.vue +129 -0
  46. package/packages/components/global-components/sh-vxe-modal/index.vue +209 -0
  47. package/packages/components/global-components/sh-vxe-query/index.vue +286 -0
  48. package/packages/components/global-components/sh-vxe-table/components/importModal.vue +377 -0
  49. package/packages/components/global-components/sh-vxe-table/css/index.scss +94 -0
  50. package/packages/components/global-components/sh-vxe-table/index.vue +350 -0
  51. package/packages/components/global-components/sh-vxe-table/js/excel_to_json.js +313 -0
  52. package/packages/components/global-components/sh-vxe-table/js/methods.js +614 -0
  53. package/packages/components/global-components/sh-vxe-table/js/props.js +311 -0
  54. package/packages/components/global-components/sh-vxe-table/mixin/defaultData.js +116 -0
  55. package/packages/components/global-components/sh-vxe-toolbar/index.vue +172 -0
  56. package/packages/components/global-components/sh-vxe-tree/components/table-tree.vue +251 -0
  57. package/packages/components/global-components/sh-vxe-tree/css/index.scss +20 -0
  58. package/packages/components/global-components/sh-vxe-tree/index.vue +85 -0
  59. package/packages/components/global-components/sh-vxe-tree/js/props.js +120 -0
  60. package/packages/components/global-components/sh-vxe-tree/js/treeMethods.js +171 -0
  61. package/packages/components/global-components/sh-vxe-tree/mixin/defaultData.js +48 -0
  62. package/packages/components/global-components/sh-vxe-tree/vxe-direct-tree.vue +202 -0
  63. package/packages/components/global-components/sh-vxe-tree/vxe-select-tree.vue +291 -0
  64. package/packages/components/global-components/sh-water-fall/index.vue +87 -0
  65. package/packages/components/global-components/sh-word/index.vue +110 -0
  66. package/packages/components/index.js +64 -0
  67. package/packages/components/other-components/sh-cron-modal/components/cron-content.vue +287 -0
  68. package/packages/components/other-components/sh-cron-modal/css/index.scss +45 -0
  69. package/packages/components/other-components/sh-cron-modal/index.vue +67 -0
  70. package/packages/components/other-components/sh-cron-modal/mixin/cron-box.js +169 -0
  71. package/packages/components/other-components/sh-cron-modal/tabs/cron-day-box.vue +92 -0
  72. package/packages/components/other-components/sh-cron-modal/tabs/cron-hour-box.vue +56 -0
  73. package/packages/components/other-components/sh-cron-modal/tabs/cron-minute-box.vue +56 -0
  74. package/packages/components/other-components/sh-cron-modal/tabs/cron-month-box.vue +56 -0
  75. package/packages/components/other-components/sh-cron-modal/tabs/cron-second-box.vue +56 -0
  76. package/packages/components/other-components/sh-cron-modal/tabs/cron-week-box.vue +115 -0
  77. package/packages/components/other-components/sh-cron-modal/tabs/cron-year-box.vue +46 -0
  78. package/packages/components/other-components/sh-cron-modal/utils/index.js +52 -0
  79. package/packages/components/other-components/sh-markdown/index.vue +170 -0
  80. package/packages/components/other-components/sh-markdown/tinymce/langs/ar.js +7 -0
  81. package/packages/components/other-components/sh-markdown/tinymce/langs/az.js +7 -0
  82. package/packages/components/other-components/sh-markdown/tinymce/langs/bg_BG.js +7 -0
  83. package/packages/components/other-components/sh-markdown/tinymce/langs/bn_BD.js +7 -0
  84. package/packages/components/other-components/sh-markdown/tinymce/langs/ca.js +7 -0
  85. package/packages/components/other-components/sh-markdown/tinymce/langs/cs.js +7 -0
  86. package/packages/components/other-components/sh-markdown/tinymce/langs/cy.js +7 -0
  87. package/packages/components/other-components/sh-markdown/tinymce/langs/da.js +7 -0
  88. package/packages/components/other-components/sh-markdown/tinymce/langs/de.js +7 -0
  89. package/packages/components/other-components/sh-markdown/tinymce/langs/dv.js +7 -0
  90. package/packages/components/other-components/sh-markdown/tinymce/langs/el.js +7 -0
  91. package/packages/components/other-components/sh-markdown/tinymce/langs/eo.js +7 -0
  92. package/packages/components/other-components/sh-markdown/tinymce/langs/es.js +7 -0
  93. package/packages/components/other-components/sh-markdown/tinymce/langs/es_MX.js +7 -0
  94. package/packages/components/other-components/sh-markdown/tinymce/langs/et.js +7 -0
  95. package/packages/components/other-components/sh-markdown/tinymce/langs/eu.js +7 -0
  96. package/packages/components/other-components/sh-markdown/tinymce/langs/fa.js +7 -0
  97. package/packages/components/other-components/sh-markdown/tinymce/langs/fi.js +7 -0
  98. package/packages/components/other-components/sh-markdown/tinymce/langs/fr_FR.js +7 -0
  99. package/packages/components/other-components/sh-markdown/tinymce/langs/ga.js +7 -0
  100. package/packages/components/other-components/sh-markdown/tinymce/langs/gl.js +7 -0
  101. package/packages/components/other-components/sh-markdown/tinymce/langs/he_IL.js +7 -0
  102. package/packages/components/other-components/sh-markdown/tinymce/langs/hi.js +7 -0
  103. package/packages/components/other-components/sh-markdown/tinymce/langs/hr.js +7 -0
  104. package/packages/components/other-components/sh-markdown/tinymce/langs/hu_HU.js +7 -0
  105. package/packages/components/other-components/sh-markdown/tinymce/langs/hy.js +7 -0
  106. package/packages/components/other-components/sh-markdown/tinymce/langs/id.js +7 -0
  107. package/packages/components/other-components/sh-markdown/tinymce/langs/is_IS.js +7 -0
  108. package/packages/components/other-components/sh-markdown/tinymce/langs/it.js +7 -0
  109. package/packages/components/other-components/sh-markdown/tinymce/langs/ja.js +7 -0
  110. package/packages/components/other-components/sh-markdown/tinymce/langs/kab.js +7 -0
  111. package/packages/components/other-components/sh-markdown/tinymce/langs/kk.js +7 -0
  112. package/packages/components/other-components/sh-markdown/tinymce/langs/ko_KR.js +7 -0
  113. package/packages/components/other-components/sh-markdown/tinymce/langs/ku.js +7 -0
  114. package/packages/components/other-components/sh-markdown/tinymce/langs/lt.js +7 -0
  115. package/packages/components/other-components/sh-markdown/tinymce/langs/lv.js +7 -0
  116. package/packages/components/other-components/sh-markdown/tinymce/langs/nb_NO.js +7 -0
  117. package/packages/components/other-components/sh-markdown/tinymce/langs/ne.js +7 -0
  118. package/packages/components/other-components/sh-markdown/tinymce/langs/nl.js +7 -0
  119. package/packages/components/other-components/sh-markdown/tinymce/langs/nl_BE.js +7 -0
  120. package/packages/components/other-components/sh-markdown/tinymce/langs/oc.js +7 -0
  121. package/packages/components/other-components/sh-markdown/tinymce/langs/pl.js +7 -0
  122. package/packages/components/other-components/sh-markdown/tinymce/langs/pt_BR.js +7 -0
  123. package/packages/components/other-components/sh-markdown/tinymce/langs/ro.js +7 -0
  124. package/packages/components/other-components/sh-markdown/tinymce/langs/ru.js +7 -0
  125. package/packages/components/other-components/sh-markdown/tinymce/langs/sk.js +7 -0
  126. package/packages/components/other-components/sh-markdown/tinymce/langs/sl_SI.js +7 -0
  127. package/packages/components/other-components/sh-markdown/tinymce/langs/sq.js +7 -0
  128. package/packages/components/other-components/sh-markdown/tinymce/langs/sr.js +7 -0
  129. package/packages/components/other-components/sh-markdown/tinymce/langs/sv_SE.js +7 -0
  130. package/packages/components/other-components/sh-markdown/tinymce/langs/ta.js +7 -0
  131. package/packages/components/other-components/sh-markdown/tinymce/langs/tg.js +7 -0
  132. package/packages/components/other-components/sh-markdown/tinymce/langs/th_TH.js +7 -0
  133. package/packages/components/other-components/sh-markdown/tinymce/langs/tr.js +7 -0
  134. package/packages/components/other-components/sh-markdown/tinymce/langs/ug.js +7 -0
  135. package/packages/components/other-components/sh-markdown/tinymce/langs/uk.js +7 -0
  136. package/packages/components/other-components/sh-markdown/tinymce/langs/vi.js +7 -0
  137. package/packages/components/other-components/sh-markdown/tinymce/langs/zh-Hans.js +7 -0
  138. package/packages/components/other-components/sh-markdown/tinymce/skins/content/dark/content.css +72 -0
  139. package/packages/components/other-components/sh-markdown/tinymce/skins/content/dark/content.min.css +7 -0
  140. package/packages/components/other-components/sh-markdown/tinymce/skins/content/default/content.css +67 -0
  141. package/packages/components/other-components/sh-markdown/tinymce/skins/content/default/content.min.css +7 -0
  142. package/packages/components/other-components/sh-markdown/tinymce/skins/content/document/content.css +72 -0
  143. package/packages/components/other-components/sh-markdown/tinymce/skins/content/document/content.min.css +7 -0
  144. package/packages/components/other-components/sh-markdown/tinymce/skins/content/writer/content.css +68 -0
  145. package/packages/components/other-components/sh-markdown/tinymce/skins/content/writer/content.min.css +7 -0
  146. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/content.css +732 -0
  147. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/content.inline.css +726 -0
  148. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/content.inline.min.css +7 -0
  149. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/content.min.css +7 -0
  150. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/content.mobile.css +29 -0
  151. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/content.mobile.min.css +7 -0
  152. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff +0 -0
  153. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/skin.css +3047 -0
  154. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/skin.min.css +7 -0
  155. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/skin.mobile.css +673 -0
  156. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/skin.mobile.min.css +7 -0
  157. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/skin.shadowdom.css +37 -0
  158. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/skin.shadowdom.min.css +7 -0
  159. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.css +714 -0
  160. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.inline.css +726 -0
  161. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.inline.min.css +7 -0
  162. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.min.css +7 -0
  163. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.mobile.css +29 -0
  164. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.mobile.min.css +7 -0
  165. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff +0 -0
  166. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.css +3047 -0
  167. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.min.css +7 -0
  168. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.mobile.css +673 -0
  169. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.mobile.min.css +7 -0
  170. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.shadowdom.css +37 -0
  171. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css +7 -0
  172. package/packages/components/other-components/sh-menu-card/index.vue +224 -0
  173. package/packages/components/other-components/sh-menu-card/menu-box.vue +68 -0
  174. package/packages/components/other-components/sh-system-tip/index.vue +113 -0
  175. package/packages/css/index.js +6 -0
  176. package/packages/directive/directives.js +27 -0
  177. package/packages/directive/index.js +19 -0
  178. package/packages/directive/module/draggable.js +42 -0
  179. package/packages/index.js +40 -0
  180. package/packages/iview/css/index.scss +32 -0
  181. package/packages/iview/index.js +24 -0
  182. package/packages/mixin/index.js +87 -0
  183. package/packages/vxeTable/css/index.scss +454 -0
  184. package/packages/vxeTable/css/variable.scss +256 -0
  185. package/packages/vxeTable/index.js +178 -0
  186. package/packages/vxeTable/render/cell/vxe-render-checkbox.vue +19 -0
  187. package/packages/vxeTable/render/cell/vxe-render-checkgroup.vue +36 -0
  188. package/packages/vxeTable/render/cell/vxe-render-code.vue +19 -0
  189. package/packages/vxeTable/render/cell/vxe-render-goption.vue +93 -0
  190. package/packages/vxeTable/render/cell/vxe-render-href.vue +11 -0
  191. package/packages/vxeTable/render/cell/vxe-render-img.vue +28 -0
  192. package/packages/vxeTable/render/cell/vxe-render-input.vue +51 -0
  193. package/packages/vxeTable/render/cell/vxe-render-money.vue +25 -0
  194. package/packages/vxeTable/render/cell/vxe-render-progress.vue +19 -0
  195. package/packages/vxeTable/render/cell/vxe-render-radio.vue +19 -0
  196. package/packages/vxeTable/render/cell/vxe-render-radiogroup.vue +36 -0
  197. package/packages/vxeTable/render/cell/vxe-render-select.vue +36 -0
  198. package/packages/vxeTable/render/cell/vxe-render-switch.vue +19 -0
  199. package/packages/vxeTable/render/cell/vxe-render-table.vue +78 -0
  200. package/packages/vxeTable/render/cell/vxe-render-textarea.vue +19 -0
  201. package/packages/vxeTable/render/cell/vxe-render-time.vue +34 -0
  202. package/packages/vxeTable/render/cell/vxe-render-tree.vue +59 -0
  203. package/packages/vxeTable/render/cell/vxe-render-upload.vue +24 -0
  204. package/packages/vxeTable/render/filters/vxe-filter-input.vue +43 -0
  205. package/packages/vxeTable/render/footer/vxe-footer-input.vue +13 -0
  206. package/packages/vxeTable/render/footer/vxe-footer-money.vue +20 -0
  207. package/packages/vxeTable/render/globalRenders.js +491 -0
  208. package/packages/vxeTable/render/header/vxe-header-money.vue +21 -0
  209. package/packages/vxeTable/render/mixin/cell-mixin.js +195 -0
package/.eslintrc.js ADDED
@@ -0,0 +1,21 @@
1
+ module.exports = {
2
+ root: true,
3
+ env: {
4
+ node: true
5
+ },
6
+ extends: ['plugin:vue/vue3-recommended', 'plugin:prettier/recommended'],
7
+ plugins: ['vue', 'prettier'],
8
+ parserOptions: {
9
+ parser: '@babel/eslint-parser',
10
+ requireConfigFile: false
11
+ },
12
+ rules: {
13
+ 'prettier/prettier': 'error',
14
+ 'no-console': 'off',
15
+ 'no-debugger': 'off',
16
+ 'no-unused-vars': 'off',
17
+ 'no-empty': 'off',
18
+ 'vue/no-v-html': 'off',
19
+ 'vue/require-default-prop': 'off'
20
+ }
21
+ }
package/README.en.md ADDED
@@ -0,0 +1,36 @@
1
+ # sh-view
2
+
3
+ #### Description
4
+ {**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**}
5
+
6
+ #### Software Architecture
7
+ Software architecture description
8
+
9
+ #### Installation
10
+
11
+ 1. xxxx
12
+ 2. xxxx
13
+ 3. xxxx
14
+
15
+ #### Instructions
16
+
17
+ 1. xxxx
18
+ 2. xxxx
19
+ 3. xxxx
20
+
21
+ #### Contribution
22
+
23
+ 1. Fork the repository
24
+ 2. Create Feat_xxx branch
25
+ 3. Commit your code
26
+ 4. Create Pull Request
27
+
28
+
29
+ #### Gitee Feature
30
+
31
+ 1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
32
+ 2. Gitee blog [blog.gitee.com](https://blog.gitee.com)
33
+ 3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
34
+ 4. The most valuable open source project [GVP](https://gitee.com/gvp)
35
+ 5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
36
+ 6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
package/README.md ADDED
@@ -0,0 +1,39 @@
1
+ # sh-view
2
+
3
+ #### 介绍
4
+ {**以下是 Gitee 平台说明,您可以替换此简介**
5
+ Gitee 是 OSCHINA 推出的基于 Git 的代码托管平台(同时支持 SVN)。专为开发者提供稳定、高效、安全的云端软件开发协作平台
6
+ 无论是个人、团队、或是企业,都能够用 Gitee 实现代码托管、项目管理、协作开发。企业项目请看 [https://gitee.com/enterprises](https://gitee.com/enterprises)}
7
+
8
+ #### 软件架构
9
+ 软件架构说明
10
+
11
+
12
+ #### 安装教程
13
+
14
+ 1. xxxx
15
+ 2. xxxx
16
+ 3. xxxx
17
+
18
+ #### 使用说明
19
+
20
+ 1. xxxx
21
+ 2. xxxx
22
+ 3. xxxx
23
+
24
+ #### 参与贡献
25
+
26
+ 1. Fork 本仓库
27
+ 2. 新建 Feat_xxx 分支
28
+ 3. 提交代码
29
+ 4. 新建 Pull Request
30
+
31
+
32
+ #### 特技
33
+
34
+ 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
35
+ 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com)
36
+ 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目
37
+ 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
38
+ 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
39
+ 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
package/package.json ADDED
@@ -0,0 +1,64 @@
1
+ {
2
+ "name": "sh-view",
3
+ "version": "1.5.2",
4
+ "description": "基于vxe-table、view-ui-plus二次封装",
5
+ "main": "packages/index.js",
6
+ "scripts": {
7
+ "lib": "vue-cli-service build --target lib packages/index.js --name sh-view --dest lib"
8
+ },
9
+ "keywords": [
10
+ "sh-view"
11
+ ],
12
+ "author": "神秘的sh",
13
+ "license": "ISC",
14
+ "dependencies": {
15
+ "@codemirror/lang-javascript": "^6.1.9",
16
+ "@codemirror/lang-json": "^6.0.1",
17
+ "@codemirror/lang-sql": "^6.5.2",
18
+ "@codemirror/theme-one-dark": "^6.1.2",
19
+ "@tinymce/tinymce-vue": "^5.0.0",
20
+ "babel-polyfill": "^6.26.0",
21
+ "codemirror": "^6.0.1",
22
+ "core-js": "^3.8.3",
23
+ "cron-parser": "^4.8.1",
24
+ "docx-preview": "^0.1.11",
25
+ "exceljs": "^4.3.0",
26
+ "file-saver": "^2.0.5",
27
+ "jspdf": "^2.5.1",
28
+ "jszip": "^3.10.1",
29
+ "tinymce": "^5.10.5",
30
+ "sh-tools": "^1.2.0",
31
+ "view-ui-plus": "^1.3.14",
32
+ "vue": "^3.3.4",
33
+ "vue-ripple-directive": "^2.0.1",
34
+ "vue-router": "^4.2.2",
35
+ "vue-masonry": "^0.16.0",
36
+ "vuex": "^4.1.0",
37
+ "vxe-table": "^4.5.0-beta.10",
38
+ "vxe-table-plugin-export-pdf": "^3.0.4",
39
+ "vxe-table-plugin-export-xlsx": "^3.0.5",
40
+ "xe-clipboard": "^1.10.2",
41
+ "xlsx": "^0.18.5"
42
+ },
43
+ "devDependencies": {
44
+ "@babel/core": "^7.12.16",
45
+ "@babel/eslint-parser": "^7.12.16",
46
+ "@babel/plugin-proposal-object-rest-spread": "^7.20.7",
47
+ "@vue/cli-plugin-babel": "~5.0.8",
48
+ "@vue/cli-plugin-eslint": "~5.0.8",
49
+ "@vue/cli-plugin-router": "~5.0.8",
50
+ "@vue/cli-plugin-vuex": "~5.0.8",
51
+ "@vue/cli-service": "~5.0.8",
52
+ "babel-loader": "^9.1.2",
53
+ "compression-webpack-plugin": "~6.1.1",
54
+ "eslint": "^7.32.0",
55
+ "eslint-config-prettier": "^8.3.0",
56
+ "eslint-plugin-prettier": "^4.0.0",
57
+ "eslint-plugin-vue": "^8.0.3",
58
+ "html-webpack-tags-plugin": "^3.0.2",
59
+ "node-polyfill-webpack-plugin": "^2.0.1",
60
+ "prettier": "^2.4.1",
61
+ "sass": "^1.32.7",
62
+ "sass-loader": "^12.0.0"
63
+ }
64
+ }
@@ -0,0 +1,33 @@
1
+ /* 设置持续时间和动画函数 */
2
+ .sh-pop-in-enter-active,
3
+ .sh-pop-in-leave-active,
4
+ .sh-pop-out-enter-active,
5
+ .sh-pop-out-leave-active,{
6
+ will-change: transform;
7
+ transform-origin: center;
8
+ transition: all 0.1s;
9
+ backface-visibility: hidden;
10
+ perspective: 1000px;
11
+ width: 100%;
12
+ height: 100%;
13
+ position: absolute;
14
+ }
15
+
16
+ .sh-pop-in-enter-from, .sh-pop-out-leave-to {
17
+ transform: translateX(50%);
18
+ opacity: 0;
19
+ }
20
+ .sh-pop-in-enter-to {
21
+ transform: translateX(0);
22
+ opacity: 1;
23
+ }
24
+
25
+ .sh-pop-out-enter-from, .sh-pop-in-leave-to {
26
+ transform: translateX(-50%);
27
+ opacity: 0;
28
+ }
29
+ .sh-pop-out-enter-to {
30
+ transform: translateX(0);
31
+ opacity: 1;
32
+ }
33
+
@@ -0,0 +1,193 @@
1
+ .loadbox{position:relative; text-align:center; }
2
+ .loading{position:relative; text-align:center; margin: auto; width:40px; height:40px; display: inline-block}
3
+ .loadtext{position: relative; text-align: center; width: 100%; margin-top: .5em}
4
+ .loading0{width:10px; height:10px; border-radius:50%; display:inline-block; position:relative; left:-100px; animation:shadowRolling 2s linear infinite}
5
+ .loading1{ border:2px solid var(--theme-color); border-top-color:transparent; border-radius:100%; animation:circle infinite .75s linear}
6
+ .loading2{ border:2px solid var(--theme-color); border-top-color:var(--theme-weak-color); border-right-color:var(--theme-weak-color); border-bottom-color:var(--theme-weak-color); border-radius:100%; animation:circle infinite .75s linear}
7
+ .loading3{ border:2px solid var(--theme-color); border-top-color:transparent; border-bottom-color:transparent; border-radius:100%; animation:arrow-circle infinite .75s linear}
8
+ .loading3:after,.loading3:before{position:absolute; top:24px; left:-2px; border-top:5px solid var(--theme-color); border-right:5px solid transparent; border-left:5px solid transparent; content:""; transform:rotate(-30deg)}
9
+ .loading3:after{top:0; left:20.5px; transform:rotate(150deg)}
10
+ .loading4{ border-radius:100%; background-color:var(--theme-color); animation:ball-scale infinite linear .75s}
11
+ .loading5{ padding-right: 40px}
12
+ .loading5:after,.loading5:before{position:absolute; width:10px; height:10px; content:""; border-radius:100%; background-color:var(--theme-color)}
13
+ .loading5:before{transform:translate(0,0); animation:ball-circle-before infinite 1.5s linear}
14
+ .loading5:after{transform:translate(30px,30px); animation:ball-circle-after infinite 1.5s linear}
15
+ .loading6{display:block; width:6px; height:10px; animation:rectangle infinite 1s ease-in-out -.2s; background-color:var(--theme-color)}
16
+ .loading6:after,.loading6:before{position:absolute; width:6px; height:10px; content:""; background-color:var(--theme-color)}
17
+ .loading6:before{left:-14px; animation:rectangle infinite 1s ease-in-out -.4s}
18
+ .loading6:after{right:-14px; animation:rectangle infinite 1s ease-in-out}
19
+ .loading7{ top:10px; animation:heart infinite .85s linear}
20
+ .loading7:after,.loading7:before{position:absolute; top:0; left:20px; width:20px; height:35px; content:""; transform:rotate(-45deg); transform-origin:0 100%; border-radius:20px 20px 0 0; background:var(--theme-color)}
21
+ .loading7:after{left:0; transform:rotate(45deg); transform-origin:100% 100%}
22
+ .loading8{ padding-top:30px; perspective:200px}
23
+ .loading8:after,.loading8:before{position:absolute; width:15px; height:15px; content:""; animation:jumping .5s infinite alternate; background:rgba(0,0,0,0)}
24
+ .loading8:before{left:0}
25
+ .loading8:after{right:0; animation-delay:.15s}
26
+ .loading9{ animation:satellite 3s infinite linear; border:1px solid var(--theme-color); border-radius:100%}
27
+ .loading9:after,.loading9:before{position:absolute; left:1px; top:1px; width:8px; height:8px; content:""; border-radius:100%; background-color:var(--theme-color); box-shadow:0 0 10px var(--theme-color)}
28
+ .loading9:after{right:0; width:14px; height:14px; margin:11px}
29
+ .loading10{display:block; font-size:0;}
30
+ .loading10:after,.loading10:before{content:''; display:inline-block; border-color: var(--theme-color); float:none; position:absolute; top:50%; left:50%; background:0 0; border-style:solid; border-width:2px; border-radius:100%; animation:ball-clip-rotate-multiple-rotate 1.5s ease-in-out infinite}
31
+ .loading10:before{position:absolute; width:32px; height:32px; border-right-color:transparent; border-left-color:transparent}
32
+ .loading10:after{width:16px; height:16px; border-top-color:transparent; border-bottom-color:transparent; animation-duration:1s; animation-direction:reverse}
33
+ .loading11{display:block; font-size:0; color:var(--theme-color); }
34
+ .loading11:after,.loading11:before{content:''; display:inline-block; float:none; background-color:currentColor; border:0 solid currentColor; position:absolute; top:50%; left:50%; border-radius:100%}
35
+ .loading11:before{position:absolute; width:32px; height:32px; background:0 0; border-style:solid; border-width:2px; border-right-color:transparent; border-left-color:transparent; animation:ball-clip-rotate-pulse-rotate 1s cubic-bezier(.09,.57,.49,.9) infinite}
36
+ .loading11:after{width:16px; height:16px; animation:ball-clip-rotate-pulse-scale 1s cubic-bezier(.09,.57,.49,.9) infinite}
37
+ .loading12{display:block; font-size:0; color:var(--theme-color); }
38
+ .loading12:after,.loading12:before{content:''; display:inline-block; float:none; background-color:currentColor; border:0 solid currentColor; position:absolute; top:0; left:0; width:40px; height:40px; border-radius:100%; opacity:.5; animation:ball-scale-pulse 2s infinite ease-in-out}
39
+ .loading12:after{animation-delay:-1s}
40
+ .loading13{display:block; font-size:0; animation:ball-spin-rotate 2s infinite linear; color:var(--theme-color);}
41
+ .loading13:after,.loading13:before{content:''; display:inline-block; float:none; background-color:currentColor; border:0 solid currentColor; position:absolute; top:0; width:60%; height:60%; border-radius:100%; animation:ball-spin-bounce 2s infinite ease-in-out}
42
+ .loading13:after{top:auto; bottom:0; animation-delay:-1s}
43
+ .loading14{display:block; font-size:0; color:var(--theme-color);}
44
+ .loading14:after,.loading14:before{content:''; display:inline-block; float:none; background-color:currentColor; border:0 solid currentColor; position:absolute; left:0; width:100%}
45
+ .loading14:before{top:-25%; z-index:1; height:100%; border-radius:10%; animation:square-jelly-box-animate .6s -.1s linear infinite}
46
+ .loading14:after{bottom:-9%; height:10%; background:var(--theme-color); border-radius:50%; opacity:.2; animation:square-jelly-box-shadow .6s -.1s linear infinite}
47
+ .loading15{display:block; font-size:0; color:var(--theme-color);}
48
+ .loading15:before{content:''; display:inline-block; float:none; background-color:currentColor; border:0 solid currentColor; width:100%; height:100%; border-radius:0; animation:square-spin 3s 0s cubic-bezier(.09,.57,.49,.9) infinite}
49
+ .loading16{ display:inline-block; padding:0; border-radius:100%; border:5px solid; border-top-color:var(--theme-color); border-bottom-color:rgba(0,0,0,.1); border-left-color:var(--theme-color); border-right-color:rgba(0,0,0,.1); animation:loading-animation 1s ease-in-out infinite}
50
+ .loading17{ border:3px solid var(--theme-weak-color); border-radius:50%; display:inline-block; animation:rotation 1s linear infinite}
51
+ .loading17:after{content:""; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:30px; height:30px; border-radius:50%; border:3px solid transparent; border-bottom-color:var(--theme-color)}
52
+ .loading18{ border:3px solid var(--theme-weak-color); border-radius:50%; display:inline-block; animation:rotation 1s linear infinite}
53
+ .loading18:after{content:""; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:30px; height:30px; border-radius:50%; border:3px solid; border-color:var(--theme-color) transparent}
54
+ .loading19{ border-radius:50%; display:inline-block; border:3px solid; border-color:var(--theme-weak-color) var(--theme-weak-color) transparent; animation:rotation 1s linear infinite}
55
+ .loading19:after{content:""; position:absolute; left:0; right:0; top:0; bottom:0; margin:auto; border:3px solid; border-color:transparent var(--theme-color) var(--theme-color); width:24px; height:24px; border-radius:50%; -webkit-animation:rotationBack .5s linear infinite; animation:rotationBack .5s linear infinite; transform-origin:center center}
56
+ .loading20{ border-radius:50%; display:inline-block; border:3px solid; border-color:var(--theme-weak-color) var(--theme-weak-color) transparent transparent; animation:rotation 1s linear infinite}
57
+ .loading20:after,.loading20:before{content:""; position:absolute; left:0; right:0; top:0; bottom:0; margin:auto; border:3px solid; border-color:transparent transparent var(--theme-color) var(--theme-color); width:30px; height:30px; border-radius:50%; -webkit-animation:rotationBack .5s linear infinite; animation:rotationBack .5s linear infinite; transform-origin:center center}
58
+ .loading20:before{width:32px; height:32px; border-color:var(--theme-weak-color) var(--theme-weak-color) transparent transparent; -webkit-animation:rotation 1.5s linear infinite; animation:rotation 1.5s linear infinite}
59
+ .loading21{ border-radius:50%; display:inline-block; border-top:3px solid var(--theme-color); border-right:3px solid transparent; animation:rotation 1s linear infinite}
60
+ .loading22{ border-radius:50%; display:inline-block; border-top:4px solid var(--theme-weak-color); border-right:4px solid transparent; animation:rotation 1s linear infinite}
61
+ .loading22:after{content:""; position:absolute; left:0; top:0; width:40px; height:40px; border-radius:50%; border-bottom:4px solid var(--theme-color); border-left:4px solid transparent}
62
+ .loading23{width:8px; height:40px; border-radius:4px; display:inline-block; background:currentColor; color:var(--theme-weak-color); animation:loading-animation-m .3s .3s linear infinite alternate}
63
+ .loading23:after,.loading23:before{content:""; width:8px; height:40px; border-radius:4px; background:currentColor; position:absolute; bottom:0; left:20px; animation:loading-animation-p .3s .45s linear infinite alternate}
64
+ .loading23:before{left:-20px; animation-delay:0s}
65
+
66
+ @keyframes circle{
67
+ 0%{transform:rotate(0)}
68
+ 100%{transform:rotate(360deg)}
69
+ }
70
+ @keyframes arrow-circle{
71
+ 0%{transform:rotate(360deg)}
72
+ 100%{transform:rotate(0)}
73
+ }
74
+ @keyframes ball-scale{
75
+ 0%{transform:scale(.1); opacity:1}
76
+ 100%{transform:scale(1); opacity:0}
77
+ }
78
+ @keyframes ball-circle-after{
79
+ 0%{transform:translate(30px,30px)}
80
+ 25%{transform:translate(0,30px)}
81
+ 50%{transform:translate(0,0)}
82
+ 75%{transform:translate(30px,0)}
83
+ 100%{transform:translate(30px,30px)}
84
+ }
85
+ @keyframes ball-circle-before{
86
+ 0%{transform:translate(0,0)}
87
+ 25%{transform:translate(30px,0)}
88
+ 50%{transform:translate(30px,30px)}
89
+ 75%{transform:translate(0,30px)}
90
+ 100%{transform:translate(0,0)}
91
+ }
92
+ @keyframes rectangle{
93
+ 0%,100%,80%{height:20px; box-shadow:0 0 var(--theme-color)}
94
+ 40%{height:30px; box-shadow:0 -20px var(--theme-color)}
95
+ }
96
+ @keyframes heart{
97
+ 0%{transform:scale(.8)}
98
+ 50%{transform:scale(1)}
99
+ 100%{transform:scale(.8)}
100
+ }
101
+ @keyframes jumping{
102
+ 0%{transform:scale(1) translateY(0) rotateX(0); box-shadow:0 0 0 transparent}
103
+ 100%{transform:scale(1.2) translateY(-25px) rotateX(45deg); background:var(--theme-color); box-shadow:0 25px 40px var(--theme-color)}
104
+ }
105
+ @keyframes satellite{from{transform:rotate(0) translateZ(0)}
106
+ to{transform:rotate(360deg) translateZ(0)}
107
+ }
108
+ @keyframes ball-clip-rotate-multiple-rotate{
109
+ 0%{transform:translate(-50%,-50%) rotate(0)}
110
+ 50%{transform:translate(-50%,-50%) rotate(180deg)}
111
+ 100%{transform:translate(-50%,-50%) rotate(360deg)}
112
+ }
113
+ @keyframes ball-clip-rotate-pulse-rotate{
114
+ 0%{transform:translate(-50%,-50%) rotate(0)}
115
+ 50%{transform:translate(-50%,-50%) rotate(180deg)}
116
+ 100%{transform:translate(-50%,-50%) rotate(360deg)}
117
+ }
118
+ @keyframes ball-clip-rotate-pulse-scale{
119
+ 0%,100%{opacity:1; transform:translate(-50%,-50%) scale(1)}
120
+ 30%{opacity:.3; transform:translate(-50%,-50%) scale(.15)}
121
+ }
122
+ @keyframes ball-scale-pulse{
123
+ 0%,100%{transform:scale(0)}
124
+ 50%{transform:scale(1)}
125
+ }
126
+ @keyframes ball-spin-rotate{
127
+ 100%{transform:rotate(360deg)}
128
+ }
129
+ @keyframes ball-spin-bounce{
130
+ 0%,100%{transform:scale(0)}
131
+ 50%{transform:scale(1)}
132
+ }
133
+ @keyframes square-jelly-box-animate{
134
+ 17%{border-bottom-right-radius:10%}
135
+ 25%{transform:translateY(25%) rotate(22.5deg)}
136
+ 50%{border-bottom-right-radius:100%; transform:translateY(50%) scale(1,.9) rotate(45deg)}
137
+ 75%{transform:translateY(25%) rotate(67.5deg)}
138
+ 100%{transform:translateY(0) rotate(90deg)}
139
+ }
140
+ @keyframes square-jelly-box-shadow{50%{transform:scale(1.25,1)}
141
+ }
142
+ @keyframes square-loader{
143
+ 0%{transform:rotate(0)}
144
+ 25%{transform:rotate(180deg)}
145
+ 50%{transform:rotate(180deg)}
146
+ 75%{transform:rotate(360deg)}
147
+ 100%{transform:rotate(360deg)}
148
+ }
149
+ @keyframes square-loader-inner{
150
+ 0%{height:0}
151
+ 25%{height:0}
152
+ 50%{height:100%}
153
+ 75%{height:100%}
154
+ 100%{height:0}
155
+ }
156
+ @keyframes square-spin{
157
+ 0%{transform:perspective(100px) rotateX(0) rotateY(0)}
158
+ 25%{transform:perspective(100px) rotateX(180deg) rotateY(0)}
159
+ 50%{transform:perspective(100px) rotateX(180deg) rotateY(180deg)}
160
+ 75%{transform:perspective(100px) rotateX(0) rotateY(180deg)}
161
+ 100%{transform:perspective(100px) rotateX(0) rotateY(360deg)}
162
+ }
163
+ @keyframes loading-animation{
164
+ from{transform:rotate(0)}
165
+ to{transform:rotate(360deg)}
166
+ }
167
+ @keyframes rotation{
168
+ 0%{transform:rotate(0)}
169
+ 100%{transform:rotate(360deg)}
170
+ }
171
+ @keyframes rotationBack{
172
+ 0%{transform:rotate(0)}
173
+ 100%{transform:rotate(-360deg)}
174
+ }
175
+ @keyframes shadowRolling{
176
+ 0%{box-shadow:0 0 rgba(255,255,255,0),0 0 rgba(255,255,255,0),0 0 rgba(255,255,255,0),0 0 rgba(255,255,255,0)}
177
+ 12%{box-shadow:100px 0 var(--theme-weak-color),0 0 rgba(255,255,255,0),0 0 rgba(255,255,255,0),0 0 rgba(255,255,255,0)}
178
+ 25%{box-shadow:110px 0 var(--theme-weak-color),100px 0 var(--theme-weak-color),0 0 rgba(255,255,255,0),0 0 rgba(255,255,255,0)}
179
+ 36%{box-shadow:120px 0 var(--theme-weak-color),110px 0 var(--theme-weak-color),100px 0 var(--theme-weak-color),0 0 rgba(255,255,255,0)}
180
+ 50%{box-shadow:130px 0 var(--theme-weak-color),120px 0 var(--theme-weak-color),110px 0 var(--theme-weak-color),100px 0 var(--theme-weak-color)}
181
+ 62%{box-shadow:200px 0 rgba(255,255,255,0),130px 0 var(--theme-weak-color),120px 0 var(--theme-weak-color),110px 0 var(--theme-weak-color)}
182
+ 75%{box-shadow:200px 0 rgba(255,255,255,0),200px 0 rgba(255,255,255,0),130px 0 var(--theme-weak-color),120px 0 var(--theme-weak-color)}
183
+ 87%{box-shadow:200px 0 rgba(255,255,255,0),200px 0 rgba(255,255,255,0),200px 0 rgba(255,255,255,0),130px 0 var(--theme-weak-color)}
184
+ 100%{box-shadow:200px 0 rgba(255,255,255,0),200px 0 rgba(255,255,255,0),200px 0 rgba(255,255,255,0),200px 0 rgba(255,255,255,0)}
185
+ }
186
+ @keyframes loading-animation-m{
187
+ 0%{height:40px; transform:translateY(0)}
188
+ 100%{height:10px; transform:translateY(30px)}
189
+ }
190
+ @keyframes loading-animation-p{
191
+ 0%{height:48px}
192
+ 100%{height:4.8px}
193
+ }
@@ -0,0 +1,235 @@
1
+ *{ margin:0; padding:0; box-sizing:border-box; outline: none !important; }
2
+ html{
3
+ font-size: var(--font-size-base);
4
+ line-height: 1.7;
5
+ }
6
+ body, html{
7
+ -webkit-tap-highlight-color: transparent;
8
+ word-break: break-all;
9
+ overflow-y: auto;
10
+ width: 100%;
11
+ height: 100%;
12
+ padding: 0;
13
+ margin: 0;
14
+ color: var(--text-color);
15
+ }
16
+ #app{
17
+ width: 100%;
18
+ height: 100%;
19
+ }
20
+ /*滚动条样式*/
21
+ *::-webkit-scrollbar {/*滚动条整体样式*/
22
+ width: 12px; /*高宽分别对应横竖滚动条的尺寸*/
23
+ height: 12px;
24
+ }
25
+ *::-webkit-scrollbar-track {/*滚动条里面轨道*/
26
+ box-shadow: inset 0 0 2px rgba(0,0,0,0.15);
27
+ border-radius: 0;
28
+ background: var(--theme-weak-color);
29
+ }
30
+ *::-webkit-scrollbar-thumb {/*滚动条里面小方块*/
31
+ border-radius: 20px;
32
+ box-shadow: inset 0 0 0 var(--theme-weak-color);
33
+ background: var(--theme-color);
34
+ border: 1px solid var(--theme-weak-color);
35
+ }
36
+ *::-webkit-scrollbar-thumb:hover {
37
+ opacity: 0.9;
38
+ }
39
+ *::-webkit-scrollbar-thumb:active {
40
+ opacity: 0.9;
41
+ }
42
+ /*边角,即两个滚动条的交汇处*/
43
+ *::-webkit-scrollbar-corner {
44
+ background-color: var(--theme-weak-color);
45
+ }
46
+
47
+ // 公共样式
48
+ .red{ color: var(--error-color) !important; }
49
+ .yellow{ color: var(--warning-color) !important; }
50
+ .green{ color: var(--success-color) !important; }
51
+ .blue{ color: var(--link-color) !important; }
52
+ .primary{ color: var(--theme-color) !important; }
53
+ .bgred{ background: var(--error-color) !important; color: #fff !important; }
54
+ .bgyellow{ background: var(--warning-color) !important; color: #fff !important; }
55
+ .bggreen{ background: var(--success-color) !important; color: #fff !important; }
56
+ .bgblue{ background: var(--link-color) !important; color: #fff !important; }
57
+ .bgprimary{ background: var(--theme-color) !important; color: #fff !important; }
58
+ .hide{ display: none }
59
+ .show{ display: block }
60
+ .hidden{ overflow: hidden !important; }
61
+ input:focus{ box-shadow: none !important; }
62
+ textarea{ resize: none !important; }
63
+ .heightall{ height: 100%; position: relative }
64
+ .fullscreen{ width: 100%; height: 100%; position: absolute; }
65
+ .sh-full-with-title{ height: calc(100% - 41px) }
66
+ .container-line{ margin: 10px 0; }
67
+ .prevent--disabled{ background-color: #ddd !important; border-color: #ddd !important; color: #fff !important; pointerEvents: none !important; cursor: not-allowed !important; }
68
+
69
+ .w-25 {width:25%!important}
70
+ .w-30 {width:30%!important}
71
+ .w-35 {width:35%!important}
72
+ .w-40 {width:40%!important}
73
+ .w-50 {width:50%!important}
74
+ .w-60 {width:60%!important}
75
+ .w-75 {width:75%!important}
76
+ .w-100 {width:100%!important}
77
+ .w-auto {width:auto!important}
78
+ .m-0 {margin:0!important}
79
+ .mt-0,.my-0 {margin-top:0!important}
80
+ .mr-0,.mx-0 {margin-right:0!important}
81
+ .mb-0,.my-0 {margin-bottom:0!important}
82
+ .ml-0,.mx-0 {margin-left:0!important}
83
+ .m-1 {margin:.25rem!important}
84
+ .mt-1,.my-1 {margin-top:.25rem!important}
85
+ .mr-1,.mx-1 {margin-right:.25rem!important}
86
+ .mb-1,.my-1 {margin-bottom:.25rem!important}
87
+ .ml-1,.mx-1 {margin-left:.25rem!important}
88
+ .m-2 {margin:.5rem!important}
89
+ .mt-2,.my-2 {margin-top:.5rem!important}
90
+ .mr-2,.mx-2 {margin-right:.5rem!important}
91
+ .mb-2,.my-2 {margin-bottom:.5rem!important}
92
+ .ml-2,.mx-2 {margin-left:.5rem!important}
93
+ .m-3 {margin:1rem!important}
94
+ .mt-3,.my-3 {margin-top:1rem!important}
95
+ .mr-3,.mx-3 {margin-right:1rem!important}
96
+ .mb-3,.my-3 {margin-bottom:1rem!important}
97
+ .ml-3,.mx-3 {margin-left:1rem!important}
98
+ .m-4 {margin:1.5rem!important}
99
+ .mt-4,.my-4 {margin-top:1.5rem!important}
100
+ .mr-4,.mx-4 {margin-right:1.5rem!important}
101
+ .mb-4,.my-4 {margin-bottom:1.5rem!important}
102
+ .ml-4,.mx-4 {margin-left:1.5rem!important}
103
+ .m-5 {margin:3rem!important}
104
+ .mt-5,.my-5 {margin-top:3rem!important}
105
+ .mr-5,.mx-5 {margin-right:3rem!important}
106
+ .mb-5,.my-5 {margin-bottom:3rem!important}
107
+ .ml-5,.mx-5 {margin-left:3rem!important}
108
+ .p-0 {padding:0!important}
109
+ .pt-0,.py-0 {padding-top:0!important}
110
+ .pr-0,.px-0 {padding-right:0!important}
111
+ .pb-0,.py-0 {padding-bottom:0!important}
112
+ .pl-0,.px-0 {padding-left:0!important}
113
+ .p-1 {padding:.25rem!important}
114
+ .pt-1,.py-1 {padding-top:.25rem!important}
115
+ .pr-1,.px-1 {padding-right:.25rem!important}
116
+ .pb-1,.py-1 {padding-bottom:.25rem!important}
117
+ .pl-1,.px-1 {padding-left:.25rem!important}
118
+ .p-2 {padding:.5rem!important}
119
+ .pt-2,.py-2 {padding-top:.5rem!important}
120
+ .pr-2,.px-2 {padding-right:.5rem!important}
121
+ .pb-2,.py-2 {padding-bottom:.5rem!important}
122
+ .pl-2,.px-2 {padding-left:.5rem!important}
123
+ .p-3 {padding:1rem!important}
124
+ .pt-3,.py-3 {padding-top:1rem!important}
125
+ .pr-3,.px-3 {padding-right:1rem!important}
126
+ .pb-3,.py-3 {padding-bottom:1rem!important}
127
+ .pl-3,.px-3 {padding-left:1rem!important}
128
+ .p-4 {padding:1.5rem!important}
129
+ .pt-4,.py-4 {padding-top:1.5rem!important}
130
+ .pr-4,.px-4 {padding-right:1.5rem!important}
131
+ .pb-4,.py-4 {padding-bottom:1.5rem!important}
132
+ .pl-4,.px-4 {padding-left:1.5rem!important}
133
+ .p-5 {padding:3rem!important}
134
+ .pt-5,.py-5 {padding-top:3rem!important}
135
+ .pr-5,.px-5 {padding-right:3rem!important}
136
+ .pb-5,.py-5 {padding-bottom:3rem!important}
137
+ .pl-5,.px-5 {padding-left:3rem!important}
138
+ .m-auto {margin:auto!important}
139
+ .mt-auto,.my-auto {margin-top:auto!important}
140
+ .mr-auto,.mx-auto {margin-right:auto!important}
141
+ .mb-auto,.my-auto {margin-bottom:auto!important}
142
+ .ml-auto,.mx-auto {margin-left:auto!important}
143
+ .textcenter{ text-align: center !important; }
144
+ .textright{ text-align: right !important; }
145
+ .textleft{ text-align: left !important; }
146
+ .floatleft{ float: left }
147
+ .floatright{ float: right }
148
+
149
+
150
+ // 清除原生input number 右侧操作符
151
+ input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearance: none; }
152
+ input[type="number"]{ -moz-appearance: textfield; }
153
+ .disabled-gray{ filter: grayscale(1); -webkit-filter: grayscale(1); -moz-filter: grayscale(1); -o-filter: grayscale(1); filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);}
154
+
155
+
156
+ // iview 样式调整
157
+ .ivu-layout{ background: transparent }
158
+ .ivu-drawer-content{ background-color: var(--body-background) }
159
+
160
+ // 主题方块
161
+ .sh-theme-pick{
162
+ width: 16px;
163
+ height: 16px;
164
+ border-radius: 3px;
165
+ background: var(--theme-color);
166
+ display: inline-block;
167
+ vertical-align: middle;
168
+ margin-right: 5px;
169
+ }
170
+
171
+ // 布局样式
172
+ .sh-layout-wrap {
173
+ background-color: var(--main-background);
174
+ .header-item{
175
+ padding: 0 8px;
176
+ cursor: pointer;
177
+ &:hover{
178
+ background-color: rgba(0, 0, 0, .1);
179
+ }
180
+ }
181
+ .sh-layout-layout-sider{
182
+ height: 100%;
183
+ flex-direction: row;
184
+ }
185
+ .sh-layout-layout-content{
186
+ overflow-x: hidden;
187
+ position: relative;
188
+ margin: 9px;
189
+ }
190
+ .sh-layout-layout-content-inner{
191
+ width: 100%;
192
+ height: 100%;
193
+ overflow-x: hidden;
194
+ overflow-y: auto;
195
+ position: absolute;
196
+ }
197
+ }
198
+ .sh-layout-drawer-sider{
199
+ .sh-sys-logo{
200
+ height: auto;
201
+ max-height: 100px;
202
+ }
203
+ }
204
+
205
+ //sh空数据风格
206
+ .sh-empty{
207
+ text-align: center;
208
+ line-height: 2;
209
+ padding: 10px;
210
+ }
211
+
212
+ //sh列表list风格
213
+ .sh-list{
214
+ }
215
+
216
+ // sh-vxeform无底部提交按钮,做公共样式
217
+ .sh-common-footer{
218
+ padding: 10px;
219
+ box-sizing: border-box;
220
+ display: flex;
221
+ align-items: center;
222
+ justify-content: space-between;
223
+ .vxe-button + .vxe-button,
224
+ .vxe-button + .vxe-button--dropdown,
225
+ .vxe-input + .vxe-button,
226
+ .vxe-input + .vxe-button--dropdown{
227
+ margin-left: 5px;
228
+ }
229
+ .sh-table-form-buttons-left{
230
+ flex: 1;
231
+ }
232
+ .sh-table-form-buttons-right{
233
+ }
234
+ }
235
+
@@ -0,0 +1,52 @@
1
+ /**
2
+ * @author: 大山
3
+ * @date: 2021/4/1 8:58
4
+ * @Description:自定义主题系列
5
+ */
6
+ :root{
7
+ --theme-color: #1890ff;
8
+ --theme-weak-color: #e7f1ff;
9
+ --font-size-base: 14px;
10
+ //暗色主题侧边栏
11
+ --theme-text-color : hsla(0,0%,100%,.85);
12
+ --theme-active-color : rgba(50,50,50,0.2);
13
+ --primary-color : #1890ff; // 全局主色
14
+ --danger-color : #ff3552; // 危险色
15
+ --link-color : #1890ff; // 链接色
16
+ --success-color : #25ad4a; // 成功色
17
+ --warning-color : #faad14; // 警告色
18
+ --error-color : #f5222d; // 错误色
19
+ --info-color : #2db7f5; // 信息色
20
+ --body-background : #ffffff;
21
+ --main-background : #f5f7f9;
22
+ --header-color : #f8f8f9;
23
+ --stripe-color : #fafafa;
24
+ --hover-color : #f5f7fa;
25
+ --title-color : #17233d;
26
+ --text-color : #515a6e;
27
+ --border-color : #e8e8e8;
28
+ --font-family: "Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif;
29
+ --border-radius: 0px;
30
+ }
31
+
32
+ .sh-theme-black{ --theme-color: #191a23; --theme-weak-color: #f0f0f0; }
33
+ .sh-theme-blue{ --theme-color: #1890ff; --theme-weak-color: #e7f1ff; } // 海蓝
34
+ .sh-theme-dusk{ --theme-color: #e62340; --theme-weak-color: #ffe5e5; } // 薄暮
35
+ .sh-theme-volcano{ --theme-color: #fa541c; --theme-weak-color: #ffe3da; } // 火山
36
+ .sh-theme-sunset{ --theme-color: #FAAD14; --theme-weak-color: #fff2db; } // 日暮
37
+ .sh-theme-mqing{ --theme-color: #13C2C2; --theme-weak-color: #dbffff; } // 明青
38
+ .sh-theme-aurora-green{ --theme-color: #00b791; --theme-weak-color: #d8fff7; } // 极光绿
39
+ .sh-theme-aurora-blue{ --theme-color: #003366; --theme-weak-color: #e2f1ff; } // 极客蓝
40
+ .sh-theme-purple{ --theme-color: #722ED1; --theme-weak-color: #e6cdff; } // 酱紫
41
+ .sh-theme-pink{ --theme-color: #ff5d7a; --theme-weak-color: #ffccd6; } // 少女
42
+
43
+ .sh-dark-mode{
44
+ --body-background: #141414;
45
+ --main-background: #0a0a0a;
46
+ --theme-weak-color: #222222;
47
+ --header-color: #222222;
48
+ --stripe-color: #040404;
49
+ --hover-color: #555555;
50
+ --border-color: #333;
51
+ --text-color: #999;
52
+ }