vue 3 列表数据按照某一列进行排序
一、公共方法
sortOrg(data){ return new Promise((resolve, reject) => { findList({}).then(res=>{ let orgList= res // 组织有数据则按照排序进行组织数据的排序 if(orgList !=null && orgList.length >0){ // 赋值 data.forEach((d)=>{ let deptObject = orgList.filter((i) => i.id === d.deptId) if(deptObject.length > 0){ d.sequNum = deptObject[0].sequNum } }) // 排序 data.sort(function(a,b){ var x= a['sequNum'] var y= b['sequNum'] return ((x < y)?-1:(x>y)?1:0) }) } resolve(data) }) }) }
二、调用的方法
const handleQuery = () => { state.isLoading = true if(state.paramForm.deptId !==null && state.paramForm.deptId.length === 0) { state.paramForm.deptId = userStore.permissionIds.join() } const params = { deptId: state.paramForm.deptId, startTime: '', endTime: '', oilType:paramForm.value.oilType, purposeType:paramForm.value.purposeType, } if (paramForm.value.deptId == '') { params.deptId = userStore.permissionIds.join() } if (paramForm.value.execDatetime != null) { params.startTime = paramForm.value.execDatetime[0], params.endTime = paramForm.value.execDatetime[1] } queryDeptFuel(params).then(res => { vehicleCommon.sortOrg(res.data).then((res) =>{ state.tableData =res }) state.tableColDate = res.dateRange }).finally(() => { state.isLoading = false }) }