Вынес моки в компонент
This commit is contained in:
parent
1fec9d9408
commit
b6e5d9199c
4
popup/src/components/mocks/main.vue
Normal file
4
popup/src/components/mocks/main.vue
Normal file
@ -0,0 +1,4 @@
|
||||
<template src="./template.html"></template>
|
||||
<script lang="ts" src="./script.ts"></script>
|
||||
<!-- Add "scoped" attribute to limit CSS to this component only -->
|
||||
<style scoped lang="scss" src="./style.scss"></style>
|
17
popup/src/components/mocks/script.ts
Normal file
17
popup/src/components/mocks/script.ts
Normal file
@ -0,0 +1,17 @@
|
||||
import { Component, Prop, Vue } from 'vue-property-decorator'
|
||||
import VueClipboard from 'vue-clipboard2'
|
||||
import { Registers } from '@/classes/DTO/Registers'
|
||||
|
||||
Vue.use(VueClipboard)
|
||||
|
||||
@Component
|
||||
export default class Mocks extends Vue {
|
||||
@Prop()
|
||||
personalId!: string
|
||||
|
||||
registers = new Registers()
|
||||
|
||||
mounted () {
|
||||
console.log('mounted')
|
||||
}
|
||||
}
|
3
popup/src/components/mocks/style.scss
Normal file
3
popup/src/components/mocks/style.scss
Normal file
@ -0,0 +1,3 @@
|
||||
.option-select {
|
||||
width: 350px;
|
||||
}
|
39
popup/src/components/mocks/template.html
Normal file
39
popup/src/components/mocks/template.html
Normal file
@ -0,0 +1,39 @@
|
||||
<div>
|
||||
<!-- 0 - не замокано(делать запрос) -->
|
||||
<!-- 1 - выписка на хороший доход-->
|
||||
<!-- 2 - выписка на маленький доход-->
|
||||
<!-- 3 - ошибка загрузки выписки (перезапрос)-->
|
||||
<!-- 4 - ошибка загрузки выписки (нет данных)-->
|
||||
<!-- 5 - по персональному коду (3 - выписка с хорошим доходом, остальные - ошибка загрузки выписки)-->
|
||||
<!-- 6 - выписка на хороший доход, последние два месяца доход 0-->
|
||||
<!-- 7 - выписка на хороший доход, последний месяц доход 0-->
|
||||
<!-- 8 - выписка на хороший доход, но у пользователя нет активного работодателя. Не можем выдать-->
|
||||
<!-- 9 - выписка на хороший доход, в выписке есть выплаты, которые не учитываются в подсчёте среднего дохода-->
|
||||
<label>
|
||||
XTEE MTA
|
||||
<select class="option-select" v-model="registers.xteeMta">
|
||||
<option value="">-</option>
|
||||
<option value="0">Не замокано (делать запрос)</option>
|
||||
<option value="1">Выписка на хороший доход</option>
|
||||
<option value="2">Выписка на маленький доход</option>
|
||||
<option value="3">Ошибка загрузки выписки (перезапрос)</option>
|
||||
<option value="4">Ошибка загрузки выписки (нет данных)</option>
|
||||
<option value="5">По персональному коду (3 - выписка с хорошим доходом, остальные - ошибка загрузки выписки)</option>
|
||||
<option value="6">Выписка на хороший доход, последние два месяца доход 0</option>
|
||||
<option value="7">Выписка на хороший доход, последний месяц доход 0</option>
|
||||
<option value="8">Выписка на хороший доход, но у пользователя нет активного работодателя. Не можем выдать</option>
|
||||
<option value="9">Выписка на хороший доход, в выписке есть выплаты, которые не учитываются в подсчёте среднего дохода</option>
|
||||
</select>
|
||||
</label>
|
||||
<br /><br />
|
||||
<label>
|
||||
XTEE Pension
|
||||
<select class="option-select" v-model="registers.xteePension">
|
||||
<option value="">-</option>
|
||||
<option value="0">Не замокано (делать запрос)</option>
|
||||
<option value="2">Ошибка сервиса. (перезапросы)</option>
|
||||
</select>
|
||||
</label>
|
||||
<br /><br />
|
||||
<button @click="saveMocks">Сохранить моки</button>
|
||||
</div>
|
4
popup/src/components/person-tab/main.vue
Normal file
4
popup/src/components/person-tab/main.vue
Normal file
@ -0,0 +1,4 @@
|
||||
<template src="./template.html"></template>
|
||||
<script lang="ts" src="./script.ts"></script>
|
||||
<!-- Add "scoped" attribute to limit CSS to this component only -->
|
||||
<style scoped lang="scss" src="./style.scss"></style>
|
115
popup/src/components/person-tab/script.ts
Normal file
115
popup/src/components/person-tab/script.ts
Normal file
@ -0,0 +1,115 @@
|
||||
import { Component, Vue } from 'vue-property-decorator'
|
||||
import personalIdGenerator from '@/classes/Service/Generators/PersonalIdGenerator'
|
||||
import ibanGenerator from '@/classes/Service/Generators/IbanGenerator'
|
||||
import phoneGenerator from '@/classes/Service/Generators/PhoneGenerator'
|
||||
import firstNameGenerator from '@/classes/Service/Generators/FirstNameGenerator'
|
||||
import lastNameGenerator from '@/classes/Service/Generators/LastNameGenerator'
|
||||
import { Person } from '@/classes/DTO/Person'
|
||||
import VueClipboard from 'vue-clipboard2'
|
||||
import { Target } from '@/classes/Enum/Target'
|
||||
import sender from '@/classes/Service/Browser/Chrome/Sender'
|
||||
import { Action } from '@/classes/Enum/Action'
|
||||
import notificationCleaner from '@/classes/Service/NotificationCleaner'
|
||||
import { Registers } from '@/classes/DTO/Registers'
|
||||
import Mocks from '@/components/mocks/main.vue'
|
||||
|
||||
Vue.use(VueClipboard)
|
||||
|
||||
@Component({
|
||||
components: {
|
||||
Mocks
|
||||
}
|
||||
})
|
||||
export default class PersonTab extends Vue {
|
||||
personalId = ''
|
||||
person = new Person()
|
||||
registers = new Registers()
|
||||
isAutoCleaner = false
|
||||
copyText = ''
|
||||
|
||||
get allowedMonths () {
|
||||
const result = []
|
||||
for (let i = 1; i <= 12; i++) {
|
||||
result.push(i)
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
get allowedYears () {
|
||||
const result = []
|
||||
const currentYear = (new Date()).getFullYear()
|
||||
for (let i = 1960; i <= currentYear; i++) {
|
||||
result.push(i)
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
mounted () {
|
||||
/** todo заполнить первоначальное значение */
|
||||
notificationCleaner.state().then((isAutoCleaner) => {
|
||||
this.isAutoCleaner = isAutoCleaner
|
||||
console.log('this.isAutoCleaner = ' + isAutoCleaner)
|
||||
})
|
||||
}
|
||||
|
||||
copyPersonalId () {
|
||||
const personalId = personalIdGenerator.generate(this.person)
|
||||
this.personalId = personalId
|
||||
this.copy(personalId)
|
||||
}
|
||||
|
||||
copyIban () {
|
||||
const iban = ibanGenerator.generate(this.person.country)
|
||||
this.copy(iban)
|
||||
}
|
||||
|
||||
copyPhone () {
|
||||
const phone = phoneGenerator.generate(this.person.country)
|
||||
this.copy(phone)
|
||||
}
|
||||
|
||||
copy (text: string) {
|
||||
this.copyText = text
|
||||
this.$copyText(text)
|
||||
}
|
||||
|
||||
autocomplete () {
|
||||
const personalId = personalIdGenerator.generate(this.person)
|
||||
this.insertValueToNode(Target.PERSONAL_ID, personalId)
|
||||
const iban = ibanGenerator.generate(this.person.country)
|
||||
this.insertValueToNode(Target.IBAN, iban)
|
||||
const phone = phoneGenerator.generate(this.person.country)
|
||||
this.insertValueToNode(Target.PHONE, phone)
|
||||
const firstName = firstNameGenerator.generate(this.person.country, this.person.gender)
|
||||
this.insertValueToNode(Target.FIRST_NAME, firstName)
|
||||
const lastName = lastNameGenerator.generate(this.person.country)
|
||||
this.insertValueToNode(Target.LAST_NAME, lastName)
|
||||
}
|
||||
|
||||
insertValueToNode (target: Target, value: string): void {
|
||||
sender.send({
|
||||
action: Action.INSERT,
|
||||
target: target,
|
||||
value: value
|
||||
})
|
||||
}
|
||||
|
||||
cleanNotifications (): void {
|
||||
sender.send({
|
||||
action: Action.CLEAN_NOTIFICATION
|
||||
})
|
||||
}
|
||||
|
||||
onChangeAutoCleaner () {
|
||||
console.log(this.isAutoCleaner)
|
||||
if (this.isAutoCleaner) {
|
||||
notificationCleaner.enable()
|
||||
} else {
|
||||
notificationCleaner.disable()
|
||||
}
|
||||
}
|
||||
|
||||
saveMocks () {
|
||||
console.log(this.personalId, this.registers)
|
||||
}
|
||||
}
|
3
popup/src/components/person-tab/style.scss
Normal file
3
popup/src/components/person-tab/style.scss
Normal file
@ -0,0 +1,3 @@
|
||||
.option-select {
|
||||
width: 350px;
|
||||
}
|
61
popup/src/components/person-tab/template.html
Normal file
61
popup/src/components/person-tab/template.html
Normal file
@ -0,0 +1,61 @@
|
||||
<div class="tab-page__item tab-page__item_show">
|
||||
<div class="form-row">
|
||||
<div class="form-row__item">
|
||||
<input title="Day" class="form-row__item-input" type="text" v-model="person.birthday.day" placeholder="Day">
|
||||
</div>
|
||||
<div class="form-row__item">
|
||||
<select title="Month" v-model="person.birthday.month">
|
||||
<option v-for="allowedMonth in allowedMonths" :value="allowedMonth">{{ allowedMonth }}</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-row__item">
|
||||
<select title="Year" v-model="person.birthday.year">
|
||||
<option v-for="allowedYear in allowedYears" :value="allowedYear">{{ allowedYear }}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-row__item">
|
||||
<label>
|
||||
Country
|
||||
<select v-model="person.country">
|
||||
<option value="ee">Estonia</option>
|
||||
<option value="lt">Lithuania</option>
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-row__item">
|
||||
<label>
|
||||
Gender
|
||||
<select v-model="person.gender">
|
||||
<option value="male">Male</option>
|
||||
<option value="female">Female</option>
|
||||
<option value="random">Random</option>
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div
|
||||
@click="autocomplete"
|
||||
class="form-row__item copy-button" data-clipboard-text="text1">
|
||||
<button>Autocomplete</button>
|
||||
</div>
|
||||
<div
|
||||
@click="copyPersonalId"
|
||||
class="form-row__item copy-button" data-clipboard-text="text2">
|
||||
<button>PersonalId</button>
|
||||
</div>
|
||||
<div
|
||||
@click="copyIban"
|
||||
class="form-row__item copy-button" data-clipboard-text="text3">
|
||||
<button>Iban</button>
|
||||
</div>
|
||||
<div
|
||||
@click="copyPhone"
|
||||
class="form-row__item copy-button" data-clipboard-text="text3">
|
||||
<button>Phone</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="memory-panel">Memory: {{copyText}}</div>
|
||||
</div>
|
@ -11,10 +11,15 @@ import sender from '@/classes/Service/Browser/Chrome/Sender'
|
||||
import { Action } from '@/classes/Enum/Action'
|
||||
import notificationCleaner from '@/classes/Service/NotificationCleaner'
|
||||
import { Registers } from '@/classes/DTO/Registers'
|
||||
import Mocks from '@/components/mocks/main.vue'
|
||||
|
||||
Vue.use(VueClipboard)
|
||||
|
||||
@Component
|
||||
@Component({
|
||||
components: {
|
||||
Mocks
|
||||
}
|
||||
})
|
||||
export default class HelloWorld extends Vue {
|
||||
tab = 'person'
|
||||
personalId = ''
|
||||
@ -71,6 +76,8 @@ export default class HelloWorld extends Vue {
|
||||
|
||||
autocomplete () {
|
||||
const personalId = personalIdGenerator.generate(this.person)
|
||||
this.personalId = personalId
|
||||
this.copy(personalId)
|
||||
this.insertValueToNode(Target.PERSONAL_ID, personalId)
|
||||
const iban = ibanGenerator.generate(this.person.country)
|
||||
this.insertValueToNode(Target.IBAN, iban)
|
||||
|
@ -72,6 +72,20 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="memory-panel">Memory: {{copyText}}</div>
|
||||
<div v-if="personalId">
|
||||
<hr />
|
||||
<Mocks :personalId="personalId"></Mocks>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-page__item" :class="{'tab-page__item_show': tab === 'mocks'}">
|
||||
<label>
|
||||
Personal id
|
||||
<input type="text" v-model="personalId"/>
|
||||
<div v-if="personalId">
|
||||
<hr />
|
||||
<Mocks :personalId="personalId"></Mocks>
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
<div class="tab-page__item" :class="{'tab-page__item_show': tab === 'ember'}">
|
||||
<div class="form-row">
|
||||
@ -90,54 +104,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-page__item" :class="{'tab-page__item_show': tab === 'mocks'}">
|
||||
<label>
|
||||
Personal id
|
||||
<input type="text" v-model="personalId"/>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="personalId && (tab === 'person' || tab === 'mocks')">
|
||||
<hr />
|
||||
<!-- /**-->
|
||||
<!-- * 0 - не замокано(делать запрос) -->
|
||||
<!-- * 1 - выписка на хороший доход-->
|
||||
<!-- * 2 - выписка на маленький доход-->
|
||||
<!-- * 3 - ошибка загрузки выписки (перезапрос)-->
|
||||
<!-- * 4 - ошибка загрузки выписки (нет данных)-->
|
||||
<!-- * 5 - по персональному коду (3 - выписка с хорошим доходом, остальные - ошибка загрузки выписки)-->
|
||||
<!-- * 6 - выписка на хороший доход, последние два месяца доход 0-->
|
||||
<!-- * 7 - выписка на хороший доход, последний месяц доход 0-->
|
||||
<!-- * 8 - выписка на хороший доход, но у пользователя нет активного работодателя. Не можем выдать-->
|
||||
<!-- * 9 - выписка на хороший доход, в выписке есть выплаты, которые не учитываются в подсчёте среднего дохода-->
|
||||
<!-- */-->
|
||||
<label>
|
||||
XTEE MTA
|
||||
<select class="option-select" v-model="registers.xteeMta">
|
||||
<option value="">-</option>
|
||||
<option value="0">Не замокано (делать запрос)</option>
|
||||
<option value="1">Выписка на хороший доход</option>
|
||||
<option value="2">Выписка на маленький доход</option>
|
||||
<option value="3">Ошибка загрузки выписки (перезапрос)</option>
|
||||
<option value="4">Ошибка загрузки выписки (нет данных)</option>
|
||||
<option value="5">По персональному коду (3 - выписка с хорошим доходом, остальные - ошибка загрузки выписки)</option>
|
||||
<option value="6">Выписка на хороший доход, последние два месяца доход 0</option>
|
||||
<option value="7">Выписка на хороший доход, последний месяц доход 0</option>
|
||||
<option value="8">Выписка на хороший доход, но у пользователя нет активного работодателя. Не можем выдать</option>
|
||||
<option value="9">Выписка на хороший доход, в выписке есть выплаты, которые не учитываются в подсчёте среднего дохода</option>
|
||||
</select>
|
||||
</label>
|
||||
<br /><br />
|
||||
<label>
|
||||
XTEE Pension
|
||||
<select class="option-select" v-model="registers.xteePension">
|
||||
<option value="">-</option>
|
||||
<option value="0">Не замокано (делать запрос)</option>
|
||||
<option value="2">Ошибка сервиса. (перезапросы)</option>
|
||||
</select>
|
||||
</label>
|
||||
<br /><br />
|
||||
<button @click="saveMocks">Сохранить моки</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
Loading…
Reference in New Issue
Block a user