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.
- package/.eslintrc.js +21 -0
- package/README.en.md +36 -0
- package/README.md +39 -0
- package/package.json +64 -0
- package/packages/assets/css/animated.scss +33 -0
- package/packages/assets/css/loader.scss +193 -0
- package/packages/assets/css/main.scss +235 -0
- package/packages/assets/css/theme.scss +52 -0
- package/packages/assets/icons/demo.css +539 -0
- package/packages/assets/icons/iconfont.css +415 -0
- package/packages/assets/icons/iconfont.js +1 -0
- package/packages/assets/icons/iconfont.json +709 -0
- package/packages/assets/icons/iconfont.ttf +0 -0
- package/packages/assets/icons/iconfont.woff +0 -0
- package/packages/assets/icons/iconfont.woff2 +0 -0
- package/packages/assets/img/image-error.png +0 -0
- package/packages/assets/img/square-image.png +0 -0
- package/packages/components/global-components/sh-card/index.vue +122 -0
- package/packages/components/global-components/sh-code-editor/index.vue +237 -0
- package/packages/components/global-components/sh-corner/index.vue +236 -0
- package/packages/components/global-components/sh-count-to/index.vue +46 -0
- package/packages/components/global-components/sh-empty/index.vue +43 -0
- package/packages/components/global-components/sh-header/index.vue +269 -0
- package/packages/components/global-components/sh-icon/icons.vue +32 -0
- package/packages/components/global-components/sh-icon/index.vue +27 -0
- package/packages/components/global-components/sh-iv-form/components/iv-group-item.vue +57 -0
- package/packages/components/global-components/sh-iv-form/components/iv-single-item.vue +76 -0
- package/packages/components/global-components/sh-iv-form/index.vue +255 -0
- package/packages/components/global-components/sh-layout/index.vue +142 -0
- package/packages/components/global-components/sh-loading/index.vue +42 -0
- package/packages/components/global-components/sh-noticebar/index.vue +201 -0
- package/packages/components/global-components/sh-preview/index.vue +62 -0
- package/packages/components/global-components/sh-pull-refresh/index.vue +290 -0
- package/packages/components/global-components/sh-result/index.vue +88 -0
- package/packages/components/global-components/sh-sheet/index.vue +173 -0
- package/packages/components/global-components/sh-upload/components/u-img.vue +63 -0
- package/packages/components/global-components/sh-upload/components/u-list.vue +100 -0
- package/packages/components/global-components/sh-upload/index.vue +418 -0
- package/packages/components/global-components/sh-vxe-form/components/form-item.vue +25 -0
- package/packages/components/global-components/sh-vxe-form/css/index.scss +55 -0
- package/packages/components/global-components/sh-vxe-form/index.vue +115 -0
- package/packages/components/global-components/sh-vxe-form/js/methods.js +170 -0
- package/packages/components/global-components/sh-vxe-form/js/props.js +63 -0
- package/packages/components/global-components/sh-vxe-form/mixin/defaultData.js +33 -0
- package/packages/components/global-components/sh-vxe-list/index.vue +129 -0
- package/packages/components/global-components/sh-vxe-modal/index.vue +209 -0
- package/packages/components/global-components/sh-vxe-query/index.vue +286 -0
- package/packages/components/global-components/sh-vxe-table/components/importModal.vue +377 -0
- package/packages/components/global-components/sh-vxe-table/css/index.scss +94 -0
- package/packages/components/global-components/sh-vxe-table/index.vue +350 -0
- package/packages/components/global-components/sh-vxe-table/js/excel_to_json.js +313 -0
- package/packages/components/global-components/sh-vxe-table/js/methods.js +614 -0
- package/packages/components/global-components/sh-vxe-table/js/props.js +311 -0
- package/packages/components/global-components/sh-vxe-table/mixin/defaultData.js +116 -0
- package/packages/components/global-components/sh-vxe-toolbar/index.vue +172 -0
- package/packages/components/global-components/sh-vxe-tree/components/table-tree.vue +251 -0
- package/packages/components/global-components/sh-vxe-tree/css/index.scss +20 -0
- package/packages/components/global-components/sh-vxe-tree/index.vue +85 -0
- package/packages/components/global-components/sh-vxe-tree/js/props.js +120 -0
- package/packages/components/global-components/sh-vxe-tree/js/treeMethods.js +171 -0
- package/packages/components/global-components/sh-vxe-tree/mixin/defaultData.js +48 -0
- package/packages/components/global-components/sh-vxe-tree/vxe-direct-tree.vue +202 -0
- package/packages/components/global-components/sh-vxe-tree/vxe-select-tree.vue +291 -0
- package/packages/components/global-components/sh-water-fall/index.vue +87 -0
- package/packages/components/global-components/sh-word/index.vue +110 -0
- package/packages/components/index.js +64 -0
- package/packages/components/other-components/sh-cron-modal/components/cron-content.vue +287 -0
- package/packages/components/other-components/sh-cron-modal/css/index.scss +45 -0
- package/packages/components/other-components/sh-cron-modal/index.vue +67 -0
- package/packages/components/other-components/sh-cron-modal/mixin/cron-box.js +169 -0
- package/packages/components/other-components/sh-cron-modal/tabs/cron-day-box.vue +92 -0
- package/packages/components/other-components/sh-cron-modal/tabs/cron-hour-box.vue +56 -0
- package/packages/components/other-components/sh-cron-modal/tabs/cron-minute-box.vue +56 -0
- package/packages/components/other-components/sh-cron-modal/tabs/cron-month-box.vue +56 -0
- package/packages/components/other-components/sh-cron-modal/tabs/cron-second-box.vue +56 -0
- package/packages/components/other-components/sh-cron-modal/tabs/cron-week-box.vue +115 -0
- package/packages/components/other-components/sh-cron-modal/tabs/cron-year-box.vue +46 -0
- package/packages/components/other-components/sh-cron-modal/utils/index.js +52 -0
- package/packages/components/other-components/sh-markdown/index.vue +170 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/ar.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/az.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/bg_BG.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/bn_BD.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/ca.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/cs.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/cy.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/da.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/de.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/dv.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/el.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/eo.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/es.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/es_MX.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/et.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/eu.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/fa.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/fi.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/fr_FR.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/ga.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/gl.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/he_IL.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/hi.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/hr.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/hu_HU.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/hy.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/id.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/is_IS.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/it.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/ja.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/kab.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/kk.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/ko_KR.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/ku.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/lt.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/lv.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/nb_NO.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/ne.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/nl.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/nl_BE.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/oc.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/pl.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/pt_BR.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/ro.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/ru.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/sk.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/sl_SI.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/sq.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/sr.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/sv_SE.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/ta.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/tg.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/th_TH.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/tr.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/ug.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/uk.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/vi.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/zh-Hans.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/content/dark/content.css +72 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/content/dark/content.min.css +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/content/default/content.css +67 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/content/default/content.min.css +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/content/document/content.css +72 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/content/document/content.min.css +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/content/writer/content.css +68 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/content/writer/content.min.css +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/content.css +732 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/content.inline.css +726 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/content.inline.min.css +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/content.min.css +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/content.mobile.css +29 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/content.mobile.min.css +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff +0 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/skin.css +3047 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/skin.min.css +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/skin.mobile.css +673 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/skin.mobile.min.css +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/skin.shadowdom.css +37 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/skin.shadowdom.min.css +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.css +714 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.inline.css +726 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.inline.min.css +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.min.css +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.mobile.css +29 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.mobile.min.css +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff +0 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.css +3047 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.min.css +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.mobile.css +673 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.mobile.min.css +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.shadowdom.css +37 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css +7 -0
- package/packages/components/other-components/sh-menu-card/index.vue +224 -0
- package/packages/components/other-components/sh-menu-card/menu-box.vue +68 -0
- package/packages/components/other-components/sh-system-tip/index.vue +113 -0
- package/packages/css/index.js +6 -0
- package/packages/directive/directives.js +27 -0
- package/packages/directive/index.js +19 -0
- package/packages/directive/module/draggable.js +42 -0
- package/packages/index.js +40 -0
- package/packages/iview/css/index.scss +32 -0
- package/packages/iview/index.js +24 -0
- package/packages/mixin/index.js +87 -0
- package/packages/vxeTable/css/index.scss +454 -0
- package/packages/vxeTable/css/variable.scss +256 -0
- package/packages/vxeTable/index.js +178 -0
- package/packages/vxeTable/render/cell/vxe-render-checkbox.vue +19 -0
- package/packages/vxeTable/render/cell/vxe-render-checkgroup.vue +36 -0
- package/packages/vxeTable/render/cell/vxe-render-code.vue +19 -0
- package/packages/vxeTable/render/cell/vxe-render-goption.vue +93 -0
- package/packages/vxeTable/render/cell/vxe-render-href.vue +11 -0
- package/packages/vxeTable/render/cell/vxe-render-img.vue +28 -0
- package/packages/vxeTable/render/cell/vxe-render-input.vue +51 -0
- package/packages/vxeTable/render/cell/vxe-render-money.vue +25 -0
- package/packages/vxeTable/render/cell/vxe-render-progress.vue +19 -0
- package/packages/vxeTable/render/cell/vxe-render-radio.vue +19 -0
- package/packages/vxeTable/render/cell/vxe-render-radiogroup.vue +36 -0
- package/packages/vxeTable/render/cell/vxe-render-select.vue +36 -0
- package/packages/vxeTable/render/cell/vxe-render-switch.vue +19 -0
- package/packages/vxeTable/render/cell/vxe-render-table.vue +78 -0
- package/packages/vxeTable/render/cell/vxe-render-textarea.vue +19 -0
- package/packages/vxeTable/render/cell/vxe-render-time.vue +34 -0
- package/packages/vxeTable/render/cell/vxe-render-tree.vue +59 -0
- package/packages/vxeTable/render/cell/vxe-render-upload.vue +24 -0
- package/packages/vxeTable/render/filters/vxe-filter-input.vue +43 -0
- package/packages/vxeTable/render/footer/vxe-footer-input.vue +13 -0
- package/packages/vxeTable/render/footer/vxe-footer-money.vue +20 -0
- package/packages/vxeTable/render/globalRenders.js +491 -0
- package/packages/vxeTable/render/header/vxe-header-money.vue +21 -0
- package/packages/vxeTable/render/mixin/cell-mixin.js +195 -0
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
$theme-color: var(--theme-color);
|
|
2
|
+
$theme-weak-color: var(--theme-weak-color);
|
|
3
|
+
|
|
4
|
+
/*font*/
|
|
5
|
+
$vxe-font-family: -apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol !default;
|
|
6
|
+
$vxe-font-color: #606266 !default;
|
|
7
|
+
$vxe-font-size: 1rem !default;
|
|
8
|
+
$vxe-font-size-medium: 1rem !default;
|
|
9
|
+
$vxe-font-size-small: 0.9285rem !default;
|
|
10
|
+
$vxe-font-size-mini: 0.8571rem !default;
|
|
11
|
+
|
|
12
|
+
/*size*/
|
|
13
|
+
$vxe-border-radius: var(--border-radius) !default;
|
|
14
|
+
|
|
15
|
+
/*icon*/
|
|
16
|
+
$vxe-icon-font-family: Verdana,Arial,Tahoma !default;
|
|
17
|
+
$vxe-icon-background-color: var(--body-background) !default;
|
|
18
|
+
|
|
19
|
+
/*color*/
|
|
20
|
+
$vxe-primary-color: #409eff !default;
|
|
21
|
+
$vxe-success-color: #67c23a !default;
|
|
22
|
+
$vxe-info-color: #909399 !default;
|
|
23
|
+
$vxe-warning-color: #e6a23c !default;
|
|
24
|
+
$vxe-danger-color: #f56c6c !default;
|
|
25
|
+
$vxe-disabled-color: #BFBFBF !default;
|
|
26
|
+
$vxe-primary-disabled-color: #c0c4cc !default;
|
|
27
|
+
|
|
28
|
+
/*input/radio/checkbox*/
|
|
29
|
+
$vxe-input-border-color: var(--border-color) !default;
|
|
30
|
+
$vxe-input-disabled-color: var(--border-color) !default;
|
|
31
|
+
$vxe-input-disabled-background-color: #f3f3f3 !default;
|
|
32
|
+
$vxe-input-placeholder-color: #C0C4CC !default;
|
|
33
|
+
|
|
34
|
+
/*popup*/
|
|
35
|
+
$vxe-table-popup-border-color: var(--border-color) !default;
|
|
36
|
+
|
|
37
|
+
/*table*/
|
|
38
|
+
$vxe-table-font-color: $vxe-font-color !default;
|
|
39
|
+
$vxe-table-header-font-color: $vxe-font-color !default;
|
|
40
|
+
$vxe-table-footer-font-color: $vxe-font-color !default;
|
|
41
|
+
$vxe-table-border-radius: $vxe-border-radius !default;
|
|
42
|
+
$vxe-table-border-width: 1px !default;
|
|
43
|
+
$vxe-table-border-color: var(--border-color) !default;
|
|
44
|
+
$vxe-table-resizable-line-color: #D9DDDF !default;
|
|
45
|
+
$vxe-table-resizable-drag-line-color: $vxe-primary-color !default;
|
|
46
|
+
$vxe-table-header-background-color: #f8f8f9 !default;
|
|
47
|
+
$vxe-table-body-background-color: var(--body-background) !default;
|
|
48
|
+
$vxe-table-footer-background-color: var(--body-background) !default;
|
|
49
|
+
$vxe-table-tree-node-line-color:#909399 !default;
|
|
50
|
+
$vxe-table-tree-node-line-style: dotted !default;
|
|
51
|
+
$vxe-table-header-font-weight: 700 !default;
|
|
52
|
+
|
|
53
|
+
$vxe-table-row-height-default: 48px !default;
|
|
54
|
+
$vxe-table-row-height-medium: 44px !default;
|
|
55
|
+
$vxe-table-row-height-small: 40px !default;
|
|
56
|
+
$vxe-table-row-height-mini: 36px !default;
|
|
57
|
+
$vxe-table-row-line-height: 22px !default;
|
|
58
|
+
$vxe-table-row-hover-background-color: var(--hover-color) !default;
|
|
59
|
+
$vxe-table-row-striped-background-color: var(--stripe-color) !default;
|
|
60
|
+
$vxe-table-row-hover-striped-background-color: var(--hover-color) !default;
|
|
61
|
+
$vxe-table-row-radio-checked-background-color: #fff3e0 !default;
|
|
62
|
+
$vxe-table-row-hover-radio-checked-background-color: #ffebbc !default;
|
|
63
|
+
$vxe-table-row-checkbox-checked-background-color: #fff3e0 !default;
|
|
64
|
+
$vxe-table-row-hover-checkbox-checked-background-color: #ffebbc !default;
|
|
65
|
+
$vxe-table-row-current-background-color: #e6f7ff !default;
|
|
66
|
+
$vxe-table-row-hover-current-background-color: #d7effb !default;
|
|
67
|
+
|
|
68
|
+
$vxe-table-column-padding-default: 13px 0 !default;
|
|
69
|
+
$vxe-table-column-padding-medium: 11px 0 !default;
|
|
70
|
+
$vxe-table-column-padding-small: 9px 0 !default;
|
|
71
|
+
$vxe-table-column-padding-mini: 7px 0 !default;
|
|
72
|
+
$vxe-table-column-hover-background-color: #d7effb !default;
|
|
73
|
+
$vxe-table-column-current-background-color: #e6f7ff !default;
|
|
74
|
+
$vxe-table-column-icon-border-color: #c0c4cc !default;
|
|
75
|
+
$vxe-table-column-icon-border-hover-color: #515A6E !default;
|
|
76
|
+
|
|
77
|
+
$vxe-table-cell-placeholder-color: #C0C4CC !default;
|
|
78
|
+
$vxe-table-cell-padding-left: 10px !default;
|
|
79
|
+
$vxe-table-cell-padding-right: 10px !default;
|
|
80
|
+
$vxe-table-cell-input-height-default: $vxe-table-row-height-default - 6 !default;
|
|
81
|
+
$vxe-table-cell-input-height-medium: $vxe-table-row-height-medium - 6 !default;
|
|
82
|
+
$vxe-table-cell-input-height-small: $vxe-table-row-height-small - 6 !default;
|
|
83
|
+
$vxe-table-cell-input-height-mini: $vxe-table-row-height-mini - 6 !default;
|
|
84
|
+
$vxe-table-cell-dirty-width: 5px !default;
|
|
85
|
+
$vxe-table-cell-dirty-update-color: #f56c6c !default;
|
|
86
|
+
$vxe-table-cell-dirty-insert-color: #19A15F !default;
|
|
87
|
+
$vxe-table-cell-area-border-color: $vxe-primary-color !default;
|
|
88
|
+
$vxe-table-cell-area-border-width: 1px !default;
|
|
89
|
+
$vxe-table-cell-main-area-extension-border-color: var(--body-background);
|
|
90
|
+
$vxe-table-cell-main-area-extension-background-color: $vxe-primary-color !default;
|
|
91
|
+
$vxe-table-cell-extend-area-border-width: 2px !default;
|
|
92
|
+
$vxe-table-cell-copy-area-border-width: 3px !default;
|
|
93
|
+
$vxe-table-cell-active-area-border-width: 2px !default;
|
|
94
|
+
$vxe-table-cell-copy-area-border-color: $vxe-table-cell-area-border-color !default;
|
|
95
|
+
$vxe-table-cell-extend-area-border-color: $vxe-table-cell-area-border-color !default;
|
|
96
|
+
$vxe-table-cell-active-area-border-color: $vxe-table-cell-area-border-color !default;
|
|
97
|
+
$vxe-table-cell-area-background-color: rgba(64,158,255,0.2) !default;
|
|
98
|
+
|
|
99
|
+
$vxe-table-checkbox-range-border-width: 1px !default;
|
|
100
|
+
$vxe-table-checkbox-range-border-color: #006af1 !default;
|
|
101
|
+
$vxe-table-checkbox-range-background-color: rgba(50,128,252,0.2) !default;
|
|
102
|
+
|
|
103
|
+
$vxe-table-fixed-left-scrolling-box-shadow: 4px 3px 4px 0px rgba(0, 0, 0, 0.12) !default;
|
|
104
|
+
$vxe-table-fixed-right-scrolling-box-shadow: -4px 3px 4px 0px rgba(0, 0, 0, 0.12) !default;
|
|
105
|
+
|
|
106
|
+
/*filter*/
|
|
107
|
+
$vxe-table-filter-panel-background-color: var(--body-background) !default;
|
|
108
|
+
|
|
109
|
+
/*menu*/
|
|
110
|
+
$vxe-table-menu-item-width: 178px !default;
|
|
111
|
+
$vxe-table-menu-background-color: var(--body-background) !default;
|
|
112
|
+
|
|
113
|
+
/*loading*/
|
|
114
|
+
$vxe-loading-color: $theme-color !default;
|
|
115
|
+
$vxe-loading-background-color: rgba(255, 255, 255, 0.5) !default;
|
|
116
|
+
$vxe-loading-z-index: 999 !default;
|
|
117
|
+
|
|
118
|
+
/*validate*/
|
|
119
|
+
$vxe-table-validate-error-color: #f56c6c !default;
|
|
120
|
+
$vxe-table-validate-tooltip-error-color: var(--body-background) !default;
|
|
121
|
+
$vxe-table-validate-tooltip-error-background-color: $vxe-table-validate-error-color !default;
|
|
122
|
+
|
|
123
|
+
/*grid*/
|
|
124
|
+
$vxe-grid-maximize-background-color: var(--body-background) !default;
|
|
125
|
+
|
|
126
|
+
/*toolbar*/
|
|
127
|
+
$vxe-toolbar-background-color: var(--body-background) !default;
|
|
128
|
+
$vxe-toolbar-custom-active-background-color: #D9DADB !default;
|
|
129
|
+
$vxe-toolbar-panel-background-color: var(--body-background) !default;
|
|
130
|
+
|
|
131
|
+
/*tooltip*/
|
|
132
|
+
$vxe-tooltip-dark-color: #fff !default;
|
|
133
|
+
$vxe-tooltip-dark-background-color: #303133 !default;
|
|
134
|
+
$vxe-tooltip-light-background-color: #fff !default;
|
|
135
|
+
$vxe-tooltip-validate-error-color: #fff !default;
|
|
136
|
+
$vxe-tooltip-validate-error-background-color: #f56c6c !default;
|
|
137
|
+
|
|
138
|
+
/*pager*/
|
|
139
|
+
$vxe-pager-background-color: var(--body-background) !default;
|
|
140
|
+
$vxe-pager-perfect-background-color: var(--body-background) !default;
|
|
141
|
+
$vxe-pager-perfect-button-background-color: #f4f4f5 !default;
|
|
142
|
+
|
|
143
|
+
/*modal*/
|
|
144
|
+
$vxe-modal-header-background-color: #F8F8F8 !default;
|
|
145
|
+
$vxe-modal-body-background-color: var(--body-background) !default;
|
|
146
|
+
$vxe-modal-border-color: var(--border-color) !default;
|
|
147
|
+
|
|
148
|
+
/*checkbox*/
|
|
149
|
+
$vxe-checkbox-font-size-default: 15px !default;
|
|
150
|
+
$vxe-checkbox-font-size-medium: 14px !default;
|
|
151
|
+
$vxe-checkbox-font-size-small: 13px !default;
|
|
152
|
+
$vxe-checkbox-font-size-mini: 12px !default;
|
|
153
|
+
$vxe-checkbox-checked-width: 0.32em !default;
|
|
154
|
+
$vxe-checkbox-checked-height: 0.64em !default;
|
|
155
|
+
$vxe-checkbox-indeterminate-width: 0.6em !default;
|
|
156
|
+
$vxe-checkbox-indeterminate-height: 2px !default;
|
|
157
|
+
$vxe-checkbox-border-width: 2px !default;
|
|
158
|
+
$vxe-checkbox-border-radius: 2px !default;
|
|
159
|
+
$vxe-checkbox-icon-background-color: var(--body-background) !default;
|
|
160
|
+
$vxe-checkbox-checked-icon-border-color: var(--body-background) !default;
|
|
161
|
+
$vxe-checkbox-indeterminate-icon-background-color: var(--body-background) !default;
|
|
162
|
+
|
|
163
|
+
/*radio*/
|
|
164
|
+
$vxe-radio-font-size-default: $vxe-checkbox-font-size-default !default;
|
|
165
|
+
$vxe-radio-font-size-medium: $vxe-checkbox-font-size-medium !default;
|
|
166
|
+
$vxe-radio-font-size-small: $vxe-checkbox-font-size-small !default;
|
|
167
|
+
$vxe-radio-font-size-mini: $vxe-checkbox-font-size-mini !default;
|
|
168
|
+
$vxe-radio-border-width: $vxe-checkbox-border-width !default;
|
|
169
|
+
$vxe-radio-icon-background-color: var(--body-background) !default;
|
|
170
|
+
$vxe-radio-checked-icon-background-color: var(--body-background) !default;
|
|
171
|
+
$vxe-radio-indeterminate-icon-background-color: var(--body-background) !default;
|
|
172
|
+
$vxe-radio-button-default-background-color: var(--body-background) !default;
|
|
173
|
+
|
|
174
|
+
/*button*/
|
|
175
|
+
$vxe-button-max-width: 500px !default;
|
|
176
|
+
$vxe-button-default-background-color: #fff !default;
|
|
177
|
+
$vxe-button-dropdown-panel-background-color: #fff !default;
|
|
178
|
+
$vxe-button-height-default: 34px !default;
|
|
179
|
+
$vxe-button-height-medium: 32px !default;
|
|
180
|
+
$vxe-button-height-small: 30px !default;
|
|
181
|
+
$vxe-button-height-mini: 28px !default;
|
|
182
|
+
$vxe-button-round-border-radius-default: 17px !default;
|
|
183
|
+
$vxe-button-round-border-radius-medium: 16px !default;
|
|
184
|
+
$vxe-button-round-border-radius-small: 15px !default;
|
|
185
|
+
$vxe-button-round-border-radius-mini: 14px !default;
|
|
186
|
+
|
|
187
|
+
/*input*/
|
|
188
|
+
$vxe-input-background-color: var(--body-background) !default;
|
|
189
|
+
$vxe-input-panel-background-color: $vxe-input-background-color !default;
|
|
190
|
+
$vxe-input-number-disabled-color: #e4e7ed !default;
|
|
191
|
+
$vxe-input-date-festival-color: #999999 !default;
|
|
192
|
+
$vxe-input-date-festival-important-color: $vxe-primary-color !default;
|
|
193
|
+
$vxe-input-date-notice-background-color: #FF0000 !default;
|
|
194
|
+
$vxe-input-date-picker-hover-background-color: #f2f6fc !default;
|
|
195
|
+
$vxe-input-date-picker-selected-color: var(--body-background) !default;
|
|
196
|
+
$vxe-input-date-time-confirm-button-color: var(--body-background) !default;
|
|
197
|
+
$vxe-input-date-picker-festival-selected-color: $vxe-input-date-picker-selected-color !default;
|
|
198
|
+
$vxe-input-date-picker-notice-selected-background-color: $vxe-input-date-picker-selected-color !default;
|
|
199
|
+
$vxe-input-date-extra-color: #67c23a !default;
|
|
200
|
+
$vxe-input-date-extra-important-color: #fd2222 !default;
|
|
201
|
+
$vxe-input-date-title-height-default: 30px !default;
|
|
202
|
+
$vxe-input-date-title-height-medium: 29px !default;
|
|
203
|
+
$vxe-input-date-title-height-small: 28px !default;
|
|
204
|
+
$vxe-input-date-title-height-mini: 26px !default;
|
|
205
|
+
$vxe-input-date-time-week-row-height-default: 38px !default;
|
|
206
|
+
$vxe-input-date-time-week-row-height-medium: 36px !default;
|
|
207
|
+
$vxe-input-date-time-week-row-height-small: 34px !default;
|
|
208
|
+
$vxe-input-date-time-week-row-height-mini: 32px !default;
|
|
209
|
+
$vxe-input-date-month-year-row-height-default: 48px !default;
|
|
210
|
+
$vxe-input-date-month-year-row-height-medium: 46px !default;
|
|
211
|
+
$vxe-input-date-month-year-row-height-small: 44px !default;
|
|
212
|
+
$vxe-input-date-month-year-row-height-mini: 42px !default;
|
|
213
|
+
$vxe-input-date-quarter-row-height-default: 60px !default;
|
|
214
|
+
$vxe-input-date-quarter-row-height-medium: 58px !default;
|
|
215
|
+
$vxe-input-date-quarter-row-height-small: 56px !default;
|
|
216
|
+
$vxe-input-date-quarter-row-height-mini: 54px !default;
|
|
217
|
+
$vxe-input-height-default: $vxe-button-height-default !default;
|
|
218
|
+
$vxe-input-height-medium: $vxe-button-height-medium !default;
|
|
219
|
+
$vxe-input-height-small: $vxe-button-height-small !default;
|
|
220
|
+
$vxe-input-height-mini: $vxe-button-height-mini !default;
|
|
221
|
+
|
|
222
|
+
/*textarea*/
|
|
223
|
+
$vxe-textarea-line-height: 1.5715 !default;
|
|
224
|
+
$vxe-textarea-background-color: var(--body-background) !default;
|
|
225
|
+
$vxe-textarea-count-color: #999 !default;
|
|
226
|
+
$vxe-textarea-count-background-color: var(--body-background) !default;
|
|
227
|
+
$vxe-textarea-count-error-color: $vxe-table-validate-error-color !default;
|
|
228
|
+
|
|
229
|
+
/*form*/
|
|
230
|
+
$vxe-form-item-min-height-default: 36px !default;
|
|
231
|
+
$vxe-form-item-min-height-medium: 34px !default;
|
|
232
|
+
$vxe-form-item-min-height-small: 32px !default;
|
|
233
|
+
$vxe-form-item-min-height-mini: 30px !default;
|
|
234
|
+
$vxe-form-background-color: var(--body-background) !default;
|
|
235
|
+
$vxe-form-validate-error-color: $vxe-table-validate-error-color !default;
|
|
236
|
+
$vxe-form-validate-error-background-color: inherit !default;
|
|
237
|
+
|
|
238
|
+
/*select*/
|
|
239
|
+
$vxe-select-option-height-default: 30px !default;
|
|
240
|
+
$vxe-select-option-height-medium: 28px !default;
|
|
241
|
+
$vxe-select-option-height-small: 26px !default;
|
|
242
|
+
$vxe-select-option-height-mini: 24px !default;
|
|
243
|
+
$vxe-select-option-hover-background-color: #f5f7fa !default;
|
|
244
|
+
$vxe-select-panel-background-color: var(--body-background) !default;
|
|
245
|
+
$vxe-select-empty-color: #C0C4CC !default;
|
|
246
|
+
$vxe-optgroup-title-color:#909399 !default;
|
|
247
|
+
|
|
248
|
+
/*switch*/
|
|
249
|
+
$vxe-switch-font-color: #fff !default;
|
|
250
|
+
$vxe-switch-icon-background-color: #fff !default;
|
|
251
|
+
$vxe-switch-open-background-color: $vxe-primary-color !default;
|
|
252
|
+
$vxe-switch-close-background-color: rgba(0,0,0,0.35) !default;
|
|
253
|
+
$vxe-switch-disabled-background-color: rgba(0,0,0,0.15) !default;
|
|
254
|
+
|
|
255
|
+
/*pulldown*/
|
|
256
|
+
$vxe-pulldown-panel-background-color: var(--body-background) !default;
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import VXETable from 'vxe-table'
|
|
2
|
+
import './css/index.scss'
|
|
3
|
+
import VXETablePluginExportXLSX from 'vxe-table-plugin-export-xlsx'
|
|
4
|
+
import VXETablePluginExportPDF from 'vxe-table-plugin-export-pdf'
|
|
5
|
+
import XEClipboard from 'xe-clipboard'
|
|
6
|
+
import { defaultPublicRenders, defaultExtraRenders, defaultFilterRenders, defaultPublicRendersNames } from './render/globalRenders'
|
|
7
|
+
|
|
8
|
+
let vxeOptions = {
|
|
9
|
+
zIndex: 599,
|
|
10
|
+
version: 0,
|
|
11
|
+
input: {
|
|
12
|
+
controls: false,
|
|
13
|
+
clearable: true
|
|
14
|
+
},
|
|
15
|
+
select: {
|
|
16
|
+
optionConfig: {
|
|
17
|
+
useKey: false,
|
|
18
|
+
keyField: 'value'
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
table: {
|
|
22
|
+
stripe: false,
|
|
23
|
+
border: 'full',
|
|
24
|
+
round: false,
|
|
25
|
+
keepSource: false,
|
|
26
|
+
rowConfig: {
|
|
27
|
+
useKey: false,
|
|
28
|
+
keyField: '_XID',
|
|
29
|
+
isCurrent: true,
|
|
30
|
+
isHover: true
|
|
31
|
+
},
|
|
32
|
+
sortConfig: {
|
|
33
|
+
multiple: false,
|
|
34
|
+
chronological: false,
|
|
35
|
+
trigger: 'cell'
|
|
36
|
+
},
|
|
37
|
+
radioConfig: {
|
|
38
|
+
strict: true,
|
|
39
|
+
highlight: true
|
|
40
|
+
},
|
|
41
|
+
checkboxConfig: {
|
|
42
|
+
checkStrictly: false,
|
|
43
|
+
highlight: true,
|
|
44
|
+
reserve: true,
|
|
45
|
+
checkAll: false
|
|
46
|
+
},
|
|
47
|
+
tooltipConfig: {
|
|
48
|
+
showAll: false,
|
|
49
|
+
theme: 'dark',
|
|
50
|
+
enterable: true
|
|
51
|
+
},
|
|
52
|
+
treeConfig: {
|
|
53
|
+
indent: 20,
|
|
54
|
+
line: false,
|
|
55
|
+
expandAll: false,
|
|
56
|
+
expandRowKeys: [],
|
|
57
|
+
accordion: true,
|
|
58
|
+
showIcon: true,
|
|
59
|
+
children: 'children',
|
|
60
|
+
// 若为平行数据结构不是嵌套结构则使用下面配置 transform 需要为true
|
|
61
|
+
transform: false,
|
|
62
|
+
parentField: 'parentId'
|
|
63
|
+
},
|
|
64
|
+
mouseConfig: {
|
|
65
|
+
selected: true
|
|
66
|
+
},
|
|
67
|
+
keyboardConfig: {
|
|
68
|
+
isArrow: true,
|
|
69
|
+
isEsc: true,
|
|
70
|
+
isDel: false,
|
|
71
|
+
isEnter: true,
|
|
72
|
+
isTab: true,
|
|
73
|
+
isEdit: true,
|
|
74
|
+
isChecked: true,
|
|
75
|
+
enterToTab: false
|
|
76
|
+
},
|
|
77
|
+
editConfig: {
|
|
78
|
+
enabled: true,
|
|
79
|
+
trigger: 'click',
|
|
80
|
+
mode: 'cell'
|
|
81
|
+
},
|
|
82
|
+
customConfig: {
|
|
83
|
+
storage: true
|
|
84
|
+
},
|
|
85
|
+
seqConfig: {
|
|
86
|
+
startIndex: 1,
|
|
87
|
+
seqMethod: obj => {
|
|
88
|
+
let { $table, seq, $seq, $$seq, $rowIndex } = obj
|
|
89
|
+
const grid = $table.xegrid || {}
|
|
90
|
+
const propsData = $table.props || {}
|
|
91
|
+
const { seqConfig, treeConfig } = propsData
|
|
92
|
+
const tablePage = grid.props.pagerConfig?.enabled
|
|
93
|
+
if ($$seq) {
|
|
94
|
+
return $$seq
|
|
95
|
+
} else if (tablePage) {
|
|
96
|
+
const { pagerConfig } = grid.props
|
|
97
|
+
const pageStart = seqConfig?.startIndex || (pagerConfig.pageSize > 0 ? pagerConfig.pageSize : 50) * ((pagerConfig.currentPage > 0 ? pagerConfig.currentPage : 1) - 1)
|
|
98
|
+
return !treeConfig || (treeConfig && ($seq === '' || $seq === undefined)) ? Number(pageStart) + seq : Number(pageStart) + Number($seq) + '.' + seq
|
|
99
|
+
} else if (!tablePage && treeConfig) {
|
|
100
|
+
return $seq === '' || $seq === undefined ? seq : $seq + '.' + seq
|
|
101
|
+
} else {
|
|
102
|
+
return seq === -1 ? $rowIndex + (seqConfig.startIndex || 1) : seq
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
resizeConfig: {
|
|
107
|
+
refreshDelay: 250
|
|
108
|
+
},
|
|
109
|
+
scrollX: {
|
|
110
|
+
enabled: true,
|
|
111
|
+
gt: 60,
|
|
112
|
+
oSize: 0
|
|
113
|
+
},
|
|
114
|
+
scrollY: {
|
|
115
|
+
enabled: true,
|
|
116
|
+
gt: 100,
|
|
117
|
+
oSize: 0
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
pager: {
|
|
121
|
+
currentPage: 1,
|
|
122
|
+
pageSize: 50,
|
|
123
|
+
total: 0,
|
|
124
|
+
layouts: ['Sizes', 'PrevJump', 'PrevPage', 'Number', 'NextPage', 'NextJump', 'FullJump', 'Total'],
|
|
125
|
+
pagerCount: 7,
|
|
126
|
+
pageSizes: [
|
|
127
|
+
{ label: '50条', value: 50 },
|
|
128
|
+
{ label: '100条', value: 100 },
|
|
129
|
+
{ label: '500条', value: 500 },
|
|
130
|
+
{ label: '1000条', value: 1000 },
|
|
131
|
+
{ label: '10000条', value: 10000 },
|
|
132
|
+
{ label: '10万条', value: 100000 }
|
|
133
|
+
],
|
|
134
|
+
align: 'right',
|
|
135
|
+
border: true,
|
|
136
|
+
background: false,
|
|
137
|
+
perfect: true,
|
|
138
|
+
autoHidden: false,
|
|
139
|
+
enabled: true
|
|
140
|
+
},
|
|
141
|
+
form: {},
|
|
142
|
+
modal: {
|
|
143
|
+
lockView: true,
|
|
144
|
+
resize: true,
|
|
145
|
+
mask: true,
|
|
146
|
+
duration: 3000,
|
|
147
|
+
dblclickZoom: true,
|
|
148
|
+
showTitleOverflow: true
|
|
149
|
+
},
|
|
150
|
+
icon: {},
|
|
151
|
+
loading: {
|
|
152
|
+
icon: 'vxe-icon-spinner roll',
|
|
153
|
+
text: '加载中...'
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
VXETable.renderer.mixin(defaultPublicRenders)
|
|
158
|
+
VXETable.renderer.mixin(defaultExtraRenders)
|
|
159
|
+
VXETable.renderer.mixin(defaultFilterRenders)
|
|
160
|
+
VXETable.setup(vxeOptions)
|
|
161
|
+
VXETablePluginExportPDF.setup({
|
|
162
|
+
// 设置全局默认字体
|
|
163
|
+
fontName: 'SourceHanSans-Normal',
|
|
164
|
+
beforeMethod: ({ $pdf, options, columns, datas }) => {}
|
|
165
|
+
})
|
|
166
|
+
VXETable.use(VXETablePluginExportXLSX)
|
|
167
|
+
VXETable.use(VXETablePluginExportPDF)
|
|
168
|
+
|
|
169
|
+
const index = {
|
|
170
|
+
install: function (Vue) {
|
|
171
|
+
Vue.use(VXETable)
|
|
172
|
+
Vue.config.globalProperties.$vTable = VXETable
|
|
173
|
+
Vue.config.globalProperties.$vTableSetup = vxeOptions
|
|
174
|
+
Vue.config.globalProperties.$vxePluginNames = defaultPublicRendersNames
|
|
175
|
+
Vue.config.globalProperties.$vClipboard = XEClipboard
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
export default index
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<span class="vxe-render--inner" :class="{ 'vxe-render--inner--readonly': !redit, 'form-render': rform, 'td-render': !rform }">
|
|
3
|
+
<template v-if="redit || isEditAll">
|
|
4
|
+
<vxe-checkbox v-model="renderValue" v-bind="rprops" :size="rsize" @change="vxeCheckCallBack" />
|
|
5
|
+
<span style="display: none" v-html="renderText"></span>
|
|
6
|
+
</template>
|
|
7
|
+
<template v-else>
|
|
8
|
+
<vxe-checkbox :model-value="renderText" :disabled="true" :size="rsize" v-bind="rprops" />
|
|
9
|
+
</template>
|
|
10
|
+
</span>
|
|
11
|
+
</template>
|
|
12
|
+
|
|
13
|
+
<script>
|
|
14
|
+
import mixin from '../mixin/cell-mixin'
|
|
15
|
+
export default {
|
|
16
|
+
name: 'VxeRenderCheckbox',
|
|
17
|
+
mixins: [mixin]
|
|
18
|
+
}
|
|
19
|
+
</script>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<span class="vxe-render--inner" :class="{ 'form-render': rform, 'td-render': !rform }">
|
|
3
|
+
<template v-if="redit || isEditAll">
|
|
4
|
+
<vxe-checkbox-group v-model="renderValue" v-bind="rprops" :size="rsize" @change="vxeCheckCallBack">
|
|
5
|
+
<vxe-checkbox v-for="checkitem in rprops.options" :key="checkitem.value" :label="checkitem.value" :content="checkitem.label" />
|
|
6
|
+
</vxe-checkbox-group>
|
|
7
|
+
<span style="display: none" v-html="renderText"></span>
|
|
8
|
+
</template>
|
|
9
|
+
<template v-else-if="!redit && showType">
|
|
10
|
+
<div v-for="roption in rprops.options" :key="roption">
|
|
11
|
+
<Tag v-if="roptionShow(roption)" :color="roption.tagColor || rprops.tagColor" :type="roption.tagType || rprops.tagType">{{ roption.label }}</Tag>
|
|
12
|
+
</div>
|
|
13
|
+
</template>
|
|
14
|
+
<template v-else>
|
|
15
|
+
<span v-html="renderText"></span>
|
|
16
|
+
</template>
|
|
17
|
+
</span>
|
|
18
|
+
</template>
|
|
19
|
+
|
|
20
|
+
<script>
|
|
21
|
+
import mixin from '../mixin/cell-mixin'
|
|
22
|
+
export default {
|
|
23
|
+
name: 'VxeRenderCheckgroup',
|
|
24
|
+
mixins: [mixin],
|
|
25
|
+
computed: {
|
|
26
|
+
showType() {
|
|
27
|
+
return this.rprops.showType === 'tag'
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
methods: {
|
|
31
|
+
roptionShow(roption) {
|
|
32
|
+
return this.renderText.split(this.rprops.split).includes(roption.label)
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
</script>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<span class="vxe-render--inner" :class="{ 'form-render': rform, 'td-render': !rform }">
|
|
3
|
+
<template v-if="redit || isEditAll">
|
|
4
|
+
<sh-code-editor v-model="renderValue" v-bind="rprops" @change="vxeInputChange" @blur="vxeBlurCallback"></sh-code-editor>
|
|
5
|
+
<span style="display: none" v-html="renderText"></span>
|
|
6
|
+
</template>
|
|
7
|
+
<template v-else>
|
|
8
|
+
<span>{{ renderText }}</span>
|
|
9
|
+
</template>
|
|
10
|
+
</span>
|
|
11
|
+
</template>
|
|
12
|
+
|
|
13
|
+
<script>
|
|
14
|
+
import mixin from '../mixin/cell-mixin'
|
|
15
|
+
export default {
|
|
16
|
+
name: 'VxeRenderCode',
|
|
17
|
+
mixins: [mixin]
|
|
18
|
+
}
|
|
19
|
+
</script>
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<span class="vxe-render--inner">
|
|
3
|
+
<template v-for="renderBtn in renderBtns" :key="renderBtn.code">
|
|
4
|
+
<vxe-button
|
|
5
|
+
v-if="isBtnRender(renderBtn)"
|
|
6
|
+
:type="rprops.type"
|
|
7
|
+
:size="rsize"
|
|
8
|
+
:icon="getBtnContent(renderBtn).icon"
|
|
9
|
+
:status="getBtnContent(renderBtn).status"
|
|
10
|
+
@click="vxeBtnCallback($event, renderBtn)">
|
|
11
|
+
{{ getBtnContent(renderBtn).content }}
|
|
12
|
+
</vxe-button>
|
|
13
|
+
</template>
|
|
14
|
+
</span>
|
|
15
|
+
</template>
|
|
16
|
+
|
|
17
|
+
<script>
|
|
18
|
+
import mixin from '../mixin/cell-mixin'
|
|
19
|
+
export default {
|
|
20
|
+
name: 'VxeRenderGoption',
|
|
21
|
+
mixins: [mixin],
|
|
22
|
+
data() {
|
|
23
|
+
return {}
|
|
24
|
+
},
|
|
25
|
+
computed: {
|
|
26
|
+
renderBtns() {
|
|
27
|
+
let renderBtns = []
|
|
28
|
+
let { btnContain, btnsConfig } = this.rprops
|
|
29
|
+
if (btnsConfig && Array.isArray(btnsConfig)) {
|
|
30
|
+
renderBtns = btnsConfig
|
|
31
|
+
}
|
|
32
|
+
if (btnContain && Array.isArray(btnContain)) {
|
|
33
|
+
btnContain.forEach(item => {
|
|
34
|
+
if (!renderBtns.some(btn => btn.code === item)) {
|
|
35
|
+
renderBtns.push({ code: item })
|
|
36
|
+
}
|
|
37
|
+
})
|
|
38
|
+
}
|
|
39
|
+
return renderBtns
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
methods: {
|
|
43
|
+
// 按钮是否显示条件
|
|
44
|
+
isBtnRender(renderBtn) {
|
|
45
|
+
if (this.$vUtils.has(renderBtn, 'condition')) {
|
|
46
|
+
let condition = this.$vUtils.get(renderBtn, 'condition')
|
|
47
|
+
return this.$vUtils.calculate(condition, this.rdata)
|
|
48
|
+
}
|
|
49
|
+
return true
|
|
50
|
+
},
|
|
51
|
+
// 规定按钮文字
|
|
52
|
+
getBtnContent(renderBtn) {
|
|
53
|
+
let renderContent = ''
|
|
54
|
+
let renderStatus = ''
|
|
55
|
+
let renderIcon = ''
|
|
56
|
+
switch (renderBtn.code) {
|
|
57
|
+
case 'add':
|
|
58
|
+
renderContent = renderBtn.content || '新增'
|
|
59
|
+
renderStatus = renderBtn.status || 'primary'
|
|
60
|
+
renderIcon = renderBtn.icon || 'vxe-icon-add'
|
|
61
|
+
break
|
|
62
|
+
case 'edit':
|
|
63
|
+
renderContent = renderBtn.content || '编辑'
|
|
64
|
+
renderStatus = renderBtn.status || 'warning'
|
|
65
|
+
renderIcon = renderBtn.icon || 'vxe-icon-edit'
|
|
66
|
+
break
|
|
67
|
+
case 'delete':
|
|
68
|
+
renderContent = renderBtn.content || '删除'
|
|
69
|
+
renderStatus = renderBtn.status || 'danger'
|
|
70
|
+
renderIcon = renderBtn.icon || 'vxe-icon-delete'
|
|
71
|
+
break
|
|
72
|
+
case 'detail':
|
|
73
|
+
renderContent = renderBtn.content || '查看'
|
|
74
|
+
renderStatus = renderBtn.status || ''
|
|
75
|
+
renderIcon = renderBtn.icon || 'vxe-icon-information'
|
|
76
|
+
break
|
|
77
|
+
default:
|
|
78
|
+
renderContent = renderBtn.content
|
|
79
|
+
renderStatus = renderBtn.status
|
|
80
|
+
break
|
|
81
|
+
}
|
|
82
|
+
return { content: renderContent, status: renderStatus, icon: renderIcon }
|
|
83
|
+
},
|
|
84
|
+
// 按钮点击回调
|
|
85
|
+
vxeBtnCallback({ $event }, renderBtn) {
|
|
86
|
+
$event.stopPropagation()
|
|
87
|
+
let { $table } = this.rparams
|
|
88
|
+
let renderBtnObj = Object.assign({}, this.getBtnContent(renderBtn), renderBtn)
|
|
89
|
+
$table.xegrid.context.emit('option-click', renderBtnObj, this.rparams)
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
</script>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<span class="vxe-render--inner">
|
|
3
|
+
<Image class="vxe-render--inner-img" :src="imgSrc" v-bind="rprops" :height="imgHeight">
|
|
4
|
+
<template #placeholder>
|
|
5
|
+
<img :src="rprops.placeholder" class="render-slot-img" :alt="rprops.alt" />
|
|
6
|
+
</template>
|
|
7
|
+
<template #error>
|
|
8
|
+
<img :src="rprops.error" class="render-slot-img" />
|
|
9
|
+
</template>
|
|
10
|
+
</Image>
|
|
11
|
+
</span>
|
|
12
|
+
</template>
|
|
13
|
+
|
|
14
|
+
<script>
|
|
15
|
+
import mixin from '../mixin/cell-mixin'
|
|
16
|
+
export default {
|
|
17
|
+
name: 'VxeRenderImg',
|
|
18
|
+
mixins: [mixin],
|
|
19
|
+
computed: {
|
|
20
|
+
imgSrc() {
|
|
21
|
+
return this.$vUtils.get(this.rdata, this.rkey)
|
|
22
|
+
},
|
|
23
|
+
imgHeight() {
|
|
24
|
+
return this.rprops.square ? this.rprops.width : this.rprops.height
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
</script>
|