diff --git a/app/src/main/java/com/project/survey/adapter/ApprovalWaitAdapter.java b/app/src/main/java/com/project/survey/adapter/ApprovalWaitAdapter.java index 56c4b61..5ac47a7 100644 --- a/app/src/main/java/com/project/survey/adapter/ApprovalWaitAdapter.java +++ b/app/src/main/java/com/project/survey/adapter/ApprovalWaitAdapter.java @@ -34,7 +34,7 @@ public class ApprovalWaitAdapter extends BaseAdapter - get() = _sendSMSResponse - private val _sendSMSResponse = MutableLiveData() - - /** - * 发送验证码 - */ - fun sendSMS(mobile: String) { - launch { - val res = api.sendSMS(mobile) - if (res.success) { - _sendSMSResponse.postValue(res.data) - } - } - } - - val checkVerifyCodeResponse: LiveData - get() = _checkVerifyCodeResponse - private val _checkVerifyCodeResponse = MutableLiveData() - - /** - * 验证验证码 - */ - fun checkVerifyCode(mobile: String, verifycode: String) { - launch { - val res = api.checkVerifyCode(mobile, verifycode) - if (res.success) { - _checkVerifyCodeResponse.postValue(res.data) - } - } - } +// val sendSMSResponse: LiveData +// get() = _sendSMSResponse +// private val _sendSMSResponse = MutableLiveData() +// +// /** +// * 发送验证码 +// */ +// fun sendSMS(mobile: String) { +// launch { +// val res = api.sendSMS(mobile) +// if (res.success) { +// _sendSMSResponse.postValue(res.data) +// } +// } +// } +// +// val checkVerifyCodeResponse: LiveData +// get() = _checkVerifyCodeResponse +// private val _checkVerifyCodeResponse = MutableLiveData() +// +// /** +// * 验证验证码 +// */ +// fun checkVerifyCode(mobile: String, verifycode: String) { +// launch { +// val res = api.checkVerifyCode(mobile, verifycode) +// if (res.success) { +// _checkVerifyCodeResponse.postValue(res.data) +// } +// } +// } } \ 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 f987717..59df495 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.logic.bean.HahaReq import com.project.survey.model.ProjectBean import com.project.survey.network.RetrofitClient @@ -25,4 +26,25 @@ class ProjectViewModel : BaseViewModel() { } } } + + val workTaskListResponse: LiveData + get() = _workTaskListResponse + private val _workTaskListResponse = MutableLiveData() + + /** + * 获取流程审批列表 + */ + fun fetchWorkTask(projectId: String, type: String, userName: String? = null, page: Int = 1) { + launch { + val res = api.fetchWorkTask(projectId, type, "", page) + if (res.success){ + _workTaskListResponse.postValue(res.data) + } + } + } + fun fetchWorkTaskBody(projectId: String, type: String, userName: String? = null, page: Int = 1) { + launch { + val res = api.fetchWorkTaskBody(projectId, HahaReq(type, "", page)) + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/project/survey/model/ApprovalBean.kt b/app/src/main/java/com/project/survey/model/ApprovalBean.kt index fd8d297..8f3ab5e 100644 --- a/app/src/main/java/com/project/survey/model/ApprovalBean.kt +++ b/app/src/main/java/com/project/survey/model/ApprovalBean.kt @@ -1,4 +1,5 @@ package com.project.survey.model -class ApprovalBean { -} \ No newline at end of file +data class ApprovalBean( + val type: String +) \ No newline at end of file diff --git a/app/src/main/java/com/project/survey/logic/bean/LoginBean.kt b/app/src/main/java/com/project/survey/model/LoginBean.kt similarity index 66% rename from app/src/main/java/com/project/survey/logic/bean/LoginBean.kt rename to app/src/main/java/com/project/survey/model/LoginBean.kt index 18e6cf9..fafbde5 100644 --- a/app/src/main/java/com/project/survey/logic/bean/LoginBean.kt +++ b/app/src/main/java/com/project/survey/model/LoginBean.kt @@ -1,4 +1,4 @@ -package com.project.survey.logic.bean +package com.project.survey.model data class LoginBean( val token: String, diff --git a/app/src/main/java/com/project/survey/model/ProjectBean.kt b/app/src/main/java/com/project/survey/model/ProjectBean.kt index 45518cb..5822a83 100644 --- a/app/src/main/java/com/project/survey/model/ProjectBean.kt +++ b/app/src/main/java/com/project/survey/model/ProjectBean.kt @@ -39,4 +39,5 @@ data class ProjectBean( val XMXX_LOCATIONXY: String, //项目位置(度) val XMXX_FILE: String?, //项目图片 val XMXX_DESCRIPTION: String?, //项目图片 + val BD_XMXX_ID: 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 f04c124..4998d94 100644 --- a/app/src/main/java/com/project/survey/network/Api.kt +++ b/app/src/main/java/com/project/survey/network/Api.kt @@ -1,8 +1,14 @@ package com.project.survey.network -import com.project.survey.logic.bean.LoginBean +import com.project.survey.logic.bean.HahaReq +import com.project.survey.model.LoginBean import com.project.survey.model.ProjectBean +import retrofit2.http.Body +import retrofit2.http.Field +import retrofit2.http.FormUrlEncoded import retrofit2.http.GET +import retrofit2.http.Header +import retrofit2.http.POST import retrofit2.http.Query interface Api { @@ -43,20 +49,41 @@ interface Api { @Query("account") account: String ): HttpResult> +// /** +// * 发送验证码 +// */ +// @GET("/Api/Mas/sendSms") +// suspend fun sendSMS( +// @Query("mobile") mobile: String +// ): HttpResult +// +// /** +// * 验证验证码 +// */ +// @GET("/Api/Mas/CheckVerifycode") +// suspend fun checkVerifyCode( +// @Query("mobile") mobile: String, +// @Query("verifycode") verifycode: String +// ): HttpResult + /** - * 发送验证码 + * 获取流程审批列表 */ - @GET("/Api/Mas/sendSms") - suspend fun sendSMS( - @Query("mobile") mobile: String + @FormUrlEncoded + @POST("/je/workflow/currentUserTask/getTask") + suspend fun fetchWorkTask( + @Header("Projectid") projectId: String, + @Field("type") type: String, + @Field("userName") userName: String = "", + @Field("page") page: Int, + @Field("limit") limit: Int = 30, ): HttpResult - /** - * 验证验证码 - */ - @GET("/Api/Mas/CheckVerifycode") - suspend fun checkVerifyCode( - @Query("mobile") mobile: String, - @Query("verifycode") verifycode: String + @POST("/je/workflow/currentUserTask/getTask") + suspend fun fetchWorkTaskBody( + @Header("Projectid") projectId: String, + @Body requestBody: HahaReq ): HttpResult + + } \ No newline at end of file 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 8601aa7..fa19f7c 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,10 +1,17 @@ package com.project.survey.ui.approval -import android.content.Context -import android.content.Intent +import androidx.activity.viewModels import com.project.survey.R +import com.project.survey.constants.SPConstants import com.project.survey.ui.base.BaseBindingActivity import com.project.survey.databinding.ActivityApprovalBinding +import com.project.survey.extend.toast +import com.project.survey.logic.viewmodel.ProjectViewModel +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.decoration.TransparentDividerDecoration /** * 待处理,已处理,已发起 @@ -12,45 +19,68 @@ import com.project.survey.databinding.ActivityApprovalBinding class ApprovalActivity : BaseBindingActivity() { companion object { - private const val KEY_TYPE = "KEY_TYPE" - const val TYPE_WAIT = "TYPE_WAIT"//待处理 - const val TYPE_PROCESSED = "TYPE_PROCESSED"//已处理 - const val TYPE_INITIATED = "TYPE_INITIATED"//已发起 - - fun launch(context: Context, type: String) { - context.startActivity(Intent(context, ApprovalActivity::class.java).apply { - putExtra(KEY_TYPE, type) - }) + const val PI_PREAPPROV = "PI_PREAPPROV"//待处理 + const val PI_APPROVED = "PI_APPROVED"//已处理 + const val PI_OWNER = "PI_OWNER"//所有的流程 + // const val TYPE_INITIATED = "TYPE_INITIATED"//已发起 + + fun start(type: String = PI_OWNER) { + ActivityNavUtil.startActivity { + putString("type", type) + } } } - override fun getBinding(): ActivityApprovalBinding { - return ActivityApprovalBinding.inflate(layoutInflater) - } + override fun getBinding(): ActivityApprovalBinding = + ActivityApprovalBinding.inflate(layoutInflater) + + private val viewModel: ProjectViewModel by viewModels() + + @Param + private lateinit var type: String + + private val adapter by lazy { ApprovalAdapter() } override fun initView() { - val beginTransaction = supportFragmentManager.beginTransaction() - val fragemnt = when (getType()) { - TYPE_WAIT -> ApprovalWaitFragment() - TYPE_PROCESSED -> ApprovalProcessedFragment() - TYPE_INITIATED -> ApprovalInitiatedFragment() - else -> { - throw IllegalArgumentException("type is error") - } + val title = when (type) { + PI_PREAPPROV -> "待处理" + PI_APPROVED -> "已处理" + else -> "已发起" } - beginTransaction.replace(R.id.container, fragemnt) - beginTransaction.commit() + immersionToolbar(mBinding.ilToolBar.toolbar, title) +// val beginTransaction = supportFragmentManager.beginTransaction() +// val fragemnt = when (type) { +// PI_PREAPPROV -> ApprovalWaitFragment() +// PI_APPROVED -> ApprovalProcessedFragment() +// PI_OWNER -> ApprovalInitiatedFragment() +// else -> { +// throw IllegalArgumentException("type is error") +// } +// } +// beginTransaction.replace(R.id.container, fragemnt) +// beginTransaction.commit() + + mBinding.recyclerView.addItemDecoration(TransparentDividerDecoration(this)) + mBinding.recyclerView.adapter = adapter } override fun initData() { - + viewModel.workTaskListResponse.observe(this) { + adapter.submitList(emptyList()) + } + if (type == PI_PREAPPROV) { + viewModel.fetchWorkTask(SPUtils.getString(SPConstants.PROJECT_ID) ?: "", type) + } else { + viewModel.fetchWorkTaskBody(SPUtils.getString(SPConstants.PROJECT_ID) ?: "", type) + } } override fun initListener() { - + adapter.setOnItemClickListener { _, _, position -> + adapter.getItem(position)?.let { bean -> + toast("item${bean.type}") + } + } } - - private fun getType() = intent.getStringExtra(KEY_TYPE) - } \ No newline at end of file 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 0f310d6..1581866 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 @@ -29,7 +29,7 @@ class ApprovalInitiatedFragment : BaseFragmentBinding() override fun initData() { val dataList = mutableListOf() for (i in 0 until 3) { - dataList.add(ApprovalBean()) + dataList.add(ApprovalBean("")) } adapter.refreshData(dataList) } 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 148a2e1..2c025dd 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 @@ -15,7 +15,7 @@ class ApprovalProcessedFragment : BaseFragmentBinding() private val adapter by lazy { ApprovalWaitAdapter( requireContext(), - ApprovalActivity.TYPE_PROCESSED + ApprovalActivity.PI_APPROVED ) } @@ -33,7 +33,7 @@ class ApprovalProcessedFragment : BaseFragmentBinding() override fun initData() { val dataList = mutableListOf() for (i in 0 until 3) { - dataList.add(ApprovalBean()) + dataList.add(ApprovalBean("")) } adapter.refreshData(dataList) } 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 a6e51b8..c734a97 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 @@ -16,7 +16,7 @@ class ApprovalWaitFragment : BaseFragmentBinding() { private val adapter by lazy { ApprovalWaitAdapter( requireContext(), - ApprovalActivity.TYPE_WAIT + ApprovalActivity.PI_PREAPPROV ) } @@ -34,7 +34,7 @@ class ApprovalWaitFragment : BaseFragmentBinding() { override fun initData() { val dataList = mutableListOf() for (i in 0 until 3) { - dataList.add(ApprovalBean()) + dataList.add(ApprovalBean("")) } adapter.refreshData(dataList) } 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 new file mode 100644 index 0000000..9b7af07 --- /dev/null +++ b/app/src/main/java/com/project/survey/ui/approval/adapter/ApprovalAdapter.kt @@ -0,0 +1,75 @@ +package com.project.survey.ui.approval.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView +import com.chad.library.adapter4.BaseMultiItemAdapter +import com.project.survey.databinding.ItemApprovalApprovedBinding +import com.project.survey.databinding.ItemApprovalOwnerBinding +import com.project.survey.extend.isVisibleOrGone +import com.project.survey.model.ApprovalBean + +class ApprovalAdapter : BaseMultiItemAdapter() { + + init { + addItemType(TYPE_0, object : OnMultiItemAdapterListener { + override fun onCreate( + context: Context, + parent: ViewGroup, + viewType: Int + ): ItemPreapprovVH { + val viewBinding = + ItemApprovalApprovedBinding.inflate(LayoutInflater.from(context), parent, false) + return ItemPreapprovVH(viewBinding) + } + + override fun onBind(holder: ItemPreapprovVH, position: Int, item: ApprovalBean?) { + holder.binding.ivAgree.isVisibleOrGone(false) + } + }).addItemType(TYPE_1, object : OnMultiItemAdapterListener { + override fun onCreate( + context: Context, + parent: ViewGroup, + viewType: Int + ): ItemApprovedVH { + val viewBinding = + ItemApprovalApprovedBinding.inflate(LayoutInflater.from(context), parent, false) + return ItemApprovedVH(viewBinding) + } + + override fun onBind(holder: ItemApprovedVH, position: Int, item: ApprovalBean?) { + holder.binding.ivAgree.isVisibleOrGone(true) + } + }).addItemType(TYPE_2, object : OnMultiItemAdapterListener { + override fun onCreate( + context: Context, + parent: ViewGroup, + viewType: Int + ): ItemOwnerVH { + val viewBinding = + ItemApprovalOwnerBinding.inflate(LayoutInflater.from(context), parent, false) + return ItemOwnerVH(viewBinding) + } + + override fun onBind(holder: ItemOwnerVH, position: Int, item: ApprovalBean?) { + } + }) + } + + class ItemPreapprovVH(val binding: ItemApprovalApprovedBinding) : + RecyclerView.ViewHolder(binding.root) + + class ItemApprovedVH(val binding: ItemApprovalApprovedBinding) : + RecyclerView.ViewHolder(binding.root) + + 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 + } + +} \ 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 0d89073..cf36d92 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 @@ -90,8 +90,9 @@ abstract class BaseBindingActivity : AppCompatActivity() { .init() setSupportActionBar(toolbar) toolbar.setBackgroundColor(0) - toolbar.setTitleTextColor(ContextCompat.getColor(this, R.color.text_color_main)) - toolbar.setTitle(title) +// toolbar.setTitleTextColor(ContextCompat.getColor(this, R.color.text_color_main)) +// toolbar.setTitle(title) + supportActionBar?.title = title } } \ No newline at end of file diff --git a/app/src/main/java/com/project/survey/ui/home/HomeFragment.kt b/app/src/main/java/com/project/survey/ui/home/HomeFragment.kt index 07ddf27..b413edb 100644 --- a/app/src/main/java/com/project/survey/ui/home/HomeFragment.kt +++ b/app/src/main/java/com/project/survey/ui/home/HomeFragment.kt @@ -2,6 +2,7 @@ package com.project.survey.ui.home import android.view.LayoutInflater import android.view.ViewGroup +import com.project.survey.constants.SPConstants import com.project.survey.databinding.FragmentHomeBinding import com.project.survey.extend.setOnClickNoRepeatListener import com.project.survey.ui.approval.ApprovalActivity @@ -10,6 +11,7 @@ import com.project.survey.ui.controlnet.ControlNetFirstListActivity import com.project.survey.ui.controlnet.ControlNetSpeciaListActivity import com.project.survey.ui.lofting.LoftingListActivity import com.project.survey.ui.pointmeasure.PointMeasureListActivity +import com.project.survey.util.SPUtils /** * 首页 @@ -21,7 +23,7 @@ class HomeFragment : BaseBindingFragment() { } override fun initView() { - mBinding.tvProject.text = "哈哈哈哈哈" + mBinding.tvProject.text = SPUtils.getString(SPConstants.PROJECT_NAME) } override fun initData() { @@ -38,13 +40,13 @@ class HomeFragment : BaseBindingFragment() { LoftingListActivity.launch(mContext) } mBinding.itemToBeProcessed.setOnClickNoRepeatListener { - ApprovalActivity.launch(requireContext(), ApprovalActivity.TYPE_WAIT) + ApprovalActivity.start(ApprovalActivity.PI_PREAPPROV) } mBinding.itemProcessed.setOnClickNoRepeatListener { - ApprovalActivity.launch(requireContext(), ApprovalActivity.TYPE_PROCESSED) + ApprovalActivity.start(ApprovalActivity.PI_APPROVED) } mBinding.itemInitiated.setOnClickNoRepeatListener { - ApprovalActivity.launch(requireContext(), ApprovalActivity.TYPE_INITIATED) + ApprovalActivity.start() } mBinding.itemControlNetFirst.setOnClickNoRepeatListener { ControlNetFirstListActivity.launch(requireContext()) diff --git a/app/src/main/java/com/project/survey/ui/project/ProjectListActivity.kt b/app/src/main/java/com/project/survey/ui/project/ProjectListActivity.kt index ca82bd9..01a793b 100644 --- a/app/src/main/java/com/project/survey/ui/project/ProjectListActivity.kt +++ b/app/src/main/java/com/project/survey/ui/project/ProjectListActivity.kt @@ -47,6 +47,11 @@ class ProjectListActivity : BaseBindingActivity() { override fun initData() { viewModel.projectResponse.observe(this) { adapter.submitList(it) + // TODO 暂时将第一条设置为当前项目 + if (it.isNotEmpty()) { + SPUtils.put(SPConstants.PROJECT_ID, it[0].BD_XMXX_ID) + SPUtils.put(SPConstants.PROJECT_NAME, it[0].XMXX_NAME) + } } viewModel.getAllProjectIDByAccount(SPUtils.getString(SPConstants.ACCOUNT) ?: "") diff --git a/app/src/main/java/com/project/survey/ui/project/adapter/ProjectListAdapter.kt b/app/src/main/java/com/project/survey/ui/project/adapter/ProjectListAdapter.kt index 655a8e7..15303c0 100644 --- a/app/src/main/java/com/project/survey/ui/project/adapter/ProjectListAdapter.kt +++ b/app/src/main/java/com/project/survey/ui/project/adapter/ProjectListAdapter.kt @@ -11,9 +11,9 @@ class ProjectListAdapter : BaseQuickAdapter() { override fun onBindViewHolder(holder: QuickViewHolder, position: Int, item: ProjectBean?) { item?.let { bean -> - holder.setText(R.id.tvProjectName, bean.XMXX_INDUSTRYTYPE) - .setText(R.id.tvProjectNum, bean.XMXX_PILENO) - .setText(R.id.tvProjectArea, "上海市长宁区") + holder.setText(R.id.tvProjectName, bean.XMXX_NAME) + .setText(R.id.tvProjectNum, bean.XMXX_CODE) +// .setText(R.id.tvProjectArea, "上海市长宁区") } } diff --git a/app/src/main/java/com/project/survey/widget/LoadingDialog.kt b/app/src/main/java/com/project/survey/widget/LoadingDialog.kt new file mode 100644 index 0000000..28d791e --- /dev/null +++ b/app/src/main/java/com/project/survey/widget/LoadingDialog.kt @@ -0,0 +1,50 @@ +package com.project.survey.widget + +import android.app.Dialog +import android.content.Context +import android.view.LayoutInflater +import android.widget.TextView +import com.project.survey.R +import com.project.survey.extend.isVisibleOrGone + +class LoadingDialog @JvmOverloads constructor(context: Context) : + Dialog(context, R.style.loading_dialog) { + + inner class Builder(val context: Context) { + private var message = "" + private var isCancelable = false + private var isCancelOutside = false + + + fun setMessage(message: String): Builder = apply { + this.message = message + } + + /** + * 设置是否可以按返回键取消 + */ + fun setCancelable(isCancelable: Boolean): Builder = apply { + this.isCancelable = isCancelable + } + + /** + * 设置是否可以取消 + */ + fun setCancelOutside(isCancelOutside: Boolean): Builder = apply { + this.isCancelOutside = isCancelOutside + } + + fun create(): LoadingDialog { + val view = LayoutInflater.from(context).inflate(R.layout.dialog_loading, null, false) + view.findViewById(R.id.tvLoadingTips).run { + isVisibleOrGone(message.isNotBlank()) + text = message + } + return LoadingDialog(context).apply { + setContentView(view) + setCancelable(isCancelable) + setCanceledOnTouchOutside(isCancelOutside) + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/project/survey/widget/decoration/TransparentDividerDecoration.kt b/app/src/main/java/com/project/survey/widget/decoration/TransparentDividerDecoration.kt index c2b0c7f..0f4a52f 100644 --- a/app/src/main/java/com/project/survey/widget/decoration/TransparentDividerDecoration.kt +++ b/app/src/main/java/com/project/survey/widget/decoration/TransparentDividerDecoration.kt @@ -4,8 +4,9 @@ import android.content.Context import androidx.core.content.ContextCompat import com.bingce.utils.ScreenUtil import com.project.survey.R +import com.project.survey.extend.dp2px class TransparentDividerDecoration(context: Context) : DefaultItemDecoration( ContextCompat.getColor(context, R.color.transparent), - 1, ScreenUtil.dp2px(context, 12f) + 1, 12f.dp2px() ) \ No newline at end of file diff --git a/app/src/main/res/drawable-xhdpi/icon_dialog_loading.png b/app/src/main/res/drawable-xhdpi/icon_dialog_loading.png new file mode 100644 index 0000000..38151ee Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/icon_dialog_loading.png differ diff --git a/app/src/main/res/drawable/bg_dialog_loading.xml b/app/src/main/res/drawable/bg_dialog_loading.xml new file mode 100644 index 0000000..4d4cb10 --- /dev/null +++ b/app/src/main/res/drawable/bg_dialog_loading.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/loading_dialog_progress_bar.xml b/app/src/main/res/drawable/loading_dialog_progress_bar.xml new file mode 100644 index 0000000..93a8c24 --- /dev/null +++ b/app/src/main/res/drawable/loading_dialog_progress_bar.xml @@ -0,0 +1,5 @@ + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_approval.xml b/app/src/main/res/layout/activity_approval.xml index ce108c0..54f60ac 100644 --- a/app/src/main/res/layout/activity_approval.xml +++ b/app/src/main/res/layout/activity_approval.xml @@ -1,16 +1,27 @@ - + - + + + + + android:layout_height="match_parent" + app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" + tools:itemCount="2" + tools:listitem="@layout/item_approval_approved" /> \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_loading.xml b/app/src/main/res/layout/dialog_loading.xml new file mode 100644 index 0000000..828673e --- /dev/null +++ b/app/src/main/res/layout/dialog_loading.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_approval_approved.xml b/app/src/main/res/layout/item_approval_approved.xml new file mode 100644 index 0000000..7079822 --- /dev/null +++ b/app/src/main/res/layout/item_approval_approved.xml @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_approval_owner.xml b/app/src/main/res/layout/item_approval_owner.xml new file mode 100644 index 0000000..268f437 --- /dev/null +++ b/app/src/main/res/layout/item_approval_owner.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_project_list.xml b/app/src/main/res/layout/item_project_list.xml index 3591669..d2a3df4 100644 --- a/app/src/main/res/layout/item_project_list.xml +++ b/app/src/main/res/layout/item_project_list.xml @@ -40,15 +40,15 @@ app:layout_constraintTop_toBottomOf="@id/tvProjectName" tools:text="XMBH2021-00001" /> - + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/color.xml b/app/src/main/res/values/color.xml index 8484934..862c13a 100644 --- a/app/src/main/res/values/color.xml +++ b/app/src/main/res/values/color.xml @@ -24,6 +24,7 @@ #202020 #CC5155 #396BD0 + #404145 #F9FAFB #FFFFFF