diff --git a/resources/assets/js/home/TaskMetrics/DrillDown.vue b/resources/assets/js/home/TaskMetrics/DrillDown.vue index 6501d96ee..27cc58487 100644 --- a/resources/assets/js/home/TaskMetrics/DrillDown.vue +++ b/resources/assets/js/home/TaskMetrics/DrillDown.vue @@ -8,7 +8,7 @@
{{ $t("ID_DRILL_DOWN_NAVIGATOR") }}
{ - if (el.content === item.content) { - nindex = i; - } - i++; - }); - this.index = nindex; - if (nindex <= this.level) { - item.click(item); + let elem =_.find(this.visited, {'level': item.content }); + if (elem) { + item.click(elem); } }, /** * Load items in drill items */ - loadItems(items, index) { + loadItems() { let array, - i = 0, - that = this; - array = _.clone(items); + that = this, + item; + array = _.clone(this.data); array.forEach((el) => { el.classObject = _.clone(that.classObject); - if (i <= index) { - el.classObject["vp-btn-secondary"] = false; - el.classObject["btn-primary"] = true; - } - i += 1; - }); + item =_.find(this.visited, {'level': el.content }); + if (item) { + if (item.active){ + el.classObject["vp-btn-primary-inactive"] = false; + el.classObject["vp-btn-secondary"] = false; + el.classObject["btn-primary"] = true; + } else { + el.classObject["vp-btn-secondary"] = false; + el.classObject["btn-primary"] = false; + el.classObject["vp-btn-primary-inactive"] = true; + } + } + }); return array; }, }, @@ -155,6 +159,18 @@ export default { border-color: #6c757d; } +.vp-btn-primary-inactive { + color: #6c757d; + background-color: #007bff; + border-color: #007bff; +} + +.vp-btn-primary-inactive:hover { + color: #6c757d; + background-color: #0066d3; + border-color: #0066d3; +} + .v-pm-drill-down { vertical-align: top; padding-left: 50px; diff --git a/resources/assets/js/home/TaskMetrics/TaskMetrics.vue b/resources/assets/js/home/TaskMetrics/TaskMetrics.vue index 9d735f547..690a4d1f2 100644 --- a/resources/assets/js/home/TaskMetrics/TaskMetrics.vue +++ b/resources/assets/js/home/TaskMetrics/TaskMetrics.vue @@ -12,12 +12,12 @@
- +
- + diff --git a/resources/assets/js/home/TaskMetrics/VueChartLvOne.vue b/resources/assets/js/home/TaskMetrics/VueChartLvOne.vue index 27ab76dd9..718a99382 100644 --- a/resources/assets/js/home/TaskMetrics/VueChartLvOne.vue +++ b/resources/assets/js/home/TaskMetrics/VueChartLvOne.vue @@ -276,10 +276,10 @@ export default { changeOption(option) { let that = this, dt = {}; - if (this.data.length > 0) { + if (this.data.length > 1) { dt = { category: option.id, - caseList: this.data[0].id.toLowerCase(), + caseList: this.data[1].id.toLowerCase(), processes: this.selectedProcesses, top: this.top, }; @@ -289,7 +289,7 @@ export default { .then((response) => { that.totalCases = response.data; that.formatTotalCases(response.data); - }) + }) .catch((e) => { console.error(err); }); @@ -401,7 +401,7 @@ export default { this.$emit("updateDataLevel", { id: this.currentSelection["PRO_ID"], name: this.currentSelection["PRO_TITLE"], - level: 1, + level: 2, data: this.currentSelection, }); }, @@ -409,7 +409,7 @@ export default { * Show popover data options */ onClickData() { - let taskList = this.data[0].id.toLowerCase(), + let taskList = this.data[1].id.toLowerCase(), obj = { autoshow: false, fieldId: "processName", diff --git a/resources/assets/js/home/TaskMetrics/VueChartLvThree.vue b/resources/assets/js/home/TaskMetrics/VueChartLvThree.vue index d31aedec8..103973bb6 100644 --- a/resources/assets/js/home/TaskMetrics/VueChartLvThree.vue +++ b/resources/assets/js/home/TaskMetrics/VueChartLvThree.vue @@ -215,8 +215,8 @@ export default { dt; if (this.dateFrom && this.dateTo) { dt = { - process: this.data[1].id, - caseList: this.data[0].id.toLowerCase(), + process: this.data[2].id, + caseList: this.data[1].id.toLowerCase(), dateFrom: moment(this.dateFrom).format("DD/MM/YYYY"), dateTo: moment(this.dateTo).format("DD/MM/YYYY"), riskStatus: this.riskType, @@ -272,7 +272,7 @@ export default { }); this.updateApexchartAxis(); - if (this.data[0].id.toLowerCase() == "draft") { + if (this.data[1].id.toLowerCase() == "draft") { this.series = []; // Draft is empty } else { this.series = serie; diff --git a/resources/assets/js/home/TaskMetrics/VueChartLvTwo.vue b/resources/assets/js/home/TaskMetrics/VueChartLvTwo.vue index 95408e77b..07b232139 100644 --- a/resources/assets/js/home/TaskMetrics/VueChartLvTwo.vue +++ b/resources/assets/js/home/TaskMetrics/VueChartLvTwo.vue @@ -178,22 +178,24 @@ export default { changeOption() { let that = this, dt; - if (this.dateFrom && this.dateTo && this.period) { - dt = { - processId: this.data[1].id, - caseList: this.data[0].id.toLowerCase(), - dateFrom: moment(this.dateFrom).format("DD/MM/YYYY"), - dateTo: moment(this.dateTo).format("DD/MM/YYYY"), - groupBy: this.period, - }; - Api.process - .totalCasesByRange(dt) - .then((response) => { - that.formatDataRange(response.data); - }) - .catch((e) => { - console.error(e); - }); + if (this.data.length > 2) { + if (this.dateFrom && this.dateTo && this.period) { + dt = { + processId: this.data[2].id, + caseList: this.data[1].id.toLowerCase(), + dateFrom: moment(this.dateFrom).format("DD/MM/YYYY"), + dateTo: moment(this.dateTo).format("DD/MM/YYYY"), + groupBy: this.period, + }; + Api.process + .totalCasesByRange(dt) + .then((response) => { + that.formatDataRange(response.data); + }) + .catch((e) => { + console.error(e); + }); + } } }, /** @@ -212,13 +214,13 @@ export default { this.$refs["LevelTwoChart"].updateOptions({ labels: labels, title: { - text: this.data[0]["PRO_TITLE"], + text: this.data[1]["PRO_TITLE"], align: "left", }, }); this.$apexcharts.exec("LevelTwoChart", "updateSeries", [ { - name: this.data[0]["PRO_TITLE"], + name: this.data[1]["PRO_TITLE"], data: serie, }, ]); @@ -228,9 +230,9 @@ export default { */ onClickDrillDown() { this.$emit("updateDataLevel", { - id: this.data[1]["id"], - name: this.data[1]["name"], - level: 2, + id: this.data[2]["id"], + name: this.data[2]["name"], + level: 3, data: null, }); }, @@ -238,7 +240,7 @@ export default { * Show popover data options */ onClickData() { - let taskList = this.data[0].id.toLowerCase(), + let taskList = this.data[1].id.toLowerCase(), obj = [ { autoshow: false, @@ -246,10 +248,10 @@ export default { filterVar: "process", label: "", options: { - label: this.data[1]["name"], - value: this.data[1]["id"], + label: this.data[2]["name"], + value: this.data[2]["id"], }, - value: this.data[1]["id"], + value: this.data[2]["id"], }, { autoShow: false, diff --git a/resources/assets/js/home/TaskMetrics/VueChartLvZero.vue b/resources/assets/js/home/TaskMetrics/VueChartLvZero.vue index 8ba78b7be..b8b667bbb 100644 --- a/resources/assets/js/home/TaskMetrics/VueChartLvZero.vue +++ b/resources/assets/js/home/TaskMetrics/VueChartLvZero.vue @@ -84,7 +84,7 @@ export default { that.$emit("updateDataLevel", { id: that.currentSelection["List Name"], name: that.currentSelection["List Name"], - level: 0, + level: 1, color: that.formatColor(that.currentSelection["Color"]), data: that.currentSelection, }); diff --git a/resources/assets/js/home/TaskMetrics/VueCharts.vue b/resources/assets/js/home/TaskMetrics/VueCharts.vue index 75b8d9b1b..49b110241 100644 --- a/resources/assets/js/home/TaskMetrics/VueCharts.vue +++ b/resources/assets/js/home/TaskMetrics/VueCharts.vue @@ -8,24 +8,21 @@ @@ -47,15 +44,13 @@ export default { VueChartLvTwo, VueChartLvThree, }, - props: [], + props: ["levels"], data() { - let that = this; + let that = this; return { - level: 0, - key1: _.random(0, 100), - key2: _.random(0, 100), - key3: _.random(0, 100), - data: [], + key1: _.random(0,100), + key2: _.random(0,100), + key3: _.random(0,100), settingsBreadCrumbs: [ { class: "fas fa-info-circle", @@ -67,7 +62,11 @@ export default { created() {}, mounted() {}, watch: {}, - computed: {}, + computed: { + level: function () { + return _.find(this.levels, {'active': true }).level; + } + }, updated() {}, beforeCreate() {}, methods: { @@ -75,13 +74,11 @@ export default { * Set data level 0 */ updateDataLevel(data) { - this.data.push(data); - this.level = data.level + 1; - this.$emit("onChangeLevel", data.level + 1); - this.updateKey(); + this.$emit("onChangeLevel", data); + this.updateKey(data.level); }, - updateKey() { - switch (this.level) { + updateKey(level) { + switch (level) { case 0: break; case 1: @@ -95,26 +92,6 @@ export default { break; } }, - /** - * Format data to vue charts any level - */ - formatData() { - return { - level: this.level, - data: this.data, - }; - }, - /** - * Change level with changes in data - * @param {object} lv - */ - onChangeLevel(lv) { - _.remove(this.data, function (n) { - return n.level >= lv; - }); - this.level = lv; - this.$emit("onChangeLevel", this.level); - }, /** * Format data for data beadcrumbs */ @@ -122,12 +99,12 @@ export default { let res = [], that = this, index = 0; - _.each(this.data, (el) => { + _.each(this.levels, (el) => { if (index <= that.level && el.data) { res.push({ label: el.name, onClick() { - that.onChangeLevel(el.level); + this.$emit("onChangeLevel", el); }, data: el, });