<template>
  <Dialog :title="dialogTitle" v-model="dialogVisible" width="900px">
    <Descriptions
      title="申请详情"
      :data="orderInfo"
      :schema="applySchema"
      :columns="2"
      labelWidth="130px"
    />
    <el-table :data="followList" size="small" border class="mt-10px">
      <el-table-column prop="userName" label="跟进人" />
      <el-table-column prop="followTime" label="最新跟进时间" :formatter="dateFormatter" />
      <el-table-column prop="signSate" label="成交状态" />
    </el-table>
    <Descriptions
      title="审核详情"
      :data="orderInfo"
      :schema="orderInfo.state == 2 ? cancelSchema : auditSchema"
      :columns="orderInfo.state == 2 ? 2 : 3"
      labelWidth="100px"
    />
  </Dialog>
</template>
<script name="DialogFeebackDetail" setup>
import { getPaymentDetail } from '@/api/clue/payment'
import { getFollowUserList } from '@/api/clue'

import { useAppStore } from '@/store/modules/app'
import { schoolApplySchema, mallApplySchema, auditSchema, cancelSchema } from './feedbackSchema.js'
import { dateFormatter } from '@/utils/formatTime'

const appStore = useAppStore()

const dialogVisible = ref(false) // 弹窗的是否展示
const dialogTitle = ref('') // 弹窗的标题

const applySchema = computed(() => {
  return appStore.getAppInfo?.instanceType == 1 ? schoolApplySchema : mallApplySchema
})

const orderInfo = ref({})
/** 打开弹窗 */
const open = async (row) => {
  dialogVisible.value = true
  dialogTitle.value = '回款申请详情'
  try {
    orderInfo.value = await getPaymentDetail({ id: row.id })
    getFollowInfo(row.clueId)
  } catch (error) {
    console.log(error)
  }
}
defineExpose({ open }) // 提供 open 方法，用于打开弹窗

const followList = ref([])

function getFollowInfo(id) {
  getFollowUserList({ id }).then((data) => {
    followList.value = data
  })
}
</script>
