@ddwl/ddwl-ui 1.2.2 → 1.2.3-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/dist/index.html +1 -0
  2. package/dist/js/app.js +1 -0
  3. package/dist/js/chunk-vendors.js +17 -0
  4. package/dist/static/css/app.2ec4a629.css +1 -0
  5. package/package.json +4 -5
  6. package/src/lib/install/index.js +0 -14
  7. package/src/lib/slots/buttonGroup.vue +0 -113
  8. package/src/lib/slots/dict.vue +0 -46
  9. package/src/lib/slots/file.vue +0 -36
  10. package/src/lib/slots/icon.vue +0 -74
  11. package/src/lib/slots/index.js +0 -11
  12. package/src/lib/theme/alert.css +0 -1
  13. package/src/lib/theme/aside.css +0 -1
  14. package/src/lib/theme/autocomplete.css +0 -1
  15. package/src/lib/theme/avatar.css +0 -1
  16. package/src/lib/theme/backtop.css +0 -1
  17. package/src/lib/theme/badge.css +0 -1
  18. package/src/lib/theme/base.css +0 -1
  19. package/src/lib/theme/breadcrumb-item.css +0 -0
  20. package/src/lib/theme/breadcrumb.css +0 -1
  21. package/src/lib/theme/button-group.css +0 -0
  22. package/src/lib/theme/button.css +0 -1
  23. package/src/lib/theme/calendar.css +0 -1
  24. package/src/lib/theme/card.css +0 -1
  25. package/src/lib/theme/carousel-item.css +0 -1
  26. package/src/lib/theme/carousel.css +0 -1
  27. package/src/lib/theme/cascader-panel.css +0 -1
  28. package/src/lib/theme/cascader.css +0 -1
  29. package/src/lib/theme/checkbox-button.css +0 -0
  30. package/src/lib/theme/checkbox-group.css +0 -0
  31. package/src/lib/theme/checkbox.css +0 -1
  32. package/src/lib/theme/col.css +0 -1
  33. package/src/lib/theme/collapse-item.css +0 -0
  34. package/src/lib/theme/collapse.css +0 -1
  35. package/src/lib/theme/color-picker.css +0 -1
  36. package/src/lib/theme/container.css +0 -1
  37. package/src/lib/theme/date-picker.css +0 -1
  38. package/src/lib/theme/descriptions-item.css +0 -1
  39. package/src/lib/theme/descriptions.css +0 -1
  40. package/src/lib/theme/dialog.css +0 -1
  41. package/src/lib/theme/display.css +0 -1
  42. package/src/lib/theme/divider.css +0 -1
  43. package/src/lib/theme/drawer.css +0 -1
  44. package/src/lib/theme/dropdown-item.css +0 -0
  45. package/src/lib/theme/dropdown-menu.css +0 -0
  46. package/src/lib/theme/dropdown.css +0 -1
  47. package/src/lib/theme/empty.css +0 -1
  48. package/src/lib/theme/footer.css +0 -1
  49. package/src/lib/theme/form-item.css +0 -0
  50. package/src/lib/theme/form.css +0 -1
  51. package/src/lib/theme/header.css +0 -1
  52. package/src/lib/theme/icon.css +0 -1
  53. package/src/lib/theme/image.css +0 -1
  54. package/src/lib/theme/index.css +0 -1
  55. package/src/lib/theme/infinite-scroll.css +0 -0
  56. package/src/lib/theme/infiniteScroll.css +0 -0
  57. package/src/lib/theme/input-number.css +0 -1
  58. package/src/lib/theme/input.css +0 -1
  59. package/src/lib/theme/link.css +0 -1
  60. package/src/lib/theme/loading.css +0 -1
  61. package/src/lib/theme/main.css +0 -1
  62. package/src/lib/theme/menu-item-group.css +0 -0
  63. package/src/lib/theme/menu-item.css +0 -0
  64. package/src/lib/theme/menu.css +0 -1
  65. package/src/lib/theme/message-box.css +0 -1
  66. package/src/lib/theme/message.css +0 -1
  67. package/src/lib/theme/notification.css +0 -1
  68. package/src/lib/theme/option-group.css +0 -1
  69. package/src/lib/theme/option.css +0 -1
  70. package/src/lib/theme/page-header.css +0 -1
  71. package/src/lib/theme/pagination.css +0 -1
  72. package/src/lib/theme/popconfirm.css +0 -1
  73. package/src/lib/theme/popover.css +0 -1
  74. package/src/lib/theme/popper.css +0 -1
  75. package/src/lib/theme/progress.css +0 -1
  76. package/src/lib/theme/radio-button.css +0 -1
  77. package/src/lib/theme/radio-group.css +0 -1
  78. package/src/lib/theme/radio.css +0 -1
  79. package/src/lib/theme/rate.css +0 -1
  80. package/src/lib/theme/reset.css +0 -1
  81. package/src/lib/theme/result.css +0 -1
  82. package/src/lib/theme/row.css +0 -1
  83. package/src/lib/theme/scrollbar.css +0 -1
  84. package/src/lib/theme/select-dropdown.css +0 -1
  85. package/src/lib/theme/select.css +0 -1
  86. package/src/lib/theme/skeleton-item.css +0 -1
  87. package/src/lib/theme/skeleton.css +0 -1
  88. package/src/lib/theme/slider.css +0 -1
  89. package/src/lib/theme/spinner.css +0 -1
  90. package/src/lib/theme/step.css +0 -1
  91. package/src/lib/theme/steps.css +0 -1
  92. package/src/lib/theme/submenu.css +0 -0
  93. package/src/lib/theme/switch.css +0 -1
  94. package/src/lib/theme/tab-pane.css +0 -0
  95. package/src/lib/theme/table-column.css +0 -1
  96. package/src/lib/theme/table.css +0 -1
  97. package/src/lib/theme/tabs.css +0 -1
  98. package/src/lib/theme/tag.css +0 -1
  99. package/src/lib/theme/time-picker.css +0 -1
  100. package/src/lib/theme/time-select.css +0 -1
  101. package/src/lib/theme/timeline-item.css +0 -1
  102. package/src/lib/theme/timeline.css +0 -1
  103. package/src/lib/theme/tooltip.css +0 -1
  104. package/src/lib/theme/transfer.css +0 -1
  105. package/src/lib/theme/tree.css +0 -1
  106. package/src/lib/theme/upload.css +0 -1
  107. package/src/main.js +0 -70
  108. package/src/packages/button/index.vue +0 -36
  109. package/src/packages/checkbox-group/index.vue +0 -57
  110. package/src/packages/descriptions/index.vue +0 -124
  111. package/src/packages/dialog/index.vue +0 -172
  112. package/src/packages/dialog-confirm/index.vue +0 -99
  113. package/src/packages/drawer/index.vue +0 -136
  114. package/src/packages/file-preview/index.vue +0 -275
  115. package/src/packages/file-preview/static/audio.png +0 -0
  116. package/src/packages/file-preview/static/video.png +0 -0
  117. package/src/packages/filter-tree/index.vue +0 -292
  118. package/src/packages/form/index.vue +0 -149
  119. package/src/packages/form-item/index.vue +0 -199
  120. package/src/packages/import-file/index.vue +0 -173
  121. package/src/packages/menu/index.vue +0 -66
  122. package/src/packages/menu/menuItem.vue +0 -90
  123. package/src/packages/popconfirm/index.vue +0 -39
  124. package/src/packages/radio-group/index.vue +0 -57
  125. package/src/packages/render/index.vue +0 -14
  126. package/src/packages/search-form/index.vue +0 -257
  127. package/src/packages/search-input/index.vue +0 -68
  128. package/src/packages/search-table/index.vue +0 -93
  129. package/src/packages/select/index.vue +0 -74
  130. package/src/packages/svg-icon/index.vue +0 -43
  131. package/src/packages/table/drag.png +0 -0
  132. package/src/packages/table/index.vue +0 -453
  133. package/src/packages/upload/index.vue +0 -350
  134. package/src/utils/constant.js +0 -4
  135. package/src/utils/index.js +0 -77
  136. package/src/utils/treeLib.js +0 -190
  137. /package/{src/lib/theme/fonts/element-icons.ttf → dist/static/fonts/element-icons.f1a45d74.ttf} +0 -0
  138. /package/{src/lib/theme/fonts/element-icons.woff → dist/static/fonts/element-icons.ff18efd1.woff} +0 -0
  139. /package/{src/assets/video-play.jpeg → dist/static/img/video-play.49e933ba.jpeg} +0 -0
@@ -1,172 +0,0 @@
1
- <!-- 弹窗 -->
2
- <template>
3
- <el-dialog
4
- :class="fullscreen ? 'cover-screen-dialog' : ''"
5
- class="d-dialog"
6
- v-bind="$attrs"
7
- :title="title"
8
- :close-on-click-modal="closeOnClickModal"
9
- :visible.sync="visible"
10
- :width="width"
11
- v-on="$listeners"
12
- @closed="closed"
13
- >
14
- <template slot="title">
15
- <slot name="title" />
16
- </template>
17
- <slot />
18
- <template slot="footer">
19
- <slot name="footer" />
20
- <div v-if="showButton" class="ar">
21
- <el-button
22
- type="primary"
23
- :icon="submitButtonIcon"
24
- :loading="loading"
25
- @click="submit"
26
- >
27
- {{ submitButtonText }}
28
- </el-button>
29
- <el-button @click="cancel">
30
- {{ cancelButtonText }}
31
- </el-button>
32
- </div>
33
- </template>
34
- </el-dialog>
35
- </template>
36
-
37
- <script>
38
- export default {
39
- name: 'DDialog',
40
- components: {},
41
- model: {
42
- prop: 'modelValue',
43
- event: 'change'
44
- },
45
- props: {
46
- modelValue: {
47
- type: Boolean,
48
- default: false
49
- },
50
- title: {
51
- type: String,
52
- default: ''
53
- },
54
- closeOnClickModal: {
55
- type: Boolean,
56
- default: false
57
- },
58
- showButton: {
59
- type: Boolean,
60
- default: true
61
- },
62
- submitButtonText: {
63
- type: String,
64
- default: '确定'
65
- },
66
- submitButtonIcon: {
67
- type: String,
68
- default: ''
69
- },
70
- cancelButtonText: {
71
- type: String,
72
- default: '取消'
73
- },
74
- // 需要重置的表单ref, 支持ref字符串或ref对象或ref字符串|对象数组
75
- formRefs: {
76
- type: [String, Object, Array],
77
- default: ''
78
- },
79
- width: {
80
- type: String,
81
- default: '70%'
82
- },
83
- maxWidth: {
84
- type: String,
85
- default: '70%'
86
- },
87
- // 是否高度撑满
88
- fullscreen: {
89
- type: Boolean,
90
- default: false
91
- }
92
- },
93
- data () {
94
- return {
95
- loading: false
96
- }
97
- },
98
- computed: {
99
- visible: {
100
- get () {
101
- return this.modelValue
102
- },
103
- set (value) {
104
- this.$emit('change', value)
105
- }
106
- }
107
- },
108
- methods: {
109
- getRef (ref) {
110
- return typeof ref === 'string' ? this.$parent.$refs[ref] : ref
111
- },
112
- async submit () {
113
- // 是否需要进行表单校验
114
- if (this.formRefs) {
115
- // 多表单校验
116
- if (Array.isArray(this.formRefs)) {
117
- await Promise.all(this.formRefs.map(ref => this.getRef(ref)?.validate()))
118
- } else {
119
- await this.getRef(this.formRefs)?.validate()
120
- }
121
- }
122
- this.loading = true
123
- this.$emit('submit', (status) => {
124
- this.loading = false
125
- if (!status) {
126
- this.visible = false
127
- }
128
- })
129
- },
130
- cancel () {
131
- this.$emit('cancel')
132
- this.visible = false
133
- },
134
- /**
135
- * @description: 弹窗关闭时清除表单校验
136
- */
137
- closed () {
138
- this.$emit('closed')
139
- if (this.formRefs) {
140
- // 多表单校验
141
- if (Array.isArray(this.formRefs)) {
142
- this.formRefs.forEach(ref => this.getRef(ref)?.resetFields())
143
- } else {
144
- this.getRef(this.formRefs)?.resetFields()
145
- }
146
- }
147
- }
148
- }
149
- }
150
- </script>
151
- <style lang="scss" scoped>
152
- .d-dialog {
153
- display: flex;
154
- align-items: center;
155
- justify-content: center;
156
- :deep(.el-dialog) {
157
- max-height: 90vh;
158
- display: flex;
159
- flex-direction: column;
160
- margin: 0 !important;
161
- .el-dialog__body {
162
- flex: 1;
163
- overflow: auto;
164
- }
165
- }
166
- }
167
- .cover-screen-dialog {
168
- :deep(.el-dialog) {
169
- height: 90vh;
170
- }
171
- }
172
- </style>
@@ -1,99 +0,0 @@
1
- <!-- 二次确认弹窗 -->
2
- <template>
3
- <div class="inline">
4
- <span
5
- v-if="button === 'text'"
6
- slot="reference"
7
- :class="`${buttonType || 'primary'}-text-btn ${disabled ? 'disabled': ''}`"
8
- @click="() => { visible = true }"
9
- >
10
- {{ buttonName }}
11
- </span>
12
- <el-button
13
- v-else
14
- :disabled="disabled"
15
- :icon="buttonIcon"
16
- :type="buttonType"
17
- @click="() => { visible = true }"
18
- >
19
- {{ buttonName }}
20
- </el-button>
21
- <d-dialog
22
- v-model="visible"
23
- :title="title"
24
- width="374px"
25
- append-to-body
26
- @submit="submit"
27
- >
28
- <div class="d-dialog-confirm-container">
29
- <i class="el-icon-warning" />
30
- <p class="d-dialog-confirm-content">
31
- <slot>您确定删除该信息?</slot>
32
- </p>
33
- </div>
34
- </d-dialog>
35
- </div>
36
- </template>
37
-
38
- <script>
39
- import DDialog from '../dialog'
40
-
41
- export default {
42
- name: 'DDialogConfirm',
43
- components: { DDialog },
44
- props: {
45
- buttonName: {
46
- default: '批量删除',
47
- type: String
48
- },
49
- buttonIcon: {
50
- default: '',
51
- type: String
52
- },
53
- buttonType: {
54
- default: '',
55
- type: String
56
- },
57
- title: {
58
- default: '提示',
59
- type: String
60
- },
61
- disabled: {
62
- default: false,
63
- type: Boolean
64
- },
65
- button: {
66
- default: 'button',
67
- type: String
68
- }
69
- },
70
- data () {
71
- return {
72
- visible: false
73
- }
74
- },
75
- methods: {
76
- submit (callback) {
77
- this.$emit('submit', callback)
78
- }
79
- }
80
- }
81
- </script>
82
-
83
- <style lang="scss" scoped>
84
- .d-dialog-confirm-container {
85
- display: flex;
86
- align-items: center;
87
- & > i {
88
- font-size: 28px;
89
- color: rgb(255, 153, 0);
90
- margin-right: 8px;
91
- }
92
- & > div {
93
- flex: 1;
94
- }
95
- .d-dialog-confirm-content {
96
- white-space: normal;
97
- }
98
- }
99
- </style>
@@ -1,136 +0,0 @@
1
- <!-- 抽屉 -->
2
- <template>
3
- <el-drawer
4
- v-bind="$attrs"
5
- :title="title"
6
- :close-on-click-modal="false"
7
- :visible.sync="visible"
8
- :size="width"
9
- v-on="$listeners"
10
- @closed="closed"
11
- >
12
- <template slot="title">
13
- <slot name="title" />
14
- </template>
15
- <div class="flex-col hf">
16
- <div class="flex-1">
17
- <slot />
18
- </div>
19
- <div v-if="showButton" class="ar mt16">
20
- <el-button
21
- type="primary"
22
- :icon="submitButtonIcon"
23
- :loading="loading"
24
- @click="submit"
25
- >
26
- {{ submitButtonText }}
27
- </el-button>
28
- <el-button @click="cancel">
29
- {{ cancelButtonText }}
30
- </el-button>
31
- </div>
32
- </div>
33
- </el-drawer>
34
- </template>
35
-
36
- <script>
37
- export default {
38
- name: 'DDrawer',
39
- components: {},
40
- model: {
41
- prop: 'modelValue',
42
- event: 'change'
43
- },
44
- props: {
45
- modelValue: {
46
- type: Boolean,
47
- default: false
48
- },
49
- title: {
50
- type: String,
51
- default: ''
52
- },
53
- showButton: {
54
- type: Boolean,
55
- default: true
56
- },
57
- submitButtonText: {
58
- type: String,
59
- default: '确定'
60
- },
61
- submitButtonIcon: {
62
- type: String,
63
- default: ''
64
- },
65
- cancelButtonText: {
66
- type: String,
67
- default: '取消'
68
- },
69
- // 需要重置的表单ref
70
- formRefs: {
71
- type: [String, Array],
72
- default: ''
73
- },
74
- width: {
75
- type: String,
76
- default: '70%'
77
- }
78
- },
79
- data () {
80
- return {
81
- loading: false
82
- }
83
- },
84
- computed: {
85
- visible: {
86
- get () {
87
- return this.modelValue
88
- },
89
- set (value) {
90
- this.$emit('change', value)
91
- }
92
- }
93
- },
94
- methods: {
95
- getRef (ref) {
96
- return typeof ref === 'string' ? this.$parent.$refs[ref] : ref
97
- },
98
- async submit () {
99
- // 是否需要进行表单校验
100
- if (this.formRefs) {
101
- // 多表单校验
102
- if (Array.isArray(this.formRefs)) {
103
- await Promise.all(this.formRefs.map(ref => this.getRef(ref)?.validate()))
104
- } else {
105
- await this.getRef(this.formRefs)?.validate()
106
- }
107
- }
108
- this.loading = true
109
- this.$emit('submit', (status) => {
110
- this.loading = false
111
- if (!status) {
112
- this.visible = false
113
- }
114
- })
115
- },
116
- cancel () {
117
- this.$emit('cancel')
118
- this.visible = false
119
- },
120
- /**
121
- * @description: 弹窗关闭时清除表单校验
122
- */
123
- closed () {
124
- this.$emit('closed')
125
- if (this.formRefs) {
126
- // 多表单校验
127
- if (Array.isArray(this.formRefs)) {
128
- this.formRefs.forEach(ref => this.getRef(ref)?.resetFields())
129
- } else {
130
- this.getRef(this.formRefs)?.resetFields()
131
- }
132
- }
133
- }
134
- }
135
- }
136
- </script>
@@ -1,275 +0,0 @@
1
- <template>
2
- <div
3
- v-if="visible && list.length"
4
- class="d-file-preview"
5
- >
6
- <div
7
- ref="leftRef"
8
- class="d-file-preview_left"
9
- >
10
- <el-tabs
11
- v-model="activeTab"
12
- @tab-click="handleTabClick"
13
- >
14
- <el-tab-pane
15
- v-for="(v, i) in fileList"
16
- :key="i"
17
- :label="v.name"
18
- :name="v.type"
19
- />
20
- </el-tabs>
21
- <ul class="d-file-preview_list">
22
- <li
23
- v-for="(url, i) in currentFileList"
24
- :key="i"
25
- :class="currentFileIndex === i ? 'active_left' : ''"
26
- @click="handleClickLeft(url, i)"
27
- >
28
- <el-image
29
- style="width: 140px; height: 140px"
30
- :src="getUrl(url)"
31
- fit="cover"
32
- />
33
- </li>
34
- </ul>
35
- </div>
36
- <el-image-viewer
37
- v-show="activeTab === 'image'"
38
- ref="viewer"
39
- :mask-closable="false"
40
- :append-to-body="false"
41
- :url-list="[activeTab === 'image' ? currentFileList[currentFileIndex] : '']"
42
- :on-close="close"
43
- />
44
- <div
45
- v-show="activeTab !== 'image'"
46
- class="d-file-preview_box"
47
- >
48
- <span
49
- class="el-image-viewer__btn el-image-viewer__close"
50
- @click="close"
51
- >
52
- <i class="el-icon-close" />
53
- </span>
54
- <audio
55
- v-show="activeTab === 'audio'"
56
- controls
57
- style="width: 60%"
58
- >
59
- <source :src="currentFileList[currentFileIndex]">
60
- 您的浏览器不支持 audio 元素。
61
- </audio>
62
- <video
63
- v-show="activeTab === 'video'"
64
- controls
65
- style="min-width: 80%;max-height: 90%"
66
- >
67
- <source :src="currentFileList[currentFileIndex]">
68
- 您的浏览器不支持 HTML5 video 标签。
69
- </video>
70
- </div>
71
- </div>
72
- </template>
73
-
74
- <script>
75
- import ElImageViewer from 'element-ui/packages/image/src/image-viewer'
76
- import {imgExts, videoExts, audioExts} from '../../utils/constant'
77
- export default {
78
- name: 'DFilePreview',
79
- components: { ElImageViewer },
80
- props: {
81
- value: {
82
- type: Boolean,
83
- default: false
84
- },
85
- list: {
86
- type: Array,
87
- default: () => {
88
- return [
89
- { name: '图片', type: 'image', urls: [] },
90
- { name: '视频', type: 'video', urls: [] },
91
- { name: '音频', type: 'audio', urls: [] }
92
- ]
93
- }
94
- },
95
- defaultIndex: {
96
- type: Number,
97
- default: 0
98
- }
99
- },
100
- data () {
101
- return {
102
- fileList: [],
103
- currentFileIndex: 0,
104
- activeTab: 'image',
105
- visible: true
106
- }
107
- },
108
- computed: {
109
- currentFileList () {
110
- return this.fileList.find(item => item.type === this.activeTab)?.urls || []
111
- }
112
- },
113
- watch: {
114
- list: {
115
- handler (val) {
116
- if (val.length && typeof (val[0]) === 'string') {
117
- let arr = [
118
- { name: '图片', type: 'image', urls: [] },
119
- { name: '视频', type: 'video', urls: [] },
120
- { name: '音频', type: 'audio', urls: [] }
121
- ]
122
- const exts = [imgExts, videoExts, audioExts]
123
- val.map((url, index) => {
124
- exts.forEach((item, i) => {
125
- if (item.includes(url.substring(url.lastIndexOf('.') + 1))) {
126
- arr[i].urls.push(url)
127
- // 判断初始化tab、index
128
- if (this.defaultIndex === index) {
129
- this.activeTab = arr[i].type
130
- this.currentFileIndex = arr[i].urls.length - 1
131
- }
132
- }
133
- })
134
- })
135
- this.fileList = arr.filter(item => item.urls.length)
136
- } else {
137
- this.fileList = val
138
- }
139
- },
140
- immediate: true,
141
- deep: true
142
- },
143
- visible: {
144
- handler (val) {
145
- if (val) {
146
- this.addEventEventFun()
147
- } else {
148
- this.removeEventFun()
149
- }
150
- }
151
- }
152
- },
153
- methods: {
154
- deviceSupportUninstall () {
155
- this.$refs.viewer.deviceSupportUninstall()
156
- },
157
- deviceSupportInstall () {
158
- this.$refs.viewer.deviceSupportInstall()
159
- },
160
- addEventEventFun () {
161
- const elRef = this.$refs.leftRef
162
- elRef.addEventListener('mouseenter', this.deviceSupportUninstall)
163
- elRef.addEventListener('mouseleave', this.deviceSupportInstall)
164
- },
165
- removeEventFun () {
166
- const elRef = this.$refs.leftRef
167
- elRef.removeEventListener('mouseenter', this.deviceSupportUninstall)
168
- elRef.removeEventListener('mouseleave', this.deviceSupportInstall)
169
- },
170
- close () {
171
- this.visible = false
172
- this.$emit('close')
173
- },
174
- getUrl (val) {
175
- switch (this.activeTab) {
176
- case 'video':
177
- return require('./static/video.png')
178
- case 'image':
179
- return val
180
- case 'audio':
181
- return require('./static/audio.png')
182
- default:
183
- break
184
- }
185
- },
186
- handleClickLeft (url, index) {
187
- this.currentFileIndex = index
188
- },
189
- handleTabClick () {
190
- this.currentFileIndex = 0
191
- }
192
- }
193
- }
194
- </script>
195
-
196
- <style lang="scss" scoped>
197
- .d-file-preview {
198
- width: 100vw;
199
- height: 100vh;
200
- position: fixed;
201
- top: 0;
202
- left: 0;
203
- z-index: 99999;
204
-
205
- &_box {
206
- position: fixed;
207
- top: 0;
208
- left: 0;
209
- right: 0;
210
- bottom: 0;
211
- z-index: 1001;
212
- padding-left: 250px;
213
- background-color: rgba($color: #000000, $alpha: 0.5);
214
- display: flex;
215
- align-items: center;
216
- justify-content: center;
217
- }
218
-
219
- &_left {
220
- position: fixed;
221
- z-index: 3000;
222
- width: 220px;
223
- height: 100vh;
224
- top: 0;
225
- left: 0;
226
- bottom: 0;
227
- overflow: hidden;
228
- padding: 12px 12px 12px 20px;
229
- display: flex;
230
- flex-direction: column;
231
- background: #606266;
232
-
233
- :deep(.el-tabs__nav-wrap::after) {
234
- background-color: transparent;
235
- }
236
-
237
- :deep(.el-tabs__item) {
238
- color: #fff;
239
- }
240
-
241
- :deep(.el-tabs__item.is-active) {
242
- color: #5f9efd;
243
- }
244
-
245
- &_list {
246
- flex: 1;
247
- overflow: auto;
248
- text-align: center;
249
- font-size: 0;
250
-
251
- li {
252
- margin-bottom: 7px;
253
- border: 2px solid transparent;
254
- margin-right: 2px;
255
- }
256
-
257
- .active_left {
258
- border: 2px solid #5f9efd;
259
- }
260
-
261
- &::-webkit-scrollbar {
262
- display: none;
263
- }
264
- }
265
- }
266
-
267
- :deep(.el-image-viewer__wrapper) {
268
- left: calc(220px);
269
- }
270
-
271
- :deep(.el-icon-close) {
272
- color: #fff;
273
- }
274
- }
275
- </style>