物模型:添加排序

This commit is contained in:
高云鹏 2024-10-21 16:55:27 +08:00
parent f29d061793
commit a19fd7dd45
2 changed files with 28 additions and 13 deletions

View File

@ -528,6 +528,10 @@ const changeTabs = (name: any) => {
getServiceList()
}
}
const sortData = reactive<{ orderColumn: string | undefined; orderType: 'desc' | 'asc' | undefined }>({
orderColumn: undefined,
orderType: undefined,
})
const sortChange = ({
prop,
order,
@ -535,11 +539,26 @@ const sortChange = ({
prop: keyof typeof ModelAttributeFieldsEnums | keyof typeof ModelServiceFieldsEnums
order: 'ascending' | 'descending' | null
}) => {
const propEnums = {
attributeCode: 'attribute_code',
attributeName: 'attribute_name',
attributeTypeName: 'attribute_type',
porder: 'porder',
serviceCode: 'service_code',
serviceName: 'service_name',
serviceTypeName: 'service_type',
}
const orderType = order === 'ascending' ? 'asc' : order === 'descending' ? 'desc' : undefined
const filed = propEnums[prop as keyof typeof propEnums]
sortData.orderColumn = orderType ? filed : undefined
sortData.orderType = orderType
if (ModelTabs.value === 'attribute') {
getAttributeList({ orderFiled: order ? (prop as keyof typeof ModelAttributeFieldsEnums) : undefined, order: orderType })
getAttributeList()
} else if (ModelTabs.value === 'service') {
getServiceList({ orderFiled: order ? (prop as keyof typeof ModelServiceFieldsEnums) : undefined, order: orderType })
getServiceList()
}
}
@ -579,8 +598,8 @@ const getAttributeList = ({
iotModelId: curContextMenuTreeData.value!.id!,
pageNum: currentPage.value,
pageSize: currentPageSize.value,
orderColumn: orderFiled,
orderType: order,
orderColumn: sortData.orderColumn,
orderType: sortData.orderType,
}
if (type === 'Name') {
requestData.attributeName = value
@ -623,20 +642,16 @@ const getAttributeList = ({
const getServiceList = ({
type,
value,
order,
orderFiled,
}: {
type?: radioGroupType
value?: string
order?: 'asc' | 'desc'
orderFiled?: keyof typeof ModelServiceFieldsEnums
} = {}) => {
const requestData: GetModelServiceType = {
iotModelId: curContextMenuTreeData.value!.id!,
pageNum: currentPage.value,
pageSize: currentPageSize.value,
orderColumn: orderFiled,
orderType: order,
orderColumn: sortData.orderColumn,
orderType: sortData.orderType,
}
if (type === 'Name') {
requestData.serviceName = value

View File

@ -94,8 +94,8 @@ export type GetModelAttributeType = {
attributeName?: string
pageSize: number
pageNum: number
orderColumn: keyof typeof ModelAttributeFieldsEnums | undefined
orderType: 'desc' | 'asc' | undefined
orderColumn?: string
orderType?: 'desc' | 'asc'
}
export type attributeTypeDataType = "float" | "double" | "tinyint" | "smallint" | "int" | "bigint"
@ -130,7 +130,7 @@ export type GetModelServiceType = {
serviceName?: string
pageSize: number
pageNum: number
orderColumn?: keyof typeof ModelServiceFieldsEnums
orderColumn?: string
orderType?: 'desc' | 'asc'
}