全局中文化

This commit is contained in:
Cheng Zhou
2026-01-12 11:14:04 +08:00
parent 9021c7fe2b
commit 1338fa7e2b
103 changed files with 2443 additions and 1533 deletions
+10 -9
View File
@@ -2,21 +2,21 @@
<div class="page">
<div class="page-header">
<div>
<h1 class="page-title">注意事项详情</h1>
<p class="page-subtitle">查看注意事项与附件</p>
<h1 class="page-title">{{ TEXT.modules.knowledgeNotes.detailTitle }}</h1>
<p class="page-subtitle">{{ TEXT.modules.knowledgeNotes.detailSubtitle }}</p>
</div>
<div class="actions">
<el-button type="primary" @click="goEdit">编辑</el-button>
<el-button @click="goBack">返回</el-button>
<el-button type="primary" @click="goEdit">{{ TEXT.common.actions.edit }}</el-button>
<el-button @click="goBack">{{ TEXT.common.actions.back }}</el-button>
</div>
</div>
<el-card v-loading="loading">
<el-descriptions :column="2" border>
<el-descriptions-item label="分中心">{{ detail.site_name || "—" }}</el-descriptions-item>
<el-descriptions-item label="重要等级">{{ detail.level || "—" }}</el-descriptions-item>
<el-descriptions-item label="标题" :span="2">{{ detail.title || "—" }}</el-descriptions-item>
<el-descriptions-item label="内容" :span="2">{{ detail.content || "—" }}</el-descriptions-item>
<el-descriptions-item :label="TEXT.common.fields.site">{{ detail.site_name || TEXT.common.fallback }}</el-descriptions-item>
<el-descriptions-item :label="TEXT.common.fields.level">{{ detail.level || TEXT.common.fallback }}</el-descriptions-item>
<el-descriptions-item :label="TEXT.common.fields.title" :span="2">{{ detail.title || TEXT.common.fallback }}</el-descriptions-item>
<el-descriptions-item :label="TEXT.common.fields.content" :span="2">{{ detail.content || TEXT.common.fallback }}</el-descriptions-item>
</el-descriptions>
</el-card>
@@ -36,6 +36,7 @@ import { ElMessage } from "element-plus";
import { useStudyStore } from "../../store/study";
import { getKnowledgeNote } from "../../api/knowledgeNotes";
import AttachmentList from "../../components/attachments/AttachmentList.vue";
import { TEXT } from "../../locales";
const route = useRoute();
const router = useRouter();
@@ -58,7 +59,7 @@ const load = async () => {
const { data } = await getKnowledgeNote(studyId, noteId);
Object.assign(detail, data);
} catch (e: any) {
ElMessage.error(e?.response?.data?.message || "加载失败");
ElMessage.error(e?.response?.data?.message || TEXT.common.messages.loadFailed);
} finally {
loading.value = false;
}
+19 -18
View File
@@ -2,29 +2,29 @@
<div class="page">
<div class="page-header">
<div>
<h1 class="page-title">{{ isEdit ? "编辑注意事项" : "新增注意事项" }}</h1>
<p class="page-subtitle">记录分中心特殊问题</p>
<h1 class="page-title">{{ isEdit ? TEXT.modules.knowledgeNotes.editTitle : TEXT.modules.knowledgeNotes.newTitle }}</h1>
<p class="page-subtitle">{{ TEXT.modules.knowledgeNotes.formSubtitle }}</p>
</div>
<el-button @click="goBack">返回</el-button>
<el-button @click="goBack">{{ TEXT.common.actions.back }}</el-button>
</div>
<el-card>
<el-form :model="form" label-width="120px">
<el-form-item label="分中心" required>
<el-input v-model="form.site_name" placeholder="输入分中心/机构名称" />
<el-form-item :label="TEXT.common.fields.site" required>
<el-input v-model="form.site_name" :placeholder="TEXT.common.placeholders.input + TEXT.common.fields.site" />
</el-form-item>
<el-form-item label="标题" required>
<el-input v-model="form.title" placeholder="输入标题" />
<el-form-item :label="TEXT.common.fields.title" required>
<el-input v-model="form.title" :placeholder="TEXT.common.placeholders.input + TEXT.common.fields.title" />
</el-form-item>
<el-form-item label="重要等级">
<el-input v-model="form.level" placeholder="例如 高/中/低" />
<el-form-item :label="TEXT.common.fields.level">
<el-input v-model="form.level" :placeholder="TEXT.common.placeholders.input" />
</el-form-item>
<el-form-item label="内容" required>
<el-input v-model="form.content" type="textarea" :rows="4" placeholder="输入内容" />
<el-form-item :label="TEXT.common.fields.content" required>
<el-input v-model="form.content" type="textarea" :rows="4" :placeholder="TEXT.common.placeholders.input" />
</el-form-item>
<el-form-item>
<el-button type="primary" :loading="saving" @click="submit">保存</el-button>
<el-button @click="goBack">取消</el-button>
<el-button type="primary" :loading="saving" @click="submit">{{ TEXT.common.actions.save }}</el-button>
<el-button @click="goBack">{{ TEXT.common.actions.cancel }}</el-button>
</el-form-item>
</el-form>
</el-card>
@@ -36,7 +36,7 @@
:entity-id="noteId"
/>
<el-card v-else class="hint-card">
<StateEmpty description="保存后可上传附件" />
<StateEmpty :description="TEXT.modules.knowledgeNotes.uploadHint" />
</el-card>
</div>
</template>
@@ -49,6 +49,7 @@ import { useStudyStore } from "../../store/study";
import { createKnowledgeNote, getKnowledgeNote, updateKnowledgeNote } from "../../api/knowledgeNotes";
import AttachmentList from "../../components/attachments/AttachmentList.vue";
import StateEmpty from "../../components/StateEmpty.vue";
import { TEXT } from "../../locales";
const route = useRoute();
const router = useRouter();
@@ -77,7 +78,7 @@ const load = async () => {
content: data.content || "",
});
} catch (e: any) {
ElMessage.error(e?.response?.data?.message || "加载失败");
ElMessage.error(e?.response?.data?.message || TEXT.common.messages.loadFailed);
}
};
@@ -93,15 +94,15 @@ const submit = async () => {
};
if (isEdit.value && noteId.value) {
await updateKnowledgeNote(studyId.value, noteId.value, payload);
ElMessage.success("已保存");
ElMessage.success(TEXT.common.messages.saveSuccess);
router.push(`/knowledge/notes/${noteId.value}`);
} else {
const { data } = await createKnowledgeNote(studyId.value, payload);
ElMessage.success("已创建");
ElMessage.success(TEXT.common.messages.createSuccess);
router.push(`/knowledge/notes/${data.id}`);
}
} catch (e: any) {
ElMessage.error(e?.response?.data?.message || "保存失败");
ElMessage.error(e?.response?.data?.message || TEXT.common.messages.saveFailed);
} finally {
saving.value = false;
}