<template>
  <ContentWrap v-loading="formLoading">
    <el-tabs v-model="activeName">
      <el-tab-pane label="基础信息" name="info">
        <SupplierInfoForm
          ref="infoRef"
          v-model:activeName="activeName"
          :is-detail="isDetail"
          :propFormData="formData"
          :supplierId="{ id }"
          @sendParam="handleParamTransfer"
        />
      </el-tab-pane>
      <!--      <el-tab-pane label="证件信息" name="cert">-->
      <!--        <CertList-->
      <!--          ref="certRef"-->
      <!--          v-model:activeName="activeName"-->
      <!--          :is-detail="isDetail"-->
      <!--          :propFormData="formData"-->
      <!--          :receivedParam="sharedParam"-->
      <!--          :ifAlone="false"-->
      <!--        />-->
      <!--      </el-tab-pane>-->
      <!--      <el-tab-pane label="联系人信息" name="contact">-->
      <!--        <ContactList-->
      <!--          ref="contactRef"-->
      <!--          v-model:activeName="activeName"-->
      <!--          :is-detail="isDetail"-->
      <!--          :propFormData="formData"-->
      <!--          :receivedParam="sharedParam"-->
      <!--          :ifAlone="false"-->
      <!--        />-->
      <!--      </el-tab-pane>-->
      <!--            <el-tab-pane label="核心产品" name="core">-->
      <!--              <CoreList-->
      <!--                ref="coreRef"-->
      <!--                v-model:activeName="activeName"-->
      <!--                :is-detail="isDetail"-->
      <!--                :propFormData="formData"-->
      <!--                :receivedParam="sharedParam"-->
      <!--                :ifAlone="false"-->
      <!--              />-->
      <!--            </el-tab-pane>-->
      <!--            <el-tab-pane label="联系记录" name="connect">-->
      <!--              <ConnectList-->
      <!--                ref="connectRef"-->
      <!--                v-model:activeName="activeName"-->
      <!--                :is-detail="isDetail"-->
      <!--                :propFormData="formData"-->
      <!--                :receivedParam="sharedParam"-->
      <!--                :ifAlone="false"-->
      <!--              />-->
      <!--            </el-tab-pane>-->
    </el-tabs>
    <!--    <el-form>-->
    <!--      <el-form-item style="float: right">-->
    <!--        <el-button v-if="!isDetail" :loading="formLoading" type="primary" @click="submitForm">-->
    <!--          保存-->
    <!--        </el-button>-->
    <!--        <el-button @click="close">返回</el-button>-->
    <!--      </el-form-item>-->
    <!--    </el-form>-->
  </ContentWrap>
</template>
<script lang="ts" setup>
import SupplierInfoForm from '@/views/supplier/base/form/SupplierInfoForm.vue'
import { Api, SupplierVO } from '@/api/supplier/base'

defineOptions({ name: 'SupplierDetailInfo' })

const { t } = useI18n() // 国际化
const message = useMessage() // 消息弹窗
const { params, name } = useRoute() // 查询参数
const sharedParam = ref(params.id as unknown as number) // 用于存储从 Tab 1 传递到 Tab 2 的参数
// 处理参数传递的方法
const handleParamTransfer = (param) => {
  sharedParam.value = param.id
}
const formLoading = ref(false) // 表单的加载中：1）修改时的数据加载；2）提交的按钮禁用
const activeName = ref('info') // Tag 激活的窗口
const isDetail = ref(false) // 是否查看详情
const infoRef = ref() // 商品信息 Ref
const id = params.id as unknown as number
// SPU 表单数据
const formData = ref({
  id: undefined,
  code: undefined,
  name: undefined,
  classification: undefined,
  type: undefined,
  nature: undefined,
  creditCode: undefined,
  tin: undefined,
  corporation: undefined,
  incorporationDate: undefined,
  address: undefined,
  bizScope: undefined,
  registeredCapital: undefined,
  annualTurnove: undefined,
  size: undefined,
  status: undefined,
  remark: undefined
})

/** 获得详情 */
const getDetail = async () => {
  if ('SupplierDetailInfo' === name) {
    isDetail.value = true
  }
  if (id) {
    formLoading.value = true
    try {
      const res = (await Api.get(id)) as SupplierVO
      // res.skus?.forEach((item) => {
      //   if (isDetail.value) {
      //     item.price = floatToFixed2(item.price)
      //     item.marketPrice = floatToFixed2(item.marketPrice)
      //     item.costPrice = floatToFixed2(item.costPrice)
      //     item.firstBrokeragePrice = floatToFixed2(item.firstBrokeragePrice)
      //     item.secondBrokeragePrice = floatToFixed2(item.secondBrokeragePrice)
      //   } else {
      //     // 回显价格分转元
      //     item.price = formatToFraction(item.price)
      //     item.marketPrice = formatToFraction(item.marketPrice)
      //     item.costPrice = formatToFraction(item.costPrice)
      //     item.firstBrokeragePrice = formatToFraction(item.firstBrokeragePrice)
      //     item.secondBrokeragePrice = formatToFraction(item.secondBrokeragePrice)
      //   }
      // })
      formData.value = res
    } finally {
      formLoading.value = false
    }
  }
}

/** 提交按钮 */
// const submitForm = async () => {
//   // 提交请求
//   formLoading.value = true
//   try {
//     // 校验各表单
//     await unref(infoRef)?.validate()
//     await unref(skuRef)?.validate()
//     await unref(deliveryRef)?.validate()
//     await unref(descriptionRef)?.validate()
//     await unref(otherRef)?.validate()
//     // 深拷贝一份, 这样最终 server 端不满足，不需要影响原始数据
//     const deepCopyFormData = cloneDeep(unref(formData.value)) as ProductSpuApi.Spu
//     deepCopyFormData.skus!.forEach((item) => {
//       // 给sku name赋值
//       item.name = deepCopyFormData.name
//       // sku相关价格元转分
//       item.price = convertToInteger(item.price)
//       item.marketPrice = convertToInteger(item.marketPrice)
//       item.costPrice = convertToInteger(item.costPrice)
//       item.firstBrokeragePrice = convertToInteger(item.firstBrokeragePrice)
//       item.secondBrokeragePrice = convertToInteger(item.secondBrokeragePrice)
//     })
//     // 处理轮播图列表
//     const newSliderPicUrls: any[] = []
//     deepCopyFormData.sliderPicUrls!.forEach((item: any) => {
//       // 如果是前端选的图
//       typeof item === 'object' ? newSliderPicUrls.push(item.url) : newSliderPicUrls.push(item)
//     })
//     deepCopyFormData.sliderPicUrls = newSliderPicUrls
//     // 校验都通过后提交表单
//     const data = deepCopyFormData as ProductSpuApi.Spu
//     const id = params.id as unknown as number
//     if (!id) {
//       await ProductSpuApi.createSpu(data)
//       message.success(t('common.createSuccess'))
//     } else {
//       await ProductSpuApi.updateSpu(data)
//       message.success(t('common.updateSuccess'))
//     }
//     close()
//   } finally {
//     formLoading.value = false
//   }
// }

/** 关闭按钮 */
// const close = () => {
//   delView(unref(currentRoute))
//   push({ name: 'Suppliers' })
// }

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