89 lines
2.1 KiB
Vue
89 lines
2.1 KiB
Vue
<template>
|
|
<div class="electron-task">
|
|
<PageTitle :title="taskInfo.name"/>
|
|
<Loading v-if="loadIng > 0"/>
|
|
<TaskDetail v-else :task-id="taskInfo.id" :open-task="taskInfo"/>
|
|
</div>
|
|
</template>
|
|
|
|
<style lang="scss" scoped>
|
|
.electron-task {
|
|
height: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: auto;
|
|
.task-detail {
|
|
flex: 1;
|
|
margin: 0;
|
|
padding: 18px 22px;
|
|
border-radius: 0;
|
|
}
|
|
}
|
|
</style>
|
|
<style lang="scss">
|
|
.electron-task {
|
|
.task-detail {
|
|
.task-info {
|
|
.head {
|
|
.function {
|
|
margin-right: 0;
|
|
.open {
|
|
display: none;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</style>
|
|
<script>
|
|
import TaskDetail from "../manage/components/TaskDetail";
|
|
export default {
|
|
components: {TaskDetail},
|
|
data() {
|
|
return {
|
|
loadIng: 0,
|
|
|
|
taskInfo: {},
|
|
}
|
|
},
|
|
mounted() {
|
|
//
|
|
},
|
|
watch: {
|
|
'$route': {
|
|
handler() {
|
|
this.getInfo();
|
|
},
|
|
immediate: true
|
|
},
|
|
},
|
|
methods: {
|
|
getInfo() {
|
|
let task_id = $A.runNum(this.$route.params.id);
|
|
if (task_id <= 0) {
|
|
return;
|
|
}
|
|
this.loadIng++;
|
|
this.$store.dispatch("getTaskOne", task_id).then(({data}) => {
|
|
this.loadIng--;
|
|
this.taskInfo = data;
|
|
this.$store.dispatch("getTaskContent", task_id);
|
|
this.$store.dispatch("getTaskFiles", task_id);
|
|
this.$store.dispatch("getTaskForParent", task_id).catch(() => {})
|
|
}).catch(({msg}) => {
|
|
this.loadIng--;
|
|
$A.modalError({
|
|
content: msg,
|
|
onOk: () => {
|
|
if (this.$Electron) {
|
|
window.close();
|
|
}
|
|
}
|
|
});
|
|
});
|
|
}
|
|
}
|
|
}
|
|
</script>
|