This commit is contained in:
2020-12-22 01:30:26 +00:00
parent 1780e8924f
commit 4de43b0bdc
4 changed files with 67 additions and 8 deletions

View File

@@ -298,11 +298,16 @@ export default {
case "review":
//go to list
// path: "/home-reviews/:objectType?/:objectId?",
let objName = null;
if (vm && vm.obj && vm.obj.name) {
objName = vm.obj.name;
}
vm.$router.push({
name: "home-reviews",
params: {
objectType: item.data.ayaType,
objectId: item.data.recordId
objectType: Number.parseInt(item.data.ayaType),
objectId: Number.parseInt(item.data.recordId),
name: objName
}
});
break;

View File

@@ -348,6 +348,7 @@ export default {
iconForType: function(ayaType) {
switch (ayaType) {
case window.$gz.type.NoType:
case null:
return "$ayiGenderless";
case window.$gz.type.Global:
return "$ayiGlobe";

View File

@@ -4,6 +4,7 @@
<div v-if="formState.ready">
<gz-error :errorBoxMessage="formState.errorBoxMessage"></gz-error>
<v-form ref="form">
<span class="text-h5"> {{ name }}</span>
<v-row>
<v-col v-if="currentUserIsASupervisor" cols="12" sm="6" lg="4" xl="3">
<gz-pick-list
@@ -219,6 +220,7 @@ export default {
if (!vm.obj.objectId || !vm.obj.objectType) {
throw "ObjectType and ObjectId are required to set a reminder";
}
vm.name = vm.$route.params.name;
window.$gz.form.setFormState({
vm: vm,
loading: false
@@ -278,7 +280,6 @@ export default {
objectType: null,
overDue: false
},
tab: 0,
formState: {
ready: false,
dirty: false,

View File

@@ -1,5 +1,10 @@
<template>
<div>
{{ iconForType() }}
<div v-if="objectType">
<v-icon>{{ iconForType() }}</v-icon
><span class="text-h5"> {{ name }}</span>
</div>
<gz-report-selector ref="reportSelector"></gz-report-selector>
<gz-extensions
:ayaType="ayType"
@@ -15,6 +20,7 @@
:dataListSort="dataListSort"
:showSelect="rights.read"
:reload="reload"
:metaView="metaView"
v-on:selection-change="handleSelected"
data-cy="reviewsTable"
>
@@ -25,14 +31,31 @@
<script>
const FORM_KEY = "review-list";
export default {
created() {
async created() {
let vm = this;
vm.rights = window.$gz.role.getRights(window.$gz.type.Review);
window.$gz.eventBus.$on("menu-click", clickHandler);
vm.objectId = vm.$route.params.objectId;
vm.objectType = vm.$route.params.objectType;
if(vm.objectId && vm.objectType){
//pre-filter
if (vm.objectId && vm.objectType) {
//pre-filter
vm.metaView = JSON.stringify([
{
fld: "metareviewobjectid",
filter: {
items: [{ op: "=", value: Number.parseInt(vm.objectId) }] //oddly still need this to turn it from a string even when it wasn't a string
}
},
{
fld: "AyaType",
filter: {
items: [{ op: "=", value: Number.parseInt(vm.objectType) }]
}
}
]);
await fetchObjectName(vm);
}
generateMenu(vm);
@@ -51,12 +74,22 @@ export default {
selectedItems: [],
reload: false,
objectId: null,
objectType: null
objectType: null,
metaView: undefined,
name: null
};
},
// computed: {
// iconForType() {
// return window.$gz.util.iconForType(this.objectType);
// }
// },
methods: {
handleSelected(selected) {
this.selectedItems = selected;
},
iconForType() {
return window.$gz.util.iconForType(Number.parseInt(this.objectType));
}
}
};
@@ -74,7 +107,12 @@ async function clickHandler(menuItem) {
case "new":
m.vm.$router.push({
name: "review-edit",
params: { recordid: 0 }
params: {
recordid: 0,
objectType: m.vm.objectType,
objectId: m.vm.objectId,
name: m.vm.name
}
});
break;
case "extensions":
@@ -177,4 +215,18 @@ function generateMenu(vm) {
});
window.$gz.eventBus.$emit("menu-change", menuOptions);
}
///////////////////////////////////////////////////////////
//
//
async function fetchObjectName(vm) {
let res = await window.$gz.api.get(`name/${vm.objectType}/${vm.objectId}`);
//We never expect there to be no data here
if (!res.hasOwnProperty("data")) {
return Promise.reject(res);
} else {
vm.name = res.data;
}
}
</script>