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": case "review":
//go to list //go to list
// path: "/home-reviews/:objectType?/:objectId?", // path: "/home-reviews/:objectType?/:objectId?",
let objName = null;
if (vm && vm.obj && vm.obj.name) {
objName = vm.obj.name;
}
vm.$router.push({ vm.$router.push({
name: "home-reviews", name: "home-reviews",
params: { params: {
objectType: item.data.ayaType, objectType: Number.parseInt(item.data.ayaType),
objectId: item.data.recordId objectId: Number.parseInt(item.data.recordId),
name: objName
} }
}); });
break; break;

View File

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

View File

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

View File

@@ -1,5 +1,10 @@
<template> <template>
<div> <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-report-selector ref="reportSelector"></gz-report-selector>
<gz-extensions <gz-extensions
:ayaType="ayType" :ayaType="ayType"
@@ -15,6 +20,7 @@
:dataListSort="dataListSort" :dataListSort="dataListSort"
:showSelect="rights.read" :showSelect="rights.read"
:reload="reload" :reload="reload"
:metaView="metaView"
v-on:selection-change="handleSelected" v-on:selection-change="handleSelected"
data-cy="reviewsTable" data-cy="reviewsTable"
> >
@@ -25,14 +31,31 @@
<script> <script>
const FORM_KEY = "review-list"; const FORM_KEY = "review-list";
export default { export default {
created() { async created() {
let vm = this; let vm = this;
vm.rights = window.$gz.role.getRights(window.$gz.type.Review); vm.rights = window.$gz.role.getRights(window.$gz.type.Review);
window.$gz.eventBus.$on("menu-click", clickHandler); window.$gz.eventBus.$on("menu-click", clickHandler);
vm.objectId = vm.$route.params.objectId; vm.objectId = vm.$route.params.objectId;
vm.objectType = vm.$route.params.objectType; 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); generateMenu(vm);
@@ -51,12 +74,22 @@ export default {
selectedItems: [], selectedItems: [],
reload: false, reload: false,
objectId: null, objectId: null,
objectType: null objectType: null,
metaView: undefined,
name: null
}; };
}, },
// computed: {
// iconForType() {
// return window.$gz.util.iconForType(this.objectType);
// }
// },
methods: { methods: {
handleSelected(selected) { handleSelected(selected) {
this.selectedItems = selected; this.selectedItems = selected;
},
iconForType() {
return window.$gz.util.iconForType(Number.parseInt(this.objectType));
} }
} }
}; };
@@ -74,7 +107,12 @@ async function clickHandler(menuItem) {
case "new": case "new":
m.vm.$router.push({ m.vm.$router.push({
name: "review-edit", name: "review-edit",
params: { recordid: 0 } params: {
recordid: 0,
objectType: m.vm.objectType,
objectId: m.vm.objectId,
name: m.vm.name
}
}); });
break; break;
case "extensions": case "extensions":
@@ -177,4 +215,18 @@ function generateMenu(vm) {
}); });
window.$gz.eventBus.$emit("menu-change", menuOptions); 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> </script>