diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 5edac14..1ccc12b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -59,6 +59,7 @@
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 5edac14..1ccc12b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -59,6 +59,7 @@
+
diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter.kt
index a365eaf..66279bb 100644
--- a/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter.kt
+++ b/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter.kt
@@ -10,6 +10,9 @@
import com.casic.xz.meterage.R
import com.casic.xz.meterage.model.DictionaryModel
+/**
+ * 查看委托需求Adapter
+ * */
class CertificateTypeAdapter(
context: Context,
private val dataRows: MutableList,
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 5edac14..1ccc12b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -59,6 +59,7 @@
+
diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter.kt
index a365eaf..66279bb 100644
--- a/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter.kt
+++ b/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter.kt
@@ -10,6 +10,9 @@
import com.casic.xz.meterage.R
import com.casic.xz.meterage.model.DictionaryModel
+/**
+ * 查看委托需求Adapter
+ * */
class CertificateTypeAdapter(
context: Context,
private val dataRows: MutableList,
diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter2.kt b/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter2.kt
new file mode 100644
index 0000000..2eb2ebb
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter2.kt
@@ -0,0 +1,52 @@
+package com.casic.xz.meterage.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.CheckBox
+import android.widget.LinearLayout
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.model.DictionaryModel
+
+/**
+ * 新增委托需求Adapter
+ * */
+class CertificateTypeAdapter2(
+ context: Context, private val dataRows: MutableList
+) : 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_certificate_type_rv_l_2, parent, false)
+ )
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ val params = holder.itemView.layoutParams
+ params.height = LinearLayout.LayoutParams.WRAP_CONTENT
+ //绑定数据
+ val rowsBean = dataRows[position]
+ holder.checkbox.text = rowsBean.name
+ holder.checkbox.setOnCheckedChangeListener { _, isChecked ->
+ listener?.onItemChecked(position, isChecked)
+ }
+ }
+
+ inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var checkbox: CheckBox = view.findViewById(R.id.checkbox)
+ }
+
+ private var listener: OnItemCheckedListener? = null
+
+ interface OnItemCheckedListener {
+ fun onItemChecked(position: Int, isChecked: Boolean)
+ }
+
+ fun setOnItemCheckedListener(onCheckedListener: OnItemCheckedListener?) {
+ this.listener = onCheckedListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 5edac14..1ccc12b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -59,6 +59,7 @@
+
diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter.kt
index a365eaf..66279bb 100644
--- a/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter.kt
+++ b/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter.kt
@@ -10,6 +10,9 @@
import com.casic.xz.meterage.R
import com.casic.xz.meterage.model.DictionaryModel
+/**
+ * 查看委托需求Adapter
+ * */
class CertificateTypeAdapter(
context: Context,
private val dataRows: MutableList,
diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter2.kt b/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter2.kt
new file mode 100644
index 0000000..2eb2ebb
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter2.kt
@@ -0,0 +1,52 @@
+package com.casic.xz.meterage.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.CheckBox
+import android.widget.LinearLayout
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.model.DictionaryModel
+
+/**
+ * 新增委托需求Adapter
+ * */
+class CertificateTypeAdapter2(
+ context: Context, private val dataRows: MutableList
+) : 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_certificate_type_rv_l_2, parent, false)
+ )
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ val params = holder.itemView.layoutParams
+ params.height = LinearLayout.LayoutParams.WRAP_CONTENT
+ //绑定数据
+ val rowsBean = dataRows[position]
+ holder.checkbox.text = rowsBean.name
+ holder.checkbox.setOnCheckedChangeListener { _, isChecked ->
+ listener?.onItemChecked(position, isChecked)
+ }
+ }
+
+ inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var checkbox: CheckBox = view.findViewById(R.id.checkbox)
+ }
+
+ private var listener: OnItemCheckedListener? = null
+
+ interface OnItemCheckedListener {
+ fun onItemChecked(position: Int, isChecked: Boolean)
+ }
+
+ fun setOnItemCheckedListener(onCheckedListener: OnItemCheckedListener?) {
+ this.listener = onCheckedListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
index 9214a64..e06cec4 100644
--- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
+++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
@@ -61,11 +61,12 @@
override fun initEvent() {
leftBackView.setOnClickListener { finish() }
- searchImageView.setOnClickListener {
+ searchEntrustView.setOnClickListener {
navigatePageTo()
}
- addImageView.setOnClickListener {
+ addEntrustView.setOnClickListener {
+ navigatePageTo()
}
entrustLayout.setOnRefreshListener {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 5edac14..1ccc12b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -59,6 +59,7 @@
+
diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter.kt
index a365eaf..66279bb 100644
--- a/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter.kt
+++ b/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter.kt
@@ -10,6 +10,9 @@
import com.casic.xz.meterage.R
import com.casic.xz.meterage.model.DictionaryModel
+/**
+ * 查看委托需求Adapter
+ * */
class CertificateTypeAdapter(
context: Context,
private val dataRows: MutableList,
diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter2.kt b/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter2.kt
new file mode 100644
index 0000000..2eb2ebb
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter2.kt
@@ -0,0 +1,52 @@
+package com.casic.xz.meterage.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.CheckBox
+import android.widget.LinearLayout
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.model.DictionaryModel
+
+/**
+ * 新增委托需求Adapter
+ * */
+class CertificateTypeAdapter2(
+ context: Context, private val dataRows: MutableList
+) : 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_certificate_type_rv_l_2, parent, false)
+ )
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ val params = holder.itemView.layoutParams
+ params.height = LinearLayout.LayoutParams.WRAP_CONTENT
+ //绑定数据
+ val rowsBean = dataRows[position]
+ holder.checkbox.text = rowsBean.name
+ holder.checkbox.setOnCheckedChangeListener { _, isChecked ->
+ listener?.onItemChecked(position, isChecked)
+ }
+ }
+
+ inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var checkbox: CheckBox = view.findViewById(R.id.checkbox)
+ }
+
+ private var listener: OnItemCheckedListener? = null
+
+ interface OnItemCheckedListener {
+ fun onItemChecked(position: Int, isChecked: Boolean)
+ }
+
+ fun setOnItemCheckedListener(onCheckedListener: OnItemCheckedListener?) {
+ this.listener = onCheckedListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
index 9214a64..e06cec4 100644
--- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
+++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
@@ -61,11 +61,12 @@
override fun initEvent() {
leftBackView.setOnClickListener { finish() }
- searchImageView.setOnClickListener {
+ searchEntrustView.setOnClickListener {
navigatePageTo()
}
- addImageView.setOnClickListener {
+ addEntrustView.setOnClickListener {
+ navigatePageTo()
}
entrustLayout.setOnRefreshListener {
diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt
new file mode 100644
index 0000000..3e30095
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt
@@ -0,0 +1,73 @@
+package com.casic.xz.meterage.view.home
+
+import android.util.Log
+import androidx.lifecycle.ViewModelProvider
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.adapter.CertificateTypeAdapter2
+import com.casic.xz.meterage.extensions.initLayoutImmersionBar
+import com.casic.xz.meterage.vm.DictionaryViewModel
+import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.extensions.toJson
+import kotlinx.android.synthetic.main.activity_entrust_add.*
+
+class EntrustAddActivity : KotlinBaseActivity() {
+
+ private lateinit var dictionaryViewModel: DictionaryViewModel
+ private var checkedItems = ArrayList()
+
+ override fun initData() {
+ //证书
+ dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java]
+ dictionaryViewModel.getDictionaryByCode("certificationClass")
+ dictionaryViewModel.dictionary.observe(this) { dic ->
+ if (dic.code == 200) {
+ val typeAdapter2 = CertificateTypeAdapter2(this, dic.data)
+ typeRecyclerView.adapter = typeAdapter2
+ typeAdapter2.setOnItemCheckedListener(object :
+ CertificateTypeAdapter2.OnItemCheckedListener {
+ override fun onItemChecked(position: Int, isChecked: Boolean) {
+ if (isChecked) {
+ checkedItems.add(position)
+ } else {
+ checkedItems.remove(position)
+ }
+ }
+ })
+ }
+ }
+ }
+
+ override fun initEvent() {
+ //上传附件
+ uploadFileButton.setOnClickListener {
+
+ }
+
+ //选择样品
+ selectSampleButton.setOnClickListener {
+
+ }
+
+ //写入样品信息
+ writeSampleButton.setOnClickListener {
+
+ }
+
+ pushEntrustView.setOnClickListener {
+ Log.d("Casic", "EntrustAddActivity => initEvent: ${checkedItems.toJson()}")
+ }
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_entrust_add
+
+ 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 5edac14..1ccc12b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -59,6 +59,7 @@
+
diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter.kt
index a365eaf..66279bb 100644
--- a/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter.kt
+++ b/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter.kt
@@ -10,6 +10,9 @@
import com.casic.xz.meterage.R
import com.casic.xz.meterage.model.DictionaryModel
+/**
+ * 查看委托需求Adapter
+ * */
class CertificateTypeAdapter(
context: Context,
private val dataRows: MutableList,
diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter2.kt b/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter2.kt
new file mode 100644
index 0000000..2eb2ebb
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter2.kt
@@ -0,0 +1,52 @@
+package com.casic.xz.meterage.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.CheckBox
+import android.widget.LinearLayout
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.model.DictionaryModel
+
+/**
+ * 新增委托需求Adapter
+ * */
+class CertificateTypeAdapter2(
+ context: Context, private val dataRows: MutableList
+) : 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_certificate_type_rv_l_2, parent, false)
+ )
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ val params = holder.itemView.layoutParams
+ params.height = LinearLayout.LayoutParams.WRAP_CONTENT
+ //绑定数据
+ val rowsBean = dataRows[position]
+ holder.checkbox.text = rowsBean.name
+ holder.checkbox.setOnCheckedChangeListener { _, isChecked ->
+ listener?.onItemChecked(position, isChecked)
+ }
+ }
+
+ inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var checkbox: CheckBox = view.findViewById(R.id.checkbox)
+ }
+
+ private var listener: OnItemCheckedListener? = null
+
+ interface OnItemCheckedListener {
+ fun onItemChecked(position: Int, isChecked: Boolean)
+ }
+
+ fun setOnItemCheckedListener(onCheckedListener: OnItemCheckedListener?) {
+ this.listener = onCheckedListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
index 9214a64..e06cec4 100644
--- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
+++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
@@ -61,11 +61,12 @@
override fun initEvent() {
leftBackView.setOnClickListener { finish() }
- searchImageView.setOnClickListener {
+ searchEntrustView.setOnClickListener {
navigatePageTo()
}
- addImageView.setOnClickListener {
+ addEntrustView.setOnClickListener {
+ navigatePageTo()
}
entrustLayout.setOnRefreshListener {
diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt
new file mode 100644
index 0000000..3e30095
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt
@@ -0,0 +1,73 @@
+package com.casic.xz.meterage.view.home
+
+import android.util.Log
+import androidx.lifecycle.ViewModelProvider
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.adapter.CertificateTypeAdapter2
+import com.casic.xz.meterage.extensions.initLayoutImmersionBar
+import com.casic.xz.meterage.vm.DictionaryViewModel
+import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.extensions.toJson
+import kotlinx.android.synthetic.main.activity_entrust_add.*
+
+class EntrustAddActivity : KotlinBaseActivity() {
+
+ private lateinit var dictionaryViewModel: DictionaryViewModel
+ private var checkedItems = ArrayList()
+
+ override fun initData() {
+ //证书
+ dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java]
+ dictionaryViewModel.getDictionaryByCode("certificationClass")
+ dictionaryViewModel.dictionary.observe(this) { dic ->
+ if (dic.code == 200) {
+ val typeAdapter2 = CertificateTypeAdapter2(this, dic.data)
+ typeRecyclerView.adapter = typeAdapter2
+ typeAdapter2.setOnItemCheckedListener(object :
+ CertificateTypeAdapter2.OnItemCheckedListener {
+ override fun onItemChecked(position: Int, isChecked: Boolean) {
+ if (isChecked) {
+ checkedItems.add(position)
+ } else {
+ checkedItems.remove(position)
+ }
+ }
+ })
+ }
+ }
+ }
+
+ override fun initEvent() {
+ //上传附件
+ uploadFileButton.setOnClickListener {
+
+ }
+
+ //选择样品
+ selectSampleButton.setOnClickListener {
+
+ }
+
+ //写入样品信息
+ writeSampleButton.setOnClickListener {
+
+ }
+
+ pushEntrustView.setOnClickListener {
+ Log.d("Casic", "EntrustAddActivity => initEvent: ${checkedItems.toJson()}")
+ }
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_entrust_add
+
+ 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/res/layout/activity_entrust.xml b/app/src/main/res/layout/activity_entrust.xml
index 55b22da..568cd8b 100644
--- a/app/src/main/res/layout/activity_entrust.xml
+++ b/app/src/main/res/layout/activity_entrust.xml
@@ -32,15 +32,15 @@
android:textSize="@dimen/sp_16" />
+
diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter.kt
index a365eaf..66279bb 100644
--- a/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter.kt
+++ b/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter.kt
@@ -10,6 +10,9 @@
import com.casic.xz.meterage.R
import com.casic.xz.meterage.model.DictionaryModel
+/**
+ * 查看委托需求Adapter
+ * */
class CertificateTypeAdapter(
context: Context,
private val dataRows: MutableList,
diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter2.kt b/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter2.kt
new file mode 100644
index 0000000..2eb2ebb
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter2.kt
@@ -0,0 +1,52 @@
+package com.casic.xz.meterage.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.CheckBox
+import android.widget.LinearLayout
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.model.DictionaryModel
+
+/**
+ * 新增委托需求Adapter
+ * */
+class CertificateTypeAdapter2(
+ context: Context, private val dataRows: MutableList
+) : 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_certificate_type_rv_l_2, parent, false)
+ )
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ val params = holder.itemView.layoutParams
+ params.height = LinearLayout.LayoutParams.WRAP_CONTENT
+ //绑定数据
+ val rowsBean = dataRows[position]
+ holder.checkbox.text = rowsBean.name
+ holder.checkbox.setOnCheckedChangeListener { _, isChecked ->
+ listener?.onItemChecked(position, isChecked)
+ }
+ }
+
+ inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var checkbox: CheckBox = view.findViewById(R.id.checkbox)
+ }
+
+ private var listener: OnItemCheckedListener? = null
+
+ interface OnItemCheckedListener {
+ fun onItemChecked(position: Int, isChecked: Boolean)
+ }
+
+ fun setOnItemCheckedListener(onCheckedListener: OnItemCheckedListener?) {
+ this.listener = onCheckedListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
index 9214a64..e06cec4 100644
--- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
+++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
@@ -61,11 +61,12 @@
override fun initEvent() {
leftBackView.setOnClickListener { finish() }
- searchImageView.setOnClickListener {
+ searchEntrustView.setOnClickListener {
navigatePageTo()
}
- addImageView.setOnClickListener {
+ addEntrustView.setOnClickListener {
+ navigatePageTo()
}
entrustLayout.setOnRefreshListener {
diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt
new file mode 100644
index 0000000..3e30095
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt
@@ -0,0 +1,73 @@
+package com.casic.xz.meterage.view.home
+
+import android.util.Log
+import androidx.lifecycle.ViewModelProvider
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.adapter.CertificateTypeAdapter2
+import com.casic.xz.meterage.extensions.initLayoutImmersionBar
+import com.casic.xz.meterage.vm.DictionaryViewModel
+import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.extensions.toJson
+import kotlinx.android.synthetic.main.activity_entrust_add.*
+
+class EntrustAddActivity : KotlinBaseActivity() {
+
+ private lateinit var dictionaryViewModel: DictionaryViewModel
+ private var checkedItems = ArrayList()
+
+ override fun initData() {
+ //证书
+ dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java]
+ dictionaryViewModel.getDictionaryByCode("certificationClass")
+ dictionaryViewModel.dictionary.observe(this) { dic ->
+ if (dic.code == 200) {
+ val typeAdapter2 = CertificateTypeAdapter2(this, dic.data)
+ typeRecyclerView.adapter = typeAdapter2
+ typeAdapter2.setOnItemCheckedListener(object :
+ CertificateTypeAdapter2.OnItemCheckedListener {
+ override fun onItemChecked(position: Int, isChecked: Boolean) {
+ if (isChecked) {
+ checkedItems.add(position)
+ } else {
+ checkedItems.remove(position)
+ }
+ }
+ })
+ }
+ }
+ }
+
+ override fun initEvent() {
+ //上传附件
+ uploadFileButton.setOnClickListener {
+
+ }
+
+ //选择样品
+ selectSampleButton.setOnClickListener {
+
+ }
+
+ //写入样品信息
+ writeSampleButton.setOnClickListener {
+
+ }
+
+ pushEntrustView.setOnClickListener {
+ Log.d("Casic", "EntrustAddActivity => initEvent: ${checkedItems.toJson()}")
+ }
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_entrust_add
+
+ 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/res/layout/activity_entrust.xml b/app/src/main/res/layout/activity_entrust.xml
index 55b22da..568cd8b 100644
--- a/app/src/main/res/layout/activity_entrust.xml
+++ b/app/src/main/res/layout/activity_entrust.xml
@@ -32,15 +32,15 @@
android:textSize="@dimen/sp_16" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 5edac14..1ccc12b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -59,6 +59,7 @@
+
diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter.kt
index a365eaf..66279bb 100644
--- a/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter.kt
+++ b/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter.kt
@@ -10,6 +10,9 @@
import com.casic.xz.meterage.R
import com.casic.xz.meterage.model.DictionaryModel
+/**
+ * 查看委托需求Adapter
+ * */
class CertificateTypeAdapter(
context: Context,
private val dataRows: MutableList,
diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter2.kt b/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter2.kt
new file mode 100644
index 0000000..2eb2ebb
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter2.kt
@@ -0,0 +1,52 @@
+package com.casic.xz.meterage.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.CheckBox
+import android.widget.LinearLayout
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.model.DictionaryModel
+
+/**
+ * 新增委托需求Adapter
+ * */
+class CertificateTypeAdapter2(
+ context: Context, private val dataRows: MutableList
+) : 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_certificate_type_rv_l_2, parent, false)
+ )
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ val params = holder.itemView.layoutParams
+ params.height = LinearLayout.LayoutParams.WRAP_CONTENT
+ //绑定数据
+ val rowsBean = dataRows[position]
+ holder.checkbox.text = rowsBean.name
+ holder.checkbox.setOnCheckedChangeListener { _, isChecked ->
+ listener?.onItemChecked(position, isChecked)
+ }
+ }
+
+ inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var checkbox: CheckBox = view.findViewById(R.id.checkbox)
+ }
+
+ private var listener: OnItemCheckedListener? = null
+
+ interface OnItemCheckedListener {
+ fun onItemChecked(position: Int, isChecked: Boolean)
+ }
+
+ fun setOnItemCheckedListener(onCheckedListener: OnItemCheckedListener?) {
+ this.listener = onCheckedListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
index 9214a64..e06cec4 100644
--- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
+++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
@@ -61,11 +61,12 @@
override fun initEvent() {
leftBackView.setOnClickListener { finish() }
- searchImageView.setOnClickListener {
+ searchEntrustView.setOnClickListener {
navigatePageTo()
}
- addImageView.setOnClickListener {
+ addEntrustView.setOnClickListener {
+ navigatePageTo()
}
entrustLayout.setOnRefreshListener {
diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt
new file mode 100644
index 0000000..3e30095
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt
@@ -0,0 +1,73 @@
+package com.casic.xz.meterage.view.home
+
+import android.util.Log
+import androidx.lifecycle.ViewModelProvider
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.adapter.CertificateTypeAdapter2
+import com.casic.xz.meterage.extensions.initLayoutImmersionBar
+import com.casic.xz.meterage.vm.DictionaryViewModel
+import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.extensions.toJson
+import kotlinx.android.synthetic.main.activity_entrust_add.*
+
+class EntrustAddActivity : KotlinBaseActivity() {
+
+ private lateinit var dictionaryViewModel: DictionaryViewModel
+ private var checkedItems = ArrayList()
+
+ override fun initData() {
+ //证书
+ dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java]
+ dictionaryViewModel.getDictionaryByCode("certificationClass")
+ dictionaryViewModel.dictionary.observe(this) { dic ->
+ if (dic.code == 200) {
+ val typeAdapter2 = CertificateTypeAdapter2(this, dic.data)
+ typeRecyclerView.adapter = typeAdapter2
+ typeAdapter2.setOnItemCheckedListener(object :
+ CertificateTypeAdapter2.OnItemCheckedListener {
+ override fun onItemChecked(position: Int, isChecked: Boolean) {
+ if (isChecked) {
+ checkedItems.add(position)
+ } else {
+ checkedItems.remove(position)
+ }
+ }
+ })
+ }
+ }
+ }
+
+ override fun initEvent() {
+ //上传附件
+ uploadFileButton.setOnClickListener {
+
+ }
+
+ //选择样品
+ selectSampleButton.setOnClickListener {
+
+ }
+
+ //写入样品信息
+ writeSampleButton.setOnClickListener {
+
+ }
+
+ pushEntrustView.setOnClickListener {
+ Log.d("Casic", "EntrustAddActivity => initEvent: ${checkedItems.toJson()}")
+ }
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_entrust_add
+
+ 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/res/layout/activity_entrust.xml b/app/src/main/res/layout/activity_entrust.xml
index 55b22da..568cd8b 100644
--- a/app/src/main/res/layout/activity_entrust.xml
+++ b/app/src/main/res/layout/activity_entrust.xml
@@ -32,15 +32,15 @@
android:textSize="@dimen/sp_16" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_certificate_type_rv_l_2.xml b/app/src/main/res/layout/item_certificate_type_rv_l_2.xml
new file mode 100644
index 0000000..6a0da4a
--- /dev/null
+++ b/app/src/main/res/layout/item_certificate_type_rv_l_2.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 5edac14..1ccc12b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -59,6 +59,7 @@
+
diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter.kt
index a365eaf..66279bb 100644
--- a/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter.kt
+++ b/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter.kt
@@ -10,6 +10,9 @@
import com.casic.xz.meterage.R
import com.casic.xz.meterage.model.DictionaryModel
+/**
+ * 查看委托需求Adapter
+ * */
class CertificateTypeAdapter(
context: Context,
private val dataRows: MutableList,
diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter2.kt b/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter2.kt
new file mode 100644
index 0000000..2eb2ebb
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter2.kt
@@ -0,0 +1,52 @@
+package com.casic.xz.meterage.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.CheckBox
+import android.widget.LinearLayout
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.model.DictionaryModel
+
+/**
+ * 新增委托需求Adapter
+ * */
+class CertificateTypeAdapter2(
+ context: Context, private val dataRows: MutableList
+) : 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_certificate_type_rv_l_2, parent, false)
+ )
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ val params = holder.itemView.layoutParams
+ params.height = LinearLayout.LayoutParams.WRAP_CONTENT
+ //绑定数据
+ val rowsBean = dataRows[position]
+ holder.checkbox.text = rowsBean.name
+ holder.checkbox.setOnCheckedChangeListener { _, isChecked ->
+ listener?.onItemChecked(position, isChecked)
+ }
+ }
+
+ inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var checkbox: CheckBox = view.findViewById(R.id.checkbox)
+ }
+
+ private var listener: OnItemCheckedListener? = null
+
+ interface OnItemCheckedListener {
+ fun onItemChecked(position: Int, isChecked: Boolean)
+ }
+
+ fun setOnItemCheckedListener(onCheckedListener: OnItemCheckedListener?) {
+ this.listener = onCheckedListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
index 9214a64..e06cec4 100644
--- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
+++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
@@ -61,11 +61,12 @@
override fun initEvent() {
leftBackView.setOnClickListener { finish() }
- searchImageView.setOnClickListener {
+ searchEntrustView.setOnClickListener {
navigatePageTo()
}
- addImageView.setOnClickListener {
+ addEntrustView.setOnClickListener {
+ navigatePageTo()
}
entrustLayout.setOnRefreshListener {
diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt
new file mode 100644
index 0000000..3e30095
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt
@@ -0,0 +1,73 @@
+package com.casic.xz.meterage.view.home
+
+import android.util.Log
+import androidx.lifecycle.ViewModelProvider
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.adapter.CertificateTypeAdapter2
+import com.casic.xz.meterage.extensions.initLayoutImmersionBar
+import com.casic.xz.meterage.vm.DictionaryViewModel
+import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.extensions.toJson
+import kotlinx.android.synthetic.main.activity_entrust_add.*
+
+class EntrustAddActivity : KotlinBaseActivity() {
+
+ private lateinit var dictionaryViewModel: DictionaryViewModel
+ private var checkedItems = ArrayList()
+
+ override fun initData() {
+ //证书
+ dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java]
+ dictionaryViewModel.getDictionaryByCode("certificationClass")
+ dictionaryViewModel.dictionary.observe(this) { dic ->
+ if (dic.code == 200) {
+ val typeAdapter2 = CertificateTypeAdapter2(this, dic.data)
+ typeRecyclerView.adapter = typeAdapter2
+ typeAdapter2.setOnItemCheckedListener(object :
+ CertificateTypeAdapter2.OnItemCheckedListener {
+ override fun onItemChecked(position: Int, isChecked: Boolean) {
+ if (isChecked) {
+ checkedItems.add(position)
+ } else {
+ checkedItems.remove(position)
+ }
+ }
+ })
+ }
+ }
+ }
+
+ override fun initEvent() {
+ //上传附件
+ uploadFileButton.setOnClickListener {
+
+ }
+
+ //选择样品
+ selectSampleButton.setOnClickListener {
+
+ }
+
+ //写入样品信息
+ writeSampleButton.setOnClickListener {
+
+ }
+
+ pushEntrustView.setOnClickListener {
+ Log.d("Casic", "EntrustAddActivity => initEvent: ${checkedItems.toJson()}")
+ }
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_entrust_add
+
+ 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/res/layout/activity_entrust.xml b/app/src/main/res/layout/activity_entrust.xml
index 55b22da..568cd8b 100644
--- a/app/src/main/res/layout/activity_entrust.xml
+++ b/app/src/main/res/layout/activity_entrust.xml
@@ -32,15 +32,15 @@
android:textSize="@dimen/sp_16" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_certificate_type_rv_l_2.xml b/app/src/main/res/layout/item_certificate_type_rv_l_2.xml
new file mode 100644
index 0000000..6a0da4a
--- /dev/null
+++ b/app/src/main/res/layout/item_certificate_type_rv_l_2.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 232daac..9f9102e 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -12,8 +12,8 @@
#FF09BB07
#008CFF
#803d7eff
- #F0F0F0
- #F7F7F7
+ #FFF5F5F5
+ #80F5F5F5
#CCCCCC
#E4E4E4
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 5edac14..1ccc12b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -59,6 +59,7 @@
+
diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter.kt
index a365eaf..66279bb 100644
--- a/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter.kt
+++ b/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter.kt
@@ -10,6 +10,9 @@
import com.casic.xz.meterage.R
import com.casic.xz.meterage.model.DictionaryModel
+/**
+ * 查看委托需求Adapter
+ * */
class CertificateTypeAdapter(
context: Context,
private val dataRows: MutableList,
diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter2.kt b/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter2.kt
new file mode 100644
index 0000000..2eb2ebb
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/adapter/CertificateTypeAdapter2.kt
@@ -0,0 +1,52 @@
+package com.casic.xz.meterage.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.CheckBox
+import android.widget.LinearLayout
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.model.DictionaryModel
+
+/**
+ * 新增委托需求Adapter
+ * */
+class CertificateTypeAdapter2(
+ context: Context, private val dataRows: MutableList
+) : 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_certificate_type_rv_l_2, parent, false)
+ )
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ val params = holder.itemView.layoutParams
+ params.height = LinearLayout.LayoutParams.WRAP_CONTENT
+ //绑定数据
+ val rowsBean = dataRows[position]
+ holder.checkbox.text = rowsBean.name
+ holder.checkbox.setOnCheckedChangeListener { _, isChecked ->
+ listener?.onItemChecked(position, isChecked)
+ }
+ }
+
+ inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var checkbox: CheckBox = view.findViewById(R.id.checkbox)
+ }
+
+ private var listener: OnItemCheckedListener? = null
+
+ interface OnItemCheckedListener {
+ fun onItemChecked(position: Int, isChecked: Boolean)
+ }
+
+ fun setOnItemCheckedListener(onCheckedListener: OnItemCheckedListener?) {
+ this.listener = onCheckedListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
index 9214a64..e06cec4 100644
--- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
+++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustActivity.kt
@@ -61,11 +61,12 @@
override fun initEvent() {
leftBackView.setOnClickListener { finish() }
- searchImageView.setOnClickListener {
+ searchEntrustView.setOnClickListener {
navigatePageTo()
}
- addImageView.setOnClickListener {
+ addEntrustView.setOnClickListener {
+ navigatePageTo()
}
entrustLayout.setOnRefreshListener {
diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt
new file mode 100644
index 0000000..3e30095
--- /dev/null
+++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt
@@ -0,0 +1,73 @@
+package com.casic.xz.meterage.view.home
+
+import android.util.Log
+import androidx.lifecycle.ViewModelProvider
+import com.casic.xz.meterage.R
+import com.casic.xz.meterage.adapter.CertificateTypeAdapter2
+import com.casic.xz.meterage.extensions.initLayoutImmersionBar
+import com.casic.xz.meterage.vm.DictionaryViewModel
+import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.extensions.toJson
+import kotlinx.android.synthetic.main.activity_entrust_add.*
+
+class EntrustAddActivity : KotlinBaseActivity() {
+
+ private lateinit var dictionaryViewModel: DictionaryViewModel
+ private var checkedItems = ArrayList()
+
+ override fun initData() {
+ //证书
+ dictionaryViewModel = ViewModelProvider(this)[DictionaryViewModel::class.java]
+ dictionaryViewModel.getDictionaryByCode("certificationClass")
+ dictionaryViewModel.dictionary.observe(this) { dic ->
+ if (dic.code == 200) {
+ val typeAdapter2 = CertificateTypeAdapter2(this, dic.data)
+ typeRecyclerView.adapter = typeAdapter2
+ typeAdapter2.setOnItemCheckedListener(object :
+ CertificateTypeAdapter2.OnItemCheckedListener {
+ override fun onItemChecked(position: Int, isChecked: Boolean) {
+ if (isChecked) {
+ checkedItems.add(position)
+ } else {
+ checkedItems.remove(position)
+ }
+ }
+ })
+ }
+ }
+ }
+
+ override fun initEvent() {
+ //上传附件
+ uploadFileButton.setOnClickListener {
+
+ }
+
+ //选择样品
+ selectSampleButton.setOnClickListener {
+
+ }
+
+ //写入样品信息
+ writeSampleButton.setOnClickListener {
+
+ }
+
+ pushEntrustView.setOnClickListener {
+ Log.d("Casic", "EntrustAddActivity => initEvent: ${checkedItems.toJson()}")
+ }
+ }
+
+ override fun initLayoutView(): Int = R.layout.activity_entrust_add
+
+ 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/res/layout/activity_entrust.xml b/app/src/main/res/layout/activity_entrust.xml
index 55b22da..568cd8b 100644
--- a/app/src/main/res/layout/activity_entrust.xml
+++ b/app/src/main/res/layout/activity_entrust.xml
@@ -32,15 +32,15 @@
android:textSize="@dimen/sp_16" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_certificate_type_rv_l_2.xml b/app/src/main/res/layout/item_certificate_type_rv_l_2.xml
new file mode 100644
index 0000000..6a0da4a
--- /dev/null
+++ b/app/src/main/res/layout/item_certificate_type_rv_l_2.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 232daac..9f9102e 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -12,8 +12,8 @@
#FF09BB07
#008CFF
#803d7eff
- #F0F0F0
- #F7F7F7
+ #FFF5F5F5
+ #80F5F5F5
#CCCCCC
#E4E4E4
\ No newline at end of file
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 42e8d73..bd5d9e4 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -80,6 +80,19 @@
- bold
+
+
+