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
    })
}

  

posted @ 2025-01-08 16:54  flyComeOn  阅读(166)  评论(0)    收藏  举报