@tplc/business 0.7.54 → 0.7.55
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/CHANGELOG.md +29 -0
- package/components/lcb-filter-grid/lcb-filter-grid.vue +1 -1
- package/components/lcb-list/components/FilterList/index.vue +1 -1
- package/components/lcb-product/lcb-product.vue +1 -1
- package/components/lcb-tabs/components/Imgs/index.vue +8 -8
- package/components/lcb-tabs/components/Tabs/index.vue +8 -6
- package/components/lcb-tabs/components/Tags/index.vue +8 -9
- package/components/lcb-tabs/lcb-tabs.vue +1 -0
- package/components/lcb-tabs/types.ts +2 -0
- package/hooks/useSyncForm.ts +11 -2
- package/package.json +1 -1
- package/types/components/lcb-tabs/components/Imgs/index.vue.d.ts +3 -0
- package/types/components/lcb-tabs/components/Tabs/index.vue.d.ts +3 -0
- package/types/components/lcb-tabs/components/Tags/index.vue.d.ts +3 -0
- package/types/components/lcb-tabs/lcb-tabs.vue.d.ts +3 -0
- package/types/components/lcb-tabs/types.d.ts +2 -0
- package/types/hooks/useSyncForm.d.ts +7 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,35 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
### [0.7.55](https://gitlab888.30jia.com.cn/tourism-front/zero-code-pro/compare/v0.7.52...v0.7.55) (2026-01-08)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### ✨ Features | 新功能
|
|
9
|
+
|
|
10
|
+
* **lcb-calendar-search, lcb-product-item:** add new props for placeholder styling and image display options ([c17182d](https://gitlab888.30jia.com.cn/tourism-front/zero-code-pro/commit/c17182da05d8db59764f3dd7127a98304a096b83))
|
|
11
|
+
* **lcb-wrapper-list:** implement pagination support with z-paging and enhance dynamic style handling in lcb-block ([f345e4e](https://gitlab888.30jia.com.cn/tourism-front/zero-code-pro/commit/f345e4e0d84231db8e72fd55fefebdf01eac3bd6))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### 🐛 Bug Fixes | Bug 修复
|
|
15
|
+
|
|
16
|
+
* **lcb-area:** use nullish coalescing for default flex value in itemStylesCache ([421d71c](https://gitlab888.30jia.com.cn/tourism-front/zero-code-pro/commit/421d71c428f4a2f3db37169e9d5dd6ccdc1d6d07))
|
|
17
|
+
* **wd-img:** remove unnecessary z-index class from image component ([064ed39](https://gitlab888.30jia.com.cn/tourism-front/zero-code-pro/commit/064ed3962a45987ac7f22140312659df29259a0d))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### 🚀 Chore | 构建/工程依赖/工具
|
|
21
|
+
|
|
22
|
+
* **release:** 0.7.53 ([1a4d9f8](https://gitlab888.30jia.com.cn/tourism-front/zero-code-pro/commit/1a4d9f8d00b444997f97ee7b8469ffceda2b3f86))
|
|
23
|
+
* **release:** 0.7.54 ([29b264d](https://gitlab888.30jia.com.cn/tourism-front/zero-code-pro/commit/29b264d0d52a07f3598e4663c4463b8770beca91))
|
|
24
|
+
* **release:** 1.0.25 ([7dcdf05](https://gitlab888.30jia.com.cn/tourism-front/zero-code-pro/commit/7dcdf052c6144d79356f92574c12f94da2b1cd55))
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
### ♻️ Code Refactoring | 代码重构
|
|
28
|
+
|
|
29
|
+
* **lcb-area, lcb-button:** optimize actionProps computation and streamline data source selection ([117ce0d](https://gitlab888.30jia.com.cn/tourism-front/zero-code-pro/commit/117ce0df62ee17b25a341c4dd3b51b90a0f78bd8))
|
|
30
|
+
* **lcb-product-item:** remove unused type definitions and clean up component structure ([29c4cd2](https://gitlab888.30jia.com.cn/tourism-front/zero-code-pro/commit/29c4cd2da45f3486d5efc654ef736120be697349))
|
|
31
|
+
* **lcb-tabs, lcb-filter-grid, lcb-list, lcb-product:** update useSyncForm to accept an object with dynamicScope and visibleScope, and set defaultIndex for tabs components ([578529d](https://gitlab888.30jia.com.cn/tourism-front/zero-code-pro/commit/578529d7fadd466d22f660ebfe90362740b8e630))
|
|
32
|
+
* **lcb-wrapper-list:** streamline pagination implementation and enhance style handling in lcb-block ([9bb70e5](https://gitlab888.30jia.com.cn/tourism-front/zero-code-pro/commit/9bb70e58d28cb5575760d6fad0da81dec229beab))
|
|
33
|
+
|
|
5
34
|
### [0.7.54](https://gitlab888.30jia.com.cn/tourism-front/zero-code-pro/compare/v1.0.25...v0.7.54) (2026-01-07)
|
|
6
35
|
|
|
7
36
|
|
|
@@ -63,7 +63,7 @@ const props = withDefaults(defineProps<LcbFilterGridProps>(), {
|
|
|
63
63
|
activeFontSize: 28,
|
|
64
64
|
activeBgColor: 'var(--wot-color-theme)',
|
|
65
65
|
})
|
|
66
|
-
const { syncForm } = useSyncForm(props.dynamicScope)
|
|
66
|
+
const { syncForm } = useSyncForm({ dynamicScope: props.dynamicScope })
|
|
67
67
|
const current = ref(-1)
|
|
68
68
|
const handleClick = (index: number) => {
|
|
69
69
|
const isCurrent = index === current.value
|
|
@@ -37,7 +37,7 @@ const props = defineProps<LcbFilterListProps>()
|
|
|
37
37
|
const dataList = ref<unknown[]>([])
|
|
38
38
|
const paging = ref()
|
|
39
39
|
const { height } = useAutoHeight()
|
|
40
|
-
const { form } = useSyncForm(props.dynamicScope)
|
|
40
|
+
const { form } = useSyncForm({ dynamicScope: props.dynamicScope })
|
|
41
41
|
const refreshed = ref(false)
|
|
42
42
|
useZPaging(paging)
|
|
43
43
|
const modelValue = defineModel<unknown[]>({
|
|
@@ -32,7 +32,7 @@ const props = withDefaults(defineProps<LcbProductProps>(), {
|
|
|
32
32
|
sourceMode: 1,
|
|
33
33
|
gap: 16,
|
|
34
34
|
})
|
|
35
|
-
const { form } = useSyncForm(props.dynamicScope)
|
|
35
|
+
const { form } = useSyncForm({ dynamicScope: props.dynamicScope })
|
|
36
36
|
const loading = ref(false)
|
|
37
37
|
const renderList = ref<Record<string, any>[]>([])
|
|
38
38
|
const screenWidth = isH5
|
|
@@ -47,9 +47,13 @@ const props = withDefaults(defineProps<LcbTabsProps>(), {
|
|
|
47
47
|
imgTitleGap: 24,
|
|
48
48
|
activeColor: 'var(--wot-color-theme)',
|
|
49
49
|
inactiveColor: '#333333',
|
|
50
|
+
defaultIndex: 0,
|
|
50
51
|
})
|
|
51
|
-
const { syncForm } = useSyncForm(
|
|
52
|
-
|
|
52
|
+
const { syncForm } = useSyncForm({
|
|
53
|
+
dynamicScope: props.dynamicScope,
|
|
54
|
+
visibleScope: props.visibleScope,
|
|
55
|
+
})
|
|
56
|
+
const current = ref(props.defaultIndex)
|
|
53
57
|
const imgKey = ref(0)
|
|
54
58
|
const debounceFn = throttle(() => {
|
|
55
59
|
imgKey.value++
|
|
@@ -70,11 +74,7 @@ watch(
|
|
|
70
74
|
)
|
|
71
75
|
const handleTagClick = (name: string, index: number) => {
|
|
72
76
|
current.value = index
|
|
73
|
-
|
|
74
|
-
syncForm(JSON.parse(name))
|
|
75
|
-
} catch (error) {
|
|
76
|
-
console.error(error)
|
|
77
|
-
}
|
|
77
|
+
syncForm(JSON.parse(name))
|
|
78
78
|
}
|
|
79
|
-
handleTagClick(props.items?.[
|
|
79
|
+
handleTagClick(props.items?.[current.value].name, current.value)
|
|
80
80
|
</script>
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
ref="tabs"
|
|
15
15
|
:inactiveColor="tagTitleInactiveColor"
|
|
16
16
|
:color="tagTitleActiveColor"
|
|
17
|
+
v-model="currentTab"
|
|
17
18
|
>
|
|
18
19
|
<wd-tab v-for="tab in items" :key="tab.name" :title="tab.title" :name="tab.name" />
|
|
19
20
|
</wd-tabs>
|
|
@@ -39,14 +40,15 @@ const props = withDefaults(defineProps<LcbTabsProps>(), {
|
|
|
39
40
|
lineHeight: 3,
|
|
40
41
|
slidable: 'auto',
|
|
41
42
|
slidableNum: 6,
|
|
43
|
+
defaultIndex: 0,
|
|
44
|
+
})
|
|
45
|
+
const currentTab = ref(props.defaultIndex)
|
|
46
|
+
const { syncForm } = useSyncForm({
|
|
47
|
+
dynamicScope: props.dynamicScope,
|
|
48
|
+
visibleScope: props.visibleScope,
|
|
42
49
|
})
|
|
43
|
-
const { syncForm } = useSyncForm(props.dynamicScope)
|
|
44
50
|
const handleChange = (e: { name: string }) => {
|
|
45
|
-
|
|
46
|
-
syncForm(JSON.parse(e.name))
|
|
47
|
-
} catch (error) {
|
|
48
|
-
console.error(error)
|
|
49
|
-
}
|
|
51
|
+
syncForm(JSON.parse(e.name))
|
|
50
52
|
}
|
|
51
53
|
watch(
|
|
52
54
|
() => [props.lineWidth, props.lineHeight, props.slidable, props.slidableNum],
|
|
@@ -43,10 +43,13 @@ const props = withDefaults(defineProps<LcbTabsProps>(), {
|
|
|
43
43
|
tagTitleActiveColor: '#ffffff',
|
|
44
44
|
tagTitleInactiveColor: '#000000',
|
|
45
45
|
tagRadius: 100,
|
|
46
|
+
defaultIndex: 0,
|
|
46
47
|
})
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
const { syncForm } = useSyncForm({
|
|
49
|
+
dynamicScope: props.dynamicScope,
|
|
50
|
+
visibleScope: props.visibleScope,
|
|
51
|
+
})
|
|
52
|
+
const current = ref(props.defaultIndex)
|
|
50
53
|
defineOptions({
|
|
51
54
|
name: 'LcbTagsItem',
|
|
52
55
|
options: {
|
|
@@ -57,13 +60,9 @@ defineOptions({
|
|
|
57
60
|
})
|
|
58
61
|
const handleTagClick = (name: string, index: number) => {
|
|
59
62
|
current.value = index
|
|
60
|
-
|
|
61
|
-
syncForm(JSON.parse(name))
|
|
62
|
-
} catch (error) {
|
|
63
|
-
console.error(error)
|
|
64
|
-
}
|
|
63
|
+
syncForm(JSON.parse(name))
|
|
65
64
|
}
|
|
66
|
-
handleTagClick(props.items[
|
|
65
|
+
handleTagClick(props.items[current.value]?.name, current.value)
|
|
67
66
|
</script>
|
|
68
67
|
|
|
69
68
|
<style lang="scss" scoped>
|
package/hooks/useSyncForm.ts
CHANGED
|
@@ -1,17 +1,26 @@
|
|
|
1
|
-
import { FORM_KEY, PAGE_DYNAMIC_DATA } from '../constants'
|
|
1
|
+
import { FORM_KEY, PAGE_DYNAMIC_DATA, PAGE_PROVIDE_KEY } from '../constants'
|
|
2
2
|
import { computed, inject, Ref } from 'vue'
|
|
3
3
|
|
|
4
|
-
const useSyncForm = (
|
|
4
|
+
const useSyncForm = ({
|
|
5
|
+
dynamicScope,
|
|
6
|
+
visibleScope,
|
|
7
|
+
}: {
|
|
8
|
+
dynamicScope?: string
|
|
9
|
+
visibleScope?: string
|
|
10
|
+
}) => {
|
|
5
11
|
/** 上下文全局 */
|
|
6
12
|
const globalForm = inject(FORM_KEY) as Ref<Record<string, any>>
|
|
7
13
|
/** 上下文局部form */
|
|
8
14
|
const pageDynamicData = inject(PAGE_DYNAMIC_DATA) as Ref<Record<string, any>>
|
|
15
|
+
const visiblePageInfo = inject(PAGE_PROVIDE_KEY) as Ref<Record<string, any>>
|
|
9
16
|
const syncForm = (params: Record<string, any>) => {
|
|
10
17
|
if (dynamicScope) {
|
|
11
18
|
pageDynamicData.value[dynamicScope] = {
|
|
12
19
|
...pageDynamicData.value[dynamicScope],
|
|
13
20
|
...params,
|
|
14
21
|
}
|
|
22
|
+
} else if (visibleScope) {
|
|
23
|
+
visiblePageInfo.value[visibleScope] = params
|
|
15
24
|
} else {
|
|
16
25
|
globalForm.value = {
|
|
17
26
|
...globalForm.value,
|
package/package.json
CHANGED
|
@@ -6,6 +6,7 @@ declare const _default: import('vue').DefineComponent<
|
|
|
6
6
|
imgTitleGap: number
|
|
7
7
|
activeColor: string
|
|
8
8
|
inactiveColor: string
|
|
9
|
+
defaultIndex: number
|
|
9
10
|
}
|
|
10
11
|
>,
|
|
11
12
|
{},
|
|
@@ -25,6 +26,7 @@ declare const _default: import('vue').DefineComponent<
|
|
|
25
26
|
imgTitleGap: number
|
|
26
27
|
activeColor: string
|
|
27
28
|
inactiveColor: string
|
|
29
|
+
defaultIndex: number
|
|
28
30
|
}
|
|
29
31
|
>
|
|
30
32
|
>
|
|
@@ -32,6 +34,7 @@ declare const _default: import('vue').DefineComponent<
|
|
|
32
34
|
{
|
|
33
35
|
activeColor: string
|
|
34
36
|
inactiveColor: string
|
|
37
|
+
defaultIndex: number
|
|
35
38
|
imgTitleGap: number
|
|
36
39
|
},
|
|
37
40
|
{}
|
|
@@ -7,6 +7,7 @@ declare const _default: import('vue').DefineComponent<
|
|
|
7
7
|
lineHeight: number
|
|
8
8
|
slidable: string
|
|
9
9
|
slidableNum: number
|
|
10
|
+
defaultIndex: number
|
|
10
11
|
}
|
|
11
12
|
>,
|
|
12
13
|
{},
|
|
@@ -27,6 +28,7 @@ declare const _default: import('vue').DefineComponent<
|
|
|
27
28
|
lineHeight: number
|
|
28
29
|
slidable: string
|
|
29
30
|
slidableNum: number
|
|
31
|
+
defaultIndex: number
|
|
30
32
|
}
|
|
31
33
|
>
|
|
32
34
|
>
|
|
@@ -36,6 +38,7 @@ declare const _default: import('vue').DefineComponent<
|
|
|
36
38
|
lineWidth: number
|
|
37
39
|
slidableNum: number
|
|
38
40
|
slidable: 'always' | 'auto'
|
|
41
|
+
defaultIndex: number
|
|
39
42
|
},
|
|
40
43
|
{}
|
|
41
44
|
>
|
|
@@ -8,6 +8,7 @@ declare const _default: import('vue').DefineComponent<
|
|
|
8
8
|
tagTitleActiveColor: string
|
|
9
9
|
tagTitleInactiveColor: string
|
|
10
10
|
tagRadius: number
|
|
11
|
+
defaultIndex: number
|
|
11
12
|
}
|
|
12
13
|
>,
|
|
13
14
|
{},
|
|
@@ -29,11 +30,13 @@ declare const _default: import('vue').DefineComponent<
|
|
|
29
30
|
tagTitleActiveColor: string
|
|
30
31
|
tagTitleInactiveColor: string
|
|
31
32
|
tagRadius: number
|
|
33
|
+
defaultIndex: number
|
|
32
34
|
}
|
|
33
35
|
>
|
|
34
36
|
>
|
|
35
37
|
>,
|
|
36
38
|
{
|
|
39
|
+
defaultIndex: number
|
|
37
40
|
tagActiveColor: string
|
|
38
41
|
tagInactiveColor: string
|
|
39
42
|
tagTitleActiveColor: string
|
|
@@ -7,6 +7,7 @@ declare const _default: import('vue').DefineComponent<
|
|
|
7
7
|
tagsMode: string
|
|
8
8
|
gap: number
|
|
9
9
|
imgHeight: number
|
|
10
|
+
defaultIndex: number
|
|
10
11
|
}
|
|
11
12
|
>,
|
|
12
13
|
{},
|
|
@@ -27,6 +28,7 @@ declare const _default: import('vue').DefineComponent<
|
|
|
27
28
|
tagsMode: string
|
|
28
29
|
gap: number
|
|
29
30
|
imgHeight: number
|
|
31
|
+
defaultIndex: number
|
|
30
32
|
}
|
|
31
33
|
>
|
|
32
34
|
>
|
|
@@ -35,6 +37,7 @@ declare const _default: import('vue').DefineComponent<
|
|
|
35
37
|
gap: number
|
|
36
38
|
itemFontSize: number
|
|
37
39
|
tagsMode: 'scroll' | 'tiled'
|
|
40
|
+
defaultIndex: number
|
|
38
41
|
imgHeight: number
|
|
39
42
|
},
|
|
40
43
|
{}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
declare const useSyncForm: (
|
|
1
|
+
declare const useSyncForm: ({
|
|
2
|
+
dynamicScope,
|
|
3
|
+
visibleScope,
|
|
4
|
+
}: {
|
|
5
|
+
dynamicScope?: string
|
|
6
|
+
visibleScope?: string
|
|
7
|
+
}) => {
|
|
2
8
|
syncForm: (params: Record<string, any>) => void
|
|
3
9
|
form: import('vue').ComputedRef<any>
|
|
4
10
|
}
|