添加物品单位功能
This commit is contained in:
@@ -6,6 +6,7 @@ import com.sw.inbound.ext.toFormattedString
|
||||
import com.sw.inbound.ext.toSafeBigDecimal
|
||||
import com.sw.inbound.ext.toSafeDouble
|
||||
import com.sw.inbound.model.request.GoodsAddParam
|
||||
import com.sw.inbound.model.request.GoodsPurchaseUnitParam
|
||||
import com.sw.inbound.model.request.PurchaseWarehouseParam
|
||||
import com.sw.inbound.model.response.DictType
|
||||
import com.sw.inbound.model.response.SearchGoodsInfo
|
||||
@@ -34,6 +35,9 @@ class SelfProcurementViewModel @Inject constructor(
|
||||
private val _addGoodsResult = MutableStateFlow<Boolean>(false)
|
||||
val addGoodsResult: StateFlow<Boolean> = _addGoodsResult
|
||||
|
||||
private val _addGoodsPurchaseUnitResult = MutableStateFlow<Boolean>(false)
|
||||
val addGoodsPurchaseUnitResult: StateFlow<Boolean> = _addGoodsPurchaseUnitResult
|
||||
|
||||
private val _addToWarehouseResult = MutableStateFlow<Boolean>(false)
|
||||
val addToWarehouseResult: StateFlow<Boolean> = _addToWarehouseResult
|
||||
|
||||
@@ -52,10 +56,18 @@ class SelfProcurementViewModel @Inject constructor(
|
||||
private val _goodsAddParam = MutableStateFlow<GoodsAddParam>(GoodsAddParam())
|
||||
val goodsAddParam: StateFlow<GoodsAddParam> = _goodsAddParam
|
||||
|
||||
private val _goodsAddUnitParam =
|
||||
MutableStateFlow<GoodsPurchaseUnitParam>(GoodsPurchaseUnitParam())
|
||||
val goodsAddUnitParam: StateFlow<GoodsPurchaseUnitParam> = _goodsAddUnitParam
|
||||
|
||||
// 快速添加弹窗状态
|
||||
private val _showAddProductDialog = MutableStateFlow<Boolean>(false)
|
||||
val showAddProductDialog: StateFlow<Boolean> = _showAddProductDialog
|
||||
|
||||
// 添加采购单位弹窗状态
|
||||
private val _showAddPurchaseUnitDialog = MutableStateFlow<Boolean>(false)
|
||||
val showAddPurchaseUnitDialog: StateFlow<Boolean> = _showAddPurchaseUnitDialog
|
||||
|
||||
// 搜索物品列表
|
||||
private val _searchListItems = MutableStateFlow<List<SearchGoodsInfo.Record>>(emptyList())
|
||||
val searchListItems: StateFlow<List<SearchGoodsInfo.Record>> = _searchListItems
|
||||
@@ -64,6 +76,10 @@ class SelfProcurementViewModel @Inject constructor(
|
||||
private val _weightInfo = MutableStateFlow<Double?>(0.0)
|
||||
val weightInfo: StateFlow<Double?> = _weightInfo
|
||||
|
||||
// 是否可以下拉
|
||||
private val _dropdownTextChange = MutableStateFlow<Boolean>(false)
|
||||
val dropdownTextChange: StateFlow<Boolean> = _dropdownTextChange
|
||||
|
||||
/**
|
||||
* 数量是否是用户输入的值
|
||||
*/
|
||||
@@ -172,6 +188,16 @@ class SelfProcurementViewModel @Inject constructor(
|
||||
|
||||
fun updateAddProductDialog(show: Boolean) {
|
||||
_showAddProductDialog.value = show
|
||||
if (!show) {
|
||||
_goodsAddParam.value = GoodsAddParam()
|
||||
}
|
||||
}
|
||||
|
||||
fun updateAddPurchaseUnitDialog(show: Boolean) {
|
||||
_showAddPurchaseUnitDialog.value = show
|
||||
if (!show) {
|
||||
_goodsAddUnitParam.value = GoodsPurchaseUnitParam()
|
||||
}
|
||||
}
|
||||
|
||||
fun updateSelectedItem(purchaseOrder: PurchaseWarehouseParam?) {
|
||||
@@ -221,7 +247,7 @@ class SelfProcurementViewModel @Inject constructor(
|
||||
// 添加订单
|
||||
fun addPurchaseItem(purchaseOrder: PurchaseWarehouseParam) {
|
||||
_purchaseList.update { currentList ->
|
||||
currentList + purchaseOrder
|
||||
currentList + purchaseOrder
|
||||
}
|
||||
updateSelectedItem(null)
|
||||
}
|
||||
@@ -362,6 +388,38 @@ class SelfProcurementViewModel @Inject constructor(
|
||||
}
|
||||
}
|
||||
|
||||
fun updateGoodsPurchaseUnit(goodsPurchaseUnitParam: GoodsPurchaseUnitParam?) {
|
||||
if (goodsPurchaseUnitParam == null) {
|
||||
_dropdownTextChange.value = true
|
||||
_goodsAddUnitParam.value = GoodsPurchaseUnitParam()
|
||||
} else {
|
||||
val hasUnitId = GlobalData.unitTypeList.any { it.id == goodsPurchaseUnitParam.unitId }
|
||||
_dropdownTextChange.value = !hasUnitId
|
||||
_goodsAddUnitParam.value = goodsPurchaseUnitParam
|
||||
}
|
||||
}
|
||||
|
||||
fun updateDropdownTextChange(canChange: Boolean) {
|
||||
_dropdownTextChange.value == canChange
|
||||
}
|
||||
|
||||
fun addGoodsPurchaseUnit() {
|
||||
val errorInfo = _goodsAddUnitParam.value.hasNullField()
|
||||
if (errorInfo != null) {
|
||||
ToastUtils.showToast(errorInfo)
|
||||
return
|
||||
}
|
||||
launchWithLoading {
|
||||
val response = repository.selfPurchaseGoodsAddUnit(_goodsAddUnitParam.value)
|
||||
if (parseResponse(response)) {
|
||||
_showAddPurchaseUnitDialog.value = false
|
||||
_goodsAddUnitParam.value = GoodsPurchaseUnitParam()
|
||||
// _addGoodsPurchaseUnitResult.value = true
|
||||
ToastUtils.showToast("采购单位添加成功")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 物品提交入库
|
||||
*/
|
||||
@@ -372,11 +430,7 @@ class SelfProcurementViewModel @Inject constructor(
|
||||
}
|
||||
launchWithLoading {
|
||||
val response = repository.selfPurchaseWarehousing(_purchaseList.value)
|
||||
if (parseResponse(response)) {
|
||||
_addToWarehouseResult.value = true
|
||||
} else {
|
||||
_addToWarehouseResult.value = false
|
||||
}
|
||||
_addToWarehouseResult.value = parseResponse(response)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user