riku
2023-12-21 3d7bf6dff3d1e2f12c4ecd0120ee110348ccdf49
src/views/fysp/evaluation/components/CompPreCheck.vue
@@ -1,115 +1,36 @@
<template>
  <FYSearchBar @search="preCheck">
    <template #options>
      <!-- 区县 -->
      <FYOptionLocation
        :allOption="false"
        :level="3"
        :checkStrictly="false"
        v-model:value="formSearch._locations"
      ></FYOptionLocation>
      <!-- 场景类型 -->
      <FYOptionScene
        :allOption="false"
        :type="2"
        v-model:value="formSearch.scenetype"
      ></FYOptionScene>
      <!-- 时间 -->
      <FYOptionTime type="month" v-model:value="formSearch.time"></FYOptionTime>
    </template>
  </FYSearchBar>
  <el-row>
    <span>快捷选择</span>
    <el-button v-for="(v, i) in quickSetting" :key="i" type="primary" @click="quickSet(v)">{{
      v.name
    }}</el-button>
  </el-row>
  <el-steps :active="stepIndex" finish-status="success" style="" align-center>
    <el-step title="评估范围" />
    <el-step title="数据源检查" />
    <el-step title="豁免条目" />
    <el-step title="自动评估" />
  </el-steps>
  <CompCheckArea v-show="stepIndex == 0" v-model="stepIndex"></CompCheckArea>
  <CompCheckSource v-show="stepIndex == 1" v-model="stepIndex"></CompCheckSource>
  <CompCheckExemption v-show="stepIndex == 2" v-model="stepIndex"></CompCheckExemption>
  <CompCheckConfirm v-show="stepIndex == 3" v-model="stepIndex"></CompCheckConfirm>
</template>
<script>
import dayjs from 'dayjs';
import CompCheckArea from './precheck/CompCheckArea.vue';
import CompCheckSource from './precheck/CompCheckSource.vue';
import CompCheckExemption from './precheck/CompCheckExemption.vue';
import CompCheckConfirm from './precheck/CompCheckConfirm.vue';
/**
 * 自动评估条件合规性检查
 */
export default {
  name: 'CompPreCheck',
  props: {
    quickSetting: {
      type: Array,
      default: () => {
        return [
          {
            name: '静安工地',
            locations: {
              pCode: '31',
              pName: '上海市',
              cCode: '3100',
              cName: '上海市',
              dCode: '310106',
              dName: '静安区'
            },
            scenetype: { label: '工地', value: '1' }
          },
          {
            name: '徐汇餐饮',
            locations: {
              pCode: '31',
              pName: '上海市',
              cCode: '3100',
              cName: '上海市',
              dCode: '310104',
              dName: '徐汇区'
            },
            scenetype: { label: '餐饮', value: '5' }
          },
          {
            name: '金山工地',
            locations: {
              pCode: '31',
              pName: '上海市',
              cCode: '3100',
              cName: '上海市',
              dCode: '310116',
              dName: '金山区'
            },
            scenetype: { label: '工地', value: '1' }
          },
          {
            name: '金山码头',
            locations: {
              pCode: '31',
              pName: '上海市',
              cCode: '3100',
              cName: '上海市',
              dCode: '310116',
              dName: '金山区'
            },
            scenetype: { label: '码头', value: '2' }
          },
          {
            name: '金山搅拌站',
            locations: {
              pCode: '31',
              pName: '上海市',
              cCode: '3100',
              cName: '上海市',
              dCode: '310116',
              dName: '金山区'
            },
            scenetype: { label: '搅拌站', value: '3' }
          }
        ]
      }
    }
  },
  components: { CompCheckArea, CompCheckSource, CompCheckExemption, CompCheckConfirm },
  props: {},
  emits: ['preCheck'],
  data() {
    return {
      formSearch: {
        _locations: {},
        scenetype: {},
        time: undefined
      }
    }
      // 操作步骤下标
      stepIndex: 0
    };
  },
  methods: {
    /**
@@ -117,18 +38,8 @@
     * 检查所选范围内各项评估数据源是否完整
     */
    preCheck() {
      this.$emit('preCheck', this.formSearch)
    },
    /**
     * 快速设置条件
     */
    quickSet(set) {
      this.formSearch._locations = set.locations
      this.formSearch.scenetype = set.scenetype
      this.preCheck()
      // this.$emit('preCheck', param)
    }
  }
}
};
</script>