meixioacomponent 1.1.48 → 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.
- package/lib/components/index.d.ts +1 -1
- package/lib/components/index.d.ts.map +1 -1
- package/lib/components/index.js +3 -3
- package/lib/config/use/UseImg.d.ts.map +1 -1
- package/lib/config/use/UseImg.js +1 -0
- package/lib/meixioacomponent.common.js +17531 -38689
- package/lib/meixioacomponent.umd.js +17584 -38742
- package/lib/meixioacomponent.umd.min.js +6 -159
- package/lib/style/font-family.less +2 -1
- package/lib/style/index.less +9 -2
- package/lib/style/meixioacomponenticonfont/TCloudNumberVF.ttf +0 -0
- package/lib/style/tableStyle.less +15 -13
- package/lib/style/tdesignStyle.less +9 -0
- package/lib/style/variables.less +1 -1
- package/package.json +3 -3
- package/packages/components/base/baseAppendix/baseAppendix.vue +12 -11
- package/packages/components/base/baseArea/baseArea.vue +49 -54
- package/packages/components/base/baseAvatar/baseAvatar.vue +16 -14
- package/packages/components/base/baseButton/baseButton.vue +80 -0
- package/packages/components/base/baseButton/index.js +6 -0
- package/packages/components/base/baseButtonHandle/baseButtonHandle.vue +36 -4
- package/packages/components/base/baseDialog/index.vue +131 -102
- package/packages/components/base/baseDialogTable/dialogTable.vue +1 -0
- package/packages/components/base/baseDrawer/index.vue +119 -89
- package/packages/components/base/baseEdito/baseEdito.vue +56 -50
- package/packages/components/base/baseFixedHeader/baseFixedHeader.vue +44 -37
- package/packages/components/base/baseImageViewer/image-viewer.vue +29 -311
- package/packages/components/base/baseImg/baseImg.vue +8 -7
- package/packages/components/base/baseInforWrap/baseInforWrap.vue +14 -7
- package/packages/components/base/baseLineInfoItem/baseLineInfoItem.vue +4 -4
- package/packages/components/base/baseList/index.vue +10 -23
- package/packages/components/base/baseMoverVerifiBar/baseMoverVerifiBar.vue +7 -13
- package/packages/components/base/baseNumberInput/index.vue +42 -158
- package/packages/components/base/basePagination/index.vue +24 -31
- package/packages/components/base/basePlainTable/basePlainTable.vue +89 -183
- package/packages/components/base/basePopoverButton/index.vue +45 -36
- package/packages/components/base/baseSection/baseSection.vue +17 -8
- package/packages/components/base/baseSingleImgUpload/index.vue +2 -2
- package/packages/components/base/baseSkeleton/baseSkeleton.vue +0 -1
- package/packages/components/base/baseStoreSelect/index.vue +48 -64
- package/packages/components/base/baseTag/index.vue +12 -96
- package/packages/components/base/baseText/index.vue +66 -79
- package/packages/components/base/baseTimeLine/baseTimeLineLeft.vue +1 -1
- package/packages/components/base/baseTimeLine/baseTimeLineRight.vue +1 -1
- package/packages/components/base/baseTimeTypeSelect/base_time_type_select.vue +73 -78
- package/packages/components/base/baseToggle/toggle.vue +28 -48
- package/packages/components/base/baseTreeSelect/index.vue +20 -147
- package/packages/components/base/baseUpload/baseUploadItem.vue +74 -77
- package/packages/components/base/baseUpload/mixins.js +0 -1
- package/packages/components/base/baseUpload/uploadMediaView.vue +14 -13
- package/packages/components/base/baseUploadImgAndName/index.vue +28 -11
- package/packages/components/base/baseUploadTemplate/index.vue +27 -11
- package/packages/components/base/baseVideo/index.vue +9 -7
- package/packages/components/base/upload/upload.vue +17 -14
- package/packages/components/base/upload/uploadItem.vue +40 -46
- package/packages/components/dialogCache/index.vue +30 -24
- package/packages/components/index.js +3 -3
- package/packages/components/index.ts +4 -3
- package/packages/components/mixins/tableSectionMixins.js +0 -12
- package/packages/components/proForm/dialogForm/baseDialogForm.vue +17 -14
- package/packages/components/proForm/proForm/proFormItem/pro_form_item.vue +96 -97
- package/packages/components/proForm/proForm/pro_form.vue +47 -52
- package/packages/components/proPageTable/oaProTableSearch/oa_pro-table-search.vue +2 -2
- package/packages/components/proPageTable/oaProTableSearch/oa_pro_screen.vue +19 -10
- package/packages/components/proPageTable/oaProTableSearch/oa_pro_screen_item.vue +28 -27
- package/packages/components/proPageTable/oa_pro_colum_config.vue +8 -10
- package/packages/components/proPageTable/oa_pro_footer.vue +15 -15
- package/packages/components/proPageTable/oa_pro_table-header.vue +19 -31
- package/packages/components/proPageTable/oa_pro_table.vue +210 -284
- package/packages/components/proPageTable/oa_pro_table_check_handle_bar.vue +28 -16
- package/packages/components/searchHeader/searchHeader.vue +16 -17
- package/packages/components/style/font-family.less +2 -1
- package/packages/components/style/index.less +9 -2
- package/packages/components/style/meixioacomponenticonfont/TCloudNumberVF.ttf +0 -0
- package/packages/components/style/tableStyle.less +15 -13
- package/packages/components/style/tdesignStyle.less +9 -0
- package/packages/components/style/variables.less +1 -1
- package/packages/config/use/UseImg.js +1 -0
- package/packages/config/use/UseImg.ts +1 -0
- package/packages/utils/upload.js +61 -72
- package/packages/utils/utils.js +316 -276
- package/lib/fonts/element-icons.f1a45d74.ttf +0 -0
- package/lib/fonts/element-icons.ff18efd1.woff +0 -0
- package/lib/style/element/common_class.less +0 -3
- package/lib/style/element/fonts/element-icons.ttf +0 -0
- package/lib/style/element/fonts/element-icons.woff +0 -0
- package/lib/style/element/index.css +0 -30219
- package/packages/components/base/elDatePicker/basic/date-table.vue +0 -441
- package/packages/components/base/elDatePicker/basic/month-table.vue +0 -269
- package/packages/components/base/elDatePicker/basic/time-spinner.vue +0 -304
- package/packages/components/base/elDatePicker/basic/year-table.vue +0 -111
- package/packages/components/base/elDatePicker/index.js +0 -6
- package/packages/components/base/elDatePicker/index.vue +0 -28
- package/packages/components/base/elDatePicker/panel/date-range.vue +0 -680
- package/packages/components/base/elDatePicker/panel/date.vue +0 -609
- package/packages/components/base/elDatePicker/panel/month-range.vue +0 -289
- package/packages/components/base/elDatePicker/panel/time-range.vue +0 -248
- package/packages/components/base/elDatePicker/panel/time-select.vue +0 -178
- package/packages/components/base/elDatePicker/panel/time.vue +0 -186
- package/packages/components/base/elDatePicker/picker/date-picker.js +0 -55
- package/packages/components/base/elDatePicker/picker/time-picker.js +0 -39
- package/packages/components/base/elDatePicker/picker/time-select.js +0 -21
- package/packages/components/base/elDatePicker/picker.vue +0 -956
- package/packages/components/style/element/common_class.less +0 -3
- package/packages/components/style/element/fonts/element-icons.ttf +0 -0
- package/packages/components/style/element/fonts/element-icons.woff +0 -0
- package/packages/components/style/element/index.css +0 -30219
|
@@ -29,42 +29,20 @@
|
|
|
29
29
|
]" :toggle-list="config.list"></base-toggle>
|
|
30
30
|
|
|
31
31
|
|
|
32
|
-
<!--
|
|
33
|
-
<
|
|
34
|
-
v-else-if="config.type === 'checkbox'"
|
|
35
|
-
v-model="module"
|
|
36
|
-
:max="checkMax"
|
|
37
|
-
:min="checkMin"
|
|
38
|
-
style="width: 100%;"
|
|
39
|
-
>
|
|
40
|
-
<el-checkbox
|
|
41
|
-
v-for="(item, index) in config.list"
|
|
42
|
-
:key="index"
|
|
43
|
-
:label="item"
|
|
44
|
-
disabled
|
|
45
|
-
>
|
|
46
|
-
{{ item }}
|
|
47
|
-
</el-checkbox>
|
|
48
|
-
</el-checkbox-group>
|
|
49
|
-
<!-- textarea -->
|
|
50
|
-
<el-input
|
|
32
|
+
<!-- textarea-->
|
|
33
|
+
<t-textarea
|
|
51
34
|
v-if="config.type === 'textarea'"
|
|
52
35
|
v-model="module"
|
|
53
|
-
:autosize="
|
|
54
|
-
:
|
|
55
|
-
:
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
:name="`meixicomponenticon-edit`"
|
|
64
|
-
:size="`s`"
|
|
65
|
-
:title="`修改`"
|
|
66
|
-
@iconClick="handleClick('edit')"
|
|
67
|
-
></base-icon>
|
|
36
|
+
:autosize="{ minRows: config.rows}"
|
|
37
|
+
:size="componentSize"
|
|
38
|
+
:disabled="disabled"
|
|
39
|
+
></t-textarea>
|
|
40
|
+
|
|
41
|
+
<t-button shape="square" variant="outline" v-show="!isEdit && !isDisabled" @click="handleClick('edit')">
|
|
42
|
+
<template #icon>
|
|
43
|
+
<edit-icon></edit-icon>
|
|
44
|
+
</template>
|
|
45
|
+
</t-button>
|
|
68
46
|
</div>
|
|
69
47
|
|
|
70
48
|
<div
|
|
@@ -74,19 +52,19 @@
|
|
|
74
52
|
class="item-handle-wrap"
|
|
75
53
|
>
|
|
76
54
|
<!-- input输入框 -->
|
|
77
|
-
<
|
|
55
|
+
<t-input
|
|
78
56
|
v-if="config.type === 'input'&&!config.unit"
|
|
79
57
|
ref="target"
|
|
80
58
|
v-model="module"
|
|
81
59
|
:disabled="isDisabled"
|
|
82
60
|
:maxlength="config.maxlength"
|
|
83
61
|
:placeholder="config.placeholder"
|
|
84
|
-
:size="
|
|
62
|
+
:size="componentSize"
|
|
85
63
|
:style="{
|
|
86
64
|
width:`${config.width? `${config.width}px`:'100%'} `,
|
|
87
65
|
height:'100%'
|
|
88
66
|
}"
|
|
89
|
-
></
|
|
67
|
+
></t-input>
|
|
90
68
|
|
|
91
69
|
<!-- input输入框但是携带unit-->
|
|
92
70
|
<BaseNumberInput
|
|
@@ -155,68 +133,90 @@
|
|
|
155
133
|
@hook:mounted="selectMounted = true"
|
|
156
134
|
></baseStoreSelect>
|
|
157
135
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
136
|
+
|
|
137
|
+
<t-date-picker
|
|
138
|
+
v-else-if="config.type === 'time'"
|
|
161
139
|
v-model="module"
|
|
140
|
+
:placeholder="config.placeholder"
|
|
141
|
+
:clearable="true"
|
|
142
|
+
:size="componentSize"
|
|
162
143
|
:disabled="isDisabled"
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
placeholder="
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
144
|
+
style="width: 100%;height: 100%"
|
|
145
|
+
value-type="time-stamp"
|
|
146
|
+
/>
|
|
147
|
+
|
|
148
|
+
<t-date-picker
|
|
149
|
+
v-else-if="config.type === 'datetime'"
|
|
150
|
+
enable-time-picker
|
|
151
|
+
v-model="module"
|
|
152
|
+
:placeholder="config.placeholder"
|
|
153
|
+
:clearable="true"
|
|
154
|
+
:size="componentSize"
|
|
155
|
+
:disabled="isDisabled"
|
|
156
|
+
style="width: 100%;height: 100%"
|
|
157
|
+
value-type="time-stamp"
|
|
158
|
+
/>
|
|
159
|
+
<t-date-range-picker
|
|
160
|
+
v-else-if="config.type === 'daterange'"
|
|
161
|
+
v-model="module"
|
|
162
|
+
:clearable="true"
|
|
163
|
+
:size="componentSize"
|
|
164
|
+
:disabled="isDisabled"
|
|
165
|
+
:placeholder="datePickPlace"
|
|
166
|
+
style="width: 100%;height: 100%"
|
|
167
|
+
value-type="time-stamp"
|
|
168
|
+
/>
|
|
169
|
+
|
|
170
|
+
<t-date-range-picker
|
|
171
|
+
v-else-if="config.type === 'datetimerange'"
|
|
172
|
+
enable-time-picker
|
|
173
|
+
v-model="module"
|
|
174
|
+
:clearable="true"
|
|
175
|
+
:size="componentSize"
|
|
176
|
+
:disabled="isDisabled"
|
|
177
|
+
:placeholder="datePickPlace"
|
|
178
|
+
style="width: 100%;height: 100%"
|
|
179
|
+
value-type="time-stamp"
|
|
180
|
+
/>
|
|
175
181
|
|
|
176
182
|
<!-- 单选框 -->
|
|
177
183
|
<base-toggle v-if="config.type === 'radio'" v-model="module" :disabled="isDisabled" :size="size"
|
|
178
184
|
:toggle-color="['var(--color-primary)']"
|
|
179
185
|
:toggle-list="config.list"></base-toggle>
|
|
180
186
|
<!-- 选择器 -->
|
|
181
|
-
<
|
|
187
|
+
<t-checkbox-group
|
|
182
188
|
v-else-if="config.type === 'checkbox'"
|
|
183
189
|
v-model="module"
|
|
184
190
|
:disabled="isDisabled"
|
|
185
191
|
:max="checkMax"
|
|
186
192
|
:min="checkMin"
|
|
187
|
-
:size="
|
|
193
|
+
:size="componentSize"
|
|
188
194
|
style="width: 100%;"
|
|
189
195
|
>
|
|
190
|
-
<
|
|
196
|
+
<t-checkbox
|
|
191
197
|
v-for="(item, index) in config.list"
|
|
192
198
|
:key="index"
|
|
193
199
|
:disabled="isDisabled"
|
|
194
|
-
:label="item.
|
|
200
|
+
:label="item.label"
|
|
201
|
+
:value="item.key"
|
|
195
202
|
>
|
|
196
203
|
{{ item.label }}
|
|
197
|
-
</
|
|
198
|
-
</
|
|
199
|
-
<!-- 文本输入框 -->
|
|
200
|
-
<el-input
|
|
201
|
-
v-if="config.type === 'textarea'"
|
|
202
|
-
ref="target"
|
|
203
|
-
v-model="module"
|
|
204
|
-
:autosize="!config.rows"
|
|
205
|
-
:disabled="isDisabled"
|
|
206
|
-
:maxlength="config.maxlength"
|
|
207
|
-
:placeholder="config.placeholder"
|
|
208
|
-
:rows="config.rows"
|
|
209
|
-
:show-word-limit="!!config.maxlength"
|
|
210
|
-
:size="size"
|
|
211
|
-
type="textarea"
|
|
212
|
-
></el-input>
|
|
204
|
+
</t-checkbox>
|
|
205
|
+
</t-checkbox-group>
|
|
213
206
|
|
|
214
207
|
<!--单文件上传-->
|
|
215
|
-
|
|
216
|
-
<form-single-upload-item v-if="config.type==='singleUpload'" v-model="module"
|
|
208
|
+
<form-single-upload-item v-else-if="config.type==='singleUpload'" v-model="module"
|
|
217
209
|
:disabled="isDisabled"
|
|
218
210
|
:file-type="config.fileType"></form-single-upload-item>
|
|
219
211
|
|
|
212
|
+
<!-- textarea-->
|
|
213
|
+
<t-textarea
|
|
214
|
+
v-else-if="config.type === 'textarea'"
|
|
215
|
+
v-model="module"
|
|
216
|
+
:autosize="{ minRows: config.rows}"
|
|
217
|
+
:size="componentSize"
|
|
218
|
+
:disabled="disabled"
|
|
219
|
+
></t-textarea>
|
|
220
220
|
|
|
221
221
|
</div>
|
|
222
222
|
<!-- 插槽 -->
|
|
@@ -233,22 +233,30 @@
|
|
|
233
233
|
|
|
234
234
|
<!-- 确定的按钮 -->
|
|
235
235
|
<div v-show="isEdit && !form" class="bottom-handle-wrap">
|
|
236
|
-
<
|
|
236
|
+
<base-button
|
|
237
237
|
class="dropdown-button"
|
|
238
|
-
icon="el-icon-check"
|
|
239
238
|
plain
|
|
240
239
|
size="small"
|
|
241
240
|
type="info"
|
|
242
241
|
@click="handleClick('confirm')"
|
|
243
|
-
|
|
244
|
-
|
|
242
|
+
>
|
|
243
|
+
<template #icon>
|
|
244
|
+
<check-icon></check-icon>
|
|
245
|
+
</template>
|
|
246
|
+
|
|
247
|
+
</base-button>
|
|
248
|
+
<base-button
|
|
245
249
|
class="dropdown-button"
|
|
246
|
-
icon="el-icon-close"
|
|
247
250
|
plain
|
|
248
251
|
size="small"
|
|
249
252
|
type="info"
|
|
250
253
|
@click="handleClick('edit')"
|
|
251
|
-
|
|
254
|
+
>
|
|
255
|
+
<template #icon>
|
|
256
|
+
<close-icon></close-icon>
|
|
257
|
+
</template>
|
|
258
|
+
|
|
259
|
+
</base-button>
|
|
252
260
|
</div>
|
|
253
261
|
</div>
|
|
254
262
|
<span v-if="config.notice" class="form-item-notice">{{ config.notice }}</span>
|
|
@@ -261,8 +269,9 @@
|
|
|
261
269
|
<script>
|
|
262
270
|
import BaseNumberInput from '../../../base/baseNumberInput/index.vue'
|
|
263
271
|
import baseStoreSelect from '../../../base/baseStoreSelect/index.vue'
|
|
272
|
+
import {CheckIcon, CloseIcon,EditIcon} from "tdesign-icons-vue"
|
|
264
273
|
//
|
|
265
|
-
import {FilterTime} from '../../../../utils/utils'
|
|
274
|
+
import {FilterTime, TransomComponentSize} from '../../../../utils/utils'
|
|
266
275
|
import FormSingleUploadItem from "./proFormItem/formSingleUploadItem";
|
|
267
276
|
|
|
268
277
|
export default {
|
|
@@ -322,6 +331,11 @@ export default {
|
|
|
322
331
|
|
|
323
332
|
},
|
|
324
333
|
computed: {
|
|
334
|
+
|
|
335
|
+
componentSize() {
|
|
336
|
+
return TransomComponentSize(this.$props.size);
|
|
337
|
+
},
|
|
338
|
+
|
|
325
339
|
isDisabled() {
|
|
326
340
|
const {config, disabled} = this.$props
|
|
327
341
|
return config.disabled || disabled
|
|
@@ -420,21 +434,6 @@ export default {
|
|
|
420
434
|
const type = this.type
|
|
421
435
|
return type === 'time' || type === 'datetime' || type === 'daterange' || type === 'datetimerange'
|
|
422
436
|
},
|
|
423
|
-
datePickType() {
|
|
424
|
-
const type = this.type
|
|
425
|
-
switch (type) {
|
|
426
|
-
case 'time':
|
|
427
|
-
return 'date'
|
|
428
|
-
case 'datetime':
|
|
429
|
-
return 'datetime'
|
|
430
|
-
case 'daterange':
|
|
431
|
-
return 'daterange'
|
|
432
|
-
case 'datetimerange':
|
|
433
|
-
return 'datetimerange'
|
|
434
|
-
default:
|
|
435
|
-
break
|
|
436
|
-
}
|
|
437
|
-
},
|
|
438
437
|
|
|
439
438
|
module: {
|
|
440
439
|
get() {
|
|
@@ -562,7 +561,7 @@ export default {
|
|
|
562
561
|
}
|
|
563
562
|
},
|
|
564
563
|
},
|
|
565
|
-
components: {FormSingleUploadItem, BaseNumberInput, baseStoreSelect},
|
|
564
|
+
components: {FormSingleUploadItem, BaseNumberInput, baseStoreSelect, CheckIcon, CloseIcon,EditIcon},
|
|
566
565
|
}
|
|
567
566
|
</script>
|
|
568
567
|
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div ref="proFormWrap" class="pro_form_content">
|
|
3
|
-
<
|
|
3
|
+
<t-form
|
|
4
4
|
v-if="!loading"
|
|
5
5
|
ref="form"
|
|
6
|
-
:
|
|
6
|
+
:labelAlign="labelPosition"
|
|
7
7
|
:label-width="labelWidth"
|
|
8
|
-
:
|
|
8
|
+
:data="formdata"
|
|
9
9
|
:rules="rules"
|
|
10
|
+
scrollToFirstError="smooth"
|
|
10
11
|
@submit.native.prevent
|
|
11
12
|
>
|
|
12
13
|
<div
|
|
@@ -19,11 +20,11 @@
|
|
|
19
20
|
}"
|
|
20
21
|
class="pro-form-item-content "
|
|
21
22
|
>
|
|
22
|
-
<
|
|
23
|
+
<t-form-item
|
|
23
24
|
v-if="formType !== 'template'"
|
|
24
25
|
:class="[`${flexClass}`, size]"
|
|
25
26
|
:label="item.label"
|
|
26
|
-
:
|
|
27
|
+
:name="item.key"
|
|
27
28
|
>
|
|
28
29
|
|
|
29
30
|
<div slot="label" class="item-label-wrap">
|
|
@@ -59,6 +60,7 @@
|
|
|
59
60
|
v-model="item.value"
|
|
60
61
|
:class="[`form-item-${item.key}`]"
|
|
61
62
|
:disable="item.disabled || disabled"
|
|
63
|
+
:size="size"
|
|
62
64
|
:style="{ width: `100%` }"
|
|
63
65
|
@confirmAreaValue="
|
|
64
66
|
formItemConfirm({
|
|
@@ -94,13 +96,13 @@
|
|
|
94
96
|
@uploadEd="uploadEd"
|
|
95
97
|
></baseUploadVue>
|
|
96
98
|
</template>
|
|
97
|
-
</
|
|
99
|
+
</t-form-item>
|
|
98
100
|
|
|
99
101
|
<template v-if="formType === 'template'">
|
|
100
102
|
<slot :name="formConfig.key"></slot>
|
|
101
103
|
</template>
|
|
102
104
|
</div>
|
|
103
|
-
</
|
|
105
|
+
</t-form>
|
|
104
106
|
<baseButtonHandleVue
|
|
105
107
|
v-if="footer"
|
|
106
108
|
:align="`end`"
|
|
@@ -330,27 +332,27 @@ export default {
|
|
|
330
332
|
}
|
|
331
333
|
},
|
|
332
334
|
formAreaConfirm(params) {
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
335
|
+
this.submitVerifiData(params).then(res => {
|
|
336
|
+
if (res) {
|
|
337
|
+
this.$refs[`area-${params.config.key}`][0].doClose()
|
|
338
|
+
this.$emit('formItemConfirm', params.config)
|
|
339
|
+
} else {
|
|
340
|
+
this.$message.error('请重新选择')
|
|
341
|
+
}
|
|
342
|
+
})
|
|
343
|
+
|
|
340
344
|
},
|
|
341
|
-
submitVerifiData(params) {
|
|
345
|
+
async submitVerifiData(params) {
|
|
342
346
|
if (this.$props.rules) {
|
|
343
347
|
// element 验证单条表单修改
|
|
344
|
-
let
|
|
345
|
-
const rulesItem = this.$props.rules[params.config.key]
|
|
346
|
-
if (rulesItem) {
|
|
347
|
-
this.$refs.form.
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
}
|
|
351
|
-
})
|
|
348
|
+
let confirm = true
|
|
349
|
+
const rulesItem = this.$props.rules[params.config.key];
|
|
350
|
+
if (rulesItem && rulesItem.require) {
|
|
351
|
+
confirm = await this.$refs.form.validate(
|
|
352
|
+
{fields: [params.config.key]}
|
|
353
|
+
);
|
|
352
354
|
}
|
|
353
|
-
return
|
|
355
|
+
return confirm
|
|
354
356
|
} else {
|
|
355
357
|
return true
|
|
356
358
|
}
|
|
@@ -366,30 +368,22 @@ export default {
|
|
|
366
368
|
},
|
|
367
369
|
|
|
368
370
|
checkValidate() {
|
|
369
|
-
return new Promise((resolve, reject) => {
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
371
|
+
return new Promise(async (resolve, reject) => {
|
|
372
|
+
|
|
373
|
+
const res = await this.$refs.form.validate();
|
|
374
|
+
|
|
375
|
+
if (typeof res === 'boolean') {
|
|
376
|
+
if (res) {
|
|
377
|
+
resolve({result: true})
|
|
374
378
|
}
|
|
375
|
-
resolve({result:
|
|
376
|
-
}
|
|
379
|
+
resolve({result: false})
|
|
380
|
+
} else {
|
|
381
|
+
resolve({result: false})
|
|
382
|
+
}
|
|
383
|
+
|
|
377
384
|
})
|
|
378
385
|
},
|
|
379
386
|
|
|
380
|
-
scrollToItem(object) {
|
|
381
|
-
let firstKey = null
|
|
382
|
-
for (const key in object) {
|
|
383
|
-
if (!firstKey) {
|
|
384
|
-
firstKey = key
|
|
385
|
-
}
|
|
386
|
-
}
|
|
387
|
-
let nodeScope = this.$refs.proFormWrap
|
|
388
|
-
let dom = nodeScope.querySelector(`.form-item-${firstKey}`)
|
|
389
|
-
if (dom) {
|
|
390
|
-
dom.scrollIntoView()
|
|
391
|
-
}
|
|
392
|
-
},
|
|
393
387
|
|
|
394
388
|
async onSubmit() {
|
|
395
389
|
if (this.$props.rules) {
|
|
@@ -510,11 +504,6 @@ export default {
|
|
|
510
504
|
}
|
|
511
505
|
}
|
|
512
506
|
|
|
513
|
-
.pro-form-item-content {
|
|
514
|
-
/deep/ .el-form-item__content {
|
|
515
|
-
line-height: inherit !important;
|
|
516
|
-
}
|
|
517
|
-
}
|
|
518
507
|
|
|
519
508
|
.form-skeleton-wrap {
|
|
520
509
|
width: 100%;
|
|
@@ -525,7 +514,7 @@ export default {
|
|
|
525
514
|
justify-content: flex-start;
|
|
526
515
|
}
|
|
527
516
|
|
|
528
|
-
/deep/ .
|
|
517
|
+
/deep/ .t-form {
|
|
529
518
|
width: 100%;
|
|
530
519
|
height: auto;
|
|
531
520
|
display: flex;
|
|
@@ -534,11 +523,15 @@ export default {
|
|
|
534
523
|
justify-content: flex-start;
|
|
535
524
|
}
|
|
536
525
|
|
|
537
|
-
/deep/ .
|
|
526
|
+
/deep/ .t-form-item {
|
|
538
527
|
width: 100%;
|
|
539
528
|
}
|
|
540
529
|
|
|
541
|
-
/deep/ .
|
|
530
|
+
/deep/ .t-form__label--top {
|
|
531
|
+
margin-top: var(--margin-4);
|
|
532
|
+
}
|
|
533
|
+
|
|
534
|
+
/deep/ .t-form__controls {
|
|
542
535
|
width: 100% !important;
|
|
543
536
|
box-sizing: border-box;
|
|
544
537
|
margin-left: 0 !important;
|
|
@@ -588,6 +581,8 @@ export default {
|
|
|
588
581
|
flex-flow: row wrap;
|
|
589
582
|
display: inline-block;
|
|
590
583
|
justify-content: flex-start;
|
|
584
|
+
box-sizing: border-box;
|
|
585
|
+
padding-left: var(--padding-4);
|
|
591
586
|
|
|
592
587
|
}
|
|
593
588
|
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
<!-- </el-button>-->
|
|
46
46
|
</searchHeaderVue>
|
|
47
47
|
<div v-show="proScreenCardShow" class="search-mid-content">
|
|
48
|
-
<
|
|
48
|
+
<t-card class="box-card">
|
|
49
49
|
<div class="box-card-title">
|
|
50
50
|
<span class="tips-text">筛选条件</span>
|
|
51
51
|
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
:config="footerHandleConfig"
|
|
81
81
|
:size="`mini`"
|
|
82
82
|
></baseButtonHandle>
|
|
83
|
-
</
|
|
83
|
+
</t-card>
|
|
84
84
|
</div>
|
|
85
85
|
|
|
86
86
|
<!-- 高级筛选的弹框 -->
|
|
@@ -3,19 +3,22 @@
|
|
|
3
3
|
<span class="tips-text">筛选条件</span>
|
|
4
4
|
<div class="screen-item-content" ref="screenItemContent">
|
|
5
5
|
<oa_pro_screen_itemVue
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
:item="item"
|
|
7
|
+
:key="index"
|
|
8
|
+
ref="oaProScreenItemVue"
|
|
9
|
+
:config="proScreenConfig"
|
|
10
|
+
v-for="(item, index) in proScreenList"
|
|
11
|
+
@deleteProscreenItem="deleteProscreenItem(index)"
|
|
12
|
+
:configIndex="item.configIndex < 0 ? null : item.configIndex"
|
|
13
13
|
></oa_pro_screen_itemVue>
|
|
14
14
|
</div>
|
|
15
15
|
<div class="screen-handle-wrap">
|
|
16
|
-
<
|
|
17
|
-
<
|
|
18
|
-
|
|
16
|
+
<base-button type="info" size="small" @click="insertDefaultItem">
|
|
17
|
+
<template #icon>
|
|
18
|
+
<plus-icon></plus-icon>
|
|
19
|
+
</template>
|
|
20
|
+
添加筛选条件
|
|
21
|
+
</base-button
|
|
19
22
|
>
|
|
20
23
|
</div>
|
|
21
24
|
</div>
|
|
@@ -23,6 +26,8 @@
|
|
|
23
26
|
|
|
24
27
|
<script>
|
|
25
28
|
import oa_pro_screen_itemVue from "./oa_pro_screen_item.vue";
|
|
29
|
+
import {PlusIcon} from "tdesign-icons-vue"
|
|
30
|
+
|
|
26
31
|
export default {
|
|
27
32
|
data() {
|
|
28
33
|
return {};
|
|
@@ -31,6 +36,7 @@ export default {
|
|
|
31
36
|
this.init();
|
|
32
37
|
},
|
|
33
38
|
components: {
|
|
39
|
+
PlusIcon,
|
|
34
40
|
oa_pro_screen_itemVue,
|
|
35
41
|
},
|
|
36
42
|
props: {
|
|
@@ -63,10 +69,12 @@ export default {
|
|
|
63
69
|
height: auto;
|
|
64
70
|
max-height: 100%;
|
|
65
71
|
background: var(--bg-white);
|
|
72
|
+
|
|
66
73
|
.tips-text {
|
|
67
74
|
color: var(--font-color-d);
|
|
68
75
|
font-size: var(--font-size-base);
|
|
69
76
|
}
|
|
77
|
+
|
|
70
78
|
.screen-item-content {
|
|
71
79
|
width: 100%;
|
|
72
80
|
height: auto;
|
|
@@ -74,6 +82,7 @@ export default {
|
|
|
74
82
|
margin-top: var(--margin-5);
|
|
75
83
|
max-height: calc(250px - 70px);
|
|
76
84
|
}
|
|
85
|
+
|
|
77
86
|
.screen-handle-wrap {
|
|
78
87
|
width: 100%;
|
|
79
88
|
height: 42px;
|