diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt index 14bbc65..15dc3d2 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt @@ -6,80 +6,68 @@ import com.casic.xz.meterage.adapter.CertificateTypeAdapter import com.casic.xz.meterage.adapter.CustomerSampleAdapter import com.casic.xz.meterage.extensions.watchAttachFile -import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.model.EntrustDetailModel import com.casic.xz.meterage.vm.DictionaryViewModel -import com.casic.xz.meterage.vm.EntrustViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.convertColor -import com.pengxh.kt.lite.vm.LoadState import kotlinx.android.synthetic.main.fragment_entrust_basic_information.* -class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { +class BasicInformationFragment(private val data: EntrustDetailModel.DataModel) : + KotlinBaseFragment() { - private lateinit var entrustViewModel: EntrustViewModel private lateinit var dictionaryViewModel: DictionaryViewModel override fun initData() { - entrustViewModel = ViewModelProvider(this)[EntrustViewModel::class.java] + entrustCodeView.text = data.orderCode + senderView.text = data.deliverer + contactView.text = data.delivererTel + entrustCreateView.text = data.orderTime + estimateTimeView.text = data.planDeliverTime + completedView.text = data.requireOverTime + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + remarkView.text = data.remark + + if (data.minioFileName.isNullOrBlank()) { + annexView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + annexView.text = minioFileName + val textPaint = annexView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + annexView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + annexView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + //证书 + val split = data.certifications.split(",") dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java] - - //获取委托书基本信息 - entrustViewModel.getEntrustDetail(id) - entrustViewModel.entrustDetail.observe(this) { - if (it.code == 200) { - val data = it.data - - entrustCodeView.text = data.orderCode - senderView.text = data.deliverer - contactView.text = data.delivererTel - entrustCreateView.text = data.orderTime - estimateTimeView.text = data.planDeliverTime - completedView.text = data.requireOverTime - entrustNameView.text = data.customerName - entrustContactView.text = data.customerPhone - entrustAddressView.text = data.customerAddress - remarkView.text = data.remark - - if (data.minioFileName.isNullOrBlank()) { - annexView.text = "暂无附件" - } else { - val minioFileName = data.minioFileName - - annexView.text = minioFileName - val textPaint = annexView.paint - textPaint.flags = Paint.UNDERLINE_TEXT_FLAG - textPaint.isAntiAlias = true - annexView.setTextColor(R.color.themeColor.convertColor(requireContext())) - - annexView.setOnClickListener { - minioFileName.watchAttachFile(requireContext()) - } - } - - //证书 - val split = data.certifications.split(",") - dictionaryViewModel.getDictionaryByCode("certificationClass") - dictionaryViewModel.dictionary.observe(this) { dic -> - if (dic.code == 200) { - typeRecyclerView.adapter = CertificateTypeAdapter( - requireContext(), dic.data, split - ) - } - } - - //加急 - if (data.isUrgent == "0") { - RadioButton2.isChecked = true - } else { - RadioButton1.isChecked = true - } - - //样品 - sampleRecyclerView.adapter = CustomerSampleAdapter( - requireContext(), data.customerSampleInfoList + dictionaryViewModel.getDictionaryByCode("certificationClass") + dictionaryViewModel.dictionary.observe(this) { dic -> + if (dic.code == 200) { + typeRecyclerView.adapter = CertificateTypeAdapter( + requireContext(), dic.data, split ) } } + + //加急 + if (data.isUrgent == "0") { + RadioButton2.isChecked = true + } else { + RadioButton1.isChecked = true + } + + //样品 + sampleRecyclerView.adapter = CustomerSampleAdapter( + requireContext(), data.customerSampleInfoList + ) } override fun initEvent() { @@ -89,12 +77,7 @@ override fun initLayoutView(): Int = R.layout.fragment_entrust_basic_information override fun observeRequestState() { - entrustViewModel.loadState.observe(this) { - when (it) { - LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") - else -> LoadingDialogHub.dismiss() - } - } + } override fun setupTopBarLayout() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt index 14bbc65..15dc3d2 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt @@ -6,80 +6,68 @@ import com.casic.xz.meterage.adapter.CertificateTypeAdapter import com.casic.xz.meterage.adapter.CustomerSampleAdapter import com.casic.xz.meterage.extensions.watchAttachFile -import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.model.EntrustDetailModel import com.casic.xz.meterage.vm.DictionaryViewModel -import com.casic.xz.meterage.vm.EntrustViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.convertColor -import com.pengxh.kt.lite.vm.LoadState import kotlinx.android.synthetic.main.fragment_entrust_basic_information.* -class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { +class BasicInformationFragment(private val data: EntrustDetailModel.DataModel) : + KotlinBaseFragment() { - private lateinit var entrustViewModel: EntrustViewModel private lateinit var dictionaryViewModel: DictionaryViewModel override fun initData() { - entrustViewModel = ViewModelProvider(this)[EntrustViewModel::class.java] + entrustCodeView.text = data.orderCode + senderView.text = data.deliverer + contactView.text = data.delivererTel + entrustCreateView.text = data.orderTime + estimateTimeView.text = data.planDeliverTime + completedView.text = data.requireOverTime + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + remarkView.text = data.remark + + if (data.minioFileName.isNullOrBlank()) { + annexView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + annexView.text = minioFileName + val textPaint = annexView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + annexView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + annexView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + //证书 + val split = data.certifications.split(",") dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java] - - //获取委托书基本信息 - entrustViewModel.getEntrustDetail(id) - entrustViewModel.entrustDetail.observe(this) { - if (it.code == 200) { - val data = it.data - - entrustCodeView.text = data.orderCode - senderView.text = data.deliverer - contactView.text = data.delivererTel - entrustCreateView.text = data.orderTime - estimateTimeView.text = data.planDeliverTime - completedView.text = data.requireOverTime - entrustNameView.text = data.customerName - entrustContactView.text = data.customerPhone - entrustAddressView.text = data.customerAddress - remarkView.text = data.remark - - if (data.minioFileName.isNullOrBlank()) { - annexView.text = "暂无附件" - } else { - val minioFileName = data.minioFileName - - annexView.text = minioFileName - val textPaint = annexView.paint - textPaint.flags = Paint.UNDERLINE_TEXT_FLAG - textPaint.isAntiAlias = true - annexView.setTextColor(R.color.themeColor.convertColor(requireContext())) - - annexView.setOnClickListener { - minioFileName.watchAttachFile(requireContext()) - } - } - - //证书 - val split = data.certifications.split(",") - dictionaryViewModel.getDictionaryByCode("certificationClass") - dictionaryViewModel.dictionary.observe(this) { dic -> - if (dic.code == 200) { - typeRecyclerView.adapter = CertificateTypeAdapter( - requireContext(), dic.data, split - ) - } - } - - //加急 - if (data.isUrgent == "0") { - RadioButton2.isChecked = true - } else { - RadioButton1.isChecked = true - } - - //样品 - sampleRecyclerView.adapter = CustomerSampleAdapter( - requireContext(), data.customerSampleInfoList + dictionaryViewModel.getDictionaryByCode("certificationClass") + dictionaryViewModel.dictionary.observe(this) { dic -> + if (dic.code == 200) { + typeRecyclerView.adapter = CertificateTypeAdapter( + requireContext(), dic.data, split ) } } + + //加急 + if (data.isUrgent == "0") { + RadioButton2.isChecked = true + } else { + RadioButton1.isChecked = true + } + + //样品 + sampleRecyclerView.adapter = CustomerSampleAdapter( + requireContext(), data.customerSampleInfoList + ) } override fun initEvent() { @@ -89,12 +77,7 @@ override fun initLayoutView(): Int = R.layout.fragment_entrust_basic_information override fun observeRequestState() { - entrustViewModel.loadState.observe(this) { - when (it) { - LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") - else -> LoadingDialogHub.dismiss() - } - } + } override fun setupTopBarLayout() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/ActionResultModel.java b/app/src/main/java/com/casic/xz/meterage/model/ActionResultModel.java new file mode 100644 index 0000000..d680bdb --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/ActionResultModel.java @@ -0,0 +1,35 @@ +package com.casic.xz.meterage.model; + +public class ActionResultModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt index 14bbc65..15dc3d2 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt @@ -6,80 +6,68 @@ import com.casic.xz.meterage.adapter.CertificateTypeAdapter import com.casic.xz.meterage.adapter.CustomerSampleAdapter import com.casic.xz.meterage.extensions.watchAttachFile -import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.model.EntrustDetailModel import com.casic.xz.meterage.vm.DictionaryViewModel -import com.casic.xz.meterage.vm.EntrustViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.convertColor -import com.pengxh.kt.lite.vm.LoadState import kotlinx.android.synthetic.main.fragment_entrust_basic_information.* -class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { +class BasicInformationFragment(private val data: EntrustDetailModel.DataModel) : + KotlinBaseFragment() { - private lateinit var entrustViewModel: EntrustViewModel private lateinit var dictionaryViewModel: DictionaryViewModel override fun initData() { - entrustViewModel = ViewModelProvider(this)[EntrustViewModel::class.java] + entrustCodeView.text = data.orderCode + senderView.text = data.deliverer + contactView.text = data.delivererTel + entrustCreateView.text = data.orderTime + estimateTimeView.text = data.planDeliverTime + completedView.text = data.requireOverTime + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + remarkView.text = data.remark + + if (data.minioFileName.isNullOrBlank()) { + annexView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + annexView.text = minioFileName + val textPaint = annexView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + annexView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + annexView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + //证书 + val split = data.certifications.split(",") dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java] - - //获取委托书基本信息 - entrustViewModel.getEntrustDetail(id) - entrustViewModel.entrustDetail.observe(this) { - if (it.code == 200) { - val data = it.data - - entrustCodeView.text = data.orderCode - senderView.text = data.deliverer - contactView.text = data.delivererTel - entrustCreateView.text = data.orderTime - estimateTimeView.text = data.planDeliverTime - completedView.text = data.requireOverTime - entrustNameView.text = data.customerName - entrustContactView.text = data.customerPhone - entrustAddressView.text = data.customerAddress - remarkView.text = data.remark - - if (data.minioFileName.isNullOrBlank()) { - annexView.text = "暂无附件" - } else { - val minioFileName = data.minioFileName - - annexView.text = minioFileName - val textPaint = annexView.paint - textPaint.flags = Paint.UNDERLINE_TEXT_FLAG - textPaint.isAntiAlias = true - annexView.setTextColor(R.color.themeColor.convertColor(requireContext())) - - annexView.setOnClickListener { - minioFileName.watchAttachFile(requireContext()) - } - } - - //证书 - val split = data.certifications.split(",") - dictionaryViewModel.getDictionaryByCode("certificationClass") - dictionaryViewModel.dictionary.observe(this) { dic -> - if (dic.code == 200) { - typeRecyclerView.adapter = CertificateTypeAdapter( - requireContext(), dic.data, split - ) - } - } - - //加急 - if (data.isUrgent == "0") { - RadioButton2.isChecked = true - } else { - RadioButton1.isChecked = true - } - - //样品 - sampleRecyclerView.adapter = CustomerSampleAdapter( - requireContext(), data.customerSampleInfoList + dictionaryViewModel.getDictionaryByCode("certificationClass") + dictionaryViewModel.dictionary.observe(this) { dic -> + if (dic.code == 200) { + typeRecyclerView.adapter = CertificateTypeAdapter( + requireContext(), dic.data, split ) } } + + //加急 + if (data.isUrgent == "0") { + RadioButton2.isChecked = true + } else { + RadioButton1.isChecked = true + } + + //样品 + sampleRecyclerView.adapter = CustomerSampleAdapter( + requireContext(), data.customerSampleInfoList + ) } override fun initEvent() { @@ -89,12 +77,7 @@ override fun initLayoutView(): Int = R.layout.fragment_entrust_basic_information override fun observeRequestState() { - entrustViewModel.loadState.observe(this) { - when (it) { - LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") - else -> LoadingDialogHub.dismiss() - } - } + } override fun setupTopBarLayout() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/ActionResultModel.java b/app/src/main/java/com/casic/xz/meterage/model/ActionResultModel.java new file mode 100644 index 0000000..d680bdb --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/ActionResultModel.java @@ -0,0 +1,35 @@ +package com.casic.xz.meterage.model; + +public class ActionResultModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index 6120702..2889dfb 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -191,4 +191,13 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 接收委托书 + */ + @POST("/business/order/receive") + suspend fun acceptEntrust( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt index 14bbc65..15dc3d2 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt @@ -6,80 +6,68 @@ import com.casic.xz.meterage.adapter.CertificateTypeAdapter import com.casic.xz.meterage.adapter.CustomerSampleAdapter import com.casic.xz.meterage.extensions.watchAttachFile -import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.model.EntrustDetailModel import com.casic.xz.meterage.vm.DictionaryViewModel -import com.casic.xz.meterage.vm.EntrustViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.convertColor -import com.pengxh.kt.lite.vm.LoadState import kotlinx.android.synthetic.main.fragment_entrust_basic_information.* -class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { +class BasicInformationFragment(private val data: EntrustDetailModel.DataModel) : + KotlinBaseFragment() { - private lateinit var entrustViewModel: EntrustViewModel private lateinit var dictionaryViewModel: DictionaryViewModel override fun initData() { - entrustViewModel = ViewModelProvider(this)[EntrustViewModel::class.java] + entrustCodeView.text = data.orderCode + senderView.text = data.deliverer + contactView.text = data.delivererTel + entrustCreateView.text = data.orderTime + estimateTimeView.text = data.planDeliverTime + completedView.text = data.requireOverTime + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + remarkView.text = data.remark + + if (data.minioFileName.isNullOrBlank()) { + annexView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + annexView.text = minioFileName + val textPaint = annexView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + annexView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + annexView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + //证书 + val split = data.certifications.split(",") dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java] - - //获取委托书基本信息 - entrustViewModel.getEntrustDetail(id) - entrustViewModel.entrustDetail.observe(this) { - if (it.code == 200) { - val data = it.data - - entrustCodeView.text = data.orderCode - senderView.text = data.deliverer - contactView.text = data.delivererTel - entrustCreateView.text = data.orderTime - estimateTimeView.text = data.planDeliverTime - completedView.text = data.requireOverTime - entrustNameView.text = data.customerName - entrustContactView.text = data.customerPhone - entrustAddressView.text = data.customerAddress - remarkView.text = data.remark - - if (data.minioFileName.isNullOrBlank()) { - annexView.text = "暂无附件" - } else { - val minioFileName = data.minioFileName - - annexView.text = minioFileName - val textPaint = annexView.paint - textPaint.flags = Paint.UNDERLINE_TEXT_FLAG - textPaint.isAntiAlias = true - annexView.setTextColor(R.color.themeColor.convertColor(requireContext())) - - annexView.setOnClickListener { - minioFileName.watchAttachFile(requireContext()) - } - } - - //证书 - val split = data.certifications.split(",") - dictionaryViewModel.getDictionaryByCode("certificationClass") - dictionaryViewModel.dictionary.observe(this) { dic -> - if (dic.code == 200) { - typeRecyclerView.adapter = CertificateTypeAdapter( - requireContext(), dic.data, split - ) - } - } - - //加急 - if (data.isUrgent == "0") { - RadioButton2.isChecked = true - } else { - RadioButton1.isChecked = true - } - - //样品 - sampleRecyclerView.adapter = CustomerSampleAdapter( - requireContext(), data.customerSampleInfoList + dictionaryViewModel.getDictionaryByCode("certificationClass") + dictionaryViewModel.dictionary.observe(this) { dic -> + if (dic.code == 200) { + typeRecyclerView.adapter = CertificateTypeAdapter( + requireContext(), dic.data, split ) } } + + //加急 + if (data.isUrgent == "0") { + RadioButton2.isChecked = true + } else { + RadioButton1.isChecked = true + } + + //样品 + sampleRecyclerView.adapter = CustomerSampleAdapter( + requireContext(), data.customerSampleInfoList + ) } override fun initEvent() { @@ -89,12 +77,7 @@ override fun initLayoutView(): Int = R.layout.fragment_entrust_basic_information override fun observeRequestState() { - entrustViewModel.loadState.observe(this) { - when (it) { - LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") - else -> LoadingDialogHub.dismiss() - } - } + } override fun setupTopBarLayout() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/ActionResultModel.java b/app/src/main/java/com/casic/xz/meterage/model/ActionResultModel.java new file mode 100644 index 0000000..d680bdb --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/ActionResultModel.java @@ -0,0 +1,35 @@ +package com.casic.xz.meterage.model; + +public class ActionResultModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index 6120702..2889dfb 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -191,4 +191,13 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 接收委托书 + */ + @POST("/business/order/receive") + suspend fun acceptEntrust( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 6d7f90f..7509c4e 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -427,4 +427,16 @@ ) return api.getEntrustDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 接收委托书 + */ + suspend fun acceptEntrust(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.acceptEntrust(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt index 14bbc65..15dc3d2 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt @@ -6,80 +6,68 @@ import com.casic.xz.meterage.adapter.CertificateTypeAdapter import com.casic.xz.meterage.adapter.CustomerSampleAdapter import com.casic.xz.meterage.extensions.watchAttachFile -import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.model.EntrustDetailModel import com.casic.xz.meterage.vm.DictionaryViewModel -import com.casic.xz.meterage.vm.EntrustViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.convertColor -import com.pengxh.kt.lite.vm.LoadState import kotlinx.android.synthetic.main.fragment_entrust_basic_information.* -class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { +class BasicInformationFragment(private val data: EntrustDetailModel.DataModel) : + KotlinBaseFragment() { - private lateinit var entrustViewModel: EntrustViewModel private lateinit var dictionaryViewModel: DictionaryViewModel override fun initData() { - entrustViewModel = ViewModelProvider(this)[EntrustViewModel::class.java] + entrustCodeView.text = data.orderCode + senderView.text = data.deliverer + contactView.text = data.delivererTel + entrustCreateView.text = data.orderTime + estimateTimeView.text = data.planDeliverTime + completedView.text = data.requireOverTime + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + remarkView.text = data.remark + + if (data.minioFileName.isNullOrBlank()) { + annexView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + annexView.text = minioFileName + val textPaint = annexView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + annexView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + annexView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + //证书 + val split = data.certifications.split(",") dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java] - - //获取委托书基本信息 - entrustViewModel.getEntrustDetail(id) - entrustViewModel.entrustDetail.observe(this) { - if (it.code == 200) { - val data = it.data - - entrustCodeView.text = data.orderCode - senderView.text = data.deliverer - contactView.text = data.delivererTel - entrustCreateView.text = data.orderTime - estimateTimeView.text = data.planDeliverTime - completedView.text = data.requireOverTime - entrustNameView.text = data.customerName - entrustContactView.text = data.customerPhone - entrustAddressView.text = data.customerAddress - remarkView.text = data.remark - - if (data.minioFileName.isNullOrBlank()) { - annexView.text = "暂无附件" - } else { - val minioFileName = data.minioFileName - - annexView.text = minioFileName - val textPaint = annexView.paint - textPaint.flags = Paint.UNDERLINE_TEXT_FLAG - textPaint.isAntiAlias = true - annexView.setTextColor(R.color.themeColor.convertColor(requireContext())) - - annexView.setOnClickListener { - minioFileName.watchAttachFile(requireContext()) - } - } - - //证书 - val split = data.certifications.split(",") - dictionaryViewModel.getDictionaryByCode("certificationClass") - dictionaryViewModel.dictionary.observe(this) { dic -> - if (dic.code == 200) { - typeRecyclerView.adapter = CertificateTypeAdapter( - requireContext(), dic.data, split - ) - } - } - - //加急 - if (data.isUrgent == "0") { - RadioButton2.isChecked = true - } else { - RadioButton1.isChecked = true - } - - //样品 - sampleRecyclerView.adapter = CustomerSampleAdapter( - requireContext(), data.customerSampleInfoList + dictionaryViewModel.getDictionaryByCode("certificationClass") + dictionaryViewModel.dictionary.observe(this) { dic -> + if (dic.code == 200) { + typeRecyclerView.adapter = CertificateTypeAdapter( + requireContext(), dic.data, split ) } } + + //加急 + if (data.isUrgent == "0") { + RadioButton2.isChecked = true + } else { + RadioButton1.isChecked = true + } + + //样品 + sampleRecyclerView.adapter = CustomerSampleAdapter( + requireContext(), data.customerSampleInfoList + ) } override fun initEvent() { @@ -89,12 +77,7 @@ override fun initLayoutView(): Int = R.layout.fragment_entrust_basic_information override fun observeRequestState() { - entrustViewModel.loadState.observe(this) { - when (it) { - LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") - else -> LoadingDialogHub.dismiss() - } - } + } override fun setupTopBarLayout() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/ActionResultModel.java b/app/src/main/java/com/casic/xz/meterage/model/ActionResultModel.java new file mode 100644 index 0000000..d680bdb --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/ActionResultModel.java @@ -0,0 +1,35 @@ +package com.casic.xz.meterage.model; + +public class ActionResultModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index 6120702..2889dfb 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -191,4 +191,13 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 接收委托书 + */ + @POST("/business/order/receive") + suspend fun acceptEntrust( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 6d7f90f..7509c4e 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -427,4 +427,16 @@ ) return api.getEntrustDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 接收委托书 + */ + suspend fun acceptEntrust(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.acceptEntrust(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustDetailActivity.kt index 21a5ae7..31be87c 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustDetailActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustDetailActivity.kt @@ -1,45 +1,95 @@ package com.casic.xz.meterage.view.home import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.adapter.SubViewPagerAdapter import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.fragment.entrust.BasicInformationFragment import com.casic.xz.meterage.fragment.entrust.LogRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EntrustViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.activity_entrust_detail.* -import kotlinx.android.synthetic.main.include_base_title.* class EntrustDetailActivity : KotlinBaseActivity() { + private lateinit var entrustId: String + private lateinit var entrustViewModel: EntrustViewModel private var fragmentPages: ArrayList = ArrayList() override fun initData() { - val entrustId = intent.getStringExtra(Constant.INTENT_PARAM)!! + entrustId = intent.getStringExtra(Constant.INTENT_PARAM)!! - fragmentPages.add(BasicInformationFragment(entrustId)) - fragmentPages.add(LogRecordFragment()) + entrustViewModel = ViewModelProvider(this)[EntrustViewModel::class.java] + //获取委托书基本信息 + entrustViewModel.getEntrustDetail(entrustId) + entrustViewModel.entrustDetail.observe(this) { + if (it.code == 200) { - val entrustPageTitles = arrayOf("基础信息", "日志记录") + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(LogRecordFragment()) - entrustViewPager.adapter = SubViewPagerAdapter( - supportFragmentManager, fragmentPages, entrustPageTitles - ) - entrustViewPager.offscreenPageLimit = fragmentPages.size - //绑定 - topTabLayout.setupWithViewPager(entrustViewPager) + val entrustPageTitles = arrayOf("基础信息", "日志记录") + + entrustViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, entrustPageTitles + ) + entrustViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(entrustViewPager) + } + } + + entrustViewModel.acceptResult.observe(this) { + if (it.code == 200) { + finish() + } + } } override fun initEvent() { leftBackView.setOnClickListener { finish() } + + //退回 + returnImageView.setOnClickListener { + + } + + //接收 + acceptImageView.setOnClickListener { + AlertControlDialog.Builder() + .setContext(this) + .setTitle("提示") + .setMessage("确定要接收该需求?") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertControlDialog.OnDialogButtonClickListener { + override fun onCancelClick() { + + } + + override fun onConfirmClick() { + entrustViewModel.acceptEntrust(entrustId) + } + }).build().show() + } } override fun initLayoutView(): Int = R.layout.activity_entrust_detail override fun observeRequestState() { - + entrustViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } } override fun setupTopBarLayout() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt index 14bbc65..15dc3d2 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt @@ -6,80 +6,68 @@ import com.casic.xz.meterage.adapter.CertificateTypeAdapter import com.casic.xz.meterage.adapter.CustomerSampleAdapter import com.casic.xz.meterage.extensions.watchAttachFile -import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.model.EntrustDetailModel import com.casic.xz.meterage.vm.DictionaryViewModel -import com.casic.xz.meterage.vm.EntrustViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.convertColor -import com.pengxh.kt.lite.vm.LoadState import kotlinx.android.synthetic.main.fragment_entrust_basic_information.* -class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { +class BasicInformationFragment(private val data: EntrustDetailModel.DataModel) : + KotlinBaseFragment() { - private lateinit var entrustViewModel: EntrustViewModel private lateinit var dictionaryViewModel: DictionaryViewModel override fun initData() { - entrustViewModel = ViewModelProvider(this)[EntrustViewModel::class.java] + entrustCodeView.text = data.orderCode + senderView.text = data.deliverer + contactView.text = data.delivererTel + entrustCreateView.text = data.orderTime + estimateTimeView.text = data.planDeliverTime + completedView.text = data.requireOverTime + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + remarkView.text = data.remark + + if (data.minioFileName.isNullOrBlank()) { + annexView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + annexView.text = minioFileName + val textPaint = annexView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + annexView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + annexView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + //证书 + val split = data.certifications.split(",") dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java] - - //获取委托书基本信息 - entrustViewModel.getEntrustDetail(id) - entrustViewModel.entrustDetail.observe(this) { - if (it.code == 200) { - val data = it.data - - entrustCodeView.text = data.orderCode - senderView.text = data.deliverer - contactView.text = data.delivererTel - entrustCreateView.text = data.orderTime - estimateTimeView.text = data.planDeliverTime - completedView.text = data.requireOverTime - entrustNameView.text = data.customerName - entrustContactView.text = data.customerPhone - entrustAddressView.text = data.customerAddress - remarkView.text = data.remark - - if (data.minioFileName.isNullOrBlank()) { - annexView.text = "暂无附件" - } else { - val minioFileName = data.minioFileName - - annexView.text = minioFileName - val textPaint = annexView.paint - textPaint.flags = Paint.UNDERLINE_TEXT_FLAG - textPaint.isAntiAlias = true - annexView.setTextColor(R.color.themeColor.convertColor(requireContext())) - - annexView.setOnClickListener { - minioFileName.watchAttachFile(requireContext()) - } - } - - //证书 - val split = data.certifications.split(",") - dictionaryViewModel.getDictionaryByCode("certificationClass") - dictionaryViewModel.dictionary.observe(this) { dic -> - if (dic.code == 200) { - typeRecyclerView.adapter = CertificateTypeAdapter( - requireContext(), dic.data, split - ) - } - } - - //加急 - if (data.isUrgent == "0") { - RadioButton2.isChecked = true - } else { - RadioButton1.isChecked = true - } - - //样品 - sampleRecyclerView.adapter = CustomerSampleAdapter( - requireContext(), data.customerSampleInfoList + dictionaryViewModel.getDictionaryByCode("certificationClass") + dictionaryViewModel.dictionary.observe(this) { dic -> + if (dic.code == 200) { + typeRecyclerView.adapter = CertificateTypeAdapter( + requireContext(), dic.data, split ) } } + + //加急 + if (data.isUrgent == "0") { + RadioButton2.isChecked = true + } else { + RadioButton1.isChecked = true + } + + //样品 + sampleRecyclerView.adapter = CustomerSampleAdapter( + requireContext(), data.customerSampleInfoList + ) } override fun initEvent() { @@ -89,12 +77,7 @@ override fun initLayoutView(): Int = R.layout.fragment_entrust_basic_information override fun observeRequestState() { - entrustViewModel.loadState.observe(this) { - when (it) { - LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") - else -> LoadingDialogHub.dismiss() - } - } + } override fun setupTopBarLayout() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/ActionResultModel.java b/app/src/main/java/com/casic/xz/meterage/model/ActionResultModel.java new file mode 100644 index 0000000..d680bdb --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/ActionResultModel.java @@ -0,0 +1,35 @@ +package com.casic.xz.meterage.model; + +public class ActionResultModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index 6120702..2889dfb 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -191,4 +191,13 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 接收委托书 + */ + @POST("/business/order/receive") + suspend fun acceptEntrust( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 6d7f90f..7509c4e 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -427,4 +427,16 @@ ) return api.getEntrustDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 接收委托书 + */ + suspend fun acceptEntrust(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.acceptEntrust(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustDetailActivity.kt index 21a5ae7..31be87c 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustDetailActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustDetailActivity.kt @@ -1,45 +1,95 @@ package com.casic.xz.meterage.view.home import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.adapter.SubViewPagerAdapter import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.fragment.entrust.BasicInformationFragment import com.casic.xz.meterage.fragment.entrust.LogRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EntrustViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.activity_entrust_detail.* -import kotlinx.android.synthetic.main.include_base_title.* class EntrustDetailActivity : KotlinBaseActivity() { + private lateinit var entrustId: String + private lateinit var entrustViewModel: EntrustViewModel private var fragmentPages: ArrayList = ArrayList() override fun initData() { - val entrustId = intent.getStringExtra(Constant.INTENT_PARAM)!! + entrustId = intent.getStringExtra(Constant.INTENT_PARAM)!! - fragmentPages.add(BasicInformationFragment(entrustId)) - fragmentPages.add(LogRecordFragment()) + entrustViewModel = ViewModelProvider(this)[EntrustViewModel::class.java] + //获取委托书基本信息 + entrustViewModel.getEntrustDetail(entrustId) + entrustViewModel.entrustDetail.observe(this) { + if (it.code == 200) { - val entrustPageTitles = arrayOf("基础信息", "日志记录") + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(LogRecordFragment()) - entrustViewPager.adapter = SubViewPagerAdapter( - supportFragmentManager, fragmentPages, entrustPageTitles - ) - entrustViewPager.offscreenPageLimit = fragmentPages.size - //绑定 - topTabLayout.setupWithViewPager(entrustViewPager) + val entrustPageTitles = arrayOf("基础信息", "日志记录") + + entrustViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, entrustPageTitles + ) + entrustViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(entrustViewPager) + } + } + + entrustViewModel.acceptResult.observe(this) { + if (it.code == 200) { + finish() + } + } } override fun initEvent() { leftBackView.setOnClickListener { finish() } + + //退回 + returnImageView.setOnClickListener { + + } + + //接收 + acceptImageView.setOnClickListener { + AlertControlDialog.Builder() + .setContext(this) + .setTitle("提示") + .setMessage("确定要接收该需求?") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertControlDialog.OnDialogButtonClickListener { + override fun onCancelClick() { + + } + + override fun onConfirmClick() { + entrustViewModel.acceptEntrust(entrustId) + } + }).build().show() + } } override fun initLayoutView(): Int = R.layout.activity_entrust_detail override fun observeRequestState() { - + entrustViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } } override fun setupTopBarLayout() { diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EntrustViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EntrustViewModel.kt index 0058475..4ddc0d2 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EntrustViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EntrustViewModel.kt @@ -4,6 +4,7 @@ import com.casic.xz.meterage.base.BaseApplication import com.casic.xz.meterage.extensions.separateResponseCode import com.casic.xz.meterage.extensions.toErrorMessage +import com.casic.xz.meterage.model.ActionResultModel import com.casic.xz.meterage.model.EntrustDetailModel import com.casic.xz.meterage.model.EntrustListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager @@ -22,6 +23,7 @@ private val gson by lazy { Gson() } val entrustList = MutableLiveData() val entrustDetail = MutableLiveData() + val acceptResult = MutableLiveData() fun getEntrustList( customerName: String, @@ -80,4 +82,22 @@ loadState.value = LoadState.Fail it.cause.toString().show(BaseApplication.get()) }) + + fun acceptEntrust(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.acceptEntrust(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + acceptResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt index 14bbc65..15dc3d2 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt @@ -6,80 +6,68 @@ import com.casic.xz.meterage.adapter.CertificateTypeAdapter import com.casic.xz.meterage.adapter.CustomerSampleAdapter import com.casic.xz.meterage.extensions.watchAttachFile -import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.model.EntrustDetailModel import com.casic.xz.meterage.vm.DictionaryViewModel -import com.casic.xz.meterage.vm.EntrustViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.convertColor -import com.pengxh.kt.lite.vm.LoadState import kotlinx.android.synthetic.main.fragment_entrust_basic_information.* -class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { +class BasicInformationFragment(private val data: EntrustDetailModel.DataModel) : + KotlinBaseFragment() { - private lateinit var entrustViewModel: EntrustViewModel private lateinit var dictionaryViewModel: DictionaryViewModel override fun initData() { - entrustViewModel = ViewModelProvider(this)[EntrustViewModel::class.java] + entrustCodeView.text = data.orderCode + senderView.text = data.deliverer + contactView.text = data.delivererTel + entrustCreateView.text = data.orderTime + estimateTimeView.text = data.planDeliverTime + completedView.text = data.requireOverTime + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + remarkView.text = data.remark + + if (data.minioFileName.isNullOrBlank()) { + annexView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + annexView.text = minioFileName + val textPaint = annexView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + annexView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + annexView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + //证书 + val split = data.certifications.split(",") dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java] - - //获取委托书基本信息 - entrustViewModel.getEntrustDetail(id) - entrustViewModel.entrustDetail.observe(this) { - if (it.code == 200) { - val data = it.data - - entrustCodeView.text = data.orderCode - senderView.text = data.deliverer - contactView.text = data.delivererTel - entrustCreateView.text = data.orderTime - estimateTimeView.text = data.planDeliverTime - completedView.text = data.requireOverTime - entrustNameView.text = data.customerName - entrustContactView.text = data.customerPhone - entrustAddressView.text = data.customerAddress - remarkView.text = data.remark - - if (data.minioFileName.isNullOrBlank()) { - annexView.text = "暂无附件" - } else { - val minioFileName = data.minioFileName - - annexView.text = minioFileName - val textPaint = annexView.paint - textPaint.flags = Paint.UNDERLINE_TEXT_FLAG - textPaint.isAntiAlias = true - annexView.setTextColor(R.color.themeColor.convertColor(requireContext())) - - annexView.setOnClickListener { - minioFileName.watchAttachFile(requireContext()) - } - } - - //证书 - val split = data.certifications.split(",") - dictionaryViewModel.getDictionaryByCode("certificationClass") - dictionaryViewModel.dictionary.observe(this) { dic -> - if (dic.code == 200) { - typeRecyclerView.adapter = CertificateTypeAdapter( - requireContext(), dic.data, split - ) - } - } - - //加急 - if (data.isUrgent == "0") { - RadioButton2.isChecked = true - } else { - RadioButton1.isChecked = true - } - - //样品 - sampleRecyclerView.adapter = CustomerSampleAdapter( - requireContext(), data.customerSampleInfoList + dictionaryViewModel.getDictionaryByCode("certificationClass") + dictionaryViewModel.dictionary.observe(this) { dic -> + if (dic.code == 200) { + typeRecyclerView.adapter = CertificateTypeAdapter( + requireContext(), dic.data, split ) } } + + //加急 + if (data.isUrgent == "0") { + RadioButton2.isChecked = true + } else { + RadioButton1.isChecked = true + } + + //样品 + sampleRecyclerView.adapter = CustomerSampleAdapter( + requireContext(), data.customerSampleInfoList + ) } override fun initEvent() { @@ -89,12 +77,7 @@ override fun initLayoutView(): Int = R.layout.fragment_entrust_basic_information override fun observeRequestState() { - entrustViewModel.loadState.observe(this) { - when (it) { - LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") - else -> LoadingDialogHub.dismiss() - } - } + } override fun setupTopBarLayout() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/ActionResultModel.java b/app/src/main/java/com/casic/xz/meterage/model/ActionResultModel.java new file mode 100644 index 0000000..d680bdb --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/ActionResultModel.java @@ -0,0 +1,35 @@ +package com.casic.xz.meterage.model; + +public class ActionResultModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index 6120702..2889dfb 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -191,4 +191,13 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 接收委托书 + */ + @POST("/business/order/receive") + suspend fun acceptEntrust( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 6d7f90f..7509c4e 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -427,4 +427,16 @@ ) return api.getEntrustDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 接收委托书 + */ + suspend fun acceptEntrust(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.acceptEntrust(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustDetailActivity.kt index 21a5ae7..31be87c 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustDetailActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustDetailActivity.kt @@ -1,45 +1,95 @@ package com.casic.xz.meterage.view.home import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.adapter.SubViewPagerAdapter import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.fragment.entrust.BasicInformationFragment import com.casic.xz.meterage.fragment.entrust.LogRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EntrustViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.activity_entrust_detail.* -import kotlinx.android.synthetic.main.include_base_title.* class EntrustDetailActivity : KotlinBaseActivity() { + private lateinit var entrustId: String + private lateinit var entrustViewModel: EntrustViewModel private var fragmentPages: ArrayList = ArrayList() override fun initData() { - val entrustId = intent.getStringExtra(Constant.INTENT_PARAM)!! + entrustId = intent.getStringExtra(Constant.INTENT_PARAM)!! - fragmentPages.add(BasicInformationFragment(entrustId)) - fragmentPages.add(LogRecordFragment()) + entrustViewModel = ViewModelProvider(this)[EntrustViewModel::class.java] + //获取委托书基本信息 + entrustViewModel.getEntrustDetail(entrustId) + entrustViewModel.entrustDetail.observe(this) { + if (it.code == 200) { - val entrustPageTitles = arrayOf("基础信息", "日志记录") + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(LogRecordFragment()) - entrustViewPager.adapter = SubViewPagerAdapter( - supportFragmentManager, fragmentPages, entrustPageTitles - ) - entrustViewPager.offscreenPageLimit = fragmentPages.size - //绑定 - topTabLayout.setupWithViewPager(entrustViewPager) + val entrustPageTitles = arrayOf("基础信息", "日志记录") + + entrustViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, entrustPageTitles + ) + entrustViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(entrustViewPager) + } + } + + entrustViewModel.acceptResult.observe(this) { + if (it.code == 200) { + finish() + } + } } override fun initEvent() { leftBackView.setOnClickListener { finish() } + + //退回 + returnImageView.setOnClickListener { + + } + + //接收 + acceptImageView.setOnClickListener { + AlertControlDialog.Builder() + .setContext(this) + .setTitle("提示") + .setMessage("确定要接收该需求?") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertControlDialog.OnDialogButtonClickListener { + override fun onCancelClick() { + + } + + override fun onConfirmClick() { + entrustViewModel.acceptEntrust(entrustId) + } + }).build().show() + } } override fun initLayoutView(): Int = R.layout.activity_entrust_detail override fun observeRequestState() { - + entrustViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } } override fun setupTopBarLayout() { diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EntrustViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EntrustViewModel.kt index 0058475..4ddc0d2 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EntrustViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EntrustViewModel.kt @@ -4,6 +4,7 @@ import com.casic.xz.meterage.base.BaseApplication import com.casic.xz.meterage.extensions.separateResponseCode import com.casic.xz.meterage.extensions.toErrorMessage +import com.casic.xz.meterage.model.ActionResultModel import com.casic.xz.meterage.model.EntrustDetailModel import com.casic.xz.meterage.model.EntrustListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager @@ -22,6 +23,7 @@ private val gson by lazy { Gson() } val entrustList = MutableLiveData() val entrustDetail = MutableLiveData() + val acceptResult = MutableLiveData() fun getEntrustList( customerName: String, @@ -80,4 +82,22 @@ loadState.value = LoadState.Fail it.cause.toString().show(BaseApplication.get()) }) + + fun acceptEntrust(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.acceptEntrust(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + acceptResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) } \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_selected.xml b/app/src/main/res/drawable/ic_selected.xml new file mode 100644 index 0000000..f3e52ea --- /dev/null +++ b/app/src/main/res/drawable/ic_selected.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt index 14bbc65..15dc3d2 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt @@ -6,80 +6,68 @@ import com.casic.xz.meterage.adapter.CertificateTypeAdapter import com.casic.xz.meterage.adapter.CustomerSampleAdapter import com.casic.xz.meterage.extensions.watchAttachFile -import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.model.EntrustDetailModel import com.casic.xz.meterage.vm.DictionaryViewModel -import com.casic.xz.meterage.vm.EntrustViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.convertColor -import com.pengxh.kt.lite.vm.LoadState import kotlinx.android.synthetic.main.fragment_entrust_basic_information.* -class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { +class BasicInformationFragment(private val data: EntrustDetailModel.DataModel) : + KotlinBaseFragment() { - private lateinit var entrustViewModel: EntrustViewModel private lateinit var dictionaryViewModel: DictionaryViewModel override fun initData() { - entrustViewModel = ViewModelProvider(this)[EntrustViewModel::class.java] + entrustCodeView.text = data.orderCode + senderView.text = data.deliverer + contactView.text = data.delivererTel + entrustCreateView.text = data.orderTime + estimateTimeView.text = data.planDeliverTime + completedView.text = data.requireOverTime + entrustNameView.text = data.customerName + entrustContactView.text = data.customerPhone + entrustAddressView.text = data.customerAddress + remarkView.text = data.remark + + if (data.minioFileName.isNullOrBlank()) { + annexView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName + + annexView.text = minioFileName + val textPaint = annexView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + annexView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + annexView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) + } + } + + //证书 + val split = data.certifications.split(",") dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java] - - //获取委托书基本信息 - entrustViewModel.getEntrustDetail(id) - entrustViewModel.entrustDetail.observe(this) { - if (it.code == 200) { - val data = it.data - - entrustCodeView.text = data.orderCode - senderView.text = data.deliverer - contactView.text = data.delivererTel - entrustCreateView.text = data.orderTime - estimateTimeView.text = data.planDeliverTime - completedView.text = data.requireOverTime - entrustNameView.text = data.customerName - entrustContactView.text = data.customerPhone - entrustAddressView.text = data.customerAddress - remarkView.text = data.remark - - if (data.minioFileName.isNullOrBlank()) { - annexView.text = "暂无附件" - } else { - val minioFileName = data.minioFileName - - annexView.text = minioFileName - val textPaint = annexView.paint - textPaint.flags = Paint.UNDERLINE_TEXT_FLAG - textPaint.isAntiAlias = true - annexView.setTextColor(R.color.themeColor.convertColor(requireContext())) - - annexView.setOnClickListener { - minioFileName.watchAttachFile(requireContext()) - } - } - - //证书 - val split = data.certifications.split(",") - dictionaryViewModel.getDictionaryByCode("certificationClass") - dictionaryViewModel.dictionary.observe(this) { dic -> - if (dic.code == 200) { - typeRecyclerView.adapter = CertificateTypeAdapter( - requireContext(), dic.data, split - ) - } - } - - //加急 - if (data.isUrgent == "0") { - RadioButton2.isChecked = true - } else { - RadioButton1.isChecked = true - } - - //样品 - sampleRecyclerView.adapter = CustomerSampleAdapter( - requireContext(), data.customerSampleInfoList + dictionaryViewModel.getDictionaryByCode("certificationClass") + dictionaryViewModel.dictionary.observe(this) { dic -> + if (dic.code == 200) { + typeRecyclerView.adapter = CertificateTypeAdapter( + requireContext(), dic.data, split ) } } + + //加急 + if (data.isUrgent == "0") { + RadioButton2.isChecked = true + } else { + RadioButton1.isChecked = true + } + + //样品 + sampleRecyclerView.adapter = CustomerSampleAdapter( + requireContext(), data.customerSampleInfoList + ) } override fun initEvent() { @@ -89,12 +77,7 @@ override fun initLayoutView(): Int = R.layout.fragment_entrust_basic_information override fun observeRequestState() { - entrustViewModel.loadState.observe(this) { - when (it) { - LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") - else -> LoadingDialogHub.dismiss() - } - } + } override fun setupTopBarLayout() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/ActionResultModel.java b/app/src/main/java/com/casic/xz/meterage/model/ActionResultModel.java new file mode 100644 index 0000000..d680bdb --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/ActionResultModel.java @@ -0,0 +1,35 @@ +package com.casic.xz.meterage.model; + +public class ActionResultModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index 6120702..2889dfb 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -191,4 +191,13 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 接收委托书 + */ + @POST("/business/order/receive") + suspend fun acceptEntrust( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 6d7f90f..7509c4e 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -427,4 +427,16 @@ ) return api.getEntrustDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 接收委托书 + */ + suspend fun acceptEntrust(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.acceptEntrust(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustDetailActivity.kt index 21a5ae7..31be87c 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustDetailActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustDetailActivity.kt @@ -1,45 +1,95 @@ package com.casic.xz.meterage.view.home import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.adapter.SubViewPagerAdapter import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.fragment.entrust.BasicInformationFragment import com.casic.xz.meterage.fragment.entrust.LogRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EntrustViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.activity_entrust_detail.* -import kotlinx.android.synthetic.main.include_base_title.* class EntrustDetailActivity : KotlinBaseActivity() { + private lateinit var entrustId: String + private lateinit var entrustViewModel: EntrustViewModel private var fragmentPages: ArrayList = ArrayList() override fun initData() { - val entrustId = intent.getStringExtra(Constant.INTENT_PARAM)!! + entrustId = intent.getStringExtra(Constant.INTENT_PARAM)!! - fragmentPages.add(BasicInformationFragment(entrustId)) - fragmentPages.add(LogRecordFragment()) + entrustViewModel = ViewModelProvider(this)[EntrustViewModel::class.java] + //获取委托书基本信息 + entrustViewModel.getEntrustDetail(entrustId) + entrustViewModel.entrustDetail.observe(this) { + if (it.code == 200) { - val entrustPageTitles = arrayOf("基础信息", "日志记录") + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(LogRecordFragment()) - entrustViewPager.adapter = SubViewPagerAdapter( - supportFragmentManager, fragmentPages, entrustPageTitles - ) - entrustViewPager.offscreenPageLimit = fragmentPages.size - //绑定 - topTabLayout.setupWithViewPager(entrustViewPager) + val entrustPageTitles = arrayOf("基础信息", "日志记录") + + entrustViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, entrustPageTitles + ) + entrustViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(entrustViewPager) + } + } + + entrustViewModel.acceptResult.observe(this) { + if (it.code == 200) { + finish() + } + } } override fun initEvent() { leftBackView.setOnClickListener { finish() } + + //退回 + returnImageView.setOnClickListener { + + } + + //接收 + acceptImageView.setOnClickListener { + AlertControlDialog.Builder() + .setContext(this) + .setTitle("提示") + .setMessage("确定要接收该需求?") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertControlDialog.OnDialogButtonClickListener { + override fun onCancelClick() { + + } + + override fun onConfirmClick() { + entrustViewModel.acceptEntrust(entrustId) + } + }).build().show() + } } override fun initLayoutView(): Int = R.layout.activity_entrust_detail override fun observeRequestState() { - + entrustViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } } override fun setupTopBarLayout() { diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EntrustViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EntrustViewModel.kt index 0058475..4ddc0d2 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EntrustViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EntrustViewModel.kt @@ -4,6 +4,7 @@ import com.casic.xz.meterage.base.BaseApplication import com.casic.xz.meterage.extensions.separateResponseCode import com.casic.xz.meterage.extensions.toErrorMessage +import com.casic.xz.meterage.model.ActionResultModel import com.casic.xz.meterage.model.EntrustDetailModel import com.casic.xz.meterage.model.EntrustListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager @@ -22,6 +23,7 @@ private val gson by lazy { Gson() } val entrustList = MutableLiveData() val entrustDetail = MutableLiveData() + val acceptResult = MutableLiveData() fun getEntrustList( customerName: String, @@ -80,4 +82,22 @@ loadState.value = LoadState.Fail it.cause.toString().show(BaseApplication.get()) }) + + fun acceptEntrust(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.acceptEntrust(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + acceptResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) } \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_selected.xml b/app/src/main/res/drawable/ic_selected.xml new file mode 100644 index 0000000..f3e52ea --- /dev/null +++ b/app/src/main/res/drawable/ic_selected.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout/activity_entrust.xml b/app/src/main/res/layout/activity_entrust.xml index 68d435c..55b22da 100644 --- a/app/src/main/res/layout/activity_entrust.xml +++ b/app/src/main/res/layout/activity_entrust.xml @@ -21,11 +21,9 @@ - if (dic.code == 200) { - typeRecyclerView.adapter = CertificateTypeAdapter( - requireContext(), dic.data, split - ) - } - } - - //加急 - if (data.isUrgent == "0") { - RadioButton2.isChecked = true - } else { - RadioButton1.isChecked = true - } - - //样品 - sampleRecyclerView.adapter = CustomerSampleAdapter( - requireContext(), data.customerSampleInfoList + dictionaryViewModel.getDictionaryByCode("certificationClass") + dictionaryViewModel.dictionary.observe(this) { dic -> + if (dic.code == 200) { + typeRecyclerView.adapter = CertificateTypeAdapter( + requireContext(), dic.data, split ) } } + + //加急 + if (data.isUrgent == "0") { + RadioButton2.isChecked = true + } else { + RadioButton1.isChecked = true + } + + //样品 + sampleRecyclerView.adapter = CustomerSampleAdapter( + requireContext(), data.customerSampleInfoList + ) } override fun initEvent() { @@ -89,12 +77,7 @@ override fun initLayoutView(): Int = R.layout.fragment_entrust_basic_information override fun observeRequestState() { - entrustViewModel.loadState.observe(this) { - when (it) { - LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") - else -> LoadingDialogHub.dismiss() - } - } + } override fun setupTopBarLayout() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/ActionResultModel.java b/app/src/main/java/com/casic/xz/meterage/model/ActionResultModel.java new file mode 100644 index 0000000..d680bdb --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/ActionResultModel.java @@ -0,0 +1,35 @@ +package com.casic.xz.meterage.model; + +public class ActionResultModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index 6120702..2889dfb 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -191,4 +191,13 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 接收委托书 + */ + @POST("/business/order/receive") + suspend fun acceptEntrust( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 6d7f90f..7509c4e 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -427,4 +427,16 @@ ) return api.getEntrustDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 接收委托书 + */ + suspend fun acceptEntrust(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.acceptEntrust(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustDetailActivity.kt index 21a5ae7..31be87c 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustDetailActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustDetailActivity.kt @@ -1,45 +1,95 @@ package com.casic.xz.meterage.view.home import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.adapter.SubViewPagerAdapter import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.fragment.entrust.BasicInformationFragment import com.casic.xz.meterage.fragment.entrust.LogRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EntrustViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.activity_entrust_detail.* -import kotlinx.android.synthetic.main.include_base_title.* class EntrustDetailActivity : KotlinBaseActivity() { + private lateinit var entrustId: String + private lateinit var entrustViewModel: EntrustViewModel private var fragmentPages: ArrayList = ArrayList() override fun initData() { - val entrustId = intent.getStringExtra(Constant.INTENT_PARAM)!! + entrustId = intent.getStringExtra(Constant.INTENT_PARAM)!! - fragmentPages.add(BasicInformationFragment(entrustId)) - fragmentPages.add(LogRecordFragment()) + entrustViewModel = ViewModelProvider(this)[EntrustViewModel::class.java] + //获取委托书基本信息 + entrustViewModel.getEntrustDetail(entrustId) + entrustViewModel.entrustDetail.observe(this) { + if (it.code == 200) { - val entrustPageTitles = arrayOf("基础信息", "日志记录") + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(LogRecordFragment()) - entrustViewPager.adapter = SubViewPagerAdapter( - supportFragmentManager, fragmentPages, entrustPageTitles - ) - entrustViewPager.offscreenPageLimit = fragmentPages.size - //绑定 - topTabLayout.setupWithViewPager(entrustViewPager) + val entrustPageTitles = arrayOf("基础信息", "日志记录") + + entrustViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, entrustPageTitles + ) + entrustViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(entrustViewPager) + } + } + + entrustViewModel.acceptResult.observe(this) { + if (it.code == 200) { + finish() + } + } } override fun initEvent() { leftBackView.setOnClickListener { finish() } + + //退回 + returnImageView.setOnClickListener { + + } + + //接收 + acceptImageView.setOnClickListener { + AlertControlDialog.Builder() + .setContext(this) + .setTitle("提示") + .setMessage("确定要接收该需求?") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertControlDialog.OnDialogButtonClickListener { + override fun onCancelClick() { + + } + + override fun onConfirmClick() { + entrustViewModel.acceptEntrust(entrustId) + } + }).build().show() + } } override fun initLayoutView(): Int = R.layout.activity_entrust_detail override fun observeRequestState() { - + entrustViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } } override fun setupTopBarLayout() { diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EntrustViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EntrustViewModel.kt index 0058475..4ddc0d2 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EntrustViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EntrustViewModel.kt @@ -4,6 +4,7 @@ import com.casic.xz.meterage.base.BaseApplication import com.casic.xz.meterage.extensions.separateResponseCode import com.casic.xz.meterage.extensions.toErrorMessage +import com.casic.xz.meterage.model.ActionResultModel import com.casic.xz.meterage.model.EntrustDetailModel import com.casic.xz.meterage.model.EntrustListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager @@ -22,6 +23,7 @@ private val gson by lazy { Gson() } val entrustList = MutableLiveData() val entrustDetail = MutableLiveData() + val acceptResult = MutableLiveData() fun getEntrustList( customerName: String, @@ -80,4 +82,22 @@ loadState.value = LoadState.Fail it.cause.toString().show(BaseApplication.get()) }) + + fun acceptEntrust(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.acceptEntrust(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + acceptResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) } \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_selected.xml b/app/src/main/res/drawable/ic_selected.xml new file mode 100644 index 0000000..f3e52ea --- /dev/null +++ b/app/src/main/res/drawable/ic_selected.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout/activity_entrust.xml b/app/src/main/res/layout/activity_entrust.xml index 68d435c..55b22da 100644 --- a/app/src/main/res/layout/activity_entrust.xml +++ b/app/src/main/res/layout/activity_entrust.xml @@ -21,11 +21,9 @@ - + + + + + + + + + + - if (dic.code == 200) { - typeRecyclerView.adapter = CertificateTypeAdapter( - requireContext(), dic.data, split - ) - } - } - - //加急 - if (data.isUrgent == "0") { - RadioButton2.isChecked = true - } else { - RadioButton1.isChecked = true - } - - //样品 - sampleRecyclerView.adapter = CustomerSampleAdapter( - requireContext(), data.customerSampleInfoList + dictionaryViewModel.getDictionaryByCode("certificationClass") + dictionaryViewModel.dictionary.observe(this) { dic -> + if (dic.code == 200) { + typeRecyclerView.adapter = CertificateTypeAdapter( + requireContext(), dic.data, split ) } } + + //加急 + if (data.isUrgent == "0") { + RadioButton2.isChecked = true + } else { + RadioButton1.isChecked = true + } + + //样品 + sampleRecyclerView.adapter = CustomerSampleAdapter( + requireContext(), data.customerSampleInfoList + ) } override fun initEvent() { @@ -89,12 +77,7 @@ override fun initLayoutView(): Int = R.layout.fragment_entrust_basic_information override fun observeRequestState() { - entrustViewModel.loadState.observe(this) { - when (it) { - LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") - else -> LoadingDialogHub.dismiss() - } - } + } override fun setupTopBarLayout() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/ActionResultModel.java b/app/src/main/java/com/casic/xz/meterage/model/ActionResultModel.java new file mode 100644 index 0000000..d680bdb --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/ActionResultModel.java @@ -0,0 +1,35 @@ +package com.casic.xz.meterage.model; + +public class ActionResultModel { + + private int code; + private DataModel data; + private String message; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public static class DataModel { + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index 6120702..2889dfb 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -191,4 +191,13 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 接收委托书 + */ + @POST("/business/order/receive") + suspend fun acceptEntrust( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 6d7f90f..7509c4e 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -427,4 +427,16 @@ ) return api.getEntrustDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 接收委托书 + */ + suspend fun acceptEntrust(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.acceptEntrust(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustDetailActivity.kt index 21a5ae7..31be87c 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustDetailActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustDetailActivity.kt @@ -1,45 +1,95 @@ package com.casic.xz.meterage.view.home import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.adapter.SubViewPagerAdapter import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.fragment.entrust.BasicInformationFragment import com.casic.xz.meterage.fragment.entrust.LogRecordFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EntrustViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.activity_entrust_detail.* -import kotlinx.android.synthetic.main.include_base_title.* class EntrustDetailActivity : KotlinBaseActivity() { + private lateinit var entrustId: String + private lateinit var entrustViewModel: EntrustViewModel private var fragmentPages: ArrayList = ArrayList() override fun initData() { - val entrustId = intent.getStringExtra(Constant.INTENT_PARAM)!! + entrustId = intent.getStringExtra(Constant.INTENT_PARAM)!! - fragmentPages.add(BasicInformationFragment(entrustId)) - fragmentPages.add(LogRecordFragment()) + entrustViewModel = ViewModelProvider(this)[EntrustViewModel::class.java] + //获取委托书基本信息 + entrustViewModel.getEntrustDetail(entrustId) + entrustViewModel.entrustDetail.observe(this) { + if (it.code == 200) { - val entrustPageTitles = arrayOf("基础信息", "日志记录") + fragmentPages.add(BasicInformationFragment(it.data)) + fragmentPages.add(LogRecordFragment()) - entrustViewPager.adapter = SubViewPagerAdapter( - supportFragmentManager, fragmentPages, entrustPageTitles - ) - entrustViewPager.offscreenPageLimit = fragmentPages.size - //绑定 - topTabLayout.setupWithViewPager(entrustViewPager) + val entrustPageTitles = arrayOf("基础信息", "日志记录") + + entrustViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, entrustPageTitles + ) + entrustViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(entrustViewPager) + } + } + + entrustViewModel.acceptResult.observe(this) { + if (it.code == 200) { + finish() + } + } } override fun initEvent() { leftBackView.setOnClickListener { finish() } + + //退回 + returnImageView.setOnClickListener { + + } + + //接收 + acceptImageView.setOnClickListener { + AlertControlDialog.Builder() + .setContext(this) + .setTitle("提示") + .setMessage("确定要接收该需求?") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertControlDialog.OnDialogButtonClickListener { + override fun onCancelClick() { + + } + + override fun onConfirmClick() { + entrustViewModel.acceptEntrust(entrustId) + } + }).build().show() + } } override fun initLayoutView(): Int = R.layout.activity_entrust_detail override fun observeRequestState() { - + entrustViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } } override fun setupTopBarLayout() { diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EntrustViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EntrustViewModel.kt index 0058475..4ddc0d2 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EntrustViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EntrustViewModel.kt @@ -4,6 +4,7 @@ import com.casic.xz.meterage.base.BaseApplication import com.casic.xz.meterage.extensions.separateResponseCode import com.casic.xz.meterage.extensions.toErrorMessage +import com.casic.xz.meterage.model.ActionResultModel import com.casic.xz.meterage.model.EntrustDetailModel import com.casic.xz.meterage.model.EntrustListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager @@ -22,6 +23,7 @@ private val gson by lazy { Gson() } val entrustList = MutableLiveData() val entrustDetail = MutableLiveData() + val acceptResult = MutableLiveData() fun getEntrustList( customerName: String, @@ -80,4 +82,22 @@ loadState.value = LoadState.Fail it.cause.toString().show(BaseApplication.get()) }) + + fun acceptEntrust(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.acceptEntrust(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + acceptResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + }) } \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_selected.xml b/app/src/main/res/drawable/ic_selected.xml new file mode 100644 index 0000000..f3e52ea --- /dev/null +++ b/app/src/main/res/drawable/ic_selected.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout/activity_entrust.xml b/app/src/main/res/layout/activity_entrust.xml index 68d435c..55b22da 100644 --- a/app/src/main/res/layout/activity_entrust.xml +++ b/app/src/main/res/layout/activity_entrust.xml @@ -21,11 +21,9 @@ - + + + + + + + + + + @@ -89,7 +89,7 @@ android:layout_height="105dp" android:layout_marginHorizontal="@dimen/dp_10" android:layout_marginVertical="@dimen/dp_5" - android:background="@drawable/bg_solid_layout_white_radius_10" + android:background="@drawable/bg_solid_layout_white_radius_5" android:gravity="center_vertical" android:orientation="vertical" android:padding="@dimen/dp_5"> @@ -163,7 +163,7 @@ android:layout_height="wrap_content" android:layout_marginHorizontal="@dimen/dp_10" android:layout_marginVertical="@dimen/dp_5" - android:background="@drawable/bg_solid_layout_white_radius_10" + android:background="@drawable/bg_solid_layout_white_radius_5" android:gravity="center_vertical" android:orientation="vertical" android:padding="@dimen/dp_5"> @@ -181,7 +181,7 @@ android:layout_marginHorizontal="@dimen/dp_10" android:layout_marginTop="@dimen/dp_5" android:layout_marginBottom="@dimen/dp_10" - android:background="@drawable/bg_solid_layout_white_radius_10" + android:background="@drawable/bg_solid_layout_white_radius_5" android:gravity="center_vertical" android:orientation="horizontal" android:padding="@dimen/dp_5">