diff --git a/src/api/common.ts b/src/api/common.ts new file mode 100644 index 00000000..a0d4fd4e --- /dev/null +++ b/src/api/common.ts @@ -0,0 +1,11 @@ +import { axiosInstance } from '../utils/axios' + +export const getMainCategory = async () => { + const response = await axiosInstance.get('/api/main-category') + return response.data +} + +export const getSubCategory = async () => { + const response = await axiosInstance.get('/api/sub-category') + return response.data +} diff --git a/src/api/test.ts b/src/api/test.ts index e28e9dd8..bb6f3d0b 100644 --- a/src/api/test.ts +++ b/src/api/test.ts @@ -1,4 +1,4 @@ -import axiosInstance from '../utils/axios' +import { axiosInstance } from '../utils/axios' export const getNotifications = async () => { const response = await axiosInstance.get('/api/notifications?page=0&size=5') diff --git a/src/api/user.ts b/src/api/user.ts new file mode 100644 index 00000000..86bbbbf4 --- /dev/null +++ b/src/api/user.ts @@ -0,0 +1,6 @@ +import { formDataAxiosInstance } from '@/utils/axios' + +export const postTaskRequest = async (formdata: FormData) => { + const response = await formDataAxiosInstance.post('/api/tasks', formdata) + return response.data +} diff --git a/src/components/my-request/MyRequestFilterBar.vue b/src/components/my-request/MyRequestFilterBar.vue index e1c2735a..cd96cacd 100644 --- a/src/components/my-request/MyRequestFilterBar.vue +++ b/src/components/my-request/MyRequestFilterBar.vue @@ -33,15 +33,15 @@ diff --git a/src/components/request-task/RequestTask.vue b/src/components/request-task/RequestTask.vue index 6ee6e2f8..1374053b 100644 --- a/src/components/request-task/RequestTask.vue +++ b/src/components/request-task/RequestTask.vue @@ -1,69 +1,120 @@ diff --git a/src/components/request-task/RequestTaskFileInput.vue b/src/components/request-task/RequestTaskFileInput.vue index 6ee08c50..74cc26b9 100644 --- a/src/components/request-task/RequestTaskFileInput.vue +++ b/src/components/request-task/RequestTaskFileInput.vue @@ -9,7 +9,7 @@ @change="handleFileUpload" />
() const emit = defineEmits(['update:modelValue']) -const hasFiles = computed(() => props.modelValue && props.modelValue.length > 0) +const hasFiles = computed(() => modelValue && modelValue.length > 0) const handleFileUpload = (event: Event) => { const target = event.target as HTMLInputElement if (target.files && target.files.length > 0) { const newFiles = Array.from(target.files) - const updatedFiles = props.modelValue ? [...props.modelValue, ...newFiles] : newFiles + const updatedFiles = modelValue ? [...modelValue, ...newFiles] : newFiles emit('update:modelValue', updatedFiles) } } const removeFile = (index: number) => { - if (props.modelValue) { - const updatedFiles = [...props.modelValue] + if (modelValue) { + const updatedFiles = [...modelValue] updatedFiles.splice(index, 1) emit('update:modelValue', updatedFiles) } diff --git a/src/components/request-task/RequestTaskInput.vue b/src/components/request-task/RequestTaskInput.vue index 7646a033..df55151e 100644 --- a/src/components/request-task/RequestTaskInput.vue +++ b/src/components/request-task/RequestTaskInput.vue @@ -7,6 +7,11 @@ class="text-red-1"> *

+

+ {{ labelName }}을 입력해주세요 +

import type { RequestTaskInputProps } from '@/types/user' - -const { modelValue, placeholderText, labelName, isNotRequired, isEdit } = +import { computed } from 'vue' +const { modelValue, placeholderText, labelName, isNotRequired, isEdit, isInvalidate } = defineProps() + +const isInvalidateState = computed(() => isInvalidate) + const emit = defineEmits(['update:modelValue']) const updateValue = (value: string) => { diff --git a/src/components/requested/RequestedFilterBar.vue b/src/components/requested/RequestedFilterBar.vue index cfecbcec..7c28ce9e 100644 --- a/src/components/requested/RequestedFilterBar.vue +++ b/src/components/requested/RequestedFilterBar.vue @@ -35,7 +35,7 @@ import { PAGE_SIZE_LIST, TERM_LIST } from '@/constants/common' import { useRequestParamsStore } from '@/stores/params' import { useRequestParamsChange } from '../hooks/useRequestParamsChange' import { useQuery } from '@tanstack/vue-query' -import axiosInstance from '@/utils/axios' +import {axiosInstance} from '@/utils/axios' const store = useRequestParamsStore() store.$reset() diff --git a/src/components/task-board/TaskBoardFilterBar.vue b/src/components/task-board/TaskBoardFilterBar.vue index a4841f5d..d9c2f338 100644 --- a/src/components/task-board/TaskBoardFilterBar.vue +++ b/src/components/task-board/TaskBoardFilterBar.vue @@ -29,7 +29,7 @@ import FilterInput from '../filters/FilterInput.vue' import { DUMMY_DIVISION_LIST } from '@/datas/dummy' import { useTaskBoardParamsStore } from '@/stores/params' import { useQuery } from '@tanstack/vue-query' -import axiosInstance from '@/utils/axios' +import {axiosInstance} from '@/utils/axios' const { params } = useTaskBoardParamsStore() diff --git a/src/components/task-management/CategoryAdd.vue b/src/components/task-management/CategoryAdd.vue index b0a0ca07..22686e00 100644 --- a/src/components/task-management/CategoryAdd.vue +++ b/src/components/task-management/CategoryAdd.vue @@ -42,10 +42,10 @@ import { CATEGORY_FIRST_ADD, CATEGORY_SECOND_ADD, RoleKeys } from '@/constants/admin' import { ref } from 'vue' import { useRouter } from 'vue-router' +import FormButtonContainer from '../common/FormButtonContainer.vue' import ModalView from '../ModalView.vue' import RequestTaskDropdown from '../request-task/RequestTaskDropdown.vue' import RequestTaskInput from '../request-task/RequestTaskInput.vue' -import FormButtonContainer from '../common/FormButtonContainer.vue' const router = useRouter() diff --git a/src/components/team-board/TeamBoardFilterBar.vue b/src/components/team-board/TeamBoardFilterBar.vue index 729e046e..e76be4e1 100644 --- a/src/components/team-board/TeamBoardFilterBar.vue +++ b/src/components/team-board/TeamBoardFilterBar.vue @@ -22,13 +22,13 @@