package com.lukouguoji.gjc.dialog

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

/**
 * 国际出港组装分配 - 分配人选择对话框
 */
class GjcAssembleAllocateDialogModel(
    val flightInfo: String,                     // 航班信息（用于显示）
    val assembleCompanyList: List<KeyValue>,    // 分配人列表
    private val callback: (GjcAssembleAllocateDialogModel) -> Unit
) : BaseDialogModel<DialogGjcAssembleAllocateBinding>(DIALOG_TYPE_CENTER) {

    // 选中的分配人（存储的是 code，例如 "ATR"）
    val allocator = MutableLiveData("")

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

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

    /**
     * 确认按钮点击
     */
    fun onConfirmClick() {
        if (allocator.value.verifyNullOrEmpty("请选择分配人")) {
            return
        }
        dismiss()
        callback(this)
    }
}
