@ditari/bsui 1.0.4 → 1.0.6
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/dist/cjs/components/components.cjs.js +1 -1
- package/dist/cjs/components/components.d.ts +1 -0
- package/dist/cjs/components/index.cjs.js +1 -1
- package/dist/cjs/components/layout/NavTabs.vue.cjs.js +1 -1
- package/dist/cjs/components/select/Select.vue.cjs.js +1 -0
- package/dist/cjs/components/select/Select.vue.cjs2.js +1 -0
- package/dist/cjs/components/select/Select.vue.d.ts +53 -0
- package/dist/cjs/components/select/index.cjs.js +1 -0
- package/dist/cjs/components/select/index.d.ts +52 -0
- package/dist/cjs/components/table/Table.vue.cjs.js +1 -1
- package/dist/cjs/components/table/Table.vue.d.ts +11 -0
- package/dist/cjs/components/table/index.d.ts +11 -0
- package/dist/cjs/store/modules/NavTab.cjs.js +1 -1
- package/dist/css/index.css +1 -1
- package/dist/css/layout/style/index.css +1 -1
- package/dist/css/layout/style/navtab.css +1 -1
- package/dist/css/layout/style/show.css +1 -1
- package/dist/esm/assets/dic-worker-3d338b91.js +1 -0
- package/dist/esm/components/components.d.ts +1 -0
- package/dist/esm/components/components.esm.js +12 -10
- package/dist/esm/components/index.esm.js +12 -10
- package/dist/esm/components/layout/NavTabs.vue.esm.js +33 -31
- package/dist/esm/components/select/Select.vue.d.ts +53 -0
- package/dist/esm/components/select/Select.vue.esm.js +105 -0
- package/dist/esm/components/select/Select.vue.esm2.js +4 -0
- package/dist/esm/components/select/index.d.ts +52 -0
- package/dist/esm/components/select/index.esm.js +7 -0
- package/dist/esm/components/table/Table.vue.d.ts +11 -0
- package/dist/esm/components/table/Table.vue.esm.js +43 -42
- package/dist/esm/components/table/index.d.ts +11 -0
- package/dist/esm/store/modules/NavTab.esm.js +1 -3
- package/dist/style/layout/style/navtab.scss +14 -4
- package/dist/style/layout/style/show.scss +2 -2
- package/dist/style/theme/variable.scss +1 -1
- package/package.json +5 -2
- package/src/components/components.ts +1 -0
- package/src/components/layout/NavTabs.vue +6 -4
- package/src/components/layout/style/navtab.scss +14 -4
- package/src/components/layout/style/show.scss +2 -2
- package/src/components/select/Select.vue +52 -21
- package/src/components/select/dic-worker.ts +23 -0
- package/src/components/select/index.ts +5 -0
- package/src/components/table/Table.vue +4 -0
- package/src/components/theme/variable.scss +1 -1
- package/src/store/modules/NavTab.ts +1 -3
- package/src/store/modules/test/index.ts +3 -0
- package/src/tsconfig.json +2 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import { watch, ref } from "vue";
|
|
3
|
-
import {
|
|
3
|
+
import { useDataDicStore } from "../../store/modules/DataDictionary";
|
|
4
4
|
|
|
5
5
|
interface Props {
|
|
6
6
|
value: any;
|
|
@@ -18,43 +18,74 @@ const props = withDefaults(defineProps<Props>(), {
|
|
|
18
18
|
|
|
19
19
|
interface Emits {
|
|
20
20
|
(e: "update:value", value: any): void;
|
|
21
|
+
(e: "change", value: any): void;
|
|
21
22
|
}
|
|
22
23
|
const emits = defineEmits<Emits>();
|
|
24
|
+
const { getDicByKey, list } = useDataDicStore();
|
|
23
25
|
|
|
24
26
|
const { modelValue, data, onSearch, onSelect } = useSelect();
|
|
25
|
-
function useSelect() {
|
|
26
|
-
const { getDic } = useDic();
|
|
27
|
-
const dicData = getDic(props.name);
|
|
28
27
|
|
|
28
|
+
function useSelect() {
|
|
29
|
+
// 保存worker启动状态
|
|
30
|
+
let workerStatus = true;
|
|
31
|
+
let dicData: any[] = [];
|
|
29
32
|
const data = ref(dicData);
|
|
33
|
+
// 取值
|
|
30
34
|
const modelValue = ref(props.value);
|
|
35
|
+
// 创建worker
|
|
36
|
+
const worker = new Worker(new URL("./dic-worker", import.meta.url), {
|
|
37
|
+
type: "module"
|
|
38
|
+
});
|
|
39
|
+
/**
|
|
40
|
+
* web worker 启动失败
|
|
41
|
+
*/
|
|
42
|
+
worker.onerror = () => {
|
|
43
|
+
workerStatus = false;
|
|
44
|
+
// 启动失败使用store
|
|
45
|
+
dicData = getDicByKey(props.name);
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* 监听web worker发送的数据
|
|
49
|
+
* @param e
|
|
50
|
+
*/
|
|
51
|
+
worker.onmessage = (e) => {
|
|
52
|
+
// 赋值给下拉选择数据变量
|
|
53
|
+
data.value = [...e.data];
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
// 首次创建的时候发送
|
|
57
|
+
sendWorkerSearch(modelValue.value);
|
|
31
58
|
|
|
32
59
|
//监听用户搜索事件
|
|
33
|
-
const onSearch = (
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
60
|
+
const onSearch = (keywords: string) => {
|
|
61
|
+
if (workerStatus) {
|
|
62
|
+
sendWorkerSearch(keywords);
|
|
63
|
+
} else {
|
|
64
|
+
data.value = dicData
|
|
65
|
+
.filter((item: any) => {
|
|
66
|
+
return (
|
|
67
|
+
item.value.toLowerCase().indexOf(keywords.toLowerCase()) !== -1 ||
|
|
68
|
+
item.label.toLowerCase().includes(keywords.toLowerCase())
|
|
69
|
+
);
|
|
70
|
+
})
|
|
71
|
+
.splice(0, 10);
|
|
72
|
+
}
|
|
40
73
|
};
|
|
41
74
|
|
|
75
|
+
function sendWorkerSearch(keywords: string) {
|
|
76
|
+
worker.postMessage({
|
|
77
|
+
list: JSON.stringify(list[props.name]),
|
|
78
|
+
keywords: keywords
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
|
|
42
82
|
//监听下拉选择事件
|
|
43
83
|
const onSelect = (value: any) => {
|
|
44
84
|
// 发射选择的数据
|
|
45
85
|
emits("update:value", value);
|
|
86
|
+
emits("change", value);
|
|
46
87
|
};
|
|
47
88
|
|
|
48
|
-
//监听数据变化
|
|
49
|
-
watch(
|
|
50
|
-
() => props.value,
|
|
51
|
-
(val) => {
|
|
52
|
-
modelValue.value = val;
|
|
53
|
-
if (!val) {
|
|
54
|
-
data.value = dicData;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
);
|
|
58
89
|
return {
|
|
59
90
|
data,
|
|
60
91
|
modelValue,
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 字典处理worker
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
self.addEventListener(
|
|
6
|
+
"message",
|
|
7
|
+
function (e) {
|
|
8
|
+
const keyword = e.data.keywords || "";
|
|
9
|
+
const parseData = JSON.parse(e.data.list);
|
|
10
|
+
const filterRs = parseData.filter((item: any) => {
|
|
11
|
+
return (
|
|
12
|
+
item.value.toLowerCase().indexOf(keyword.toLowerCase()) !== -1 ||
|
|
13
|
+
item.label.toLowerCase().includes(keyword.toLowerCase())
|
|
14
|
+
);
|
|
15
|
+
});
|
|
16
|
+
if (filterRs.length === 0) {
|
|
17
|
+
self.postMessage(parseData.splice(0, 10));
|
|
18
|
+
} else {
|
|
19
|
+
self.postMessage(filterRs.splice(0, 10));
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
false
|
|
23
|
+
);
|
|
@@ -11,6 +11,7 @@ type Key = string | number;
|
|
|
11
11
|
interface Props {
|
|
12
12
|
bordered?: boolean;
|
|
13
13
|
keys?: Ref<Key[]>;
|
|
14
|
+
size?: string;
|
|
14
15
|
columns: any; //表格配置
|
|
15
16
|
data: any; //数据源
|
|
16
17
|
rowKey?: string; //主键id
|
|
@@ -25,6 +26,7 @@ interface Props {
|
|
|
25
26
|
const props = withDefaults(defineProps<Props>(), {
|
|
26
27
|
bordered: false,
|
|
27
28
|
keys: undefined,
|
|
29
|
+
size: "small",
|
|
28
30
|
columns: [],
|
|
29
31
|
data: [],
|
|
30
32
|
rowKey: "id",
|
|
@@ -345,6 +347,7 @@ export default {
|
|
|
345
347
|
:custom-row="customRow"
|
|
346
348
|
:loading="loading"
|
|
347
349
|
:row-selection="rowSelection"
|
|
350
|
+
:size="size ?? 'small'"
|
|
348
351
|
:scroll="{
|
|
349
352
|
scrollToFirstRowOnChange: true,
|
|
350
353
|
x: '100%',
|
|
@@ -374,6 +377,7 @@ export default {
|
|
|
374
377
|
class="xi-pagination"
|
|
375
378
|
:disabled="loading"
|
|
376
379
|
show-size-changer
|
|
380
|
+
:size="configProvider.componentSize ?? 'middle '"
|
|
377
381
|
:hide-on-single-page="paginationConfig.hideOnSinglePage"
|
|
378
382
|
:show-quick-jumper="paginationConfig.showQuickJumper"
|
|
379
383
|
:default-page-size="paginationConfig.defaultPageSize"
|
|
@@ -50,9 +50,7 @@ export const useNavTabsStore = defineStore(NAV_TAB_ID, {
|
|
|
50
50
|
* @param route
|
|
51
51
|
*/
|
|
52
52
|
save(route: RouteLocationNormalized) {
|
|
53
|
-
const flag = this.list.some(
|
|
54
|
-
(item: INavTab) => item.fullPath === route.fullPath
|
|
55
|
-
);
|
|
53
|
+
const flag = this.list.some((item: INavTab) => item.path === route.path);
|
|
56
54
|
if (flag) {
|
|
57
55
|
return;
|
|
58
56
|
}
|
package/src/tsconfig.json
CHANGED