Files
luos/resources/assets/js/home/TaskMetrics/TaskMetrics.vue

96 lines
2.1 KiB
Vue
Raw Normal View History

2021-07-30 20:18:11 +00:00
<template>
<div id="v-pm-task-metrics" ref="v-pm-task-metrics" class="v-pm-task-metrics">
<button-fleft :data="newCase"></button-fleft>
<div class="p-1 v-flex">
2021-08-12 19:05:50 +00:00
<h4 class="v-search-title">
Task metrics
<span class="vp-padding-r3"> <i class="fas fa-chart-pie"></i></span>
</h4>
2021-07-30 20:18:11 +00:00
</div>
<modal-new-request ref="newRequest"></modal-new-request>
<div class="d-inline-flex p-2">
2021-08-16 18:54:43 +00:00
<vue-charts
ref="pm-vue-chart"
@onChangeLevel="changeLevel"
:levels="visited"
2021-08-16 18:54:43 +00:00
/>
2021-07-30 20:18:11 +00:00
<div class="vp-6"></div>
<drill-down :visited="visited" @onChangeLevel="changeLevel" />
2021-07-30 20:18:11 +00:00
</div>
</div>
2021-07-30 20:18:11 +00:00
</template>
<script>
import ButtonFleft from "../../components/home/ButtonFleft.vue";
import ModalNewRequest from "../ModalNewRequest.vue";
import DrillDown from "./DrillDown.vue";
import VueCharts from "./VueCharts.vue";
import defaultMixins from "./defaultMixins";
export default {
name: "TaskMetrics",
mixins: [defaultMixins],
components: {
ButtonFleft,
2021-07-30 20:18:11 +00:00
ModalNewRequest,
DrillDown,
VueCharts,
},
props: ["settings"],
2021-07-30 20:18:11 +00:00
data() {
let that = this;
2021-08-12 19:05:50 +00:00
return {
visited: this.settings && this.settings.visited ? this.settings.visited : [
{
level: 0,
active: true
}
]
2021-08-12 19:05:50 +00:00
};
2021-07-30 20:18:11 +00:00
},
created() {},
mounted() {
debugger;
},
2021-07-30 20:18:11 +00:00
computed: {},
updated() {},
beforeCreate() {},
2021-08-12 19:05:50 +00:00
methods: {
2021-08-26 21:12:39 +00:00
/**
* Change level in drill down
*/
changeLevel(data) {
let item = _.find(this.visited, {level: data.level });
this.visited.forEach(function (elem) {
elem.active = false;
});
if(!item) {
data.active = true;
this.visited.push(data);
} else {
item.active = true;
}
this.$emit("updateSettings", {
data: this.visited,
key: "visited",
page: "task-metrics",
type: "normal",
id: this.id
});
},
2021-08-12 19:05:50 +00:00
},
2021-07-30 20:18:11 +00:00
};
</script>
<style>
.v-pm-task-metrics {
padding-top: 20px;
padding-bottom: 20px;
padding-left: 50px;
padding-right: 50px;
}
2021-08-12 19:05:50 +00:00
.vp-padding-r3 {
padding-right: 3rem;
2021-07-30 20:18:11 +00:00
}
</style>