|
|
@@ -32,7 +32,7 @@
|
|
|
>删除</el-button
|
|
|
>
|
|
|
</el-col>
|
|
|
-<!-- <el-col :span="1.5">
|
|
|
+ <!-- <el-col :span="1.5">
|
|
|
<el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['system:receivers:export']">导出</el-button>
|
|
|
</el-col>-->
|
|
|
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
@@ -42,7 +42,7 @@
|
|
|
<el-table v-loading="loading" border :data="receiversList" @selection-change="handleSelectionChange">
|
|
|
<el-table-column type="selection" width="55" align="center" />
|
|
|
<el-table-column label="" align="center" prop="id" v-if="false" />
|
|
|
-<!-- <el-table-column label="接收人 ID" align="center" prop="userId" />-->
|
|
|
+ <!-- <el-table-column label="接收人 ID" align="center" prop="userId" />-->
|
|
|
<el-table-column label="标题" align="center" prop="title" />
|
|
|
<el-table-column label="消息内容" align="center" prop="contentText" :show-overflow-tooltip="true" />
|
|
|
<el-table-column label="发送时间" align="center" prop="sendTime" width="180">
|
|
|
@@ -52,6 +52,7 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column label="发送对象" align="center" prop="targetType" />
|
|
|
<el-table-column label="发送人" align="center" prop="sendName" />
|
|
|
+ <el-table-column label="接收人" align="center" prop="receiveUserName" />
|
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
|
<template #default="scope">
|
|
|
<el-tooltip content="修改" placement="top">
|
|
|
@@ -197,18 +198,55 @@ const handleAdd = () => {
|
|
|
/** 修改按钮操作 */
|
|
|
const handleUpdate = async (row?: ReceiversVO) => {
|
|
|
reset();
|
|
|
+
|
|
|
const _id = row?.id || ids.value[0];
|
|
|
const res = await getReceivers(_id);
|
|
|
+
|
|
|
+ let processedContent = res.data.content;
|
|
|
+
|
|
|
+ if (processedContent) {
|
|
|
+ // 将白色替换为黑色
|
|
|
+ // 处理 rgb(255, 255, 255) 格式,正确转义括号
|
|
|
+ processedContent = processedContent.replace(/color:\s*rgb\(\s*255\s*,\s*255\s*,\s*255\s*\)/gi, 'color: rgb(0, 0, 0)');
|
|
|
+
|
|
|
+ // 处理十六进制白色 #ffffff 和 #fff
|
|
|
+ processedContent = processedContent.replace(/color:\s*#ffffff/gi, 'color: rgb(0, 0, 0)');
|
|
|
+ processedContent = processedContent.replace(/color:\s*#fff/gi, 'color: rgb(0, 0, 0)');
|
|
|
+
|
|
|
+ // 处理 white 关键字
|
|
|
+ processedContent = processedContent.replace(/color:\s*white/gi, 'color: rgb(0, 0, 0)');
|
|
|
+
|
|
|
+ res.data.content = processedContent;
|
|
|
+ }
|
|
|
+
|
|
|
Object.assign(form.value, res.data);
|
|
|
dialog.visible = true;
|
|
|
dialog.title = '查看消息';
|
|
|
};
|
|
|
-
|
|
|
/** 提交按钮 */
|
|
|
const submitForm = () => {
|
|
|
receiversFormRef.value?.validate(async (valid: boolean) => {
|
|
|
if (valid) {
|
|
|
buttonLoading.value = true;
|
|
|
+
|
|
|
+ let processedContent = form.value.content;
|
|
|
+
|
|
|
+ if (processedContent) {
|
|
|
+ // 为没有颜色样式的<p>标签添加默认白色颜色
|
|
|
+ processedContent = processedContent.replace(/<p>([\s\S]*?)<\/p>/gi, (match, content) => {
|
|
|
+ if (!match.includes('color:')) {
|
|
|
+ return `<p><span style="color: rgb(255, 255, 255);">${content}</span></p>`;
|
|
|
+ }
|
|
|
+ return match;
|
|
|
+ });
|
|
|
+
|
|
|
+ // 将所有颜色相关的样式替换为白色 - 确保在黑色背景下可读
|
|
|
+ processedContent = processedContent.replace(/color:\s*[^;"}>']*/gi, 'color: rgb(255, 255, 255)');
|
|
|
+
|
|
|
+ // 更新回 form
|
|
|
+ form.value.content = processedContent;
|
|
|
+ }
|
|
|
+
|
|
|
if (form.value.id) {
|
|
|
await updateReceivers(form.value).finally(() => (buttonLoading.value = false));
|
|
|
} else {
|
|
|
@@ -221,6 +259,7 @@ const submitForm = () => {
|
|
|
});
|
|
|
};
|
|
|
|
|
|
+
|
|
|
/** 删除按钮操作 */
|
|
|
const handleDelete = async (row?: ReceiversVO) => {
|
|
|
const _ids = row?.id || ids.value;
|