package com.xw.yunwei.ui.work.car.manage import android.app.Application import androidx.lifecycle.MutableLiveData import com.xw.common.base.BaseViewModel import com.xw.yunwei.model.AreaModel import com.xw.yunwei.model.CarModel import com.xw.yunwei.model.FenceInfoModel import com.xw.yunwei.model.SiteModel import com.xw.yunwei.net.WorkRepository import org.koin.core.component.inject class CarManageVM(application: Application) : BaseViewModel(application) { val workRepository: WorkRepository by inject() val filterAreas = mutableListOf() val filterStatus = listOf( "全部", "运营中", "维修中", "已收车", "车辆异常", ) val selectArea = mutableListOf() val selectStatus = mutableListOf(filterStatus[0]) val search = MutableLiveData("") // 车牌号 val carList: MutableLiveData> = MutableLiveData() var fences: MutableLiveData> = MutableLiveData() // 站点详情 fun queryCars() { launchRequest { val map = mutableMapOf() map["pageNum"] = 1 map["pageSize"] = 1000 map["status"] = if (selectStatus.contains("全部")) null else { if (selectStatus.isNotEmpty()) selectStatus.map { filterStatus.indexOf(it) }.joinToString(",") else null // 运营状态 1运营中 2维修中 3已收车 4车辆异常 } map["electronicId"] = if (selectArea.isNotEmpty()) selectArea.map { it.id ?: 0L }.joinToString(",") else null// 围栏id map["plateNumber"] = search.value // 查询参数 workRepository.queryCars(map)?.let { carList.postValue(it.records ?: ArrayList()) } } } fun queryAreas(block: () -> Unit) { if (filterAreas.isEmpty()) { launchRequest { workRepository.queryArea()?.let { filterAreas.addAll(it) runOnMainThread { block() } } } } else { block() } } fun getFenceByCode(cityCode: String){ launchRequest(showLoading = false) { workRepository.getFenceByCode(cityCode)?.let { fences.postValue(it) } } } }