diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index e39fc97..a47a4de 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -249,6 +249,12 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/project/survey/logic/viewmodel/ProjectViewModel.kt b/app/src/main/java/com/project/survey/logic/viewmodel/ProjectViewModel.kt
index 984bcd1..a045a1b 100644
--- a/app/src/main/java/com/project/survey/logic/viewmodel/ProjectViewModel.kt
+++ b/app/src/main/java/com/project/survey/logic/viewmodel/ProjectViewModel.kt
@@ -2,6 +2,7 @@ package com.project.survey.logic.viewmodel
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
+import com.project.survey.model.ApprovalBean
import com.project.survey.model.ProjectBean
import com.project.survey.network.RetrofitClient
@@ -26,9 +27,9 @@ class ProjectViewModel : BaseViewModel() {
}
}
- val workTaskListResponse: LiveData
+ val workTaskListResponse: LiveData>
get() = _workTaskListResponse
- private val _workTaskListResponse = MutableLiveData()
+ private val _workTaskListResponse = MutableLiveData>()
/**
* 获取流程审批列表
@@ -37,7 +38,7 @@ class ProjectViewModel : BaseViewModel() {
launch {
val res = api.fetchWorkTask(projectId, type, page)
if (res.success) {
- _workTaskListResponse.postValue(res.data)
+ _workTaskListResponse.postValue(res.data.data.rows)
}
}
}
diff --git a/app/src/main/java/com/project/survey/model/ApprovalBean.kt b/app/src/main/java/com/project/survey/model/ApprovalResponse.kt
similarity index 51%
rename from app/src/main/java/com/project/survey/model/ApprovalBean.kt
rename to app/src/main/java/com/project/survey/model/ApprovalResponse.kt
index 5786473..8547bf9 100644
--- a/app/src/main/java/com/project/survey/model/ApprovalBean.kt
+++ b/app/src/main/java/com/project/survey/model/ApprovalResponse.kt
@@ -1,6 +1,6 @@
package com.project.survey.model
-data class ApprovalBean(
+data class ApprovalResponse(
val badges: Badge,
val data: ApprovalData
)
@@ -14,6 +14,18 @@ data class Badge(
)
data class ApprovalData(
- val rows: List,
+ val rows: List,
val totalCount: Int
+)
+
+data class ApprovalBean(
+ val id: String,
+ val title: String,
+ val context: String,
+ val collect: String,
+ val delay: String,
+ val submitTime: String,
+ val tableCode: String,
+ val funcCode: String,
+ val pkValue: String
)
\ No newline at end of file
diff --git a/app/src/main/java/com/project/survey/network/Api.kt b/app/src/main/java/com/project/survey/network/Api.kt
index a31d1dd..5d61f6c 100644
--- a/app/src/main/java/com/project/survey/network/Api.kt
+++ b/app/src/main/java/com/project/survey/network/Api.kt
@@ -1,5 +1,7 @@
package com.project.survey.network
+import com.project.survey.model.ApprovalBean
+import com.project.survey.model.ApprovalResponse
import com.project.survey.model.LoginBean
import com.project.survey.model.ProjectBean
import retrofit2.http.Field
@@ -77,7 +79,7 @@ interface Api {
// @Field("userName") userName: String = "",
@Field("page") page: Int,
@Field("limit") limit: Int = 30,
- ): HttpResult
+ ): HttpResult
}
\ No newline at end of file
diff --git a/app/src/main/java/com/project/survey/ui/MainActivity.kt b/app/src/main/java/com/project/survey/ui/MainActivity.kt
index 75a7030..6f91f26 100644
--- a/app/src/main/java/com/project/survey/ui/MainActivity.kt
+++ b/app/src/main/java/com/project/survey/ui/MainActivity.kt
@@ -61,18 +61,18 @@ class MainActivity : BaseBindingActivity() {
arrayListOf(
TabEntity(
getString(R.string.tab_home_page),
- R.drawable.icon_home_selected,
- R.drawable.icon_home_unselected
+ R.drawable.icon_tab_home_selected,
+ R.drawable.icon_tab_home_unselected
),
TabEntity(
getString(R.string.tab_instrument),
- R.drawable.icon_instrument_selected,
- R.drawable.icon_instrument_unselected
+ R.drawable.icon_tab_instrument_selected,
+ R.drawable.icon_tab_instrument_unselected
),
TabEntity(
getString(R.string.tab_mine),
- R.drawable.icon_me_selected,
- R.drawable.icon_me_unselected
+ R.drawable.icon_tab_me_selected,
+ R.drawable.icon_tab_me_unselected
)
)
)
diff --git a/app/src/main/java/com/project/survey/ui/approval/ApprovalActivity.kt b/app/src/main/java/com/project/survey/ui/approval/ApprovalActivity.kt
index 8a6b960..f0e6eb4 100644
--- a/app/src/main/java/com/project/survey/ui/approval/ApprovalActivity.kt
+++ b/app/src/main/java/com/project/survey/ui/approval/ApprovalActivity.kt
@@ -1,6 +1,10 @@
package com.project.survey.ui.approval
+import android.net.Uri
import androidx.activity.viewModels
+import com.bingce.surveyor.agentweb.AgentWebActivity
+import com.project.survey.BuildConfig
+import com.project.survey.R
import com.project.survey.constants.SPConstants
import com.project.survey.ui.base.BaseBindingActivity
import com.project.survey.databinding.ActivityApprovalBinding
@@ -10,6 +14,7 @@ import com.project.survey.ui.approval.adapter.ApprovalAdapter
import com.project.survey.util.ActivityNavUtil
import com.project.survey.util.SPUtils
import com.project.survey.util.param.Param
+import com.project.survey.widget.LoadingDialog
import com.project.survey.widget.decoration.TransparentDividerDecoration
/**
@@ -61,11 +66,15 @@ class ApprovalActivity : BaseBindingActivity() {
mBinding.recyclerView.addItemDecoration(TransparentDividerDecoration(this))
mBinding.recyclerView.adapter = adapter
+ adapter.isStateViewEnable = true
+ adapter.setStateViewLayout(this, R.layout.layout_no_data)
}
override fun initData() {
+ viewModel.errorResponse.observe(this){
+ }
viewModel.workTaskListResponse.observe(this) {
- adapter.submitList(emptyList())
+ adapter.submitList(it, type)
}
viewModel.fetchWorkTask(SPUtils.getString(SPConstants.PROJECT_ID) ?: "", type)
// if (type == PI_PREAPPROV) {
@@ -80,7 +89,11 @@ class ApprovalActivity : BaseBindingActivity() {
override fun initListener() {
adapter.setOnItemClickListener { _, _, position ->
adapter.getItem(position)?.let { bean ->
- toast("item${bean}")
+ // http://10.190.183.37/app/micro/func/#/pages/func/form/{功能编码}/{流程ID}?authorization={登录token}&appId=2024-0926-1104-0165
+ val token = SPUtils.getString(SPConstants.TOKEN)?:""
+ val url =
+ BuildConfig.BASE_URL + "app/micro/func/#/pages/func/form/${bean.funcCode}/${bean.pkValue}?authorization=${token}&appId=2024-0926-1104-0165"
+ AgentWebActivity.navigation2(this, Uri.parse(url))
}
}
}
diff --git a/app/src/main/java/com/project/survey/ui/approval/ApprovalInitiatedFragment.kt b/app/src/main/java/com/project/survey/ui/approval/ApprovalInitiatedFragment.kt
index da93d4e..d34e142 100644
--- a/app/src/main/java/com/project/survey/ui/approval/ApprovalInitiatedFragment.kt
+++ b/app/src/main/java/com/project/survey/ui/approval/ApprovalInitiatedFragment.kt
@@ -5,7 +5,6 @@ import android.view.ViewGroup
import com.project.survey.adapter.ApprovalInitatedAdapter
import com.project.survey.databinding.FragmentApprovalBinding
import com.project.survey.ui.base.BaseFragmentBinding
-import com.project.survey.model.ApprovalBean
import com.project.survey.widget.decoration.TransparentDividerDecoration
/**
diff --git a/app/src/main/java/com/project/survey/ui/approval/ApprovalProcessedFragment.kt b/app/src/main/java/com/project/survey/ui/approval/ApprovalProcessedFragment.kt
index 2c19f82..536d01e 100644
--- a/app/src/main/java/com/project/survey/ui/approval/ApprovalProcessedFragment.kt
+++ b/app/src/main/java/com/project/survey/ui/approval/ApprovalProcessedFragment.kt
@@ -5,7 +5,6 @@ import android.view.ViewGroup
import com.project.survey.adapter.ApprovalWaitAdapter
import com.project.survey.databinding.FragmentApprovalBinding
import com.project.survey.ui.base.BaseFragmentBinding
-import com.project.survey.model.ApprovalBean
import com.project.survey.widget.decoration.TransparentDividerDecoration
/**
diff --git a/app/src/main/java/com/project/survey/ui/approval/ApprovalWaitFragment.kt b/app/src/main/java/com/project/survey/ui/approval/ApprovalWaitFragment.kt
index 7aeffea..764bf23 100644
--- a/app/src/main/java/com/project/survey/ui/approval/ApprovalWaitFragment.kt
+++ b/app/src/main/java/com/project/survey/ui/approval/ApprovalWaitFragment.kt
@@ -5,7 +5,6 @@ import android.view.ViewGroup
import com.project.survey.adapter.ApprovalWaitAdapter
import com.project.survey.databinding.FragmentApprovalBinding
import com.project.survey.ui.base.BaseFragmentBinding
-import com.project.survey.model.ApprovalBean
import com.project.survey.widget.decoration.TransparentDividerDecoration
/**
diff --git a/app/src/main/java/com/project/survey/ui/approval/adapter/ApprovalAdapter.kt b/app/src/main/java/com/project/survey/ui/approval/adapter/ApprovalAdapter.kt
index 9b7af07..b7482ce 100644
--- a/app/src/main/java/com/project/survey/ui/approval/adapter/ApprovalAdapter.kt
+++ b/app/src/main/java/com/project/survey/ui/approval/adapter/ApprovalAdapter.kt
@@ -9,11 +9,14 @@ import com.project.survey.databinding.ItemApprovalApprovedBinding
import com.project.survey.databinding.ItemApprovalOwnerBinding
import com.project.survey.extend.isVisibleOrGone
import com.project.survey.model.ApprovalBean
+import com.project.survey.ui.approval.ApprovalActivity
class ApprovalAdapter : BaseMultiItemAdapter() {
+ private var type = ApprovalActivity.PI_PREAPPROV
+
init {
- addItemType(TYPE_0, object : OnMultiItemAdapterListener {
+ addItemType(0, object : OnMultiItemAdapterListener {
override fun onCreate(
context: Context,
parent: ViewGroup,
@@ -26,8 +29,13 @@ class ApprovalAdapter : BaseMultiItemAdapter() {
override fun onBind(holder: ItemPreapprovVH, position: Int, item: ApprovalBean?) {
holder.binding.ivAgree.isVisibleOrGone(false)
+ item?.let { bean ->
+ holder.binding.tvName.text = bean.title
+ holder.binding.tvNo.text = bean.funcCode
+ holder.binding.tvTime.text = bean.submitTime
+ }
}
- }).addItemType(TYPE_1, object : OnMultiItemAdapterListener {
+ }).addItemType(1, object : OnMultiItemAdapterListener {
override fun onCreate(
context: Context,
parent: ViewGroup,
@@ -40,8 +48,13 @@ class ApprovalAdapter : BaseMultiItemAdapter() {
override fun onBind(holder: ItemApprovedVH, position: Int, item: ApprovalBean?) {
holder.binding.ivAgree.isVisibleOrGone(true)
+ item?.let { bean ->
+ holder.binding.tvName.text = bean.title
+ holder.binding.tvNo.text = bean.funcCode
+ holder.binding.tvTime.text = bean.submitTime
+ }
}
- }).addItemType(TYPE_2, object : OnMultiItemAdapterListener {
+ }).addItemType(2, object : OnMultiItemAdapterListener {
override fun onCreate(
context: Context,
parent: ViewGroup,
@@ -53,8 +66,25 @@ class ApprovalAdapter : BaseMultiItemAdapter() {
}
override fun onBind(holder: ItemOwnerVH, position: Int, item: ApprovalBean?) {
+ item?.let { bean ->
+ holder.binding.tvName.text = bean.title
+ holder.binding.tvNo.text = bean.funcCode
+ holder.binding.tvStartTime.text = bean.submitTime
+ holder.binding.tvEndTime.text = ""
+ }
+ }
+ }).onItemViewType { _, _ ->
+ when (type) {
+ ApprovalActivity.PI_PREAPPROV -> 0
+ ApprovalActivity.PI_APPROVED -> 1
+ else -> 2
}
- })
+ }
+ }
+
+ fun submitList(list: List?, type: String) {
+ this.type = type
+ super.submitList(list)
}
class ItemPreapprovVH(val binding: ItemApprovalApprovedBinding) :
@@ -66,10 +96,10 @@ class ApprovalAdapter : BaseMultiItemAdapter() {
class ItemOwnerVH(val binding: ItemApprovalOwnerBinding) :
RecyclerView.ViewHolder(binding.root)
- companion object {
- private const val TYPE_0 = 0
- private const val TYPE_1 = 1
- private const val TYPE_2 = 2
- }
+// companion object {
+// private const val TYPE_0 = 0
+// private const val TYPE_1 = 1
+// private const val TYPE_2 = 2
+// }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/project/survey/ui/base/BaseBindingActivity.kt b/app/src/main/java/com/project/survey/ui/base/BaseBindingActivity.kt
index 930d7bc..94109d3 100644
--- a/app/src/main/java/com/project/survey/ui/base/BaseBindingActivity.kt
+++ b/app/src/main/java/com/project/survey/ui/base/BaseBindingActivity.kt
@@ -11,6 +11,7 @@ import androidx.viewbinding.ViewBinding
import com.gyf.immersionbar.ImmersionBar
import com.project.survey.R
import com.project.survey.util.param.ParamUtil
+import com.project.survey.widget.LoadingDialog
import org.polaric.colorful.Colorful
abstract class BaseBindingActivity : AppCompatActivity() {
@@ -91,4 +92,21 @@ abstract class BaseBindingActivity : AppCompatActivity() {
supportActionBar?.title = title
}
+ private var loadingDialog: LoadingDialog? = null
+
+ protected fun showLoadingDialog() {
+ if (loadingDialog == null) {
+ loadingDialog = LoadingDialog.Builder(this)
+ .setCancelable(true)
+ .setCancelOutside(true)
+ .create()
+ }
+ loadingDialog?.show()
+ }
+
+ protected fun dismissLoadingDialog() {
+ if (loadingDialog?.isShowing == true) {
+ loadingDialog?.dismiss()
+ }
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/project/survey/ui/home/InstrumentFragment.kt b/app/src/main/java/com/project/survey/ui/home/InstrumentFragment.kt
index 7e2e53f..874cdbb 100644
--- a/app/src/main/java/com/project/survey/ui/home/InstrumentFragment.kt
+++ b/app/src/main/java/com/project/survey/ui/home/InstrumentFragment.kt
@@ -39,7 +39,7 @@ class InstrumentFragment : BaseBindingFragment() {
}
override fun initData() {
- mBinding.tvProject.text = "哈哈哈哈哈"
+// mBinding.tvProject.text = "哈哈哈哈哈"
}
override fun initListener() {
diff --git a/app/src/main/java/com/project/survey/widget/LoadingDialog.kt b/app/src/main/java/com/project/survey/widget/LoadingDialog.kt
index 28d791e..a025c3f 100644
--- a/app/src/main/java/com/project/survey/widget/LoadingDialog.kt
+++ b/app/src/main/java/com/project/survey/widget/LoadingDialog.kt
@@ -10,7 +10,7 @@ import com.project.survey.extend.isVisibleOrGone
class LoadingDialog @JvmOverloads constructor(context: Context) :
Dialog(context, R.style.loading_dialog) {
- inner class Builder(val context: Context) {
+ class Builder(val context: Context) {
private var message = ""
private var isCancelable = false
private var isCancelOutside = false
diff --git a/app/src/main/res/drawable-xhdpi/icon_home_selected.png b/app/src/main/res/drawable-xhdpi/icon_home_selected.png
deleted file mode 100644
index 1467898..0000000
Binary files a/app/src/main/res/drawable-xhdpi/icon_home_selected.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xhdpi/icon_home_unselected.png b/app/src/main/res/drawable-xhdpi/icon_home_unselected.png
deleted file mode 100644
index 8176aea..0000000
Binary files a/app/src/main/res/drawable-xhdpi/icon_home_unselected.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xhdpi/icon_instrument_selected.png b/app/src/main/res/drawable-xhdpi/icon_instrument_selected.png
deleted file mode 100644
index 0843897..0000000
Binary files a/app/src/main/res/drawable-xhdpi/icon_instrument_selected.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xhdpi/icon_instrument_unselected.png b/app/src/main/res/drawable-xhdpi/icon_instrument_unselected.png
deleted file mode 100644
index 0446265..0000000
Binary files a/app/src/main/res/drawable-xhdpi/icon_instrument_unselected.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xhdpi/icon_me_selected.png b/app/src/main/res/drawable-xhdpi/icon_me_selected.png
deleted file mode 100644
index 138a982..0000000
Binary files a/app/src/main/res/drawable-xhdpi/icon_me_selected.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xhdpi/icon_me_unselected.png b/app/src/main/res/drawable-xhdpi/icon_me_unselected.png
deleted file mode 100644
index aad4106..0000000
Binary files a/app/src/main/res/drawable-xhdpi/icon_me_unselected.png and /dev/null differ
diff --git a/app/src/main/res/drawable/icon_tab_home_selected.xml b/app/src/main/res/drawable/icon_tab_home_selected.xml
new file mode 100644
index 0000000..62c37a5
--- /dev/null
+++ b/app/src/main/res/drawable/icon_tab_home_selected.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/icon_tab_home_unselected.xml b/app/src/main/res/drawable/icon_tab_home_unselected.xml
new file mode 100644
index 0000000..3f2f84f
--- /dev/null
+++ b/app/src/main/res/drawable/icon_tab_home_unselected.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/icon_tab_instrument_selected.xml b/app/src/main/res/drawable/icon_tab_instrument_selected.xml
new file mode 100644
index 0000000..d6f2d7b
--- /dev/null
+++ b/app/src/main/res/drawable/icon_tab_instrument_selected.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/drawable/icon_tab_instrument_unselected.xml b/app/src/main/res/drawable/icon_tab_instrument_unselected.xml
new file mode 100644
index 0000000..f09212c
--- /dev/null
+++ b/app/src/main/res/drawable/icon_tab_instrument_unselected.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/drawable/icon_tab_me_selected.xml b/app/src/main/res/drawable/icon_tab_me_selected.xml
new file mode 100644
index 0000000..43a12b7
--- /dev/null
+++ b/app/src/main/res/drawable/icon_tab_me_selected.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/drawable/icon_tab_me_unselected.xml b/app/src/main/res/drawable/icon_tab_me_unselected.xml
new file mode 100644
index 0000000..7dd3f85
--- /dev/null
+++ b/app/src/main/res/drawable/icon_tab_me_unselected.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/layout/fragment_me.xml b/app/src/main/res/layout/fragment_me.xml
index f5d8dde..99e6914 100644
--- a/app/src/main/res/layout/fragment_me.xml
+++ b/app/src/main/res/layout/fragment_me.xml
@@ -1,9 +1,9 @@
+ app:layout_constraintTop_toTopOf="parent"
+ tools:text="请登录" />
+ app:layout_constraintTop_toTopOf="parent"
+ tools:text="某工程" />
@@ -141,10 +141,10 @@
android:id="@+id/tvLoginOut"
android:layout_width="match_parent"
android:layout_height="48dp"
- android:text="@string/login_out"
android:layout_marginTop="8dp"
- android:gravity="center"
android:background="@color/white"
+ android:gravity="center"
+ android:text="@string/login_out"
android:textColor="@color/text_color_20"
android:textSize="15sp" />
@@ -152,7 +152,7 @@
android:id="@+id/tvVersion"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- tools:text="1.0.0"/>
+ tools:text="1.0.0" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/layout_no_data.xml b/app/src/main/res/layout/layout_no_data.xml
new file mode 100644
index 0000000..c2afc58
--- /dev/null
+++ b/app/src/main/res/layout/layout_no_data.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
\ No newline at end of file