Confilct dev date 12 22 (#131)

* fix(home): 🐛 解决多次切换路由后页面卡顿的问题 #96

卸载路由时清除requestAnimationFrame

* feat:  文件存储使用Blob格式

* style: 💄 修改部分类型any为具体类型

* feat:  界面设置中模块使用瀑布流布局 #96

* fix: 🐛 md文档更换文件夹解决控制台警告

* style: 💄 switch按钮改回使用daisyui组件

* refactor: ♻️ 所有人员列表提取tableColumn

* style: 💄 奖项列表中的图片类型修复

* fix(globalConfig): 修复当前音乐项类型缺失问题

* feat:  single person not done

* feat:  可添加单人 #96

* build(.gitignore): 添加 auto-imports.d.ts 到忽略文件

* fix: 🐛 上传、下载excel文件时修复路径错误

打包成应用和网页端的baseUrl不一样,使用环境变量来表示

* fix: 🐛 导入人员列表时处理有值为空的情况

* style: 💄 改变toaster的组件

* fix: 🐛 上传文件、解析数据与存储/读取数据的处理

、
This commit is contained in:
LOG1997
2025-12-22 17:28:10 +08:00
committed by GitHub
parent 5b8682bb7c
commit f8098a9737
18 changed files with 254 additions and 179 deletions

View File

@@ -47,9 +47,9 @@ const actionsColumns = computed<any[]>(() => {
<tbody v-if="data.length > 0">
<!-- row -->
<tr v-for="item in data" :key="item.id" class="hover">
<th>{{ item.id }}</th>
<!-- <th>{{ item.id }}</th> -->
<td v-for="(column, index) in dataColumns" :key="index">
<span v-if="column.formatValue" v-html="column.formatValue(item)"></span>
<span v-if="column.formatValue" v-html="column.formatValue(item)" />
<span v-else>{{ item[column.props] }}</span>
</td>
<!-- action -->

View File

@@ -0,0 +1,38 @@
<script setup lang='ts'>
import { ref } from 'vue'
const drawerTriggerRef = ref <HTMLDialogElement | null> (null)
const visible = ref(false)
function showDrawer() {
drawerTriggerRef.value?.click()
visible.value = true
}
function closeDrawer() {
drawerTriggerRef.value?.click()
visible.value = false
}
defineExpose({
showDrawer,
closeDrawer,
})
</script>
<template>
<div class="drawer drawer-end h-0 w-0">
<input id="my-drawer-1" type="checkbox" class="drawer-toggle">
<div class="drawer-content w-0 h-0 absolute">
<!-- Page content here -->
<label ref="drawerTriggerRef" for="my-drawer-1" />
</div>
<div class="drawer-side">
<label for="my-drawer-1" aria-label="close sidebar" class="drawer-overlay" />
<div v-if="visible" class="menu bg-base-200 min-h-full w-80 p-4">
<slot name="content" />
</div>
</div>
</div>
</template>
<style scoped>
</style>

View File

@@ -27,7 +27,6 @@ async function handleFileChange(e: Event) {
return
}
const { data: blobData, fileName } = await readFileDataAsBlob(file)
console.log('datafile', blobData, fileName)
fileData.value = { data: blobData, fileName, type }
originFileName.value = fileName
emits('uploadFile', fileData.value)