w-ui-v1 1.1.43 → 1.1.44
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/Locale.ts +21 -3
- package/package.json +1 -1
- package/w-report-table/w-report-table.vue +1 -1
- package/w-search/w-search.vue +11 -11
- package/w-select-picker/w-select-picker.vue +3 -3
- package/w-select-table/w-select-table.vue +3 -3
- package/w-switch-lang/w-switch-lang.vue +10 -2
- package/w-table/w-table.vue +4 -4
package/Locale.ts
CHANGED
|
@@ -28,12 +28,30 @@ export function changeLanguage(lang : string = 'zh-CN') {
|
|
|
28
28
|
//切换自定义组件语言
|
|
29
29
|
export function changeLanguageConmon(value:string=''):string{
|
|
30
30
|
//获取当前本地存储的语言
|
|
31
|
-
let
|
|
31
|
+
let languageRaw = uni.getStorageSync('language')
|
|
32
|
+
// 兼容 uni.getStorageSync 返回对象或字符串的情况
|
|
33
|
+
let language : any
|
|
34
|
+
if(typeof languageRaw === 'string'){
|
|
35
|
+
language = JSON.parse(languageRaw || "{}")
|
|
36
|
+
}else if(languageRaw && typeof languageRaw === 'object'){
|
|
37
|
+
language = languageRaw
|
|
38
|
+
}else{
|
|
39
|
+
language = {}
|
|
40
|
+
}
|
|
32
41
|
if(!language.value){
|
|
33
42
|
return value
|
|
34
43
|
}
|
|
35
44
|
|
|
36
|
-
|
|
45
|
+
// 兼容 language.value 是字符串或对象的情况
|
|
46
|
+
let langObj : any
|
|
47
|
+
if(typeof language.value === 'string'){
|
|
48
|
+
langObj = JSON.parse(language.value)
|
|
49
|
+
}else if(language.value && typeof language.value === 'object'){
|
|
50
|
+
langObj = language.value
|
|
51
|
+
}else{
|
|
52
|
+
return value
|
|
53
|
+
}
|
|
54
|
+
let l= langObj[value]
|
|
37
55
|
|
|
38
56
|
if(l){
|
|
39
57
|
return l
|
|
@@ -41,4 +59,4 @@ export function changeLanguageConmon(value:string=''):string{
|
|
|
41
59
|
return value
|
|
42
60
|
}
|
|
43
61
|
|
|
44
|
-
}
|
|
62
|
+
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<view class="smart-table-container">
|
|
3
3
|
<!-- 搜索 -->
|
|
4
|
-
<wSearch :
|
|
4
|
+
<wSearch :primaryCriterion="pageConfigs.primaryCriterion" :criteria="pageConfigs.drillingParams" @search="search" v-if="pageConfigs.buttons?.includes('query')">
|
|
5
5
|
</wSearch>
|
|
6
6
|
<view v-if="loading" class="enpert">
|
|
7
7
|
<wd-loading />
|
package/w-search/w-search.vue
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<view>
|
|
3
3
|
<view class="search-box">
|
|
4
|
-
<view class="left" v-if="props.
|
|
4
|
+
<view class="left" v-if="props.criteria.length">
|
|
5
5
|
<!-- <view class="search-icon">
|
|
6
6
|
<wd-icon name="search" size="12px" ></wd-icon>
|
|
7
7
|
</view> -->
|
|
8
8
|
<wd-drop-menu>
|
|
9
9
|
<wd-drop-menu-item ref="dropMenu" :title="changeLanguageConmon('更多')" @opened="handleOpened">
|
|
10
|
-
<view v-for="(item, index) in props.
|
|
10
|
+
<view v-for="(item, index) in props.criteria" :key="index">
|
|
11
11
|
<!-- <wSelectPicker :model-value="searchData[item.sourceId] ? searchData[item.sourceId].value : ''"
|
|
12
12
|
v-if="item.extControlType === 'relselectvalue' || item.extControlType === 'entity-select'" type="radio"
|
|
13
13
|
@confirm="(e) => { searchData[item.sourceId] = e.selectedItems }" :label="item.title"
|
|
@@ -53,9 +53,9 @@
|
|
|
53
53
|
</wd-drop-menu>
|
|
54
54
|
</view>
|
|
55
55
|
<view style="flex:1;"
|
|
56
|
-
v-if="
|
|
57
|
-
<wd-search @clear="search" v-model="searchData[
|
|
58
|
-
:placeholder="`${changeLanguageConmon('搜索')}${changeLanguageConmon(
|
|
56
|
+
v-if="primaryCriterion?.extControlType==='text'||primaryCriterion?.controlType==='text'">
|
|
57
|
+
<wd-search @clear="search" v-model="searchData[primaryCriterion.id]"
|
|
58
|
+
:placeholder="`${changeLanguageConmon('搜索')}${changeLanguageConmon(primaryCriterion.title)}`">
|
|
59
59
|
<template #suffix>
|
|
60
60
|
<view @click="search" style="padding:0 8px;">
|
|
61
61
|
<wd-icon name="search" />
|
|
@@ -82,12 +82,12 @@
|
|
|
82
82
|
const emits = defineEmits(['search'])
|
|
83
83
|
const props = defineProps({
|
|
84
84
|
//搜索框配置源
|
|
85
|
-
|
|
85
|
+
criteria: {
|
|
86
86
|
type: Array,
|
|
87
87
|
default: []
|
|
88
88
|
},
|
|
89
89
|
//主搜索配置
|
|
90
|
-
|
|
90
|
+
primaryCriterion: {
|
|
91
91
|
type: Object,
|
|
92
92
|
default: {}
|
|
93
93
|
}
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
|
|
100
100
|
onBeforeMount(() => {
|
|
101
101
|
let data = {}
|
|
102
|
-
props.
|
|
102
|
+
props.criteria.forEach((item : any) => {
|
|
103
103
|
|
|
104
104
|
switch (item.extControlType) {
|
|
105
105
|
case 'daterange':
|
|
@@ -130,7 +130,7 @@
|
|
|
130
130
|
for (const key in searchData.value) {
|
|
131
131
|
if (Object.prototype.hasOwnProperty.call(searchData.value, key)) {
|
|
132
132
|
const element = searchData.value[key];
|
|
133
|
-
props.
|
|
133
|
+
props.criteria.forEach((item : any) => {
|
|
134
134
|
console.log(element)
|
|
135
135
|
if (!element) return
|
|
136
136
|
|
|
@@ -267,7 +267,7 @@
|
|
|
267
267
|
}
|
|
268
268
|
const clear = () => {
|
|
269
269
|
let data = {}
|
|
270
|
-
props.
|
|
270
|
+
props.criteria.forEach((item : any) => {
|
|
271
271
|
data[`${item.sourceId}`] = ''
|
|
272
272
|
})
|
|
273
273
|
searchData.value = data
|
|
@@ -278,7 +278,7 @@
|
|
|
278
278
|
//获取枚举
|
|
279
279
|
async function getEnumer() {
|
|
280
280
|
let params = []
|
|
281
|
-
props.
|
|
281
|
+
props.criteria.forEach((item : any) => {
|
|
282
282
|
|
|
283
283
|
if (item.controlType === 'select') {
|
|
284
284
|
params.push(`mstrucIds=${item.mstrucId}`)
|
|
@@ -142,7 +142,7 @@
|
|
|
142
142
|
const filterColumns = ref<Array<Record<string, any>>>([])
|
|
143
143
|
const scrollTop = ref<number>(0) // 滚动位置
|
|
144
144
|
const cell = useCell()
|
|
145
|
-
const ltmplConfig = ref({ primaryColumn: { sourceId: "" },
|
|
145
|
+
const ltmplConfig = ref({ primaryColumn: { sourceId: "" }, primaryCriterion: { sourceId: "" } })
|
|
146
146
|
const pageData = ref([])
|
|
147
147
|
const loading = ref(false)
|
|
148
148
|
const showValue = computed(() => {
|
|
@@ -287,7 +287,7 @@
|
|
|
287
287
|
//滚动到底部事件
|
|
288
288
|
const scrolltolower = async () => {
|
|
289
289
|
let qrueKey = ""
|
|
290
|
-
if (ltmplConfig.value.
|
|
290
|
+
if (ltmplConfig.value.primaryCriterion?.sourceId) qrueKey = "c_" + ltmplConfig.value.primaryCriterion.sourceId + `=${filterVal.value}`
|
|
291
291
|
const key = await getPageKey(props.sourceId, props.mainCode, qrueKey)// 获取key
|
|
292
292
|
const data = await getPageData(key.data?.key, pageNo.value, 50)// 获取数据
|
|
293
293
|
if (data.data?.entities?.length === 0) {
|
|
@@ -434,7 +434,7 @@
|
|
|
434
434
|
filterColumns.value = []
|
|
435
435
|
pageData.value = []
|
|
436
436
|
let qrueKey = ""
|
|
437
|
-
if (ltmplConfig.value.
|
|
437
|
+
if (ltmplConfig.value.primaryCriterion.sourceId) qrueKey = "c_" + ltmplConfig.value.primaryCriterion.sourceId + `=${value}`
|
|
438
438
|
const key = await getPageKey(props.sourceId, "", qrueKey)// 获取key
|
|
439
439
|
const data = await getPageData(key.data?.key, 1, 50)// 获取数据
|
|
440
440
|
getlist(data.data?.entities || [])
|
|
@@ -34,9 +34,9 @@ const sourceId = ref('')
|
|
|
34
34
|
const radiovalue = ref()
|
|
35
35
|
const checkboxvalue = ref([])
|
|
36
36
|
const pageData = ref<{
|
|
37
|
-
|
|
37
|
+
criteria: []
|
|
38
38
|
buttons: string[]
|
|
39
|
-
}>({
|
|
39
|
+
}>({ criteria: [], buttons: [] })
|
|
40
40
|
onLoad((option: any) => {
|
|
41
41
|
console.log(option,props)
|
|
42
42
|
sourceId.value = props.sourceId || option.sourceId
|
|
@@ -162,7 +162,7 @@ function handleCansle() {
|
|
|
162
162
|
<template #top>
|
|
163
163
|
<view class="buttons">
|
|
164
164
|
<!-- 搜索 -->
|
|
165
|
-
<wSearch :
|
|
165
|
+
<wSearch :criteria="pageData.criteria" @search="search" v-if="pageData.buttons.includes('query')">
|
|
166
166
|
</wSearch>
|
|
167
167
|
<view>
|
|
168
168
|
<!-- 添加按钮 -->
|
|
@@ -13,7 +13,15 @@
|
|
|
13
13
|
const loading = ref(false)
|
|
14
14
|
const emits = defineEmits(["update:show"])
|
|
15
15
|
//获取当前本地存储的语言
|
|
16
|
-
let
|
|
16
|
+
let languageRaw = uni.getStorageSync('language')
|
|
17
|
+
let language : any
|
|
18
|
+
if(typeof languageRaw === 'string'){
|
|
19
|
+
language = JSON.parse(languageRaw || "{}")
|
|
20
|
+
}else if(languageRaw && typeof languageRaw === 'object'){
|
|
21
|
+
language = languageRaw
|
|
22
|
+
}else{
|
|
23
|
+
language = {}
|
|
24
|
+
}
|
|
17
25
|
// 默认中文:zh-CN
|
|
18
26
|
const lang = ref('zh-CN')
|
|
19
27
|
const columns = ref([
|
|
@@ -137,4 +145,4 @@
|
|
|
137
145
|
// display: flex;
|
|
138
146
|
// justify-content: flex-end;
|
|
139
147
|
}
|
|
140
|
-
</style>
|
|
148
|
+
</style>
|
package/w-table/w-table.vue
CHANGED
|
@@ -61,11 +61,11 @@ const paging = ref()
|
|
|
61
61
|
// 列表数据 v-model绑定的这个变量不要在分页请求结束中自己赋值,直接使用即可
|
|
62
62
|
const dataList = ref([])
|
|
63
63
|
const pageData = ref<{
|
|
64
|
-
|
|
64
|
+
criteria: []
|
|
65
65
|
buttons: string[]
|
|
66
|
-
|
|
66
|
+
primaryCriterion:{},
|
|
67
67
|
defaultCriteriaValue:{}
|
|
68
|
-
}>({
|
|
68
|
+
}>({ criteria: [], buttons: [], primaryCriterion:{},defaultCriteriaValue:{}})
|
|
69
69
|
onLoad((option: any) => {
|
|
70
70
|
sourceId.value = props.sourceId || option.sourceId
|
|
71
71
|
mainCode.value = props.mainCode ||option.mainCode
|
|
@@ -166,7 +166,7 @@ defineExpose({
|
|
|
166
166
|
<view v-if="props.showSearch">
|
|
167
167
|
<view >
|
|
168
168
|
<!-- 搜索 -->
|
|
169
|
-
<wSearch :
|
|
169
|
+
<wSearch :primaryCriterion="pageData.primaryCriterion" :criteria="pageData.criteria" @search="search" v-if="pageData.buttons.includes('query')">
|
|
170
170
|
</wSearch>
|
|
171
171
|
|
|
172
172
|
</view>
|