@neatui/nuxt 0.1.0 → 1.0.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/BUILD.md +128 -0
- package/README.md +98 -1
- package/SSR_COMPATIBILITY.md +201 -0
- package/USAGE.md +260 -0
- package/nuxt.config.example.ts +37 -0
- package/package.json +29 -11
- package/src/components/basic/IDraggable.vue +87 -65
- package/src/components/basic/IFollowView.vue +32 -23
- package/src/components/basic/IRouterView.vue +38 -23
- package/src/components/basic/IScrollView.vue +11 -7
- package/src/components/basic/Icon.vue +17 -17
- package/src/components/basic/LayerView/Layer.vue +33 -106
- package/src/components/basic/follow.ts +133 -0
- package/src/components/display/Calendar.vue +14 -14
- package/src/components/display/CalendarReg.vue +14 -14
- package/src/components/display/Image.vue +8 -8
- package/src/components/display/PhotoEditor.vue +36 -36
- package/src/components/display/PhotoViewer.vue +8 -8
- package/src/components/display/Tree.vue +6 -6
- package/src/components/display/TreeView.vue +4 -4
- package/src/components/display/index.ts +2 -2
- package/src/components/form/Cascader.vue +19 -19
- package/src/components/form/Checkbox.vue +64 -0
- package/src/components/form/DatePicker.vue +6 -7
- package/src/components/form/DateRangePicker@v3.vue +4 -4
- package/src/components/form/DateRangeView@v3.vue +18 -19
- package/src/components/form/DateView.vue +14 -14
- package/src/components/form/DateView@v2.vue +14 -14
- package/src/components/form/DateView@v3.vue +331 -318
- package/src/components/form/ImgUpload.vue +7 -7
- package/src/components/form/Input@v3.vue +11 -11
- package/src/components/form/MoreSelect@v3.vue +87 -17
- package/src/components/form/MoreSelectList.vue +8 -8
- package/src/components/form/MoreSelectPanel@v3.vue +3 -3
- package/src/components/form/MoreSelectPicker.vue +7 -7
- package/src/components/form/MoreSelectTags.vue +8 -8
- package/src/components/form/PageMoreSelect.vue +14 -14
- package/src/components/form/PageSelect.vue +16 -16
- package/src/components/form/SearchMoreSelect.vue +12 -12
- package/src/components/form/SearchSelect@v3.vue +3 -3
- package/src/components/form/Select@v3.vue +229 -23
- package/src/components/form/SelectList.vue +8 -8
- package/src/components/form/SelectPicker.vue +6 -6
- package/src/components/form/SelectTags.vue +7 -7
- package/src/components/form/SelectTree/SelectTree@v1.vue +5 -5
- package/src/components/form/Switch.vue +38 -103
- package/src/components/form/TextArea.vue +18 -18
- package/src/components/form/Textarea@v2.vue +275 -0
- package/src/components/form/TimeView.vue +14 -14
- package/src/components/form/Upload.vue +806 -297
- package/src/components/form/date.ts +321 -0
- package/src/components/form/index.ts +7 -5
- package/src/components/form/number.ts +3 -0
- package/src/components/form/type.ts +224 -0
- package/src/components/icon/OrderIcon.vue +113 -0
- package/src/components/loader/FormLoader/FormLoader@v2.vue +193 -195
- package/src/components/loader/FormLoader/FormLoader@v3.vue.backup +372 -291
- package/src/components/loader/FormLoader/FormRender@v3.vue.backup +4 -0
- package/src/components/loader/FormLoader/NodeLoader.vue +85 -0
- package/src/components/loader/FormLoader@v1/FormLoader.vue +1 -1
- package/src/components/loader/FormLoader@v1/FormRender.vue +49 -24
- package/src/components/loader/LayerLoader/LayerLoader.vue +318 -0
- package/src/components/loader/LayerLoader/index.ts +2 -0
- package/src/components/loader/LayerLoader/style.scss +77 -0
- package/src/components/loader/LimitLoader/LimitLoader@v3.vue +39 -28
- package/src/components/loader/MoveLoader/MoveLoader.vue +628 -0
- package/src/components/loader/MoveLoader/index.ts +2 -0
- package/src/components/loader/MoveLoader/style.scss +77 -0
- package/src/components/loader/TableLoader/TableLoader.vue +227 -195
- package/src/components/loader/TableLoader/TableRender.vue +141 -0
- package/src/components/loader/TableLoader/index.ts +47 -0
- package/src/components/loader/index.ts +3 -2
- package/src/components/tools/Pagination@a.vue +17 -18
- package/src/components/tools/Pagination@b.vue +16 -16
- package/src/index.ts +2 -1
- package/src/module.ts +169 -0
- package/src/runtime/types.d.ts +36 -0
- package/src/store/{myui.ts → frame.ts} +4 -4
- package/src/utils/theme.ts +14 -0
- package/tsconfig.json +1 -1
- package/src/components/loader/FormLoader/index.ts +0 -2
- package/src/components/loader/LimitLoader/LimitLoader.vue.backup +0 -131
- package/src/components/loader/LimitLoader/LimitLoader@v2.vue.backup +0 -174
- package/src/components/loader/TableLoader/TableColView.vue +0 -115
@@ -1,6 +1,6 @@
|
|
1
1
|
<template>
|
2
|
-
<div class="full
|
3
|
-
<div class="mr-mm-sub my-sm-sub" ui-flex="row lm
|
2
|
+
<div class="w-full" ui-flex="row xt">
|
3
|
+
<div class="flex-block mr-mm-sub my-sm-sub" ui-flex="row lm wrap">
|
4
4
|
<template v-for="(item, idx) in state.limit" :key="idx">
|
5
5
|
<div v-if="!item._close" ui-flex="row lm" v-bind="{ ...(item.attrs || {}) }">
|
6
6
|
<span class="nr-sm flex-fixed o-ls">{{ item.label }}{{ item.label ? ':' : '' }}</span>
|
@@ -22,11 +22,17 @@
|
|
22
22
|
</div>
|
23
23
|
</template>
|
24
24
|
</div>
|
25
|
-
<div class="mr-sl-sub my-sm-sub nowrap" ui-hide="<pad">
|
26
|
-
<IFollowView tipBoxClass="nr-no">
|
27
|
-
<button ui-btn="@a s case :border
|
25
|
+
<div class="flex-fixed mr-sl-sub my-sm-sub nowrap" ui-flex="row rm" ui-hide="<pad">
|
26
|
+
<IFollowView v-if="tools" tipBoxClass="nr-no">
|
27
|
+
<button class="bg-fore" ui-btn="@a s case :border :square">
|
28
|
+
<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" class="co-read fs-ss" style="width: 1em; height: 1em">
|
29
|
+
<path
|
30
|
+
d="M372 981.6c-80 0-154.4-43.2-195.2-112L35.2 624.8c-40-68.8-40-155.2 0-224.8l141.6-244.8c40-69.6 115.2-112 195.2-112h282.4c80 0 154.4 43.2 195.2 112L991.2 400c40 68.8 40 155.2 0 224.8l-141.6 244.8c-40 69.6-115.2 112-195.2 112H372z m0-825.6c-39.2 0-76.8 21.6-96.8 56L134.4 456c-20 34.4-20 76.8 0 112l140.8 244.8c20 34.4 56.8 55.2 96.8 55.2h282.4c39.2 0 76.8-21.6 96.8-56l140.8-244.8c20-34.4 20-76.8 0-112L751.2 211.2c-20-34.4-56.8-55.2-96.8-55.2H372z m140.8 552.8c-108.8 0-196.8-88-196.8-196.8 0-108.8 88-196.8 196.8-196.8 108.8 0 196.8 88 196.8 196.8 0.8 108.8-88 196.8-196.8 196.8z m0-280c-45.6 0-83.2 37.6-83.2 83.2s37.6 83.2 83.2 83.2c22.4 0 43.2-8.8 59.2-24 16-16 24-36.8 24-59.2 0-45.6-37.6-83.2-83.2-83.2z"
|
31
|
+
/>
|
32
|
+
</svg>
|
33
|
+
</button>
|
28
34
|
<template v-if="state.limit.length" #tips>
|
29
|
-
<div class="w-mm h-ls
|
35
|
+
<div class="w-mm max-h-ls n-sl" ui-scroll="x:hidden :y">
|
30
36
|
<div v-for="(item, idx) in state.limit" :key="idx" class="item ux-hover nowrap r-ss">
|
31
37
|
<label class="ny-xs nx-sm" ui-form="@a type:checkbox">
|
32
38
|
<input :checked="!item._close" type="checkbox" @change="item._close = item._close ? 0 : 1" />
|
@@ -36,25 +42,10 @@
|
|
36
42
|
</div>
|
37
43
|
</template>
|
38
44
|
</IFollowView>
|
39
|
-
<button ui-btn="@a s
|
45
|
+
<button class="bg-fore" ui-btn="@a s case :border" @click="fResetLimit">{{ words['common.reset'] || '重置' }}</button>
|
46
|
+
<button class="bg-fore" ui-btn="@a s case :border" @click="fSearch">{{ words['common.search'] || '搜索' }}</button>
|
40
47
|
</div>
|
41
48
|
</div>
|
42
|
-
<div class="mr-sl-sub my-sm-sub nowrap" ui-hide=">mob">
|
43
|
-
<IFollowView tipBoxClass="nr-no">
|
44
|
-
<button ui-btn="@a s case :border"><i class="icon icon-add2 fs-xs"></i>添加条件</button>
|
45
|
-
<template v-if="state.limit.length" #tips>
|
46
|
-
<div class="w-mm h-ls nr-sl" ui-scroll="x:hidden :y">
|
47
|
-
<div v-for="(item, idx) in state.limit" :key="idx" class="item ux-hover nowrap r-ss">
|
48
|
-
<label class="ny-xs nx-sm" ui-form="@a type:checkbox">
|
49
|
-
<input :checked="!item._close" type="checkbox" @change="item._close = item._close ? 0 : 1" />
|
50
|
-
<span>{{ item.label }}</span>
|
51
|
-
</label>
|
52
|
-
</div>
|
53
|
-
</div>
|
54
|
-
</template>
|
55
|
-
</IFollowView>
|
56
|
-
<button ui-btn="@a s main" @click="fResetLimit">{{ words['common.reset'] || '重置' }}</button>
|
57
|
-
</div>
|
58
49
|
</template>
|
59
50
|
<script lang="ts" setup>
|
60
51
|
import { computed, reactive, watch } from 'vue';
|
@@ -91,20 +82,28 @@
|
|
91
82
|
words?: { [key: string | number]: any };
|
92
83
|
limit: Array<LimitProps>;
|
93
84
|
param: any;
|
85
|
+
tools?: boolean;
|
94
86
|
}
|
95
87
|
|
96
88
|
const props: any = withDefaults(defineProps<Props>(), {
|
97
89
|
words: () => ({}),
|
98
90
|
limit: () => [],
|
99
|
-
param: () => ({})
|
91
|
+
param: () => ({}),
|
92
|
+
tools: false,
|
100
93
|
});
|
101
94
|
|
95
|
+
// 定义emit事件
|
96
|
+
const emits = defineEmits<{
|
97
|
+
search: [param: any];
|
98
|
+
}>();
|
99
|
+
|
102
100
|
// 内部数据
|
103
101
|
const state: any = reactive({
|
104
102
|
name: computed(() => 'confs' + route.path?.replace(/\//g, '_')),
|
105
103
|
limit: [],
|
106
|
-
param: {}
|
104
|
+
param: {},
|
107
105
|
});
|
106
|
+
|
108
107
|
// 监听外部配置
|
109
108
|
watch(
|
110
109
|
() => props.limit,
|
@@ -144,8 +143,9 @@
|
|
144
143
|
return item;
|
145
144
|
});
|
146
145
|
},
|
147
|
-
{ deep: true, immediate: true }
|
146
|
+
{ deep: true, immediate: true },
|
148
147
|
);
|
148
|
+
|
149
149
|
// 缓存交互配置
|
150
150
|
watch(
|
151
151
|
[() => state.limit],
|
@@ -161,7 +161,7 @@
|
|
161
161
|
});
|
162
162
|
localStorage.setItem(`${state.name}_limit`, JSON.stringify(_limit));
|
163
163
|
},
|
164
|
-
{ deep: true }
|
164
|
+
{ deep: true },
|
165
165
|
);
|
166
166
|
|
167
167
|
watch(
|
@@ -169,7 +169,7 @@
|
|
169
169
|
() => {
|
170
170
|
state.param = props.param;
|
171
171
|
},
|
172
|
-
{ deep: true, immediate: true }
|
172
|
+
{ deep: true, immediate: true },
|
173
173
|
);
|
174
174
|
|
175
175
|
// 重置筛选
|
@@ -179,5 +179,16 @@
|
|
179
179
|
delete state.param[key];
|
180
180
|
}
|
181
181
|
}
|
182
|
+
// 触发搜索事件
|
183
|
+
emits('search', state.param);
|
184
|
+
};
|
185
|
+
|
186
|
+
// 搜索功能
|
187
|
+
const fSearch = () => {
|
188
|
+
// 重置页码
|
189
|
+
if (state.param.page) {
|
190
|
+
state.param.page = 1;
|
191
|
+
}
|
192
|
+
emits('search', state.param);
|
182
193
|
};
|
183
194
|
</script>
|