zuohuaijun 3 лет назад
Родитель
Сommit
298d948ce8

+ 5 - 2
Web/src/layout/navBars/breadcrumb/userNews.vue

@@ -10,7 +10,7 @@
 					<template v-if="noticeList.length > 0">
 						<div class="notice-item" v-for="(v, k) in noticeList" :key="k" @click="viewNoticeDetail(v)" v-show="v.readStatus == 1 ? false : true">
 							<div class="notice-title">{{ v.type == 1 ? '【通知】' : '【公告】' }}{{ v.title }}</div>
-							<div class="notice-msg">{{ v.content }}</div>
+							<div class="notice-content">{{ removeHtmlSub(v.content) }}</div>
 							<div class="notice-time">{{ v.publicTime }}</div>
 							<el-divider border-style="dashed" style="margin: 10px 0" />
 						</div>
@@ -44,11 +44,14 @@
 import { reactive } from 'vue';
 import { SysNoticeApi } from '/@/api-services/api';
 import router from '/@/router';
+import commonFunction from '/@/utils/commonFunction';
+
 import { getAPI } from '/@/utils/axios-utils';
 
 defineProps({
 	noticeList: Array as any,
 });
+const { removeHtmlSub } = commonFunction();
 const state = reactive({
 	dialogVisible: false,
 	content: '',
@@ -88,7 +91,7 @@ const viewNoticeDetail = async (notice: any) => {
 			// .notice-title {
 			// 	color: var(--el-color-primary);
 			// }
-			.notice-msg {
+			.notice-content {
 				color: var(--el-text-color-secondary);
 				margin-top: 3px;
 				margin-bottom: 3px;

+ 12 - 0
Web/src/utils/commonFunction.ts

@@ -53,6 +53,16 @@ export default function () {
 			}
 		});
 	};
+	// 去掉Html标签(取前面5个字符)
+	const removeHtmlSub = (value: string) => {
+		var str = value.replace(/<[^>]+>/g, '');
+		if (str.length > 50) return str.substring(0, 50) + '......';
+		else return str;
+	};
+	// 去掉Html标签
+	const removeHtml = (value: string) => {
+		return value.replace(/<[^>]+>/g, '');
+	};
 	return {
 		percentFormat,
 		dateFormatYMD,
@@ -61,5 +71,7 @@ export default function () {
 		scaleFormat,
 		scale2Format,
 		copyText,
+		removeHtmlSub,
+		removeHtml,
 	};
 }

+ 6 - 1
Web/src/views/home/notice/index.vue

@@ -22,7 +22,9 @@
 			<el-table :data="noticeData" style="width: 100%" v-loading="loading" border :row-class-name="tableRowClassName">
 				<el-table-column type="index" label="序号" width="55" align="center" />
 				<el-table-column prop="sysNotice.title" label="标题" show-overflow-tooltip />
-				<el-table-column prop="sysNotice.content" label="内容" show-overflow-tooltip />
+				<el-table-column prop="sysNotice.content" label="内容" show-overflow-tooltip>
+					<template #default="scope"> {{ removeHtml(scope.row.sysNotice.content) }} </template>
+				</el-table-column>
 				<el-table-column prop="sysNotice.type" label="类型" width="100" align="center" show-overflow-tooltip>
 					<template #default="scope">
 						<el-tag v-if="scope.row.sysNotice.type === 1"> 通知 </el-tag>
@@ -69,6 +71,7 @@
 
 <script lang="ts">
 import { toRefs, reactive, onMounted, defineComponent, onUnmounted, getCurrentInstance } from 'vue';
+import commonFunction from '/@/utils/commonFunction';
 
 import { getAPI } from '/@/utils/axios-utils';
 import { SysNoticeApi } from '/@/api-services/api';
@@ -79,6 +82,7 @@ export default defineComponent({
 	components: {},
 	setup() {
 		const { proxy } = getCurrentInstance() as any;
+		const { removeHtml } = commonFunction();
 		const state = reactive({
 			loading: false,
 			noticeData: [] as Array<SysNoticeUser>,
@@ -148,6 +152,7 @@ export default defineComponent({
 			handleSizeChange,
 			handleCurrentChange,
 			tableRowClassName,
+			removeHtml,
 			...toRefs(state),
 		};
 	},

+ 6 - 1
Web/src/views/system/notice/index.vue

@@ -23,7 +23,9 @@
 			<el-table :data="noticeData" style="width: 100%" v-loading="loading" border>
 				<el-table-column type="index" label="序号" width="55" align="center" />
 				<el-table-column prop="title" label="标题" show-overflow-tooltip />
-				<el-table-column prop="content" label="内容" show-overflow-tooltip />
+				<el-table-column prop="content" label="内容" show-overflow-tooltip>
+					<template #default="scope"> {{ removeHtml(scope.row.content) }} </template>
+				</el-table-column>
 				<el-table-column prop="type" label="类型" width="100" align="center" show-overflow-tooltip>
 					<template #default="scope">
 						<el-tag v-if="scope.row.type === 1"> 通知 </el-tag>
@@ -66,6 +68,7 @@
 <script lang="ts">
 import { toRefs, reactive, onMounted, ref, defineComponent, onUnmounted, getCurrentInstance } from 'vue';
 import { ElMessageBox, ElMessage } from 'element-plus';
+import commonFunction from '/@/utils/commonFunction';
 import EditNotice from '/@/views/system/notice/component/editNotice.vue';
 
 import { getAPI } from '/@/utils/axios-utils';
@@ -78,6 +81,7 @@ export default defineComponent({
 	setup() {
 		const { proxy } = getCurrentInstance() as any;
 		const editNoticeRef = ref();
+		const { removeHtml } = commonFunction();
 		const state = reactive({
 			loading: false,
 			noticeData: [] as Array<SysNotice>,
@@ -174,6 +178,7 @@ export default defineComponent({
 			publicNotice,
 			handleSizeChange,
 			handleCurrentChange,
+			removeHtml,
 			...toRefs(state),
 		};
 	},