refactor: clean code and handle

This commit is contained in:
puri-ph4tt 2023-11-28 09:22:44 +07:00 committed by Methapon2001
parent aa63e9c8c5
commit e682485bce
No known key found for this signature in database
GPG key ID: 849924FEF46BD132
3 changed files with 40 additions and 28 deletions

View file

@ -20,16 +20,10 @@ const { getFolder, createFolder, editFolder, uploadFile } = useTreeDataStore()
const drawer = ref<boolean>(false)
const drawerFile = ref<boolean>(false)
const drawerStatus = ref<'edit' | 'create'>('create')
const input = ref<string>('')
const inputFile = ref<File>()
const fileTitle = ref<string>('')
const fileDesc = ref<string>('')
const fileCategory = ref<string>('')
const optionsCategory = [
{ label: 'ศิลปะ', value: 'art' },
{ label: 'ภาพวาด', value: 'drawing' },
{ label: 'ภาษาไทย', value: 'thai' },
]
const fileKeyword = ref<string>('')
const editPathname = ref<string>('')
@ -181,7 +175,7 @@ async function handleSubmit() {
>
<q-card-section class="column justify-center relative q-px-xl">
<q-icon
name="description"
name="mdi-file"
class="add-icon"
size="6em"
color="primary"
@ -259,10 +253,9 @@ async function handleSubmit() {
dense
/>
<span class="text-weight-bold">กล/หมวดหม</span>
<q-select
<q-input
class="q-my-md"
outlined
:options="optionsCategory"
v-model="fileCategory"
placeholder="เลือกกลุ่ม/หมวดหมู่"
dense

View file

@ -1,5 +1,4 @@
<script setup lang="ts">
import { ref } from 'vue'
import { storeToRefs } from 'pinia'
import { useFileInfoStore } from '@/stores/file-info-data'
@ -89,8 +88,13 @@ const { getType, getFormatDate, getSize } = useFileInfoStore()
<div class="col-2">
<span>กล/หมวดหม</span>
</div>
<div class="col-grow" v-for="category in fileInfo?.category" :key="category">
<span class="text-grey">{{ category }}</span>
<div class="col-grow">
<span
class="text-grey"
v-for="category in fileInfo?.category"
:key="category"
>{{ category }}</span
>
</div>
</div>
<q-separator />
@ -98,8 +102,13 @@ const { getType, getFormatDate, getSize } = useFileInfoStore()
<div class="col-2">
<span>คำสำค</span>
</div>
<div class="col-grow" v-for="keyword in fileInfo?.keyword" :key="keyword">
<span class="text-grey">{{ keyword }}</span>
<div class="col-grow">
<span
class="text-grey"
v-for="keyword in fileInfo?.keyword"
:key="keyword"
>{{ keyword }}</span
>
</div>
</div>
<q-separator />
@ -126,7 +135,9 @@ const { getType, getFormatDate, getSize } = useFileInfoStore()
<span>นทปโหลด</span>
</div>
<div class="col-grow">
<span class="text-grey">{{ getFormatDate(fileInfo?.createdAt) }}</span>
<span class="text-grey">{{
getFormatDate(fileInfo?.createdAt)
}}</span>
</div>
</div>
</div>

View file

@ -139,23 +139,31 @@ export const useFileInfoStore = defineStore('info', () => {
}
function getFormatDate(dateTime: any): string {
const date = new Date(dateTime)
const result = date.toLocaleDateString('th-TH', {
year: 'numeric',
month: 'long',
day: 'numeric',
})
return result
if (dateTime === undefined) {
return 'unknow date'
} else {
const date = new Date(dateTime)
const result = date.toLocaleDateString('th-TH', {
year: 'numeric',
month: 'long',
day: 'numeric',
})
return result
}
}
function getSize(size: any): string {
const units = ['B', 'KB', 'MB', 'GB', 'TB']
let i = 0
while (size >= 1024 && i < units.length - 1) {
size /= 1024
i++
if (size === undefined) {
return 'unknow size'
} else {
const units = ['B', 'KB', 'MB', 'GB', 'TB']
let i = 0
while (size >= 1024 && i < units.length - 1) {
size /= 1024
i++
}
return size.toFixed(2) + ' ' + units[i]
}
return size.toFixed(2) + ' ' + units[i]
}
async function getFileInfo(data: EhrFile) {