<template>
  <!-- 打印 -->
  <el-dialog v-model="dialogVisiblePoint" :title="dialogTitle" width="60%">
    <Table :columns="detailListTableColumns" :data="tableObject.tableList" :loading="tableObject.loading" :pagination="{
      total: tableObject.total
    }" v-model:pageSize="tableObject.pageSize" v-model:currentPage="tableObject.currentPage"
      v-model:sort="tableObject.sort">
      <template #batch="{ row }">
        <el-input v-model="row.batch">{{ row.batch }}</el-input>
      </template>
    </Table>
    <el-button @click="closeDialog">关闭</el-button>
    <el-button @click="genLabel()">生成标签</el-button>

    <el-button @click="print">打印</el-button>
  </el-dialog>
</template>

<script setup lang="ts">
import download from '@/utils/download'
import { getAccessToken } from '@/utils/auth'
import { SupplierdeliverRequestMain, SupplierdeliverRequestMainRules, SupplierdeliverRequestDetail, SupplierdeliverRequestDetailRules } from './supplierdeliverRequestMain.data'
import * as SupplierdeliverRequestMainApi from '@/api/wms/supplierdeliverRequestMain'
import * as SupplierdeliverRequestDetailApi from '@/api/wms/supplierdeliverRequestDetail'
import * as defaultButtons from '@/utils/disposition/defaultButtons'
// import * as PackageApi from '@/api/wms/package'
// import * as BarbasicApi from '@/api/wms/barbasic'
const props = defineProps({
  // 表頭
  detailListTableColumns: {
    type: Array,
    required: true,
    default: null
  },
})

// 供应商发货申请
defineOptions({ name: 'SupplierdeliverRequestMain' })

const message = useMessage() // 消息弹窗
const { t } = useI18n() // 国际化
const route = useRoute() // 路由信息
const routeName = ref()
routeName.value = route.name
const tableColumns = ref(SupplierdeliverRequestMain.allSchemas.tableColumns)


const dialogVisiblePoint = ref(false)
const { tableObject, tableMethods } = useTable({
  getListApi: SupplierdeliverRequestDetailApi.getSupplierdeliverRequestDetailPage // 分页接口
})
const dialogVisible = ref(false)
const isShow = ref(false)
const dialogTitle = ref('')
const closeDialog = () => {
  dialogVisiblePoint.value = false
  isShow.value = false
}
// const print = async () => {
//   window.open(src.value + '&number=' + detatableData.tableList[0].number)
// }

/** 生成标签按钮操作 */
const genLabel = async () => {
  try {
    // 生成标签的二次确认
    await message.confirm('是否为此数据生成标签？')
    // 发起生成标签
    await SupplierdeliverRequestMainApi.genLabel(genLabelId.value)
    dialogVisible.value = false
    isShow.value = false
    message.success(t('生成标签成功!'))
    dialogVisiblePoint.value = false
    isShow.value = false
    // 刷新列表
    await getList()
  } catch { }
}

// 获得表格的各种操作
const { getList, setSearchParams } = tableMethods
const genLabelId = ref();
const  openPoint = async (masterId)=>{
  tableObject.params = {
    masterId:masterId,
  }
  dialogVisiblePoint.value = true
   genLabelId.value = masterId
   getList()
}
defineExpose({ openPoint }) // 提供 open 方法，用于打开弹窗


/** 初始化 **/
onMounted(async () => {
 
})
</script>
