src/views/fysp/task/MonitorObjEdit.vue
@@ -1,7 +1,7 @@
<template>
  <el-affix :offset="60">
    <div class="page-header">
      <el-page-header @back="$router.back()">
      <el-page-header @back="goBack">
        <template #content>
          <span> 总任务编辑 </span>
        </template>
@@ -24,10 +24,11 @@
      <el-divider />
      <CompMonitorObj
        :data="curMonitorObjList"
        show-delete
        show-btn
        v-model:tabName="curSceneType"
        v-model:showData="showMonitorObjList"
        @delete-item="deleteMov"
        :tabOptions="sceneTypeOptions"
        @item-click="deleteMov"
      >
      </CompMonitorObj>
    </el-col>
@@ -41,7 +42,6 @@
          <el-segmented v-model="curSceneType" :options="sceneTypeOptions" />
        </div>
        <FYInfoSearch
          label=""
          placeholder="请输入场景名称关键字"
          :data="showSceneList"
          :on-search="searchScene"
@@ -92,9 +92,14 @@
import svUserApi from '@/api/fysp/userApi';
import taskApi from '@/api/fysp/taskApi';
import sceneApi from '@/api/fysp/sceneApi';
import { ElMessage, ElNotification } from 'element-plus';
import { ElMessage, ElNotification, ElMessageBox } from 'element-plus';
export default {
  async beforeRouteLeave(to, from) {
    // 在导航离开渲染该组件的对应路由时调用
    // 与 `beforeRouteUpdate` 一样,它可以访问组件实例 `this`
    // return this.routerChangeCheck();
  },
  components: { CompMonitorObj },
  props: {},
  data() {
@@ -104,7 +109,6 @@
      // 当前筛选的场景类型
      curSceneType: undefined,
      showMonitorObjList: [],
      // 行政区划
      area: {},
@@ -140,7 +144,7 @@
        return index == -1 && v.type == this.curSceneType;
      });
    },
    sceneTypeOptions(){
    sceneTypeOptions() {
      const list = [];
      this.sceneList.forEach((d) => {
        if (list.indexOf(d.type) == -1) list.push(d.type);
@@ -302,6 +306,30 @@
      // return Promise.all([p1, p2, p3]).finally(() => {
      //   this.saveLoading = false;
      // });
    },
    async goBack() {
      // const answer = await this.routerChangeCheck()
      // if (answer) {
      //   this.$router.back();
      // }
      this.$router.back();
    },
    async routerChangeCheck() {
      if (this.isEdit) {
        const answer = await ElMessageBox.confirm('是否放弃已修改的总任务?', '取消总任务修改', {
          confirmButtonText: '确认',
          cancelButtonText: '取消',
          type: 'warning'
        })
          .then(() => {
            return true;
          })
          .catch(() => {
            return false;
          });
        return answer;
      }
      return true;
    }
  },
  mounted() {