fix: 修复文件编码问题
This commit is contained in:
@@ -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 [];
|
||||
}
|
||||
|
||||
// 关闭通知公告弹窗
|
||||
|
||||
Reference in New Issue
Block a user