<template>

  <div class="table-main">
    <el-table v-if="tableData.length > 0" :data="tableData" height="357px" :header-cell-style="{ textAlign: 'center' } "
              :cell-style="{ textAlign: 'center' }">
      <!--      <el-table-column prop="chnNum" label="通道号" width="80">-->
      <!--        <template #default="{row}">-->
      <!--          {{ '通道' + row.chnNum }}-->
      <!--        </template>-->
      <!--      </el-table-column>-->
      <el-table-column label="A相" v-if="phaseA === 1">
        <el-table-column prop="stdA" :label="'标准值'+(outerUnit==''?'':'（'+outerUnit+'）')"/>
        <el-table-column prop="dataA" :label="'被检值'+(outerUnit==''?'':'（'+outerUnit+'）')"/>
        <el-table-column prop="isDataA" label="检测结果">
          <template #default="scope">
            <el-tooltip effect="dark" placement="bottom">
              <template #content>
                误差范围：{{ scope.row.maxErrorA }} <br/>
                误差值：{{ scope.row.errorA }} {{ scope.row.errorA !== '/' ? innerUnitA : '' }}
              </template>
              <el-tag type="success" v-if="scope.row.isDataA === 1">符合</el-tag>
              <el-tag type="danger" v-if="scope.row.isDataA === 2">不符合</el-tag>
              <el-tag type="warning" v-if="scope.row.isDataA === 4">/</el-tag>
              <el-tag type="info" v-if="scope.row.isDataA === 5">-</el-tag>
            </el-tooltip>
          </template>
        </el-table-column>
      </el-table-column>
      <el-table-column label="B相" v-if="phaseB === 1">
        <el-table-column prop="stdB" :label="'标准值'+(outerUnit==''?'':'（'+outerUnit+'）')"/>
        <el-table-column prop="dataB" :label="'被检值'+(outerUnit==''?'':'（'+outerUnit+'）')"/>
        <el-table-column prop="isDataB" label="检测结果">
          <template #default="scope">
            <el-tooltip effect="dark" placement="bottom">
              <template #content>
                误差范围：{{ scope.row.maxErrorB }}<br/>
                误差值：{{ scope.row.errorB }} {{ scope.row.errorB !== '/' ? innerUnitB : '' }}
              </template>
              <el-tag type="success" v-if="scope.row.isDataB === 1">符合</el-tag>
              <el-tag type="danger" v-if="scope.row.isDataB === 2">不符合</el-tag>
              <el-tag type="warning" v-if="scope.row.isDataB === 4">/</el-tag>
              <el-tag type="info" v-if="scope.row.isDataA === 5">-</el-tag>
            </el-tooltip>
          </template>
        </el-table-column>
      </el-table-column>
      <el-table-column label="C相" v-if="phaseC === 1">
        <el-table-column prop="stdC" :label="'标准值'+(outerUnit==''?'':'（'+outerUnit+'）')"/>
        <el-table-column prop="dataC" :label="'被检值'+(outerUnit==''?'':'（'+outerUnit+'）')"/>
        <el-table-column prop="isDataC" label="检测结果">
          <template #default="scope">
            <el-tooltip effect="dark" placement="bottom">
              <template #content>
                误差范围： {{ scope.row.maxErrorC }}<br/>
                误差值：{{ scope.row.errorC }} {{ scope.row.errorC !== '/' ? innerUnitC : '' }}
              </template>
              <el-tag type="success" v-if="scope.row.isDataC === 1">符合</el-tag>
              <el-tag type="danger" v-if="scope.row.isDataC === 2">不符合</el-tag>
              <el-tag type="warning" v-if="scope.row.isDataC === 4">/</el-tag>
              <el-tag type="info" v-if="scope.row.isDataA === 5">-</el-tag>
            </el-tooltip>
          </template>
        </el-table-column>
      </el-table-column>

      <el-table-column :label="tableHeader" v-if="phaseT === 1">
        <el-table-column prop="stdT" :label="'标准值'+(outerUnit==''?'':'（'+outerUnit+'）')"/>
        <el-table-column prop="dataT" :label="'被检值'+(outerUnit==''?'':'（'+outerUnit+'）')"/>
        <el-table-column prop="isDataT" label="检测结果">
          <template #default="scope">
            <el-tooltip effect="dark" placement="bottom">
              <template #content>
                误差范围： {{ scope.row.maxErrorT }}<br/>
                误差值：{{ scope.row.errorT }} {{ scope.row.errorT !== '/' ? innerUnitT : '' }}
              </template>
              <el-tag type="success" v-if="scope.row.isDataT === 1">符合</el-tag>
              <el-tag type="danger" v-if="scope.row.isDataT === 2">不符合</el-tag>
              <el-tag type="warning" v-if="scope.row.isDataT === 4">/</el-tag>
              <el-tag type="info" v-if="scope.row.isDataA === 5">-</el-tag>
            </el-tooltip>
          </template>
        </el-table-column>
      </el-table-column>
    </el-table>
  </div>

</template>

<script lang="tsx" setup>
import {computed, defineProps} from 'vue';
import {CheckData} from "@/api/check/interface";

const {tableData, currentScriptTypeName} = defineProps<{
  tableData: CheckData.CheckResult[],
  currentScriptTypeName: string
}>();


const outerUnit = computed(() => {
  return tableData.length > 0 ? tableData[0].unit : '';
})

const innerUnitA = computed(() => {
  return tableData.length > 0 ? tableData[0].unitA : '';
})
const innerUnitB = computed(() => {
  return tableData.length > 0 ? tableData[0].unitB : '';
})
const innerUnitC = computed(() => {
  return tableData.length > 0 ? tableData[0].unitC : '';
})
const innerUnitT = computed(() => {
  return tableData.length > 0 ? tableData[0].unitT : '';
})

const phaseA = computed(() => {
  return tableData.length <= 0 || tableData[0].dataA == null || tableData[0].dataA == "/" ? 0 : 1
})
const phaseB = computed(() => {
  return tableData.length <= 0 || tableData[0].dataB == null || tableData[0].dataB == "/" ? 0 : 1
})
const phaseC = computed(() => {
  return tableData.length <= 0 || tableData[0].dataC == null || tableData[0].dataC == "/" ? 0 : 1
})

const phaseT = computed(() => {
  return tableData.length <= 0 || tableData[0].dataT == null || tableData[0].dataT == "/" ? 0 : 1
})

const tableHeader = computed(() => {
  if (phaseT.value === 1) {
    let index = currentScriptTypeName.indexOf('=');
    return currentScriptTypeName.substring(0, index);
  }
  return currentScriptTypeName
})

// const maxErrorStr = computed((data) => {
//   let result = tableData[0].maxError ?? '/'
//   let idx = result.indexOf('~');
//   if (idx > 0) {
//     result = result.substring(0, idx) + outerUnit.value + result.substring(idx, result.length) + outerUnit.value;
//   }
//   return result;
// })

</script>

<style scoped>

.form-grid {
  display: flex;
  flex-direction: row; /* 横向排列 */
  flex-wrap: wrap; /* 允许换行 */
}

.form-grid .el-form-item {
  flex: 1 1 30%; /* 控件宽度 */
  margin-right: 20px; /* 控件间距 */
}

.form-grid .el-form-item:last-child {
  margin-right: 0; /* 最后一个控件不需要右边距 */
}

.dialog-footer {
  display: flex;
  justify-content: flex-start;
  margin-bottom: 10px; /* 调整这里的值以增加或减少间距 */
}

.el-tabs {
  margin-bottom: 20px; /* 添加底部边距 */
}

.el-table th, .el-table td {
  text-align: center; /* 所有单元格文字居中 */
}

</style>