package com.lukouguoji.gjj.dialog

import android.content.Context
import androidx.lifecycle.MutableLiveData
import com.lukouguoji.gjj.R
import com.lukouguoji.gjj.databinding.DialogIntArrManifestDeleteBinding
import com.lukouguoji.module_base.base.BaseDialogModel
import com.lukouguoji.module_base.ktx.verifyNullOrEmpty
import dev.utils.app.info.KeyValue

/**
 * 国际进港原始舱单 - 删除申报对话框
 */
class IntArrManifestDeleteDialogModel(
    val deleteReasonList: List<KeyValue>,    // 删除原因列表
    private val callback: (IntArrManifestDeleteDialogModel) -> Unit
) : BaseDialogModel<DialogIntArrManifestDeleteBinding>(DIALOG_TYPE_CENTER) {

    // 删除原因代码（存储的是 code）
    val deleteReason = MutableLiveData("")

    // 联系人姓名
    val contactName = MutableLiveData("")

    // 联系人电话
    val contactPhone = MutableLiveData("")

    override fun layoutId(): Int {
        return R.layout.dialog_int_arr_manifest_delete
    }

    override fun onDialogCreated(context: Context) {
        binding.model = this
    }

    /**
     * 确认按钮点击
     */
    fun onConfirmClick() {
        // 验证删除原因
        if (deleteReason.value.verifyNullOrEmpty("请选择删除原因")) {
            return
        }

        // 验证联系人姓名
        if (contactName.value.verifyNullOrEmpty("请输入联系人姓名")) {
            return
        }

        // 验证联系人电话
        if (contactPhone.value.verifyNullOrEmpty("请输入联系人电话")) {
            return
        }

        dismiss()
        callback(this)
    }
}
