This commit is contained in:
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user