riku
2024-03-21 5f20f4bba739f0f81101a2c1d99f494647125e05
src/views/fysp/evaluation/components/precheck/components/CompCheckConfirm.vue
@@ -1,36 +1,105 @@
<template>
  <el-card shadow="never">
    Never4
    <template #header>
      <div><el-text tag="b" size="large">自动评估确认</el-text></div>
      <el-text size="small" type="info">最终确认自动评估各配置项,并开始自动评估</el-text>
    </template>
    <el-form label-width="160px" label-position="left">
      <div class="m-b-16"><el-text tag="b" size="large">评估范围</el-text></div>
      <el-form-item label="区域">
        <el-text size="default">{{ areaInfo._locations.pName }}</el-text>
        <el-text size="default">{{ areaInfo._locations.cName }}</el-text>
        <el-text size="default">{{ areaInfo._locations.dName }}</el-text>
        <el-text size="default">{{ areaInfo.starttime }}</el-text>
      </el-form-item>
      <el-form-item label="时间">
        <el-text size="default">{{ $fm.formatYM(areaInfo.time) }}</el-text>
      </el-form-item>
      <el-form-item label="场景">
        <el-text size="default">{{ areaInfo._scenetype.label }}</el-text>
      </el-form-item>
      <el-divider />
      <div class="m-b-16"><el-text tag="b" size="large">评估数据源完整度</el-text></div>
      <el-form-item :label="v.name" v-for="v in dataSource" :key="v.name">
        <template v-if="v.pass == true">
          <el-icon color="var(--el-color-success)"><Check /></el-icon>
          <el-text size="default" type="success">通过</el-text>
        </template>
        <template v-else-if="v.pass == false">
          <el-icon color="var(--el-color-danger)"><Close /></el-icon>
          <el-text size="default" type="danger">缺失</el-text>
        </template>
        <template v-else>
          <el-icon color="var(--el-color-warning)"><Warning /></el-icon>
          <el-text size="default" type="warning">暂略过</el-text>
        </template>
      </el-form-item>
      <el-divider />
      <div class="m-b-16"><el-text tag="b" size="large">豁免条目</el-text></div>
      <div class="m-b-16"><el-text size="default">无豁免条目</el-text></div>
    </el-form>
    <template #footer>
      <el-row justify="space-around">
        <el-button type="primary" size="default" @click="lastStep">上一步</el-button>
        <!-- <el-button type="primary" size="default" @click="nextStep">下一步</el-button> -->
        <el-button type="primary" size="default" @click="startEvaluate">开始评估</el-button>
      </el-row>
    </template>
  </el-card>
</template>
<script>
import evaluateApi from '@/api/fysp/evaluateApi';
/**
 * 评估任务最终开启确认
 */
export default {
  props: {
    // 步骤下标
    modelValue: Number
    modelValue: Number,
    // 区域信息
    areaInfo: {
      type: Object,
      default: () => {
        return {
          _locations: {},
          _scenetype: {}
        };
      }
    },
    // 数据源完整度情况
    dataSource: Array,
    // 条目豁免情况
    exemptionItems: Array
  },
  emits: ['update:modelValue'],
  emits: ['update:modelValue', 'start'],
  data() {
    return {
    };
    return {};
  },
  methods: {
    // 跳转下一步
    nextStep() {
      this.$emit('update:modelValue', this.modelValue + 1);
    // 开启自动评估任务
    startEvaluate() {
      const v = this.areaInfo
      const a = {
        provincecode: v._locations.pCode,
        provincename: v._locations.pName,
        citycode: v._locations.cCode,
        cityname: v._locations.cName,
        districtcode: v._locations.dCode,
        districtname: v._locations.dName,
        towncode: v._locations.tCode,
        townname: v._locations.tName,
        starttime: this.$fm.formatYMDH(v.time),
        scensetypeid: v._scenetype.value,
        online: true,
        sourceType: v.sourceType
      };
      evaluateApi.autoEvaluate(a).then((res) => {
        this.$emit('start', res.data);
      });
    },
    // 跳转下一步
    // 跳转上一步
    lastStep() {
      this.$emit('update:modelValue', this.modelValue - 1);
    }