package com.unis.sxzcl.ui.todo;

import android.widget.TextView;

import androidx.core.content.ContextCompat;

import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.module.LoadMoreModule;
import com.chad.library.adapter.base.viewholder.BaseViewHolder;
import com.unis.model.bean.aeration.AerationBean;
import com.unis.model.bean.todo.TodoListType;
import com.unis.sxzcl.R;

import org.jetbrains.annotations.NotNull;

/**
 * 包名: com.unis.sxzcl.ui.todo
 * 类名: TodoApplyListAdapter
 * 作用描述: 已发起
 * 创建人: mQ
 * 创建时间: 2020/12/21 9:49
 * 更新人:
 * 更新时间: 2020/12/21 9:49
 * 更新说明:
 * 版本号: 1.0
 */
public class TodoApplyListAdapter extends BaseQuickAdapter<AerationBean, BaseViewHolder> implements LoadMoreModule {

    public TodoListAdapter.NextCallback mNextCallback;
    private int listType;

    public TodoApplyListAdapter(@TodoListType int listType, TodoListAdapter.NextCallback nextCallback) {
        super(R.layout.item_list_todo);
        mNextCallback = nextCallback;
    }

    @Override
    protected void convert(@NotNull BaseViewHolder holder, AerationBean item) {
        // 已发起列表
        // 隐藏倒计时
        holder.setGone(R.id.tv_warn_time, true);
        // 隐藏逾期
        holder.setGone(R.id.tv_timeout, true);
        // 隐藏办理按钮
        holder.setGone(R.id.tv_next, true);

        // 业务类型
        holder.setText(R.id.tv_title, item.getWorkName());
        // 业务内容
        // 仓号: 1号仓\n申请人: 王全德\n申请部门: 仓储部\n公司: xxx公司
        StringBuilder sb = new StringBuilder();
        sb.append("仓号: ")
                .append(item.getHouseName())
                .append("\n");
        if (item.getType().equals("tf")) {
            sb.append("申请人: ")
                    .append(item.getApplyName())
                    .append("\n")
                    .append("申请部门: ")
                    .append(item.getDepartmentName())
                    .append("\n");
        }
        sb.append("公司: ")
                .append(item.getCompanyName())
        ;
        holder.setText(R.id.tv_content, sb.toString());
        // 业务时间
        holder.setText(R.id.tv_time, item.getApplyTime());

        // 业务状态
        TextView tvStatus = holder.getView(R.id.tv_status);
        //审批状态(0:提交,1审批通过:,2:审批不通过，3:审批完成进行中，4已完成）
        switch (item.getAuditState()) {
            case "0":
                // 审批中
                tvStatus.setText("审批中");
                tvStatus.setTextColor(ContextCompat.getColor(getContext(), R.color.colorText55));
                break;
//            case "1":
//                // 审批通过
//                tvStatus.setText("审批通过");
//                tvStatus.setTextColor(ContextCompat.getColor(getContext(), R.color.colorTheme));
//                break;
            case "2":
                // 审批未通过
                tvStatus.setText("审批不通过");
                tvStatus.setTextColor(ContextCompat.getColor(getContext(), R.color.colorRed));
                break;
//            case "3":
//                // 进行中
//                tvStatus.setText("进行中");
//                tvStatus.setTextColor(ContextCompat.getColor(getContext(), R.color.colorText55));
//                break;
//            case "4":
//                // 已完成
//                tvStatus.setText("已完成");
//                tvStatus.setTextColor(ContextCompat.getColor(getContext(), R.color.colorTheme));
//                break;
            default:
                tvStatus.setText("审批通过");
                tvStatus.setTextColor(ContextCompat.getColor(getContext(), R.color.colorTheme));
                break;
        }

        holder.itemView.setTag(item);
        holder.itemView.setOnClickListener(v -> {
            if (mNextCallback != null)
                mNextCallback.onNextCallback((AerationBean) v.getTag());
        });
    }

    public void setNextCallback(TodoListAdapter.NextCallback nextCallback) {
        mNextCallback = nextCallback;
    }

}
