HomeConsultItemView.kt 3.8 KB
Newer Older
1 2 3
package com.yidianling.home.ui.view

import android.content.Context
4
import android.graphics.Color
5 6 7 8 9 10 11 12 13 14 15 16
import android.support.v4.content.ContextCompat
import android.text.TextUtils
import android.view.View
import android.view.ViewGroup
import android.widget.FrameLayout
import com.ydl.ydl_image.manager.YDLImageCacheManager
import com.ydl.ydlcommon.utils.StringUtils
import com.ydl.ydlcommon.utils.URLUtils
import com.yidianling.common.tools.RxImageTool
import com.yidianling.home.R
import com.yidianling.home.event.IHomeBaseEvent
import com.yidianling.home.model.bean.HomeConsultBean
konghaorui committed
17
import kotlinx.android.synthetic.xlzx.home_consult_item_view.view.*
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41

/**
 * @author jiucheng
 * @描述:首页咨询理解模块--专家个人信息view
 * @Copyright Copyright (c) 2018
 * @Company 壹点灵
 * @date 2019/2/16
 */
class HomeConsultItemView(private var mContext: Context, private var homeEvent: IHomeBaseEvent?) :
    FrameLayout(mContext) {
    private var dp70 = 0

    init {
        initView()

        dp70 = RxImageTool.dip2px(70f)
    }

    private fun initView() {
        var params = FrameLayout.LayoutParams(
            ViewGroup.LayoutParams.MATCH_PARENT,
            ViewGroup.LayoutParams.WRAP_CONTENT
        )
        layoutParams = params
konghaorui committed
42
        View.inflate(context, R.layout.home_consult_item_view, this)
43 44 45 46 47 48 49 50 51 52
    }

    fun setData(bean: HomeConsultBean.ListBean?, position: Int, isLast: Boolean, cateId: String?) {
        if (bean == null) {
            visibility = View.GONE
            return
        }
        //设置头像
        setHead(bean)
        //设置名称
53
        tv_consult_name.text = bean.name
54 55
        //设置接通率文案
        setConnection(bean)
ydl committed
56 57 58
        //设置向TA咨询人数
        setConfideNum(bean)
        //设置向TA咨询按钮状态
59
        setConfideButton(bean)
ydl committed
60 61

        setOnClickListener {
62
            val url = URLUtils.appendParmas(bean.linkUrl, "cateId", cateId)
63 64 65 66 67 68 69 70
            homeEvent!!.consultItemClick(url, bean.doctorId)
        }
    }

    /**
     * 设置头像
     */
    private fun setHead(bean: HomeConsultBean.ListBean) {
71
        YDLImageCacheManager.showImage(mContext, bean?.head, img_consult_head)
72 73 74
    }

    /**
ydl committed
75
     * 设置向TA咨询人数
76 77 78 79 80 81
     */
    private fun setConfideNum(bodyBean: HomeConsultBean.ListBean) {
        if (TextUtils.isEmpty(bodyBean.zixunOrderNum.toString())) {
            tv_consult_num.visibility = View.GONE
        } else {
            tv_consult_num.visibility = View.VISIBLE
ydl committed
82
            tv_consult_num.text = "咨询次数${bodyBean.zixunOrderNum}"
83 84 85 86 87 88 89 90 91 92 93 94
        }
    }

    /**
     * 设置接通率文案
     */
    private fun setConnection(bodyBean: HomeConsultBean.ListBean) {
        if (TextUtils.isEmpty(bodyBean.feedbackRate.toString())) {
            tv_feedback_rate.visibility = View.INVISIBLE
        } else {
            tv_feedback_rate.visibility = View.VISIBLE
            try {
95 96
                val dd = bodyBean.feedbackRate / 5.00f
                val str = String.format("%.1f", dd * 10f)
97 98 99 100 101 102 103 104 105 106 107 108
                tv_feedback_rate.text = str
            } catch (e: Exception) {
                e.printStackTrace()
            }
        }
    }

    /**
     * 设置向TA倾诉按钮状态
     */
    private fun setConfideButton(bodyBean: HomeConsultBean.ListBean) {
        //私聊文案
109 110 111 112
        if (TextUtils.isEmpty(bodyBean.chatBtnText)) {
            tv_consult_chat.text = "私聊"
            tv_consult_chat.setTextColor(Color.parseColor("#FD9B0A"))
        } else {
113 114 115 116 117 118 119 120
            tv_consult_chat.text = bodyBean.chatBtnText
            tv_consult_chat.setTextColor(
                ContextCompat.getColor(
                    context,
                    R.color.platform_color_999999
                )
            )
        }
121 122


123
        tv_consult_chat.setOnClickListener {
konghaorui committed
124
            homeEvent!!.consultChatClick(bodyBean.uid.toString())
125 126 127
        }
    }
}