This commit is contained in:
@@ -1264,6 +1264,41 @@ MID CENTURY MODERN TUNES - https://www.allmusic.com/album/ultra-lounge-vol-14-bo
|
|||||||
|
|
||||||
BUILD CHANGES OF NOTE
|
BUILD CHANGES OF NOTE
|
||||||
|
|
||||||
|
build 110
|
||||||
|
|
||||||
|
- test data seeder various changes
|
||||||
|
generate fewer items for speed
|
||||||
|
changes to allow testing inventory properly and part requests etc
|
||||||
|
|
||||||
|
- workorder cleanup and layout changes
|
||||||
|
now showing table for each item even if single row so that all viz and other calculated fields are always available to view
|
||||||
|
data transfer efficiency changes to cut down on amount of data sent both ways over the network
|
||||||
|
strip out Viz fields on submit to server from client
|
||||||
|
strip out IsDirty fields on send from server to client
|
||||||
|
|
||||||
|
- Service loaner form added cost fields to bring in line with other billable items on workorder
|
||||||
|
|
||||||
|
- Workorder inventory implemented
|
||||||
|
including part requests trigger and system in workorder and backend
|
||||||
|
|
||||||
|
- workorder based notifications implemented
|
||||||
|
WorkorderCompletedStatusOverdue
|
||||||
|
CustomerServiceImminent (customer user feature)
|
||||||
|
WorkorderStatusChange
|
||||||
|
WorkorderStatusAge
|
||||||
|
OutsideServiceOverdue
|
||||||
|
OutsideServiceReceived
|
||||||
|
ScheduledOnWorkorder
|
||||||
|
ScheduledOnWorkorderImminent
|
||||||
|
WorkorderCompletedStatusOverdue
|
||||||
|
|
||||||
|
- Removed all visible references to Service Bank feature from all forms and front and back end
|
||||||
|
|
||||||
|
- Docs
|
||||||
|
added section on changes from v7 help doc for work orders
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
build 105
|
build 105
|
||||||
- direct report url now works again properly. Used by notification to send links to reports and possible future other links to provide an url that opens in the AyaNova client directly to viewing a report, so that the url [clienturl]/viewreport?oid=1&rid=1 for example will open report id 1 with object id 1
|
- direct report url now works again properly. Used by notification to send links to reports and possible future other links to provide an url that opens in the AyaNova client directly to viewing a report, so that the url [clienturl]/viewreport?oid=1&rid=1 for example will open report id 1 with object id 1
|
||||||
- Can now hide columns that are filtered or sorted without error in data tables; Data Table column selector button will change to larger and accented when this is the case and the column selector form will highlight these hidden columns that affect the view with raised elevation, accent color and filter/sort icon (both show, there is no distinction which type of way it's affecting)
|
- Can now hide columns that are filtered or sorted without error in data tables; Data Table column selector button will change to larger and accented when this is the case and the column selector form will highlight these hidden columns that affect the view with raised elevation, accent color and filter/sort icon (both show, there is no distinction which type of way it's affecting)
|
||||||
|
|||||||
@@ -19,16 +19,85 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (tid.type && tid.id != null) {
|
if (tid.type && tid.id != null) {
|
||||||
|
let isCustomerTypeUser =
|
||||||
|
window.$gz.store.state.userType == 3 ||
|
||||||
|
window.$gz.store.state.userType == 4;
|
||||||
//if these come from route parameters they may well be strings
|
//if these come from route parameters they may well be strings
|
||||||
tid.type = Number.parseInt(tid.type, 10);
|
tid.type = Number.parseInt(tid.type, 10);
|
||||||
tid.id = Number.parseInt(tid.id, 10);
|
tid.id = Number.parseInt(tid.id, 10);
|
||||||
|
if (isCustomerTypeUser) {
|
||||||
switch (tid.type) {
|
switch (tid.type) {
|
||||||
case ayatype.WorkOrder:
|
case ayatype.WorkOrder:
|
||||||
vm.$router.push({
|
vm.$router.push({
|
||||||
name: "workorder-edit",
|
name: "customer-workorder-edit",
|
||||||
params: { recordid: tid.id }
|
params: { recordid: tid.id }
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case ayatype.NotifySubscription:
|
||||||
|
vm.$router.push({
|
||||||
|
name: "home-notify-subscription",
|
||||||
|
params: { recordid: tid.id }
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case ayatype.CustomerServiceRequest:
|
||||||
|
vm.$router.push({
|
||||||
|
name: "customer-csr-edit",
|
||||||
|
params: { recordid: tid.id }
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
window.$gz.eventBus.$emit(
|
||||||
|
"notify-warning",
|
||||||
|
`Customer user: open-object-handler unable to open link - [type:${tid.type}, id:${tid.id}]`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
switch (tid.type) {
|
||||||
|
case ayatype.WorkOrderItem:
|
||||||
|
case ayatype.WorkOrderItemExpense:
|
||||||
|
case ayatype.WorkOrderItemLabor:
|
||||||
|
case ayatype.WorkOrderItemLoan:
|
||||||
|
case ayatype.WorkOrderItemOutsideService:
|
||||||
|
case ayatype.WorkOrderItemPart:
|
||||||
|
case ayatype.WorkOrderItemPartRequest:
|
||||||
|
case ayatype.WorkOrderItemScheduledUser:
|
||||||
|
case ayatype.WorkOrderItemTask:
|
||||||
|
case ayatype.WorkOrderItemTravel:
|
||||||
|
case ayatype.WorkOrderItemUnit:
|
||||||
|
(async () => {
|
||||||
|
try {
|
||||||
|
let res = await window.$gz.api.get(
|
||||||
|
`search/ancestor/${tid.type}/${tid.id}`
|
||||||
|
);
|
||||||
|
|
||||||
|
if (res.error) {
|
||||||
|
throw new Error(
|
||||||
|
window.$gz.errorHandler.errorToString(res, vm)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (res.data.id && res.data.id != 0) {
|
||||||
|
this.handleOpenObjectClick(vm, {
|
||||||
|
type: ayatype.WorkOrder,
|
||||||
|
id: res.data.id,
|
||||||
|
gotype: tid.type,
|
||||||
|
goid: tid.id
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
//throw new Error(e);
|
||||||
|
throw new Error(window.$gz.errorHandler.errorToString(e, vm));
|
||||||
|
}
|
||||||
|
})();
|
||||||
|
|
||||||
|
break;
|
||||||
|
case ayatype.WorkOrder:
|
||||||
|
vm.$router.push({
|
||||||
|
name: "workorder-edit",
|
||||||
|
params: { recordid: tid.id, gotype: tid.gotype, goid: tid.goid }
|
||||||
|
});
|
||||||
|
break;
|
||||||
case ayatype.Memo:
|
case ayatype.Memo:
|
||||||
vm.$router.push({
|
vm.$router.push({
|
||||||
name: "memo-edit",
|
name: "memo-edit",
|
||||||
@@ -121,10 +190,14 @@ export default {
|
|||||||
|
|
||||||
(async () => {
|
(async () => {
|
||||||
try {
|
try {
|
||||||
let res = await window.$gz.api.get("attachment/parent/" + tid.id);
|
let res = await window.$gz.api.get(
|
||||||
|
"attachment/parent/" + tid.id
|
||||||
|
);
|
||||||
|
|
||||||
if (res.error) {
|
if (res.error) {
|
||||||
throw new Error(window.$gz.errorHandler.errorToString(res, vm));
|
throw new Error(
|
||||||
|
window.$gz.errorHandler.errorToString(res, vm)
|
||||||
|
);
|
||||||
// throw new Error(res.error);
|
// throw new Error(res.error);
|
||||||
}
|
}
|
||||||
if (res.data.id && res.data.id != 0) {
|
if (res.data.id && res.data.id != 0) {
|
||||||
@@ -173,7 +246,9 @@ export default {
|
|||||||
|
|
||||||
if (res.error) {
|
if (res.error) {
|
||||||
//throw new Error(res.error);
|
//throw new Error(res.error);
|
||||||
throw new Error(window.$gz.errorHandler.errorToString(res, vm));
|
throw new Error(
|
||||||
|
window.$gz.errorHandler.errorToString(res, vm)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
if (res && res.data) {
|
if (res && res.data) {
|
||||||
vm.$router.push({
|
vm.$router.push({
|
||||||
@@ -326,6 +401,7 @@ export default {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
///////////////////////////////////
|
///////////////////////////////////
|
||||||
|
|||||||
Reference in New Issue
Block a user