meixioacomponent 1.1.49 → 2.0.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 (107) hide show
  1. package/lib/components/index.d.ts +1 -1
  2. package/lib/components/index.d.ts.map +1 -1
  3. package/lib/components/index.js +3 -3
  4. package/lib/config/use/UseImg.d.ts.map +1 -1
  5. package/lib/config/use/UseImg.js +1 -0
  6. package/lib/meixioacomponent.common.js +17531 -38668
  7. package/lib/meixioacomponent.umd.js +17584 -38721
  8. package/lib/meixioacomponent.umd.min.js +6 -159
  9. package/lib/style/font-family.less +2 -1
  10. package/lib/style/index.less +9 -2
  11. package/lib/style/meixioacomponenticonfont/TCloudNumberVF.ttf +0 -0
  12. package/lib/style/tableStyle.less +15 -13
  13. package/lib/style/tdesignStyle.less +9 -0
  14. package/lib/style/variables.less +1 -1
  15. package/package.json +3 -3
  16. package/packages/components/base/baseAppendix/baseAppendix.vue +12 -11
  17. package/packages/components/base/baseArea/baseArea.vue +49 -54
  18. package/packages/components/base/baseAvatar/baseAvatar.vue +16 -14
  19. package/packages/components/base/baseButton/baseButton.vue +80 -0
  20. package/packages/components/base/baseButton/index.js +6 -0
  21. package/packages/components/base/baseButtonHandle/baseButtonHandle.vue +36 -4
  22. package/packages/components/base/baseDialog/index.vue +131 -102
  23. package/packages/components/base/baseDialogTable/dialogTable.vue +1 -0
  24. package/packages/components/base/baseDrawer/index.vue +119 -89
  25. package/packages/components/base/baseEdito/baseEdito.vue +56 -50
  26. package/packages/components/base/baseFixedHeader/baseFixedHeader.vue +44 -37
  27. package/packages/components/base/baseImageViewer/image-viewer.vue +29 -311
  28. package/packages/components/base/baseImg/baseImg.vue +8 -7
  29. package/packages/components/base/baseInforWrap/baseInforWrap.vue +14 -7
  30. package/packages/components/base/baseLineInfoItem/baseLineInfoItem.vue +4 -4
  31. package/packages/components/base/baseList/index.vue +10 -23
  32. package/packages/components/base/baseMoverVerifiBar/baseMoverVerifiBar.vue +7 -13
  33. package/packages/components/base/baseNumberInput/index.vue +42 -158
  34. package/packages/components/base/basePagination/index.vue +24 -31
  35. package/packages/components/base/basePlainTable/basePlainTable.vue +89 -183
  36. package/packages/components/base/basePopoverButton/index.vue +45 -36
  37. package/packages/components/base/baseSection/baseSection.vue +17 -8
  38. package/packages/components/base/baseSingleImgUpload/index.vue +2 -2
  39. package/packages/components/base/baseSkeleton/baseSkeleton.vue +0 -1
  40. package/packages/components/base/baseStoreSelect/index.vue +48 -64
  41. package/packages/components/base/baseTag/index.vue +12 -96
  42. package/packages/components/base/baseText/index.vue +66 -79
  43. package/packages/components/base/baseTimeLine/baseTimeLineLeft.vue +1 -1
  44. package/packages/components/base/baseTimeLine/baseTimeLineRight.vue +1 -1
  45. package/packages/components/base/baseTimeTypeSelect/base_time_type_select.vue +73 -78
  46. package/packages/components/base/baseToggle/toggle.vue +28 -48
  47. package/packages/components/base/baseTreeSelect/index.vue +20 -147
  48. package/packages/components/base/baseUpload/baseUploadItem.vue +74 -77
  49. package/packages/components/base/baseUpload/mixins.js +0 -1
  50. package/packages/components/base/baseUpload/uploadMediaView.vue +14 -13
  51. package/packages/components/base/baseUploadImgAndName/index.vue +28 -11
  52. package/packages/components/base/baseUploadTemplate/index.vue +27 -11
  53. package/packages/components/base/baseVideo/index.vue +9 -7
  54. package/packages/components/base/upload/upload.vue +17 -14
  55. package/packages/components/base/upload/uploadItem.vue +40 -46
  56. package/packages/components/dialogCache/index.vue +30 -24
  57. package/packages/components/index.js +3 -3
  58. package/packages/components/index.ts +4 -3
  59. package/packages/components/mixins/tableSectionMixins.js +0 -12
  60. package/packages/components/proForm/dialogForm/baseDialogForm.vue +17 -14
  61. package/packages/components/proForm/proForm/proFormItem/pro_form_item.vue +95 -79
  62. package/packages/components/proForm/proForm/pro_form.vue +47 -52
  63. package/packages/components/proPageTable/oaProTableSearch/oa_pro-table-search.vue +2 -2
  64. package/packages/components/proPageTable/oaProTableSearch/oa_pro_screen.vue +19 -10
  65. package/packages/components/proPageTable/oaProTableSearch/oa_pro_screen_item.vue +28 -27
  66. package/packages/components/proPageTable/oa_pro_colum_config.vue +8 -10
  67. package/packages/components/proPageTable/oa_pro_footer.vue +15 -15
  68. package/packages/components/proPageTable/oa_pro_table-header.vue +19 -31
  69. package/packages/components/proPageTable/oa_pro_table.vue +208 -284
  70. package/packages/components/proPageTable/oa_pro_table_check_handle_bar.vue +28 -16
  71. package/packages/components/searchHeader/searchHeader.vue +16 -17
  72. package/packages/components/style/font-family.less +2 -1
  73. package/packages/components/style/index.less +9 -2
  74. package/packages/components/style/meixioacomponenticonfont/TCloudNumberVF.ttf +0 -0
  75. package/packages/components/style/tableStyle.less +15 -13
  76. package/packages/components/style/tdesignStyle.less +9 -0
  77. package/packages/components/style/variables.less +1 -1
  78. package/packages/config/use/UseImg.js +1 -0
  79. package/packages/config/use/UseImg.ts +1 -0
  80. package/packages/utils/upload.js +61 -72
  81. package/packages/utils/utils.js +316 -276
  82. package/lib/fonts/element-icons.f1a45d74.ttf +0 -0
  83. package/lib/fonts/element-icons.ff18efd1.woff +0 -0
  84. package/lib/style/element/common_class.less +0 -3
  85. package/lib/style/element/fonts/element-icons.ttf +0 -0
  86. package/lib/style/element/fonts/element-icons.woff +0 -0
  87. package/lib/style/element/index.css +0 -30219
  88. package/packages/components/base/elDatePicker/basic/date-table.vue +0 -441
  89. package/packages/components/base/elDatePicker/basic/month-table.vue +0 -269
  90. package/packages/components/base/elDatePicker/basic/time-spinner.vue +0 -304
  91. package/packages/components/base/elDatePicker/basic/year-table.vue +0 -111
  92. package/packages/components/base/elDatePicker/index.js +0 -6
  93. package/packages/components/base/elDatePicker/index.vue +0 -28
  94. package/packages/components/base/elDatePicker/panel/date-range.vue +0 -680
  95. package/packages/components/base/elDatePicker/panel/date.vue +0 -609
  96. package/packages/components/base/elDatePicker/panel/month-range.vue +0 -289
  97. package/packages/components/base/elDatePicker/panel/time-range.vue +0 -248
  98. package/packages/components/base/elDatePicker/panel/time-select.vue +0 -178
  99. package/packages/components/base/elDatePicker/panel/time.vue +0 -186
  100. package/packages/components/base/elDatePicker/picker/date-picker.js +0 -55
  101. package/packages/components/base/elDatePicker/picker/time-picker.js +0 -39
  102. package/packages/components/base/elDatePicker/picker/time-select.js +0 -21
  103. package/packages/components/base/elDatePicker/picker.vue +0 -956
  104. package/packages/components/style/element/common_class.less +0 -3
  105. package/packages/components/style/element/fonts/element-icons.ttf +0 -0
  106. package/packages/components/style/element/fonts/element-icons.woff +0 -0
  107. package/packages/components/style/element/index.css +0 -30219
@@ -1,14 +1,14 @@
1
1
  <template>
2
- <div :class="[tableExtend]" class="table-wrap">
3
- <el-table :id="id" ref="elTable" :data="tableData"
4
- :header-cell-style="headerCellStyle"
5
- :height="height"
6
- :max-height="maxHeight"
7
- :row-key="rowKey"
8
- v-bind="$attrs"
9
-
10
- @selection-change="handleSelectionChange">
11
- <!-- 表格暂无数据 -->
2
+ <div class="table-wrap">
3
+
4
+ <t-table
5
+ :row-key="rowKey"
6
+ :columns="renderColumns"
7
+ :data="tableData"
8
+ :default-selected-row-keys="preCheckValue"
9
+ :selected-row-keys="preCheckValue"
10
+ @select-change=""
11
+ >
12
12
  <template slot="empty">
13
13
  <baseDefaultSvgVue
14
14
  v-if="tableData.length <= 0"
@@ -17,76 +17,31 @@
17
17
  :text="`表格无数据`"
18
18
  :width="emptyWidth"
19
19
  ></baseDefaultSvgVue>
20
- <span></span>
21
20
  </template>
22
21
 
23
- <!-- 表格的扩展项-->
24
- <el-table-column v-if="tableExtend"
25
- :reserve-selection="true"
26
- :selectable="canSelected"
27
- :type="columnType">
28
- </el-table-column>
29
-
30
-
31
- <el-table-column
32
- v-for="(item, index) in tableConfig"
33
- :key="item.value"
34
- :align="`left`"
35
- :fixed="item.fixed ? item.fixed : false"
36
- :label="item.label"
37
- :prop="item.value"
38
- :row-key="getRowKey"
39
- v-show="!item.hide"
40
- :width="isAverageWidth ? '' : item.width"
41
- >
42
- <template slot="header" slot-scope="scope">
43
- <span class="plain-table-header-text">
44
- {{ scope.column.label }}
45
- </span>
46
- </template>
47
-
48
- <template slot-scope="scope">
49
-
50
- <slot
51
- v-if="item.template "
52
- :name="item.value"
53
- :scope="scope.row"
54
- ></slot>
55
-
56
-
57
- <el-tooltip
58
- v-else-if="
59
- isToolTip(scope.row[`${item.value}`]) && !item.type
60
- "
61
- :content="scope.row[`${item.value}`].toString()"
62
- effect="dark"
63
- placement="top"
64
- >
65
- <span
66
- :class="[ item.fn ? 'handle-primary' : '', ]"
67
- class="cell-content-text"
68
- @click="rowClick(item, scope.row)"
69
- >
70
- {{ nomalRowValue(scope.row, item) }}
71
- </span>
72
- </el-tooltip>
73
- <span
74
-
75
- v-else-if="!item.type"
76
- :class="[ item.fn ? 'handle-primary' : '', ]"
77
- :style="{
22
+ <template v-for="(item) in renderColumns" :slot="item.value" slot-scope="scope">
23
+ <slot
24
+ v-if="item.template "
25
+ :name="item.value"
26
+ :scope="scope.row"
27
+ ></slot>
28
+ <span
29
+ v-else-if="!item.type"
30
+ :class="[ item.fn ? 'handle-primary' : '', ]"
31
+ :style="{
78
32
  color: item.color,
79
33
  }"
80
- class="cell-content-text"
81
- @click="rowClick(item, scope.row)"
82
- >
34
+ class="cell-content-text"
35
+ @click="rowClick(item, scope.row)"
36
+ >
83
37
  {{ nomalRowValue(scope.row, item) }}
84
38
  </span>
85
- <baseText v-else-if="item.type" :content="scope.row[item.value]"
86
- :type="item.type"></baseText>
87
- </template>
88
- </el-table-column>
89
- </el-table>
39
+ <baseText v-else-if="item.type" :content="scope.row[item.value]"
40
+ :type="item.type"></baseText>
41
+
42
+ </template>
43
+ </t-table>
44
+
90
45
  </div>
91
46
  </template>
92
47
 
@@ -95,7 +50,7 @@ import baseDefaultSvgVue from '../baseDefaultSvg/baseDefaultSvg.vue'
95
50
  import baseText from "../baseText";
96
51
 
97
52
  //
98
- import {FilterTime} from '../../../utils/utils'
53
+ import {FilterTime, TransomTableConfig} from '../../../utils/utils'
99
54
  import {tableSectionMixins} from "../../mixins/tableSectionMixins";
100
55
 
101
56
  export default {
@@ -105,10 +60,13 @@ export default {
105
60
  id: null,
106
61
  checkValue: null,
107
62
  maxHeight: 'auto',
63
+ tableColumns: []
108
64
 
109
65
  }
110
66
  },
67
+ mixins: [tableSectionMixins],
111
68
  created() {
69
+ this.tableColumns = this.$props.tableConfig;
112
70
  if (this.$props.tableId) {
113
71
  this.id = this.$props.tableId
114
72
  }
@@ -136,19 +94,22 @@ export default {
136
94
  require: true,
137
95
  default: () => [],
138
96
  },
139
-
140
-
141
97
  tableId: {
142
98
  type: String,
143
99
  },
144
100
  height: {
145
101
  default: 'auto',
146
102
  },
147
-
148
- isAverageWidth: {
149
- type: Boolean,
150
- default: false,
103
+ rowKey: {
104
+ type: String,
105
+ default: ''
106
+ },
107
+ // single/multiple
108
+ checkType: {
109
+ type: String,
110
+ default: ''
151
111
  },
112
+
152
113
  emptyWidth: {
153
114
  type: Number,
154
115
  default: 280,
@@ -161,45 +122,64 @@ export default {
161
122
  type: Boolean,
162
123
  default: false,
163
124
  },
164
- tableExtend: {
165
- type: String,
166
- },
125
+
167
126
  preCheckValue: {
168
127
  type: Array,
169
128
  },
170
- headerCellStyle: {
171
- type: Object,
172
- default: () => {
173
- return {
174
- background: 'white',
175
- color: `var(--font-color-s)`
176
- }
177
-
178
- }
179
- },
180
129
  canSelected: {
181
130
  type: Function,
182
- default: () => {
183
- return true
184
- }
185
- }
131
+ default: null
132
+ },
133
+ // 表格的配置
134
+ tableConfig: {
135
+ type: Array,
136
+ require: true,
137
+ },
138
+
186
139
  },
187
- mixins: [tableSectionMixins],
188
140
  computed: {
189
- columnType() {
190
- const {tableExtend} = this.$props
191
- switch (tableExtend) {
192
- case 'single':
193
- return 'selection'
194
- case 'multiple':
195
- return 'selection'
196
- }
197
-
141
+ renderColumns() {
142
+
143
+
144
+ const config = this.tableColumns.map((item, index) => {
145
+ item['key'] = item.value;
146
+ item['colkey'] = item.key;
147
+ TransomTableConfig(item, index)
148
+ return item;
149
+ });
150
+
151
+
152
+ if (this.$props.checkType) {
153
+ const checkConfig = {
154
+ colKey: 'row-select',
155
+ type: 'multiple',
156
+ label: 'row-select',
157
+ disabled: (scope) => {
158
+ if (this.$props.canSelected) {
159
+ return !(this.$props.canSelected(scope))
160
+ } else {
161
+ return false
162
+ }
163
+
164
+ }
165
+ }
198
166
 
167
+ return [checkConfig,...config]
168
+ }else{
169
+ }
170
+ return config
199
171
  }
172
+
200
173
  },
201
174
  methods: {
202
-
175
+ // 返回普通格式的样式
176
+ nomalStyle(item) {
177
+ return [
178
+ item.fun ? "fun" : "",
179
+ item.click ? "primary" : "",
180
+ item.color ? item.color : "",
181
+ ];
182
+ },
203
183
  isToolTip(value) {
204
184
  if (!value) {
205
185
  return false
@@ -237,78 +217,4 @@ export default {
237
217
 
238
218
  <style lang="less" scoped>
239
219
  @import url("../../style/tableStyle.less");
240
-
241
- .table-wrap {
242
- overflow: hidden;
243
- border-top: 0;
244
- border-bottom: 0;
245
- border-radius: calc(var(--radius) * 2);
246
- border-bottom: 1px solid var(--color-table-border);
247
-
248
- }
249
-
250
-
251
- /deep/ .has-gutter {
252
- tr {
253
- th {
254
- background: var(--color-table-header) !important;
255
- }
256
- }
257
- }
258
-
259
- /deep/ .el-table__fixed-header-wrapper {
260
- table {
261
- thead {
262
- tr {
263
- th {
264
- background: var(--color-table-header) !important;
265
- }
266
- }
267
- }
268
- }
269
-
270
- }
271
-
272
- .plain-table-header-text {
273
- color: var(--font-color-s);
274
- font-size: var(--font-size-base);
275
- font-weight: var(--font-weight-m);
276
- }
277
-
278
- /deep/ .el-table__header-wrapper {
279
- background: var(--color-table-header) !important;
280
- height: auto !important;
281
- }
282
-
283
-
284
- /deep/ .el-table__body-wrapper {
285
- height: auto !important;
286
- }
287
-
288
- .handle-primary {
289
- cursor: pointer;
290
- text-decoration: underline !important;
291
- }
292
-
293
- .primary,
294
- .handle-primary {
295
- font-weight: var(--font-weight-g);
296
- color: var(--color-primary) !important;
297
- }
298
-
299
-
300
- /deep/ .el-table::before {
301
- display: none !important;
302
- }
303
-
304
-
305
- /deep/ .el-table__row {
306
- &:last-of-type {
307
- td {
308
- border-bottom: 0;
309
- }
310
- }
311
- }
312
-
313
-
314
220
  </style>
@@ -1,45 +1,45 @@
1
1
  <template>
2
- <el-popover
3
- ref="popover"
2
+ <t-popup
4
3
  v-model="module"
5
4
  :placement="placement"
6
5
  :trigger="trigger"
7
- @hide="popoverHide"
8
- @show="popoverShow"
6
+ :disabled="disabled"
7
+ @visible-change="onVisibleChange"
9
8
  >
10
- <template>
11
- <div ref="popoverContent" class="popover-content">
12
- <slot name="popoverContent"></slot>
13
- </div>
9
+ <template #content>
10
+ <slot name="popoverContent"></slot>
14
11
  </template>
15
- <template v-if="!template" slot="reference">
16
- <el-button
17
- :class="{ 'is-single': !buttonText && buttonIcon }"
18
- :disabled="disabled"
19
- :size="buttonSize"
20
- :type="module ? 'selected' : 'info'"
21
- class="popover-button"
22
- @click.stop="buttonClick"
23
- >
24
- <base-icon
25
- v-if="buttonIcon"
26
- :color="module ? 'var(--text-white)' : 'd'"
27
- :event="!disabled"
28
- :iconClass="iconClass"
29
- :name="buttonIcon"
30
- :plain="true"
31
- :size="`s`"
32
- class="button-icon"
33
- @iconClick="iconClick"
34
- ></base-icon>
12
+
13
+ <div>
14
+ <base-button
15
+ v-if="!template"
16
+ :disabled="disabled" :type="buttonType" :size="buttonSize"
17
+ :shape="buttonText?'rectangle':'square'"
18
+ @click="buttonClick">
19
+
20
+ <template #icon v-if="buttonIcon">
21
+ <base-icon
22
+ :style="{
23
+ marginRight:buttonText?'var(--margin-2)':'0'
24
+ }"
25
+ v-if="buttonIcon"
26
+ :color="module ? 'var(--text-white)' : 'd'"
27
+ :event="!disabled"
28
+ :iconClass="iconClass"
29
+ :name="buttonIcon"
30
+ :plain="true"
31
+ :size="`s`"
32
+ class="button-icon"
33
+ @iconClick="iconClick"
34
+ ></base-icon>
35
+ </template>
35
36
  <span v-if="buttonText" class="inner-span">{{ buttonText }}</span>
36
- </el-button>
37
- </template>
37
+ </base-button>
38
+ <slot v-else name="popoverReference"></slot>
39
+
40
+ </div>
41
+ </t-popup>
38
42
 
39
- <template v-else slot="reference">
40
- <slot name="popoverReference"></slot>
41
- </template>
42
- </el-popover>
43
43
  </template>
44
44
 
45
45
  <script>
@@ -107,6 +107,9 @@ export default {
107
107
  return this.$props.value
108
108
  },
109
109
  },
110
+ buttonType(){
111
+ return this.module?'primary':'info'
112
+ }
110
113
  },
111
114
  methods: {
112
115
  popoverShow() {
@@ -117,12 +120,18 @@ export default {
117
120
  },
118
121
  iconClick() {
119
122
  this.$nextTick(() => {
120
- this.$refs.popover.doShow()
121
- // console.log(this.$refs.popover)
123
+ this.module = true;
122
124
  })
123
125
  },
124
126
  buttonClick() {
125
127
  },
128
+ onVisibleChange() {
129
+ if (this.module) {
130
+ this.popoverShow()
131
+ } else {
132
+ this.popoverHide();
133
+ }
134
+ }
126
135
  },
127
136
  }
128
137
  </script>
@@ -14,12 +14,17 @@
14
14
  </div>
15
15
  <div class="header-right">
16
16
  <slot name="section-header-right"></slot>
17
- <base-icon
18
- :event="true"
19
- :name="iconClass"
20
- :size="`l`"
21
- @iconClick="iconClick"
22
- ></base-icon>
17
+
18
+ <t-button shape="square" variant="outline" @click="iconClick">
19
+ <template #icon>
20
+ <ArrowDownIcon
21
+ v-if="!module"
22
+ ></ArrowDownIcon>
23
+ <ArrowUpIcon
24
+ v-else
25
+ ></ArrowUpIcon>
26
+ </template>
27
+ </t-button>
23
28
 
24
29
  </div>
25
30
  </div>
@@ -30,6 +35,8 @@
30
35
  </template>
31
36
 
32
37
  <script>
38
+ import {ArrowDownIcon, ArrowUpIcon} from "tdesign-icons-vue"
39
+
33
40
  export default {
34
41
  name: 'baseSection',
35
42
  data() {
@@ -42,7 +49,9 @@ export default {
42
49
  },
43
50
  beforeDestroy() {
44
51
  },
45
- props: {
52
+ components: {
53
+ ArrowDownIcon, ArrowUpIcon
54
+ }, props: {
46
55
  disable: {
47
56
  type: Boolean,
48
57
  default: false,
@@ -154,7 +163,7 @@ export default {
154
163
  margin-left: var(--margin-4);
155
164
 
156
165
  &::before {
157
- top: 0px;
166
+ top: 0;
158
167
  left: -10px;
159
168
  width: 4px;
160
169
  height: 100%;
@@ -18,14 +18,14 @@
18
18
  ></BaseImg>
19
19
  </div>
20
20
 
21
- <el-button
21
+ <base-button
22
22
  type="primary"
23
23
  size="mini"
24
24
  @click="handleCheckImg"
25
25
  :disabled="disabled"
26
26
  >
27
27
  选择图片
28
- </el-button>
28
+ </base-button>
29
29
  <BaseUploadItem
30
30
  :fileType="`img`"
31
31
  :cropper="cropper"
@@ -62,7 +62,6 @@ export default {
62
62
  height: 100%;
63
63
  display: flex;
64
64
  border-radius: inherit;
65
- align-items: flex-start;
66
65
  flex-flow: column nowrap;
67
66
  justify-content: flex-start;
68
67
  align-items: flex-start;
@@ -1,66 +1,41 @@
1
1
  <template>
2
- <el-select
3
- v-if="selectStore"
4
- ref="target"
5
- v-model="module"
6
- :disabled="disabled"
7
- :filterable="true"
8
- :loading="selectLoading"
9
- :multiple="multiple"
10
- :clearable="true"
11
- :multipleLimit="multipleLimit"
12
- :placeholder="placeholder"
13
- :size="size"
14
- style="width: 100%; height: 100%;"
15
- @change="selectChange"
16
- @visible-change="visibleChange"
17
- >
18
- <div slot="empty" class="select-empty">
19
- <el-button
20
- :loading="selectLoading"
21
- icon="el-icon-refresh"
22
- size="mini"
23
- type="primary"
24
- @click="loadSelectData"
25
- >
26
- 尝试刷新数据
27
- </el-button>
28
- </div>
29
- <div class="option-wrap">
30
- <div class="option-wrap-header">
31
-
32
- <!-- 全选-->
33
- <el-checkbox
34
- v-if="useCheckAll&&multiple"
35
- v-model="checkAll"
36
- :indeterminate="isIndeterminate" style="width: 100%" @change="handleCheckAllChange">全选
37
- </el-checkbox>
38
-
39
- <!-- -->
40
- <el-button
41
- :disabled="selectLoading"
42
- icon="el-icon-refresh"
2
+ <t-select v-if="selectStore" ref="target" v-model="module" :disabled="disabled" :filterable="true"
3
+ :loading="selectLoading" :multiple="multiple" :clearable="true" :max="multipleLimit"
4
+ :placeholder="placeholder" :size="componentSize" style="width: 100%; height: 100%;" @change="selectChange"
5
+ @popupVisibleChange="visibleChange">
6
+ <template #empty>
7
+ <div class="empty-wrap">
8
+ <base-button
9
+ :loading="selectLoading"
43
10
  size="mini"
44
- title="重新刷新数据"
45
- type="info"
11
+ type="primary"
46
12
  @click="loadSelectData"
47
- ></el-button>
13
+ >
14
+ <template #icon>
15
+ <RefreshIcon></RefreshIcon>
16
+ </template>
17
+ 尝试刷新数据
18
+ </base-button>
19
+ </div>
48
20
 
21
+ </template>
22
+
23
+
24
+ <t-option
25
+ v-for="item in selectData"
26
+ :key="item.value"
27
+ :disabled="item.disabled"
28
+ :label="item[`${selectConfig.label}`]"
29
+ :value="item[`${selectConfig.value}`]"
30
+ ></t-option>
31
+ </t-select>
49
32
 
50
- </div>
51
- <el-option
52
- v-for="item in selectData"
53
- :key="item.value"
54
- :disabled="item.disabled"
55
- :label="item[`${selectConfig.label}`]"
56
- :value="item[`${selectConfig.value}`]"
57
- ></el-option>
58
- </div>
59
- </el-select>
60
33
  </template>
61
34
 
62
35
  <script>
63
36
  import componentConfig from '../../../config/componentConfig'
37
+ import {RefreshIcon} from "tdesign-icons-vue"
38
+ import {TransomComponentSize} from "../../../utils/utils";
64
39
 
65
40
  export default {
66
41
  name: 'baseStoreSelect',
@@ -128,6 +103,9 @@ export default {
128
103
  selectConfig() {
129
104
  return this.selectStore.getConfig()
130
105
  },
106
+ componentSize() {
107
+ return TransomComponentSize(this.$props.size)
108
+ }
131
109
  },
132
110
 
133
111
  methods: {
@@ -173,7 +151,7 @@ export default {
173
151
  this.$emit('onSelectChange', this.module)
174
152
  },
175
153
  focus() {
176
- this.$refs.target.focus()
154
+ this.$refs.target?.focus()
177
155
  },
178
156
 
179
157
  getSelectData() {
@@ -213,6 +191,9 @@ export default {
213
191
  this.loadSelectData()
214
192
  },
215
193
  },
194
+ components: {
195
+ RefreshIcon
196
+ },
216
197
 
217
198
  watch: {
218
199
  '$props.params': {
@@ -244,16 +225,19 @@ export default {
244
225
  .option-wrap {
245
226
  width: 100%;
246
227
  height: auto;
247
-
248
- .option-wrap-header {
249
- width: 100%;
250
- display: flex;
251
- box-sizing: border-box;
252
- justify-content: end;
253
- padding: 0 var(--padding-4);
254
- margin-bottom: var(--margin-4);
255
- }
256
228
  }
229
+ .empty-wrap{
230
+ width: 100%;
231
+ box-sizing: border-box;
232
+ padding: var(--padding-4);
233
+ display: flex;
234
+ align-items: center;
235
+ flex-flow: row nowrap;
236
+ justify-content: flex-end;
237
+ }
238
+
239
+
240
+
257
241
 
258
242
  .select-empty {
259
243
  width: 100%;