58 lines
1.8 KiB
Kotlin
58 lines
1.8 KiB
Kotlin
package com.sw.inbound.viewmodel
|
|
|
|
import com.sw.inbound.model.response.SupplierInfo
|
|
import com.sw.inbound.repository.RemoteRepository
|
|
import dagger.hilt.android.lifecycle.HiltViewModel
|
|
import kotlinx.coroutines.flow.MutableStateFlow
|
|
import kotlinx.coroutines.flow.StateFlow
|
|
import timber.log.Timber
|
|
import javax.inject.Inject
|
|
|
|
/**
|
|
* 采购订单
|
|
*/
|
|
@HiltViewModel
|
|
class PurchaseOrderViewModel @Inject constructor(
|
|
private val repository: RemoteRepository
|
|
) : BaseViewModel(repository) {
|
|
|
|
/**
|
|
* 采购订单-供应商列表
|
|
*/
|
|
private val _supplierList = MutableStateFlow<List<SupplierInfo?>>(emptyList())
|
|
val supplierList: StateFlow<List<SupplierInfo?>> = _supplierList
|
|
/**
|
|
* 获取采购订单-供应商列表
|
|
*/
|
|
fun getOrderList(pageNum: Int = 1, pageSize: Int = 5) {
|
|
if (pageNum != 1) {
|
|
launch {
|
|
updateMoreLoading(true)
|
|
val response = repository.getReceiveList(pageNum, pageSize)
|
|
updateMoreLoading(false)
|
|
if (parseResponse(response)) {
|
|
response.result?.records?.let {
|
|
updateCanLoadMore(it.size >= pageSize)
|
|
Timber.d("加载更多 canLoadMore =${it.size >= pageSize}")
|
|
_supplierList.value = _supplierList.value + it
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
launchWithLoading {
|
|
val response = repository.getReceiveList(pageNum, pageSize)
|
|
if (parseResponse(response)) {
|
|
response.result?.records?.let {
|
|
_supplierList.value = it
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
override fun handleSensorScale(weight: Double) {
|
|
|
|
}
|
|
}
|
|
|