diff --git a/service/ema/src/lib/domain/entity.ts b/service/ema/src/lib/domain/entity.ts index cd50325..d99bee7 100644 --- a/service/ema/src/lib/domain/entity.ts +++ b/service/ema/src/lib/domain/entity.ts @@ -25,7 +25,6 @@ export function getStage(c: Ceremony, time: Date): Stage { export function ensureStage(ceremony: Ceremony, stage: Stage, now: Date): void { const stageNow = getStage(ceremony, now); - console.log(`stageNow: ${stageNow}, stage: ${stage}`); if (stageNow === stage) { // valid, do nothing return; diff --git a/service/ema/src/lib/domain/errors.ts b/service/ema/src/lib/domain/errors.ts index ec0942e..f73baf4 100644 --- a/service/ema/src/lib/domain/errors.ts +++ b/service/ema/src/lib/domain/errors.ts @@ -2,13 +2,11 @@ import { error, type HttpError } from '@sveltejs/kit'; import { match, P } from 'ts-pattern'; function Database(operation: string, err: Error): HttpError { - console.log('err.message = ', err.message); const he = error(500, { title: '数据库错误', message: `Database error ${operation}: ${err.message}`, stack: err.stack, }); - console.log('new database error: ', JSON.stringify(he)); return he; } diff --git a/service/ema/src/lib/server/service.ts b/service/ema/src/lib/server/service.ts index b0f8f2b..9b181be 100644 --- a/service/ema/src/lib/server/service.ts +++ b/service/ema/src/lib/server/service.ts @@ -140,7 +140,6 @@ export class Service { } else { const voteItems = await this.voteRepository.getVotes(year, dept); const result = await this.calculator.calculate(voteItems); - console.log(`calculated for ${dept}, get result: ${JSON.stringify(result)}`); await this.workRepository.setWorkRanking(result); results.set(dept, 'ok'); } diff --git a/service/ema/src/routes/[year]/(authed)/votes/[dept]/+page.svelte b/service/ema/src/routes/[year]/(authed)/votes/[dept]/+page.svelte index c12eb9a..391d257 100644 --- a/service/ema/src/routes/[year]/(authed)/votes/[dept]/+page.svelte +++ b/service/ema/src/routes/[year]/(authed)/votes/[dept]/+page.svelte @@ -5,23 +5,23 @@ import { Button, Nomination, TabLine } from '$lib/comp'; import { dataRangeString, type Work } from '$lib/domain/entity'; import { departmentInfo } from '$lib/assets'; + import { enhance } from '$app/forms'; export let data: PageData; export let form: ActionData; let inputed = false; - const inputValue = (work: Work) => { - if (form?.rankings.has(work.id)) { - return form?.rankings.get(work.id); - } else { - return work.ranking; - } + const getWork = (work: Work, f?: ActionData) => { + let formRanking = f?.rankings.get(work.id) || 0; + work.ranking = formRanking > 0 ? formRanking : work.ranking; + return work; }; const resetForm = () => { location.reload(); }; + $: works = data.works.map((work) => getWork(work, form)); $: deptTotal = data.ceremony.departments.length; $: deptIndex = data.ceremony.departments.indexOf(data.department); $: deptInfo = departmentInfo(data.ceremony.year)[data.department]; @@ -62,16 +62,27 @@ -
+ { + return async () => { + inputed = false; + works = works.sort((a, b) => (a.ranking || Infinity) - (b.ranking || Infinity)); + }; + }} +>

请在左侧写入作品的排名数字

- {#if form?.error}

{form?.error}

{/if} - {#each data.works as work (work.id)} - {#if form?.errors.get(work.id)}

{form?.errors.get(work.id)}

{/if} + {#if form?.error} +

{form?.error}

+ {/if} + {#each works as work (work.id)} + {#if form?.errors?.get(work.id)}

{form?.errors?.get(work.id)}

{/if}
(inputed = true)}