From 0eea7f069bedbb31f589f7b892255ffe61f79299 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Thu, 19 Aug 2021 23:14:46 +0000 Subject: [PATCH] --- ayanova/src/views/svc-meter-reading.vue | 138 ++++++++---------------- ayanova/src/views/svc-unit.vue | 2 +- 2 files changed, 47 insertions(+), 93 deletions(-) diff --git a/ayanova/src/views/svc-meter-reading.vue b/ayanova/src/views/svc-meter-reading.vue index fbda00d0..4b319b33 100644 --- a/ayanova/src/views/svc-meter-reading.vue +++ b/ayanova/src/views/svc-meter-reading.vue @@ -16,18 +16,23 @@ :label="$ay.t('Unit')" > - - + + :clearable="!formState.readOnly" + @click:clear="fieldValueChanged('meter')" + :label="$ay.t('UnitMeterReadingMeter')" + ref="meter" + data-cy="meter" + :rules="[form().integerValid(this, 'meter')]" + :error-messages="form().serverErrors(this, 'meter')" + @input="fieldValueChanged('meter')" + type="number" + > - + + + + + @@ -54,8 +70,8 @@ // //////////////////////////////////////////////////////////////////////////////////////////////////////////// // -const FORM_KEY = "customer-note-edit"; -const API_BASE_URL = "customer-note/"; +const FORM_KEY = "meter-reading"; +const API_BASE_URL = "unit/meter-reading/"; export default { async created() { @@ -64,7 +80,7 @@ export default { try { await initForm(vm); - vm.rights = window.$gz.role.getRights(window.$gz.type.UnitMeterReading); + vm.rights = window.$gz.role.getRights(window.$gz.type.Unit); vm.formState.readOnly = !vm.rights.change; window.$gz.eventBus.$on("menu-click", clickHandler); //id 0 means create or duplicate to new @@ -79,15 +95,9 @@ export default { }); } else { await vm.getDataFromApi(vm.$route.params.recordid); //let getdata handle loading - if (!vm.customername) { - await fetchCustomerName(vm).catch(err => { - window.$gz.errorHandler.handleFormError(err, vm); - }); - } } } else { - vm.obj.customerId = this.$route.params.customerid; - vm.obj.userId = vm.$store.state.userId; + vm.obj.unitId = this.$route.params.unitid; window.$gz.form.setFormState({ vm: vm, loading: false @@ -122,10 +132,6 @@ export default { }, data() { return { - selectLists: { - usertypes: [] - }, - customername: undefined, /* public string Description { get; set; } @@ -240,7 +246,8 @@ export default { vm: vm, dirty: false, valid: true, - loading: false + loading: false, + readOnly: true //always read only if fetched as this is a write only object }); } } catch (error) { @@ -281,10 +288,10 @@ export default { //NOTE: will not cause a page re-render, almost nothing does unless forced with a KEY property or using router.GO() this.$router.replace({ - name: "customer-note-edit", + name: "meter-reading", params: { recordid: res.data.id, - customerid: res.data.customerId, + unitid: res.data.unitId, obj: res.data // Pass data object to new form } }); @@ -308,50 +315,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); - } } } }; @@ -369,13 +332,11 @@ async function clickHandler(menuItem) { case "save": m.vm.submit(); break; - case "delete": - m.vm.remove(); - break; + case "new": m.vm.$router.push({ - name: "customer-note-edit", - params: { recordid: 0 } + name: "meter-reading", + params: { recordid: 0, unitid: m.vm.obj.unitId } }); break; @@ -431,9 +392,9 @@ function generateMenu(vm) { let menuOptions = { isMain: false, readOnly: vm.formState.readOnly, - icon: "$ayiClipboard", - title: "UnitMeterReadingNotes", - helpUrl: "customer-notes", + icon: "$ayiWeight", + title: "UnitMeterReading", + helpUrl: "svc-meter-readings", formData: { ayaType: window.$gz.type.UnitMeterReading, recordId: vm.$route.params.recordid @@ -451,16 +412,6 @@ function generateMenu(vm) { }); } - if (vm.rights.delete && vm.$route.params.recordid != 0) { - menuOptions.menuItems.push({ - title: "Delete", - icon: "$ayiTrashAlt", - surface: false, - key: FORM_KEY + ":delete", - vm: vm - }); - } - //REPORTS //Report not Print, print is a further option menuOptions.menuItems.push({ @@ -510,8 +461,11 @@ async function initForm(vm) { // async function fetchTranslatedText(vm) { await window.$gz.translation.cacheTranslations([ - "UnitMeterReadingNotes", - "UnitMeterReadingNoteDate" + "UnitMeterReading", + "UnitMeterReadingDescription", + "UnitMeterReadingMeter", + "UnitMeterReadingMeterDate", + "UnitMeterReadingWorkOrderItemID" ]); } @@ -524,7 +478,7 @@ async function fetchCustomerName(vm) { //or record history etc let res = await window.$gz.api.get( - `name/${window.$gz.type.Customer}/${vm.obj.customerId}` + `name/${window.$gz.type.Customer}/${vm.obj.unitId}` ); //We never expect there to be no data here diff --git a/ayanova/src/views/svc-unit.vue b/ayanova/src/views/svc-unit.vue index 05862136..d585ae85 100644 --- a/ayanova/src/views/svc-unit.vue +++ b/ayanova/src/views/svc-unit.vue @@ -982,7 +982,7 @@ export default { if (this.canOpenMeter()) { this.$router.push({ name: "meter-readings", - params: { unitid: this.obj.id, unitname: this.obj.serial } + params: { unitid: this.obj.id } }); // this.$router.push({