审批列表到详情的跳转

main
chenglifeng 8 months ago
parent a518a928b2
commit 1f67fba393
  1. 6
      app/src/main/AndroidManifest.xml
  2. 7
      app/src/main/java/com/project/survey/logic/viewmodel/ProjectViewModel.kt
  3. 16
      app/src/main/java/com/project/survey/model/ApprovalResponse.kt
  4. 4
      app/src/main/java/com/project/survey/network/Api.kt
  5. 12
      app/src/main/java/com/project/survey/ui/MainActivity.kt
  6. 17
      app/src/main/java/com/project/survey/ui/approval/ApprovalActivity.kt
  7. 1
      app/src/main/java/com/project/survey/ui/approval/ApprovalInitiatedFragment.kt
  8. 1
      app/src/main/java/com/project/survey/ui/approval/ApprovalProcessedFragment.kt
  9. 1
      app/src/main/java/com/project/survey/ui/approval/ApprovalWaitFragment.kt
  10. 48
      app/src/main/java/com/project/survey/ui/approval/adapter/ApprovalAdapter.kt
  11. 18
      app/src/main/java/com/project/survey/ui/base/BaseBindingActivity.kt
  12. 2
      app/src/main/java/com/project/survey/ui/home/InstrumentFragment.kt
  13. 2
      app/src/main/java/com/project/survey/widget/LoadingDialog.kt
  14. BIN
      app/src/main/res/drawable-xhdpi/icon_home_selected.png
  15. BIN
      app/src/main/res/drawable-xhdpi/icon_home_unselected.png
  16. BIN
      app/src/main/res/drawable-xhdpi/icon_instrument_selected.png
  17. BIN
      app/src/main/res/drawable-xhdpi/icon_instrument_unselected.png
  18. BIN
      app/src/main/res/drawable-xhdpi/icon_me_selected.png
  19. BIN
      app/src/main/res/drawable-xhdpi/icon_me_unselected.png
  20. 13
      app/src/main/res/drawable/icon_tab_home_selected.xml
  21. 13
      app/src/main/res/drawable/icon_tab_home_unselected.xml
  22. 10
      app/src/main/res/drawable/icon_tab_instrument_selected.xml
  23. 10
      app/src/main/res/drawable/icon_tab_instrument_unselected.xml
  24. 10
      app/src/main/res/drawable/icon_tab_me_selected.xml
  25. 10
      app/src/main/res/drawable/icon_tab_me_unselected.xml
  26. 16
      app/src/main/res/layout/fragment_me.xml
  27. 17
      app/src/main/res/layout/layout_no_data.xml

@ -249,6 +249,12 @@
<activity
android:name=".ui.pointmeasure.measure.ControlRecordListActivity"
android:exported="false" />
<activity
android:name="com.bingce.surveyor.agentweb.AgentWebActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:exported="true"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustUnspecified|stateHidden" />
</application>
</manifest>

@ -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<Any>
val workTaskListResponse: LiveData<List<ApprovalBean>>
get() = _workTaskListResponse
private val _workTaskListResponse = MutableLiveData<Any>()
private val _workTaskListResponse = MutableLiveData<List<ApprovalBean>>()
/**
* 获取流程审批列表
@ -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)
}
}
}

@ -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<Any>,
val rows: List<ApprovalBean>,
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
)

@ -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<Any>
): HttpResult<ApprovalResponse>
}

@ -61,18 +61,18 @@ class MainActivity : BaseBindingActivity<ActivityMainBinding>() {
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
)
)
)

@ -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<ActivityApprovalBinding>() {
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<ActivityApprovalBinding>() {
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))
}
}
}

@ -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
/**

@ -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
/**

@ -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
/**

@ -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<ApprovalBean>() {
private var type = ApprovalActivity.PI_PREAPPROV
init {
addItemType(TYPE_0, object : OnMultiItemAdapterListener<ApprovalBean, ItemPreapprovVH> {
addItemType(0, object : OnMultiItemAdapterListener<ApprovalBean, ItemPreapprovVH> {
override fun onCreate(
context: Context,
parent: ViewGroup,
@ -26,8 +29,13 @@ class ApprovalAdapter : BaseMultiItemAdapter<ApprovalBean>() {
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<ApprovalBean, ItemApprovedVH> {
}).addItemType(1, object : OnMultiItemAdapterListener<ApprovalBean, ItemApprovedVH> {
override fun onCreate(
context: Context,
parent: ViewGroup,
@ -40,8 +48,13 @@ class ApprovalAdapter : BaseMultiItemAdapter<ApprovalBean>() {
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<ApprovalBean, ItemOwnerVH> {
}).addItemType(2, object : OnMultiItemAdapterListener<ApprovalBean, ItemOwnerVH> {
override fun onCreate(
context: Context,
parent: ViewGroup,
@ -53,8 +66,25 @@ class ApprovalAdapter : BaseMultiItemAdapter<ApprovalBean>() {
}
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<ApprovalBean>?, type: String) {
this.type = type
super.submitList(list)
}
class ItemPreapprovVH(val binding: ItemApprovalApprovedBinding) :
@ -66,10 +96,10 @@ class ApprovalAdapter : BaseMultiItemAdapter<ApprovalBean>() {
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
// }
}

@ -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<VB : ViewBinding> : AppCompatActivity() {
@ -91,4 +92,21 @@ abstract class BaseBindingActivity<VB : ViewBinding> : 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()
}
}
}

@ -39,7 +39,7 @@ class InstrumentFragment : BaseBindingFragment<FragmentInstrumentBinding>() {
}
override fun initData() {
mBinding.tvProject.text = "哈哈哈哈哈"
// mBinding.tvProject.text = "哈哈哈哈哈"
}
override fun initListener() {

@ -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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 906 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 983 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 954 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 963 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 933 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 958 B

@ -0,0 +1,13 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="22dp"
android:height="22dp"
android:viewportWidth="22"
android:viewportHeight="22">
<group>
<clip-path
android:pathData="M0,0h22v22h-22z"/>
<path
android:pathData="M11,5.282L15.583,9.517L15.583,16.868L13.75,16.868L13.75,11.221L8.25,11.221L8.25,16.868L6.417,16.868L6.417,9.517L11,5.282ZM11,2.75L1.833,11.221L4.583,11.221L4.583,18.75L10.083,18.75L10.083,13.103L11.917,13.103L11.917,18.75L17.417,18.75L17.417,11.221L20.167,11.221L11,2.75Z"
android:fillColor="#396BD0"/>
</group>
</vector>

@ -0,0 +1,13 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="22dp"
android:height="22dp"
android:viewportWidth="22"
android:viewportHeight="22">
<group>
<clip-path
android:pathData="M0,0h22v22h-22z"/>
<path
android:pathData="M11,5.282L15.583,9.517L15.583,16.868L13.75,16.868L13.75,11.221L8.25,11.221L8.25,16.868L6.417,16.868L6.417,9.517L11,5.282ZM11,2.75L1.833,11.221L4.583,11.221L4.583,18.75L10.083,18.75L10.083,13.103L11.917,13.103L11.917,18.75L17.417,18.75L17.417,11.221L20.167,11.221L11,2.75Z"
android:fillColor="#5B5A5E"/>
</group>
</vector>

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="22dp"
android:height="22dp"
android:viewportWidth="22"
android:viewportHeight="22">
<path
android:pathData="M13.75,7.333C13.75,6.142 12.98,5.133 11.917,4.748L11.917,2.75L10.083,2.75L10.083,4.748C9.02,5.133 8.25,6.142 8.25,7.333C8.25,8.855 9.478,10.083 11,10.083C12.522,10.083 13.75,8.855 13.75,7.333ZM11,8.25C10.496,8.25 10.083,7.838 10.083,7.333C10.083,6.829 10.496,6.417 11,6.417C11.504,6.417 11.917,6.829 11.917,7.333C11.917,7.838 11.504,8.25 11,8.25ZM6.059,19.25L5.83,17.215L8.461,9.973C8.91,10.404 9.46,10.716 10.083,10.872L7.544,17.838L6.059,19.25ZM11.917,10.872C12.531,10.716 13.09,10.404 13.539,9.973L16.179,17.215L15.941,19.25L14.456,17.838L11.917,10.872Z"
android:fillColor="#396BD0"
android:fillType="evenOdd"/>
</vector>

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="22dp"
android:height="22dp"
android:viewportWidth="22"
android:viewportHeight="22">
<path
android:pathData="M13.75,7.333C13.75,6.142 12.98,5.133 11.917,4.748L11.917,2.75L10.083,2.75L10.083,4.748C9.02,5.133 8.25,6.142 8.25,7.333C8.25,8.855 9.478,10.083 11,10.083C12.522,10.083 13.75,8.855 13.75,7.333ZM11,8.25C10.496,8.25 10.083,7.838 10.083,7.333C10.083,6.829 10.496,6.417 11,6.417C11.504,6.417 11.917,6.829 11.917,7.333C11.917,7.838 11.504,8.25 11,8.25ZM6.059,19.25L5.83,17.215L8.461,9.973C8.91,10.404 9.46,10.716 10.083,10.872L7.544,17.838L6.059,19.25ZM11.917,10.872C12.531,10.716 13.09,10.404 13.539,9.973L16.179,17.215L15.941,19.25L14.456,17.838L11.917,10.872Z"
android:fillColor="#5B5A5E"
android:fillType="evenOdd"/>
</vector>

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="22dp"
android:height="22dp"
android:viewportWidth="22"
android:viewportHeight="22">
<path
android:pathData="M14.667,7.333Q14.667,7.513 14.649,7.693Q14.631,7.872 14.596,8.049Q14.561,8.225 14.509,8.398Q14.456,8.57 14.388,8.737Q14.319,8.903 14.234,9.062Q14.149,9.221 14.049,9.37Q13.949,9.52 13.834,9.659Q13.72,9.799 13.593,9.926Q13.465,10.053 13.326,10.168Q13.187,10.282 13.037,10.382Q12.887,10.482 12.728,10.567Q12.57,10.652 12.403,10.721Q12.237,10.79 12.064,10.842Q11.892,10.894 11.715,10.93Q11.539,10.965 11.359,10.982Q11.18,11 11,11Q10.82,11 10.641,10.982Q10.461,10.965 10.285,10.93Q10.108,10.894 9.936,10.842Q9.763,10.79 9.597,10.721Q9.43,10.652 9.272,10.567Q9.113,10.482 8.963,10.382Q8.813,10.282 8.674,10.168Q8.535,10.053 8.407,9.926Q8.28,9.799 8.166,9.659Q8.051,9.52 7.951,9.37Q7.851,9.221 7.766,9.062Q7.681,8.903 7.612,8.737Q7.544,8.57 7.491,8.398Q7.439,8.225 7.404,8.049Q7.369,7.872 7.351,7.693Q7.333,7.513 7.333,7.333Q7.333,7.153 7.351,6.974Q7.369,6.795 7.404,6.618Q7.439,6.441 7.491,6.269Q7.544,6.097 7.612,5.93Q7.681,5.764 7.766,5.605Q7.851,5.446 7.951,5.296Q8.051,5.146 8.166,5.007Q8.28,4.868 8.407,4.741Q8.535,4.613 8.674,4.499Q8.813,4.385 8.963,4.285Q9.113,4.185 9.272,4.1Q9.43,4.015 9.597,3.946Q9.763,3.877 9.936,3.825Q10.108,3.772 10.285,3.737Q10.461,3.702 10.641,3.684Q10.82,3.667 11,3.667Q11.18,3.667 11.359,3.684Q11.539,3.702 11.715,3.737Q11.892,3.772 12.064,3.825Q12.237,3.877 12.403,3.946Q12.57,4.015 12.728,4.1Q12.887,4.185 13.037,4.285Q13.187,4.385 13.326,4.499Q13.465,4.613 13.593,4.741Q13.72,4.868 13.834,5.007Q13.949,5.146 14.049,5.296Q14.149,5.446 14.234,5.605Q14.319,5.764 14.388,5.93Q14.456,6.097 14.509,6.269Q14.561,6.441 14.596,6.618Q14.631,6.795 14.649,6.974Q14.667,7.153 14.667,7.333ZM11,5.408C12.063,5.408 12.925,6.27 12.925,7.333C12.925,8.397 12.063,9.258 11,9.258C9.937,9.258 9.075,8.397 9.075,7.333C9.075,6.27 9.937,5.408 11,5.408ZM11,11.917C8.552,11.917 3.667,13.145 3.667,15.583L3.667,18.333L18.333,18.333L18.333,15.583C18.333,13.145 13.447,11.917 11,11.917ZM11,13.658C13.722,13.658 16.592,14.997 16.592,15.583L16.592,16.592L5.408,16.592L5.408,15.583C5.408,14.997 8.277,13.658 11,13.658Z"
android:fillColor="#396BD0"
android:fillType="evenOdd"/>
</vector>

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="22dp"
android:height="22dp"
android:viewportWidth="22"
android:viewportHeight="22">
<path
android:pathData="M14.667,7.333Q14.667,7.513 14.649,7.693Q14.631,7.872 14.596,8.049Q14.561,8.225 14.509,8.398Q14.456,8.57 14.388,8.737Q14.319,8.903 14.234,9.062Q14.149,9.221 14.049,9.37Q13.949,9.52 13.834,9.659Q13.72,9.799 13.593,9.926Q13.465,10.053 13.326,10.168Q13.187,10.282 13.037,10.382Q12.887,10.482 12.728,10.567Q12.57,10.652 12.403,10.721Q12.237,10.79 12.064,10.842Q11.892,10.894 11.715,10.93Q11.539,10.965 11.359,10.982Q11.18,11 11,11Q10.82,11 10.641,10.982Q10.461,10.965 10.285,10.93Q10.108,10.894 9.936,10.842Q9.763,10.79 9.597,10.721Q9.43,10.652 9.272,10.567Q9.113,10.482 8.963,10.382Q8.813,10.282 8.674,10.168Q8.535,10.053 8.407,9.926Q8.28,9.799 8.166,9.659Q8.051,9.52 7.951,9.37Q7.851,9.221 7.766,9.062Q7.681,8.903 7.612,8.737Q7.544,8.57 7.491,8.398Q7.439,8.225 7.404,8.049Q7.369,7.872 7.351,7.693Q7.333,7.513 7.333,7.333Q7.333,7.153 7.351,6.974Q7.369,6.795 7.404,6.618Q7.439,6.441 7.491,6.269Q7.544,6.097 7.612,5.93Q7.681,5.764 7.766,5.605Q7.851,5.446 7.951,5.296Q8.051,5.146 8.166,5.007Q8.28,4.868 8.407,4.741Q8.535,4.613 8.674,4.499Q8.813,4.385 8.963,4.285Q9.113,4.185 9.272,4.1Q9.43,4.015 9.597,3.946Q9.763,3.877 9.936,3.825Q10.108,3.772 10.285,3.737Q10.461,3.702 10.641,3.684Q10.82,3.667 11,3.667Q11.18,3.667 11.359,3.684Q11.539,3.702 11.715,3.737Q11.892,3.772 12.064,3.825Q12.237,3.877 12.403,3.946Q12.57,4.015 12.728,4.1Q12.887,4.185 13.037,4.285Q13.187,4.385 13.326,4.499Q13.465,4.613 13.593,4.741Q13.72,4.868 13.834,5.007Q13.949,5.146 14.049,5.296Q14.149,5.446 14.234,5.605Q14.319,5.764 14.388,5.93Q14.456,6.097 14.509,6.269Q14.561,6.441 14.596,6.618Q14.631,6.795 14.649,6.974Q14.667,7.153 14.667,7.333ZM11,5.408C12.063,5.408 12.925,6.27 12.925,7.333C12.925,8.397 12.063,9.258 11,9.258C9.937,9.258 9.075,8.397 9.075,7.333C9.075,6.27 9.937,5.408 11,5.408ZM11,11.917C8.552,11.917 3.667,13.145 3.667,15.583L3.667,18.333L18.333,18.333L18.333,15.583C18.333,13.145 13.447,11.917 11,11.917ZM11,13.658C13.722,13.658 16.592,14.997 16.592,15.583L16.592,16.592L5.408,16.592L5.408,15.583C5.408,14.997 8.277,13.658 11,13.658Z"
android:fillColor="#5B5A5E"
android:fillType="evenOdd"/>
</vector>

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical">
<LinearLayout
@ -20,23 +20,23 @@
android:id="@+id/tvName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="请登录"
android:textColor="@color/white"
android:textSize="22sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
app:layout_constraintTop_toTopOf="parent"
tools:text="请登录" />
<TextView
android:id="@+id/tvCompany"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/sw_6dp"
android:text="某工程"
android:textColor="@color/white"
android:textSize="@dimen/sw_15sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
app:layout_constraintTop_toTopOf="parent"
tools:text="某工程" />
</LinearLayout>
@ -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" />
</LinearLayout>

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="暂无数据"
android:textColor="@color/text_color_20"
android:textSize="@dimen/text_size_body2"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
Loading…
Cancel
Save