diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/QMUIEmptyView.kt b/app/src/main/java/com/casic/xz/meterage/extensions/QMUIEmptyView.kt index 533d3a7..0276490 100644 --- a/app/src/main/java/com/casic/xz/meterage/extensions/QMUIEmptyView.kt +++ b/app/src/main/java/com/casic/xz/meterage/extensions/QMUIEmptyView.kt @@ -3,8 +3,8 @@ import android.view.View import com.qmuiteam.qmui.widget.QMUIEmptyView -fun QMUIEmptyView.showEmptyPage(onButtonClickListener: View.OnClickListener) { - this.show(false, "抱歉,无法查询到相关记录", null, "重试", onButtonClickListener) +fun QMUIEmptyView.showEmptyPage(title: String) { + this.show(false, title, null, null, null) } fun QMUIEmptyView.showEmptyPage(title: String, onButtonClickListener: View.OnClickListener) { diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/QMUIEmptyView.kt b/app/src/main/java/com/casic/xz/meterage/extensions/QMUIEmptyView.kt index 533d3a7..0276490 100644 --- a/app/src/main/java/com/casic/xz/meterage/extensions/QMUIEmptyView.kt +++ b/app/src/main/java/com/casic/xz/meterage/extensions/QMUIEmptyView.kt @@ -3,8 +3,8 @@ import android.view.View import com.qmuiteam.qmui.widget.QMUIEmptyView -fun QMUIEmptyView.showEmptyPage(onButtonClickListener: View.OnClickListener) { - this.show(false, "抱歉,无法查询到相关记录", null, "重试", onButtonClickListener) +fun QMUIEmptyView.showEmptyPage(title: String) { + this.show(false, title, null, null, null) } fun QMUIEmptyView.showEmptyPage(title: String, onButtonClickListener: View.OnClickListener) { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/BasicInformationFragment.kt index c9ce08a..631675c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/BasicInformationFragment.kt @@ -2,58 +2,45 @@ import android.graphics.Color import android.graphics.Paint -import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.watchAttachFile -import com.casic.xz.meterage.utils.LoadingDialogHub -import com.casic.xz.meterage.vm.ContractInvoiceViewModel +import com.casic.xz.meterage.model.ContractDetailModel import com.pengxh.kt.lite.base.KotlinBaseFragment -import com.pengxh.kt.lite.vm.LoadState import kotlinx.android.synthetic.main.fragment_contract_basic_information.* -class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { - - private lateinit var constructViewModel: ContractInvoiceViewModel +class BasicInformationFragment(private val data: ContractDetailModel.DataModel) : + KotlinBaseFragment() { override fun initData() { - constructViewModel = ViewModelProvider(this)[ContractInvoiceViewModel::class.java] - constructViewModel.getContractDetail(id) - constructViewModel.contractDetail.observe(this) { - if (it.code == 200) { - val data = it.data!! + contractCodeView.text = data.agreementNo + contractNameView.text = data.agreementName + contractTypeView.text = data.agreementTypeName + creatorView.text = data.createUserName + deptNameView.text = data.deptName + estimateDateView.text = data.estimateSignDate + contractAmountView.text = "¥ ${data.agreementAmount.toBigDecimal() / 100.toBigDecimal()}" + contractSourceView.text = data.agreementSourceName + contractStartView.text = data.agreementStartDate.formatToYearMonthDay() + contractEndView.text = data.agreementEndDate.formatToYearMonthDay() + firstPartView.text = data.firstParty + firstPersonView.text = data.director + contractContentView.text = data.agreementImportantContent + remarkView.text = data.remark - contractCodeView.text = data.agreementNo - contractNameView.text = data.agreementName - contractTypeView.text = data.agreementTypeName - creatorView.text = data.createUserName - deptNameView.text = data.deptName - estimateDateView.text = data.estimateSignDate - contractAmountView.text = - "¥ ${data.agreementAmount.toBigDecimal() / 100.toBigDecimal()}" - contractSourceView.text = data.agreementSourceName - contractStartView.text = data.agreementStartDate.formatToYearMonthDay() - contractEndView.text = data.agreementEndDate.formatToYearMonthDay() - firstPartView.text = data.firstParty - firstPersonView.text = data.director - contractContentView.text = data.agreementImportantContent - remarkView.text = data.remark + if (data.minioFileName.isNullOrBlank()) { + annexView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName - 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(Color.BLUE) - annexView.text = minioFileName - val textPaint = annexView.paint - textPaint.flags = Paint.UNDERLINE_TEXT_FLAG - textPaint.isAntiAlias = true - annexView.setTextColor(Color.BLUE) - - annexView.setOnClickListener { - minioFileName.watchAttachFile(requireContext()) - } - } + annexView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) } } } @@ -65,12 +52,7 @@ override fun initLayoutView(): Int = R.layout.fragment_contract_basic_information override fun observeRequestState() { - constructViewModel.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/extensions/QMUIEmptyView.kt b/app/src/main/java/com/casic/xz/meterage/extensions/QMUIEmptyView.kt index 533d3a7..0276490 100644 --- a/app/src/main/java/com/casic/xz/meterage/extensions/QMUIEmptyView.kt +++ b/app/src/main/java/com/casic/xz/meterage/extensions/QMUIEmptyView.kt @@ -3,8 +3,8 @@ import android.view.View import com.qmuiteam.qmui.widget.QMUIEmptyView -fun QMUIEmptyView.showEmptyPage(onButtonClickListener: View.OnClickListener) { - this.show(false, "抱歉,无法查询到相关记录", null, "重试", onButtonClickListener) +fun QMUIEmptyView.showEmptyPage(title: String) { + this.show(false, title, null, null, null) } fun QMUIEmptyView.showEmptyPage(title: String, onButtonClickListener: View.OnClickListener) { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/BasicInformationFragment.kt index c9ce08a..631675c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/BasicInformationFragment.kt @@ -2,58 +2,45 @@ import android.graphics.Color import android.graphics.Paint -import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.watchAttachFile -import com.casic.xz.meterage.utils.LoadingDialogHub -import com.casic.xz.meterage.vm.ContractInvoiceViewModel +import com.casic.xz.meterage.model.ContractDetailModel import com.pengxh.kt.lite.base.KotlinBaseFragment -import com.pengxh.kt.lite.vm.LoadState import kotlinx.android.synthetic.main.fragment_contract_basic_information.* -class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { - - private lateinit var constructViewModel: ContractInvoiceViewModel +class BasicInformationFragment(private val data: ContractDetailModel.DataModel) : + KotlinBaseFragment() { override fun initData() { - constructViewModel = ViewModelProvider(this)[ContractInvoiceViewModel::class.java] - constructViewModel.getContractDetail(id) - constructViewModel.contractDetail.observe(this) { - if (it.code == 200) { - val data = it.data!! + contractCodeView.text = data.agreementNo + contractNameView.text = data.agreementName + contractTypeView.text = data.agreementTypeName + creatorView.text = data.createUserName + deptNameView.text = data.deptName + estimateDateView.text = data.estimateSignDate + contractAmountView.text = "¥ ${data.agreementAmount.toBigDecimal() / 100.toBigDecimal()}" + contractSourceView.text = data.agreementSourceName + contractStartView.text = data.agreementStartDate.formatToYearMonthDay() + contractEndView.text = data.agreementEndDate.formatToYearMonthDay() + firstPartView.text = data.firstParty + firstPersonView.text = data.director + contractContentView.text = data.agreementImportantContent + remarkView.text = data.remark - contractCodeView.text = data.agreementNo - contractNameView.text = data.agreementName - contractTypeView.text = data.agreementTypeName - creatorView.text = data.createUserName - deptNameView.text = data.deptName - estimateDateView.text = data.estimateSignDate - contractAmountView.text = - "¥ ${data.agreementAmount.toBigDecimal() / 100.toBigDecimal()}" - contractSourceView.text = data.agreementSourceName - contractStartView.text = data.agreementStartDate.formatToYearMonthDay() - contractEndView.text = data.agreementEndDate.formatToYearMonthDay() - firstPartView.text = data.firstParty - firstPersonView.text = data.director - contractContentView.text = data.agreementImportantContent - remarkView.text = data.remark + if (data.minioFileName.isNullOrBlank()) { + annexView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName - 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(Color.BLUE) - annexView.text = minioFileName - val textPaint = annexView.paint - textPaint.flags = Paint.UNDERLINE_TEXT_FLAG - textPaint.isAntiAlias = true - annexView.setTextColor(Color.BLUE) - - annexView.setOnClickListener { - minioFileName.watchAttachFile(requireContext()) - } - } + annexView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) } } } @@ -65,12 +52,7 @@ override fun initLayoutView(): Int = R.layout.fragment_contract_basic_information override fun observeRequestState() { - constructViewModel.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/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 435ec86..b1b842f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -1,9 +1,11 @@ package com.casic.xz.meterage.fragment.contract import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.ContractDetailModel import com.pengxh.kt.lite.base.KotlinBaseFragment -class CollectionFragment : KotlinBaseFragment() { +class CollectionFragment(private val paymentModels: List) : + KotlinBaseFragment() { override fun initData() { diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/QMUIEmptyView.kt b/app/src/main/java/com/casic/xz/meterage/extensions/QMUIEmptyView.kt index 533d3a7..0276490 100644 --- a/app/src/main/java/com/casic/xz/meterage/extensions/QMUIEmptyView.kt +++ b/app/src/main/java/com/casic/xz/meterage/extensions/QMUIEmptyView.kt @@ -3,8 +3,8 @@ import android.view.View import com.qmuiteam.qmui.widget.QMUIEmptyView -fun QMUIEmptyView.showEmptyPage(onButtonClickListener: View.OnClickListener) { - this.show(false, "抱歉,无法查询到相关记录", null, "重试", onButtonClickListener) +fun QMUIEmptyView.showEmptyPage(title: String) { + this.show(false, title, null, null, null) } fun QMUIEmptyView.showEmptyPage(title: String, onButtonClickListener: View.OnClickListener) { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/BasicInformationFragment.kt index c9ce08a..631675c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/BasicInformationFragment.kt @@ -2,58 +2,45 @@ import android.graphics.Color import android.graphics.Paint -import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.watchAttachFile -import com.casic.xz.meterage.utils.LoadingDialogHub -import com.casic.xz.meterage.vm.ContractInvoiceViewModel +import com.casic.xz.meterage.model.ContractDetailModel import com.pengxh.kt.lite.base.KotlinBaseFragment -import com.pengxh.kt.lite.vm.LoadState import kotlinx.android.synthetic.main.fragment_contract_basic_information.* -class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { - - private lateinit var constructViewModel: ContractInvoiceViewModel +class BasicInformationFragment(private val data: ContractDetailModel.DataModel) : + KotlinBaseFragment() { override fun initData() { - constructViewModel = ViewModelProvider(this)[ContractInvoiceViewModel::class.java] - constructViewModel.getContractDetail(id) - constructViewModel.contractDetail.observe(this) { - if (it.code == 200) { - val data = it.data!! + contractCodeView.text = data.agreementNo + contractNameView.text = data.agreementName + contractTypeView.text = data.agreementTypeName + creatorView.text = data.createUserName + deptNameView.text = data.deptName + estimateDateView.text = data.estimateSignDate + contractAmountView.text = "¥ ${data.agreementAmount.toBigDecimal() / 100.toBigDecimal()}" + contractSourceView.text = data.agreementSourceName + contractStartView.text = data.agreementStartDate.formatToYearMonthDay() + contractEndView.text = data.agreementEndDate.formatToYearMonthDay() + firstPartView.text = data.firstParty + firstPersonView.text = data.director + contractContentView.text = data.agreementImportantContent + remarkView.text = data.remark - contractCodeView.text = data.agreementNo - contractNameView.text = data.agreementName - contractTypeView.text = data.agreementTypeName - creatorView.text = data.createUserName - deptNameView.text = data.deptName - estimateDateView.text = data.estimateSignDate - contractAmountView.text = - "¥ ${data.agreementAmount.toBigDecimal() / 100.toBigDecimal()}" - contractSourceView.text = data.agreementSourceName - contractStartView.text = data.agreementStartDate.formatToYearMonthDay() - contractEndView.text = data.agreementEndDate.formatToYearMonthDay() - firstPartView.text = data.firstParty - firstPersonView.text = data.director - contractContentView.text = data.agreementImportantContent - remarkView.text = data.remark + if (data.minioFileName.isNullOrBlank()) { + annexView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName - 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(Color.BLUE) - annexView.text = minioFileName - val textPaint = annexView.paint - textPaint.flags = Paint.UNDERLINE_TEXT_FLAG - textPaint.isAntiAlias = true - annexView.setTextColor(Color.BLUE) - - annexView.setOnClickListener { - minioFileName.watchAttachFile(requireContext()) - } - } + annexView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) } } } @@ -65,12 +52,7 @@ override fun initLayoutView(): Int = R.layout.fragment_contract_basic_information override fun observeRequestState() { - constructViewModel.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/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 435ec86..b1b842f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -1,9 +1,11 @@ package com.casic.xz.meterage.fragment.contract import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.ContractDetailModel import com.pengxh.kt.lite.base.KotlinBaseFragment -class CollectionFragment : KotlinBaseFragment() { +class CollectionFragment(private val paymentModels: List) : + KotlinBaseFragment() { override fun initData() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 068e0b9..105edc2 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -1,12 +1,63 @@ package com.casic.xz.meterage.fragment.contract import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.ContractDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.convertColor +import kotlinx.android.synthetic.main.fragment_contract_entrust_brief.* +import kotlinx.android.synthetic.main.include_empty_view.* -class EntrustBriefFragment : KotlinBaseFragment() { +class EntrustBriefFragment(private val orderModels: List) : + KotlinBaseFragment() { override fun initData() { + if (orderModels.isEmpty()) { + emptyView!!.showEmptyPage("无相关委托书信息") + } else { + emptyView!!.hide() + val briefAdapter = object : + NormalRecyclerAdapter( + R.layout.item_entrust_brief_rv_l, orderModels + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: ContractDetailModel.DataModel.OrderListModel + ) { + //未接收:1;已接收:2;已取消:3;检测完成:4 + val color = when (item.status) { + "1" -> R.color.red.convertColor(requireContext()) + "2" -> R.color.blue.convertColor(requireContext()) + "3" -> R.color.gray.convertColor(requireContext()) + else -> R.color.green.convertColor(requireContext()) + } + viewHolder.setBackgroundColor(R.id.receiveStateView, color) + viewHolder.setText(R.id.customerNameView, item.customerName) + .setText(R.id.receiveStateView, item.statusName) + .setText(R.id.delivererView, item.deliverer) + .setText(R.id.customerPhoneView, item.customerPhone) + .setText(R.id.sampleCountView, item.sampleCount) + .setText(R.id.entrustCodeView, "委托编号:${item.orderCode}") + + if (item.isUrgent == "0") { + viewHolder.setText(R.id.urgentView, "否") + .setTextColor( + R.id.urgentView, R.color.gray.convertColor(requireContext()) + ) + } else { + viewHolder.setText(R.id.urgentView, "是") + .setTextColor( + R.id.urgentView, R.color.red.convertColor(requireContext()) + ) + } + } + } + entrustBriefRecyclerView.adapter = briefAdapter + } } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/QMUIEmptyView.kt b/app/src/main/java/com/casic/xz/meterage/extensions/QMUIEmptyView.kt index 533d3a7..0276490 100644 --- a/app/src/main/java/com/casic/xz/meterage/extensions/QMUIEmptyView.kt +++ b/app/src/main/java/com/casic/xz/meterage/extensions/QMUIEmptyView.kt @@ -3,8 +3,8 @@ import android.view.View import com.qmuiteam.qmui.widget.QMUIEmptyView -fun QMUIEmptyView.showEmptyPage(onButtonClickListener: View.OnClickListener) { - this.show(false, "抱歉,无法查询到相关记录", null, "重试", onButtonClickListener) +fun QMUIEmptyView.showEmptyPage(title: String) { + this.show(false, title, null, null, null) } fun QMUIEmptyView.showEmptyPage(title: String, onButtonClickListener: View.OnClickListener) { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/BasicInformationFragment.kt index c9ce08a..631675c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/BasicInformationFragment.kt @@ -2,58 +2,45 @@ import android.graphics.Color import android.graphics.Paint -import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.watchAttachFile -import com.casic.xz.meterage.utils.LoadingDialogHub -import com.casic.xz.meterage.vm.ContractInvoiceViewModel +import com.casic.xz.meterage.model.ContractDetailModel import com.pengxh.kt.lite.base.KotlinBaseFragment -import com.pengxh.kt.lite.vm.LoadState import kotlinx.android.synthetic.main.fragment_contract_basic_information.* -class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { - - private lateinit var constructViewModel: ContractInvoiceViewModel +class BasicInformationFragment(private val data: ContractDetailModel.DataModel) : + KotlinBaseFragment() { override fun initData() { - constructViewModel = ViewModelProvider(this)[ContractInvoiceViewModel::class.java] - constructViewModel.getContractDetail(id) - constructViewModel.contractDetail.observe(this) { - if (it.code == 200) { - val data = it.data!! + contractCodeView.text = data.agreementNo + contractNameView.text = data.agreementName + contractTypeView.text = data.agreementTypeName + creatorView.text = data.createUserName + deptNameView.text = data.deptName + estimateDateView.text = data.estimateSignDate + contractAmountView.text = "¥ ${data.agreementAmount.toBigDecimal() / 100.toBigDecimal()}" + contractSourceView.text = data.agreementSourceName + contractStartView.text = data.agreementStartDate.formatToYearMonthDay() + contractEndView.text = data.agreementEndDate.formatToYearMonthDay() + firstPartView.text = data.firstParty + firstPersonView.text = data.director + contractContentView.text = data.agreementImportantContent + remarkView.text = data.remark - contractCodeView.text = data.agreementNo - contractNameView.text = data.agreementName - contractTypeView.text = data.agreementTypeName - creatorView.text = data.createUserName - deptNameView.text = data.deptName - estimateDateView.text = data.estimateSignDate - contractAmountView.text = - "¥ ${data.agreementAmount.toBigDecimal() / 100.toBigDecimal()}" - contractSourceView.text = data.agreementSourceName - contractStartView.text = data.agreementStartDate.formatToYearMonthDay() - contractEndView.text = data.agreementEndDate.formatToYearMonthDay() - firstPartView.text = data.firstParty - firstPersonView.text = data.director - contractContentView.text = data.agreementImportantContent - remarkView.text = data.remark + if (data.minioFileName.isNullOrBlank()) { + annexView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName - 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(Color.BLUE) - annexView.text = minioFileName - val textPaint = annexView.paint - textPaint.flags = Paint.UNDERLINE_TEXT_FLAG - textPaint.isAntiAlias = true - annexView.setTextColor(Color.BLUE) - - annexView.setOnClickListener { - minioFileName.watchAttachFile(requireContext()) - } - } + annexView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) } } } @@ -65,12 +52,7 @@ override fun initLayoutView(): Int = R.layout.fragment_contract_basic_information override fun observeRequestState() { - constructViewModel.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/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 435ec86..b1b842f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -1,9 +1,11 @@ package com.casic.xz.meterage.fragment.contract import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.ContractDetailModel import com.pengxh.kt.lite.base.KotlinBaseFragment -class CollectionFragment : KotlinBaseFragment() { +class CollectionFragment(private val paymentModels: List) : + KotlinBaseFragment() { override fun initData() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 068e0b9..105edc2 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -1,12 +1,63 @@ package com.casic.xz.meterage.fragment.contract import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.ContractDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.convertColor +import kotlinx.android.synthetic.main.fragment_contract_entrust_brief.* +import kotlinx.android.synthetic.main.include_empty_view.* -class EntrustBriefFragment : KotlinBaseFragment() { +class EntrustBriefFragment(private val orderModels: List) : + KotlinBaseFragment() { override fun initData() { + if (orderModels.isEmpty()) { + emptyView!!.showEmptyPage("无相关委托书信息") + } else { + emptyView!!.hide() + val briefAdapter = object : + NormalRecyclerAdapter( + R.layout.item_entrust_brief_rv_l, orderModels + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: ContractDetailModel.DataModel.OrderListModel + ) { + //未接收:1;已接收:2;已取消:3;检测完成:4 + val color = when (item.status) { + "1" -> R.color.red.convertColor(requireContext()) + "2" -> R.color.blue.convertColor(requireContext()) + "3" -> R.color.gray.convertColor(requireContext()) + else -> R.color.green.convertColor(requireContext()) + } + viewHolder.setBackgroundColor(R.id.receiveStateView, color) + viewHolder.setText(R.id.customerNameView, item.customerName) + .setText(R.id.receiveStateView, item.statusName) + .setText(R.id.delivererView, item.deliverer) + .setText(R.id.customerPhoneView, item.customerPhone) + .setText(R.id.sampleCountView, item.sampleCount) + .setText(R.id.entrustCodeView, "委托编号:${item.orderCode}") + + if (item.isUrgent == "0") { + viewHolder.setText(R.id.urgentView, "否") + .setTextColor( + R.id.urgentView, R.color.gray.convertColor(requireContext()) + ) + } else { + viewHolder.setText(R.id.urgentView, "是") + .setTextColor( + R.id.urgentView, R.color.red.convertColor(requireContext()) + ) + } + } + } + entrustBriefRecyclerView.adapter = briefAdapter + } } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ContractDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ContractDetailActivity.kt index cd6ca61..0681d55 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ContractDetailActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ContractDetailActivity.kt @@ -1,6 +1,7 @@ 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.base.ApplicationBaseActivity @@ -8,13 +9,17 @@ import com.casic.xz.meterage.fragment.contract.BasicInformationFragment import com.casic.xz.meterage.fragment.contract.CollectionFragment import com.casic.xz.meterage.fragment.contract.EntrustBriefFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.ContractInvoiceViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState import kotlinx.android.synthetic.main.activity_contract_detail.* import kotlinx.android.synthetic.main.include_base_title.* class ContractDetailActivity : ApplicationBaseActivity() { + private lateinit var constructViewModel: ContractInvoiceViewModel private var fragmentPages: ArrayList = ArrayList() override fun initLayoutView(): Int = R.layout.activity_contract_detail @@ -27,23 +32,35 @@ override fun initData() { val contractId = intent.getStringExtra(Constant.INTENT_PARAM)!! + constructViewModel = ViewModelProvider(this)[ContractInvoiceViewModel::class.java] + constructViewModel.getContractDetail(contractId) + constructViewModel.contractDetail.observe(this) { + if (it.code == 200) { + val data = it.data!! - fragmentPages.add(BasicInformationFragment(contractId)) - fragmentPages.add(EntrustBriefFragment()) - fragmentPages.add(CollectionFragment()) + fragmentPages.add(BasicInformationFragment(data)) + fragmentPages.add(EntrustBriefFragment(data.orderList)) + fragmentPages.add(CollectionFragment(data.paymentList)) - val equipmentPageTitles = arrayOf("基础信息", "委托单信息", "收款信息") + val equipmentPageTitles = arrayOf("基础信息", "委托单信息", "收款信息") - contractViewPager.adapter = SubViewPagerAdapter( - supportFragmentManager, fragmentPages, equipmentPageTitles - ) - contractViewPager.offscreenPageLimit = fragmentPages.size - //绑定 - topTabLayout.setupWithViewPager(contractViewPager) + contractViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, equipmentPageTitles + ) + contractViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(contractViewPager) + } + } } override fun observeRequestState() { - + constructViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/QMUIEmptyView.kt b/app/src/main/java/com/casic/xz/meterage/extensions/QMUIEmptyView.kt index 533d3a7..0276490 100644 --- a/app/src/main/java/com/casic/xz/meterage/extensions/QMUIEmptyView.kt +++ b/app/src/main/java/com/casic/xz/meterage/extensions/QMUIEmptyView.kt @@ -3,8 +3,8 @@ import android.view.View import com.qmuiteam.qmui.widget.QMUIEmptyView -fun QMUIEmptyView.showEmptyPage(onButtonClickListener: View.OnClickListener) { - this.show(false, "抱歉,无法查询到相关记录", null, "重试", onButtonClickListener) +fun QMUIEmptyView.showEmptyPage(title: String) { + this.show(false, title, null, null, null) } fun QMUIEmptyView.showEmptyPage(title: String, onButtonClickListener: View.OnClickListener) { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/BasicInformationFragment.kt index c9ce08a..631675c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/BasicInformationFragment.kt @@ -2,58 +2,45 @@ import android.graphics.Color import android.graphics.Paint -import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.watchAttachFile -import com.casic.xz.meterage.utils.LoadingDialogHub -import com.casic.xz.meterage.vm.ContractInvoiceViewModel +import com.casic.xz.meterage.model.ContractDetailModel import com.pengxh.kt.lite.base.KotlinBaseFragment -import com.pengxh.kt.lite.vm.LoadState import kotlinx.android.synthetic.main.fragment_contract_basic_information.* -class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { - - private lateinit var constructViewModel: ContractInvoiceViewModel +class BasicInformationFragment(private val data: ContractDetailModel.DataModel) : + KotlinBaseFragment() { override fun initData() { - constructViewModel = ViewModelProvider(this)[ContractInvoiceViewModel::class.java] - constructViewModel.getContractDetail(id) - constructViewModel.contractDetail.observe(this) { - if (it.code == 200) { - val data = it.data!! + contractCodeView.text = data.agreementNo + contractNameView.text = data.agreementName + contractTypeView.text = data.agreementTypeName + creatorView.text = data.createUserName + deptNameView.text = data.deptName + estimateDateView.text = data.estimateSignDate + contractAmountView.text = "¥ ${data.agreementAmount.toBigDecimal() / 100.toBigDecimal()}" + contractSourceView.text = data.agreementSourceName + contractStartView.text = data.agreementStartDate.formatToYearMonthDay() + contractEndView.text = data.agreementEndDate.formatToYearMonthDay() + firstPartView.text = data.firstParty + firstPersonView.text = data.director + contractContentView.text = data.agreementImportantContent + remarkView.text = data.remark - contractCodeView.text = data.agreementNo - contractNameView.text = data.agreementName - contractTypeView.text = data.agreementTypeName - creatorView.text = data.createUserName - deptNameView.text = data.deptName - estimateDateView.text = data.estimateSignDate - contractAmountView.text = - "¥ ${data.agreementAmount.toBigDecimal() / 100.toBigDecimal()}" - contractSourceView.text = data.agreementSourceName - contractStartView.text = data.agreementStartDate.formatToYearMonthDay() - contractEndView.text = data.agreementEndDate.formatToYearMonthDay() - firstPartView.text = data.firstParty - firstPersonView.text = data.director - contractContentView.text = data.agreementImportantContent - remarkView.text = data.remark + if (data.minioFileName.isNullOrBlank()) { + annexView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName - 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(Color.BLUE) - annexView.text = minioFileName - val textPaint = annexView.paint - textPaint.flags = Paint.UNDERLINE_TEXT_FLAG - textPaint.isAntiAlias = true - annexView.setTextColor(Color.BLUE) - - annexView.setOnClickListener { - minioFileName.watchAttachFile(requireContext()) - } - } + annexView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) } } } @@ -65,12 +52,7 @@ override fun initLayoutView(): Int = R.layout.fragment_contract_basic_information override fun observeRequestState() { - constructViewModel.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/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 435ec86..b1b842f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -1,9 +1,11 @@ package com.casic.xz.meterage.fragment.contract import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.ContractDetailModel import com.pengxh.kt.lite.base.KotlinBaseFragment -class CollectionFragment : KotlinBaseFragment() { +class CollectionFragment(private val paymentModels: List) : + KotlinBaseFragment() { override fun initData() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 068e0b9..105edc2 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -1,12 +1,63 @@ package com.casic.xz.meterage.fragment.contract import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.ContractDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.convertColor +import kotlinx.android.synthetic.main.fragment_contract_entrust_brief.* +import kotlinx.android.synthetic.main.include_empty_view.* -class EntrustBriefFragment : KotlinBaseFragment() { +class EntrustBriefFragment(private val orderModels: List) : + KotlinBaseFragment() { override fun initData() { + if (orderModels.isEmpty()) { + emptyView!!.showEmptyPage("无相关委托书信息") + } else { + emptyView!!.hide() + val briefAdapter = object : + NormalRecyclerAdapter( + R.layout.item_entrust_brief_rv_l, orderModels + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: ContractDetailModel.DataModel.OrderListModel + ) { + //未接收:1;已接收:2;已取消:3;检测完成:4 + val color = when (item.status) { + "1" -> R.color.red.convertColor(requireContext()) + "2" -> R.color.blue.convertColor(requireContext()) + "3" -> R.color.gray.convertColor(requireContext()) + else -> R.color.green.convertColor(requireContext()) + } + viewHolder.setBackgroundColor(R.id.receiveStateView, color) + viewHolder.setText(R.id.customerNameView, item.customerName) + .setText(R.id.receiveStateView, item.statusName) + .setText(R.id.delivererView, item.deliverer) + .setText(R.id.customerPhoneView, item.customerPhone) + .setText(R.id.sampleCountView, item.sampleCount) + .setText(R.id.entrustCodeView, "委托编号:${item.orderCode}") + + if (item.isUrgent == "0") { + viewHolder.setText(R.id.urgentView, "否") + .setTextColor( + R.id.urgentView, R.color.gray.convertColor(requireContext()) + ) + } else { + viewHolder.setText(R.id.urgentView, "是") + .setTextColor( + R.id.urgentView, R.color.red.convertColor(requireContext()) + ) + } + } + } + entrustBriefRecyclerView.adapter = briefAdapter + } } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ContractDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ContractDetailActivity.kt index cd6ca61..0681d55 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ContractDetailActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ContractDetailActivity.kt @@ -1,6 +1,7 @@ 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.base.ApplicationBaseActivity @@ -8,13 +9,17 @@ import com.casic.xz.meterage.fragment.contract.BasicInformationFragment import com.casic.xz.meterage.fragment.contract.CollectionFragment import com.casic.xz.meterage.fragment.contract.EntrustBriefFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.ContractInvoiceViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState import kotlinx.android.synthetic.main.activity_contract_detail.* import kotlinx.android.synthetic.main.include_base_title.* class ContractDetailActivity : ApplicationBaseActivity() { + private lateinit var constructViewModel: ContractInvoiceViewModel private var fragmentPages: ArrayList = ArrayList() override fun initLayoutView(): Int = R.layout.activity_contract_detail @@ -27,23 +32,35 @@ override fun initData() { val contractId = intent.getStringExtra(Constant.INTENT_PARAM)!! + constructViewModel = ViewModelProvider(this)[ContractInvoiceViewModel::class.java] + constructViewModel.getContractDetail(contractId) + constructViewModel.contractDetail.observe(this) { + if (it.code == 200) { + val data = it.data!! - fragmentPages.add(BasicInformationFragment(contractId)) - fragmentPages.add(EntrustBriefFragment()) - fragmentPages.add(CollectionFragment()) + fragmentPages.add(BasicInformationFragment(data)) + fragmentPages.add(EntrustBriefFragment(data.orderList)) + fragmentPages.add(CollectionFragment(data.paymentList)) - val equipmentPageTitles = arrayOf("基础信息", "委托单信息", "收款信息") + val equipmentPageTitles = arrayOf("基础信息", "委托单信息", "收款信息") - contractViewPager.adapter = SubViewPagerAdapter( - supportFragmentManager, fragmentPages, equipmentPageTitles - ) - contractViewPager.offscreenPageLimit = fragmentPages.size - //绑定 - topTabLayout.setupWithViewPager(contractViewPager) + contractViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, equipmentPageTitles + ) + contractViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(contractViewPager) + } + } } override fun observeRequestState() { - + constructViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } } override fun initEvent() { diff --git a/app/src/main/res/layout/fragment_contract_entrust_brief.xml b/app/src/main/res/layout/fragment_contract_entrust_brief.xml index 77d9ef6..40a96d1 100644 --- a/app/src/main/res/layout/fragment_contract_entrust_brief.xml +++ b/app/src/main/res/layout/fragment_contract_entrust_brief.xml @@ -1,6 +1,16 @@ - + android:layout_height="match_parent" + android:background="@color/white" + android:orientation="vertical"> - \ No newline at end of file + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/QMUIEmptyView.kt b/app/src/main/java/com/casic/xz/meterage/extensions/QMUIEmptyView.kt index 533d3a7..0276490 100644 --- a/app/src/main/java/com/casic/xz/meterage/extensions/QMUIEmptyView.kt +++ b/app/src/main/java/com/casic/xz/meterage/extensions/QMUIEmptyView.kt @@ -3,8 +3,8 @@ import android.view.View import com.qmuiteam.qmui.widget.QMUIEmptyView -fun QMUIEmptyView.showEmptyPage(onButtonClickListener: View.OnClickListener) { - this.show(false, "抱歉,无法查询到相关记录", null, "重试", onButtonClickListener) +fun QMUIEmptyView.showEmptyPage(title: String) { + this.show(false, title, null, null, null) } fun QMUIEmptyView.showEmptyPage(title: String, onButtonClickListener: View.OnClickListener) { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/BasicInformationFragment.kt index c9ce08a..631675c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/BasicInformationFragment.kt @@ -2,58 +2,45 @@ import android.graphics.Color import android.graphics.Paint -import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.watchAttachFile -import com.casic.xz.meterage.utils.LoadingDialogHub -import com.casic.xz.meterage.vm.ContractInvoiceViewModel +import com.casic.xz.meterage.model.ContractDetailModel import com.pengxh.kt.lite.base.KotlinBaseFragment -import com.pengxh.kt.lite.vm.LoadState import kotlinx.android.synthetic.main.fragment_contract_basic_information.* -class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { - - private lateinit var constructViewModel: ContractInvoiceViewModel +class BasicInformationFragment(private val data: ContractDetailModel.DataModel) : + KotlinBaseFragment() { override fun initData() { - constructViewModel = ViewModelProvider(this)[ContractInvoiceViewModel::class.java] - constructViewModel.getContractDetail(id) - constructViewModel.contractDetail.observe(this) { - if (it.code == 200) { - val data = it.data!! + contractCodeView.text = data.agreementNo + contractNameView.text = data.agreementName + contractTypeView.text = data.agreementTypeName + creatorView.text = data.createUserName + deptNameView.text = data.deptName + estimateDateView.text = data.estimateSignDate + contractAmountView.text = "¥ ${data.agreementAmount.toBigDecimal() / 100.toBigDecimal()}" + contractSourceView.text = data.agreementSourceName + contractStartView.text = data.agreementStartDate.formatToYearMonthDay() + contractEndView.text = data.agreementEndDate.formatToYearMonthDay() + firstPartView.text = data.firstParty + firstPersonView.text = data.director + contractContentView.text = data.agreementImportantContent + remarkView.text = data.remark - contractCodeView.text = data.agreementNo - contractNameView.text = data.agreementName - contractTypeView.text = data.agreementTypeName - creatorView.text = data.createUserName - deptNameView.text = data.deptName - estimateDateView.text = data.estimateSignDate - contractAmountView.text = - "¥ ${data.agreementAmount.toBigDecimal() / 100.toBigDecimal()}" - contractSourceView.text = data.agreementSourceName - contractStartView.text = data.agreementStartDate.formatToYearMonthDay() - contractEndView.text = data.agreementEndDate.formatToYearMonthDay() - firstPartView.text = data.firstParty - firstPersonView.text = data.director - contractContentView.text = data.agreementImportantContent - remarkView.text = data.remark + if (data.minioFileName.isNullOrBlank()) { + annexView.text = "暂无附件" + } else { + val minioFileName = data.minioFileName - 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(Color.BLUE) - annexView.text = minioFileName - val textPaint = annexView.paint - textPaint.flags = Paint.UNDERLINE_TEXT_FLAG - textPaint.isAntiAlias = true - annexView.setTextColor(Color.BLUE) - - annexView.setOnClickListener { - minioFileName.watchAttachFile(requireContext()) - } - } + annexView.setOnClickListener { + minioFileName.watchAttachFile(requireContext()) } } } @@ -65,12 +52,7 @@ override fun initLayoutView(): Int = R.layout.fragment_contract_basic_information override fun observeRequestState() { - constructViewModel.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/contract/CollectionFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt index 435ec86..b1b842f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/CollectionFragment.kt @@ -1,9 +1,11 @@ package com.casic.xz.meterage.fragment.contract import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.ContractDetailModel import com.pengxh.kt.lite.base.KotlinBaseFragment -class CollectionFragment : KotlinBaseFragment() { +class CollectionFragment(private val paymentModels: List) : + KotlinBaseFragment() { override fun initData() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt index 068e0b9..105edc2 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/contract/EntrustBriefFragment.kt @@ -1,12 +1,63 @@ package com.casic.xz.meterage.fragment.contract import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.ContractDetailModel +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.convertColor +import kotlinx.android.synthetic.main.fragment_contract_entrust_brief.* +import kotlinx.android.synthetic.main.include_empty_view.* -class EntrustBriefFragment : KotlinBaseFragment() { +class EntrustBriefFragment(private val orderModels: List) : + KotlinBaseFragment() { override fun initData() { + if (orderModels.isEmpty()) { + emptyView!!.showEmptyPage("无相关委托书信息") + } else { + emptyView!!.hide() + val briefAdapter = object : + NormalRecyclerAdapter( + R.layout.item_entrust_brief_rv_l, orderModels + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: ContractDetailModel.DataModel.OrderListModel + ) { + //未接收:1;已接收:2;已取消:3;检测完成:4 + val color = when (item.status) { + "1" -> R.color.red.convertColor(requireContext()) + "2" -> R.color.blue.convertColor(requireContext()) + "3" -> R.color.gray.convertColor(requireContext()) + else -> R.color.green.convertColor(requireContext()) + } + viewHolder.setBackgroundColor(R.id.receiveStateView, color) + viewHolder.setText(R.id.customerNameView, item.customerName) + .setText(R.id.receiveStateView, item.statusName) + .setText(R.id.delivererView, item.deliverer) + .setText(R.id.customerPhoneView, item.customerPhone) + .setText(R.id.sampleCountView, item.sampleCount) + .setText(R.id.entrustCodeView, "委托编号:${item.orderCode}") + + if (item.isUrgent == "0") { + viewHolder.setText(R.id.urgentView, "否") + .setTextColor( + R.id.urgentView, R.color.gray.convertColor(requireContext()) + ) + } else { + viewHolder.setText(R.id.urgentView, "是") + .setTextColor( + R.id.urgentView, R.color.red.convertColor(requireContext()) + ) + } + } + } + entrustBriefRecyclerView.adapter = briefAdapter + } } override fun initEvent() { diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ContractDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ContractDetailActivity.kt index cd6ca61..0681d55 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ContractDetailActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ContractDetailActivity.kt @@ -1,6 +1,7 @@ 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.base.ApplicationBaseActivity @@ -8,13 +9,17 @@ import com.casic.xz.meterage.fragment.contract.BasicInformationFragment import com.casic.xz.meterage.fragment.contract.CollectionFragment import com.casic.xz.meterage.fragment.contract.EntrustBriefFragment +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.ContractInvoiceViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState import kotlinx.android.synthetic.main.activity_contract_detail.* import kotlinx.android.synthetic.main.include_base_title.* class ContractDetailActivity : ApplicationBaseActivity() { + private lateinit var constructViewModel: ContractInvoiceViewModel private var fragmentPages: ArrayList = ArrayList() override fun initLayoutView(): Int = R.layout.activity_contract_detail @@ -27,23 +32,35 @@ override fun initData() { val contractId = intent.getStringExtra(Constant.INTENT_PARAM)!! + constructViewModel = ViewModelProvider(this)[ContractInvoiceViewModel::class.java] + constructViewModel.getContractDetail(contractId) + constructViewModel.contractDetail.observe(this) { + if (it.code == 200) { + val data = it.data!! - fragmentPages.add(BasicInformationFragment(contractId)) - fragmentPages.add(EntrustBriefFragment()) - fragmentPages.add(CollectionFragment()) + fragmentPages.add(BasicInformationFragment(data)) + fragmentPages.add(EntrustBriefFragment(data.orderList)) + fragmentPages.add(CollectionFragment(data.paymentList)) - val equipmentPageTitles = arrayOf("基础信息", "委托单信息", "收款信息") + val equipmentPageTitles = arrayOf("基础信息", "委托单信息", "收款信息") - contractViewPager.adapter = SubViewPagerAdapter( - supportFragmentManager, fragmentPages, equipmentPageTitles - ) - contractViewPager.offscreenPageLimit = fragmentPages.size - //绑定 - topTabLayout.setupWithViewPager(contractViewPager) + contractViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, equipmentPageTitles + ) + contractViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(contractViewPager) + } + } } override fun observeRequestState() { - + constructViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } } override fun initEvent() { diff --git a/app/src/main/res/layout/fragment_contract_entrust_brief.xml b/app/src/main/res/layout/fragment_contract_entrust_brief.xml index 77d9ef6..40a96d1 100644 --- a/app/src/main/res/layout/fragment_contract_entrust_brief.xml +++ b/app/src/main/res/layout/fragment_contract_entrust_brief.xml @@ -1,6 +1,16 @@ - + android:layout_height="match_parent" + android:background="@color/white" + android:orientation="vertical"> - \ No newline at end of file + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_entrust_brief_rv_l.xml b/app/src/main/res/layout/item_entrust_brief_rv_l.xml new file mode 100644 index 0000000..23753f7 --- /dev/null +++ b/app/src/main/res/layout/item_entrust_brief_rv_l.xml @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file