hcong
2024-10-21 13272e92a6c98daad06aa166a6674bf4dac7cc4b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<template>
  <el-affix :offset="60" target=".el-main">
    <div class="page-header">
      <el-page-header @back="goBack">
        <template #content>
          <span> 新建巡查总任务 </span>
          <el-text type="info">(任务模板:{{ lastTask.name }})</el-text>
        </template>
        <template #extra>
          <div>
            <el-button
              type="primary"
              :disabled="!isEdit"
              :loading="saveLoading"
              @click="handleSaveClick"
              >提交</el-button
            >
          </div>
        </template>
      </el-page-header>
      <el-divider />
    </div>
  </el-affix>
  <CompMonitorObjEdit
    ref="objEditRef"
    create
    :task="task"
    :objList="curMonitorObjList"
    @upload-success="goBack"
  ></CompMonitorObjEdit>
</template>
<script setup>
import { ref, computed, onMounted } from 'vue';
import { useRoute, useRouter } from 'vue-router';
import CompMonitorObjEdit from './components/CompMonitorObjEdit.vue';
import taskApi from '../../../api/fysp/taskApi';
 
const route = useRoute();
const router = useRouter();
 
const objEditRef = ref(null);
const curMonitorObjList = ref([]);
const task = ref({});
const lastTask = ref({})
 
const isEdit = computed(()=>{
  return objEditRef.value ? objEditRef.value.isEdit : false
})
 
function handleSaveClick() {
  objEditRef.value.saveEdit()
}
 
function goBack() {
  router.back();
}
 
function getLastTopTask(task) {
  taskApi.getLastTopTask(task).then(t=>{
    lastTask.value = t
    if (t) {
      taskApi
        .fetchMonitorObjectVersion(t.tguid)
        .then((res) => {
          // 以历史监管场景为基础,同时初始化部分属性
          res.forEach(e => {
            e.movid = null
            e.tid = task.tguid
            e.extension1 = null
          });
          curMonitorObjList.value = res;
        })
        .finally(() => {
          // this.mainLoading = false;
        });
    }
  })
}
 
onMounted(() => {
  // 监管场景信息
  // curMonitorObjList.value = JSON.parse(decodeURIComponent(route.query.data));
  // 总任务
  task.value = JSON.parse(decodeURIComponent(route.query.task));
  getLastTopTask(task.value)
});
</script>
<style scoped>
.page-header {
  background-color: white;
  padding-top: 20px;
}
</style>