This commit is contained in:
2021-09-09 18:58:00 +00:00
parent 7a80ee7df4
commit b8ee6fa025
4 changed files with 100 additions and 64 deletions

View File

@@ -9,10 +9,6 @@
## ROUGH SCHEDULE ## ROUGH SCHEDULE
CSR text to display to customer
CSR V8Migrate
GetLastReport is not implemented anywhere but is useful adn key GetLastReport is not implemented anywhere but is useful adn key
new testing cases new testing cases
Schedule form Schedule form

View File

@@ -21,7 +21,7 @@
<v-list-item <v-list-item
v-for="item in reportList" v-for="item in reportList"
:key="item.id" :key="item.id"
@click="renderReport(item.id)" @click="renderReport(item.id, item.name)"
> >
<v-list-item-title>{{ item.name }}</v-list-item-title> <v-list-item-title>{{ item.name }}</v-list-item-title>
<v-list-item-action> <v-list-item-action>
@@ -72,7 +72,8 @@ export default {
}, },
reportList: [], reportList: [],
selectedReport: null, selectedReport: null,
rendering: false rendering: false,
preSelectReportId: null
}), }),
methods: { methods: {
editReport(reportid) { editReport(reportid) {
@@ -86,7 +87,7 @@ export default {
} }
}); });
}, },
async renderReport(reportId) { async renderReport(reportId, reportName) {
let vm = this; let vm = this;
if (vm.$route.params.recordid == 0) { if (vm.$route.params.recordid == 0) {
return; return;
@@ -115,9 +116,13 @@ export default {
} }
} }
this.isVisible = false; this.isVisible = false;
this.resolve(null); if (reportName != null) {
this.resolve({ name: reportName, id: reportId });
} else {
this.resolve(null);
}
}, },
async open(reportDataOptions) { async open(reportDataOptions, preSelectReportId) {
let vm = this; let vm = this;
if (reportDataOptions == null) { if (reportDataOptions == null) {
throw new Error("report-selector:Open missing reportDataOptions"); throw new Error("report-selector:Open missing reportDataOptions");
@@ -127,18 +132,22 @@ export default {
} }
this.reportDataOptions = reportDataOptions; this.reportDataOptions = reportDataOptions;
//get report list from server this.preSelectReportId = preSelectReportId;
let res = await window.$gz.api.get( if (!preSelectReportId) {
`report/list/${reportDataOptions.AType}` //get report list from server
); let res = await window.$gz.api.get(
if (res.error) { `report/list/${reportDataOptions.AType}`
// throw new Error(res.error); );
throw new Error(window.$gz.errorHandler.errorToString(res, vm)); if (res.error) {
// throw new Error(res.error);
throw new Error(window.$gz.errorHandler.errorToString(res, vm));
} else {
this.reportList = res.data;
}
this.isVisible = true;
} else { } else {
this.reportList = res.data; this.renderReport(this.preSelectReportId);
} }
this.isVisible = true;
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this.resolve = resolve; this.resolve = resolve;
this.reject = reject; this.reject = reject;

View File

@@ -1875,35 +1875,52 @@ async function clickHandler(menuItem) {
m.vm.duplicateTo = "pm"; m.vm.duplicateTo = "pm";
m.vm.duplicateDlg = true; m.vm.duplicateDlg = true;
break; break;
case "report": // case "report":
if (m.id != null) { // if (m.id != null) {
//last report selected is in m.id // //last report selected is in m.id
m.vm.$router.push({ // m.vm.$router.push({
name: "ay-report", // name: "ay-report",
params: { recordid: m.id, ayatype: window.$gz.type.WorkOrder } // params: { recordid: m.id, ayatype: window.$gz.type.WorkOrder }
}); // });
} else { // } else {
//general report selector chosen // //general report selector chosen
// console.log("At report");
// let res = await m.vm.$refs.reportSelector.open({
// AType: window.$gz.type.WorkOrder,
// selectedRowIds: [m.vm.obj.id]
// });
// console.log("RESPONSE:", res);
// //if null for no selection
// //just bail out
// if (res == null) {
// return;
// }
// console.log("svc-workorder:report, calling setLastReport:", {
// formkey: FORM_KEY,
// res: res
// });
// //persist last report selected
// window.$gz.form.setLastReport(FORM_KEY, res);
let res = await m.vm.$refs.reportSelector.open({ // //Now open the report viewer...
// m.vm.$router.push({
// name: "ay-report",
// params: { recordid: res.id, ayatype: window.$gz.type.WorkOrder }
// });
// }
// break;
case "report":
let res = await m.vm.$refs.reportSelector.open(
{
AType: window.$gz.type.WorkOrder, AType: window.$gz.type.WorkOrder,
selectedRowIds: [m.vm.obj.id] selectedRowIds: [m.vm.obj.id]
}); },
m.id
//if null for no selection );
//just bail out if (res == null) {
if (res == null) { return;
return;
}
//persist last report selected
window.$gz.form.setLastReport(FORM_KEY, res);
//Now open the report viewer...
m.vm.$router.push({
name: "ay-report",
params: { recordid: res.id, ayatype: window.$gz.type.WorkOrder }
});
} }
window.$gz.form.setLastReport(FORM_KEY, res);
break; break;
case "statuslist": case "statuslist":
m.vm.$router.push({ m.vm.$router.push({

View File

@@ -169,35 +169,49 @@ async function clickHandler(menuItem) {
m.vm.reload = !m.vm.reload; m.vm.reload = !m.vm.reload;
} }
break; break;
case "report": // case "report":
if (m.id != null) { // if (m.id != null) {
//last report selected is in m.id // //last report selected is in m.id
m.vm.$router.push({ // m.vm.$router.push({
name: "ay-report", // name: "ay-report",
params: { recordid: m.id, ayatype: window.$gz.type.WorkOrder } // params: { recordid: m.id, ayatype: window.$gz.type.WorkOrder }
}); // });
} else { // } else {
//general report selector chosen // //general report selector chosen
// let res = await m.vm.$refs.reportSelector.open(
// m.vm.$refs.gzdatatable.getDataListSelection(
// window.$gz.type.WorkOrder
// )
// );
// //if null for no selection
// //just bail out
// if (res == null) {
// return;
// }
// //persist last report selected
// window.$gz.form.setLastReport(FORM_KEY, res);
// //Now open the report viewer...
// m.vm.$router.push({
// name: "ay-report",
// params: { recordid: res.id, ayatype: window.$gz.type.WorkOrder }
// });
// }
// break;
case "report":
{
let res = await m.vm.$refs.reportSelector.open( let res = await m.vm.$refs.reportSelector.open(
m.vm.$refs.gzdatatable.getDataListSelection( m.vm.$refs.gzdatatable.getDataListSelection(
window.$gz.type.WorkOrder window.$gz.type.WorkOrder
) ),
m.id
); );
//if null for no selection
//just bail out
if (res == null) { if (res == null) {
return; return;
} }
//persist last report selected
window.$gz.form.setLastReport(FORM_KEY, res); window.$gz.form.setLastReport(FORM_KEY, res);
//Now open the report viewer...
m.vm.$router.push({
name: "ay-report",
params: { recordid: res.id, ayatype: window.$gz.type.WorkOrder }
});
} }
break; break;
case "WorkOrderItemList": case "WorkOrderItemList":