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;
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
if (vm.$route.params.recordid != 0) {
//is there already an obj from a prior operation?
if (vm.$route.params.obj) {
//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
}
// navigate backwards there's nothing here to see
vm.$router.go(-1);
} else {
//New record so there has to be a object type and objectId in route
// path: "/home-service-banks/:recordid/:objectType?/:objectId?",
@@ -211,7 +203,7 @@ export default {
name: null,
objectId: null,
objectType: null,
sourceId: null,
sourceId: 0, //default for manual entries
sourceType: window.$gz.type.ServiceBank,
incidents: 0,
currency: 0,
@@ -266,29 +258,8 @@ export default {
}
},
computed: {
selfAssigned: function() {
return this.obj.userId == this.obj.assignedByUserId;
},
iconForType() {
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: {
@@ -301,12 +272,7 @@ export default {
canSave: function() {
return this.formState.valid && this.formState.dirty;
},
canDuplicate: function() {
return this.formState.valid && !this.formState.dirty;
},
ayaTypes: function() {
return window.$gz.type;
},
form() {
return window.$gz.form;
},
@@ -319,49 +285,6 @@ export default {
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() {
let vm = this;
if (vm.canSave == false) {
@@ -418,165 +341,6 @@ export default {
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
@@ -596,9 +360,7 @@ async function clickHandler(menuItem) {
case "save":
m.vm.submit();
break;
case "delete":
m.vm.remove();
break;
case "new":
m.vm.$router.push({
name: "service-bank-edit",
@@ -611,9 +373,6 @@ async function clickHandler(menuItem) {
});
break;
case "duplicate":
m.vm.duplicate();
break;
case "report":
if (m.id != null) {
//last report selected is in m.id
@@ -645,17 +404,6 @@ async function clickHandler(menuItem) {
}
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:
window.$gz.eventBus.$emit(
"notify-warning",

View File

@@ -481,85 +481,6 @@ export default {
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
@@ -622,17 +543,6 @@ async function clickHandler(menuItem) {
}
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:
window.$gz.eventBus.$emit(
"notify-warning",

View File

@@ -576,85 +576,6 @@ export default {
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
@@ -723,17 +644,6 @@ async function clickHandler(menuItem) {
}
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:
window.$gz.eventBus.$emit(
"notify-warning",