This commit is contained in:
2022-03-01 17:51:16 +00:00
parent a23af8f9fc
commit 255d4c62bb
2 changed files with 14 additions and 48 deletions

View File

@@ -20,9 +20,7 @@ export default {
singleOnly: false,
settings: {
customTitle: null,
wotags: [],
woitemtags: [],
wostatus: null
custtags: []
}
},
{

View File

@@ -1,7 +1,6 @@
<template>
<gz-dash
icon="$ayiTools"
:add-url="'svc-workorders/0'"
icon="$ayiConciergeBell"
:show-context-button="true"
:update-frequency="300000"
v-bind="[$props, $attrs]"
@@ -18,7 +17,7 @@
{{ $ay.t("NoData") }}
</div>
<template v-for="(item, i) in obj">
<v-list-item :key="i" two-line :to="'/svc-workorders/' + item.id">
<v-list-item :key="i" two-line :to="'/svc-csrs/' + item.id">
<v-list-item-content>
<v-list-item-title
><span class="text-h6 primary--text">{{ item.serial }}</span
@@ -85,13 +84,8 @@
</v-autocomplete>
<gz-tag-picker
v-model="localSettings.wotags"
:label="$ay.t('Tags') + ' - ' + $ay.t('WorkOrder')"
></gz-tag-picker>
<gz-tag-picker
v-model="localSettings.woitemtags"
:label="$ay.t('Tags') + ' - ' + $ay.t('WorkOrderItem')"
v-model="localSettings.custtags"
:label="$ay.t('Tags') + ' - ' + $ay.t('Customer')"
></gz-tag-picker>
<v-text-field
@@ -133,17 +127,12 @@ export default {
return {
obj: {},
context: false,
localSettings: {},
selectLists: {
dateFilterTokens: [],
units: [],
wostatus: []
}
localSettings: {}
};
},
computed: {},
async created() {
await initWidget(this);
await initWidget();
},
async mounted() {
//must be called from mounted to have refs available
@@ -155,13 +144,9 @@ export default {
this.context = true;
},
updateSettings: function() {
//copy settings from local to parent settings, need to do it this way or get error about mutating prop directly which is vexing and has no easy solution seemingly
this.settings.customTitle = this.localSettings.customTitle;
this.settings.wostatus = this.localSettings.wostatus;
this.settings.wotags = this.localSettings.wotags;
this.settings.woitemtags = this.localSettings.woitemtags;
this.$emit("dash-change"); //trigger save to server
this.settings.custtags = this.localSettings.custtags;
this.$emit("dash-change");
this.context = false;
this.getDataFromApi();
},
@@ -170,13 +155,11 @@ export default {
try {
this.errorMessage = null;
const res = await window.$gz.api.post("kpi", {
KPIName: "WorkOrderUnscheduledOpenList",
KPIName: "CSROpenList",
criteria: {
wostatus: this.settings.wostatus,
wotags: this.settings.wotags,
woitemtags: this.settings.woitemtags
custtags: this.settings.custtags
},
clientTimeStamp: window.$gz.locale.clientLocalZoneTimeStamp()
clientTimeStamp: undefined
});
if (res.error) {
this.errorMessage = res.error;
@@ -193,10 +176,8 @@ export default {
/////////////////////////////////
//
//
async function initWidget(vm) {
async function initWidget() {
await fetchTranslatedText();
await fetchWorkorderStatusList(vm);
//populateSelectionLists(vm);
}
//////////////////////////////////////////////////////////
@@ -206,21 +187,8 @@ async function initWidget(vm) {
async function fetchTranslatedText() {
await window.$gz.translation.cacheTranslations([
"Name",
"WorkOrder",
"WorkOrderItem",
"WorkOrderStatus",
"Customer",
"NoData"
]);
}
async function fetchWorkorderStatusList(vm) {
let res = await window.$gz.api.get("work-order-status/list");
if (res.error) {
vm.formState.serverError = res.error;
window.$gz.form.setErrorBoxErrors(vm);
} else {
vm.selectLists.wostatus = res.data.all.filter(z => z.completed == false); //TODO: weed out closed status
vm.selectLists.wostatus.unshift(window.$gz.form.getNoSelectionItem(true));
}
}
</script>