@vue-ui-kit/ant 1.7.3 → 1.8.0
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/README.md +430 -233
- package/README.zh.md +446 -303
- package/dist/cjs/index.js +1 -1
- package/dist/declarations/antProxy.d.ts +13 -2
- package/dist/es/index.js +2985 -2165
- package/dist/packages/components/PFormCol.vue.d.ts +31 -0
- package/dist/packages/components/PFormGroup.vue.d.ts +2 -2
- package/dist/packages/components/PGrid.vue.d.ts +3 -2
- package/dist/packages/components/RenderAntItem.d.ts +2 -1
- package/dist/packages/components/RenderItemSlots.d.ts +2 -0
- package/dist/packages/utils/core.d.ts +1 -1
- package/dist/style.css +1 -1
- package/package.json +3 -4
- package/src/declarations/antProxy.ts +13 -1
- package/src/packages/components/PForm.vue +27 -74
- package/src/packages/components/PFormCol.vue +89 -0
- package/src/packages/components/PFormGroup.vue +90 -28
- package/src/packages/components/PGrid.vue +13 -1
- package/src/packages/components/RenderAntItem.tsx +5 -1
- package/src/packages/components/RenderItemSlots.tsx +3 -1
- package/src/packages/renders/TableInput.vue +1 -1
- package/src/packages/store/renderStore.tsx +1 -1
- package/src/packages/styles/index.scss +29 -1
- package/src/packages/utils/AFormatters.ts +1 -1
- package/src/packages/utils/core.ts +1 -1
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
toRefs,
|
|
12
12
|
onBeforeUnmount,
|
|
13
13
|
} from 'vue';
|
|
14
|
-
import { debounce, get, isArray, isBoolean, isFunction, isObject, isString, merge, omit, toNumber } from '
|
|
14
|
+
import { debounce, get, isArray, isBoolean, isFunction, isObject, isString, merge, omit, toNumber } from 'xe-utils';
|
|
15
15
|
import { eachTree } from '@/utils/treeHelper';
|
|
16
16
|
import { message as $message } from 'ant-design-vue';
|
|
17
17
|
import RenderAntItem from '@/components/RenderAntItem';
|
|
@@ -225,6 +225,14 @@
|
|
|
225
225
|
obj[item.field] = undefined;
|
|
226
226
|
}
|
|
227
227
|
}
|
|
228
|
+
else if (item.field && item.slots) {
|
|
229
|
+
if (isGoodValue(item.slots.defaultValue)) {
|
|
230
|
+
obj[item.field] = item.slots.defaultValue
|
|
231
|
+
}
|
|
232
|
+
else {
|
|
233
|
+
obj[item.field] = undefined
|
|
234
|
+
}
|
|
235
|
+
}
|
|
228
236
|
});
|
|
229
237
|
queryFormData.value = obj;
|
|
230
238
|
}
|
|
@@ -266,6 +274,8 @@
|
|
|
266
274
|
};
|
|
267
275
|
const enoughSpacing = ref(true);
|
|
268
276
|
const reload = () => {
|
|
277
|
+
selectedCaches.value = []
|
|
278
|
+
selectedRowKeys.value = []
|
|
269
279
|
return resetQueryFormData();
|
|
270
280
|
};
|
|
271
281
|
const resetPage = () => {
|
|
@@ -428,6 +438,7 @@
|
|
|
428
438
|
setBtnLoading,
|
|
429
439
|
selectedRecords,
|
|
430
440
|
$form: computed(() => formEl.value),
|
|
441
|
+
getFormData: () => queryFormData.value,
|
|
431
442
|
setLoadings,
|
|
432
443
|
resizeTable,
|
|
433
444
|
});
|
|
@@ -512,6 +523,7 @@
|
|
|
512
523
|
:form-data="queryFormData"
|
|
513
524
|
:item="item"
|
|
514
525
|
:pass-trigger="() => {}"
|
|
526
|
+
:pass-delay-trigger="() => {}"
|
|
515
527
|
/>
|
|
516
528
|
<render-ant-item
|
|
517
529
|
v-else-if="item.itemRender?.name"
|
|
@@ -18,12 +18,16 @@ export default defineComponent(
|
|
|
18
18
|
const passTrigger = (cusFields?: string | string[]) => {
|
|
19
19
|
emit('trigger', cusFields);
|
|
20
20
|
};
|
|
21
|
+
const passDelayTrigger = (cusFields?: string | string[], time?: number) => {
|
|
22
|
+
emit('delayTrigger', cusFields, time);
|
|
23
|
+
};
|
|
21
24
|
return () => {
|
|
22
25
|
return (
|
|
23
26
|
renderStore.renders[itemRender!.name]?.renderItemContent?.(
|
|
24
27
|
{
|
|
25
28
|
...itemRender!,
|
|
26
29
|
handleTrigger: passTrigger,
|
|
30
|
+
handleDelayTrigger: passDelayTrigger,
|
|
27
31
|
},
|
|
28
32
|
renderFormParams.value,
|
|
29
33
|
defaultHandler,
|
|
@@ -49,6 +53,6 @@ export default defineComponent(
|
|
|
49
53
|
required: false,
|
|
50
54
|
},
|
|
51
55
|
},
|
|
52
|
-
emits: ['trigger'],
|
|
56
|
+
emits: ['trigger', 'delayTrigger'],
|
|
53
57
|
},
|
|
54
58
|
);
|
|
@@ -6,6 +6,7 @@ export default defineComponent(
|
|
|
6
6
|
formData: F;
|
|
7
7
|
item: PFormItemProps<F>;
|
|
8
8
|
passTrigger: (cusFields?: string | string[]) => void;
|
|
9
|
+
passDelayTrigger: (cusFields?: string | string[], time?: number) => void;
|
|
9
10
|
}) => {
|
|
10
11
|
const { formData } = toRefs(props);
|
|
11
12
|
return () => {
|
|
@@ -13,12 +14,13 @@ export default defineComponent(
|
|
|
13
14
|
props.item.slots?.default?.(
|
|
14
15
|
{ data: formData.value, field: props.item.field },
|
|
15
16
|
props.passTrigger,
|
|
17
|
+
props.passDelayTrigger,
|
|
16
18
|
) ?? null
|
|
17
19
|
);
|
|
18
20
|
};
|
|
19
21
|
},
|
|
20
22
|
{
|
|
21
23
|
name: 'RenderItemSlots',
|
|
22
|
-
props: ['formData', 'item', 'passTrigger'],
|
|
24
|
+
props: ['formData', 'item', 'passTrigger', 'passDelayTrigger'],
|
|
23
25
|
},
|
|
24
26
|
);
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { ColumnProps } from '#/antProxy';
|
|
5
5
|
import { cleanCol } from '@/utils/core';
|
|
6
6
|
import RenderDefaultSlots from '@/components/RenderDefaultSlots';
|
|
7
|
-
import { merge } from '
|
|
7
|
+
import { merge } from 'xe-utils';
|
|
8
8
|
|
|
9
9
|
const props = defineProps({
|
|
10
10
|
modelValue: {
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
TimePicker,
|
|
22
22
|
TreeSelect,
|
|
23
23
|
} from 'ant-design-vue';
|
|
24
|
-
import { set, isFunction, merge, omit } from '
|
|
24
|
+
import { set, isFunction, merge, omit } from 'xe-utils';
|
|
25
25
|
import { ButtonProps } from 'ant-design-vue/lib/button';
|
|
26
26
|
import { isBadValue, isGoodValue, noValue, valued } from '@/utils/is';
|
|
27
27
|
import TableInput from '@/renders/TableInput.vue';
|
|
@@ -204,7 +204,21 @@
|
|
|
204
204
|
}
|
|
205
205
|
}
|
|
206
206
|
}
|
|
207
|
-
|
|
207
|
+
.p-error-group-tab{
|
|
208
|
+
position:relative;
|
|
209
|
+
overflow: visible;
|
|
210
|
+
color:#f5222d!important;
|
|
211
|
+
&:after{
|
|
212
|
+
content:'🏷️';
|
|
213
|
+
position:absolute;
|
|
214
|
+
top:-1em;
|
|
215
|
+
right:0;
|
|
216
|
+
width:1em;
|
|
217
|
+
height:1em;
|
|
218
|
+
font-size:0.8em;
|
|
219
|
+
animation: heartbeat 2s infinite;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
208
222
|
//endregion
|
|
209
223
|
|
|
210
224
|
@each $align in right center {
|
|
@@ -220,3 +234,17 @@
|
|
|
220
234
|
text-align: #{$align};
|
|
221
235
|
}
|
|
222
236
|
}
|
|
237
|
+
|
|
238
|
+
@keyframes heartbeat {
|
|
239
|
+
0% { transform: scale(1); }
|
|
240
|
+
6% { transform: scale(1.22); }
|
|
241
|
+
12% { transform: scale(1); }
|
|
242
|
+
18% { transform: scale(1.18); }
|
|
243
|
+
24% { transform: scale(1); }
|
|
244
|
+
48% { transform: scale(1); } // 长停顿
|
|
245
|
+
54% { transform: scale(1.22); }
|
|
246
|
+
60% { transform: scale(1); }
|
|
247
|
+
66% { transform: scale(1.18); }
|
|
248
|
+
72% { transform: scale(1); }
|
|
249
|
+
100% { transform: scale(1); } // 长停顿
|
|
250
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ColumnProps, Responsive } from '#/antProxy';
|
|
2
2
|
import { TableColumnGroupType, TableColumnType } from 'ant-design-vue';
|
|
3
|
-
import { isArray, isNumber, omit, zipObject } from '
|
|
3
|
+
import { isArray, isNumber, omit, zipObject } from 'xe-utils';
|
|
4
4
|
import { valued } from '@/utils/is';
|
|
5
5
|
|
|
6
6
|
export const cleanCol = (col: ColumnProps): TableColumnType | TableColumnGroupType<Recordable> => {
|