diff --git a/.env b/.env
index 67fbf7d..05c1a6f 100644
--- a/.env
+++ b/.env
@@ -7,6 +7,7 @@
VUE_APP_BACKEND_HOST="http://localhost:3000"
VUE_APP_BACKEND_HEADERS_Content_Type="application/json;charset=utf-8"
VUE_APP_BACKEND_HEADERS_Access_Control_Allow_Origin="*"
+VUE_APP_BACKEND_HEADERS_Access_Control_Allow_Method="GET,PUT,POST,DELETE,PATCH,OPTIONS"
#LocalStorage는 Edge 브라우저의 개발툴 > 응용프로그램 > 로컬 저장소에서 확인가능
VUE_APP_LOCALSTORAGE_NAME="access_token"
diff --git a/jsconfig.json b/jsconfig.json
index 4aafc5f..b6bd4c8 100644
--- a/jsconfig.json
+++ b/jsconfig.json
@@ -5,15 +5,8 @@
"baseUrl": "./",
"moduleResolution": "node",
"paths": {
- "@/*": [
- "src/*"
- ]
+ "@/*": ["src/*"]
},
- "lib": [
- "esnext",
- "dom",
- "dom.iterable",
- "scripthost"
- ]
+ "lib": ["esnext", "dom", "dom.iterable", "scripthost"]
}
}
diff --git a/src/components/common/LoginComponent.vue b/src/components/common/LoginComponent.vue
index 5d00c47..3d081ea 100644
--- a/src/components/common/LoginComponent.vue
+++ b/src/components/common/LoginComponent.vue
@@ -100,8 +100,8 @@ export default {
this.$router.replace(
sessionStorage.getItem(
process.env.VUE_APP_SESSIONSTORAGE_REDIRECT_NAME
- )
- ) || '/'
+ ) || '/'
+ )
//저장된 정보 CLear
this.onReset()
}
@@ -122,16 +122,16 @@ export default {
async callAPI(url, params) {
console.log('CallAPI..', [url, params])
axios.defaults.baseURL = process.env.VUE_APP_BACKEND_HOST
- //전송 Header에 CORP정보 추가
- axios.defaults.headers.post['Content-Type'] =
- process.env.VUE_APP_BACKEND_HEADERS_Content_Type
- axios.defaults.headers.post['Access-Control-Allow-Origin'] =
- process.env.VUE_APP_BACKEND_HEADERS_Access_Control_Allow_Origin
//전송 Header에 추가
const headers = {
- // Authorization:
- // 'Bearer ' +
- // localStorage.getItem(process.env.VUE_APP_LOCALSTORAGE_NAME)
+ // 'Content-Type': process.env.VUE_APP_BACKEND_HEADERS_Content_Type,
+ // 'Access-Control-Allow-Origin':
+ // process.env.VUE_APP_BACKEND_HEADERS_Access_Control_Allow_Origin,
+ // 'Access-Control-Allow-Methods':
+ // process.env.VUE_APP_BACKEND_HEADERS_Access_Control_Allow_Method,
+ Authorization:
+ 'Bearer ' +
+ localStorage.getItem(process.env.VUE_APP_LOCALSTORAGE_NAME)
}
return await axios
.post(url, params, headers)
diff --git a/src/components/todo/InputComponent.vue b/src/components/todo/InputComponent.vue
index 9f1543a..8a34791 100644
--- a/src/components/todo/InputComponent.vue
+++ b/src/components/todo/InputComponent.vue
@@ -140,16 +140,16 @@ export default {
async callAPI(url, params) {
console.log('CallAPI..', [url, params])
axios.defaults.baseURL = process.env.VUE_APP_BACKEND_HOST
- //전송 Header에 CORP정보 추가
- axios.defaults.headers.post['Content-Type'] =
- process.env.VUE_APP_BACKEND_HEADERS_Content_Type
- axios.defaults.headers.post['Access-Control-Allow-Origin'] =
- process.env.VUE_APP_BACKEND_HEADERS_Access_Control_Allow_Origin
//전송 Header에 추가
const headers = {
- // Authorization:
- // 'Bearer ' +
- // localStorage.getItem(process.env.VUE_APP_LOCALSTORAGE_NAME)
+ // 'Content-Type': process.env.VUE_APP_BACKEND_HEADERS_Content_Type,
+ // 'Access-Control-Allow-Origin':
+ // process.env.VUE_APP_BACKEND_HEADERS_Access_Control_Allow_Origin,
+ // 'Access-Control-Allow-Methods':
+ // process.env.VUE_APP_BACKEND_HEADERS_Access_Control_Allow_Method,
+ Authorization:
+ 'Bearer ' +
+ localStorage.getItem(process.env.VUE_APP_LOCALSTORAGE_NAME)
}
return await axios
.post(url, params, headers)
diff --git a/src/components/todo/ListComponent.vue b/src/components/todo/ListComponent.vue
index d757124..44e56e6 100644
--- a/src/components/todo/ListComponent.vue
+++ b/src/components/todo/ListComponent.vue
@@ -11,28 +11,44 @@
>
-
+
검색
+
+
+
+
+ ~
+
+ 선택
+
+
@@ -53,12 +69,11 @@
:per-page="perPage"
:sort-by.sync="sortBy"
:sort-desc.sync="sortDesc"
- :sort-direction="sortDirection"
@sort-changed="sortClick"
label-sort-asc=""
label-sort-desc=""
label-sort-clear=""
- :select-mode="selectMode"
+ :select-mode="selectedRowMode"
selectable
@row-selected="rowSelectedToggle"
:busy="isBusy"
@@ -71,6 +86,14 @@
:dark="commonTableAttributes.dark"
:head-variant="commonTableAttributes.headVariant"
>
+
+
+
+
+ Type 2
+
+
+
@@ -213,19 +236,25 @@ export default {
isBusy: false,
sortBy: 'id',
sortDesc: true,
- sortDirection: 'desc',
- search: null, //DB검색
+ search: null,
searchFields: ['title', 'content'],
- searchOptions: [
+ searchFieldOptions: [
{ text: '제목', value: 'title' },
- { text: '내용', value: 'content' },
+ { text: '내용', value: 'content' }
+ ],
+ filter: null,
+ filterField: null,
+ filterDateStart: null,
+ filterDateEnd: null,
+ filterDateField: 'createdAt',
+ filterDateFieldOptions: [
{ text: '수정일', value: 'updatedAt' },
{ text: '등록일', value: 'createdAt' }
],
- selectModes: ['multi', 'single', 'range'],
- selectMode: 'multi',
- selectedAllToggle: false,
- selectedRows: []
+ selectedRows: [],
+ selectedRowAllToggle: false,
+ selectedRowMode: 'multi',
+ selectedRowModes: ['multi', 'single', 'range']
}
},
setup: function () {},
@@ -239,12 +268,16 @@ export default {
this.isBusy = true
const results = await this.callAPI('/todo', {
params: {
+ page: page,
+ perPage: this.perPage,
sortBy: this.sortBy,
sortDesc: this.sortDesc,
searchFields: this.searchFields,
search: this.search,
- page: page,
- perPage: this.perPage
+ filter: this.filter,
+ filterField: this.filterField,
+ filterDateStart: this.filterDateStart,
+ filterDateEnd: this.filterDateEnd
}
})
//console.log(JSON.stringify(results))
@@ -276,6 +309,11 @@ export default {
this.sortDesc = event.sortDesc
this.getDatas()
},
+ dateClick(event) {
+ console.log(event)
+ this.filterField = this.filterDateField
+ this.getDatas()
+ },
busyToggle() {
this.isBusy = !this.isBusy
},
@@ -283,12 +321,12 @@ export default {
this.selectedRows = selectedRow
},
rowSelectAllToggle() {
- if (this.selectedAllToggle) {
+ if (this.selectedRowAllToggle) {
this.$refs.todoTable.clearSelected()
- this.selectedAllToggle = false
+ this.selectedRowAllToggle = false
} else {
this.$refs.todoTable.selectAllRows()
- this.selectedAllToggle = true
+ this.selectedRowAllToggle = true
}
},
// rowSelectSet(id) {
@@ -302,15 +340,16 @@ export default {
async callAPI(url, params) {
console.log('CallAPI..', [url, params])
axios.defaults.baseURL = process.env.VUE_APP_BACKEND_HOST
- axios.defaults.headers.post['Content-Type'] =
- process.env.VUE_APP_BACKEND_HEADERS_Content_Type
- axios.defaults.headers.post['Access-Control-Allow-Origin'] =
- process.env.VUE_APP_BACKEND_HEADERS_Access_Control_Allow_Origin
//전송 Header에 추가
const headers = {
- // Authorization:
- // 'Bearer ' +
- // localStorage.getItem(process.env.VUE_APP_LOCALSTORAGE_NAME)
+ // 'Content-Type': process.env.VUE_APP_BACKEND_HEADERS_Content_Type,
+ // 'Access-Control-Allow-Origin':
+ // process.env.VUE_APP_BACKEND_HEADERS_Access_Control_Allow_Origin,
+ // 'Access-Control-Allow-Methods':
+ // process.env.VUE_APP_BACKEND_HEADERS_Access_Control_Allow_Method,
+ Authorization:
+ 'Bearer ' +
+ localStorage.getItem(process.env.VUE_APP_LOCALSTORAGE_NAME)
}
return await axios
.get(url, params, headers)