lmw
2023-06-07 684672bad20e0b0288c31ac677c7433626886135
授信额度模块
13个文件已修改
8个文件已添加
671 ■■■■■ 已修改文件
app/src/main/AndroidManifest.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/kuanzhai/user/dialog/RefuseDialog.kt 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/kuanzhai/user/network/ApiService.kt 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/kuanzhai/user/network/Apis.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/kuanzhai/user/network/HttpManager.kt 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/kuanzhai/user/network/entity/CreditApply.kt 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/kuanzhai/user/network/entity/MyCreditBean.kt 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/kuanzhai/user/ui/mine/ApplyCreditActivity.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/kuanzhai/user/ui/mine/ApplyDetailActivity.kt 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/kuanzhai/user/ui/mine/CreditApplyListActivity.kt 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/kuanzhai/user/ui/mine/MyCreditActivity.kt 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/kuanzhai/user/ui/mine/WalletActivity.kt 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/kuanzhai/user/ui/mine/adapter/CreditApplyAdapter.kt 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/kuanzhai/user/ui/mine/adapter/MyCreditAdapter.kt 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable/bg_refuse.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_apply_credit.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_apply_detail.xml 196 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_my_credit.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/dialog_refuse.xml 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/item_credit_apply.xml 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/item_my_credit.xml 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/AndroidManifest.xml
@@ -135,6 +135,7 @@
        <activity android:name=".ui.mine.ApplyCreditActivity" android:label="申请" />
        <activity android:name=".ui.mine.CreditApplyListActivity" android:label="额度申请"/>
        <activity android:name=".ui.mine.MyCreditActivity" />
        <activity android:name=".ui.mine.ApplyDetailActivity" android:label="申请详情"/>
    </application>
</manifest>
app/src/main/java/com/kuanzhai/user/dialog/RefuseDialog.kt
New file
@@ -0,0 +1,36 @@
package com.kuanzhai.user.dialog
import android.view.Gravity
import cn.sinata.xldutils.activity.BaseActivity
import cn.sinata.xldutils.fragment.BaseDialogFragment
import cn.sinata.xldutils.utils.myToast
import com.kuanzhai.user.R
import com.kuanzhai.user.interfaces.StringCallback
import com.kuanzhai.user.network.HttpManager
import com.kuanzhai.user.network.request
import com.kuanzhai.user.ui.mine.ApplyDetailActivity
import kotlinx.android.synthetic.main.dialog_refuse.*
class RefuseDialog:BaseDialogFragment() {
    override fun setContentView() = R.layout.dialog_refuse
    var callback : StringCallback? = null
    override fun setGravity() = Gravity.CENTER
    override fun initView() {
        iv_close.setOnClickListener { dismissAllowingStateLoss() }
        tv_action.setOnClickListener {
            val content = et_content.text.toString()
            if (content.isEmpty()){
                myToast("请输入拒绝原因")
            }
            HttpManager.companyLimitApprove((requireActivity() as ApplyDetailActivity).data.id,2,content).request(requireActivity() as BaseActivity){_,_->
                myToast("操作成功")
                callback?.onRlt("ok")
                dismissAllowingStateLoss()
            }
        }
    }
}
app/src/main/java/com/kuanzhai/user/network/ApiService.kt
@@ -450,4 +450,12 @@
    @FormUrlEncoded
    @POST(Apis.getCompanyLimitList)
    fun getCompanyLimitList(@Field("pageNum") page:Int, @Field("size") size:Int = Const.PAGE_SIZE): Flowable<ResultData<List<CreditApply>>>
    @FormUrlEncoded
    @POST(Apis.getMineLimitList)
    fun getMineLimitList(@Field("pageNum") page:Int, @Field("size") size:Int = 50): Flowable<ResultData<MyCreditBean>>
    @FormUrlEncoded
    @POST(Apis.companyLimitApprove)
    fun companyLimitApprove(@Field("id") id:String,@Field("status") status:Int, @Field("remark") remark:String?): Flowable<ResultData<Any>>
}
app/src/main/java/com/kuanzhai/user/network/Apis.kt
@@ -192,4 +192,6 @@
    const val queryStaffList = "api/user/queryStaffList"
    const val saveCompanyLimit = "api/user/saveCompanyLimit"
    const val getCompanyLimitList = "api/user/getCompanyLimitList"
    const val getMineLimitList = "api/user/getMineLimitList"
    const val companyLimitApprove = "api/user/companyLimitApprove"
}
app/src/main/java/com/kuanzhai/user/network/HttpManager.kt
@@ -1627,4 +1627,18 @@
    fun saveCompanyLimit(money: Double,reason: String): Flowable<ResultData<Any>> {
        return request().saveCompanyLimit(money,reason)
    }
    /**
     * 我的额度列表
     */
    fun getMineLimitList(page: Int): Flowable<ResultData<MyCreditBean>> {
        return request().getMineLimitList(page)
    }
    /**
     * 额度审核
     */
    fun companyLimitApprove(id: String,state: Int,reason: String?): Flowable<ResultData<Any>> {
        return request().companyLimitApprove(id,state,reason)
    }
}
app/src/main/java/com/kuanzhai/user/network/entity/CreditApply.kt
@@ -1,12 +1,22 @@
package com.kuanzhai.user.network.entity
import android.os.Parcelable
import kotlinx.android.parcel.Parcelize
@Parcelize
data class CreditApply(
    val applyQuota: Double,
    val applyReason: String,
    val createTime: String,
    val id: Int,
    val id: String,
    val phone: String,
    val remark: String,
    val staffName: String,
    val status: Int
)
):Parcelable{
    fun getStateStr() = when(status){
        1->"成功"
        2->"失败"
        else->"待审核"
    }
}
app/src/main/java/com/kuanzhai/user/network/entity/MyCreditBean.kt
New file
@@ -0,0 +1,7 @@
package com.kuanzhai.user.network.entity
data class MyCreditBean(
    val balanceQuota: Double,
    val companyLimitWrapperList: List<CreditApply>,
    val totalApplyQuota: Double
)
app/src/main/java/com/kuanzhai/user/ui/mine/ApplyCreditActivity.kt
@@ -1,5 +1,6 @@
package com.kuanzhai.user.ui.mine
import android.app.Activity
import android.text.Editable
import android.text.TextWatcher
import androidx.core.os.bundleOf
@@ -31,6 +32,7 @@
            }
            tv_action.isEnabled = false
            HttpManager.saveCompanyLimit(money,et_reason.text.toString()).request(this,success = {_,_->
                setResult(Activity.RESULT_OK)
                val alertDialog = AlertDialog()
                alertDialog.arguments = bundleOf("msg" to "提交成功!")
                alertDialog.setDismissCallback(object :AlertDialog.OnDismiss{
app/src/main/java/com/kuanzhai/user/ui/mine/ApplyDetailActivity.kt
New file
@@ -0,0 +1,67 @@
package com.kuanzhai.user.ui.mine
import android.app.Activity
import cn.sinata.xldutils.gone
import cn.sinata.xldutils.utils.myToast
import cn.sinata.xldutils.visible
import com.kuanzhai.user.R
import com.kuanzhai.user.dialog.RefuseDialog
import com.kuanzhai.user.interfaces.StringCallback
import com.kuanzhai.user.network.HttpManager
import com.kuanzhai.user.network.entity.CreditApply
import com.kuanzhai.user.network.request
import com.kuanzhai.user.ui.TransparentStatusBarActivity
import kotlinx.android.synthetic.main.activity_apply_detail.*
class ApplyDetailActivity:TransparentStatusBarActivity() {
    override fun setContentView() = R.layout.activity_apply_detail
    val data by lazy { intent.getParcelableExtra<CreditApply>("data") }
    private val canOperate by lazy { intent.getBooleanExtra("canOperate",true) }
    override fun initClick() {
        tv_refuse.setOnClickListener {
            val refuseDialog = RefuseDialog()
            refuseDialog.callback = object :StringCallback{
                override fun onRlt(rlt: String) {
                    setResult(Activity.RESULT_OK)
                    finish()
                }
            }
            refuseDialog.show(supportFragmentManager,"refuse")
        }
        tv_action.setOnClickListener {
            HttpManager.companyLimitApprove(data.id,1,null).request(this) { _, _ ->
                myToast("操作成功")
                setResult(Activity.RESULT_OK)
                finish()
            }
        }
    }
    override fun initView() {
        data?.apply {
            tv_name.text = staffName
            tv_phone.text = phone
            tv_money.text = applyQuota.toString()
            tv_reason.text = applyReason
            if (status != 0){
                tv_refuse.gone()
                tv_action.gone()
                tv_result.visible()
                if (status == 1){
                    tv_result.text = "审核通过"
                }else{
                    tv_result.text = "审核失败"
                    gp_refuse.visible()
                    tv_refuse_reason.text = remark
                }
            }
            if (!canOperate){//我的申请,不可操作
                tv_refuse.gone()
                tv_action.gone()
                cl_my.gone()
            }
        }
    }
}
app/src/main/java/com/kuanzhai/user/ui/mine/CreditApplyListActivity.kt
@@ -1,5 +1,7 @@
package com.kuanzhai.user.ui.mine
import android.app.Activity
import android.content.Intent
import androidx.recyclerview.widget.LinearLayoutManager
import cn.sinata.xldutils.view.SwipeRefreshRecyclerLayout
import com.kuanzhai.user.R
@@ -9,6 +11,8 @@
import com.kuanzhai.user.ui.TransparentStatusBarActivity
import com.kuanzhai.user.ui.mine.adapter.CreditApplyAdapter
import org.jetbrains.anko.find
import org.jetbrains.anko.startActivity
import org.jetbrains.anko.startActivityForResult
class CreditApplyListActivity:TransparentStatusBarActivity(),SwipeRefreshRecyclerLayout.OnRefreshListener {
    override fun setContentView() = R.layout.base_recyclerview_layout
@@ -19,6 +23,9 @@
    private val adapter = CreditApplyAdapter(list)
    override fun initClick() {
        adapter.setOnItemClickListener { view, position ->
            startActivityForResult<ApplyDetailActivity>(1,"data" to list[position])
        }
    }
    override fun initView() {
@@ -51,4 +58,10 @@
        page++
        getData()
    }
    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)
        if (resultCode == Activity.RESULT_OK)
            onRefresh()
    }
}
app/src/main/java/com/kuanzhai/user/ui/mine/MyCreditActivity.kt
@@ -1,14 +1,34 @@
package com.kuanzhai.user.ui.mine
import android.app.Activity
import android.content.Intent
import androidx.recyclerview.widget.LinearLayoutManager
import cn.sinata.xldutils.view.SwipeRefreshRecyclerLayout
import com.kuanzhai.user.R
import com.kuanzhai.user.network.HttpManager
import com.kuanzhai.user.network.entity.CreditApply
import com.kuanzhai.user.network.request
import com.kuanzhai.user.ui.TransparentStatusBarActivity
import com.kuanzhai.user.ui.mine.adapter.MyCreditAdapter
import kotlinx.android.synthetic.main.activity_my_credit.*
import org.jetbrains.anko.backgroundResource
import org.jetbrains.anko.startActivity
import org.jetbrains.anko.startActivityForResult
import org.jetbrains.anko.textColorResource
class MyCreditActivity : TransparentStatusBarActivity() {
class MyCreditActivity : TransparentStatusBarActivity(),SwipeRefreshRecyclerLayout.OnRefreshListener {
    override fun setContentView() = R.layout.activity_my_credit
    private var page = 1
    private val list = arrayListOf<CreditApply>()
    private val adapter = MyCreditAdapter(list)
    override fun initClick() {
        tv_action.setOnClickListener {
            startActivityForResult<ApplyCreditActivity>(1)
        }
        adapter.setOnItemClickListener { view, position ->
            startActivity<ApplyDetailActivity>("canOperate" to false,"data" to list[position])
        }
    }
    override fun initView() {
@@ -17,7 +37,42 @@
            text = "企业额度"
            textColorResource = R.color.white
        }
        titleBar
        titleBar.leftView.setCompoundDrawablesRelativeWithIntrinsicBounds(R.mipmap.back_white,0,0,0)
        rv_list.setLayoutManager(LinearLayoutManager(this))
        rv_list.setMode(SwipeRefreshRecyclerLayout.Mode.Both)
        rv_list.setAdapter(adapter)
        rv_list.setOnRefreshListener(this)
        onRefresh()
    }
    private fun getData(){
        HttpManager.getMineLimitList(page).request(this,success = {_,data->
            tv_company_credit.text = "¥%.2f".format(data?.totalApplyQuota?:0.0)
            tv_apply_credit.text = "¥%.2f".format(data?.balanceQuota?:0.0)
            rv_list.isRefreshing = false
            if (page == 1)
                list.clear()
            list.addAll(data?.companyLimitWrapperList?: arrayListOf())
            adapter.notifyDataSetChanged()
        }){_,_->
            rv_list.isRefreshing = false
        }
    }
    override fun onRefresh() {
        page = 1
        getData()
    }
    override fun onLoadMore() {
        page++
        getData()
    }
    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)
        if (resultCode == Activity.RESULT_OK)
            onRefresh()
    }
}
app/src/main/java/com/kuanzhai/user/ui/mine/WalletActivity.kt
@@ -46,7 +46,7 @@
        tv_withdraw.setOnClickListener {
            startActivityForResult<WithdrawActivity>(1,"balance" to balance)
        }
        tv_credit.setOnClickListener {
        tv_quota.setOnClickListener {
            startActivity<MyCreditActivity>()
        }
    }
app/src/main/java/com/kuanzhai/user/ui/mine/adapter/CreditApplyAdapter.kt
@@ -1,14 +1,22 @@
package com.kuanzhai.user.ui.mine.adapter
import android.widget.TextView
import cn.sinata.xldutils.adapter.HFRecyclerAdapter
import cn.sinata.xldutils.adapter.util.ViewHolder
import com.kuanzhai.user.R
import com.kuanzhai.user.network.entity.CreditApply
import org.jetbrains.anko.textColorResource
import java.util.ArrayList
class CreditApplyAdapter(list: ArrayList<CreditApply>):HFRecyclerAdapter<CreditApply>(list, R.layout.item_credit_apply) {
    override fun onBind(holder: ViewHolder, position: Int, data: CreditApply) {
        holder.setText(R.id.tv_time,data.createTime)
        holder.setText(R.id.tv_name,"员工姓名:${data.staffName}")
        holder.setText(R.id.tv_phone,"电话:${data.phone}")
        holder.setText(R.id.tv_money,"申请额度:¥${data.applyQuota}")
        holder.setText(R.id.tv_reason,"备注:${data.applyReason}")
        holder.setText(R.id.tv_state,if (data.status == 0) "待处理" else "已处理")
        holder.bind<TextView>(R.id.tv_state).textColorResource = if (data.status == 0) R.color.colorPrimary else R.color.textColor99
    }
}
app/src/main/java/com/kuanzhai/user/ui/mine/adapter/MyCreditAdapter.kt
New file
@@ -0,0 +1,19 @@
package com.kuanzhai.user.ui.mine.adapter
import android.widget.TextView
import cn.sinata.xldutils.adapter.HFRecyclerAdapter
import cn.sinata.xldutils.adapter.util.ViewHolder
import com.kuanzhai.user.R
import com.kuanzhai.user.network.entity.CreditApply
import org.jetbrains.anko.textColorResource
import java.util.ArrayList
class MyCreditAdapter(list: ArrayList<CreditApply>):HFRecyclerAdapter<CreditApply>(list, R.layout.item_my_credit) {
    override fun onBind(holder: ViewHolder, position: Int, data: CreditApply) {
        holder.setText(R.id.tv_date_time,data.createTime)
        holder.setText(R.id.tv_money,"¥%.2f".format(data.applyQuota))
        holder.setText(R.id.tv_state,data.getStateStr())
        holder.bind<TextView>(R.id.tv_state).textColorResource = if (data.status == 2) R.color.textColor99 else R.color.color_text_price
    }
}
app/src/main/res/drawable/bg_refuse.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <corners android:radius="4dp"/>
    <solid android:color="#BFBFBF"/>
</shape>
app/src/main/res/layout/activity_apply_credit.xml
@@ -69,6 +69,7 @@
        android:gravity="top"
        android:paddingVertical="10dp"
        android:background="@null"
        android:maxLength="50"
        android:textSize="14sp"
        android:textColor="@color/textColor"/>
</androidx.constraintlayout.widget.ConstraintLayout>
app/src/main/res/layout/activity_apply_detail.xml
New file
@@ -0,0 +1,196 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/tv_refuse"
        android:text="拒绝"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toStartOf="@id/tv_action"
        android:layout_marginBottom="19dp"
        android:textColor="@color/white"
        android:textStyle="bold"
        android:textSize="14sp"
        android:paddingVertical="10dp"
        android:paddingHorizontal="49dp"
        app:layout_constraintBottom_toBottomOf="parent"
        android:background="@drawable/bg_refuse"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/tv_result"
        android:text="拒绝"
        android:visibility="gone"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        android:layout_marginBottom="19dp"
        android:textColor="@color/white"
        android:textStyle="bold"
        android:textSize="14sp"
        android:paddingVertical="10dp"
        android:paddingHorizontal="49dp"
        app:layout_constraintBottom_toBottomOf="parent"
        android:background="@drawable/bg_refuse"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/tv_action"
        android:text="同意"
        app:layout_constraintStart_toEndOf="@id/tv_refuse"
        app:layout_constraintBaseline_toBaselineOf="@id/tv_refuse"
        app:layout_constraintEnd_toEndOf="parent"
        android:textColor="@color/white"
        android:textStyle="bold"
        android:textSize="14sp"
        android:paddingVertical="10dp"
        android:paddingHorizontal="49dp"
        app:layout_constraintBottom_toBottomOf="parent"
        android:background="@drawable/bg_dark_4dp"/>
    <androidx.constraintlayout.widget.ConstraintLayout
        android:id="@+id/cl_my"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_constraintTop_toTopOf="parent">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/tv_name"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            style="@style/style_form_text_mine"
            android:layout_marginEnd="14dp"
            android:text="张三"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:layout_constraintBaseline_toBaselineOf="@id/tv_name"
            app:layout_constraintStart_toStartOf="parent"
            android:layout_marginStart="14dp"
            android:text="姓名:"
            android:textSize="14sp"
            android:textColor="@color/textColor"
            android:textStyle="bold"/>
        <View
            android:layout_width="match_parent"
            android:layout_height="1px"
            android:background="@color/dividing_line_color"
            app:layout_constraintTop_toBottomOf="@id/tv_name"
            android:layout_marginHorizontal="14dp"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/tv_phone"
            app:layout_constraintTop_toBottomOf="@id/tv_name"
            app:layout_constraintEnd_toEndOf="parent"
            style="@style/style_form_text_mine"
            android:layout_marginEnd="14dp"
            android:text="15815965897"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:layout_constraintBaseline_toBaselineOf="@id/tv_phone"
            app:layout_constraintStart_toStartOf="parent"
            android:layout_marginStart="14dp"
            android:text="电话:"
            android:textSize="14sp"
            android:textColor="@color/textColor"
            android:textStyle="bold"/>
        <View
            android:layout_width="match_parent"
            android:layout_height="1px"
            android:background="@color/dividing_line_color"
            app:layout_constraintTop_toBottomOf="@id/tv_phone"
            android:layout_marginHorizontal="14dp"/>
    </androidx.constraintlayout.widget.ConstraintLayout>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/tv_money"
        app:layout_constraintTop_toBottomOf="@id/cl_my"
        app:layout_constraintEnd_toEndOf="parent"
        style="@style/style_form_text_mine"
        android:layout_marginEnd="14dp"
        android:text="500"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_constraintBaseline_toBaselineOf="@id/tv_money"
        app:layout_constraintStart_toStartOf="parent"
        android:layout_marginStart="14dp"
        android:text="申请额度:"
        android:textSize="14sp"
        android:textColor="@color/textColor"
        android:textStyle="bold"/>
    <View
        android:layout_width="match_parent"
        android:layout_height="1px"
        android:background="@color/dividing_line_color"
        app:layout_constraintTop_toBottomOf="@id/tv_money"
        android:layout_marginHorizontal="14dp"/>
    <TextView
        android:id="@+id/tv"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginHorizontal="14dp"
        app:layout_constraintTop_toBottomOf="@id/tv_money"
        android:textStyle="bold"
        android:textColor="@color/textColor"
        android:textSize="14sp"
        android:layout_marginTop="21dp"
        android:text="申请理由:"/>
    <TextView
        android:layout_width="match_parent"
        android:layout_height="90dp"
        android:id="@+id/tv_reason"
        app:layout_constraintTop_toBottomOf="@id/tv"
        android:layout_marginHorizontal="14dp"
        android:layout_marginTop="10dp"
        android:textColor="@color/textColor"
        android:textSize="14sp"/>
    <View
        android:layout_width="match_parent"
        android:layout_height="1px"
        app:layout_constraintTop_toBottomOf="@id/tv_reason"
        android:background="@color/dividing_line_color"
        android:layout_marginHorizontal="14dp"
        android:layout_marginTop="12dp"/>
    <TextView
        android:id="@+id/tv1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginHorizontal="14dp"
        app:layout_constraintTop_toBottomOf="@id/tv_reason"
        android:textStyle="bold"
        android:textColor="@color/textColor"
        android:textSize="14sp"
        android:layout_marginTop="21dp"
        android:text="拒绝理由:"/>
    <TextView
        android:layout_width="match_parent"
        android:layout_height="90dp"
        android:id="@+id/tv_refuse_reason"
        app:layout_constraintTop_toBottomOf="@id/tv1"
        android:layout_marginHorizontal="14dp"
        android:layout_marginTop="10dp"
        android:textColor="@color/textColor"
        android:textSize="14sp"/>
    <View
        android:id="@+id/line"
        android:layout_width="match_parent"
        android:layout_height="1px"
        app:layout_constraintTop_toBottomOf="@id/tv_refuse_reason"
        android:background="@color/dividing_line_color"
        android:layout_marginHorizontal="14dp"
        android:layout_marginTop="12dp"/>
    <androidx.constraintlayout.widget.Group
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/gp_refuse"
        app:constraint_referenced_ids="tv1,tv_refuse_reason,line"
        android:visibility="gone"/>
</androidx.constraintlayout.widget.ConstraintLayout>
app/src/main/res/layout/activity_my_credit.xml
@@ -64,6 +64,7 @@
            android:text="申请记录"
            android:paddingTop="10dp"
            android:paddingBottom="7dp"
            android:layout_marginTop="22dp"
            android:paddingHorizontal="14dp"
            android:background="@color/page_bg"
            app:layout_constraintTop_toBottomOf="@id/tv_company_credit"
app/src/main/res/layout/dialog_refuse.xml
New file
@@ -0,0 +1,58 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_constraintTop_toTopOf="parent"
        android:background="@drawable/bg_white_6dp"
        android:layout_marginHorizontal="36dp">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            android:layout_marginTop="24dp"
            android:text="拒绝原因"
            android:textColor="@color/textColor"
            android:textSize="18sp"
            android:textStyle="bold"
            android:id="@+id/tv_title"/>
        <ImageView
            android:id="@+id/iv_close"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@mipmap/icon_close"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            android:padding="10dp"
            android:layout_margin="6dp"/>
        <EditText
            android:layout_width="match_parent"
            android:layout_height="135dp"
            app:layout_constraintTop_toBottomOf="@id/tv_title"
            android:layout_marginHorizontal="16dp"
            android:background="@drawable/bg_grey_1dp"
            android:layout_marginTop="16dp"
            android:text="审核不通过"
            android:gravity="top"
            android:padding="13dp"
            android:textStyle="bold"
            android:textColor="@color/textColor66"
            android:textSize="15sp"
            android:id="@+id/et_content"/>
        <TextView
            android:id="@+id/tv_action"
            android:text="确定"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            style="@style/style_tv_action"
            android:layout_marginTop="6dp"
            app:layout_constraintBottom_toBottomOf="parent"
            android:layout_marginBottom="16dp"
            app:layout_constraintTop_toBottomOf="@id/et_content"/>
    </androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
app/src/main/res/layout/item_credit_apply.xml
@@ -1,6 +1,107 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
    android:layout_height="wrap_content">
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_constraintTop_toTopOf="parent"
        android:layout_marginTop="6dp"
        android:layout_marginHorizontal="14dp"
        android:background="@drawable/bg_white_2dp">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/tv_time"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            android:layout_marginTop="9dp"
            android:layout_marginStart="20dp"
            android:textColor="@color/textColor"
            android:textSize="14sp"
            android:text="2022-06-05 07:16"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/tv_state"
            app:layout_constraintBaseline_toBaselineOf="@id/tv_time"
            app:layout_constraintEnd_toEndOf="parent"
            android:layout_marginEnd="10dp"
            android:textSize="12sp"
            android:text="待处理"/>
        <View
            android:layout_width="match_parent"
            android:layout_height="1px"
            android:background="@color/dividing_line_color"
            app:layout_constraintTop_toBottomOf="@id/tv_time"
            android:layout_marginTop="6dp"
            android:layout_marginStart="20dp"/>
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/tv_name"
            app:layout_constraintTop_toBottomOf="@id/tv_time"
            android:layout_marginTop="15dp"
            android:text="员工姓名:张三"
            android:textSize="14sp"
            android:textColor="@color/textColor66"
            app:layout_constraintStart_toStartOf="parent"
            android:layout_marginStart="20dp"/>
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/tv_phone"
            app:layout_constraintTop_toBottomOf="@id/tv_name"
            android:layout_marginTop="9dp"
            android:text="电话:18312358469"
            android:textSize="14sp"
            android:textColor="@color/textColor66"
            android:layout_marginStart="20dp"/>
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/tv_money"
            app:layout_constraintTop_toBottomOf="@id/tv_phone"
            android:layout_marginTop="9dp"
            android:text="申请额度:¥1000"
            android:textSize="14sp"
            android:textColor="@color/textColor66"
            android:layout_marginStart="20dp"/>
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/tv_reason"
            app:layout_constraintTop_toBottomOf="@id/tv_money"
            android:layout_marginTop="9dp"
            android:text="备注:业务叫车多,额度不够需增加"
            android:textSize="14sp"
            android:singleLine="true"
            android:layout_marginEnd="10dp"
            android:textColor="@color/textColor66"
            android:layout_marginStart="20dp"/>
        <View
            android:layout_width="match_parent"
            android:layout_height="1px"
            android:background="@color/dividing_line_color"
            app:layout_constraintTop_toBottomOf="@id/tv_reason"
            android:layout_marginTop="20dp"
            android:layout_marginStart="20dp"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="详情"
            android:textColor="@color/colorPrimary"
            android:textSize="15sp"
            android:textStyle="bold"
            app:layout_constraintEnd_toEndOf="parent"
            android:background="@drawable/bg_orange_line_4dp"
            android:paddingVertical="7dp"
            android:paddingHorizontal="28dp"
            android:layout_marginTop="34dp"
            app:layout_constraintBottom_toBottomOf="parent"
            android:layout_marginBottom="15dp"
            android:layout_marginEnd="7dp"
            app:layout_constraintTop_toBottomOf="@id/tv_reason"/>
    </androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
app/src/main/res/layout/item_my_credit.xml
New file
@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:background="@color/white">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/tv_date_time"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        android:layout_marginTop="11dp"
        android:layout_marginStart="14dp"
        android:textColor="@color/textColor"
        android:textSize="14sp"
        android:textStyle="bold"
        android:text="2022.10.16 15:41"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/tv_money"
        app:layout_constraintBaseline_toBaselineOf="@id/tv_date_time"
        android:text="¥500.00"
        android:textStyle="bold"
        android:textSize="14sp"
        android:textColor="@color/textColor"
        app:layout_constraintStart_toEndOf="@id/tv_date_time"
        android:layout_marginStart="38dp"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/tv_state"
        app:layout_constraintBaseline_toBaselineOf="@id/tv_date_time"
        app:layout_constraintEnd_toEndOf="parent"
        android:textSize="14sp"
        android:textStyle="bold"
        android:text="待审核"
        android:layout_marginEnd="14dp"/>
    <View
        android:layout_width="match_parent"
        android:layout_height="1px"
        android:background="@color/dividing_line_color"
        app:layout_constraintTop_toBottomOf="@id/tv_date_time"
        android:layout_marginTop="11dp"
        android:layout_marginHorizontal="14dp"/>
</androidx.constraintlayout.widget.ConstraintLayout>