多图片上传优化
This commit is contained in:
@@ -4,6 +4,7 @@ import android.annotation.SuppressLint
|
||||
import android.graphics.Bitmap
|
||||
import android.net.Uri
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import androidx.activity.ComponentActivity
|
||||
import androidx.activity.viewModels
|
||||
import androidx.camera.view.PreviewView
|
||||
@@ -33,6 +34,8 @@ import com.sw.inbound.utils.ext.clickWithDebounce
|
||||
import com.sw.inbound.utils.ext.dp
|
||||
import com.sw.inbound.utils.ext.gone
|
||||
import com.sw.inbound.utils.ext.hideKeyboard
|
||||
import com.sw.inbound.utils.ext.invisible
|
||||
import com.sw.inbound.utils.ext.toObject
|
||||
import com.sw.inbound.utils.ext.toast
|
||||
import com.sw.inbound.utils.ext.visible
|
||||
import com.sw.inbound.viewmodel.ReceiptViewModel
|
||||
@@ -124,7 +127,7 @@ class FoodCollectionActivity : ComponentActivity() {
|
||||
}
|
||||
}
|
||||
|
||||
binding.btnSave.setOnClickListener {
|
||||
binding.btnSave.setOnClickListener { _ ->
|
||||
if (clickIndex == -1) {
|
||||
toast("请选择物品名称")
|
||||
return@setOnClickListener
|
||||
@@ -141,7 +144,13 @@ class FoodCollectionActivity : ComponentActivity() {
|
||||
return@setOnClickListener
|
||||
}
|
||||
viewModel.uploadMultipleImages(goods.id!!, goods.goodsName!!, files) {
|
||||
|
||||
Timber.tag(TAG).d("uploadMultipleImages: ${it}")
|
||||
//{"code":"00000","data":null,"msg":"成功","total":0}
|
||||
val resp = it?.toObject<RespData>()
|
||||
val isSuccess = resp?.code == "00000"
|
||||
binding.ivFinish.run {
|
||||
if (isSuccess) visible() else invisible()
|
||||
}
|
||||
}
|
||||
}
|
||||
binding.btnTakePhoto.clickWithDebounce {
|
||||
@@ -234,6 +243,7 @@ class FoodCollectionActivity : ComponentActivity() {
|
||||
searchGoodsList.clear()
|
||||
searchAdapter.notifyDataSetChanged()
|
||||
loadEmptyView()
|
||||
binding.ivFinish.invisible()
|
||||
}
|
||||
|
||||
private val cameraCallback: (Uri) -> Unit = { uri ->
|
||||
@@ -382,4 +392,9 @@ class FoodCollectionActivity : ComponentActivity() {
|
||||
}
|
||||
}
|
||||
|
||||
data class RespData(
|
||||
var code:String?=null,
|
||||
var data:String?=null,
|
||||
var msg:String?=null,
|
||||
)
|
||||
}
|
||||
@@ -159,9 +159,9 @@ interface ApiService {
|
||||
@Multipart
|
||||
@POST
|
||||
suspend fun uploadMultipleImages(
|
||||
@Url url: String = "${GlobalData.appBaseUrl}/neglect/inboundWeighingScale/add",
|
||||
@PartMap params: Map<String, RequestBody>,
|
||||
@Part parts: List<MultipartBody.Part>
|
||||
@Url url: String = "${GlobalData.appBaseUrl}/terminal/neglect/inboundWeighingScale/add",
|
||||
@PartMap params: HashMap<String, RequestBody>,
|
||||
@Part goodsPics: List<MultipartBody.Part>
|
||||
): ApiResponse<String>
|
||||
|
||||
/**
|
||||
|
||||
@@ -214,7 +214,7 @@ class RemoteRepository @Inject constructor(
|
||||
}
|
||||
|
||||
suspend fun uploadMultipleImages(fileList: List<File>, param: Map<String, String>): ApiResponse<String> {
|
||||
val paramsMap = mutableMapOf<String, RequestBody>()
|
||||
val paramsMap = hashMapOf<String, RequestBody>()
|
||||
param.forEach { (key, value) ->
|
||||
paramsMap[key] = value.toRequestBody("text/plain".toMediaTypeOrNull())
|
||||
}
|
||||
@@ -232,7 +232,7 @@ class RemoteRepository @Inject constructor(
|
||||
fileParts.add(filePart)
|
||||
}
|
||||
return safeApiCall {
|
||||
apiService.uploadMultipleImages(params = paramsMap, parts = fileParts)
|
||||
apiService.uploadMultipleImages(params = paramsMap, goodsPics = fileParts)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -339,6 +339,20 @@
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1" />
|
||||
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivFinish"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="30dp"
|
||||
android:padding="5dp"
|
||||
android:src="@mipmap/ic_finish"
|
||||
android:visibility="invisible"/>
|
||||
|
||||
<Space
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/btnSave"
|
||||
android:layout_width="270dp"
|
||||
|
||||
Reference in New Issue
Block a user