This commit is contained in:
2022-03-27 17:53:19 +00:00
parent 3c98744f21
commit 40ef71fa02

View File

@@ -1,4 +1,6 @@
<template> <template>
<div v-if="formState.ready">
<gz-error :error-box-message="formState.errorBoxMessage"></gz-error>
<div> <div>
<v-row> <v-row>
<v-col cols="12" sm="6" lg="4" xl="3"> <v-col cols="12" sm="6" lg="4" xl="3">
@@ -12,25 +14,7 @@
data-cy="ayaType" data-cy="ayaType"
></v-select> ></v-select>
</v-col> </v-col>
<v-col cols="12" sm="6" lg="4" xl="3"> <v-col v-if="ayaType != 0" cols="12" sm="6" lg="4" xl="3">
<v-checkbox
v-model="doImport"
:label="$ay.t('ImportNewRecords')"
></v-checkbox>
<v-checkbox
v-model="doUpdate"
:label="$ay.t('UpdateExistingRecords')"
color="warning"
></v-checkbox>
</v-col>
<!-- <v-col cols="12" sm="6" lg="4" xl="3">
<v-checkbox
v-model="doUpdate"
:label="$ay.t('UpdateExisting')"
></v-checkbox>
</v-col> -->
<v-col cols="12" sm="6" lg="4" xl="3">
<v-file-input <v-file-input
v-model="uploadFile" v-model="uploadFile"
:label="$ay.t('Import')" :label="$ay.t('Import')"
@@ -47,6 +31,17 @@
>{{ $ay.t("Import") }}</v-btn >{{ $ay.t("Import") }}</v-btn
> >
</v-col> </v-col>
<v-col v-if="ayaType != 0" cols="12" sm="6" lg="4" xl="3">
<v-checkbox
v-model="doImport"
:label="$ay.t('ImportNewRecords')"
></v-checkbox>
<v-checkbox
v-model="doUpdate"
:label="$ay.t('UpdateExistingRecords')"
color="warning"
></v-checkbox>
</v-col>
<v-col v-if="outputText != null" cols="12"> <v-col v-if="outputText != null" cols="12">
<v-textarea <v-textarea
@@ -59,6 +54,7 @@
</v-col> </v-col>
</v-row> </v-row>
</div> </div>
</div>
</template> </template>
<script> <script>
import Papa from "papaparse"; import Papa from "papaparse";
@@ -75,7 +71,17 @@ export default {
doUpdate: false, doUpdate: false,
outputText: null, outputText: null,
rights: window.$gz.role.defaultRightsObject(), rights: window.$gz.role.defaultRightsObject(),
uploading: false uploading: false,
formState: {
ready: false,
dirty: false,
valid: true,
readOnly: false,
loading: true,
errorBoxMessage: null,
appError: null,
serverError: {}
}
}; };
}, },
computed: { computed: {
@@ -95,15 +101,20 @@ export default {
await fetchTranslatedText(this); await fetchTranslatedText(this);
await populateSelectionLists(this); await populateSelectionLists(this);
generateMenu(this); generateMenu(this);
this.formState.ready = true;
}, },
beforeDestroy() { beforeDestroy() {
window.$gz.eventBus.$off("menu-click", clickHandler); window.$gz.eventBus.$off("menu-click", clickHandler);
}, },
methods: { methods: {
async process() { async process() {
if (this.uploading) {
return;
}
if (!this.uploadFile) { if (!this.uploadFile) {
return; return;
} }
this.uploading = true;
this.outputText = null; this.outputText = null;
try { try {
let fileType = this.uploadFile.type.toLowerCase(); let fileType = this.uploadFile.type.toLowerCase();
@@ -150,12 +161,12 @@ export default {
await this.upload(dat); await this.upload(dat);
} catch (error) { } catch (error) {
window.$gz.errorHandler.handleFormError(error); window.$gz.errorHandler.handleFormError(error);
} finally {
this.uploading = false;
} }
}, },
async upload(dat) { async upload(dat) {
try { try {
this.uploading = true;
if (this.doUpdate == true) { if (this.doUpdate == true) {
let dialogResult = await window.$gz.dialog.confirmGeneric( let dialogResult = await window.$gz.dialog.confirmGeneric(
"AdminImportUpdateWarning", "AdminImportUpdateWarning",
@@ -186,8 +197,6 @@ export default {
} }
} catch (error) { } catch (error) {
window.$gz.errorHandler.handleFormError(error); window.$gz.errorHandler.handleFormError(error);
} finally {
this.uploading = false;
} }
}, },
handleSelected() {} handleSelected() {}