178 lines
5.2 KiB
Vue
Raw Normal View History

2021-05-20 15:18:43 +03:00
<template>
<div>
2021-05-25 19:52:39 +03:00
<h1 class="text-white">
{{ translations.company.title }}
</h1>
2021-05-20 15:18:43 +03:00
<div class="card">
<div class="card-header wizard-header p-3">
<el-steps :active="active" finish-status="success" align-center>
2021-05-25 19:52:39 +03:00
<el-step :title="translations.company.title"></el-step>
2021-05-20 15:18:43 +03:00
<el-step :title="translations.currencies.title"></el-step>
<el-step :title="translations.taxes.title"></el-step>
<el-step :title="translations.finish.title"></el-step>
</el-steps>
</div>
2021-05-25 19:52:39 +03:00
<form ref="form" class="w-100">
2021-05-20 15:18:43 +03:00
<div class="card-body">
<div class="row mb-4">
<div class="col-12 mb-4">
<base-input
2021-05-25 19:52:39 +03:00
:label="translations.company.api_key"
2021-05-20 15:18:43 +03:00
name="api_key"
data-name="api_key"
2021-05-25 19:52:39 +03:00
:placeholder="translations.company.api_key"
2021-05-20 15:18:43 +03:00
prepend-icon="fas fa-key"
2021-05-25 19:52:39 +03:00
v-model="company.api_key"
2021-05-20 15:18:43 +03:00
/>
<p class="mb-0 mt--3">
<small>
2021-05-25 19:52:39 +03:00
<div v-html="translations.company.get_api_key"></div>
2021-05-20 15:18:43 +03:00
</small>
</p>
</div>
<div class="col-6 mb-4">
<base-input
type="text"
2021-05-25 19:52:39 +03:00
:label="translations.company.tax_number"
2021-05-20 15:18:43 +03:00
name="tax_number"
data-name="tax_number"
2021-05-25 19:52:39 +03:00
:placeholder="translations.company.tax_number"
2021-05-20 15:18:43 +03:00
prepend-icon="fas fa-percent"
2021-05-25 19:52:39 +03:00
v-model="company.tax_number"
2021-05-20 15:18:43 +03:00
/>
</div>
<div class="col-6 mb-4">
<akaunting-date
2021-05-25 19:52:39 +03:00
:title="translations.company.financial_start"
data-name="financial_start"
:placeholder="translations.company.financial_start"
2021-05-20 15:18:43 +03:00
prepend-icon="fas fa-calendar"
:date-config="{
dateFormat: 'd-m',
allowInput: true,
altInput: true,
altFormat: 'j F',
}"
2021-05-25 22:19:49 +03:00
v-model="real_date"
2021-05-20 15:18:43 +03:00
></akaunting-date>
</div>
<div class="col-12 mb-4">
2021-05-25 19:52:39 +03:00
<base-input :label="translations.company.address">
2021-05-20 15:18:43 +03:00
<textarea
class="form-control"
name="address"
data-name="address"
rows="3"
2021-05-25 19:52:39 +03:00
:placeholder="translations.company.address"
v-model="company.address"
2021-05-20 15:18:43 +03:00
></textarea>
</base-input>
</div>
2021-05-26 18:45:39 +03:00
<div class="col-3">
<label class="form-control-label">{{ translations.company.logo }}</label>
2021-05-26 18:31:17 +03:00
<akaunting-dropzone-file-upload
ref="dropzoneWizard"
preview-classes="single"
:attachments="logo"
>
</akaunting-dropzone-file-upload>
2021-05-20 15:18:43 +03:00
</div>
</div>
</div>
<div class="card-footer">
<div class="row">
<div class="col-md-12 text-right">
2021-05-25 19:52:39 +03:00
<base-button
type="success"
native-type="button"
@click="onEditSave()"
>{{ translations.company.save }}</base-button
>
2021-05-20 15:18:43 +03:00
<base-button type="white" native-type="submit" @click="next()">{{
2021-05-25 19:52:39 +03:00
translations.company.skip
2021-05-20 15:18:43 +03:00
}}</base-button>
</div>
</div>
</div>
</form>
</div>
</div>
</template>
<script>
import { Step, Steps } from "element-ui";
import AkauntingDropzoneFileUpload from "./../../components/AkauntingDropzoneFileUpload";
import AkauntingDate from "./../../components/AkauntingDate";
import MixinsSpaGlobal from "./../../mixins/spa-global";
export default {
name: "Company",
mixins: [MixinsSpaGlobal],
components: {
[Step.name]: Step,
[Steps.name]: Steps,
AkauntingDropzoneFileUpload,
AkauntingDate,
},
props: {
2021-05-25 19:52:39 +03:00
company: {
2021-05-20 15:18:43 +03:00
type: [Object, Array],
},
translations: {
type: [Object, Array],
},
},
data() {
return {
active: 0,
2021-05-25 19:52:39 +03:00
logo: [],
2021-05-26 18:31:17 +03:00
real_date: "",
};
2021-05-25 19:52:39 +03:00
},
mounted() {
2021-05-26 18:31:17 +03:00
let company_data = this.company;
2021-05-25 19:52:39 +03:00
setTimeout(() => {
2021-05-26 18:31:17 +03:00
this.dataWatch(company_data);
2021-05-25 19:52:39 +03:00
}, 500);
},
watch: {
company: function (company) {
2021-05-26 18:31:17 +03:00
this.dataWatch(company);
},
},
methods: {
dataWatch(company) {
if(Object.keys(company).length) {
let logo_arr = [
{
id: company.logo.id,
name: company.logo.filename + "." + company.logo.extension,
path: company.logo.path,
type: company.logo.mime_type,
size: company.logo.size,
downloadPath: false,
},
2021-05-25 19:52:39 +03:00
];
this.logo.push(logo_arr);
this.real_date = company.financial_start;
2021-05-26 18:31:17 +03:00
}
2021-05-25 19:52:39 +03:00
},
2021-05-20 15:18:43 +03:00
next() {
if (this.active++ > 2);
this.$router.push("/wizard/currencies");
},
2021-05-25 19:52:39 +03:00
2021-05-20 15:18:43 +03:00
onEditSave() {
2021-05-26 18:31:17 +03:00
this.onEditEvent("PATCH", url + "/wizard/companies", "logo", "", "");
2021-05-21 18:31:17 +03:00
this.$router.push("/wizard/currencies");
2021-05-25 19:52:39 +03:00
},
2021-05-20 15:18:43 +03:00
},
};
</script>
<style scoped>
form {
flex-flow: row wrap;
}
</style>