Skip to content

Commit

Permalink
Merge pull request #19 from Billing-Wise/K5P-69/feat/회원-간편동의-컴포넌트
Browse files Browse the repository at this point in the history
[feat] 회원 간편동의 컴포넌트 개발
  • Loading branch information
dtd1614 authored Jul 29, 2024
2 parents a4eb575 + 03060fe commit accee0c
Show file tree
Hide file tree
Showing 36 changed files with 1,649 additions and 39 deletions.
65 changes: 52 additions & 13 deletions src/router/index.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { createRouter, createWebHistory } from 'vue-router'
import { useAuthStore } from '@/stores/auth';
import { useContractStore } from '@/stores/contract';
import { useContractStore } from '@/stores/consent/non-member/contract';
const router = createRouter({
history: createWebHistory(import.meta.env.BASE_URL),
routes: [
Expand Down Expand Up @@ -113,52 +113,87 @@ const router = createRouter({
{
path: '/m/consent/non-member/:clientId',
name: 'consent',
component: () => import('@/views/consent/ConsentItemView.vue'),
component: () => import('@/views/consent/non-member/ConsentItemView.vue'),
},
{
path: '/m/consent/non-member/explanation/:clientId',
name: 'consentExplanation',
component: () => import('@/views/consent/ConsentExplanationView.vue'),
component: () => import('@/views/consent/non-member/ConsentExplanationView.vue'),
},
{
path: '/m/consent/non-member/member-info/:clientId',
name: 'memberInfo',
component: () => import('@/views/consent/MemberInfoView.vue'),
component: () => import('@/views/consent/non-member/MemberInfoView.vue'),
},
{
path: '/m/consent/non-member/contract-confirmation/:clientId',
name: 'contractInfoConfirmation',
component: () => import('@/views/consent/ContractInfoConfirmation.vue')
component: () => import('@/views/consent/non-member/ContractInfoConfirmation.vue')
},
{
path: '/m/consent/non-memberaccount-info/:clientId',
path: '/m/consent/non-member/account-info/:clientId',
name: 'accountInfo',
component: () => import('@/views/consent/AccountInfoView.vue')
component: () => import('@/views/consent/non-member/AccountInfoView.vue')
},
{
path: '/m/consent/non-member/final-confirmation/:clientId',
name: 'finalConfirmation',
component: () => import('@/views/consent/FinalConfirmation.vue')
component: () => import('@/views/consent/non-member/FinalConfirmation.vue')
},
{
path: '/m/consent/non-member/signature-input/:clientId',
name: 'signatureInput',
component: () => import('@/views/consent/SignatureInput.vue')
component: () => import('@/views/consent/non-member/SignatureInput.vue')
},
{
path: '/m/consent/non-member/upload-signature/:clientId',
name: 'uploadSignature',
component: () => import('@/views/consent/UploadSignature.vue')
component: () => import('@/views/consent/non-member/UploadSignature.vue')
},
{
path: '/m/consent/non-member/draw-signature/:clientId',
name: 'drawSignature',
component: () => import('@/views/consent/DrawSignature.vue')
component: () => import('@/views/consent/non-member/DrawSignature.vue')
},
{
path: '/m/consent/non-member/payment-completion/:clientId',
name: 'paymentCompletion',
component: () => import('@/views/consent/PaymentCompletion.vue')
component: () => import('@/views/consent/non-member/PaymentCompletion.vue')
},
{
path: '/m/consent/member/contract-confirmation/:contractId',
name: 'memberContractInfoConfirmation',
component: () => import('@/views/consent/member/ContractInfoConfirmation.vue')
},
{
path: '/m/consent/member/account-info/:contractId',
name: 'memberAccountInfo',
component: () => import('@/views/consent/member/AccountInfoView.vue')
},
{
path: '/m/consent/member/final-confirmation/:contractId',
name: 'memberFinalConfirmation',
component: () => import('@/views/consent/member/FinalConfirmation.vue')
},
{
path: '/m/consent/member/signature-input/:contractId',
name: 'memberSignatureInput',
component: () => import('@/views/consent/member/SignatureInput.vue')
},
{
path: '/m/consent/member/upload-signature/:contractId',
name: 'memberUploadSignature',
component: () => import('@/views/consent/member/UploadSignature.vue')
},
{
path: '/m/consent/member/draw-signature/:contractId',
name: 'memberDrawSignature',
component: () => import('@/views/consent/member/DrawSignature.vue')
},
{
path: '/m/consent/member/payment-completion/:contractId',
name: 'memberPaymentCompletion',
component: () => import('@/views/consent/member/PaymentCompletion.vue')
},
{
path: '/m/payment/:invoiceId/info',
Expand Down Expand Up @@ -232,7 +267,11 @@ router.beforeEach((to, from, next) => {
'contractInfoConfirmation',
'accountInfo',
'payment',
'finalConfirmation'
'finalConfirmation',
'signatureInput',
'uploadSignature',
'drawSignature',
'paymentCompletion'
];


Expand Down
24 changes: 24 additions & 0 deletions src/stores/consent/member/consentAccountInfo.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import { defineStore } from 'pinia'

export const useConsentAccountInfoStore = defineStore('consentAccountInfo', {
state: () => ({
infoMap: {}
}),
actions: {
setInfo(contractId, info) {
this.infoMap[contractId] = info
},
getInfo(contractId) {
return this.infoMap[contractId] || null
}
},
persist: {
enabled: true,
strategies: [
{
storage: sessionStorage,
paths: ['infoMap']
}
]
}
})
24 changes: 24 additions & 0 deletions src/stores/consent/member/consentContractInfo.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import { defineStore } from 'pinia'

export const useConsentContractInfoStore = defineStore('consentContractInfo', {
state: () => ({
infoMap: {}
}),
actions: {
setInfo(contractId, info) {
this.infoMap[contractId] = info
},
getInfo(contractId) {
return this.infoMap[contractId] || null
}
},
persist: {
enabled: true,
strategies: [
{
storage: sessionStorage,
paths: ['infoMap']
}
]
}
})
24 changes: 24 additions & 0 deletions src/stores/consent/member/consentResult.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import { defineStore } from 'pinia'

export const useConsentResultStore = defineStore('consentResult', {
state: () => ({
infoMap: {}
}),
actions: {
setInfo(contractId, info) {
this.infoMap[contractId] = info
},
getInfo(contractId) {
return this.infoMap[contractId] || null
}
},
persist: {
enabled: true,
strategies: [
{
storage: sessionStorage,
paths: ['infoMap']
}
]
}
})
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loading

0 comments on commit accee0c

Please sign in to comment.