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
CSR text to display to customer
CSR V8Migrate
GetLastReport is not implemented anywhere but is useful adn key
new testing cases
Schedule form

View File

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

View File

@@ -1875,35 +1875,52 @@ async function clickHandler(menuItem) {
m.vm.duplicateTo = "pm";
m.vm.duplicateDlg = true;
break;
case "report":
if (m.id != null) {
//last report selected is in m.id
m.vm.$router.push({
name: "ay-report",
params: { recordid: m.id, ayatype: window.$gz.type.WorkOrder }
});
} else {
//general report selector chosen
// case "report":
// if (m.id != null) {
// //last report selected is in m.id
// m.vm.$router.push({
// name: "ay-report",
// params: { recordid: m.id, ayatype: window.$gz.type.WorkOrder }
// });
// } else {
// //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,
selectedRowIds: [m.vm.obj.id]
});
//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 }
});
},
m.id
);
if (res == null) {
return;
}
window.$gz.form.setLastReport(FORM_KEY, res);
break;
case "statuslist":
m.vm.$router.push({

View File

@@ -169,35 +169,49 @@ async function clickHandler(menuItem) {
m.vm.reload = !m.vm.reload;
}
break;
case "report":
if (m.id != null) {
//last report selected is in m.id
m.vm.$router.push({
name: "ay-report",
params: { recordid: m.id, ayatype: window.$gz.type.WorkOrder }
});
} else {
//general report selector chosen
// case "report":
// if (m.id != null) {
// //last report selected is in m.id
// m.vm.$router.push({
// name: "ay-report",
// params: { recordid: m.id, ayatype: window.$gz.type.WorkOrder }
// });
// } else {
// //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(
m.vm.$refs.gzdatatable.getDataListSelection(
window.$gz.type.WorkOrder
)
),
m.id
);
//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 "WorkOrderItemList":