fix: 优化设备批量导出查询条件
This commit is contained in:
parent
ad04405afb
commit
c4ddde59ab
|
@ -24,12 +24,42 @@ export const encodeParams = (params: Record<string, any>) => {
|
||||||
return _params.toString()
|
return _params.toString()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const handleTermsArr = (queryTerms: any, data: any[], parentKey?: string) => {
|
||||||
|
data.forEach((item, index) => {
|
||||||
|
const key = `${parentKey}[${index}]`
|
||||||
|
|
||||||
|
if (isArray(item)){
|
||||||
|
handleTermsArr(queryTerms, item, `${key}`)
|
||||||
|
} else if (isObject(item)) {
|
||||||
|
handleTermsObject(queryTerms, item, `${key}`)
|
||||||
|
} else {
|
||||||
|
queryTerms[key] = item
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
const handleTermsObject = (queryTerms: any, data: any, parentKey?: string) => {
|
||||||
|
Object.keys(data).forEach(k => {
|
||||||
|
const key = `${parentKey}.${k}`
|
||||||
|
console.log(key, data[k], isObject(data[k]), isArray(data[k]))
|
||||||
|
if (isArray(data[k])) {
|
||||||
|
handleTermsArr(queryTerms, data[k], `${key}`)
|
||||||
|
} else if (isObject(data[k])) {
|
||||||
|
handleTermsObject(queryTerms, data[k], `${key}`)
|
||||||
|
} else {
|
||||||
|
queryTerms[key] = data[k]
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
const handleTermsToString = (queryTerms: any, terms: Array<TermsType>, parentKey?: string) => {
|
const handleTermsToString = (queryTerms: any, terms: Array<TermsType>, parentKey?: string) => {
|
||||||
|
console.log(terms)
|
||||||
terms.forEach((a, aIndex) => {
|
terms.forEach((a, aIndex) => {
|
||||||
Object.keys(a).forEach((b) => {
|
Object.keys(a).forEach((b) => {
|
||||||
const key = `${parentKey}[${aIndex}].${b}`
|
const key = `${parentKey}[${aIndex}].${b}`
|
||||||
if (b === 'terms') {
|
if (isArray(a[b])) {
|
||||||
handleTermsToString(queryTerms, a[b], `${key}`)
|
handleTermsArr(queryTerms, a[b], `${key}`)
|
||||||
|
} else if (isObject(a[b])) {
|
||||||
|
handleTermsObject(queryTerms, a[b], `${key}`)
|
||||||
} else {
|
} else {
|
||||||
queryTerms[key] = a[b]
|
queryTerms[key] = a[b]
|
||||||
}
|
}
|
||||||
|
|
|
@ -503,6 +503,17 @@ const columns = [
|
||||||
hideInTable: true,
|
hideInTable: true,
|
||||||
search: {
|
search: {
|
||||||
type: 'treeSelect',
|
type: 'treeSelect',
|
||||||
|
// handleValue(v) {
|
||||||
|
// return {
|
||||||
|
// assetType: 'device',
|
||||||
|
// targets: [
|
||||||
|
// {
|
||||||
|
// type: 'org',
|
||||||
|
// id: v,
|
||||||
|
// },
|
||||||
|
// ],
|
||||||
|
// }
|
||||||
|
// },
|
||||||
options: () =>
|
options: () =>
|
||||||
new Promise((resolve) => {
|
new Promise((resolve) => {
|
||||||
queryOrgThree({}).then((resp: any) => {
|
queryOrgThree({}).then((resp: any) => {
|
||||||
|
@ -918,15 +929,26 @@ const handleSearch = (_params: any) => {
|
||||||
// params.value = _params;
|
// params.value = _params;
|
||||||
const newParams = (_params?.terms as any[])?.map((item1) => {
|
const newParams = (_params?.terms as any[])?.map((item1) => {
|
||||||
item1.terms = item1.terms.map((item2: any) => {
|
item1.terms = item1.terms.map((item2: any) => {
|
||||||
|
if (item2.column === 'id$dim-assets') {
|
||||||
|
if (item2.termType === 'not') {
|
||||||
|
const oldValue = JSON.parse(item2.value)
|
||||||
|
oldValue.not = true
|
||||||
|
item2.value = JSON.stringify(oldValue)
|
||||||
|
}
|
||||||
|
delete item2.termType
|
||||||
|
}
|
||||||
|
|
||||||
if (
|
if (
|
||||||
item2.column &&
|
item2.column &&
|
||||||
['classifiedId', 'accessId', 'accessProvider'].includes(
|
['classifiedId', 'accessId', 'accessProvider'].includes(
|
||||||
item2.column,
|
item2.column,
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
|
const oldTermType = item2.termType
|
||||||
|
delete item2.termType
|
||||||
return {
|
return {
|
||||||
...item2,
|
...item2,
|
||||||
column: 'productId$product-info',
|
column: `productId$product-info$${oldTermType}`,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
return item2;
|
return item2;
|
||||||
|
|
Loading…
Reference in New Issue