多图片上传优化
This commit is contained in:
@@ -4,6 +4,7 @@ import android.annotation.SuppressLint
|
|||||||
import android.graphics.Bitmap
|
import android.graphics.Bitmap
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.util.Log
|
||||||
import androidx.activity.ComponentActivity
|
import androidx.activity.ComponentActivity
|
||||||
import androidx.activity.viewModels
|
import androidx.activity.viewModels
|
||||||
import androidx.camera.view.PreviewView
|
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.dp
|
||||||
import com.sw.inbound.utils.ext.gone
|
import com.sw.inbound.utils.ext.gone
|
||||||
import com.sw.inbound.utils.ext.hideKeyboard
|
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.toast
|
||||||
import com.sw.inbound.utils.ext.visible
|
import com.sw.inbound.utils.ext.visible
|
||||||
import com.sw.inbound.viewmodel.ReceiptViewModel
|
import com.sw.inbound.viewmodel.ReceiptViewModel
|
||||||
@@ -124,7 +127,7 @@ class FoodCollectionActivity : ComponentActivity() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.btnSave.setOnClickListener {
|
binding.btnSave.setOnClickListener { _ ->
|
||||||
if (clickIndex == -1) {
|
if (clickIndex == -1) {
|
||||||
toast("请选择物品名称")
|
toast("请选择物品名称")
|
||||||
return@setOnClickListener
|
return@setOnClickListener
|
||||||
@@ -141,7 +144,13 @@ class FoodCollectionActivity : ComponentActivity() {
|
|||||||
return@setOnClickListener
|
return@setOnClickListener
|
||||||
}
|
}
|
||||||
viewModel.uploadMultipleImages(goods.id!!, goods.goodsName!!, files) {
|
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 {
|
binding.btnTakePhoto.clickWithDebounce {
|
||||||
@@ -234,6 +243,7 @@ class FoodCollectionActivity : ComponentActivity() {
|
|||||||
searchGoodsList.clear()
|
searchGoodsList.clear()
|
||||||
searchAdapter.notifyDataSetChanged()
|
searchAdapter.notifyDataSetChanged()
|
||||||
loadEmptyView()
|
loadEmptyView()
|
||||||
|
binding.ivFinish.invisible()
|
||||||
}
|
}
|
||||||
|
|
||||||
private val cameraCallback: (Uri) -> Unit = { uri ->
|
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
|
@Multipart
|
||||||
@POST
|
@POST
|
||||||
suspend fun uploadMultipleImages(
|
suspend fun uploadMultipleImages(
|
||||||
@Url url: String = "${GlobalData.appBaseUrl}/neglect/inboundWeighingScale/add",
|
@Url url: String = "${GlobalData.appBaseUrl}/terminal/neglect/inboundWeighingScale/add",
|
||||||
@PartMap params: Map<String, RequestBody>,
|
@PartMap params: HashMap<String, RequestBody>,
|
||||||
@Part parts: List<MultipartBody.Part>
|
@Part goodsPics: List<MultipartBody.Part>
|
||||||
): ApiResponse<String>
|
): ApiResponse<String>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -214,7 +214,7 @@ class RemoteRepository @Inject constructor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
suspend fun uploadMultipleImages(fileList: List<File>, param: Map<String, String>): ApiResponse<String> {
|
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) ->
|
param.forEach { (key, value) ->
|
||||||
paramsMap[key] = value.toRequestBody("text/plain".toMediaTypeOrNull())
|
paramsMap[key] = value.toRequestBody("text/plain".toMediaTypeOrNull())
|
||||||
}
|
}
|
||||||
@@ -232,7 +232,7 @@ class RemoteRepository @Inject constructor(
|
|||||||
fileParts.add(filePart)
|
fileParts.add(filePart)
|
||||||
}
|
}
|
||||||
return safeApiCall {
|
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_height="match_parent"
|
||||||
android:layout_weight="1" />
|
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
|
<TextView
|
||||||
android:id="@+id/btnSave"
|
android:id="@+id/btnSave"
|
||||||
android:layout_width="270dp"
|
android:layout_width="270dp"
|
||||||
|
|||||||
Reference in New Issue
Block a user