@@ -283,7 +286,7 @@ const form = reactive({
project_id: null, project_phase: '中期', work_type: '制作',
content_type: '动画制作', duration_minutes: 0, duration_seconds: 0,
hours_spent: null, submit_to: '组长', description: '', submit_date: today,
- delay_reason: '', episode_number: null, user_id: null,
+ delay_reason: '', episode_numbers: [], user_id: null,
})
// ── 编辑逻辑 ──
@@ -339,7 +342,7 @@ watch(() => form.content_type, (val) => {
form.duration_seconds = 0
}
if (!needsEpisode(val)) {
- form.episode_number = null
+ form.episode_numbers = []
}
})
@@ -413,7 +416,7 @@ async function load() {
async function handleCreate() {
if (!form.project_id) { ElMessage.warning('请选择项目'); return }
- if (needsEpisode(form.content_type) && !form.episode_number) { ElMessage.warning('请选择集数'); return }
+ if (needsEpisode(form.content_type) && form.episode_numbers.length === 0) { ElMessage.warning('请选择集数'); return }
if (!form.description?.trim()) { ElMessage.warning('请填写描述'); return }
if (!form.hours_spent || form.hours_spent <= 0) { ElMessage.warning('请填写投入时长'); return }
if (isMilestoneOverdue.value && !form.delay_reason?.trim()) {
@@ -431,7 +434,7 @@ async function handleCreate() {
form.hours_spent = null
form.description = ''
form.delay_reason = ''
- form.episode_number = null
+ form.episode_numbers = []
form.user_id = null
load()
// 刷新工时进度
diff --git a/frontend/vite.config.js b/frontend/vite.config.js
index d62dc96..1f8926f 100644
--- a/frontend/vite.config.js
+++ b/frontend/vite.config.js
@@ -7,7 +7,7 @@ export default defineConfig({
port: 3000,
proxy: {
'/api': {
- target: 'http://localhost:8000',
+ target: 'http://localhost:8001',
changeOrigin: true,
}
}