fix: 修复文件编码问题

This commit is contained in:
Ray.Hao
2026-01-29 10:35:53 +08:00
parent 6ff4a65ec9
commit da7163f463
23 changed files with 279 additions and 128 deletions

View File

@@ -3,7 +3,7 @@
<!-- 搜索区域 -->
<div class="filter-section">
<el-form ref="queryFormRef" :model="queryParams" :inline="true" label-suffix=":">
<el-form-item label="标题123" prop="title">
<el-form-item label="标题" prop="title">
<el-input
v-model="queryParams.title"
placeholder="标题"
@@ -190,8 +190,8 @@
<el-radio :value="2">指定</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item v-if="formData.targetType == 2" label="指定用户" prop="targetUserIds">
<el-select v-model="formData.targetUserIds" multiple search placeholder="请选择指定用户">
<el-form-item v-if="formData.targetType == 2" label="指定用户" prop="targetUsers">
<el-select v-model="formData.targetUsers" multiple search placeholder="请选择指定用户">
<el-option
v-for="item in userOptions"
:key="item.value"
@@ -359,10 +359,14 @@ function handleOpenDialog(id?: string) {
if (id) {
dialog.title = "修改公告";
NoticeAPI.getFormData(id).then((data) => {
Object.assign(formData, data);
const normalized = {
...data,
targetUsers: normalizeTargetUsers(data?.targetUsers),
};
Object.assign(formData, normalized);
});
} else {
Object.assign(formData, { level: 0, targetType: 0 });
Object.assign(formData, { level: "L", targetType: 1, targetUsers: [] });
dialog.title = "新增公告";
}
}
@@ -388,6 +392,9 @@ function handleSubmit() {
dataFormRef.value.validate((valid: any) => {
if (valid) {
loading.value = true;
if (formData.targetType !== 2) {
formData.targetUsers = [];
}
const id = formData.id;
if (id) {
NoticeAPI.update(id, formData)
@@ -416,6 +423,25 @@ function resetForm() {
dataFormRef.value.clearValidate();
formData.id = undefined;
formData.targetType = 1;
formData.targetUsers = [];
}
function normalizeTargetUsers(value?: unknown) {
if (!value) {
return [];
}
if (Array.isArray(value)) {
return value;
}
if (typeof value === "string") {
try {
const parsed = JSON.parse(value);
return Array.isArray(parsed) ? parsed : value.split(",").filter(Boolean);
} catch {
return value.split(",").filter(Boolean);
}
}
return [];
}
// 关闭通知公告弹窗