diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt index cf22646..a64791f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt @@ -8,7 +8,7 @@ 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_basic_information.* +import kotlinx.android.synthetic.main.fragment_equipment_basic_information.* class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { @@ -86,7 +86,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_basic_information + override fun initLayoutView(): Int = R.layout.fragment_equipment_basic_information override fun observeRequestState() { equipmentViewModel.loadState.observe(this, { diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt index cf22646..a64791f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt @@ -8,7 +8,7 @@ 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_basic_information.* +import kotlinx.android.synthetic.main.fragment_equipment_basic_information.* class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { @@ -86,7 +86,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_basic_information + override fun initLayoutView(): Int = R.layout.fragment_equipment_basic_information override fun observeRequestState() { equipmentViewModel.loadState.observe(this, { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt index 0b4a747..1c55901 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_certificate + override fun initLayoutView(): Int = R.layout.fragment_equipment_certificate override fun observeRequestState() { diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt index cf22646..a64791f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt @@ -8,7 +8,7 @@ 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_basic_information.* +import kotlinx.android.synthetic.main.fragment_equipment_basic_information.* class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { @@ -86,7 +86,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_basic_information + override fun initLayoutView(): Int = R.layout.fragment_equipment_basic_information override fun observeRequestState() { equipmentViewModel.loadState.observe(this, { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt index 0b4a747..1c55901 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_certificate + override fun initLayoutView(): Int = R.layout.fragment_equipment_certificate override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt index f05c491..394fae6 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_change_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_change_record override fun observeRequestState() { diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt index cf22646..a64791f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt @@ -8,7 +8,7 @@ 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_basic_information.* +import kotlinx.android.synthetic.main.fragment_equipment_basic_information.* class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { @@ -86,7 +86,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_basic_information + override fun initLayoutView(): Int = R.layout.fragment_equipment_basic_information override fun observeRequestState() { equipmentViewModel.loadState.observe(this, { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt index 0b4a747..1c55901 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_certificate + override fun initLayoutView(): Int = R.layout.fragment_equipment_certificate override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt index f05c491..394fae6 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_change_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_change_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt index 849ffa5..dd02b42 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_inspection_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_inspection_record override fun observeRequestState() { diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt index cf22646..a64791f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt @@ -8,7 +8,7 @@ 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_basic_information.* +import kotlinx.android.synthetic.main.fragment_equipment_basic_information.* class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { @@ -86,7 +86,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_basic_information + override fun initLayoutView(): Int = R.layout.fragment_equipment_basic_information override fun observeRequestState() { equipmentViewModel.loadState.observe(this, { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt index 0b4a747..1c55901 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_certificate + override fun initLayoutView(): Int = R.layout.fragment_equipment_certificate override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt index f05c491..394fae6 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_change_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_change_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt index 849ffa5..dd02b42 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_inspection_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_inspection_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index aa4edd9..29a3d26 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_usage_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_usage_record override fun observeRequestState() { diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt index cf22646..a64791f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt @@ -8,7 +8,7 @@ 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_basic_information.* +import kotlinx.android.synthetic.main.fragment_equipment_basic_information.* class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { @@ -86,7 +86,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_basic_information + override fun initLayoutView(): Int = R.layout.fragment_equipment_basic_information override fun observeRequestState() { equipmentViewModel.loadState.observe(this, { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt index 0b4a747..1c55901 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_certificate + override fun initLayoutView(): Int = R.layout.fragment_equipment_certificate override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt index f05c491..394fae6 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_change_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_change_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt index 849ffa5..dd02b42 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_inspection_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_inspection_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index aa4edd9..29a3d26 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_usage_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_usage_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java new file mode 100644 index 0000000..f3ada98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java @@ -0,0 +1,499 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceDetailModel { + + 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 { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private List fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public List getFileList() { + return fileList; + } + + public void setFileList(List fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public static class FileListModel { + private String assetId; + private String createTime; + private String createUser; + private String fileName; + private String id; + private int isDel; + private String minioFileName; + private String remark; + private String updateTime; + + public String getAssetId() { + return assetId; + } + + public void setAssetId(String assetId) { + this.assetId = assetId; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt index cf22646..a64791f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt @@ -8,7 +8,7 @@ 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_basic_information.* +import kotlinx.android.synthetic.main.fragment_equipment_basic_information.* class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { @@ -86,7 +86,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_basic_information + override fun initLayoutView(): Int = R.layout.fragment_equipment_basic_information override fun observeRequestState() { equipmentViewModel.loadState.observe(this, { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt index 0b4a747..1c55901 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_certificate + override fun initLayoutView(): Int = R.layout.fragment_equipment_certificate override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt index f05c491..394fae6 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_change_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_change_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt index 849ffa5..dd02b42 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_inspection_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_inspection_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index aa4edd9..29a3d26 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_usage_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_usage_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java new file mode 100644 index 0000000..f3ada98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java @@ -0,0 +1,499 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceDetailModel { + + 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 { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private List fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public List getFileList() { + return fileList; + } + + public void setFileList(List fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public static class FileListModel { + private String assetId; + private String createTime; + private String createUser; + private String fileName; + private String id; + private int isDel; + private String minioFileName; + private String remark; + private String updateTime; + + public String getAssetId() { + return assetId; + } + + public void setAssetId(String assetId) { + this.assetId = assetId; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java new file mode 100644 index 0000000..dc26cd3 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java @@ -0,0 +1,436 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceListModel { + + 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 { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt index cf22646..a64791f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt @@ -8,7 +8,7 @@ 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_basic_information.* +import kotlinx.android.synthetic.main.fragment_equipment_basic_information.* class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { @@ -86,7 +86,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_basic_information + override fun initLayoutView(): Int = R.layout.fragment_equipment_basic_information override fun observeRequestState() { equipmentViewModel.loadState.observe(this, { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt index 0b4a747..1c55901 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_certificate + override fun initLayoutView(): Int = R.layout.fragment_equipment_certificate override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt index f05c491..394fae6 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_change_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_change_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt index 849ffa5..dd02b42 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_inspection_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_inspection_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index aa4edd9..29a3d26 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_usage_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_usage_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java new file mode 100644 index 0000000..f3ada98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java @@ -0,0 +1,499 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceDetailModel { + + 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 { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private List fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public List getFileList() { + return fileList; + } + + public void setFileList(List fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public static class FileListModel { + private String assetId; + private String createTime; + private String createUser; + private String fileName; + private String id; + private int isDel; + private String minioFileName; + private String remark; + private String updateTime; + + public String getAssetId() { + return assetId; + } + + public void setAssetId(String assetId) { + this.assetId = assetId; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java new file mode 100644 index 0000000..dc26cd3 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java @@ -0,0 +1,436 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceListModel { + + 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 { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} 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 46e5eef..3382fae 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 @@ -55,4 +55,24 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取标准装置列表 + */ + @POST("/meter/standard/listPage") + suspend fun getStandardDeviceList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String + + /** + * 获取标准装置详情 + */ + @POST("/meter/standard/detail") + suspend fun getStandardDeviceDetail( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt index cf22646..a64791f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt @@ -8,7 +8,7 @@ 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_basic_information.* +import kotlinx.android.synthetic.main.fragment_equipment_basic_information.* class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { @@ -86,7 +86,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_basic_information + override fun initLayoutView(): Int = R.layout.fragment_equipment_basic_information override fun observeRequestState() { equipmentViewModel.loadState.observe(this, { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt index 0b4a747..1c55901 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_certificate + override fun initLayoutView(): Int = R.layout.fragment_equipment_certificate override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt index f05c491..394fae6 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_change_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_change_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt index 849ffa5..dd02b42 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_inspection_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_inspection_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index aa4edd9..29a3d26 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_usage_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_usage_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java new file mode 100644 index 0000000..f3ada98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java @@ -0,0 +1,499 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceDetailModel { + + 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 { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private List fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public List getFileList() { + return fileList; + } + + public void setFileList(List fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public static class FileListModel { + private String assetId; + private String createTime; + private String createUser; + private String fileName; + private String id; + private int isDel; + private String minioFileName; + private String remark; + private String updateTime; + + public String getAssetId() { + return assetId; + } + + public void setAssetId(String assetId) { + this.assetId = assetId; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java new file mode 100644 index 0000000..dc26cd3 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java @@ -0,0 +1,436 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceListModel { + + 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 { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} 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 46e5eef..3382fae 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 @@ -55,4 +55,24 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取标准装置列表 + */ + @POST("/meter/standard/listPage") + suspend fun getStandardDeviceList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String + + /** + * 获取标准装置详情 + */ + @POST("/meter/standard/detail") + suspend fun getStandardDeviceDetail( + @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 386a1d8..1af43c3 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 @@ -142,4 +142,49 @@ ) return api.getEquipmentDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取标准装置列表 + */ + suspend fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject.put("standardNo", standardNo) + paramObject.put("standardName", standardName) + paramObject.put("category", category) + paramObject.put("managerState", managerState) + paramObject.put("standardLaboratory", standardLaboratory) + paramObject.put("preparationDate", preparationDate) + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getStandardDeviceList(AuthenticationHelper.token!!, requestBody, limitMap, offsetMap) + } + + /** + * 获取标准装置详情 + */ + suspend fun getStandardDeviceDetail(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStandardDeviceDetail(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt index cf22646..a64791f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt @@ -8,7 +8,7 @@ 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_basic_information.* +import kotlinx.android.synthetic.main.fragment_equipment_basic_information.* class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { @@ -86,7 +86,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_basic_information + override fun initLayoutView(): Int = R.layout.fragment_equipment_basic_information override fun observeRequestState() { equipmentViewModel.loadState.observe(this, { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt index 0b4a747..1c55901 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_certificate + override fun initLayoutView(): Int = R.layout.fragment_equipment_certificate override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt index f05c491..394fae6 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_change_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_change_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt index 849ffa5..dd02b42 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_inspection_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_inspection_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index aa4edd9..29a3d26 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_usage_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_usage_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java new file mode 100644 index 0000000..f3ada98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java @@ -0,0 +1,499 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceDetailModel { + + 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 { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private List fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public List getFileList() { + return fileList; + } + + public void setFileList(List fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public static class FileListModel { + private String assetId; + private String createTime; + private String createUser; + private String fileName; + private String id; + private int isDel; + private String minioFileName; + private String remark; + private String updateTime; + + public String getAssetId() { + return assetId; + } + + public void setAssetId(String assetId) { + this.assetId = assetId; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java new file mode 100644 index 0000000..dc26cd3 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java @@ -0,0 +1,436 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceListModel { + + 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 { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} 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 46e5eef..3382fae 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 @@ -55,4 +55,24 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取标准装置列表 + */ + @POST("/meter/standard/listPage") + suspend fun getStandardDeviceList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String + + /** + * 获取标准装置详情 + */ + @POST("/meter/standard/detail") + suspend fun getStandardDeviceDetail( + @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 386a1d8..1af43c3 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 @@ -142,4 +142,49 @@ ) return api.getEquipmentDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取标准装置列表 + */ + suspend fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject.put("standardNo", standardNo) + paramObject.put("standardName", standardName) + paramObject.put("category", category) + paramObject.put("managerState", managerState) + paramObject.put("standardLaboratory", standardLaboratory) + paramObject.put("preparationDate", preparationDate) + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getStandardDeviceList(AuthenticationHelper.token!!, requestBody, limitMap, offsetMap) + } + + /** + * 获取标准装置详情 + */ + suspend fun getStandardDeviceDetail(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStandardDeviceDetail(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt new file mode 100644 index 0000000..cae747c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -0,0 +1,151 @@ +package com.casic.xz.meterage.view.home + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.search.SearchStandardDeviceActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_standard_device.* +import kotlinx.android.synthetic.main.include_empty_view.* +import kotlinx.android.synthetic.main.include_search_title.* + +class StandardDeviceActivity : KotlinBaseActivity() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020901) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + rightOperateView.setOnClickListener { + navigatePageTo() + } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + "", + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020901 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt index cf22646..a64791f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt @@ -8,7 +8,7 @@ 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_basic_information.* +import kotlinx.android.synthetic.main.fragment_equipment_basic_information.* class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { @@ -86,7 +86,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_basic_information + override fun initLayoutView(): Int = R.layout.fragment_equipment_basic_information override fun observeRequestState() { equipmentViewModel.loadState.observe(this, { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt index 0b4a747..1c55901 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_certificate + override fun initLayoutView(): Int = R.layout.fragment_equipment_certificate override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt index f05c491..394fae6 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_change_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_change_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt index 849ffa5..dd02b42 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_inspection_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_inspection_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index aa4edd9..29a3d26 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_usage_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_usage_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java new file mode 100644 index 0000000..f3ada98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java @@ -0,0 +1,499 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceDetailModel { + + 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 { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private List fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public List getFileList() { + return fileList; + } + + public void setFileList(List fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public static class FileListModel { + private String assetId; + private String createTime; + private String createUser; + private String fileName; + private String id; + private int isDel; + private String minioFileName; + private String remark; + private String updateTime; + + public String getAssetId() { + return assetId; + } + + public void setAssetId(String assetId) { + this.assetId = assetId; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java new file mode 100644 index 0000000..dc26cd3 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java @@ -0,0 +1,436 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceListModel { + + 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 { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} 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 46e5eef..3382fae 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 @@ -55,4 +55,24 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取标准装置列表 + */ + @POST("/meter/standard/listPage") + suspend fun getStandardDeviceList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String + + /** + * 获取标准装置详情 + */ + @POST("/meter/standard/detail") + suspend fun getStandardDeviceDetail( + @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 386a1d8..1af43c3 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 @@ -142,4 +142,49 @@ ) return api.getEquipmentDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取标准装置列表 + */ + suspend fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject.put("standardNo", standardNo) + paramObject.put("standardName", standardName) + paramObject.put("category", category) + paramObject.put("managerState", managerState) + paramObject.put("standardLaboratory", standardLaboratory) + paramObject.put("preparationDate", preparationDate) + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getStandardDeviceList(AuthenticationHelper.token!!, requestBody, limitMap, offsetMap) + } + + /** + * 获取标准装置详情 + */ + suspend fun getStandardDeviceDetail(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStandardDeviceDetail(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt new file mode 100644 index 0000000..cae747c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -0,0 +1,151 @@ +package com.casic.xz.meterage.view.home + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.search.SearchStandardDeviceActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_standard_device.* +import kotlinx.android.synthetic.main.include_empty_view.* +import kotlinx.android.synthetic.main.include_search_title.* + +class StandardDeviceActivity : KotlinBaseActivity() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020901) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + rightOperateView.setOnClickListener { + navigatePageTo() + } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + "", + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020901 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt new file mode 100644 index 0000000..0f3cfb4 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -0,0 +1,51 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +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.device.* +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_device_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardDeviceDetailActivity : KotlinBaseActivity() { + + private var fragmentPages: ArrayList = ArrayList() + + override fun initData() { + val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! + + fragmentPages.add(BasicInformationFragment(deviceId)) + fragmentPages.add(MeasurementPersonFragment()) + fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(UsageRecordFragment()) + fragmentPages.add(CertificateFragment()) + + val devicePageTitles = arrayOf("基础信息", "计量人员", "标准配套设备", "使用记录", "检定证书") + deiceViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, devicePageTitles + ) + deiceViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(deiceViewPager) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device_detail + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt index cf22646..a64791f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt @@ -8,7 +8,7 @@ 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_basic_information.* +import kotlinx.android.synthetic.main.fragment_equipment_basic_information.* class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { @@ -86,7 +86,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_basic_information + override fun initLayoutView(): Int = R.layout.fragment_equipment_basic_information override fun observeRequestState() { equipmentViewModel.loadState.observe(this, { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt index 0b4a747..1c55901 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_certificate + override fun initLayoutView(): Int = R.layout.fragment_equipment_certificate override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt index f05c491..394fae6 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_change_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_change_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt index 849ffa5..dd02b42 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_inspection_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_inspection_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index aa4edd9..29a3d26 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_usage_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_usage_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java new file mode 100644 index 0000000..f3ada98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java @@ -0,0 +1,499 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceDetailModel { + + 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 { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private List fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public List getFileList() { + return fileList; + } + + public void setFileList(List fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public static class FileListModel { + private String assetId; + private String createTime; + private String createUser; + private String fileName; + private String id; + private int isDel; + private String minioFileName; + private String remark; + private String updateTime; + + public String getAssetId() { + return assetId; + } + + public void setAssetId(String assetId) { + this.assetId = assetId; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java new file mode 100644 index 0000000..dc26cd3 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java @@ -0,0 +1,436 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceListModel { + + 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 { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} 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 46e5eef..3382fae 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 @@ -55,4 +55,24 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取标准装置列表 + */ + @POST("/meter/standard/listPage") + suspend fun getStandardDeviceList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String + + /** + * 获取标准装置详情 + */ + @POST("/meter/standard/detail") + suspend fun getStandardDeviceDetail( + @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 386a1d8..1af43c3 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 @@ -142,4 +142,49 @@ ) return api.getEquipmentDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取标准装置列表 + */ + suspend fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject.put("standardNo", standardNo) + paramObject.put("standardName", standardName) + paramObject.put("category", category) + paramObject.put("managerState", managerState) + paramObject.put("standardLaboratory", standardLaboratory) + paramObject.put("preparationDate", preparationDate) + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getStandardDeviceList(AuthenticationHelper.token!!, requestBody, limitMap, offsetMap) + } + + /** + * 获取标准装置详情 + */ + suspend fun getStandardDeviceDetail(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStandardDeviceDetail(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt new file mode 100644 index 0000000..cae747c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -0,0 +1,151 @@ +package com.casic.xz.meterage.view.home + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.search.SearchStandardDeviceActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_standard_device.* +import kotlinx.android.synthetic.main.include_empty_view.* +import kotlinx.android.synthetic.main.include_search_title.* + +class StandardDeviceActivity : KotlinBaseActivity() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020901) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + rightOperateView.setOnClickListener { + navigatePageTo() + } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + "", + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020901 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt new file mode 100644 index 0000000..0f3cfb4 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -0,0 +1,51 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +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.device.* +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_device_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardDeviceDetailActivity : KotlinBaseActivity() { + + private var fragmentPages: ArrayList = ArrayList() + + override fun initData() { + val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! + + fragmentPages.add(BasicInformationFragment(deviceId)) + fragmentPages.add(MeasurementPersonFragment()) + fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(UsageRecordFragment()) + fragmentPages.add(CertificateFragment()) + + val devicePageTitles = arrayOf("基础信息", "计量人员", "标准配套设备", "使用记录", "检定证书") + deiceViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, devicePageTitles + ) + deiceViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(deiceViewPager) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device_detail + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt index b053e85..e645c7c 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt @@ -33,4 +33,9 @@ ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt index cf22646..a64791f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt @@ -8,7 +8,7 @@ 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_basic_information.* +import kotlinx.android.synthetic.main.fragment_equipment_basic_information.* class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { @@ -86,7 +86,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_basic_information + override fun initLayoutView(): Int = R.layout.fragment_equipment_basic_information override fun observeRequestState() { equipmentViewModel.loadState.observe(this, { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt index 0b4a747..1c55901 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_certificate + override fun initLayoutView(): Int = R.layout.fragment_equipment_certificate override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt index f05c491..394fae6 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_change_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_change_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt index 849ffa5..dd02b42 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_inspection_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_inspection_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index aa4edd9..29a3d26 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_usage_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_usage_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java new file mode 100644 index 0000000..f3ada98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java @@ -0,0 +1,499 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceDetailModel { + + 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 { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private List fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public List getFileList() { + return fileList; + } + + public void setFileList(List fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public static class FileListModel { + private String assetId; + private String createTime; + private String createUser; + private String fileName; + private String id; + private int isDel; + private String minioFileName; + private String remark; + private String updateTime; + + public String getAssetId() { + return assetId; + } + + public void setAssetId(String assetId) { + this.assetId = assetId; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java new file mode 100644 index 0000000..dc26cd3 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java @@ -0,0 +1,436 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceListModel { + + 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 { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} 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 46e5eef..3382fae 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 @@ -55,4 +55,24 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取标准装置列表 + */ + @POST("/meter/standard/listPage") + suspend fun getStandardDeviceList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String + + /** + * 获取标准装置详情 + */ + @POST("/meter/standard/detail") + suspend fun getStandardDeviceDetail( + @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 386a1d8..1af43c3 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 @@ -142,4 +142,49 @@ ) return api.getEquipmentDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取标准装置列表 + */ + suspend fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject.put("standardNo", standardNo) + paramObject.put("standardName", standardName) + paramObject.put("category", category) + paramObject.put("managerState", managerState) + paramObject.put("standardLaboratory", standardLaboratory) + paramObject.put("preparationDate", preparationDate) + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getStandardDeviceList(AuthenticationHelper.token!!, requestBody, limitMap, offsetMap) + } + + /** + * 获取标准装置详情 + */ + suspend fun getStandardDeviceDetail(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStandardDeviceDetail(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt new file mode 100644 index 0000000..cae747c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -0,0 +1,151 @@ +package com.casic.xz.meterage.view.home + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.search.SearchStandardDeviceActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_standard_device.* +import kotlinx.android.synthetic.main.include_empty_view.* +import kotlinx.android.synthetic.main.include_search_title.* + +class StandardDeviceActivity : KotlinBaseActivity() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020901) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + rightOperateView.setOnClickListener { + navigatePageTo() + } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + "", + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020901 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt new file mode 100644 index 0000000..0f3cfb4 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -0,0 +1,51 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +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.device.* +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_device_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardDeviceDetailActivity : KotlinBaseActivity() { + + private var fragmentPages: ArrayList = ArrayList() + + override fun initData() { + val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! + + fragmentPages.add(BasicInformationFragment(deviceId)) + fragmentPages.add(MeasurementPersonFragment()) + fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(UsageRecordFragment()) + fragmentPages.add(CertificateFragment()) + + val devicePageTitles = arrayOf("基础信息", "计量人员", "标准配套设备", "使用记录", "检定证书") + deiceViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, devicePageTitles + ) + deiceViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(deiceViewPager) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device_detail + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt index b053e85..e645c7c 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt @@ -33,4 +33,9 @@ ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt new file mode 100644 index 0000000..d9d73af --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt @@ -0,0 +1,41 @@ +package com.casic.xz.meterage.view.search + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import kotlinx.android.synthetic.main.activity_search_standard_device.* + +/** + * 搜索标准装置 + * */ +class SearchStandardDeviceActivity : KotlinBaseActivity() { + + override fun initData() { + + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + searchTextView.setOnClickListener { + navigatePageTo(inputView.text.toString()) + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt index cf22646..a64791f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt @@ -8,7 +8,7 @@ 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_basic_information.* +import kotlinx.android.synthetic.main.fragment_equipment_basic_information.* class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { @@ -86,7 +86,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_basic_information + override fun initLayoutView(): Int = R.layout.fragment_equipment_basic_information override fun observeRequestState() { equipmentViewModel.loadState.observe(this, { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt index 0b4a747..1c55901 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_certificate + override fun initLayoutView(): Int = R.layout.fragment_equipment_certificate override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt index f05c491..394fae6 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_change_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_change_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt index 849ffa5..dd02b42 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_inspection_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_inspection_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index aa4edd9..29a3d26 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_usage_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_usage_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java new file mode 100644 index 0000000..f3ada98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java @@ -0,0 +1,499 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceDetailModel { + + 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 { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private List fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public List getFileList() { + return fileList; + } + + public void setFileList(List fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public static class FileListModel { + private String assetId; + private String createTime; + private String createUser; + private String fileName; + private String id; + private int isDel; + private String minioFileName; + private String remark; + private String updateTime; + + public String getAssetId() { + return assetId; + } + + public void setAssetId(String assetId) { + this.assetId = assetId; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java new file mode 100644 index 0000000..dc26cd3 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java @@ -0,0 +1,436 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceListModel { + + 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 { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} 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 46e5eef..3382fae 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 @@ -55,4 +55,24 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取标准装置列表 + */ + @POST("/meter/standard/listPage") + suspend fun getStandardDeviceList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String + + /** + * 获取标准装置详情 + */ + @POST("/meter/standard/detail") + suspend fun getStandardDeviceDetail( + @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 386a1d8..1af43c3 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 @@ -142,4 +142,49 @@ ) return api.getEquipmentDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取标准装置列表 + */ + suspend fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject.put("standardNo", standardNo) + paramObject.put("standardName", standardName) + paramObject.put("category", category) + paramObject.put("managerState", managerState) + paramObject.put("standardLaboratory", standardLaboratory) + paramObject.put("preparationDate", preparationDate) + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getStandardDeviceList(AuthenticationHelper.token!!, requestBody, limitMap, offsetMap) + } + + /** + * 获取标准装置详情 + */ + suspend fun getStandardDeviceDetail(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStandardDeviceDetail(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt new file mode 100644 index 0000000..cae747c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -0,0 +1,151 @@ +package com.casic.xz.meterage.view.home + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.search.SearchStandardDeviceActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_standard_device.* +import kotlinx.android.synthetic.main.include_empty_view.* +import kotlinx.android.synthetic.main.include_search_title.* + +class StandardDeviceActivity : KotlinBaseActivity() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020901) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + rightOperateView.setOnClickListener { + navigatePageTo() + } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + "", + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020901 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt new file mode 100644 index 0000000..0f3cfb4 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -0,0 +1,51 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +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.device.* +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_device_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardDeviceDetailActivity : KotlinBaseActivity() { + + private var fragmentPages: ArrayList = ArrayList() + + override fun initData() { + val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! + + fragmentPages.add(BasicInformationFragment(deviceId)) + fragmentPages.add(MeasurementPersonFragment()) + fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(UsageRecordFragment()) + fragmentPages.add(CertificateFragment()) + + val devicePageTitles = arrayOf("基础信息", "计量人员", "标准配套设备", "使用记录", "检定证书") + deiceViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, devicePageTitles + ) + deiceViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(deiceViewPager) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device_detail + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt index b053e85..e645c7c 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt @@ -33,4 +33,9 @@ ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt new file mode 100644 index 0000000..d9d73af --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt @@ -0,0 +1,41 @@ +package com.casic.xz.meterage.view.search + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import kotlinx.android.synthetic.main.activity_search_standard_device.* + +/** + * 搜索标准装置 + * */ +class SearchStandardDeviceActivity : KotlinBaseActivity() { + + override fun initData() { + + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + searchTextView.setOnClickListener { + navigatePageTo(inputView.text.toString()) + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt new file mode 100644 index 0000000..5e19d4e --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -0,0 +1,152 @@ +package com.casic.xz.meterage.view.search + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.home.StandardDeviceDetailActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_search_standard_device_reasult.* +import kotlinx.android.synthetic.main.include_base_title.* +import kotlinx.android.synthetic.main.include_empty_view.* + +class SearchStandardDeviceResultActivity : KotlinBaseActivity() { + + private lateinit var param: String + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + param = intent.getStringExtra(Constant.INTENT_PARAM)!! + + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020902) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device_reasult + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "查询结果" + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + param, + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020902 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt index cf22646..a64791f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt @@ -8,7 +8,7 @@ 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_basic_information.* +import kotlinx.android.synthetic.main.fragment_equipment_basic_information.* class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { @@ -86,7 +86,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_basic_information + override fun initLayoutView(): Int = R.layout.fragment_equipment_basic_information override fun observeRequestState() { equipmentViewModel.loadState.observe(this, { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt index 0b4a747..1c55901 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_certificate + override fun initLayoutView(): Int = R.layout.fragment_equipment_certificate override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt index f05c491..394fae6 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_change_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_change_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt index 849ffa5..dd02b42 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_inspection_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_inspection_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index aa4edd9..29a3d26 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_usage_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_usage_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java new file mode 100644 index 0000000..f3ada98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java @@ -0,0 +1,499 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceDetailModel { + + 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 { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private List fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public List getFileList() { + return fileList; + } + + public void setFileList(List fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public static class FileListModel { + private String assetId; + private String createTime; + private String createUser; + private String fileName; + private String id; + private int isDel; + private String minioFileName; + private String remark; + private String updateTime; + + public String getAssetId() { + return assetId; + } + + public void setAssetId(String assetId) { + this.assetId = assetId; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java new file mode 100644 index 0000000..dc26cd3 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java @@ -0,0 +1,436 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceListModel { + + 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 { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} 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 46e5eef..3382fae 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 @@ -55,4 +55,24 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取标准装置列表 + */ + @POST("/meter/standard/listPage") + suspend fun getStandardDeviceList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String + + /** + * 获取标准装置详情 + */ + @POST("/meter/standard/detail") + suspend fun getStandardDeviceDetail( + @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 386a1d8..1af43c3 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 @@ -142,4 +142,49 @@ ) return api.getEquipmentDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取标准装置列表 + */ + suspend fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject.put("standardNo", standardNo) + paramObject.put("standardName", standardName) + paramObject.put("category", category) + paramObject.put("managerState", managerState) + paramObject.put("standardLaboratory", standardLaboratory) + paramObject.put("preparationDate", preparationDate) + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getStandardDeviceList(AuthenticationHelper.token!!, requestBody, limitMap, offsetMap) + } + + /** + * 获取标准装置详情 + */ + suspend fun getStandardDeviceDetail(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStandardDeviceDetail(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt new file mode 100644 index 0000000..cae747c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -0,0 +1,151 @@ +package com.casic.xz.meterage.view.home + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.search.SearchStandardDeviceActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_standard_device.* +import kotlinx.android.synthetic.main.include_empty_view.* +import kotlinx.android.synthetic.main.include_search_title.* + +class StandardDeviceActivity : KotlinBaseActivity() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020901) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + rightOperateView.setOnClickListener { + navigatePageTo() + } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + "", + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020901 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt new file mode 100644 index 0000000..0f3cfb4 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -0,0 +1,51 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +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.device.* +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_device_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardDeviceDetailActivity : KotlinBaseActivity() { + + private var fragmentPages: ArrayList = ArrayList() + + override fun initData() { + val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! + + fragmentPages.add(BasicInformationFragment(deviceId)) + fragmentPages.add(MeasurementPersonFragment()) + fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(UsageRecordFragment()) + fragmentPages.add(CertificateFragment()) + + val devicePageTitles = arrayOf("基础信息", "计量人员", "标准配套设备", "使用记录", "检定证书") + deiceViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, devicePageTitles + ) + deiceViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(deiceViewPager) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device_detail + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt index b053e85..e645c7c 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt @@ -33,4 +33,9 @@ ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt new file mode 100644 index 0000000..d9d73af --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt @@ -0,0 +1,41 @@ +package com.casic.xz.meterage.view.search + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import kotlinx.android.synthetic.main.activity_search_standard_device.* + +/** + * 搜索标准装置 + * */ +class SearchStandardDeviceActivity : KotlinBaseActivity() { + + override fun initData() { + + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + searchTextView.setOnClickListener { + navigatePageTo(inputView.text.toString()) + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt new file mode 100644 index 0000000..5e19d4e --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -0,0 +1,152 @@ +package com.casic.xz.meterage.view.search + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.home.StandardDeviceDetailActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_search_standard_device_reasult.* +import kotlinx.android.synthetic.main.include_base_title.* +import kotlinx.android.synthetic.main.include_empty_view.* + +class SearchStandardDeviceResultActivity : KotlinBaseActivity() { + + private lateinit var param: String + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + param = intent.getStringExtra(Constant.INTENT_PARAM)!! + + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020902) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device_reasult + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "查询结果" + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + param, + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020902 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt index b5f21f6..ba281ba 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt @@ -6,6 +6,8 @@ import com.casic.xz.meterage.extensions.toErrorMessage import com.casic.xz.meterage.model.EquipmentDetailModel import com.casic.xz.meterage.model.EquipmentListModel +import com.casic.xz.meterage.model.StandardDeviceDetailModel +import com.casic.xz.meterage.model.StandardDeviceListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -19,6 +21,8 @@ private val gson by lazy { Gson() } val equipmentResult = MutableLiveData() val equipmentDetailResult = MutableLiveData() + val standardDeviceResult = MutableLiveData() + val standardDeviceDetailResult = MutableLiveData() fun getEquipmentList( equipmentNo: String, @@ -89,4 +93,58 @@ loadState.value = LoadState.Fail it.printStackTrace() }) + + fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceList( + standardNo, + standardName, + category, + managerState, + standardLaboratory, + preparationDate, + id, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) + + fun getStandardDeviceDetail(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceDetail(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceDetailResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt index cf22646..a64791f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt @@ -8,7 +8,7 @@ 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_basic_information.* +import kotlinx.android.synthetic.main.fragment_equipment_basic_information.* class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { @@ -86,7 +86,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_basic_information + override fun initLayoutView(): Int = R.layout.fragment_equipment_basic_information override fun observeRequestState() { equipmentViewModel.loadState.observe(this, { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt index 0b4a747..1c55901 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_certificate + override fun initLayoutView(): Int = R.layout.fragment_equipment_certificate override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt index f05c491..394fae6 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_change_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_change_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt index 849ffa5..dd02b42 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_inspection_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_inspection_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index aa4edd9..29a3d26 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_usage_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_usage_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java new file mode 100644 index 0000000..f3ada98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java @@ -0,0 +1,499 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceDetailModel { + + 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 { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private List fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public List getFileList() { + return fileList; + } + + public void setFileList(List fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public static class FileListModel { + private String assetId; + private String createTime; + private String createUser; + private String fileName; + private String id; + private int isDel; + private String minioFileName; + private String remark; + private String updateTime; + + public String getAssetId() { + return assetId; + } + + public void setAssetId(String assetId) { + this.assetId = assetId; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java new file mode 100644 index 0000000..dc26cd3 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java @@ -0,0 +1,436 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceListModel { + + 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 { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} 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 46e5eef..3382fae 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 @@ -55,4 +55,24 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取标准装置列表 + */ + @POST("/meter/standard/listPage") + suspend fun getStandardDeviceList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String + + /** + * 获取标准装置详情 + */ + @POST("/meter/standard/detail") + suspend fun getStandardDeviceDetail( + @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 386a1d8..1af43c3 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 @@ -142,4 +142,49 @@ ) return api.getEquipmentDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取标准装置列表 + */ + suspend fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject.put("standardNo", standardNo) + paramObject.put("standardName", standardName) + paramObject.put("category", category) + paramObject.put("managerState", managerState) + paramObject.put("standardLaboratory", standardLaboratory) + paramObject.put("preparationDate", preparationDate) + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getStandardDeviceList(AuthenticationHelper.token!!, requestBody, limitMap, offsetMap) + } + + /** + * 获取标准装置详情 + */ + suspend fun getStandardDeviceDetail(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStandardDeviceDetail(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt new file mode 100644 index 0000000..cae747c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -0,0 +1,151 @@ +package com.casic.xz.meterage.view.home + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.search.SearchStandardDeviceActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_standard_device.* +import kotlinx.android.synthetic.main.include_empty_view.* +import kotlinx.android.synthetic.main.include_search_title.* + +class StandardDeviceActivity : KotlinBaseActivity() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020901) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + rightOperateView.setOnClickListener { + navigatePageTo() + } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + "", + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020901 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt new file mode 100644 index 0000000..0f3cfb4 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -0,0 +1,51 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +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.device.* +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_device_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardDeviceDetailActivity : KotlinBaseActivity() { + + private var fragmentPages: ArrayList = ArrayList() + + override fun initData() { + val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! + + fragmentPages.add(BasicInformationFragment(deviceId)) + fragmentPages.add(MeasurementPersonFragment()) + fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(UsageRecordFragment()) + fragmentPages.add(CertificateFragment()) + + val devicePageTitles = arrayOf("基础信息", "计量人员", "标准配套设备", "使用记录", "检定证书") + deiceViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, devicePageTitles + ) + deiceViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(deiceViewPager) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device_detail + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt index b053e85..e645c7c 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt @@ -33,4 +33,9 @@ ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt new file mode 100644 index 0000000..d9d73af --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt @@ -0,0 +1,41 @@ +package com.casic.xz.meterage.view.search + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import kotlinx.android.synthetic.main.activity_search_standard_device.* + +/** + * 搜索标准装置 + * */ +class SearchStandardDeviceActivity : KotlinBaseActivity() { + + override fun initData() { + + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + searchTextView.setOnClickListener { + navigatePageTo(inputView.text.toString()) + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt new file mode 100644 index 0000000..5e19d4e --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -0,0 +1,152 @@ +package com.casic.xz.meterage.view.search + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.home.StandardDeviceDetailActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_search_standard_device_reasult.* +import kotlinx.android.synthetic.main.include_base_title.* +import kotlinx.android.synthetic.main.include_empty_view.* + +class SearchStandardDeviceResultActivity : KotlinBaseActivity() { + + private lateinit var param: String + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + param = intent.getStringExtra(Constant.INTENT_PARAM)!! + + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020902) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device_reasult + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "查询结果" + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + param, + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020902 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt index b5f21f6..ba281ba 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt @@ -6,6 +6,8 @@ import com.casic.xz.meterage.extensions.toErrorMessage import com.casic.xz.meterage.model.EquipmentDetailModel import com.casic.xz.meterage.model.EquipmentListModel +import com.casic.xz.meterage.model.StandardDeviceDetailModel +import com.casic.xz.meterage.model.StandardDeviceListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -19,6 +21,8 @@ private val gson by lazy { Gson() } val equipmentResult = MutableLiveData() val equipmentDetailResult = MutableLiveData() + val standardDeviceResult = MutableLiveData() + val standardDeviceDetailResult = MutableLiveData() fun getEquipmentList( equipmentNo: String, @@ -89,4 +93,58 @@ loadState.value = LoadState.Fail it.printStackTrace() }) + + fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceList( + standardNo, + standardName, + category, + managerState, + standardLaboratory, + preparationDate, + id, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) + + fun getStandardDeviceDetail(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceDetail(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceDetailResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_equipment.xml b/app/src/main/res/layout/activity_search_equipment.xml index a960801..c06b8d2 100644 --- a/app/src/main/res/layout/activity_search_equipment.xml +++ b/app/src/main/res/layout/activity_search_equipment.xml @@ -2,7 +2,8 @@ + android:layout_height="match_parent" + android:orientation="vertical"> + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt index cf22646..a64791f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt @@ -8,7 +8,7 @@ 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_basic_information.* +import kotlinx.android.synthetic.main.fragment_equipment_basic_information.* class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { @@ -86,7 +86,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_basic_information + override fun initLayoutView(): Int = R.layout.fragment_equipment_basic_information override fun observeRequestState() { equipmentViewModel.loadState.observe(this, { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt index 0b4a747..1c55901 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_certificate + override fun initLayoutView(): Int = R.layout.fragment_equipment_certificate override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt index f05c491..394fae6 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_change_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_change_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt index 849ffa5..dd02b42 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_inspection_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_inspection_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index aa4edd9..29a3d26 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_usage_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_usage_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java new file mode 100644 index 0000000..f3ada98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java @@ -0,0 +1,499 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceDetailModel { + + 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 { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private List fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public List getFileList() { + return fileList; + } + + public void setFileList(List fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public static class FileListModel { + private String assetId; + private String createTime; + private String createUser; + private String fileName; + private String id; + private int isDel; + private String minioFileName; + private String remark; + private String updateTime; + + public String getAssetId() { + return assetId; + } + + public void setAssetId(String assetId) { + this.assetId = assetId; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java new file mode 100644 index 0000000..dc26cd3 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java @@ -0,0 +1,436 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceListModel { + + 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 { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} 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 46e5eef..3382fae 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 @@ -55,4 +55,24 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取标准装置列表 + */ + @POST("/meter/standard/listPage") + suspend fun getStandardDeviceList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String + + /** + * 获取标准装置详情 + */ + @POST("/meter/standard/detail") + suspend fun getStandardDeviceDetail( + @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 386a1d8..1af43c3 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 @@ -142,4 +142,49 @@ ) return api.getEquipmentDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取标准装置列表 + */ + suspend fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject.put("standardNo", standardNo) + paramObject.put("standardName", standardName) + paramObject.put("category", category) + paramObject.put("managerState", managerState) + paramObject.put("standardLaboratory", standardLaboratory) + paramObject.put("preparationDate", preparationDate) + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getStandardDeviceList(AuthenticationHelper.token!!, requestBody, limitMap, offsetMap) + } + + /** + * 获取标准装置详情 + */ + suspend fun getStandardDeviceDetail(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStandardDeviceDetail(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt new file mode 100644 index 0000000..cae747c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -0,0 +1,151 @@ +package com.casic.xz.meterage.view.home + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.search.SearchStandardDeviceActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_standard_device.* +import kotlinx.android.synthetic.main.include_empty_view.* +import kotlinx.android.synthetic.main.include_search_title.* + +class StandardDeviceActivity : KotlinBaseActivity() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020901) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + rightOperateView.setOnClickListener { + navigatePageTo() + } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + "", + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020901 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt new file mode 100644 index 0000000..0f3cfb4 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -0,0 +1,51 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +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.device.* +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_device_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardDeviceDetailActivity : KotlinBaseActivity() { + + private var fragmentPages: ArrayList = ArrayList() + + override fun initData() { + val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! + + fragmentPages.add(BasicInformationFragment(deviceId)) + fragmentPages.add(MeasurementPersonFragment()) + fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(UsageRecordFragment()) + fragmentPages.add(CertificateFragment()) + + val devicePageTitles = arrayOf("基础信息", "计量人员", "标准配套设备", "使用记录", "检定证书") + deiceViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, devicePageTitles + ) + deiceViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(deiceViewPager) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device_detail + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt index b053e85..e645c7c 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt @@ -33,4 +33,9 @@ ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt new file mode 100644 index 0000000..d9d73af --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt @@ -0,0 +1,41 @@ +package com.casic.xz.meterage.view.search + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import kotlinx.android.synthetic.main.activity_search_standard_device.* + +/** + * 搜索标准装置 + * */ +class SearchStandardDeviceActivity : KotlinBaseActivity() { + + override fun initData() { + + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + searchTextView.setOnClickListener { + navigatePageTo(inputView.text.toString()) + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt new file mode 100644 index 0000000..5e19d4e --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -0,0 +1,152 @@ +package com.casic.xz.meterage.view.search + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.home.StandardDeviceDetailActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_search_standard_device_reasult.* +import kotlinx.android.synthetic.main.include_base_title.* +import kotlinx.android.synthetic.main.include_empty_view.* + +class SearchStandardDeviceResultActivity : KotlinBaseActivity() { + + private lateinit var param: String + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + param = intent.getStringExtra(Constant.INTENT_PARAM)!! + + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020902) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device_reasult + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "查询结果" + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + param, + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020902 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt index b5f21f6..ba281ba 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt @@ -6,6 +6,8 @@ import com.casic.xz.meterage.extensions.toErrorMessage import com.casic.xz.meterage.model.EquipmentDetailModel import com.casic.xz.meterage.model.EquipmentListModel +import com.casic.xz.meterage.model.StandardDeviceDetailModel +import com.casic.xz.meterage.model.StandardDeviceListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -19,6 +21,8 @@ private val gson by lazy { Gson() } val equipmentResult = MutableLiveData() val equipmentDetailResult = MutableLiveData() + val standardDeviceResult = MutableLiveData() + val standardDeviceDetailResult = MutableLiveData() fun getEquipmentList( equipmentNo: String, @@ -89,4 +93,58 @@ loadState.value = LoadState.Fail it.printStackTrace() }) + + fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceList( + standardNo, + standardName, + category, + managerState, + standardLaboratory, + preparationDate, + id, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) + + fun getStandardDeviceDetail(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceDetail(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceDetailResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_equipment.xml b/app/src/main/res/layout/activity_search_equipment.xml index a960801..c06b8d2 100644 --- a/app/src/main/res/layout/activity_search_equipment.xml +++ b/app/src/main/res/layout/activity_search_equipment.xml @@ -2,7 +2,8 @@ + android:layout_height="match_parent" + android:orientation="vertical"> + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device.xml b/app/src/main/res/layout/activity_search_standard_device.xml new file mode 100644 index 0000000..78d1018 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt index cf22646..a64791f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt @@ -8,7 +8,7 @@ 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_basic_information.* +import kotlinx.android.synthetic.main.fragment_equipment_basic_information.* class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { @@ -86,7 +86,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_basic_information + override fun initLayoutView(): Int = R.layout.fragment_equipment_basic_information override fun observeRequestState() { equipmentViewModel.loadState.observe(this, { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt index 0b4a747..1c55901 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_certificate + override fun initLayoutView(): Int = R.layout.fragment_equipment_certificate override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt index f05c491..394fae6 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_change_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_change_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt index 849ffa5..dd02b42 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_inspection_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_inspection_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index aa4edd9..29a3d26 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_usage_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_usage_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java new file mode 100644 index 0000000..f3ada98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java @@ -0,0 +1,499 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceDetailModel { + + 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 { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private List fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public List getFileList() { + return fileList; + } + + public void setFileList(List fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public static class FileListModel { + private String assetId; + private String createTime; + private String createUser; + private String fileName; + private String id; + private int isDel; + private String minioFileName; + private String remark; + private String updateTime; + + public String getAssetId() { + return assetId; + } + + public void setAssetId(String assetId) { + this.assetId = assetId; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java new file mode 100644 index 0000000..dc26cd3 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java @@ -0,0 +1,436 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceListModel { + + 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 { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} 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 46e5eef..3382fae 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 @@ -55,4 +55,24 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取标准装置列表 + */ + @POST("/meter/standard/listPage") + suspend fun getStandardDeviceList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String + + /** + * 获取标准装置详情 + */ + @POST("/meter/standard/detail") + suspend fun getStandardDeviceDetail( + @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 386a1d8..1af43c3 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 @@ -142,4 +142,49 @@ ) return api.getEquipmentDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取标准装置列表 + */ + suspend fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject.put("standardNo", standardNo) + paramObject.put("standardName", standardName) + paramObject.put("category", category) + paramObject.put("managerState", managerState) + paramObject.put("standardLaboratory", standardLaboratory) + paramObject.put("preparationDate", preparationDate) + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getStandardDeviceList(AuthenticationHelper.token!!, requestBody, limitMap, offsetMap) + } + + /** + * 获取标准装置详情 + */ + suspend fun getStandardDeviceDetail(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStandardDeviceDetail(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt new file mode 100644 index 0000000..cae747c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -0,0 +1,151 @@ +package com.casic.xz.meterage.view.home + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.search.SearchStandardDeviceActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_standard_device.* +import kotlinx.android.synthetic.main.include_empty_view.* +import kotlinx.android.synthetic.main.include_search_title.* + +class StandardDeviceActivity : KotlinBaseActivity() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020901) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + rightOperateView.setOnClickListener { + navigatePageTo() + } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + "", + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020901 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt new file mode 100644 index 0000000..0f3cfb4 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -0,0 +1,51 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +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.device.* +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_device_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardDeviceDetailActivity : KotlinBaseActivity() { + + private var fragmentPages: ArrayList = ArrayList() + + override fun initData() { + val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! + + fragmentPages.add(BasicInformationFragment(deviceId)) + fragmentPages.add(MeasurementPersonFragment()) + fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(UsageRecordFragment()) + fragmentPages.add(CertificateFragment()) + + val devicePageTitles = arrayOf("基础信息", "计量人员", "标准配套设备", "使用记录", "检定证书") + deiceViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, devicePageTitles + ) + deiceViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(deiceViewPager) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device_detail + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt index b053e85..e645c7c 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt @@ -33,4 +33,9 @@ ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt new file mode 100644 index 0000000..d9d73af --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt @@ -0,0 +1,41 @@ +package com.casic.xz.meterage.view.search + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import kotlinx.android.synthetic.main.activity_search_standard_device.* + +/** + * 搜索标准装置 + * */ +class SearchStandardDeviceActivity : KotlinBaseActivity() { + + override fun initData() { + + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + searchTextView.setOnClickListener { + navigatePageTo(inputView.text.toString()) + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt new file mode 100644 index 0000000..5e19d4e --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -0,0 +1,152 @@ +package com.casic.xz.meterage.view.search + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.home.StandardDeviceDetailActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_search_standard_device_reasult.* +import kotlinx.android.synthetic.main.include_base_title.* +import kotlinx.android.synthetic.main.include_empty_view.* + +class SearchStandardDeviceResultActivity : KotlinBaseActivity() { + + private lateinit var param: String + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + param = intent.getStringExtra(Constant.INTENT_PARAM)!! + + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020902) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device_reasult + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "查询结果" + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + param, + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020902 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt index b5f21f6..ba281ba 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt @@ -6,6 +6,8 @@ import com.casic.xz.meterage.extensions.toErrorMessage import com.casic.xz.meterage.model.EquipmentDetailModel import com.casic.xz.meterage.model.EquipmentListModel +import com.casic.xz.meterage.model.StandardDeviceDetailModel +import com.casic.xz.meterage.model.StandardDeviceListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -19,6 +21,8 @@ private val gson by lazy { Gson() } val equipmentResult = MutableLiveData() val equipmentDetailResult = MutableLiveData() + val standardDeviceResult = MutableLiveData() + val standardDeviceDetailResult = MutableLiveData() fun getEquipmentList( equipmentNo: String, @@ -89,4 +93,58 @@ loadState.value = LoadState.Fail it.printStackTrace() }) + + fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceList( + standardNo, + standardName, + category, + managerState, + standardLaboratory, + preparationDate, + id, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) + + fun getStandardDeviceDetail(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceDetail(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceDetailResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_equipment.xml b/app/src/main/res/layout/activity_search_equipment.xml index a960801..c06b8d2 100644 --- a/app/src/main/res/layout/activity_search_equipment.xml +++ b/app/src/main/res/layout/activity_search_equipment.xml @@ -2,7 +2,8 @@ + android:layout_height="match_parent" + android:orientation="vertical"> + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device.xml b/app/src/main/res/layout/activity_search_standard_device.xml new file mode 100644 index 0000000..78d1018 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device_reasult.xml b/app/src/main/res/layout/activity_search_standard_device_reasult.xml new file mode 100644 index 0000000..74ee063 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device_reasult.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt index cf22646..a64791f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt @@ -8,7 +8,7 @@ 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_basic_information.* +import kotlinx.android.synthetic.main.fragment_equipment_basic_information.* class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { @@ -86,7 +86,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_basic_information + override fun initLayoutView(): Int = R.layout.fragment_equipment_basic_information override fun observeRequestState() { equipmentViewModel.loadState.observe(this, { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt index 0b4a747..1c55901 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_certificate + override fun initLayoutView(): Int = R.layout.fragment_equipment_certificate override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt index f05c491..394fae6 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_change_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_change_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt index 849ffa5..dd02b42 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_inspection_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_inspection_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index aa4edd9..29a3d26 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_usage_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_usage_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java new file mode 100644 index 0000000..f3ada98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java @@ -0,0 +1,499 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceDetailModel { + + 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 { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private List fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public List getFileList() { + return fileList; + } + + public void setFileList(List fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public static class FileListModel { + private String assetId; + private String createTime; + private String createUser; + private String fileName; + private String id; + private int isDel; + private String minioFileName; + private String remark; + private String updateTime; + + public String getAssetId() { + return assetId; + } + + public void setAssetId(String assetId) { + this.assetId = assetId; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java new file mode 100644 index 0000000..dc26cd3 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java @@ -0,0 +1,436 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceListModel { + + 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 { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} 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 46e5eef..3382fae 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 @@ -55,4 +55,24 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取标准装置列表 + */ + @POST("/meter/standard/listPage") + suspend fun getStandardDeviceList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String + + /** + * 获取标准装置详情 + */ + @POST("/meter/standard/detail") + suspend fun getStandardDeviceDetail( + @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 386a1d8..1af43c3 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 @@ -142,4 +142,49 @@ ) return api.getEquipmentDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取标准装置列表 + */ + suspend fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject.put("standardNo", standardNo) + paramObject.put("standardName", standardName) + paramObject.put("category", category) + paramObject.put("managerState", managerState) + paramObject.put("standardLaboratory", standardLaboratory) + paramObject.put("preparationDate", preparationDate) + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getStandardDeviceList(AuthenticationHelper.token!!, requestBody, limitMap, offsetMap) + } + + /** + * 获取标准装置详情 + */ + suspend fun getStandardDeviceDetail(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStandardDeviceDetail(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt new file mode 100644 index 0000000..cae747c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -0,0 +1,151 @@ +package com.casic.xz.meterage.view.home + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.search.SearchStandardDeviceActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_standard_device.* +import kotlinx.android.synthetic.main.include_empty_view.* +import kotlinx.android.synthetic.main.include_search_title.* + +class StandardDeviceActivity : KotlinBaseActivity() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020901) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + rightOperateView.setOnClickListener { + navigatePageTo() + } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + "", + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020901 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt new file mode 100644 index 0000000..0f3cfb4 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -0,0 +1,51 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +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.device.* +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_device_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardDeviceDetailActivity : KotlinBaseActivity() { + + private var fragmentPages: ArrayList = ArrayList() + + override fun initData() { + val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! + + fragmentPages.add(BasicInformationFragment(deviceId)) + fragmentPages.add(MeasurementPersonFragment()) + fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(UsageRecordFragment()) + fragmentPages.add(CertificateFragment()) + + val devicePageTitles = arrayOf("基础信息", "计量人员", "标准配套设备", "使用记录", "检定证书") + deiceViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, devicePageTitles + ) + deiceViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(deiceViewPager) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device_detail + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt index b053e85..e645c7c 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt @@ -33,4 +33,9 @@ ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt new file mode 100644 index 0000000..d9d73af --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt @@ -0,0 +1,41 @@ +package com.casic.xz.meterage.view.search + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import kotlinx.android.synthetic.main.activity_search_standard_device.* + +/** + * 搜索标准装置 + * */ +class SearchStandardDeviceActivity : KotlinBaseActivity() { + + override fun initData() { + + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + searchTextView.setOnClickListener { + navigatePageTo(inputView.text.toString()) + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt new file mode 100644 index 0000000..5e19d4e --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -0,0 +1,152 @@ +package com.casic.xz.meterage.view.search + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.home.StandardDeviceDetailActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_search_standard_device_reasult.* +import kotlinx.android.synthetic.main.include_base_title.* +import kotlinx.android.synthetic.main.include_empty_view.* + +class SearchStandardDeviceResultActivity : KotlinBaseActivity() { + + private lateinit var param: String + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + param = intent.getStringExtra(Constant.INTENT_PARAM)!! + + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020902) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device_reasult + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "查询结果" + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + param, + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020902 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt index b5f21f6..ba281ba 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt @@ -6,6 +6,8 @@ import com.casic.xz.meterage.extensions.toErrorMessage import com.casic.xz.meterage.model.EquipmentDetailModel import com.casic.xz.meterage.model.EquipmentListModel +import com.casic.xz.meterage.model.StandardDeviceDetailModel +import com.casic.xz.meterage.model.StandardDeviceListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -19,6 +21,8 @@ private val gson by lazy { Gson() } val equipmentResult = MutableLiveData() val equipmentDetailResult = MutableLiveData() + val standardDeviceResult = MutableLiveData() + val standardDeviceDetailResult = MutableLiveData() fun getEquipmentList( equipmentNo: String, @@ -89,4 +93,58 @@ loadState.value = LoadState.Fail it.printStackTrace() }) + + fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceList( + standardNo, + standardName, + category, + managerState, + standardLaboratory, + preparationDate, + id, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) + + fun getStandardDeviceDetail(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceDetail(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceDetailResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_equipment.xml b/app/src/main/res/layout/activity_search_equipment.xml index a960801..c06b8d2 100644 --- a/app/src/main/res/layout/activity_search_equipment.xml +++ b/app/src/main/res/layout/activity_search_equipment.xml @@ -2,7 +2,8 @@ + android:layout_height="match_parent" + android:orientation="vertical"> + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device.xml b/app/src/main/res/layout/activity_search_standard_device.xml new file mode 100644 index 0000000..78d1018 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device_reasult.xml b/app/src/main/res/layout/activity_search_standard_device_reasult.xml new file mode 100644 index 0000000..74ee063 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device_reasult.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_device.xml b/app/src/main/res/layout/activity_standard_device.xml new file mode 100644 index 0000000..62a9524 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_device.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt index cf22646..a64791f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt @@ -8,7 +8,7 @@ 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_basic_information.* +import kotlinx.android.synthetic.main.fragment_equipment_basic_information.* class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { @@ -86,7 +86,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_basic_information + override fun initLayoutView(): Int = R.layout.fragment_equipment_basic_information override fun observeRequestState() { equipmentViewModel.loadState.observe(this, { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt index 0b4a747..1c55901 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_certificate + override fun initLayoutView(): Int = R.layout.fragment_equipment_certificate override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt index f05c491..394fae6 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_change_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_change_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt index 849ffa5..dd02b42 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_inspection_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_inspection_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index aa4edd9..29a3d26 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_usage_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_usage_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java new file mode 100644 index 0000000..f3ada98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java @@ -0,0 +1,499 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceDetailModel { + + 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 { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private List fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public List getFileList() { + return fileList; + } + + public void setFileList(List fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public static class FileListModel { + private String assetId; + private String createTime; + private String createUser; + private String fileName; + private String id; + private int isDel; + private String minioFileName; + private String remark; + private String updateTime; + + public String getAssetId() { + return assetId; + } + + public void setAssetId(String assetId) { + this.assetId = assetId; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java new file mode 100644 index 0000000..dc26cd3 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java @@ -0,0 +1,436 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceListModel { + + 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 { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} 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 46e5eef..3382fae 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 @@ -55,4 +55,24 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取标准装置列表 + */ + @POST("/meter/standard/listPage") + suspend fun getStandardDeviceList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String + + /** + * 获取标准装置详情 + */ + @POST("/meter/standard/detail") + suspend fun getStandardDeviceDetail( + @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 386a1d8..1af43c3 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 @@ -142,4 +142,49 @@ ) return api.getEquipmentDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取标准装置列表 + */ + suspend fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject.put("standardNo", standardNo) + paramObject.put("standardName", standardName) + paramObject.put("category", category) + paramObject.put("managerState", managerState) + paramObject.put("standardLaboratory", standardLaboratory) + paramObject.put("preparationDate", preparationDate) + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getStandardDeviceList(AuthenticationHelper.token!!, requestBody, limitMap, offsetMap) + } + + /** + * 获取标准装置详情 + */ + suspend fun getStandardDeviceDetail(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStandardDeviceDetail(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt new file mode 100644 index 0000000..cae747c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -0,0 +1,151 @@ +package com.casic.xz.meterage.view.home + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.search.SearchStandardDeviceActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_standard_device.* +import kotlinx.android.synthetic.main.include_empty_view.* +import kotlinx.android.synthetic.main.include_search_title.* + +class StandardDeviceActivity : KotlinBaseActivity() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020901) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + rightOperateView.setOnClickListener { + navigatePageTo() + } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + "", + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020901 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt new file mode 100644 index 0000000..0f3cfb4 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -0,0 +1,51 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +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.device.* +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_device_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardDeviceDetailActivity : KotlinBaseActivity() { + + private var fragmentPages: ArrayList = ArrayList() + + override fun initData() { + val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! + + fragmentPages.add(BasicInformationFragment(deviceId)) + fragmentPages.add(MeasurementPersonFragment()) + fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(UsageRecordFragment()) + fragmentPages.add(CertificateFragment()) + + val devicePageTitles = arrayOf("基础信息", "计量人员", "标准配套设备", "使用记录", "检定证书") + deiceViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, devicePageTitles + ) + deiceViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(deiceViewPager) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device_detail + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt index b053e85..e645c7c 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt @@ -33,4 +33,9 @@ ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt new file mode 100644 index 0000000..d9d73af --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt @@ -0,0 +1,41 @@ +package com.casic.xz.meterage.view.search + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import kotlinx.android.synthetic.main.activity_search_standard_device.* + +/** + * 搜索标准装置 + * */ +class SearchStandardDeviceActivity : KotlinBaseActivity() { + + override fun initData() { + + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + searchTextView.setOnClickListener { + navigatePageTo(inputView.text.toString()) + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt new file mode 100644 index 0000000..5e19d4e --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -0,0 +1,152 @@ +package com.casic.xz.meterage.view.search + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.home.StandardDeviceDetailActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_search_standard_device_reasult.* +import kotlinx.android.synthetic.main.include_base_title.* +import kotlinx.android.synthetic.main.include_empty_view.* + +class SearchStandardDeviceResultActivity : KotlinBaseActivity() { + + private lateinit var param: String + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + param = intent.getStringExtra(Constant.INTENT_PARAM)!! + + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020902) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device_reasult + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "查询结果" + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + param, + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020902 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt index b5f21f6..ba281ba 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt @@ -6,6 +6,8 @@ import com.casic.xz.meterage.extensions.toErrorMessage import com.casic.xz.meterage.model.EquipmentDetailModel import com.casic.xz.meterage.model.EquipmentListModel +import com.casic.xz.meterage.model.StandardDeviceDetailModel +import com.casic.xz.meterage.model.StandardDeviceListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -19,6 +21,8 @@ private val gson by lazy { Gson() } val equipmentResult = MutableLiveData() val equipmentDetailResult = MutableLiveData() + val standardDeviceResult = MutableLiveData() + val standardDeviceDetailResult = MutableLiveData() fun getEquipmentList( equipmentNo: String, @@ -89,4 +93,58 @@ loadState.value = LoadState.Fail it.printStackTrace() }) + + fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceList( + standardNo, + standardName, + category, + managerState, + standardLaboratory, + preparationDate, + id, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) + + fun getStandardDeviceDetail(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceDetail(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceDetailResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_equipment.xml b/app/src/main/res/layout/activity_search_equipment.xml index a960801..c06b8d2 100644 --- a/app/src/main/res/layout/activity_search_equipment.xml +++ b/app/src/main/res/layout/activity_search_equipment.xml @@ -2,7 +2,8 @@ + android:layout_height="match_parent" + android:orientation="vertical"> + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device.xml b/app/src/main/res/layout/activity_search_standard_device.xml new file mode 100644 index 0000000..78d1018 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device_reasult.xml b/app/src/main/res/layout/activity_search_standard_device_reasult.xml new file mode 100644 index 0000000..74ee063 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device_reasult.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_device.xml b/app/src/main/res/layout/activity_standard_device.xml new file mode 100644 index 0000000..62a9524 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_device.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_device_detail.xml b/app/src/main/res/layout/activity_standard_device_detail.xml new file mode 100644 index 0000000..b711b87 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_device_detail.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt index cf22646..a64791f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt @@ -8,7 +8,7 @@ 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_basic_information.* +import kotlinx.android.synthetic.main.fragment_equipment_basic_information.* class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { @@ -86,7 +86,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_basic_information + override fun initLayoutView(): Int = R.layout.fragment_equipment_basic_information override fun observeRequestState() { equipmentViewModel.loadState.observe(this, { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt index 0b4a747..1c55901 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_certificate + override fun initLayoutView(): Int = R.layout.fragment_equipment_certificate override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt index f05c491..394fae6 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_change_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_change_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt index 849ffa5..dd02b42 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_inspection_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_inspection_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index aa4edd9..29a3d26 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_usage_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_usage_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java new file mode 100644 index 0000000..f3ada98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java @@ -0,0 +1,499 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceDetailModel { + + 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 { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private List fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public List getFileList() { + return fileList; + } + + public void setFileList(List fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public static class FileListModel { + private String assetId; + private String createTime; + private String createUser; + private String fileName; + private String id; + private int isDel; + private String minioFileName; + private String remark; + private String updateTime; + + public String getAssetId() { + return assetId; + } + + public void setAssetId(String assetId) { + this.assetId = assetId; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java new file mode 100644 index 0000000..dc26cd3 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java @@ -0,0 +1,436 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceListModel { + + 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 { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} 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 46e5eef..3382fae 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 @@ -55,4 +55,24 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取标准装置列表 + */ + @POST("/meter/standard/listPage") + suspend fun getStandardDeviceList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String + + /** + * 获取标准装置详情 + */ + @POST("/meter/standard/detail") + suspend fun getStandardDeviceDetail( + @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 386a1d8..1af43c3 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 @@ -142,4 +142,49 @@ ) return api.getEquipmentDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取标准装置列表 + */ + suspend fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject.put("standardNo", standardNo) + paramObject.put("standardName", standardName) + paramObject.put("category", category) + paramObject.put("managerState", managerState) + paramObject.put("standardLaboratory", standardLaboratory) + paramObject.put("preparationDate", preparationDate) + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getStandardDeviceList(AuthenticationHelper.token!!, requestBody, limitMap, offsetMap) + } + + /** + * 获取标准装置详情 + */ + suspend fun getStandardDeviceDetail(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStandardDeviceDetail(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt new file mode 100644 index 0000000..cae747c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -0,0 +1,151 @@ +package com.casic.xz.meterage.view.home + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.search.SearchStandardDeviceActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_standard_device.* +import kotlinx.android.synthetic.main.include_empty_view.* +import kotlinx.android.synthetic.main.include_search_title.* + +class StandardDeviceActivity : KotlinBaseActivity() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020901) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + rightOperateView.setOnClickListener { + navigatePageTo() + } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + "", + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020901 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt new file mode 100644 index 0000000..0f3cfb4 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -0,0 +1,51 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +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.device.* +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_device_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardDeviceDetailActivity : KotlinBaseActivity() { + + private var fragmentPages: ArrayList = ArrayList() + + override fun initData() { + val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! + + fragmentPages.add(BasicInformationFragment(deviceId)) + fragmentPages.add(MeasurementPersonFragment()) + fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(UsageRecordFragment()) + fragmentPages.add(CertificateFragment()) + + val devicePageTitles = arrayOf("基础信息", "计量人员", "标准配套设备", "使用记录", "检定证书") + deiceViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, devicePageTitles + ) + deiceViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(deiceViewPager) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device_detail + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt index b053e85..e645c7c 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt @@ -33,4 +33,9 @@ ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt new file mode 100644 index 0000000..d9d73af --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt @@ -0,0 +1,41 @@ +package com.casic.xz.meterage.view.search + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import kotlinx.android.synthetic.main.activity_search_standard_device.* + +/** + * 搜索标准装置 + * */ +class SearchStandardDeviceActivity : KotlinBaseActivity() { + + override fun initData() { + + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + searchTextView.setOnClickListener { + navigatePageTo(inputView.text.toString()) + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt new file mode 100644 index 0000000..5e19d4e --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -0,0 +1,152 @@ +package com.casic.xz.meterage.view.search + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.home.StandardDeviceDetailActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_search_standard_device_reasult.* +import kotlinx.android.synthetic.main.include_base_title.* +import kotlinx.android.synthetic.main.include_empty_view.* + +class SearchStandardDeviceResultActivity : KotlinBaseActivity() { + + private lateinit var param: String + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + param = intent.getStringExtra(Constant.INTENT_PARAM)!! + + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020902) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device_reasult + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "查询结果" + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + param, + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020902 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt index b5f21f6..ba281ba 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt @@ -6,6 +6,8 @@ import com.casic.xz.meterage.extensions.toErrorMessage import com.casic.xz.meterage.model.EquipmentDetailModel import com.casic.xz.meterage.model.EquipmentListModel +import com.casic.xz.meterage.model.StandardDeviceDetailModel +import com.casic.xz.meterage.model.StandardDeviceListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -19,6 +21,8 @@ private val gson by lazy { Gson() } val equipmentResult = MutableLiveData() val equipmentDetailResult = MutableLiveData() + val standardDeviceResult = MutableLiveData() + val standardDeviceDetailResult = MutableLiveData() fun getEquipmentList( equipmentNo: String, @@ -89,4 +93,58 @@ loadState.value = LoadState.Fail it.printStackTrace() }) + + fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceList( + standardNo, + standardName, + category, + managerState, + standardLaboratory, + preparationDate, + id, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) + + fun getStandardDeviceDetail(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceDetail(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceDetailResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_equipment.xml b/app/src/main/res/layout/activity_search_equipment.xml index a960801..c06b8d2 100644 --- a/app/src/main/res/layout/activity_search_equipment.xml +++ b/app/src/main/res/layout/activity_search_equipment.xml @@ -2,7 +2,8 @@ + android:layout_height="match_parent" + android:orientation="vertical"> + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device.xml b/app/src/main/res/layout/activity_search_standard_device.xml new file mode 100644 index 0000000..78d1018 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device_reasult.xml b/app/src/main/res/layout/activity_search_standard_device_reasult.xml new file mode 100644 index 0000000..74ee063 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device_reasult.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_device.xml b/app/src/main/res/layout/activity_standard_device.xml new file mode 100644 index 0000000..62a9524 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_device.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_device_detail.xml b/app/src/main/res/layout/activity_standard_device_detail.xml new file mode 100644 index 0000000..b711b87 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_device_detail.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_basic_information.xml b/app/src/main/res/layout/fragment_basic_information.xml deleted file mode 100644 index 4a3c1c7..0000000 --- a/app/src/main/res/layout/fragment_basic_information.xml +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt index cf22646..a64791f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt @@ -8,7 +8,7 @@ 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_basic_information.* +import kotlinx.android.synthetic.main.fragment_equipment_basic_information.* class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { @@ -86,7 +86,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_basic_information + override fun initLayoutView(): Int = R.layout.fragment_equipment_basic_information override fun observeRequestState() { equipmentViewModel.loadState.observe(this, { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt index 0b4a747..1c55901 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_certificate + override fun initLayoutView(): Int = R.layout.fragment_equipment_certificate override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt index f05c491..394fae6 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_change_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_change_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt index 849ffa5..dd02b42 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_inspection_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_inspection_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index aa4edd9..29a3d26 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_usage_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_usage_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java new file mode 100644 index 0000000..f3ada98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java @@ -0,0 +1,499 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceDetailModel { + + 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 { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private List fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public List getFileList() { + return fileList; + } + + public void setFileList(List fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public static class FileListModel { + private String assetId; + private String createTime; + private String createUser; + private String fileName; + private String id; + private int isDel; + private String minioFileName; + private String remark; + private String updateTime; + + public String getAssetId() { + return assetId; + } + + public void setAssetId(String assetId) { + this.assetId = assetId; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java new file mode 100644 index 0000000..dc26cd3 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java @@ -0,0 +1,436 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceListModel { + + 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 { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} 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 46e5eef..3382fae 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 @@ -55,4 +55,24 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取标准装置列表 + */ + @POST("/meter/standard/listPage") + suspend fun getStandardDeviceList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String + + /** + * 获取标准装置详情 + */ + @POST("/meter/standard/detail") + suspend fun getStandardDeviceDetail( + @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 386a1d8..1af43c3 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 @@ -142,4 +142,49 @@ ) return api.getEquipmentDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取标准装置列表 + */ + suspend fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject.put("standardNo", standardNo) + paramObject.put("standardName", standardName) + paramObject.put("category", category) + paramObject.put("managerState", managerState) + paramObject.put("standardLaboratory", standardLaboratory) + paramObject.put("preparationDate", preparationDate) + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getStandardDeviceList(AuthenticationHelper.token!!, requestBody, limitMap, offsetMap) + } + + /** + * 获取标准装置详情 + */ + suspend fun getStandardDeviceDetail(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStandardDeviceDetail(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt new file mode 100644 index 0000000..cae747c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -0,0 +1,151 @@ +package com.casic.xz.meterage.view.home + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.search.SearchStandardDeviceActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_standard_device.* +import kotlinx.android.synthetic.main.include_empty_view.* +import kotlinx.android.synthetic.main.include_search_title.* + +class StandardDeviceActivity : KotlinBaseActivity() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020901) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + rightOperateView.setOnClickListener { + navigatePageTo() + } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + "", + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020901 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt new file mode 100644 index 0000000..0f3cfb4 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -0,0 +1,51 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +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.device.* +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_device_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardDeviceDetailActivity : KotlinBaseActivity() { + + private var fragmentPages: ArrayList = ArrayList() + + override fun initData() { + val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! + + fragmentPages.add(BasicInformationFragment(deviceId)) + fragmentPages.add(MeasurementPersonFragment()) + fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(UsageRecordFragment()) + fragmentPages.add(CertificateFragment()) + + val devicePageTitles = arrayOf("基础信息", "计量人员", "标准配套设备", "使用记录", "检定证书") + deiceViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, devicePageTitles + ) + deiceViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(deiceViewPager) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device_detail + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt index b053e85..e645c7c 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt @@ -33,4 +33,9 @@ ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt new file mode 100644 index 0000000..d9d73af --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt @@ -0,0 +1,41 @@ +package com.casic.xz.meterage.view.search + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import kotlinx.android.synthetic.main.activity_search_standard_device.* + +/** + * 搜索标准装置 + * */ +class SearchStandardDeviceActivity : KotlinBaseActivity() { + + override fun initData() { + + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + searchTextView.setOnClickListener { + navigatePageTo(inputView.text.toString()) + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt new file mode 100644 index 0000000..5e19d4e --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -0,0 +1,152 @@ +package com.casic.xz.meterage.view.search + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.home.StandardDeviceDetailActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_search_standard_device_reasult.* +import kotlinx.android.synthetic.main.include_base_title.* +import kotlinx.android.synthetic.main.include_empty_view.* + +class SearchStandardDeviceResultActivity : KotlinBaseActivity() { + + private lateinit var param: String + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + param = intent.getStringExtra(Constant.INTENT_PARAM)!! + + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020902) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device_reasult + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "查询结果" + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + param, + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020902 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt index b5f21f6..ba281ba 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt @@ -6,6 +6,8 @@ import com.casic.xz.meterage.extensions.toErrorMessage import com.casic.xz.meterage.model.EquipmentDetailModel import com.casic.xz.meterage.model.EquipmentListModel +import com.casic.xz.meterage.model.StandardDeviceDetailModel +import com.casic.xz.meterage.model.StandardDeviceListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -19,6 +21,8 @@ private val gson by lazy { Gson() } val equipmentResult = MutableLiveData() val equipmentDetailResult = MutableLiveData() + val standardDeviceResult = MutableLiveData() + val standardDeviceDetailResult = MutableLiveData() fun getEquipmentList( equipmentNo: String, @@ -89,4 +93,58 @@ loadState.value = LoadState.Fail it.printStackTrace() }) + + fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceList( + standardNo, + standardName, + category, + managerState, + standardLaboratory, + preparationDate, + id, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) + + fun getStandardDeviceDetail(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceDetail(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceDetailResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_equipment.xml b/app/src/main/res/layout/activity_search_equipment.xml index a960801..c06b8d2 100644 --- a/app/src/main/res/layout/activity_search_equipment.xml +++ b/app/src/main/res/layout/activity_search_equipment.xml @@ -2,7 +2,8 @@ + android:layout_height="match_parent" + android:orientation="vertical"> + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device.xml b/app/src/main/res/layout/activity_search_standard_device.xml new file mode 100644 index 0000000..78d1018 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device_reasult.xml b/app/src/main/res/layout/activity_search_standard_device_reasult.xml new file mode 100644 index 0000000..74ee063 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device_reasult.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_device.xml b/app/src/main/res/layout/activity_standard_device.xml new file mode 100644 index 0000000..62a9524 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_device.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_device_detail.xml b/app/src/main/res/layout/activity_standard_device_detail.xml new file mode 100644 index 0000000..b711b87 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_device_detail.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_basic_information.xml b/app/src/main/res/layout/fragment_basic_information.xml deleted file mode 100644 index 4a3c1c7..0000000 --- a/app/src/main/res/layout/fragment_basic_information.xml +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_certificate.xml b/app/src/main/res/layout/fragment_certificate.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_certificate.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt index cf22646..a64791f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt @@ -8,7 +8,7 @@ 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_basic_information.* +import kotlinx.android.synthetic.main.fragment_equipment_basic_information.* class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { @@ -86,7 +86,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_basic_information + override fun initLayoutView(): Int = R.layout.fragment_equipment_basic_information override fun observeRequestState() { equipmentViewModel.loadState.observe(this, { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt index 0b4a747..1c55901 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_certificate + override fun initLayoutView(): Int = R.layout.fragment_equipment_certificate override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt index f05c491..394fae6 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_change_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_change_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt index 849ffa5..dd02b42 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_inspection_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_inspection_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index aa4edd9..29a3d26 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_usage_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_usage_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java new file mode 100644 index 0000000..f3ada98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java @@ -0,0 +1,499 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceDetailModel { + + 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 { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private List fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public List getFileList() { + return fileList; + } + + public void setFileList(List fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public static class FileListModel { + private String assetId; + private String createTime; + private String createUser; + private String fileName; + private String id; + private int isDel; + private String minioFileName; + private String remark; + private String updateTime; + + public String getAssetId() { + return assetId; + } + + public void setAssetId(String assetId) { + this.assetId = assetId; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java new file mode 100644 index 0000000..dc26cd3 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java @@ -0,0 +1,436 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceListModel { + + 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 { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} 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 46e5eef..3382fae 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 @@ -55,4 +55,24 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取标准装置列表 + */ + @POST("/meter/standard/listPage") + suspend fun getStandardDeviceList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String + + /** + * 获取标准装置详情 + */ + @POST("/meter/standard/detail") + suspend fun getStandardDeviceDetail( + @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 386a1d8..1af43c3 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 @@ -142,4 +142,49 @@ ) return api.getEquipmentDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取标准装置列表 + */ + suspend fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject.put("standardNo", standardNo) + paramObject.put("standardName", standardName) + paramObject.put("category", category) + paramObject.put("managerState", managerState) + paramObject.put("standardLaboratory", standardLaboratory) + paramObject.put("preparationDate", preparationDate) + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getStandardDeviceList(AuthenticationHelper.token!!, requestBody, limitMap, offsetMap) + } + + /** + * 获取标准装置详情 + */ + suspend fun getStandardDeviceDetail(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStandardDeviceDetail(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt new file mode 100644 index 0000000..cae747c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -0,0 +1,151 @@ +package com.casic.xz.meterage.view.home + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.search.SearchStandardDeviceActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_standard_device.* +import kotlinx.android.synthetic.main.include_empty_view.* +import kotlinx.android.synthetic.main.include_search_title.* + +class StandardDeviceActivity : KotlinBaseActivity() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020901) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + rightOperateView.setOnClickListener { + navigatePageTo() + } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + "", + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020901 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt new file mode 100644 index 0000000..0f3cfb4 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -0,0 +1,51 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +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.device.* +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_device_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardDeviceDetailActivity : KotlinBaseActivity() { + + private var fragmentPages: ArrayList = ArrayList() + + override fun initData() { + val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! + + fragmentPages.add(BasicInformationFragment(deviceId)) + fragmentPages.add(MeasurementPersonFragment()) + fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(UsageRecordFragment()) + fragmentPages.add(CertificateFragment()) + + val devicePageTitles = arrayOf("基础信息", "计量人员", "标准配套设备", "使用记录", "检定证书") + deiceViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, devicePageTitles + ) + deiceViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(deiceViewPager) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device_detail + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt index b053e85..e645c7c 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt @@ -33,4 +33,9 @@ ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt new file mode 100644 index 0000000..d9d73af --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt @@ -0,0 +1,41 @@ +package com.casic.xz.meterage.view.search + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import kotlinx.android.synthetic.main.activity_search_standard_device.* + +/** + * 搜索标准装置 + * */ +class SearchStandardDeviceActivity : KotlinBaseActivity() { + + override fun initData() { + + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + searchTextView.setOnClickListener { + navigatePageTo(inputView.text.toString()) + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt new file mode 100644 index 0000000..5e19d4e --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -0,0 +1,152 @@ +package com.casic.xz.meterage.view.search + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.home.StandardDeviceDetailActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_search_standard_device_reasult.* +import kotlinx.android.synthetic.main.include_base_title.* +import kotlinx.android.synthetic.main.include_empty_view.* + +class SearchStandardDeviceResultActivity : KotlinBaseActivity() { + + private lateinit var param: String + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + param = intent.getStringExtra(Constant.INTENT_PARAM)!! + + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020902) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device_reasult + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "查询结果" + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + param, + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020902 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt index b5f21f6..ba281ba 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt @@ -6,6 +6,8 @@ import com.casic.xz.meterage.extensions.toErrorMessage import com.casic.xz.meterage.model.EquipmentDetailModel import com.casic.xz.meterage.model.EquipmentListModel +import com.casic.xz.meterage.model.StandardDeviceDetailModel +import com.casic.xz.meterage.model.StandardDeviceListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -19,6 +21,8 @@ private val gson by lazy { Gson() } val equipmentResult = MutableLiveData() val equipmentDetailResult = MutableLiveData() + val standardDeviceResult = MutableLiveData() + val standardDeviceDetailResult = MutableLiveData() fun getEquipmentList( equipmentNo: String, @@ -89,4 +93,58 @@ loadState.value = LoadState.Fail it.printStackTrace() }) + + fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceList( + standardNo, + standardName, + category, + managerState, + standardLaboratory, + preparationDate, + id, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) + + fun getStandardDeviceDetail(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceDetail(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceDetailResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_equipment.xml b/app/src/main/res/layout/activity_search_equipment.xml index a960801..c06b8d2 100644 --- a/app/src/main/res/layout/activity_search_equipment.xml +++ b/app/src/main/res/layout/activity_search_equipment.xml @@ -2,7 +2,8 @@ + android:layout_height="match_parent" + android:orientation="vertical"> + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device.xml b/app/src/main/res/layout/activity_search_standard_device.xml new file mode 100644 index 0000000..78d1018 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device_reasult.xml b/app/src/main/res/layout/activity_search_standard_device_reasult.xml new file mode 100644 index 0000000..74ee063 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device_reasult.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_device.xml b/app/src/main/res/layout/activity_standard_device.xml new file mode 100644 index 0000000..62a9524 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_device.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_device_detail.xml b/app/src/main/res/layout/activity_standard_device_detail.xml new file mode 100644 index 0000000..b711b87 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_device_detail.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_basic_information.xml b/app/src/main/res/layout/fragment_basic_information.xml deleted file mode 100644 index 4a3c1c7..0000000 --- a/app/src/main/res/layout/fragment_basic_information.xml +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_certificate.xml b/app/src/main/res/layout/fragment_certificate.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_certificate.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_change_record.xml b/app/src/main/res/layout/fragment_change_record.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_change_record.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt index cf22646..a64791f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt @@ -8,7 +8,7 @@ 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_basic_information.* +import kotlinx.android.synthetic.main.fragment_equipment_basic_information.* class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { @@ -86,7 +86,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_basic_information + override fun initLayoutView(): Int = R.layout.fragment_equipment_basic_information override fun observeRequestState() { equipmentViewModel.loadState.observe(this, { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt index 0b4a747..1c55901 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_certificate + override fun initLayoutView(): Int = R.layout.fragment_equipment_certificate override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt index f05c491..394fae6 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_change_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_change_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt index 849ffa5..dd02b42 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_inspection_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_inspection_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index aa4edd9..29a3d26 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_usage_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_usage_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java new file mode 100644 index 0000000..f3ada98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java @@ -0,0 +1,499 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceDetailModel { + + 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 { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private List fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public List getFileList() { + return fileList; + } + + public void setFileList(List fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public static class FileListModel { + private String assetId; + private String createTime; + private String createUser; + private String fileName; + private String id; + private int isDel; + private String minioFileName; + private String remark; + private String updateTime; + + public String getAssetId() { + return assetId; + } + + public void setAssetId(String assetId) { + this.assetId = assetId; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java new file mode 100644 index 0000000..dc26cd3 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java @@ -0,0 +1,436 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceListModel { + + 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 { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} 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 46e5eef..3382fae 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 @@ -55,4 +55,24 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取标准装置列表 + */ + @POST("/meter/standard/listPage") + suspend fun getStandardDeviceList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String + + /** + * 获取标准装置详情 + */ + @POST("/meter/standard/detail") + suspend fun getStandardDeviceDetail( + @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 386a1d8..1af43c3 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 @@ -142,4 +142,49 @@ ) return api.getEquipmentDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取标准装置列表 + */ + suspend fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject.put("standardNo", standardNo) + paramObject.put("standardName", standardName) + paramObject.put("category", category) + paramObject.put("managerState", managerState) + paramObject.put("standardLaboratory", standardLaboratory) + paramObject.put("preparationDate", preparationDate) + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getStandardDeviceList(AuthenticationHelper.token!!, requestBody, limitMap, offsetMap) + } + + /** + * 获取标准装置详情 + */ + suspend fun getStandardDeviceDetail(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStandardDeviceDetail(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt new file mode 100644 index 0000000..cae747c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -0,0 +1,151 @@ +package com.casic.xz.meterage.view.home + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.search.SearchStandardDeviceActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_standard_device.* +import kotlinx.android.synthetic.main.include_empty_view.* +import kotlinx.android.synthetic.main.include_search_title.* + +class StandardDeviceActivity : KotlinBaseActivity() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020901) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + rightOperateView.setOnClickListener { + navigatePageTo() + } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + "", + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020901 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt new file mode 100644 index 0000000..0f3cfb4 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -0,0 +1,51 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +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.device.* +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_device_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardDeviceDetailActivity : KotlinBaseActivity() { + + private var fragmentPages: ArrayList = ArrayList() + + override fun initData() { + val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! + + fragmentPages.add(BasicInformationFragment(deviceId)) + fragmentPages.add(MeasurementPersonFragment()) + fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(UsageRecordFragment()) + fragmentPages.add(CertificateFragment()) + + val devicePageTitles = arrayOf("基础信息", "计量人员", "标准配套设备", "使用记录", "检定证书") + deiceViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, devicePageTitles + ) + deiceViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(deiceViewPager) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device_detail + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt index b053e85..e645c7c 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt @@ -33,4 +33,9 @@ ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt new file mode 100644 index 0000000..d9d73af --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt @@ -0,0 +1,41 @@ +package com.casic.xz.meterage.view.search + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import kotlinx.android.synthetic.main.activity_search_standard_device.* + +/** + * 搜索标准装置 + * */ +class SearchStandardDeviceActivity : KotlinBaseActivity() { + + override fun initData() { + + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + searchTextView.setOnClickListener { + navigatePageTo(inputView.text.toString()) + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt new file mode 100644 index 0000000..5e19d4e --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -0,0 +1,152 @@ +package com.casic.xz.meterage.view.search + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.home.StandardDeviceDetailActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_search_standard_device_reasult.* +import kotlinx.android.synthetic.main.include_base_title.* +import kotlinx.android.synthetic.main.include_empty_view.* + +class SearchStandardDeviceResultActivity : KotlinBaseActivity() { + + private lateinit var param: String + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + param = intent.getStringExtra(Constant.INTENT_PARAM)!! + + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020902) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device_reasult + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "查询结果" + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + param, + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020902 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt index b5f21f6..ba281ba 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt @@ -6,6 +6,8 @@ import com.casic.xz.meterage.extensions.toErrorMessage import com.casic.xz.meterage.model.EquipmentDetailModel import com.casic.xz.meterage.model.EquipmentListModel +import com.casic.xz.meterage.model.StandardDeviceDetailModel +import com.casic.xz.meterage.model.StandardDeviceListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -19,6 +21,8 @@ private val gson by lazy { Gson() } val equipmentResult = MutableLiveData() val equipmentDetailResult = MutableLiveData() + val standardDeviceResult = MutableLiveData() + val standardDeviceDetailResult = MutableLiveData() fun getEquipmentList( equipmentNo: String, @@ -89,4 +93,58 @@ loadState.value = LoadState.Fail it.printStackTrace() }) + + fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceList( + standardNo, + standardName, + category, + managerState, + standardLaboratory, + preparationDate, + id, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) + + fun getStandardDeviceDetail(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceDetail(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceDetailResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_equipment.xml b/app/src/main/res/layout/activity_search_equipment.xml index a960801..c06b8d2 100644 --- a/app/src/main/res/layout/activity_search_equipment.xml +++ b/app/src/main/res/layout/activity_search_equipment.xml @@ -2,7 +2,8 @@ + android:layout_height="match_parent" + android:orientation="vertical"> + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device.xml b/app/src/main/res/layout/activity_search_standard_device.xml new file mode 100644 index 0000000..78d1018 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device_reasult.xml b/app/src/main/res/layout/activity_search_standard_device_reasult.xml new file mode 100644 index 0000000..74ee063 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device_reasult.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_device.xml b/app/src/main/res/layout/activity_standard_device.xml new file mode 100644 index 0000000..62a9524 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_device.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_device_detail.xml b/app/src/main/res/layout/activity_standard_device_detail.xml new file mode 100644 index 0000000..b711b87 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_device_detail.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_basic_information.xml b/app/src/main/res/layout/fragment_basic_information.xml deleted file mode 100644 index 4a3c1c7..0000000 --- a/app/src/main/res/layout/fragment_basic_information.xml +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_certificate.xml b/app/src/main/res/layout/fragment_certificate.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_certificate.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_change_record.xml b/app/src/main/res/layout/fragment_change_record.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_change_record.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_basic_information.xml b/app/src/main/res/layout/fragment_device_basic_information.xml new file mode 100644 index 0000000..5c4771d --- /dev/null +++ b/app/src/main/res/layout/fragment_device_basic_information.xml @@ -0,0 +1,451 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt index cf22646..a64791f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt @@ -8,7 +8,7 @@ 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_basic_information.* +import kotlinx.android.synthetic.main.fragment_equipment_basic_information.* class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { @@ -86,7 +86,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_basic_information + override fun initLayoutView(): Int = R.layout.fragment_equipment_basic_information override fun observeRequestState() { equipmentViewModel.loadState.observe(this, { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt index 0b4a747..1c55901 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_certificate + override fun initLayoutView(): Int = R.layout.fragment_equipment_certificate override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt index f05c491..394fae6 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_change_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_change_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt index 849ffa5..dd02b42 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_inspection_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_inspection_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index aa4edd9..29a3d26 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_usage_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_usage_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java new file mode 100644 index 0000000..f3ada98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java @@ -0,0 +1,499 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceDetailModel { + + 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 { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private List fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public List getFileList() { + return fileList; + } + + public void setFileList(List fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public static class FileListModel { + private String assetId; + private String createTime; + private String createUser; + private String fileName; + private String id; + private int isDel; + private String minioFileName; + private String remark; + private String updateTime; + + public String getAssetId() { + return assetId; + } + + public void setAssetId(String assetId) { + this.assetId = assetId; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java new file mode 100644 index 0000000..dc26cd3 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java @@ -0,0 +1,436 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceListModel { + + 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 { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} 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 46e5eef..3382fae 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 @@ -55,4 +55,24 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取标准装置列表 + */ + @POST("/meter/standard/listPage") + suspend fun getStandardDeviceList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String + + /** + * 获取标准装置详情 + */ + @POST("/meter/standard/detail") + suspend fun getStandardDeviceDetail( + @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 386a1d8..1af43c3 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 @@ -142,4 +142,49 @@ ) return api.getEquipmentDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取标准装置列表 + */ + suspend fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject.put("standardNo", standardNo) + paramObject.put("standardName", standardName) + paramObject.put("category", category) + paramObject.put("managerState", managerState) + paramObject.put("standardLaboratory", standardLaboratory) + paramObject.put("preparationDate", preparationDate) + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getStandardDeviceList(AuthenticationHelper.token!!, requestBody, limitMap, offsetMap) + } + + /** + * 获取标准装置详情 + */ + suspend fun getStandardDeviceDetail(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStandardDeviceDetail(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt new file mode 100644 index 0000000..cae747c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -0,0 +1,151 @@ +package com.casic.xz.meterage.view.home + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.search.SearchStandardDeviceActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_standard_device.* +import kotlinx.android.synthetic.main.include_empty_view.* +import kotlinx.android.synthetic.main.include_search_title.* + +class StandardDeviceActivity : KotlinBaseActivity() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020901) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + rightOperateView.setOnClickListener { + navigatePageTo() + } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + "", + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020901 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt new file mode 100644 index 0000000..0f3cfb4 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -0,0 +1,51 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +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.device.* +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_device_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardDeviceDetailActivity : KotlinBaseActivity() { + + private var fragmentPages: ArrayList = ArrayList() + + override fun initData() { + val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! + + fragmentPages.add(BasicInformationFragment(deviceId)) + fragmentPages.add(MeasurementPersonFragment()) + fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(UsageRecordFragment()) + fragmentPages.add(CertificateFragment()) + + val devicePageTitles = arrayOf("基础信息", "计量人员", "标准配套设备", "使用记录", "检定证书") + deiceViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, devicePageTitles + ) + deiceViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(deiceViewPager) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device_detail + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt index b053e85..e645c7c 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt @@ -33,4 +33,9 @@ ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt new file mode 100644 index 0000000..d9d73af --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt @@ -0,0 +1,41 @@ +package com.casic.xz.meterage.view.search + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import kotlinx.android.synthetic.main.activity_search_standard_device.* + +/** + * 搜索标准装置 + * */ +class SearchStandardDeviceActivity : KotlinBaseActivity() { + + override fun initData() { + + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + searchTextView.setOnClickListener { + navigatePageTo(inputView.text.toString()) + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt new file mode 100644 index 0000000..5e19d4e --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -0,0 +1,152 @@ +package com.casic.xz.meterage.view.search + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.home.StandardDeviceDetailActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_search_standard_device_reasult.* +import kotlinx.android.synthetic.main.include_base_title.* +import kotlinx.android.synthetic.main.include_empty_view.* + +class SearchStandardDeviceResultActivity : KotlinBaseActivity() { + + private lateinit var param: String + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + param = intent.getStringExtra(Constant.INTENT_PARAM)!! + + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020902) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device_reasult + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "查询结果" + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + param, + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020902 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt index b5f21f6..ba281ba 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt @@ -6,6 +6,8 @@ import com.casic.xz.meterage.extensions.toErrorMessage import com.casic.xz.meterage.model.EquipmentDetailModel import com.casic.xz.meterage.model.EquipmentListModel +import com.casic.xz.meterage.model.StandardDeviceDetailModel +import com.casic.xz.meterage.model.StandardDeviceListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -19,6 +21,8 @@ private val gson by lazy { Gson() } val equipmentResult = MutableLiveData() val equipmentDetailResult = MutableLiveData() + val standardDeviceResult = MutableLiveData() + val standardDeviceDetailResult = MutableLiveData() fun getEquipmentList( equipmentNo: String, @@ -89,4 +93,58 @@ loadState.value = LoadState.Fail it.printStackTrace() }) + + fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceList( + standardNo, + standardName, + category, + managerState, + standardLaboratory, + preparationDate, + id, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) + + fun getStandardDeviceDetail(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceDetail(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceDetailResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_equipment.xml b/app/src/main/res/layout/activity_search_equipment.xml index a960801..c06b8d2 100644 --- a/app/src/main/res/layout/activity_search_equipment.xml +++ b/app/src/main/res/layout/activity_search_equipment.xml @@ -2,7 +2,8 @@ + android:layout_height="match_parent" + android:orientation="vertical"> + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device.xml b/app/src/main/res/layout/activity_search_standard_device.xml new file mode 100644 index 0000000..78d1018 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device_reasult.xml b/app/src/main/res/layout/activity_search_standard_device_reasult.xml new file mode 100644 index 0000000..74ee063 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device_reasult.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_device.xml b/app/src/main/res/layout/activity_standard_device.xml new file mode 100644 index 0000000..62a9524 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_device.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_device_detail.xml b/app/src/main/res/layout/activity_standard_device_detail.xml new file mode 100644 index 0000000..b711b87 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_device_detail.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_basic_information.xml b/app/src/main/res/layout/fragment_basic_information.xml deleted file mode 100644 index 4a3c1c7..0000000 --- a/app/src/main/res/layout/fragment_basic_information.xml +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_certificate.xml b/app/src/main/res/layout/fragment_certificate.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_certificate.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_change_record.xml b/app/src/main/res/layout/fragment_change_record.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_change_record.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_basic_information.xml b/app/src/main/res/layout/fragment_device_basic_information.xml new file mode 100644 index 0000000..5c4771d --- /dev/null +++ b/app/src/main/res/layout/fragment_device_basic_information.xml @@ -0,0 +1,451 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_certificate.xml b/app/src/main/res/layout/fragment_device_certificate.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_certificate.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt index cf22646..a64791f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt @@ -8,7 +8,7 @@ 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_basic_information.* +import kotlinx.android.synthetic.main.fragment_equipment_basic_information.* class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { @@ -86,7 +86,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_basic_information + override fun initLayoutView(): Int = R.layout.fragment_equipment_basic_information override fun observeRequestState() { equipmentViewModel.loadState.observe(this, { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt index 0b4a747..1c55901 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_certificate + override fun initLayoutView(): Int = R.layout.fragment_equipment_certificate override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt index f05c491..394fae6 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_change_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_change_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt index 849ffa5..dd02b42 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_inspection_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_inspection_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index aa4edd9..29a3d26 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_usage_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_usage_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java new file mode 100644 index 0000000..f3ada98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java @@ -0,0 +1,499 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceDetailModel { + + 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 { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private List fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public List getFileList() { + return fileList; + } + + public void setFileList(List fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public static class FileListModel { + private String assetId; + private String createTime; + private String createUser; + private String fileName; + private String id; + private int isDel; + private String minioFileName; + private String remark; + private String updateTime; + + public String getAssetId() { + return assetId; + } + + public void setAssetId(String assetId) { + this.assetId = assetId; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java new file mode 100644 index 0000000..dc26cd3 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java @@ -0,0 +1,436 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceListModel { + + 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 { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} 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 46e5eef..3382fae 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 @@ -55,4 +55,24 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取标准装置列表 + */ + @POST("/meter/standard/listPage") + suspend fun getStandardDeviceList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String + + /** + * 获取标准装置详情 + */ + @POST("/meter/standard/detail") + suspend fun getStandardDeviceDetail( + @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 386a1d8..1af43c3 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 @@ -142,4 +142,49 @@ ) return api.getEquipmentDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取标准装置列表 + */ + suspend fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject.put("standardNo", standardNo) + paramObject.put("standardName", standardName) + paramObject.put("category", category) + paramObject.put("managerState", managerState) + paramObject.put("standardLaboratory", standardLaboratory) + paramObject.put("preparationDate", preparationDate) + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getStandardDeviceList(AuthenticationHelper.token!!, requestBody, limitMap, offsetMap) + } + + /** + * 获取标准装置详情 + */ + suspend fun getStandardDeviceDetail(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStandardDeviceDetail(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt new file mode 100644 index 0000000..cae747c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -0,0 +1,151 @@ +package com.casic.xz.meterage.view.home + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.search.SearchStandardDeviceActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_standard_device.* +import kotlinx.android.synthetic.main.include_empty_view.* +import kotlinx.android.synthetic.main.include_search_title.* + +class StandardDeviceActivity : KotlinBaseActivity() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020901) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + rightOperateView.setOnClickListener { + navigatePageTo() + } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + "", + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020901 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt new file mode 100644 index 0000000..0f3cfb4 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -0,0 +1,51 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +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.device.* +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_device_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardDeviceDetailActivity : KotlinBaseActivity() { + + private var fragmentPages: ArrayList = ArrayList() + + override fun initData() { + val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! + + fragmentPages.add(BasicInformationFragment(deviceId)) + fragmentPages.add(MeasurementPersonFragment()) + fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(UsageRecordFragment()) + fragmentPages.add(CertificateFragment()) + + val devicePageTitles = arrayOf("基础信息", "计量人员", "标准配套设备", "使用记录", "检定证书") + deiceViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, devicePageTitles + ) + deiceViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(deiceViewPager) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device_detail + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt index b053e85..e645c7c 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt @@ -33,4 +33,9 @@ ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt new file mode 100644 index 0000000..d9d73af --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt @@ -0,0 +1,41 @@ +package com.casic.xz.meterage.view.search + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import kotlinx.android.synthetic.main.activity_search_standard_device.* + +/** + * 搜索标准装置 + * */ +class SearchStandardDeviceActivity : KotlinBaseActivity() { + + override fun initData() { + + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + searchTextView.setOnClickListener { + navigatePageTo(inputView.text.toString()) + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt new file mode 100644 index 0000000..5e19d4e --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -0,0 +1,152 @@ +package com.casic.xz.meterage.view.search + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.home.StandardDeviceDetailActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_search_standard_device_reasult.* +import kotlinx.android.synthetic.main.include_base_title.* +import kotlinx.android.synthetic.main.include_empty_view.* + +class SearchStandardDeviceResultActivity : KotlinBaseActivity() { + + private lateinit var param: String + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + param = intent.getStringExtra(Constant.INTENT_PARAM)!! + + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020902) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device_reasult + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "查询结果" + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + param, + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020902 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt index b5f21f6..ba281ba 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt @@ -6,6 +6,8 @@ import com.casic.xz.meterage.extensions.toErrorMessage import com.casic.xz.meterage.model.EquipmentDetailModel import com.casic.xz.meterage.model.EquipmentListModel +import com.casic.xz.meterage.model.StandardDeviceDetailModel +import com.casic.xz.meterage.model.StandardDeviceListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -19,6 +21,8 @@ private val gson by lazy { Gson() } val equipmentResult = MutableLiveData() val equipmentDetailResult = MutableLiveData() + val standardDeviceResult = MutableLiveData() + val standardDeviceDetailResult = MutableLiveData() fun getEquipmentList( equipmentNo: String, @@ -89,4 +93,58 @@ loadState.value = LoadState.Fail it.printStackTrace() }) + + fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceList( + standardNo, + standardName, + category, + managerState, + standardLaboratory, + preparationDate, + id, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) + + fun getStandardDeviceDetail(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceDetail(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceDetailResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_equipment.xml b/app/src/main/res/layout/activity_search_equipment.xml index a960801..c06b8d2 100644 --- a/app/src/main/res/layout/activity_search_equipment.xml +++ b/app/src/main/res/layout/activity_search_equipment.xml @@ -2,7 +2,8 @@ + android:layout_height="match_parent" + android:orientation="vertical"> + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device.xml b/app/src/main/res/layout/activity_search_standard_device.xml new file mode 100644 index 0000000..78d1018 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device_reasult.xml b/app/src/main/res/layout/activity_search_standard_device_reasult.xml new file mode 100644 index 0000000..74ee063 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device_reasult.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_device.xml b/app/src/main/res/layout/activity_standard_device.xml new file mode 100644 index 0000000..62a9524 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_device.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_device_detail.xml b/app/src/main/res/layout/activity_standard_device_detail.xml new file mode 100644 index 0000000..b711b87 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_device_detail.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_basic_information.xml b/app/src/main/res/layout/fragment_basic_information.xml deleted file mode 100644 index 4a3c1c7..0000000 --- a/app/src/main/res/layout/fragment_basic_information.xml +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_certificate.xml b/app/src/main/res/layout/fragment_certificate.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_certificate.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_change_record.xml b/app/src/main/res/layout/fragment_change_record.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_change_record.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_basic_information.xml b/app/src/main/res/layout/fragment_device_basic_information.xml new file mode 100644 index 0000000..5c4771d --- /dev/null +++ b/app/src/main/res/layout/fragment_device_basic_information.xml @@ -0,0 +1,451 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_certificate.xml b/app/src/main/res/layout/fragment_device_certificate.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_certificate.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_measurement_person.xml b/app/src/main/res/layout/fragment_device_measurement_person.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_measurement_person.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt index cf22646..a64791f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt @@ -8,7 +8,7 @@ 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_basic_information.* +import kotlinx.android.synthetic.main.fragment_equipment_basic_information.* class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { @@ -86,7 +86,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_basic_information + override fun initLayoutView(): Int = R.layout.fragment_equipment_basic_information override fun observeRequestState() { equipmentViewModel.loadState.observe(this, { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt index 0b4a747..1c55901 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_certificate + override fun initLayoutView(): Int = R.layout.fragment_equipment_certificate override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt index f05c491..394fae6 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_change_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_change_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt index 849ffa5..dd02b42 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_inspection_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_inspection_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index aa4edd9..29a3d26 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_usage_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_usage_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java new file mode 100644 index 0000000..f3ada98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java @@ -0,0 +1,499 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceDetailModel { + + 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 { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private List fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public List getFileList() { + return fileList; + } + + public void setFileList(List fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public static class FileListModel { + private String assetId; + private String createTime; + private String createUser; + private String fileName; + private String id; + private int isDel; + private String minioFileName; + private String remark; + private String updateTime; + + public String getAssetId() { + return assetId; + } + + public void setAssetId(String assetId) { + this.assetId = assetId; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java new file mode 100644 index 0000000..dc26cd3 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java @@ -0,0 +1,436 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceListModel { + + 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 { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} 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 46e5eef..3382fae 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 @@ -55,4 +55,24 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取标准装置列表 + */ + @POST("/meter/standard/listPage") + suspend fun getStandardDeviceList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String + + /** + * 获取标准装置详情 + */ + @POST("/meter/standard/detail") + suspend fun getStandardDeviceDetail( + @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 386a1d8..1af43c3 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 @@ -142,4 +142,49 @@ ) return api.getEquipmentDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取标准装置列表 + */ + suspend fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject.put("standardNo", standardNo) + paramObject.put("standardName", standardName) + paramObject.put("category", category) + paramObject.put("managerState", managerState) + paramObject.put("standardLaboratory", standardLaboratory) + paramObject.put("preparationDate", preparationDate) + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getStandardDeviceList(AuthenticationHelper.token!!, requestBody, limitMap, offsetMap) + } + + /** + * 获取标准装置详情 + */ + suspend fun getStandardDeviceDetail(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStandardDeviceDetail(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt new file mode 100644 index 0000000..cae747c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -0,0 +1,151 @@ +package com.casic.xz.meterage.view.home + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.search.SearchStandardDeviceActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_standard_device.* +import kotlinx.android.synthetic.main.include_empty_view.* +import kotlinx.android.synthetic.main.include_search_title.* + +class StandardDeviceActivity : KotlinBaseActivity() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020901) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + rightOperateView.setOnClickListener { + navigatePageTo() + } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + "", + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020901 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt new file mode 100644 index 0000000..0f3cfb4 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -0,0 +1,51 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +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.device.* +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_device_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardDeviceDetailActivity : KotlinBaseActivity() { + + private var fragmentPages: ArrayList = ArrayList() + + override fun initData() { + val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! + + fragmentPages.add(BasicInformationFragment(deviceId)) + fragmentPages.add(MeasurementPersonFragment()) + fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(UsageRecordFragment()) + fragmentPages.add(CertificateFragment()) + + val devicePageTitles = arrayOf("基础信息", "计量人员", "标准配套设备", "使用记录", "检定证书") + deiceViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, devicePageTitles + ) + deiceViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(deiceViewPager) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device_detail + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt index b053e85..e645c7c 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt @@ -33,4 +33,9 @@ ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt new file mode 100644 index 0000000..d9d73af --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt @@ -0,0 +1,41 @@ +package com.casic.xz.meterage.view.search + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import kotlinx.android.synthetic.main.activity_search_standard_device.* + +/** + * 搜索标准装置 + * */ +class SearchStandardDeviceActivity : KotlinBaseActivity() { + + override fun initData() { + + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + searchTextView.setOnClickListener { + navigatePageTo(inputView.text.toString()) + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt new file mode 100644 index 0000000..5e19d4e --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -0,0 +1,152 @@ +package com.casic.xz.meterage.view.search + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.home.StandardDeviceDetailActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_search_standard_device_reasult.* +import kotlinx.android.synthetic.main.include_base_title.* +import kotlinx.android.synthetic.main.include_empty_view.* + +class SearchStandardDeviceResultActivity : KotlinBaseActivity() { + + private lateinit var param: String + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + param = intent.getStringExtra(Constant.INTENT_PARAM)!! + + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020902) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device_reasult + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "查询结果" + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + param, + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020902 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt index b5f21f6..ba281ba 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt @@ -6,6 +6,8 @@ import com.casic.xz.meterage.extensions.toErrorMessage import com.casic.xz.meterage.model.EquipmentDetailModel import com.casic.xz.meterage.model.EquipmentListModel +import com.casic.xz.meterage.model.StandardDeviceDetailModel +import com.casic.xz.meterage.model.StandardDeviceListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -19,6 +21,8 @@ private val gson by lazy { Gson() } val equipmentResult = MutableLiveData() val equipmentDetailResult = MutableLiveData() + val standardDeviceResult = MutableLiveData() + val standardDeviceDetailResult = MutableLiveData() fun getEquipmentList( equipmentNo: String, @@ -89,4 +93,58 @@ loadState.value = LoadState.Fail it.printStackTrace() }) + + fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceList( + standardNo, + standardName, + category, + managerState, + standardLaboratory, + preparationDate, + id, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) + + fun getStandardDeviceDetail(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceDetail(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceDetailResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_equipment.xml b/app/src/main/res/layout/activity_search_equipment.xml index a960801..c06b8d2 100644 --- a/app/src/main/res/layout/activity_search_equipment.xml +++ b/app/src/main/res/layout/activity_search_equipment.xml @@ -2,7 +2,8 @@ + android:layout_height="match_parent" + android:orientation="vertical"> + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device.xml b/app/src/main/res/layout/activity_search_standard_device.xml new file mode 100644 index 0000000..78d1018 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device_reasult.xml b/app/src/main/res/layout/activity_search_standard_device_reasult.xml new file mode 100644 index 0000000..74ee063 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device_reasult.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_device.xml b/app/src/main/res/layout/activity_standard_device.xml new file mode 100644 index 0000000..62a9524 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_device.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_device_detail.xml b/app/src/main/res/layout/activity_standard_device_detail.xml new file mode 100644 index 0000000..b711b87 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_device_detail.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_basic_information.xml b/app/src/main/res/layout/fragment_basic_information.xml deleted file mode 100644 index 4a3c1c7..0000000 --- a/app/src/main/res/layout/fragment_basic_information.xml +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_certificate.xml b/app/src/main/res/layout/fragment_certificate.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_certificate.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_change_record.xml b/app/src/main/res/layout/fragment_change_record.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_change_record.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_basic_information.xml b/app/src/main/res/layout/fragment_device_basic_information.xml new file mode 100644 index 0000000..5c4771d --- /dev/null +++ b/app/src/main/res/layout/fragment_device_basic_information.xml @@ -0,0 +1,451 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_certificate.xml b/app/src/main/res/layout/fragment_device_certificate.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_certificate.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_measurement_person.xml b/app/src/main/res/layout/fragment_device_measurement_person.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_measurement_person.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_support_equipment.xml b/app/src/main/res/layout/fragment_device_support_equipment.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_support_equipment.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt index cf22646..a64791f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt @@ -8,7 +8,7 @@ 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_basic_information.* +import kotlinx.android.synthetic.main.fragment_equipment_basic_information.* class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { @@ -86,7 +86,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_basic_information + override fun initLayoutView(): Int = R.layout.fragment_equipment_basic_information override fun observeRequestState() { equipmentViewModel.loadState.observe(this, { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt index 0b4a747..1c55901 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_certificate + override fun initLayoutView(): Int = R.layout.fragment_equipment_certificate override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt index f05c491..394fae6 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_change_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_change_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt index 849ffa5..dd02b42 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_inspection_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_inspection_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index aa4edd9..29a3d26 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_usage_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_usage_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java new file mode 100644 index 0000000..f3ada98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java @@ -0,0 +1,499 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceDetailModel { + + 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 { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private List fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public List getFileList() { + return fileList; + } + + public void setFileList(List fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public static class FileListModel { + private String assetId; + private String createTime; + private String createUser; + private String fileName; + private String id; + private int isDel; + private String minioFileName; + private String remark; + private String updateTime; + + public String getAssetId() { + return assetId; + } + + public void setAssetId(String assetId) { + this.assetId = assetId; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java new file mode 100644 index 0000000..dc26cd3 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java @@ -0,0 +1,436 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceListModel { + + 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 { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} 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 46e5eef..3382fae 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 @@ -55,4 +55,24 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取标准装置列表 + */ + @POST("/meter/standard/listPage") + suspend fun getStandardDeviceList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String + + /** + * 获取标准装置详情 + */ + @POST("/meter/standard/detail") + suspend fun getStandardDeviceDetail( + @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 386a1d8..1af43c3 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 @@ -142,4 +142,49 @@ ) return api.getEquipmentDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取标准装置列表 + */ + suspend fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject.put("standardNo", standardNo) + paramObject.put("standardName", standardName) + paramObject.put("category", category) + paramObject.put("managerState", managerState) + paramObject.put("standardLaboratory", standardLaboratory) + paramObject.put("preparationDate", preparationDate) + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getStandardDeviceList(AuthenticationHelper.token!!, requestBody, limitMap, offsetMap) + } + + /** + * 获取标准装置详情 + */ + suspend fun getStandardDeviceDetail(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStandardDeviceDetail(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt new file mode 100644 index 0000000..cae747c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -0,0 +1,151 @@ +package com.casic.xz.meterage.view.home + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.search.SearchStandardDeviceActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_standard_device.* +import kotlinx.android.synthetic.main.include_empty_view.* +import kotlinx.android.synthetic.main.include_search_title.* + +class StandardDeviceActivity : KotlinBaseActivity() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020901) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + rightOperateView.setOnClickListener { + navigatePageTo() + } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + "", + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020901 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt new file mode 100644 index 0000000..0f3cfb4 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -0,0 +1,51 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +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.device.* +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_device_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardDeviceDetailActivity : KotlinBaseActivity() { + + private var fragmentPages: ArrayList = ArrayList() + + override fun initData() { + val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! + + fragmentPages.add(BasicInformationFragment(deviceId)) + fragmentPages.add(MeasurementPersonFragment()) + fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(UsageRecordFragment()) + fragmentPages.add(CertificateFragment()) + + val devicePageTitles = arrayOf("基础信息", "计量人员", "标准配套设备", "使用记录", "检定证书") + deiceViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, devicePageTitles + ) + deiceViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(deiceViewPager) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device_detail + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt index b053e85..e645c7c 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt @@ -33,4 +33,9 @@ ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt new file mode 100644 index 0000000..d9d73af --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt @@ -0,0 +1,41 @@ +package com.casic.xz.meterage.view.search + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import kotlinx.android.synthetic.main.activity_search_standard_device.* + +/** + * 搜索标准装置 + * */ +class SearchStandardDeviceActivity : KotlinBaseActivity() { + + override fun initData() { + + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + searchTextView.setOnClickListener { + navigatePageTo(inputView.text.toString()) + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt new file mode 100644 index 0000000..5e19d4e --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -0,0 +1,152 @@ +package com.casic.xz.meterage.view.search + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.home.StandardDeviceDetailActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_search_standard_device_reasult.* +import kotlinx.android.synthetic.main.include_base_title.* +import kotlinx.android.synthetic.main.include_empty_view.* + +class SearchStandardDeviceResultActivity : KotlinBaseActivity() { + + private lateinit var param: String + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + param = intent.getStringExtra(Constant.INTENT_PARAM)!! + + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020902) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device_reasult + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "查询结果" + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + param, + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020902 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt index b5f21f6..ba281ba 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt @@ -6,6 +6,8 @@ import com.casic.xz.meterage.extensions.toErrorMessage import com.casic.xz.meterage.model.EquipmentDetailModel import com.casic.xz.meterage.model.EquipmentListModel +import com.casic.xz.meterage.model.StandardDeviceDetailModel +import com.casic.xz.meterage.model.StandardDeviceListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -19,6 +21,8 @@ private val gson by lazy { Gson() } val equipmentResult = MutableLiveData() val equipmentDetailResult = MutableLiveData() + val standardDeviceResult = MutableLiveData() + val standardDeviceDetailResult = MutableLiveData() fun getEquipmentList( equipmentNo: String, @@ -89,4 +93,58 @@ loadState.value = LoadState.Fail it.printStackTrace() }) + + fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceList( + standardNo, + standardName, + category, + managerState, + standardLaboratory, + preparationDate, + id, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) + + fun getStandardDeviceDetail(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceDetail(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceDetailResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_equipment.xml b/app/src/main/res/layout/activity_search_equipment.xml index a960801..c06b8d2 100644 --- a/app/src/main/res/layout/activity_search_equipment.xml +++ b/app/src/main/res/layout/activity_search_equipment.xml @@ -2,7 +2,8 @@ + android:layout_height="match_parent" + android:orientation="vertical"> + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device.xml b/app/src/main/res/layout/activity_search_standard_device.xml new file mode 100644 index 0000000..78d1018 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device_reasult.xml b/app/src/main/res/layout/activity_search_standard_device_reasult.xml new file mode 100644 index 0000000..74ee063 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device_reasult.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_device.xml b/app/src/main/res/layout/activity_standard_device.xml new file mode 100644 index 0000000..62a9524 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_device.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_device_detail.xml b/app/src/main/res/layout/activity_standard_device_detail.xml new file mode 100644 index 0000000..b711b87 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_device_detail.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_basic_information.xml b/app/src/main/res/layout/fragment_basic_information.xml deleted file mode 100644 index 4a3c1c7..0000000 --- a/app/src/main/res/layout/fragment_basic_information.xml +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_certificate.xml b/app/src/main/res/layout/fragment_certificate.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_certificate.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_change_record.xml b/app/src/main/res/layout/fragment_change_record.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_change_record.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_basic_information.xml b/app/src/main/res/layout/fragment_device_basic_information.xml new file mode 100644 index 0000000..5c4771d --- /dev/null +++ b/app/src/main/res/layout/fragment_device_basic_information.xml @@ -0,0 +1,451 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_certificate.xml b/app/src/main/res/layout/fragment_device_certificate.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_certificate.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_measurement_person.xml b/app/src/main/res/layout/fragment_device_measurement_person.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_measurement_person.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_support_equipment.xml b/app/src/main/res/layout/fragment_device_support_equipment.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_support_equipment.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_usage_record.xml b/app/src/main/res/layout/fragment_device_usage_record.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_usage_record.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt index cf22646..a64791f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt @@ -8,7 +8,7 @@ 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_basic_information.* +import kotlinx.android.synthetic.main.fragment_equipment_basic_information.* class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { @@ -86,7 +86,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_basic_information + override fun initLayoutView(): Int = R.layout.fragment_equipment_basic_information override fun observeRequestState() { equipmentViewModel.loadState.observe(this, { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt index 0b4a747..1c55901 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_certificate + override fun initLayoutView(): Int = R.layout.fragment_equipment_certificate override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt index f05c491..394fae6 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_change_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_change_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt index 849ffa5..dd02b42 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_inspection_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_inspection_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index aa4edd9..29a3d26 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_usage_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_usage_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java new file mode 100644 index 0000000..f3ada98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java @@ -0,0 +1,499 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceDetailModel { + + 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 { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private List fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public List getFileList() { + return fileList; + } + + public void setFileList(List fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public static class FileListModel { + private String assetId; + private String createTime; + private String createUser; + private String fileName; + private String id; + private int isDel; + private String minioFileName; + private String remark; + private String updateTime; + + public String getAssetId() { + return assetId; + } + + public void setAssetId(String assetId) { + this.assetId = assetId; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java new file mode 100644 index 0000000..dc26cd3 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java @@ -0,0 +1,436 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceListModel { + + 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 { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} 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 46e5eef..3382fae 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 @@ -55,4 +55,24 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取标准装置列表 + */ + @POST("/meter/standard/listPage") + suspend fun getStandardDeviceList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String + + /** + * 获取标准装置详情 + */ + @POST("/meter/standard/detail") + suspend fun getStandardDeviceDetail( + @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 386a1d8..1af43c3 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 @@ -142,4 +142,49 @@ ) return api.getEquipmentDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取标准装置列表 + */ + suspend fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject.put("standardNo", standardNo) + paramObject.put("standardName", standardName) + paramObject.put("category", category) + paramObject.put("managerState", managerState) + paramObject.put("standardLaboratory", standardLaboratory) + paramObject.put("preparationDate", preparationDate) + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getStandardDeviceList(AuthenticationHelper.token!!, requestBody, limitMap, offsetMap) + } + + /** + * 获取标准装置详情 + */ + suspend fun getStandardDeviceDetail(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStandardDeviceDetail(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt new file mode 100644 index 0000000..cae747c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -0,0 +1,151 @@ +package com.casic.xz.meterage.view.home + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.search.SearchStandardDeviceActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_standard_device.* +import kotlinx.android.synthetic.main.include_empty_view.* +import kotlinx.android.synthetic.main.include_search_title.* + +class StandardDeviceActivity : KotlinBaseActivity() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020901) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + rightOperateView.setOnClickListener { + navigatePageTo() + } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + "", + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020901 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt new file mode 100644 index 0000000..0f3cfb4 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -0,0 +1,51 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +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.device.* +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_device_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardDeviceDetailActivity : KotlinBaseActivity() { + + private var fragmentPages: ArrayList = ArrayList() + + override fun initData() { + val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! + + fragmentPages.add(BasicInformationFragment(deviceId)) + fragmentPages.add(MeasurementPersonFragment()) + fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(UsageRecordFragment()) + fragmentPages.add(CertificateFragment()) + + val devicePageTitles = arrayOf("基础信息", "计量人员", "标准配套设备", "使用记录", "检定证书") + deiceViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, devicePageTitles + ) + deiceViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(deiceViewPager) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device_detail + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt index b053e85..e645c7c 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt @@ -33,4 +33,9 @@ ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt new file mode 100644 index 0000000..d9d73af --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt @@ -0,0 +1,41 @@ +package com.casic.xz.meterage.view.search + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import kotlinx.android.synthetic.main.activity_search_standard_device.* + +/** + * 搜索标准装置 + * */ +class SearchStandardDeviceActivity : KotlinBaseActivity() { + + override fun initData() { + + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + searchTextView.setOnClickListener { + navigatePageTo(inputView.text.toString()) + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt new file mode 100644 index 0000000..5e19d4e --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -0,0 +1,152 @@ +package com.casic.xz.meterage.view.search + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.home.StandardDeviceDetailActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_search_standard_device_reasult.* +import kotlinx.android.synthetic.main.include_base_title.* +import kotlinx.android.synthetic.main.include_empty_view.* + +class SearchStandardDeviceResultActivity : KotlinBaseActivity() { + + private lateinit var param: String + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + param = intent.getStringExtra(Constant.INTENT_PARAM)!! + + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020902) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device_reasult + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "查询结果" + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + param, + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020902 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt index b5f21f6..ba281ba 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt @@ -6,6 +6,8 @@ import com.casic.xz.meterage.extensions.toErrorMessage import com.casic.xz.meterage.model.EquipmentDetailModel import com.casic.xz.meterage.model.EquipmentListModel +import com.casic.xz.meterage.model.StandardDeviceDetailModel +import com.casic.xz.meterage.model.StandardDeviceListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -19,6 +21,8 @@ private val gson by lazy { Gson() } val equipmentResult = MutableLiveData() val equipmentDetailResult = MutableLiveData() + val standardDeviceResult = MutableLiveData() + val standardDeviceDetailResult = MutableLiveData() fun getEquipmentList( equipmentNo: String, @@ -89,4 +93,58 @@ loadState.value = LoadState.Fail it.printStackTrace() }) + + fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceList( + standardNo, + standardName, + category, + managerState, + standardLaboratory, + preparationDate, + id, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) + + fun getStandardDeviceDetail(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceDetail(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceDetailResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_equipment.xml b/app/src/main/res/layout/activity_search_equipment.xml index a960801..c06b8d2 100644 --- a/app/src/main/res/layout/activity_search_equipment.xml +++ b/app/src/main/res/layout/activity_search_equipment.xml @@ -2,7 +2,8 @@ + android:layout_height="match_parent" + android:orientation="vertical"> + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device.xml b/app/src/main/res/layout/activity_search_standard_device.xml new file mode 100644 index 0000000..78d1018 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device_reasult.xml b/app/src/main/res/layout/activity_search_standard_device_reasult.xml new file mode 100644 index 0000000..74ee063 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device_reasult.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_device.xml b/app/src/main/res/layout/activity_standard_device.xml new file mode 100644 index 0000000..62a9524 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_device.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_device_detail.xml b/app/src/main/res/layout/activity_standard_device_detail.xml new file mode 100644 index 0000000..b711b87 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_device_detail.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_basic_information.xml b/app/src/main/res/layout/fragment_basic_information.xml deleted file mode 100644 index 4a3c1c7..0000000 --- a/app/src/main/res/layout/fragment_basic_information.xml +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_certificate.xml b/app/src/main/res/layout/fragment_certificate.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_certificate.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_change_record.xml b/app/src/main/res/layout/fragment_change_record.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_change_record.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_basic_information.xml b/app/src/main/res/layout/fragment_device_basic_information.xml new file mode 100644 index 0000000..5c4771d --- /dev/null +++ b/app/src/main/res/layout/fragment_device_basic_information.xml @@ -0,0 +1,451 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_certificate.xml b/app/src/main/res/layout/fragment_device_certificate.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_certificate.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_measurement_person.xml b/app/src/main/res/layout/fragment_device_measurement_person.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_measurement_person.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_support_equipment.xml b/app/src/main/res/layout/fragment_device_support_equipment.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_support_equipment.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_usage_record.xml b/app/src/main/res/layout/fragment_device_usage_record.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_usage_record.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_equipment_basic_information.xml b/app/src/main/res/layout/fragment_equipment_basic_information.xml new file mode 100644 index 0000000..4a3c1c7 --- /dev/null +++ b/app/src/main/res/layout/fragment_equipment_basic_information.xml @@ -0,0 +1,390 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt index cf22646..a64791f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt @@ -8,7 +8,7 @@ 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_basic_information.* +import kotlinx.android.synthetic.main.fragment_equipment_basic_information.* class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { @@ -86,7 +86,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_basic_information + override fun initLayoutView(): Int = R.layout.fragment_equipment_basic_information override fun observeRequestState() { equipmentViewModel.loadState.observe(this, { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt index 0b4a747..1c55901 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_certificate + override fun initLayoutView(): Int = R.layout.fragment_equipment_certificate override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt index f05c491..394fae6 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_change_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_change_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt index 849ffa5..dd02b42 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_inspection_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_inspection_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index aa4edd9..29a3d26 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_usage_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_usage_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java new file mode 100644 index 0000000..f3ada98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java @@ -0,0 +1,499 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceDetailModel { + + 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 { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private List fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public List getFileList() { + return fileList; + } + + public void setFileList(List fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public static class FileListModel { + private String assetId; + private String createTime; + private String createUser; + private String fileName; + private String id; + private int isDel; + private String minioFileName; + private String remark; + private String updateTime; + + public String getAssetId() { + return assetId; + } + + public void setAssetId(String assetId) { + this.assetId = assetId; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java new file mode 100644 index 0000000..dc26cd3 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java @@ -0,0 +1,436 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceListModel { + + 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 { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} 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 46e5eef..3382fae 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 @@ -55,4 +55,24 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取标准装置列表 + */ + @POST("/meter/standard/listPage") + suspend fun getStandardDeviceList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String + + /** + * 获取标准装置详情 + */ + @POST("/meter/standard/detail") + suspend fun getStandardDeviceDetail( + @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 386a1d8..1af43c3 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 @@ -142,4 +142,49 @@ ) return api.getEquipmentDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取标准装置列表 + */ + suspend fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject.put("standardNo", standardNo) + paramObject.put("standardName", standardName) + paramObject.put("category", category) + paramObject.put("managerState", managerState) + paramObject.put("standardLaboratory", standardLaboratory) + paramObject.put("preparationDate", preparationDate) + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getStandardDeviceList(AuthenticationHelper.token!!, requestBody, limitMap, offsetMap) + } + + /** + * 获取标准装置详情 + */ + suspend fun getStandardDeviceDetail(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStandardDeviceDetail(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt new file mode 100644 index 0000000..cae747c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -0,0 +1,151 @@ +package com.casic.xz.meterage.view.home + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.search.SearchStandardDeviceActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_standard_device.* +import kotlinx.android.synthetic.main.include_empty_view.* +import kotlinx.android.synthetic.main.include_search_title.* + +class StandardDeviceActivity : KotlinBaseActivity() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020901) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + rightOperateView.setOnClickListener { + navigatePageTo() + } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + "", + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020901 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt new file mode 100644 index 0000000..0f3cfb4 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -0,0 +1,51 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +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.device.* +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_device_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardDeviceDetailActivity : KotlinBaseActivity() { + + private var fragmentPages: ArrayList = ArrayList() + + override fun initData() { + val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! + + fragmentPages.add(BasicInformationFragment(deviceId)) + fragmentPages.add(MeasurementPersonFragment()) + fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(UsageRecordFragment()) + fragmentPages.add(CertificateFragment()) + + val devicePageTitles = arrayOf("基础信息", "计量人员", "标准配套设备", "使用记录", "检定证书") + deiceViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, devicePageTitles + ) + deiceViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(deiceViewPager) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device_detail + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt index b053e85..e645c7c 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt @@ -33,4 +33,9 @@ ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt new file mode 100644 index 0000000..d9d73af --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt @@ -0,0 +1,41 @@ +package com.casic.xz.meterage.view.search + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import kotlinx.android.synthetic.main.activity_search_standard_device.* + +/** + * 搜索标准装置 + * */ +class SearchStandardDeviceActivity : KotlinBaseActivity() { + + override fun initData() { + + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + searchTextView.setOnClickListener { + navigatePageTo(inputView.text.toString()) + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt new file mode 100644 index 0000000..5e19d4e --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -0,0 +1,152 @@ +package com.casic.xz.meterage.view.search + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.home.StandardDeviceDetailActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_search_standard_device_reasult.* +import kotlinx.android.synthetic.main.include_base_title.* +import kotlinx.android.synthetic.main.include_empty_view.* + +class SearchStandardDeviceResultActivity : KotlinBaseActivity() { + + private lateinit var param: String + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + param = intent.getStringExtra(Constant.INTENT_PARAM)!! + + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020902) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device_reasult + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "查询结果" + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + param, + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020902 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt index b5f21f6..ba281ba 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt @@ -6,6 +6,8 @@ import com.casic.xz.meterage.extensions.toErrorMessage import com.casic.xz.meterage.model.EquipmentDetailModel import com.casic.xz.meterage.model.EquipmentListModel +import com.casic.xz.meterage.model.StandardDeviceDetailModel +import com.casic.xz.meterage.model.StandardDeviceListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -19,6 +21,8 @@ private val gson by lazy { Gson() } val equipmentResult = MutableLiveData() val equipmentDetailResult = MutableLiveData() + val standardDeviceResult = MutableLiveData() + val standardDeviceDetailResult = MutableLiveData() fun getEquipmentList( equipmentNo: String, @@ -89,4 +93,58 @@ loadState.value = LoadState.Fail it.printStackTrace() }) + + fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceList( + standardNo, + standardName, + category, + managerState, + standardLaboratory, + preparationDate, + id, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) + + fun getStandardDeviceDetail(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceDetail(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceDetailResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_equipment.xml b/app/src/main/res/layout/activity_search_equipment.xml index a960801..c06b8d2 100644 --- a/app/src/main/res/layout/activity_search_equipment.xml +++ b/app/src/main/res/layout/activity_search_equipment.xml @@ -2,7 +2,8 @@ + android:layout_height="match_parent" + android:orientation="vertical"> + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device.xml b/app/src/main/res/layout/activity_search_standard_device.xml new file mode 100644 index 0000000..78d1018 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device_reasult.xml b/app/src/main/res/layout/activity_search_standard_device_reasult.xml new file mode 100644 index 0000000..74ee063 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device_reasult.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_device.xml b/app/src/main/res/layout/activity_standard_device.xml new file mode 100644 index 0000000..62a9524 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_device.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_device_detail.xml b/app/src/main/res/layout/activity_standard_device_detail.xml new file mode 100644 index 0000000..b711b87 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_device_detail.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_basic_information.xml b/app/src/main/res/layout/fragment_basic_information.xml deleted file mode 100644 index 4a3c1c7..0000000 --- a/app/src/main/res/layout/fragment_basic_information.xml +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_certificate.xml b/app/src/main/res/layout/fragment_certificate.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_certificate.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_change_record.xml b/app/src/main/res/layout/fragment_change_record.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_change_record.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_basic_information.xml b/app/src/main/res/layout/fragment_device_basic_information.xml new file mode 100644 index 0000000..5c4771d --- /dev/null +++ b/app/src/main/res/layout/fragment_device_basic_information.xml @@ -0,0 +1,451 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_certificate.xml b/app/src/main/res/layout/fragment_device_certificate.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_certificate.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_measurement_person.xml b/app/src/main/res/layout/fragment_device_measurement_person.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_measurement_person.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_support_equipment.xml b/app/src/main/res/layout/fragment_device_support_equipment.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_support_equipment.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_usage_record.xml b/app/src/main/res/layout/fragment_device_usage_record.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_usage_record.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_equipment_basic_information.xml b/app/src/main/res/layout/fragment_equipment_basic_information.xml new file mode 100644 index 0000000..4a3c1c7 --- /dev/null +++ b/app/src/main/res/layout/fragment_equipment_basic_information.xml @@ -0,0 +1,390 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_equipment_certificate.xml b/app/src/main/res/layout/fragment_equipment_certificate.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_equipment_certificate.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt index cf22646..a64791f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt @@ -8,7 +8,7 @@ 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_basic_information.* +import kotlinx.android.synthetic.main.fragment_equipment_basic_information.* class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { @@ -86,7 +86,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_basic_information + override fun initLayoutView(): Int = R.layout.fragment_equipment_basic_information override fun observeRequestState() { equipmentViewModel.loadState.observe(this, { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt index 0b4a747..1c55901 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_certificate + override fun initLayoutView(): Int = R.layout.fragment_equipment_certificate override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt index f05c491..394fae6 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_change_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_change_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt index 849ffa5..dd02b42 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_inspection_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_inspection_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index aa4edd9..29a3d26 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_usage_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_usage_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java new file mode 100644 index 0000000..f3ada98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java @@ -0,0 +1,499 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceDetailModel { + + 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 { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private List fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public List getFileList() { + return fileList; + } + + public void setFileList(List fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public static class FileListModel { + private String assetId; + private String createTime; + private String createUser; + private String fileName; + private String id; + private int isDel; + private String minioFileName; + private String remark; + private String updateTime; + + public String getAssetId() { + return assetId; + } + + public void setAssetId(String assetId) { + this.assetId = assetId; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java new file mode 100644 index 0000000..dc26cd3 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java @@ -0,0 +1,436 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceListModel { + + 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 { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} 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 46e5eef..3382fae 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 @@ -55,4 +55,24 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取标准装置列表 + */ + @POST("/meter/standard/listPage") + suspend fun getStandardDeviceList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String + + /** + * 获取标准装置详情 + */ + @POST("/meter/standard/detail") + suspend fun getStandardDeviceDetail( + @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 386a1d8..1af43c3 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 @@ -142,4 +142,49 @@ ) return api.getEquipmentDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取标准装置列表 + */ + suspend fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject.put("standardNo", standardNo) + paramObject.put("standardName", standardName) + paramObject.put("category", category) + paramObject.put("managerState", managerState) + paramObject.put("standardLaboratory", standardLaboratory) + paramObject.put("preparationDate", preparationDate) + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getStandardDeviceList(AuthenticationHelper.token!!, requestBody, limitMap, offsetMap) + } + + /** + * 获取标准装置详情 + */ + suspend fun getStandardDeviceDetail(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStandardDeviceDetail(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt new file mode 100644 index 0000000..cae747c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -0,0 +1,151 @@ +package com.casic.xz.meterage.view.home + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.search.SearchStandardDeviceActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_standard_device.* +import kotlinx.android.synthetic.main.include_empty_view.* +import kotlinx.android.synthetic.main.include_search_title.* + +class StandardDeviceActivity : KotlinBaseActivity() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020901) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + rightOperateView.setOnClickListener { + navigatePageTo() + } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + "", + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020901 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt new file mode 100644 index 0000000..0f3cfb4 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -0,0 +1,51 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +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.device.* +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_device_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardDeviceDetailActivity : KotlinBaseActivity() { + + private var fragmentPages: ArrayList = ArrayList() + + override fun initData() { + val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! + + fragmentPages.add(BasicInformationFragment(deviceId)) + fragmentPages.add(MeasurementPersonFragment()) + fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(UsageRecordFragment()) + fragmentPages.add(CertificateFragment()) + + val devicePageTitles = arrayOf("基础信息", "计量人员", "标准配套设备", "使用记录", "检定证书") + deiceViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, devicePageTitles + ) + deiceViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(deiceViewPager) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device_detail + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt index b053e85..e645c7c 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt @@ -33,4 +33,9 @@ ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt new file mode 100644 index 0000000..d9d73af --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt @@ -0,0 +1,41 @@ +package com.casic.xz.meterage.view.search + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import kotlinx.android.synthetic.main.activity_search_standard_device.* + +/** + * 搜索标准装置 + * */ +class SearchStandardDeviceActivity : KotlinBaseActivity() { + + override fun initData() { + + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + searchTextView.setOnClickListener { + navigatePageTo(inputView.text.toString()) + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt new file mode 100644 index 0000000..5e19d4e --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -0,0 +1,152 @@ +package com.casic.xz.meterage.view.search + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.home.StandardDeviceDetailActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_search_standard_device_reasult.* +import kotlinx.android.synthetic.main.include_base_title.* +import kotlinx.android.synthetic.main.include_empty_view.* + +class SearchStandardDeviceResultActivity : KotlinBaseActivity() { + + private lateinit var param: String + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + param = intent.getStringExtra(Constant.INTENT_PARAM)!! + + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020902) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device_reasult + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "查询结果" + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + param, + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020902 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt index b5f21f6..ba281ba 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt @@ -6,6 +6,8 @@ import com.casic.xz.meterage.extensions.toErrorMessage import com.casic.xz.meterage.model.EquipmentDetailModel import com.casic.xz.meterage.model.EquipmentListModel +import com.casic.xz.meterage.model.StandardDeviceDetailModel +import com.casic.xz.meterage.model.StandardDeviceListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -19,6 +21,8 @@ private val gson by lazy { Gson() } val equipmentResult = MutableLiveData() val equipmentDetailResult = MutableLiveData() + val standardDeviceResult = MutableLiveData() + val standardDeviceDetailResult = MutableLiveData() fun getEquipmentList( equipmentNo: String, @@ -89,4 +93,58 @@ loadState.value = LoadState.Fail it.printStackTrace() }) + + fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceList( + standardNo, + standardName, + category, + managerState, + standardLaboratory, + preparationDate, + id, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) + + fun getStandardDeviceDetail(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceDetail(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceDetailResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_equipment.xml b/app/src/main/res/layout/activity_search_equipment.xml index a960801..c06b8d2 100644 --- a/app/src/main/res/layout/activity_search_equipment.xml +++ b/app/src/main/res/layout/activity_search_equipment.xml @@ -2,7 +2,8 @@ + android:layout_height="match_parent" + android:orientation="vertical"> + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device.xml b/app/src/main/res/layout/activity_search_standard_device.xml new file mode 100644 index 0000000..78d1018 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device_reasult.xml b/app/src/main/res/layout/activity_search_standard_device_reasult.xml new file mode 100644 index 0000000..74ee063 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device_reasult.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_device.xml b/app/src/main/res/layout/activity_standard_device.xml new file mode 100644 index 0000000..62a9524 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_device.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_device_detail.xml b/app/src/main/res/layout/activity_standard_device_detail.xml new file mode 100644 index 0000000..b711b87 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_device_detail.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_basic_information.xml b/app/src/main/res/layout/fragment_basic_information.xml deleted file mode 100644 index 4a3c1c7..0000000 --- a/app/src/main/res/layout/fragment_basic_information.xml +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_certificate.xml b/app/src/main/res/layout/fragment_certificate.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_certificate.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_change_record.xml b/app/src/main/res/layout/fragment_change_record.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_change_record.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_basic_information.xml b/app/src/main/res/layout/fragment_device_basic_information.xml new file mode 100644 index 0000000..5c4771d --- /dev/null +++ b/app/src/main/res/layout/fragment_device_basic_information.xml @@ -0,0 +1,451 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_certificate.xml b/app/src/main/res/layout/fragment_device_certificate.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_certificate.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_measurement_person.xml b/app/src/main/res/layout/fragment_device_measurement_person.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_measurement_person.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_support_equipment.xml b/app/src/main/res/layout/fragment_device_support_equipment.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_support_equipment.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_usage_record.xml b/app/src/main/res/layout/fragment_device_usage_record.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_usage_record.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_equipment_basic_information.xml b/app/src/main/res/layout/fragment_equipment_basic_information.xml new file mode 100644 index 0000000..4a3c1c7 --- /dev/null +++ b/app/src/main/res/layout/fragment_equipment_basic_information.xml @@ -0,0 +1,390 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_equipment_certificate.xml b/app/src/main/res/layout/fragment_equipment_certificate.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_equipment_certificate.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_equipment_change_record.xml b/app/src/main/res/layout/fragment_equipment_change_record.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_equipment_change_record.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt index cf22646..a64791f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt @@ -8,7 +8,7 @@ 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_basic_information.* +import kotlinx.android.synthetic.main.fragment_equipment_basic_information.* class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { @@ -86,7 +86,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_basic_information + override fun initLayoutView(): Int = R.layout.fragment_equipment_basic_information override fun observeRequestState() { equipmentViewModel.loadState.observe(this, { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt index 0b4a747..1c55901 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_certificate + override fun initLayoutView(): Int = R.layout.fragment_equipment_certificate override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt index f05c491..394fae6 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_change_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_change_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt index 849ffa5..dd02b42 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_inspection_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_inspection_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index aa4edd9..29a3d26 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_usage_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_usage_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java new file mode 100644 index 0000000..f3ada98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java @@ -0,0 +1,499 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceDetailModel { + + 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 { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private List fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public List getFileList() { + return fileList; + } + + public void setFileList(List fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public static class FileListModel { + private String assetId; + private String createTime; + private String createUser; + private String fileName; + private String id; + private int isDel; + private String minioFileName; + private String remark; + private String updateTime; + + public String getAssetId() { + return assetId; + } + + public void setAssetId(String assetId) { + this.assetId = assetId; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java new file mode 100644 index 0000000..dc26cd3 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java @@ -0,0 +1,436 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceListModel { + + 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 { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} 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 46e5eef..3382fae 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 @@ -55,4 +55,24 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取标准装置列表 + */ + @POST("/meter/standard/listPage") + suspend fun getStandardDeviceList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String + + /** + * 获取标准装置详情 + */ + @POST("/meter/standard/detail") + suspend fun getStandardDeviceDetail( + @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 386a1d8..1af43c3 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 @@ -142,4 +142,49 @@ ) return api.getEquipmentDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取标准装置列表 + */ + suspend fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject.put("standardNo", standardNo) + paramObject.put("standardName", standardName) + paramObject.put("category", category) + paramObject.put("managerState", managerState) + paramObject.put("standardLaboratory", standardLaboratory) + paramObject.put("preparationDate", preparationDate) + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getStandardDeviceList(AuthenticationHelper.token!!, requestBody, limitMap, offsetMap) + } + + /** + * 获取标准装置详情 + */ + suspend fun getStandardDeviceDetail(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStandardDeviceDetail(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt new file mode 100644 index 0000000..cae747c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -0,0 +1,151 @@ +package com.casic.xz.meterage.view.home + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.search.SearchStandardDeviceActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_standard_device.* +import kotlinx.android.synthetic.main.include_empty_view.* +import kotlinx.android.synthetic.main.include_search_title.* + +class StandardDeviceActivity : KotlinBaseActivity() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020901) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + rightOperateView.setOnClickListener { + navigatePageTo() + } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + "", + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020901 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt new file mode 100644 index 0000000..0f3cfb4 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -0,0 +1,51 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +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.device.* +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_device_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardDeviceDetailActivity : KotlinBaseActivity() { + + private var fragmentPages: ArrayList = ArrayList() + + override fun initData() { + val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! + + fragmentPages.add(BasicInformationFragment(deviceId)) + fragmentPages.add(MeasurementPersonFragment()) + fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(UsageRecordFragment()) + fragmentPages.add(CertificateFragment()) + + val devicePageTitles = arrayOf("基础信息", "计量人员", "标准配套设备", "使用记录", "检定证书") + deiceViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, devicePageTitles + ) + deiceViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(deiceViewPager) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device_detail + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt index b053e85..e645c7c 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt @@ -33,4 +33,9 @@ ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt new file mode 100644 index 0000000..d9d73af --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt @@ -0,0 +1,41 @@ +package com.casic.xz.meterage.view.search + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import kotlinx.android.synthetic.main.activity_search_standard_device.* + +/** + * 搜索标准装置 + * */ +class SearchStandardDeviceActivity : KotlinBaseActivity() { + + override fun initData() { + + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + searchTextView.setOnClickListener { + navigatePageTo(inputView.text.toString()) + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt new file mode 100644 index 0000000..5e19d4e --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -0,0 +1,152 @@ +package com.casic.xz.meterage.view.search + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.home.StandardDeviceDetailActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_search_standard_device_reasult.* +import kotlinx.android.synthetic.main.include_base_title.* +import kotlinx.android.synthetic.main.include_empty_view.* + +class SearchStandardDeviceResultActivity : KotlinBaseActivity() { + + private lateinit var param: String + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + param = intent.getStringExtra(Constant.INTENT_PARAM)!! + + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020902) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device_reasult + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "查询结果" + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + param, + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020902 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt index b5f21f6..ba281ba 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt @@ -6,6 +6,8 @@ import com.casic.xz.meterage.extensions.toErrorMessage import com.casic.xz.meterage.model.EquipmentDetailModel import com.casic.xz.meterage.model.EquipmentListModel +import com.casic.xz.meterage.model.StandardDeviceDetailModel +import com.casic.xz.meterage.model.StandardDeviceListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -19,6 +21,8 @@ private val gson by lazy { Gson() } val equipmentResult = MutableLiveData() val equipmentDetailResult = MutableLiveData() + val standardDeviceResult = MutableLiveData() + val standardDeviceDetailResult = MutableLiveData() fun getEquipmentList( equipmentNo: String, @@ -89,4 +93,58 @@ loadState.value = LoadState.Fail it.printStackTrace() }) + + fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceList( + standardNo, + standardName, + category, + managerState, + standardLaboratory, + preparationDate, + id, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) + + fun getStandardDeviceDetail(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceDetail(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceDetailResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_equipment.xml b/app/src/main/res/layout/activity_search_equipment.xml index a960801..c06b8d2 100644 --- a/app/src/main/res/layout/activity_search_equipment.xml +++ b/app/src/main/res/layout/activity_search_equipment.xml @@ -2,7 +2,8 @@ + android:layout_height="match_parent" + android:orientation="vertical"> + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device.xml b/app/src/main/res/layout/activity_search_standard_device.xml new file mode 100644 index 0000000..78d1018 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device_reasult.xml b/app/src/main/res/layout/activity_search_standard_device_reasult.xml new file mode 100644 index 0000000..74ee063 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device_reasult.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_device.xml b/app/src/main/res/layout/activity_standard_device.xml new file mode 100644 index 0000000..62a9524 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_device.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_device_detail.xml b/app/src/main/res/layout/activity_standard_device_detail.xml new file mode 100644 index 0000000..b711b87 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_device_detail.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_basic_information.xml b/app/src/main/res/layout/fragment_basic_information.xml deleted file mode 100644 index 4a3c1c7..0000000 --- a/app/src/main/res/layout/fragment_basic_information.xml +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_certificate.xml b/app/src/main/res/layout/fragment_certificate.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_certificate.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_change_record.xml b/app/src/main/res/layout/fragment_change_record.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_change_record.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_basic_information.xml b/app/src/main/res/layout/fragment_device_basic_information.xml new file mode 100644 index 0000000..5c4771d --- /dev/null +++ b/app/src/main/res/layout/fragment_device_basic_information.xml @@ -0,0 +1,451 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_certificate.xml b/app/src/main/res/layout/fragment_device_certificate.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_certificate.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_measurement_person.xml b/app/src/main/res/layout/fragment_device_measurement_person.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_measurement_person.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_support_equipment.xml b/app/src/main/res/layout/fragment_device_support_equipment.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_support_equipment.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_usage_record.xml b/app/src/main/res/layout/fragment_device_usage_record.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_usage_record.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_equipment_basic_information.xml b/app/src/main/res/layout/fragment_equipment_basic_information.xml new file mode 100644 index 0000000..4a3c1c7 --- /dev/null +++ b/app/src/main/res/layout/fragment_equipment_basic_information.xml @@ -0,0 +1,390 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_equipment_certificate.xml b/app/src/main/res/layout/fragment_equipment_certificate.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_equipment_certificate.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_equipment_change_record.xml b/app/src/main/res/layout/fragment_equipment_change_record.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_equipment_change_record.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_equipment_inspection_record.xml b/app/src/main/res/layout/fragment_equipment_inspection_record.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_equipment_inspection_record.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt index cf22646..a64791f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt @@ -8,7 +8,7 @@ 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_basic_information.* +import kotlinx.android.synthetic.main.fragment_equipment_basic_information.* class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { @@ -86,7 +86,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_basic_information + override fun initLayoutView(): Int = R.layout.fragment_equipment_basic_information override fun observeRequestState() { equipmentViewModel.loadState.observe(this, { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt index 0b4a747..1c55901 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_certificate + override fun initLayoutView(): Int = R.layout.fragment_equipment_certificate override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt index f05c491..394fae6 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_change_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_change_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt index 849ffa5..dd02b42 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_inspection_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_inspection_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index aa4edd9..29a3d26 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_usage_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_usage_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java new file mode 100644 index 0000000..f3ada98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java @@ -0,0 +1,499 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceDetailModel { + + 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 { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private List fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public List getFileList() { + return fileList; + } + + public void setFileList(List fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public static class FileListModel { + private String assetId; + private String createTime; + private String createUser; + private String fileName; + private String id; + private int isDel; + private String minioFileName; + private String remark; + private String updateTime; + + public String getAssetId() { + return assetId; + } + + public void setAssetId(String assetId) { + this.assetId = assetId; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java new file mode 100644 index 0000000..dc26cd3 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java @@ -0,0 +1,436 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceListModel { + + 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 { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} 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 46e5eef..3382fae 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 @@ -55,4 +55,24 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取标准装置列表 + */ + @POST("/meter/standard/listPage") + suspend fun getStandardDeviceList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String + + /** + * 获取标准装置详情 + */ + @POST("/meter/standard/detail") + suspend fun getStandardDeviceDetail( + @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 386a1d8..1af43c3 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 @@ -142,4 +142,49 @@ ) return api.getEquipmentDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取标准装置列表 + */ + suspend fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject.put("standardNo", standardNo) + paramObject.put("standardName", standardName) + paramObject.put("category", category) + paramObject.put("managerState", managerState) + paramObject.put("standardLaboratory", standardLaboratory) + paramObject.put("preparationDate", preparationDate) + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getStandardDeviceList(AuthenticationHelper.token!!, requestBody, limitMap, offsetMap) + } + + /** + * 获取标准装置详情 + */ + suspend fun getStandardDeviceDetail(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStandardDeviceDetail(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt new file mode 100644 index 0000000..cae747c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -0,0 +1,151 @@ +package com.casic.xz.meterage.view.home + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.search.SearchStandardDeviceActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_standard_device.* +import kotlinx.android.synthetic.main.include_empty_view.* +import kotlinx.android.synthetic.main.include_search_title.* + +class StandardDeviceActivity : KotlinBaseActivity() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020901) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + rightOperateView.setOnClickListener { + navigatePageTo() + } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + "", + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020901 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt new file mode 100644 index 0000000..0f3cfb4 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -0,0 +1,51 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +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.device.* +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_device_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardDeviceDetailActivity : KotlinBaseActivity() { + + private var fragmentPages: ArrayList = ArrayList() + + override fun initData() { + val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! + + fragmentPages.add(BasicInformationFragment(deviceId)) + fragmentPages.add(MeasurementPersonFragment()) + fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(UsageRecordFragment()) + fragmentPages.add(CertificateFragment()) + + val devicePageTitles = arrayOf("基础信息", "计量人员", "标准配套设备", "使用记录", "检定证书") + deiceViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, devicePageTitles + ) + deiceViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(deiceViewPager) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device_detail + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt index b053e85..e645c7c 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt @@ -33,4 +33,9 @@ ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt new file mode 100644 index 0000000..d9d73af --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt @@ -0,0 +1,41 @@ +package com.casic.xz.meterage.view.search + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import kotlinx.android.synthetic.main.activity_search_standard_device.* + +/** + * 搜索标准装置 + * */ +class SearchStandardDeviceActivity : KotlinBaseActivity() { + + override fun initData() { + + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + searchTextView.setOnClickListener { + navigatePageTo(inputView.text.toString()) + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt new file mode 100644 index 0000000..5e19d4e --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -0,0 +1,152 @@ +package com.casic.xz.meterage.view.search + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.home.StandardDeviceDetailActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_search_standard_device_reasult.* +import kotlinx.android.synthetic.main.include_base_title.* +import kotlinx.android.synthetic.main.include_empty_view.* + +class SearchStandardDeviceResultActivity : KotlinBaseActivity() { + + private lateinit var param: String + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + param = intent.getStringExtra(Constant.INTENT_PARAM)!! + + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020902) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device_reasult + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "查询结果" + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + param, + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020902 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt index b5f21f6..ba281ba 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt @@ -6,6 +6,8 @@ import com.casic.xz.meterage.extensions.toErrorMessage import com.casic.xz.meterage.model.EquipmentDetailModel import com.casic.xz.meterage.model.EquipmentListModel +import com.casic.xz.meterage.model.StandardDeviceDetailModel +import com.casic.xz.meterage.model.StandardDeviceListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -19,6 +21,8 @@ private val gson by lazy { Gson() } val equipmentResult = MutableLiveData() val equipmentDetailResult = MutableLiveData() + val standardDeviceResult = MutableLiveData() + val standardDeviceDetailResult = MutableLiveData() fun getEquipmentList( equipmentNo: String, @@ -89,4 +93,58 @@ loadState.value = LoadState.Fail it.printStackTrace() }) + + fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceList( + standardNo, + standardName, + category, + managerState, + standardLaboratory, + preparationDate, + id, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) + + fun getStandardDeviceDetail(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceDetail(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceDetailResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_equipment.xml b/app/src/main/res/layout/activity_search_equipment.xml index a960801..c06b8d2 100644 --- a/app/src/main/res/layout/activity_search_equipment.xml +++ b/app/src/main/res/layout/activity_search_equipment.xml @@ -2,7 +2,8 @@ + android:layout_height="match_parent" + android:orientation="vertical"> + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device.xml b/app/src/main/res/layout/activity_search_standard_device.xml new file mode 100644 index 0000000..78d1018 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device_reasult.xml b/app/src/main/res/layout/activity_search_standard_device_reasult.xml new file mode 100644 index 0000000..74ee063 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device_reasult.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_device.xml b/app/src/main/res/layout/activity_standard_device.xml new file mode 100644 index 0000000..62a9524 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_device.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_device_detail.xml b/app/src/main/res/layout/activity_standard_device_detail.xml new file mode 100644 index 0000000..b711b87 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_device_detail.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_basic_information.xml b/app/src/main/res/layout/fragment_basic_information.xml deleted file mode 100644 index 4a3c1c7..0000000 --- a/app/src/main/res/layout/fragment_basic_information.xml +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_certificate.xml b/app/src/main/res/layout/fragment_certificate.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_certificate.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_change_record.xml b/app/src/main/res/layout/fragment_change_record.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_change_record.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_basic_information.xml b/app/src/main/res/layout/fragment_device_basic_information.xml new file mode 100644 index 0000000..5c4771d --- /dev/null +++ b/app/src/main/res/layout/fragment_device_basic_information.xml @@ -0,0 +1,451 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_certificate.xml b/app/src/main/res/layout/fragment_device_certificate.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_certificate.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_measurement_person.xml b/app/src/main/res/layout/fragment_device_measurement_person.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_measurement_person.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_support_equipment.xml b/app/src/main/res/layout/fragment_device_support_equipment.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_support_equipment.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_usage_record.xml b/app/src/main/res/layout/fragment_device_usage_record.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_usage_record.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_equipment_basic_information.xml b/app/src/main/res/layout/fragment_equipment_basic_information.xml new file mode 100644 index 0000000..4a3c1c7 --- /dev/null +++ b/app/src/main/res/layout/fragment_equipment_basic_information.xml @@ -0,0 +1,390 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_equipment_certificate.xml b/app/src/main/res/layout/fragment_equipment_certificate.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_equipment_certificate.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_equipment_change_record.xml b/app/src/main/res/layout/fragment_equipment_change_record.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_equipment_change_record.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_equipment_inspection_record.xml b/app/src/main/res/layout/fragment_equipment_inspection_record.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_equipment_inspection_record.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_equipment_usage_record.xml b/app/src/main/res/layout/fragment_equipment_usage_record.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_equipment_usage_record.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt index cf22646..a64791f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt @@ -8,7 +8,7 @@ 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_basic_information.* +import kotlinx.android.synthetic.main.fragment_equipment_basic_information.* class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { @@ -86,7 +86,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_basic_information + override fun initLayoutView(): Int = R.layout.fragment_equipment_basic_information override fun observeRequestState() { equipmentViewModel.loadState.observe(this, { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt index 0b4a747..1c55901 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_certificate + override fun initLayoutView(): Int = R.layout.fragment_equipment_certificate override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt index f05c491..394fae6 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_change_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_change_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt index 849ffa5..dd02b42 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_inspection_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_inspection_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index aa4edd9..29a3d26 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_usage_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_usage_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java new file mode 100644 index 0000000..f3ada98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java @@ -0,0 +1,499 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceDetailModel { + + 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 { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private List fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public List getFileList() { + return fileList; + } + + public void setFileList(List fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public static class FileListModel { + private String assetId; + private String createTime; + private String createUser; + private String fileName; + private String id; + private int isDel; + private String minioFileName; + private String remark; + private String updateTime; + + public String getAssetId() { + return assetId; + } + + public void setAssetId(String assetId) { + this.assetId = assetId; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java new file mode 100644 index 0000000..dc26cd3 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java @@ -0,0 +1,436 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceListModel { + + 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 { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} 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 46e5eef..3382fae 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 @@ -55,4 +55,24 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取标准装置列表 + */ + @POST("/meter/standard/listPage") + suspend fun getStandardDeviceList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String + + /** + * 获取标准装置详情 + */ + @POST("/meter/standard/detail") + suspend fun getStandardDeviceDetail( + @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 386a1d8..1af43c3 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 @@ -142,4 +142,49 @@ ) return api.getEquipmentDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取标准装置列表 + */ + suspend fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject.put("standardNo", standardNo) + paramObject.put("standardName", standardName) + paramObject.put("category", category) + paramObject.put("managerState", managerState) + paramObject.put("standardLaboratory", standardLaboratory) + paramObject.put("preparationDate", preparationDate) + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getStandardDeviceList(AuthenticationHelper.token!!, requestBody, limitMap, offsetMap) + } + + /** + * 获取标准装置详情 + */ + suspend fun getStandardDeviceDetail(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStandardDeviceDetail(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt new file mode 100644 index 0000000..cae747c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -0,0 +1,151 @@ +package com.casic.xz.meterage.view.home + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.search.SearchStandardDeviceActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_standard_device.* +import kotlinx.android.synthetic.main.include_empty_view.* +import kotlinx.android.synthetic.main.include_search_title.* + +class StandardDeviceActivity : KotlinBaseActivity() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020901) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + rightOperateView.setOnClickListener { + navigatePageTo() + } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + "", + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020901 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt new file mode 100644 index 0000000..0f3cfb4 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -0,0 +1,51 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +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.device.* +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_device_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardDeviceDetailActivity : KotlinBaseActivity() { + + private var fragmentPages: ArrayList = ArrayList() + + override fun initData() { + val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! + + fragmentPages.add(BasicInformationFragment(deviceId)) + fragmentPages.add(MeasurementPersonFragment()) + fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(UsageRecordFragment()) + fragmentPages.add(CertificateFragment()) + + val devicePageTitles = arrayOf("基础信息", "计量人员", "标准配套设备", "使用记录", "检定证书") + deiceViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, devicePageTitles + ) + deiceViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(deiceViewPager) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device_detail + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt index b053e85..e645c7c 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt @@ -33,4 +33,9 @@ ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt new file mode 100644 index 0000000..d9d73af --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt @@ -0,0 +1,41 @@ +package com.casic.xz.meterage.view.search + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import kotlinx.android.synthetic.main.activity_search_standard_device.* + +/** + * 搜索标准装置 + * */ +class SearchStandardDeviceActivity : KotlinBaseActivity() { + + override fun initData() { + + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + searchTextView.setOnClickListener { + navigatePageTo(inputView.text.toString()) + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt new file mode 100644 index 0000000..5e19d4e --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -0,0 +1,152 @@ +package com.casic.xz.meterage.view.search + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.home.StandardDeviceDetailActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_search_standard_device_reasult.* +import kotlinx.android.synthetic.main.include_base_title.* +import kotlinx.android.synthetic.main.include_empty_view.* + +class SearchStandardDeviceResultActivity : KotlinBaseActivity() { + + private lateinit var param: String + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + param = intent.getStringExtra(Constant.INTENT_PARAM)!! + + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020902) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device_reasult + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "查询结果" + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + param, + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020902 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt index b5f21f6..ba281ba 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt @@ -6,6 +6,8 @@ import com.casic.xz.meterage.extensions.toErrorMessage import com.casic.xz.meterage.model.EquipmentDetailModel import com.casic.xz.meterage.model.EquipmentListModel +import com.casic.xz.meterage.model.StandardDeviceDetailModel +import com.casic.xz.meterage.model.StandardDeviceListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -19,6 +21,8 @@ private val gson by lazy { Gson() } val equipmentResult = MutableLiveData() val equipmentDetailResult = MutableLiveData() + val standardDeviceResult = MutableLiveData() + val standardDeviceDetailResult = MutableLiveData() fun getEquipmentList( equipmentNo: String, @@ -89,4 +93,58 @@ loadState.value = LoadState.Fail it.printStackTrace() }) + + fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceList( + standardNo, + standardName, + category, + managerState, + standardLaboratory, + preparationDate, + id, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) + + fun getStandardDeviceDetail(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceDetail(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceDetailResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_equipment.xml b/app/src/main/res/layout/activity_search_equipment.xml index a960801..c06b8d2 100644 --- a/app/src/main/res/layout/activity_search_equipment.xml +++ b/app/src/main/res/layout/activity_search_equipment.xml @@ -2,7 +2,8 @@ + android:layout_height="match_parent" + android:orientation="vertical"> + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device.xml b/app/src/main/res/layout/activity_search_standard_device.xml new file mode 100644 index 0000000..78d1018 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device_reasult.xml b/app/src/main/res/layout/activity_search_standard_device_reasult.xml new file mode 100644 index 0000000..74ee063 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device_reasult.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_device.xml b/app/src/main/res/layout/activity_standard_device.xml new file mode 100644 index 0000000..62a9524 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_device.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_device_detail.xml b/app/src/main/res/layout/activity_standard_device_detail.xml new file mode 100644 index 0000000..b711b87 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_device_detail.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_basic_information.xml b/app/src/main/res/layout/fragment_basic_information.xml deleted file mode 100644 index 4a3c1c7..0000000 --- a/app/src/main/res/layout/fragment_basic_information.xml +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_certificate.xml b/app/src/main/res/layout/fragment_certificate.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_certificate.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_change_record.xml b/app/src/main/res/layout/fragment_change_record.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_change_record.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_basic_information.xml b/app/src/main/res/layout/fragment_device_basic_information.xml new file mode 100644 index 0000000..5c4771d --- /dev/null +++ b/app/src/main/res/layout/fragment_device_basic_information.xml @@ -0,0 +1,451 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_certificate.xml b/app/src/main/res/layout/fragment_device_certificate.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_certificate.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_measurement_person.xml b/app/src/main/res/layout/fragment_device_measurement_person.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_measurement_person.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_support_equipment.xml b/app/src/main/res/layout/fragment_device_support_equipment.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_support_equipment.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_usage_record.xml b/app/src/main/res/layout/fragment_device_usage_record.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_usage_record.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_equipment_basic_information.xml b/app/src/main/res/layout/fragment_equipment_basic_information.xml new file mode 100644 index 0000000..4a3c1c7 --- /dev/null +++ b/app/src/main/res/layout/fragment_equipment_basic_information.xml @@ -0,0 +1,390 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_equipment_certificate.xml b/app/src/main/res/layout/fragment_equipment_certificate.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_equipment_certificate.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_equipment_change_record.xml b/app/src/main/res/layout/fragment_equipment_change_record.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_equipment_change_record.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_equipment_inspection_record.xml b/app/src/main/res/layout/fragment_equipment_inspection_record.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_equipment_inspection_record.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_equipment_usage_record.xml b/app/src/main/res/layout/fragment_equipment_usage_record.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_equipment_usage_record.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_inspection_record.xml b/app/src/main/res/layout/fragment_inspection_record.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_inspection_record.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt index cf22646..a64791f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt @@ -8,7 +8,7 @@ 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_basic_information.* +import kotlinx.android.synthetic.main.fragment_equipment_basic_information.* class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { @@ -86,7 +86,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_basic_information + override fun initLayoutView(): Int = R.layout.fragment_equipment_basic_information override fun observeRequestState() { equipmentViewModel.loadState.observe(this, { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt index 0b4a747..1c55901 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_certificate + override fun initLayoutView(): Int = R.layout.fragment_equipment_certificate override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt index f05c491..394fae6 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_change_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_change_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt index 849ffa5..dd02b42 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_inspection_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_inspection_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index aa4edd9..29a3d26 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_usage_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_usage_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java new file mode 100644 index 0000000..f3ada98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java @@ -0,0 +1,499 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceDetailModel { + + 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 { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private List fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public List getFileList() { + return fileList; + } + + public void setFileList(List fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public static class FileListModel { + private String assetId; + private String createTime; + private String createUser; + private String fileName; + private String id; + private int isDel; + private String minioFileName; + private String remark; + private String updateTime; + + public String getAssetId() { + return assetId; + } + + public void setAssetId(String assetId) { + this.assetId = assetId; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java new file mode 100644 index 0000000..dc26cd3 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java @@ -0,0 +1,436 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceListModel { + + 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 { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} 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 46e5eef..3382fae 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 @@ -55,4 +55,24 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取标准装置列表 + */ + @POST("/meter/standard/listPage") + suspend fun getStandardDeviceList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String + + /** + * 获取标准装置详情 + */ + @POST("/meter/standard/detail") + suspend fun getStandardDeviceDetail( + @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 386a1d8..1af43c3 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 @@ -142,4 +142,49 @@ ) return api.getEquipmentDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取标准装置列表 + */ + suspend fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject.put("standardNo", standardNo) + paramObject.put("standardName", standardName) + paramObject.put("category", category) + paramObject.put("managerState", managerState) + paramObject.put("standardLaboratory", standardLaboratory) + paramObject.put("preparationDate", preparationDate) + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getStandardDeviceList(AuthenticationHelper.token!!, requestBody, limitMap, offsetMap) + } + + /** + * 获取标准装置详情 + */ + suspend fun getStandardDeviceDetail(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStandardDeviceDetail(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt new file mode 100644 index 0000000..cae747c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -0,0 +1,151 @@ +package com.casic.xz.meterage.view.home + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.search.SearchStandardDeviceActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_standard_device.* +import kotlinx.android.synthetic.main.include_empty_view.* +import kotlinx.android.synthetic.main.include_search_title.* + +class StandardDeviceActivity : KotlinBaseActivity() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020901) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + rightOperateView.setOnClickListener { + navigatePageTo() + } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + "", + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020901 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt new file mode 100644 index 0000000..0f3cfb4 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -0,0 +1,51 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +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.device.* +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_device_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardDeviceDetailActivity : KotlinBaseActivity() { + + private var fragmentPages: ArrayList = ArrayList() + + override fun initData() { + val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! + + fragmentPages.add(BasicInformationFragment(deviceId)) + fragmentPages.add(MeasurementPersonFragment()) + fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(UsageRecordFragment()) + fragmentPages.add(CertificateFragment()) + + val devicePageTitles = arrayOf("基础信息", "计量人员", "标准配套设备", "使用记录", "检定证书") + deiceViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, devicePageTitles + ) + deiceViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(deiceViewPager) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device_detail + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt index b053e85..e645c7c 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt @@ -33,4 +33,9 @@ ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt new file mode 100644 index 0000000..d9d73af --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt @@ -0,0 +1,41 @@ +package com.casic.xz.meterage.view.search + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import kotlinx.android.synthetic.main.activity_search_standard_device.* + +/** + * 搜索标准装置 + * */ +class SearchStandardDeviceActivity : KotlinBaseActivity() { + + override fun initData() { + + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + searchTextView.setOnClickListener { + navigatePageTo(inputView.text.toString()) + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt new file mode 100644 index 0000000..5e19d4e --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -0,0 +1,152 @@ +package com.casic.xz.meterage.view.search + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.home.StandardDeviceDetailActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_search_standard_device_reasult.* +import kotlinx.android.synthetic.main.include_base_title.* +import kotlinx.android.synthetic.main.include_empty_view.* + +class SearchStandardDeviceResultActivity : KotlinBaseActivity() { + + private lateinit var param: String + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + param = intent.getStringExtra(Constant.INTENT_PARAM)!! + + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020902) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device_reasult + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "查询结果" + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + param, + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020902 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt index b5f21f6..ba281ba 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt @@ -6,6 +6,8 @@ import com.casic.xz.meterage.extensions.toErrorMessage import com.casic.xz.meterage.model.EquipmentDetailModel import com.casic.xz.meterage.model.EquipmentListModel +import com.casic.xz.meterage.model.StandardDeviceDetailModel +import com.casic.xz.meterage.model.StandardDeviceListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -19,6 +21,8 @@ private val gson by lazy { Gson() } val equipmentResult = MutableLiveData() val equipmentDetailResult = MutableLiveData() + val standardDeviceResult = MutableLiveData() + val standardDeviceDetailResult = MutableLiveData() fun getEquipmentList( equipmentNo: String, @@ -89,4 +93,58 @@ loadState.value = LoadState.Fail it.printStackTrace() }) + + fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceList( + standardNo, + standardName, + category, + managerState, + standardLaboratory, + preparationDate, + id, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) + + fun getStandardDeviceDetail(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceDetail(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceDetailResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_equipment.xml b/app/src/main/res/layout/activity_search_equipment.xml index a960801..c06b8d2 100644 --- a/app/src/main/res/layout/activity_search_equipment.xml +++ b/app/src/main/res/layout/activity_search_equipment.xml @@ -2,7 +2,8 @@ + android:layout_height="match_parent" + android:orientation="vertical"> + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device.xml b/app/src/main/res/layout/activity_search_standard_device.xml new file mode 100644 index 0000000..78d1018 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device_reasult.xml b/app/src/main/res/layout/activity_search_standard_device_reasult.xml new file mode 100644 index 0000000..74ee063 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device_reasult.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_device.xml b/app/src/main/res/layout/activity_standard_device.xml new file mode 100644 index 0000000..62a9524 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_device.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_device_detail.xml b/app/src/main/res/layout/activity_standard_device_detail.xml new file mode 100644 index 0000000..b711b87 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_device_detail.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_basic_information.xml b/app/src/main/res/layout/fragment_basic_information.xml deleted file mode 100644 index 4a3c1c7..0000000 --- a/app/src/main/res/layout/fragment_basic_information.xml +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_certificate.xml b/app/src/main/res/layout/fragment_certificate.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_certificate.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_change_record.xml b/app/src/main/res/layout/fragment_change_record.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_change_record.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_basic_information.xml b/app/src/main/res/layout/fragment_device_basic_information.xml new file mode 100644 index 0000000..5c4771d --- /dev/null +++ b/app/src/main/res/layout/fragment_device_basic_information.xml @@ -0,0 +1,451 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_certificate.xml b/app/src/main/res/layout/fragment_device_certificate.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_certificate.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_measurement_person.xml b/app/src/main/res/layout/fragment_device_measurement_person.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_measurement_person.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_support_equipment.xml b/app/src/main/res/layout/fragment_device_support_equipment.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_support_equipment.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_usage_record.xml b/app/src/main/res/layout/fragment_device_usage_record.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_usage_record.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_equipment_basic_information.xml b/app/src/main/res/layout/fragment_equipment_basic_information.xml new file mode 100644 index 0000000..4a3c1c7 --- /dev/null +++ b/app/src/main/res/layout/fragment_equipment_basic_information.xml @@ -0,0 +1,390 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_equipment_certificate.xml b/app/src/main/res/layout/fragment_equipment_certificate.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_equipment_certificate.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_equipment_change_record.xml b/app/src/main/res/layout/fragment_equipment_change_record.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_equipment_change_record.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_equipment_inspection_record.xml b/app/src/main/res/layout/fragment_equipment_inspection_record.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_equipment_inspection_record.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_equipment_usage_record.xml b/app/src/main/res/layout/fragment_equipment_usage_record.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_equipment_usage_record.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_inspection_record.xml b/app/src/main/res/layout/fragment_inspection_record.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_inspection_record.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_usage_record.xml b/app/src/main/res/layout/fragment_usage_record.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_usage_record.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07519f7..1d6bb4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,8 +46,12 @@ + + + + +) : RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun getItemCount(): Int = dataRows.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_standard_device_rv_l, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + //绑定数据 + val rowsBean = dataRows[position] + holder.deviceNameView.text = rowsBean.standardName + holder.deviceCodeView.text = rowsBean.standardNo + holder.deviceDateView.text = rowsBean.preparationDate + holder.deviceLibView.text = rowsBean.standardLaboratoryName + + //绑定事件 + holder.itemView.setOnClickListener { + listener?.onItemClicked(position) + } + } + + inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) { + var deviceNameView: TextView = view.findViewById(R.id.deviceNameView) + var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView) + var deviceDateView: TextView = view.findViewById(R.id.deviceDateView) + var deviceLibView: TextView = view.findViewById(R.id.deviceLibView) + } + + private var listener: OnItemClickListener? = null + + interface OnItemClickListener { + fun onItemClicked(position: Int) + } + + fun setOnItemClickListener(onClickListener: OnItemClickListener?) { + this.listener = onClickListener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index d970b55..6c4c80c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -6,6 +6,7 @@ import com.casic.xz.meterage.adapter.HomeGridAdapter import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.EquipmentActivity +import com.casic.xz.meterage.view.home.StandardDeviceActivity import com.casic.xz.meterage.view.notice.NoticeListActivity import com.casic.xz.meterage.vm.NoticeViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -39,7 +40,7 @@ override fun onItemClick(position: Int) { when (LocaleConstant.HOME_FUNC_OPERATE[position]) { "仪器设备" -> requireContext().navigatePageTo() -// "标准装置" -> requireContext().navigatePageTo() + "标准装置" -> requireContext().navigatePageTo() // "证书报告" -> requireContext().navigatePageTo() // "委托需求" -> requireContext().navigatePageTo() // "访客" -> requireContext().navigatePageTo() diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt new file mode 100644 index 0000000..e1fc6b8 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/BasicInformationFragment.kt @@ -0,0 +1,86 @@ +package com.casic.xz.meterage.fragment.device + +import android.graphics.Paint +import androidx.lifecycle.ViewModelProvider +import com.casic.xz.meterage.R +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +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_device_basic_information.* + +class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { + + private lateinit var equipmentViewModel: EquipmentViewModel + + override fun initData() { + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.getStandardDeviceDetail(id) + equipmentViewModel.standardDeviceDetailResult.observe(this, { + if (it.code == 200) { + val data = it.data!! + + standardCodeView.text = data.standardNo + standardNameView.text = data.standardName + projectCodeView.text = data.projectNo + constStdProjView.text = data.constructionStandardProject +// unitCodeView.text = data.modelNo + preparationDateView.text = data.preparationDate + categoryView.text = data.categoryName + standardLevelView.text = data.standardLevelName + transmitRangeView.text = data.transmitRangeName + totalInvestmentView.text = data.totalInvestment + organizeCodeView.text = data.organizeNo + constructUnitView.text = data.constructionStandardUnitName + standardOwnerNameView.text = data.standardOwnerName + contactView.text = data.contactInfo + metrologyView.text = data.measureMajorName + managerStateView.text = data.managerStateName + assessmentUnitView.text = data.assessmentUnit + appraisalDateView.text = data.assessDate + uncertaintyView.text = data.uncertainty + measureRangeView.text = data.mesureRange + stdTempView.text = data.standardTemperature + stdHumidityView.text = data.standardHumidity +// certificateCodeView.text=data. +// issuanceUnitView.text=data. +// issuanceDateView.text=data. +// effectiveDateView.text=data. + if (data.fileList.size == 0) { + documentsView.text = "暂无" + } else { + documentsView.text = "查看附件列表" + val textPaint = documentsView.paint + textPaint.flags = Paint.UNDERLINE_TEXT_FLAG + textPaint.isAntiAlias = true + documentsView.setTextColor(R.color.themeColor.convertColor(requireContext())) + + documentsView.setOnClickListener { + + } + } + remarkView.text = data.remark + } + }) + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_basic_information + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt new file mode 100644 index 0000000..62f87d9 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/CertificateFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class CertificateFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_certificate + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt new file mode 100644 index 0000000..f8cef5c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/MeasurementPersonFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class MeasurementPersonFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_measurement_person + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt new file mode 100644 index 0000000..c00693d --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/SupportEquipmentFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class SupportEquipmentFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_support_equipment + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt new file mode 100644 index 0000000..5f02338 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/fragment/device/UsageRecordFragment.kt @@ -0,0 +1,24 @@ +package com.casic.xz.meterage.fragment.device + +import com.casic.xz.meterage.R +import com.pengxh.kt.lite.base.KotlinBaseFragment + +class UsageRecordFragment : KotlinBaseFragment() { + override fun initData() { + + } + + override fun initEvent() { + + } + + override fun initLayoutView(): Int = R.layout.fragment_device_usage_record + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt index cf22646..a64791f 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/BasicInformationFragment.kt @@ -8,7 +8,7 @@ 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_basic_information.* +import kotlinx.android.synthetic.main.fragment_equipment_basic_information.* class BasicInformationFragment(private val id: String) : KotlinBaseFragment() { @@ -86,7 +86,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_basic_information + override fun initLayoutView(): Int = R.layout.fragment_equipment_basic_information override fun observeRequestState() { equipmentViewModel.loadState.observe(this, { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt index 0b4a747..1c55901 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/CertificateFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_certificate + override fun initLayoutView(): Int = R.layout.fragment_equipment_certificate override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt index f05c491..394fae6 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/ChangeRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_change_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_change_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt index 849ffa5..dd02b42 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/InspectionRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_inspection_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_inspection_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index aa4edd9..29a3d26 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -12,7 +12,7 @@ } - override fun initLayoutView(): Int = R.layout.fragment_usage_record + override fun initLayoutView(): Int = R.layout.fragment_equipment_usage_record override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java new file mode 100644 index 0000000..f3ada98 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceDetailModel.java @@ -0,0 +1,499 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceDetailModel { + + 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 { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private List fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public List getFileList() { + return fileList; + } + + public void setFileList(List fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public static class FileListModel { + private String assetId; + private String createTime; + private String createUser; + private String fileName; + private String id; + private int isDel; + private String minioFileName; + private String remark; + private String updateTime; + + public String getAssetId() { + return assetId; + } + + public void setAssetId(String assetId) { + this.assetId = assetId; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getMinioFileName() { + return minioFileName; + } + + public void setMinioFileName(String minioFileName) { + this.minioFileName = minioFileName; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java new file mode 100644 index 0000000..dc26cd3 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/StandardDeviceListModel.java @@ -0,0 +1,436 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class StandardDeviceListModel { + + 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 { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String fileList; + private String id; + private int isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String validTime; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIsDel() { + return isDel; + } + + public void setIsDel(int isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} 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 46e5eef..3382fae 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 @@ -55,4 +55,24 @@ @Header("token") token: String, @Body requestBody: RequestBody ): String + + /** + * 获取标准装置列表 + */ + @POST("/meter/standard/listPage") + suspend fun getStandardDeviceList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String + + /** + * 获取标准装置详情 + */ + @POST("/meter/standard/detail") + suspend fun getStandardDeviceDetail( + @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 386a1d8..1af43c3 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 @@ -142,4 +142,49 @@ ) return api.getEquipmentDetail(AuthenticationHelper.token!!, requestBody) } + + /** + * 获取标准装置列表 + */ + suspend fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ): String { + val paramObject = JSONObject() + paramObject.put("standardNo", standardNo) + paramObject.put("standardName", standardName) + paramObject.put("category", category) + paramObject.put("managerState", managerState) + paramObject.put("standardLaboratory", standardLaboratory) + paramObject.put("preparationDate", preparationDate) + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + + val limitMap = HashMap() + limitMap["limit"] = LocaleConstant.PAGE_LIMIT + + val offsetMap = HashMap() + offsetMap["offset"] = offset + return api.getStandardDeviceList(AuthenticationHelper.token!!, requestBody, limitMap, offsetMap) + } + + /** + * 获取标准装置详情 + */ + suspend fun getStandardDeviceDetail(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.getStandardDeviceDetail(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt new file mode 100644 index 0000000..cae747c --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceActivity.kt @@ -0,0 +1,151 @@ +package com.casic.xz.meterage.view.home + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.search.SearchStandardDeviceActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_standard_device.* +import kotlinx.android.synthetic.main.include_empty_view.* +import kotlinx.android.synthetic.main.include_search_title.* + +class StandardDeviceActivity : KotlinBaseActivity() { + + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020901) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + rightOperateView.setOnClickListener { + navigatePageTo() + } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + "", + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020901 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt new file mode 100644 index 0000000..0f3cfb4 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/home/StandardDeviceDetailActivity.kt @@ -0,0 +1,51 @@ +package com.casic.xz.meterage.view.home + +import androidx.fragment.app.Fragment +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.device.* +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_standard_device_detail.* +import kotlinx.android.synthetic.main.include_base_title.* + +class StandardDeviceDetailActivity : KotlinBaseActivity() { + + private var fragmentPages: ArrayList = ArrayList() + + override fun initData() { + val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! + + fragmentPages.add(BasicInformationFragment(deviceId)) + fragmentPages.add(MeasurementPersonFragment()) + fragmentPages.add(SupportEquipmentFragment()) + fragmentPages.add(UsageRecordFragment()) + fragmentPages.add(CertificateFragment()) + + val devicePageTitles = arrayOf("基础信息", "计量人员", "标准配套设备", "使用记录", "检定证书") + deiceViewPager.adapter = SubViewPagerAdapter( + supportFragmentManager, fragmentPages, devicePageTitles + ) + deiceViewPager.offscreenPageLimit = fragmentPages.size + //绑定 + topTabLayout.setupWithViewPager(deiceViewPager) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + } + + override fun initLayoutView(): Int = R.layout.activity_standard_device_detail + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "标准装置" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt index b053e85..e645c7c 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchEquipmentActivity.kt @@ -33,4 +33,9 @@ ImmersionBar.with(this).statusBarDarkFont(true).init() initLayoutImmersionBar(rootView) } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt new file mode 100644 index 0000000..d9d73af --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceActivity.kt @@ -0,0 +1,41 @@ +package com.casic.xz.meterage.view.search + +import com.casic.xz.meterage.R +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import kotlinx.android.synthetic.main.activity_search_standard_device.* + +/** + * 搜索标准装置 + * */ +class SearchStandardDeviceActivity : KotlinBaseActivity() { + + override fun initData() { + + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + searchTextView.setOnClickListener { + navigatePageTo(inputView.text.toString()) + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + } + + override fun onResume() { + super.onResume() + //TODO 流式布局显示查询记录Tag? + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt new file mode 100644 index 0000000..5e19d4e --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/view/search/SearchStandardDeviceResultActivity.kt @@ -0,0 +1,152 @@ +package com.casic.xz.meterage.view.search + +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.StandardDeviceListAdapter +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.StandardDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.view.home.StandardDeviceDetailActivity +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_search_standard_device_reasult.* +import kotlinx.android.synthetic.main.include_base_title.* +import kotlinx.android.synthetic.main.include_empty_view.* + +class SearchStandardDeviceResultActivity : KotlinBaseActivity() { + + private lateinit var param: String + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var deviceListAdapter: StandardDeviceListAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + + override fun initData() { + param = intent.getStringExtra(Constant.INTENT_PARAM)!! + + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.standardDeviceResult.observe(this, { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + standardDeviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + standardDeviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023020902) + } + }) + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + + standardDeviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getStandardDeviceByPage() + } + + standardDeviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getStandardDeviceByPage() + } + } + + override fun initLayoutView(): Int = R.layout.activity_search_standard_device_reasult + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "查询结果" + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getStandardDeviceByPage() + } + + private fun getStandardDeviceByPage() { + equipmentViewModel.getStandardDeviceList( + "", + param, + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023020902 -> { + if (isRefresh || isLoadMore) { + deviceListAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无标准装置") { + pageIndex = 1 + getStandardDeviceByPage() + } + } else { + emptyView!!.hide() + deviceListAdapter = StandardDeviceListAdapter(this, dataBeans) + standardDeviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + standardDeviceRecyclerView.adapter = deviceListAdapter + deviceListAdapter.setOnItemClickListener(object : + StandardDeviceListAdapter.OnItemClickListener { + override fun onItemClicked(position: Int) { + val rowsModel = dataBeans[position] + navigatePageTo(rowsModel.id) + } + }) + } + } + } + } + true + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt index b5f21f6..ba281ba 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt @@ -6,6 +6,8 @@ import com.casic.xz.meterage.extensions.toErrorMessage import com.casic.xz.meterage.model.EquipmentDetailModel import com.casic.xz.meterage.model.EquipmentListModel +import com.casic.xz.meterage.model.StandardDeviceDetailModel +import com.casic.xz.meterage.model.StandardDeviceListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -19,6 +21,8 @@ private val gson by lazy { Gson() } val equipmentResult = MutableLiveData() val equipmentDetailResult = MutableLiveData() + val standardDeviceResult = MutableLiveData() + val standardDeviceDetailResult = MutableLiveData() fun getEquipmentList( equipmentNo: String, @@ -89,4 +93,58 @@ loadState.value = LoadState.Fail it.printStackTrace() }) + + fun getStandardDeviceList( + standardNo: String, + standardName: String, + category: String, + managerState: String, + standardLaboratory: String, + preparationDate: String, + id: String, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceList( + standardNo, + standardName, + category, + managerState, + standardLaboratory, + preparationDate, + id, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) + + fun getStandardDeviceDetail(id: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getStandardDeviceDetail(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + standardDeviceDetailResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.printStackTrace() + }) } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_equipment.xml b/app/src/main/res/layout/activity_search_equipment.xml index a960801..c06b8d2 100644 --- a/app/src/main/res/layout/activity_search_equipment.xml +++ b/app/src/main/res/layout/activity_search_equipment.xml @@ -2,7 +2,8 @@ + android:layout_height="match_parent" + android:orientation="vertical"> + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device.xml b/app/src/main/res/layout/activity_search_standard_device.xml new file mode 100644 index 0000000..78d1018 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search_standard_device_reasult.xml b/app/src/main/res/layout/activity_search_standard_device_reasult.xml new file mode 100644 index 0000000..74ee063 --- /dev/null +++ b/app/src/main/res/layout/activity_search_standard_device_reasult.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_device.xml b/app/src/main/res/layout/activity_standard_device.xml new file mode 100644 index 0000000..62a9524 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_device.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_device_detail.xml b/app/src/main/res/layout/activity_standard_device_detail.xml new file mode 100644 index 0000000..b711b87 --- /dev/null +++ b/app/src/main/res/layout/activity_standard_device_detail.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_basic_information.xml b/app/src/main/res/layout/fragment_basic_information.xml deleted file mode 100644 index 4a3c1c7..0000000 --- a/app/src/main/res/layout/fragment_basic_information.xml +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_certificate.xml b/app/src/main/res/layout/fragment_certificate.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_certificate.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_change_record.xml b/app/src/main/res/layout/fragment_change_record.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_change_record.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_basic_information.xml b/app/src/main/res/layout/fragment_device_basic_information.xml new file mode 100644 index 0000000..5c4771d --- /dev/null +++ b/app/src/main/res/layout/fragment_device_basic_information.xml @@ -0,0 +1,451 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_certificate.xml b/app/src/main/res/layout/fragment_device_certificate.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_certificate.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_measurement_person.xml b/app/src/main/res/layout/fragment_device_measurement_person.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_measurement_person.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_support_equipment.xml b/app/src/main/res/layout/fragment_device_support_equipment.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_support_equipment.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_usage_record.xml b/app/src/main/res/layout/fragment_device_usage_record.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_device_usage_record.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_equipment_basic_information.xml b/app/src/main/res/layout/fragment_equipment_basic_information.xml new file mode 100644 index 0000000..4a3c1c7 --- /dev/null +++ b/app/src/main/res/layout/fragment_equipment_basic_information.xml @@ -0,0 +1,390 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_equipment_certificate.xml b/app/src/main/res/layout/fragment_equipment_certificate.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_equipment_certificate.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_equipment_change_record.xml b/app/src/main/res/layout/fragment_equipment_change_record.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_equipment_change_record.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_equipment_inspection_record.xml b/app/src/main/res/layout/fragment_equipment_inspection_record.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_equipment_inspection_record.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_equipment_usage_record.xml b/app/src/main/res/layout/fragment_equipment_usage_record.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_equipment_usage_record.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_inspection_record.xml b/app/src/main/res/layout/fragment_inspection_record.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_inspection_record.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_usage_record.xml b/app/src/main/res/layout/fragment_usage_record.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_usage_record.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/item_standard_device_rv_l.xml b/app/src/main/res/layout/item_standard_device_rv_l.xml new file mode 100644 index 0000000..8d3b979 --- /dev/null +++ b/app/src/main/res/layout/item_standard_device_rv_l.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + \ No newline at end of file