This commit is contained in:
2020-12-30 19:01:35 +00:00
parent 8d4c59e80e
commit 044bcb0a3f
3 changed files with 7 additions and 439 deletions

View File

@@ -122,20 +122,12 @@ export default {
vm.formState.readOnly = !vm.rights.change; vm.formState.readOnly = !vm.rights.change;
window.$gz.eventBus.$on("menu-click", clickHandler); window.$gz.eventBus.$on("menu-click", clickHandler);
//NOTE: THIS FORM IS CREATE ONLY NO OPEN OLD ONES SO...
//id 0 means create a new record don't load one //id 0 means create a new record don't load one
if (vm.$route.params.recordid != 0) { if (vm.$route.params.recordid != 0) {
//is there already an obj from a prior operation? // navigate backwards there's nothing here to see
if (vm.$route.params.obj) { vm.$router.go(-1);
//yes, no need to fetch it
vm.name = vm.$route.params.name;
vm.obj = vm.$route.params.obj;
window.$gz.form.setFormState({
vm: vm,
loading: false
});
} else {
await vm.getDataFromApi(vm.$route.params.recordid); //let getdata handle loading
}
} else { } else {
//New record so there has to be a object type and objectId in route //New record so there has to be a object type and objectId in route
// path: "/home-service-banks/:recordid/:objectType?/:objectId?", // path: "/home-service-banks/:recordid/:objectType?/:objectId?",
@@ -211,7 +203,7 @@ export default {
name: null, name: null,
objectId: null, objectId: null,
objectType: null, objectType: null,
sourceId: null, sourceId: 0, //default for manual entries
sourceType: window.$gz.type.ServiceBank, sourceType: window.$gz.type.ServiceBank,
incidents: 0, incidents: 0,
currency: 0, currency: 0,
@@ -266,29 +258,8 @@ export default {
} }
}, },
computed: { computed: {
selfAssigned: function() {
return this.obj.userId == this.obj.assignedByUserId;
},
iconForType() { iconForType() {
return window.$gz.util.iconForType(this.obj.objectType); return window.$gz.util.iconForType(this.obj.objectType);
},
hasSupervisorRole: function() {
//mirrored from ServiceBankBiz.cs validation rule at server
/*
CurrentUserRoles.HasFlag(AuthorizationRoles.BizAdminFull) ||
CurrentUserRoles.HasFlag(AuthorizationRoles.DispatchFull) ||
CurrentUserRoles.HasFlag(AuthorizationRoles.InventoryFull) ||
CurrentUserRoles.HasFlag(AuthorizationRoles.SalesFull) ||
CurrentUserRoles.HasFlag(AuthorizationRoles.AccountingFull);
*/
return window.$gz.role.hasRole([
window.$gz.role.AUTHORIZATION_ROLES.BizAdminFull,
window.$gz.role.AUTHORIZATION_ROLES.DispatchFull,
window.$gz.role.AUTHORIZATION_ROLES.InventoryFull,
window.$gz.role.AUTHORIZATION_ROLES.SalesFull,
window.$gz.role.AUTHORIZATION_ROLES.AccountingFull
]);
} }
}, },
methods: { methods: {
@@ -301,12 +272,7 @@ export default {
canSave: function() { canSave: function() {
return this.formState.valid && this.formState.dirty; return this.formState.valid && this.formState.dirty;
}, },
canDuplicate: function() {
return this.formState.valid && !this.formState.dirty;
},
ayaTypes: function() {
return window.$gz.type;
},
form() { form() {
return window.$gz.form; return window.$gz.form;
}, },
@@ -319,49 +285,6 @@ export default {
window.$gz.form.fieldValueChanged(this, ref); window.$gz.form.fieldValueChanged(this, ref);
} }
}, },
async getDataFromApi(recordId) {
let vm = this;
window.$gz.form.setFormState({
vm: vm,
loading: true
});
if (!recordId) {
throw new Error(FORM_KEY + "::getDataFromApi -> Missing recordID!");
}
let url = API_BASE_URL + recordId;
try {
window.$gz.form.deleteAllErrorBoxErrors(vm);
let res = await window.$gz.api.get(url);
if (res.error) {
//Not found?
if (res.error.code == "2010") {
window.$gz.form.handleObjectNotFound(vm);
}
vm.formState.serverError = res.error;
window.$gz.form.setErrorBoxErrors(vm);
} else {
vm.obj = res.data;
//modify the menu as necessary
generateMenu(vm);
//Update the form status
window.$gz.form.setFormState({
vm: vm,
dirty: false,
valid: true,
loading: false
});
}
} catch (error) {
window.$gz.errorHandler.handleFormError(error, vm);
} finally {
window.$gz.form.setFormState({
vm: vm,
loading: false
});
}
},
async submit() { async submit() {
let vm = this; let vm = this;
if (vm.canSave == false) { if (vm.canSave == false) {
@@ -418,165 +341,6 @@ export default {
loading: false loading: false
}); });
} }
},
async remove() {
let vm = this;
try {
let dialogResult = await window.$gz.dialog.confirmDelete();
if (dialogResult != true) {
return;
}
//do the delete
window.$gz.form.setFormState({
vm: vm,
loading: true
});
//No need to delete a new record, just abandon it...
if (vm.$route.params.recordid == 0) {
//this should not get offered for delete but to be safe and clear just in case:
JUST_DELETED = true;
// navigate backwards
vm.$router.go(-1);
} else {
let url = API_BASE_URL + vm.$route.params.recordid;
window.$gz.form.deleteAllErrorBoxErrors(vm);
let res = await window.$gz.api.remove(url);
if (res.error) {
vm.formState.serverError = res.error;
window.$gz.form.setErrorBoxErrors(vm);
} else {
//workaround to prevent warning about leaving dirty record
//For some reason I couldn't just reset isdirty in formstate
JUST_DELETED = true;
// navigate backwards
vm.$router.go(-1);
}
}
} catch (error) {
//Update the form status
window.$gz.form.setFormState({
vm: vm,
loading: false
});
window.$gz.errorHandler.handleFormError(error, vm);
}
},
async duplicate() {
let vm = this;
if (!vm.canDuplicate || vm.$route.params.recordid == 0) {
return;
}
window.$gz.form.setFormState({
vm: vm,
loading: true
});
let url = API_BASE_URL + "duplicate/" + vm.$route.params.recordid;
try {
window.$gz.form.deleteAllErrorBoxErrors(vm);
let res = await window.$gz.api.upsert(url);
if (res.error) {
vm.formState.serverError = res.error;
window.$gz.form.setErrorBoxErrors(vm);
} else {
//Navigate to new record
this.$router.push({
name: "service-bank-edit",
params: {
recordid: res.data.id,
obj: res.data // Pass data object to new form
}
});
}
} catch (ex) {
window.$gz.errorHandler.handleFormError(ex, vm);
} finally {
window.$gz.form.setFormState({
vm: vm,
loading: false
});
}
},
AddressCopyToPostal() {
let vm = this;
vm.obj.postAddress = vm.obj.address;
vm.obj.postCity = vm.obj.city;
vm.obj.postRegion = vm.obj.region;
vm.obj.postCountry = vm.obj.country;
},
AddressCopyToPhysical() {
let vm = this;
vm.obj.address = vm.obj.postAddress;
vm.obj.city = vm.obj.postCity;
vm.obj.region = vm.obj.postRegion;
vm.obj.country = vm.obj.postCountry;
},
AddressCopyPhysicalToClipBoard() {
let vm = this;
let ret = "";
if (vm.obj.name) {
ret += vm.obj.name + "\n";
}
if (vm.obj.address) {
ret += vm.obj.address + "\n";
}
if (vm.obj.city) {
ret += vm.obj.city + " ";
}
if (vm.obj.region) {
ret += vm.obj.region + " ";
}
if (vm.obj.country) {
ret += vm.obj.country + "\n";
}
window.$gz.util.copyToClipboard(ret);
},
AddressCopyPostalToClipBoard() {
let vm = this;
let ret = "";
if (vm.obj.name) {
ret += vm.obj.name + "\n";
}
if (vm.obj.postAddress) {
ret += vm.obj.postAddress + "\n";
}
if (vm.obj.postCity) {
ret += vm.obj.postCity + " ";
}
if (vm.obj.postRegion) {
ret += vm.obj.postRegion + " ";
}
if (vm.obj.postCode) {
//Postal codes should have two spaces before them according to regs.
ret += " " + vm.obj.postCode + "\n";
}
if (vm.obj.postCountry) {
ret += vm.obj.postCountry + "\n";
}
window.$gz.util.copyToClipboard(ret);
},
async GeoCapture() {
let vm = this;
try {
window.$gz.form.deleteAllErrorBoxErrors(vm);
let loc = await window.$gz.util.getGeoLocation();
vm.obj.latitude = loc.latitude;
vm.fieldValueChanged("latitude");
vm.obj.longitude = loc.longitude;
vm.fieldValueChanged("longitude");
} catch (ex) {
window.$gz.errorHandler.handleFormError(ex, vm);
}
} }
//end methods //end methods
@@ -596,9 +360,7 @@ async function clickHandler(menuItem) {
case "save": case "save":
m.vm.submit(); m.vm.submit();
break; break;
case "delete":
m.vm.remove();
break;
case "new": case "new":
m.vm.$router.push({ m.vm.$router.push({
name: "service-bank-edit", name: "service-bank-edit",
@@ -611,9 +373,6 @@ async function clickHandler(menuItem) {
}); });
break; break;
case "duplicate":
m.vm.duplicate();
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
@@ -645,17 +404,6 @@ async function clickHandler(menuItem) {
} }
break; break;
case "geoview":
window.$gz.util.viewGeoLocation({
latitude: m.vm.obj.latitude,
longitude: m.vm.obj.longitude,
address: m.vm.obj.address || m.vm.obj.postAddress,
city: m.vm.obj.city || m.vm.obj.postCity,
region: m.vm.obj.region || m.vm.obj.postRegion,
country: m.vm.obj.country || m.vm.obj.postCountry,
postCode: m.vm.obj.postCode
});
break;
default: default:
window.$gz.eventBus.$emit( window.$gz.eventBus.$emit(
"notify-warning", "notify-warning",

View File

@@ -481,85 +481,6 @@ export default {
loading: false loading: false
}); });
} }
},
AddressCopyToPostal() {
let vm = this;
vm.obj.postAddress = vm.obj.address;
vm.obj.postCity = vm.obj.city;
vm.obj.postRegion = vm.obj.region;
vm.obj.postCountry = vm.obj.country;
},
AddressCopyToPhysical() {
let vm = this;
vm.obj.address = vm.obj.postAddress;
vm.obj.city = vm.obj.postCity;
vm.obj.region = vm.obj.postRegion;
vm.obj.country = vm.obj.postCountry;
},
AddressCopyPhysicalToClipBoard() {
let vm = this;
let ret = "";
if (vm.obj.name) {
ret += vm.obj.name + "\n";
}
if (vm.obj.address) {
ret += vm.obj.address + "\n";
}
if (vm.obj.city) {
ret += vm.obj.city + " ";
}
if (vm.obj.region) {
ret += vm.obj.region + " ";
}
if (vm.obj.country) {
ret += vm.obj.country + "\n";
}
window.$gz.util.copyToClipboard(ret);
},
AddressCopyPostalToClipBoard() {
let vm = this;
let ret = "";
if (vm.obj.name) {
ret += vm.obj.name + "\n";
}
if (vm.obj.postAddress) {
ret += vm.obj.postAddress + "\n";
}
if (vm.obj.postCity) {
ret += vm.obj.postCity + " ";
}
if (vm.obj.postRegion) {
ret += vm.obj.postRegion + " ";
}
if (vm.obj.postCode) {
//Postal codes should have two spaces before them according to regs.
ret += " " + vm.obj.postCode + "\n";
}
if (vm.obj.postCountry) {
ret += vm.obj.postCountry + "\n";
}
window.$gz.util.copyToClipboard(ret);
},
async GeoCapture() {
let vm = this;
try {
window.$gz.form.deleteAllErrorBoxErrors(vm);
let loc = await window.$gz.util.getGeoLocation();
vm.obj.latitude = loc.latitude;
vm.fieldValueChanged("latitude");
vm.obj.longitude = loc.longitude;
vm.fieldValueChanged("longitude");
} catch (ex) {
window.$gz.errorHandler.handleFormError(ex, vm);
}
} }
//end methods //end methods
@@ -622,17 +543,6 @@ async function clickHandler(menuItem) {
} }
break; break;
case "geoview":
window.$gz.util.viewGeoLocation({
latitude: m.vm.obj.latitude,
longitude: m.vm.obj.longitude,
address: m.vm.obj.address || m.vm.obj.postAddress,
city: m.vm.obj.city || m.vm.obj.postCity,
region: m.vm.obj.region || m.vm.obj.postRegion,
country: m.vm.obj.country || m.vm.obj.postCountry,
postCode: m.vm.obj.postCode
});
break;
default: default:
window.$gz.eventBus.$emit( window.$gz.eventBus.$emit(
"notify-warning", "notify-warning",

View File

@@ -576,85 +576,6 @@ export default {
loading: false loading: false
}); });
} }
},
AddressCopyToPostal() {
let vm = this;
vm.obj.postAddress = vm.obj.address;
vm.obj.postCity = vm.obj.city;
vm.obj.postRegion = vm.obj.region;
vm.obj.postCountry = vm.obj.country;
},
AddressCopyToPhysical() {
let vm = this;
vm.obj.address = vm.obj.postAddress;
vm.obj.city = vm.obj.postCity;
vm.obj.region = vm.obj.postRegion;
vm.obj.country = vm.obj.postCountry;
},
AddressCopyPhysicalToClipBoard() {
let vm = this;
let ret = "";
if (vm.obj.name) {
ret += vm.obj.name + "\n";
}
if (vm.obj.address) {
ret += vm.obj.address + "\n";
}
if (vm.obj.city) {
ret += vm.obj.city + " ";
}
if (vm.obj.region) {
ret += vm.obj.region + " ";
}
if (vm.obj.country) {
ret += vm.obj.country + "\n";
}
window.$gz.util.copyToClipboard(ret);
},
AddressCopyPostalToClipBoard() {
let vm = this;
let ret = "";
if (vm.obj.name) {
ret += vm.obj.name + "\n";
}
if (vm.obj.postAddress) {
ret += vm.obj.postAddress + "\n";
}
if (vm.obj.postCity) {
ret += vm.obj.postCity + " ";
}
if (vm.obj.postRegion) {
ret += vm.obj.postRegion + " ";
}
if (vm.obj.postCode) {
//Postal codes should have two spaces before them according to regs.
ret += " " + vm.obj.postCode + "\n";
}
if (vm.obj.postCountry) {
ret += vm.obj.postCountry + "\n";
}
window.$gz.util.copyToClipboard(ret);
},
async GeoCapture() {
let vm = this;
try {
window.$gz.form.deleteAllErrorBoxErrors(vm);
let loc = await window.$gz.util.getGeoLocation();
vm.obj.latitude = loc.latitude;
vm.fieldValueChanged("latitude");
vm.obj.longitude = loc.longitude;
vm.fieldValueChanged("longitude");
} catch (ex) {
window.$gz.errorHandler.handleFormError(ex, vm);
}
} }
//end methods //end methods
@@ -723,17 +644,6 @@ async function clickHandler(menuItem) {
} }
break; break;
case "geoview":
window.$gz.util.viewGeoLocation({
latitude: m.vm.obj.latitude,
longitude: m.vm.obj.longitude,
address: m.vm.obj.address || m.vm.obj.postAddress,
city: m.vm.obj.city || m.vm.obj.postCity,
region: m.vm.obj.region || m.vm.obj.postRegion,
country: m.vm.obj.country || m.vm.obj.postCountry,
postCode: m.vm.obj.postCode
});
break;
default: default:
window.$gz.eventBus.$emit( window.$gz.eventBus.$emit(
"notify-warning", "notify-warning",