parent
2153296023
commit
79cb7feec9
@ -0,0 +1,9 @@ |
||||
export class ToggleNewClientTypeRequest { |
||||
personalCode!: string |
||||
} |
||||
|
||||
export default { |
||||
code: 'api_plugin_toggle_new_client_type', |
||||
method: 'POST', |
||||
url: '/plugin/user/{personalCode}/toggleNewClientType' |
||||
} |
@ -0,0 +1,9 @@ |
||||
export class ToggleRegularClientTypeRequest { |
||||
personalCode!: string |
||||
} |
||||
|
||||
export default { |
||||
code: 'api_plugin_toggle_regular_client_type', |
||||
method: 'POST', |
||||
url: '/plugin/user/{personalCode}/toggleRegularClientType' |
||||
} |
@ -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> |
@ -0,0 +1,37 @@ |
||||
import { Component, Prop, Vue } from 'vue-property-decorator' |
||||
import VueClipboard from 'vue-clipboard2' |
||||
import httpClient from '@/api/Main/HttpClient' |
||||
import { ToggleNewClientTypeRequest } from '@/api/Main/Schemas/ToggleNewClientTypeSchema' |
||||
|
||||
Vue.use(VueClipboard) |
||||
|
||||
@Component |
||||
export default class UserTab extends Vue { |
||||
@Prop() |
||||
clientTypeUpdate!: string |
||||
|
||||
personalCode!: string |
||||
clientType = 'New'; |
||||
|
||||
update () { |
||||
if (this.clientType === 'New') { |
||||
const newToggle = new ToggleNewClientTypeRequest() |
||||
newToggle.personalCode = this.personalCode |
||||
|
||||
httpClient.toggleNewClientType(newToggle) |
||||
} else { |
||||
const regularToggle = new ToggleNewClientTypeRequest() |
||||
regularToggle.personalCode = this.personalCode |
||||
|
||||
httpClient.toggleRegularClientType(regularToggle) |
||||
} |
||||
} |
||||
|
||||
setClientType (event: FocusEvent) { |
||||
this.clientType = event.target.value |
||||
} |
||||
|
||||
setPersonalCode (event: FocusEvent) { |
||||
this.personalCode = event.target.value |
||||
} |
||||
} |
@ -0,0 +1,65 @@ |
||||
.container { |
||||
max-width: 400px; |
||||
min-width: 400px; |
||||
border: solid 2px gray; |
||||
|
||||
.wrapper { |
||||
padding: 10px; |
||||
|
||||
.tab-panel { |
||||
display: flex; |
||||
|
||||
&__item { |
||||
flex-grow: 1; |
||||
padding: 5px; |
||||
cursor: pointer; |
||||
border-bottom: solid 2px #cae5fa; |
||||
|
||||
&_active { |
||||
border-bottom: solid 2px #298df8; |
||||
} |
||||
|
||||
&:hover { |
||||
border-bottom: solid 2px #298df8; |
||||
} |
||||
} |
||||
} |
||||
|
||||
.tab-page { |
||||
padding-top: 10px; |
||||
|
||||
&__item { |
||||
display: none; |
||||
|
||||
|
||||
&_show { |
||||
display: block; |
||||
} |
||||
|
||||
.form-row { |
||||
display: flex; |
||||
margin-bottom: 5px; |
||||
|
||||
&__item { |
||||
flex-grow: 1; |
||||
margin-right: 10px; |
||||
|
||||
&-input { |
||||
width: 100%; |
||||
} |
||||
} |
||||
|
||||
&:last-child { |
||||
margin-bottom: 0; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
.memory-panel { |
||||
text-align: left; |
||||
padding: 5px; |
||||
margin-top: 10px; |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,21 @@ |
||||
<div> |
||||
<div class="form-row"> |
||||
<div class="form-row__item"> |
||||
<input title="Personal code" class="form-row__item-input" type="text" placeholder="Personal code" v-on:change="setPersonalCode"> |
||||
|
||||
<input type="radio" id="client_type_new" |
||||
name="client_type" value="New" checked v-on:focus="setClientType"> |
||||
<label for="client_type_new">New</label> |
||||
|
||||
<input type="radio" id="client_type_regular" |
||||
name="client_type" value="Regular" v-on:focus="setClientType"> |
||||
<label for="client_type_regular">Regular</label> |
||||
</div> |
||||
</div> |
||||
<div class="form-row"> |
||||
<label> |
||||
<input type="button" v-on:click="update" value="Update"/> |
||||
</label> |
||||
</div> |
||||
|
||||
</div> |
Loading…
Reference in new issue