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
@@ -0,0 +1,24 @@
1
+ import ViewUI from 'view-ui-plus'
2
+ import 'view-ui-plus/dist/styles/viewuiplus.css'
3
+ import './css/index.scss'
4
+
5
+ ViewUI.Message.config({
6
+ background: true,
7
+ duration: 3
8
+ })
9
+
10
+ const index = {
11
+ install: function (Vue) {
12
+ let ViewUiOption = {
13
+ transfer: true,
14
+ capture: false,
15
+ select: {
16
+ arrow: 'md-arrow-dropdown',
17
+ arrowSize: 20
18
+ }
19
+ }
20
+ Vue.use(ViewUI, ViewUiOption)
21
+ Vue.config.globalProperties.$ViewUI = ViewUI
22
+ }
23
+ }
24
+ export default index
@@ -0,0 +1,87 @@
1
+ const msgDefault = {
2
+ title: '',
3
+ className: 'globalMessageBox',
4
+ draggable: false
5
+ }
6
+
7
+ const mixin = {
8
+ methods: {
9
+ // 全局msg提示方法
10
+ msg(options) {
11
+ return this.$vTable.modal.message(options)
12
+ },
13
+ msginfo(options) {
14
+ let opts = Object.assign({}, msgDefault, typeof options === 'string' ? { content: options, status: 'info' } : options)
15
+ return this.msg(opts)
16
+ },
17
+ msgsuccess(options) {
18
+ let opts = Object.assign({}, msgDefault, typeof options === 'string' ? { content: options, status: 'success' } : options)
19
+ return this.msg(opts)
20
+ },
21
+ msgwarning(options) {
22
+ let opts = Object.assign({}, msgDefault, typeof options === 'string' ? { content: options, status: 'warning' } : options)
23
+ return this.msg(opts)
24
+ },
25
+ msgerror(options) {
26
+ let opts = Object.assign({}, msgDefault, typeof options === 'string' ? { content: options, status: 'error' } : options)
27
+ return this.msg(opts)
28
+ },
29
+ msgconfirm(options) {
30
+ return new Promise(async resolve => {
31
+ let opts = Object.assign({}, typeof options === 'string' ? { content: options } : options)
32
+ let type = await this.$vTable.modal.confirm({
33
+ showHeader: Boolean(opts.title),
34
+ ...opts
35
+ })
36
+ if (type === 'confirm') resolve(type)
37
+ })
38
+ },
39
+ // 全局路由跳
40
+ routerTo(route) {
41
+ let { name, params, query } = {}
42
+ if (typeof route === 'string') name = route
43
+ else {
44
+ name = route.name
45
+ params = route.params
46
+ query = route.query
47
+ }
48
+ if (name.indexOf('isTurnByHref_') > -1) {
49
+ window.open(name.split('_')[1])
50
+ return
51
+ }
52
+ try {
53
+ this.$router.push({ name, params, query })
54
+ } catch (e) {
55
+ this.$router.replace({ path: '/401' })
56
+ }
57
+ },
58
+ // 全局路由返回上一页
59
+ routerback() {
60
+ this.$router.back()
61
+ },
62
+ // 全局判断是否有子节点
63
+ hasChildren(item, name = 'children') {
64
+ return item && item[name] && Array.isArray(item[name]) && item[name].length > 0
65
+ },
66
+ // 全局格式化名称
67
+ formatTitle(item) {
68
+ let { title, __titleIsFunction__ } = item.meta || {}
69
+ if (!title) return false
70
+ if (this.$config.useI18n) {
71
+ if (title.includes('{{') && title.includes('}}')) title = title.replace(/({{[\s\S]+?}})/, (m, str) => str.replace(/{{([\s\S]*)}}/, (m, _) => this.$t(_.trim())))
72
+ else if (__titleIsFunction__) title = item.meta.title
73
+ else title = this.$t(item.name)
74
+ } else title = (item.meta && item.meta.title) || item.name
75
+ return title
76
+ },
77
+ // 配置继承方法
78
+ getExtendConfig(config = {}, name, module) {
79
+ let moduleConfig = config[module] || config.default || {}
80
+ let nameConfig = moduleConfig[name]
81
+ return this.$vUtils.clone(nameConfig, true)
82
+ }
83
+ },
84
+ watch: {}
85
+ }
86
+
87
+ export default mixin
@@ -0,0 +1,454 @@
1
+ /* 自定义主题覆盖部分开始 */
2
+ $theme-color: var(--theme-color);
3
+ $theme-weak-color: var(--theme-weak-color);
4
+
5
+ @import "variable.scss";
6
+ @import 'vxe-table/styles/index.scss';
7
+
8
+ input:focus, textarea:focus,
9
+ .vxe-form--item .vxe-input input.vxe-input--inner:focus,
10
+ .vxe-form--item .vxe-textarea textarea.vxe-textarea--inner:focus,
11
+ .vxe-pager .vxe-pager--wrapper .vxe-input input.vxe-input--inner:focus,
12
+ .vxe-pager .vxe-pager--jump input.vxe-pager--goto:focus{
13
+ border-color: $theme-color;
14
+ }
15
+
16
+ // 紫色按钮
17
+ .vxe-button.type--button.theme--purple,
18
+ .vxe-button.type--button.theme--purple:hover {
19
+ color: #fff;
20
+ }
21
+ .vxe-button.type--button.theme--purple {
22
+ background-color: #800080;
23
+ border-color: #800080;
24
+ }
25
+ .vxe-button.type--button.theme--purple:active {
26
+ background-color: #a50aa5;
27
+ border-color: #a50aa5;
28
+ }
29
+ // 主题色按钮
30
+ .vxe-button.type--button.theme--theme,
31
+ .vxe-button.type--button.theme--theme:hover {
32
+ color: #fff;
33
+ }
34
+ .vxe-button.type--button.theme--theme {
35
+ background-color: $theme-color;
36
+ border-color: $theme-color;
37
+ }
38
+ .vxe-button.type--button.theme--theme:active {
39
+ background-color: $theme-color;
40
+ border-color: $theme-color;
41
+ opacity: 0.8;
42
+ }
43
+ .vxe-button.type--button.theme--theme.is--disabled, .vxe-button.type--button.theme--purple.is--disabled{
44
+ opacity: 0.8;
45
+ color: #eee;
46
+ }
47
+
48
+ .vxe-pager.is--background .vxe-pager--jump-next:not(.is--disabled).is--active, .vxe-pager.is--background .vxe-pager--jump-prev:not(.is--disabled).is--active, .vxe-pager.is--background .vxe-pager--num-btn:not(.is--disabled).is--active, .vxe-pager.is--perfect .vxe-pager--jump-next:not(.is--disabled).is--active, .vxe-pager.is--perfect .vxe-pager--jump-prev:not(.is--disabled).is--active, .vxe-pager.is--perfect .vxe-pager--num-btn:not(.is--disabled).is--active{
49
+ background-color: $theme-color;
50
+ }
51
+ .vxe-pager.is--background .vxe-pager--jump-next:not(.is--disabled).is--active:focus, .vxe-pager.is--background .vxe-pager--jump-prev:not(.is--disabled).is--active:focus, .vxe-pager.is--background .vxe-pager--num-btn:not(.is--disabled).is--active:focus, .vxe-pager.is--perfect .vxe-pager--jump-next:not(.is--disabled).is--active:focus, .vxe-pager.is--perfect .vxe-pager--jump-prev:not(.is--disabled).is--active:focus, .vxe-pager.is--perfect .vxe-pager--num-btn:not(.is--disabled).is--active:focus{
52
+ border-color: $theme-color;
53
+ box-shadow: none;
54
+ }
55
+ .vxe-pager.is--background .vxe-pager--jump-next:not(.is--disabled).is--active:hover, .vxe-pager.is--background .vxe-pager--jump-prev:not(.is--disabled).is--active:hover, .vxe-pager.is--background .vxe-pager--num-btn:not(.is--disabled).is--active:hover, .vxe-pager.is--perfect .vxe-pager--jump-next:not(.is--disabled).is--active:hover, .vxe-pager.is--perfect .vxe-pager--jump-prev:not(.is--disabled).is--active:hover, .vxe-pager.is--perfect .vxe-pager--num-btn:not(.is--disabled).is--active:hover{
56
+ background-color: $theme-color;
57
+ }
58
+ .vxe-pager.is--border .vxe-pager--num-btn.is--active{
59
+ border-color: $theme-color;
60
+ }
61
+ .vxe-table--render-default.border--default .vxe-table--header-wrapper, .vxe-table--render-default.border--full .vxe-table--header-wrapper, .vxe-table--render-default.border--outer .vxe-table--header-wrapper{
62
+ background-color: var(--header-color);
63
+ }
64
+ .vxe-modal--wrapper .vxe-modal--header{
65
+ background-color: $theme-weak-color;
66
+ }
67
+ .is--checked.vxe-table--filter-option .vxe-checkbox--icon, .is--checked.vxe-export--panel-column-option .vxe-checkbox--icon, .vxe-table--render-default .is--checked.vxe-cell--checkbox .vxe-checkbox--icon, .is--checked.vxe-custom--option .vxe-checkbox--icon, .is--checked.vxe-checkbox .vxe-checkbox--icon, .is--indeterminate.vxe-table--filter-option .vxe-checkbox--icon, .is--indeterminate.vxe-export--panel-column-option .vxe-checkbox--icon, .vxe-table--render-default .is--indeterminate.vxe-cell--checkbox .vxe-checkbox--icon, .is--indeterminate.vxe-custom--option .vxe-checkbox--icon, .is--indeterminate.vxe-checkbox .vxe-checkbox--icon{
68
+ color: $theme-color !important;
69
+ &:hover{
70
+ color: $theme-color;
71
+ }
72
+ }
73
+ .is--checked.vxe-radio .vxe-radio--icon, .vxe-table--render-default .is--checked.vxe-cell--radio .vxe-radio--icon{
74
+ color: $theme-color !important;
75
+ &:hover{
76
+ color: $theme-color;
77
+ }
78
+ }
79
+ .vxe-checkbox:not(.is--disabled) > input:focus + .vxe-checkbox--icon{
80
+ color: $theme-color;
81
+ box-shadow: none;
82
+ }
83
+ .vxe-table--render-default .is--checked.vxe-cell--radio .vxe-radio--checked-icon:before{
84
+ background-color: $theme-color;
85
+ border-color: $theme-color;
86
+ }
87
+ /* 自定义主题覆盖部分结束 */
88
+
89
+
90
+
91
+ // 按钮
92
+ button:focus, .vxe-button.type--button:not(.is--disabled):focus{
93
+ box-shadow: none;
94
+ }
95
+
96
+ // 表单
97
+ .vxe-form{
98
+ font-family: inherit;
99
+ background: transparent;
100
+ color: inherit;
101
+ .vxe-form--item{
102
+ float: none;
103
+ &.is--error{
104
+ .sh-code-editor{
105
+ border-color: var(--error-color) !important;
106
+ }
107
+ }
108
+ .vxe-form--item-inner{
109
+ }
110
+ }
111
+ .vxe-form-slots{
112
+ display: block;
113
+ }
114
+ }
115
+
116
+ // 输入框
117
+ .vxe-input{
118
+ .vxe-input--suffix{
119
+ z-index: 10;
120
+ }
121
+ .vxe-input--extra-suffix{
122
+ }
123
+ }
124
+
125
+ // 复选框
126
+ .vxe-checkbox{
127
+ &> input + .vxe-checkbox--icon{
128
+ width: 1.15em;
129
+ height: 1.15em;
130
+ }
131
+ }
132
+
133
+ // 单选框
134
+ .vxe-radio{
135
+ &> input + .vxe-radio--icon{
136
+ width: 1.15em;
137
+ height: 1.15em;
138
+ }
139
+ &> input:checked + .vxe-radio--icon:before{
140
+ width: .5em;
141
+ height: .5em;
142
+ }
143
+ }
144
+
145
+ // 下拉容器
146
+ .vxe-pulldown--panel{
147
+ &.animat--leave {
148
+ transform-style: unset;
149
+ }
150
+ .vxe-pulldown--wrapper{
151
+ box-shadow: 0 0 6px 2px rgba(0,0,0,0.1);
152
+ padding: 0;
153
+ border-radius: 4px;
154
+ overflow: hidden;
155
+ }
156
+ }
157
+
158
+ // 模态框
159
+ .vxe-modal--wrapper{
160
+ width: calc(100%);
161
+ height: calc(100%);
162
+ &.vxe-modal--preview{
163
+ .vxe-modal--box{
164
+ .vxe-modal--content{
165
+ text-align: center;
166
+ }
167
+ }
168
+ }
169
+ &.type--modal {
170
+ .vxe-modal--footer{
171
+ border-top: 1px solid var(--border-color);
172
+ padding-top: 0.5rem;
173
+ padding-bottom: 0.5em;
174
+ }
175
+ }
176
+ &.type--confirm {
177
+ .vxe-modal--box{
178
+ width: 320px;
179
+ .vxe-modal--body{
180
+ padding: 10px;
181
+ }
182
+ }
183
+ }
184
+ .vxe-modal--box{
185
+ max-height: 100%;
186
+ border: 1px solid $theme-weak-color;
187
+ }
188
+ }
189
+
190
+ // 加载器
191
+ .vxe-loading{
192
+ min-height: 80px;
193
+ }
194
+
195
+ // 表格
196
+ .vxe-table{
197
+ &.vxe-table--render-default{
198
+ font-family: inherit;
199
+ color: inherit;
200
+ &.vxe-editable{
201
+ .vxe-body--column{
202
+ &.col--actived{
203
+ background: var(--theme-weak-color);
204
+ }
205
+ }
206
+ }
207
+ .vxe-table--render-wrapper{
208
+ .vxe-cell{
209
+ padding-left: 2px;
210
+ padding-right: 2px;
211
+ }
212
+ .vxe-header--column{
213
+ .vxe-cell{
214
+ display: inline-flex;
215
+ align-items: center;
216
+ vertical-align: middle;
217
+ .vxe-cell--title{
218
+ white-space: normal;
219
+ line-height: 1.3;
220
+ }
221
+ }
222
+ }
223
+ .vxe-footer--column{
224
+ .vxe-cell{
225
+ width: 100% !important;
226
+ }
227
+ }
228
+ }
229
+ .vxe-cell-href-a{
230
+ text-decoration: underline;
231
+ }
232
+ .vxe-cell--sort{
233
+ font-size: .9em;
234
+ }
235
+ .vxe-body--row.row--new > .vxe-body--column:before{
236
+ top: calc(var(--vxe-table-cell-dirty-width) * -1);
237
+ left: calc(var(--vxe-table-cell-dirty-width) * -1)
238
+ }
239
+ }
240
+ }
241
+
242
+ // 表格grid
243
+ .vxe-grid{
244
+ &.is--maximize{
245
+ padding: 0;
246
+ }
247
+ &.is--hidecheck{
248
+ .vxe-table--render-default{
249
+ .vxe-cell--checkbox,.vxe-cell--radio{
250
+ padding-left: 0;
251
+ }
252
+ .vxe-checkbox--label, .vxe-radio--label{
253
+ padding-left: 0;
254
+ }
255
+ .vxe-cell--radio .vxe-radio--icon, .vxe-radio .vxe-radio--icon,
256
+ .vxe-table--render-wrapper .vxe-cell .vxe-cell--checkbox .vxe-checkbox--icon{
257
+ width: 0;
258
+ overflow: hidden;
259
+ font-size: 0;
260
+ }
261
+ }
262
+ }
263
+ .vxe-grid--form-wrapper{
264
+ .vxe-form{
265
+ &.vxe-form-collapsed{
266
+ &.vxe-form-collapsed-open{
267
+ .vxe-form--wrapper{
268
+ max-height: 200px;
269
+ overflow: auto;
270
+ }
271
+ }
272
+ &.vxe-form-collapsed-close{
273
+ .vxe-form--wrapper{
274
+ }
275
+ }
276
+ }
277
+ .vxe-form-slots{
278
+ display: block;
279
+ }
280
+ }
281
+ }
282
+ }
283
+
284
+ // 渲染器
285
+ .vxe-filter--wrap{
286
+ padding: 8px;
287
+ box-sizing: border-box;
288
+ .vxe-filter--input{
289
+ }
290
+ .vxe-filter--footer{
291
+ margin-top: 8px;
292
+ padding: 5px 0 2px;
293
+ .vxe-button{
294
+ margin-left: 0;
295
+ &:focus{
296
+ box-shadow: none;
297
+ }
298
+ }
299
+ }
300
+ }
301
+
302
+ // button 间隔覆盖
303
+ .vxe-input + .vxe-button, .vxe-input + .vxe-button--dropdown, .vxe-button + .vxe-button, .vxe-button + .vxe-button--dropdown{
304
+ margin-left: 5px;
305
+ }
306
+
307
+ // 自定义渲染器样式
308
+ .vxe-render--inner {
309
+ display: inline;
310
+ &.vxe-render--inner--readonly{
311
+ position: relative;
312
+ &::before{
313
+ content: '';
314
+ position: absolute;
315
+ left: 0;
316
+ right: 0;
317
+ top: 0;
318
+ bottom: 0;
319
+ z-index: 2;
320
+ }
321
+ }
322
+ &.form-render {
323
+ display: inline-flex;
324
+ align-items: center;
325
+ width: 100%;
326
+ vertical-align: middle;
327
+ .prefix, .suffix{
328
+ max-width: 150px;
329
+ padding: 0 8px;
330
+ }
331
+ .vxe-radio{
332
+ vertical-align: super;
333
+ }
334
+ }
335
+ &.td-render{}
336
+ .prefix, .suffix{
337
+ white-space: nowrap;
338
+ }
339
+ .vxe-render--inner-img{
340
+ display: inline-block;
341
+ vertical-align: top;
342
+ max-width: 100%;
343
+ .render-slot-img{
344
+ width: 100%;
345
+ height: 100%
346
+ }
347
+ }
348
+ }
349
+
350
+ .vxe-table--render-default .vxe-table--render-wrapper .vxe-header--column .vxe-cell .header-bill-box,
351
+ .vxe-table--render-default .vxe-table--render-wrapper .vxe-footer--column .vxe-cell .header-bill-box,
352
+ .vxe-render--inner.td-render.td-all{
353
+ position: absolute;
354
+ left: 0;
355
+ right: 0;
356
+ top: 0;
357
+ bottom: 0;
358
+ display: flex;
359
+ align-items: center;
360
+ .cell-bill-number{
361
+ height: 100%;
362
+ flex: 1;
363
+ position: relative;
364
+ display: inline-flex;
365
+ align-items: center;
366
+ justify-content: center;
367
+ overflow: hidden;
368
+ &:not(:last-child):after{
369
+ content: '';
370
+ display: block;
371
+ position: absolute;
372
+ top: 0;
373
+ right: 0;
374
+ bottom: 0;
375
+ width: 1px;
376
+ background-color: var(--border-color);
377
+ }
378
+ &.basic:after{
379
+ background-color: var(--danger-color);
380
+ }
381
+ &.commafy:after{
382
+ background-color: var(--success-color);
383
+ }
384
+ }
385
+ }
386
+
387
+ .vxe-table--render-default .vxe-table--render-wrapper .vxe-header--column{
388
+ &.header-bill-cell{
389
+ .vxe-cell{
390
+ position: absolute;
391
+ top: 0;
392
+ bottom: 0;
393
+ height: 50%;
394
+ left: 0;
395
+ right: 0;
396
+ justify-content: center;
397
+ overflow: visible;
398
+ .header-bill-box{
399
+ top: 100%;
400
+ right: -2px;
401
+ height: 100%;
402
+ border-top: 1px solid var(--border-color);
403
+ }
404
+ }
405
+ }
406
+ .header-money-unit-text{
407
+ color: var(--theme-color);
408
+ font-size: .9em;
409
+ }
410
+ }
411
+
412
+ // 深色模式兼容
413
+ .theme--dark {
414
+ .vxe-table--render-default .vxe-body--row.row--stripe:not(.row--checked):not(.row--current):not(.row--hover){ background-color: rgba(255,255,255,.2); }
415
+
416
+ .vxe-table{
417
+ &.vxe-table--render-default{
418
+ .vxe-table--body-wrapper{
419
+ background: transparent;
420
+ }
421
+ .vxe-table--fixed-left-wrapper, .vxe-table--fixed-right-wrapper{
422
+ background-color: rgba(0,0,0,.8);
423
+ }
424
+ .vxe-body--row{
425
+ &.row--current{
426
+ background-color: rgba(0,0,0,1);
427
+ }
428
+ &.row--checked{
429
+ background-color: rgba(255,255,255,.6);
430
+ }
431
+ &.row--hover{
432
+ background-color: rgba(255,255,255,.4);
433
+ }
434
+ }
435
+ }
436
+ }
437
+ }
438
+
439
+
440
+ // 火狐浏览器bug修复
441
+ @-moz-document url-prefix(){
442
+ .vxe-grid{
443
+ &.is--hasfooter{
444
+ .vxe-table--render-default{
445
+ .vxe-table--render-wrapper{
446
+ .vxe-table--body-wrapper{
447
+ // 针对火狐浏览器出现双滚动条问题,后期看vxe升级是否可优化掉
448
+ overflow-x: hidden !important; /*firefox*/
449
+ }
450
+ }
451
+ }
452
+ }
453
+ }
454
+ }