Browse Source

消息优化

pengyh 1 year ago
parent
commit
96fbd36ddb
1 changed files with 64 additions and 45 deletions
  1. 64 45
      src/layout/components/Navbar.vue

+ 64 - 45
src/layout/components/Navbar.vue

@@ -36,7 +36,7 @@
         </div> -->
 		<div style="margin-right: 20px;cursor: pointer;" @click="getList();isShow = true">
 			<i class="el-icon-message-solid"></i>
-			<el-badge is-dot></el-badge>
+			<el-badge :is-dot="isDot1 || isDot2"></el-badge>
 		</div>
         <shortcut />
         <template v-if="device !== 'mobile'">
@@ -98,7 +98,7 @@
 				<div class="flex_asb">
 					<el-radio-group size="mini" v-model="readFlag" @change="getList">
 						<el-radio-button label="">全部</el-radio-button>
-						<el-badge :value="count" class="item" style="margin: 0 10px">
+						<el-badge :hidden="count>0?false:true" :value="count" class="item" style="margin: 0 10px">
 							<el-radio-button label="NO">未读</el-radio-button>
 						</el-badge>
 						<el-badge :value="count" :hidden="true" class="item" >
@@ -113,51 +113,69 @@
 			</div>
 			<el-card class="box-card" v-for="(item,index) in messageData" style="margin-top: 10px;">
 				<div @click="isShow = false;toDetail(item.adminNoticeType,item.paidType,(item.adminNoticeType=='NOTICE'?item.noticeId:item.orderId),item.id)">
-					<div class="flex_asb item">
-						<div v-if="messageType == ['NOTICE']">
-							<span>公告类型:</span>
-							<span>{{statusFilter(item.adminNoticeType)}}</span>
+					<div v-if="item.adminNoticeType == 'NOTICE'">
+						<div class="flex_asb item">
+							<div>
+								<span>公告类型:</span>
+								<span>{{statusFilter(item.adminNoticeType)}}</span>
+							</div>
+							<div class="read1" v-if="item.readFlag == 'NO'">未读</div>
+							<div class="read2" v-if="item.readFlag == 'YES'">已读</div>
 						</div>
-						<div v-else>
-							<span>消息类型:</span>
-							<span>{{statusFilter(item.adminNoticeType)}}</span>
+						<div class="item">
+							<div>
+								<span>文件标题:</span>
+								<span style="color: #409Eff">{{item.title}}</span>
+							</div>
 						</div>
-						<div class="read1" v-if="item.readFlag == 'NO'">未读</div>
-						<div class="read2" v-if="item.readFlag == 'YES'">已读</div>
-					</div>
-					<div class="item">
-						<div v-if="messageType == ['NOTICE']">
-							<span>文件标题:</span>
-							<span style="color: #409Eff">{{item.title}}</span>
+						<div class="item">
+							<div>
+								<span>发布人:</span>
+								<span>{{item.issueNickName | ''}}</span>
+							</div>
+						</div>
+						<div class="item">
+							<div>
+								<span>发布时间:</span>
+								<span>{{item.issueTime}}</span>
+							</div>
 						</div>
-						<div v-else>
-							<span>订单编号:</span>
-							<span style="color: #409Eff">{{item.orderId}}</span>
+						<div v-if="item.readFlag == 'YES'" class="item">
+							<span>阅读人:</span>
+							<span>{{item.adminNickName }} {{item.readTime}}</span>
 						</div>
 					</div>
-					<div class="item">
-						<div v-if="messageType == ['NOTICE']">
-							<span>发布人:</span>
-							<span>{{item.issueNickName | ''}}</span>
+					<div v-else>
+						<div class="flex_asb item">
+							<div>
+								<span>消息类型:</span>
+								<span>{{statusFilter(item.adminNoticeType)}}</span>
+							</div>
+							<div class="read1" v-if="item.readFlag == 'NO'">未读</div>
+							<div class="read2" v-if="item.readFlag == 'YES'">已读</div>
 						</div>
-						<div v-else>
-							<span>消息内容:</span>
-							<span>{{item.content}}</span>
+						<div class="item">
+							<div>
+								<span>订单编号:</span>
+								<span style="color: #409Eff">{{item.orderId}}</span>
+							</div>
 						</div>
-					</div>
-					<div class="item">
-						<div v-if="messageType == ['NOTICE']">
-							<span>发布时间:</span>
-							<span>{{item.issueTime}}</span>
+						<div class="item">
+							<div>
+								<span>消息内容:</span>
+								<span>{{item.content}}</span>
+							</div>
 						</div>
-						<div v-else>
-							<span>创建时间:</span>
-							<span>{{item.createTime}}</span>
+						<div class="item">
+							<div>
+								<span>创建时间:</span>
+								<span>{{item.createTime}}</span>
+							</div>
+						</div>
+						<div v-if="item.readFlag == 'YES'" class="item">
+							<span>阅读人:</span>
+							<span>{{item.adminNickName }} {{item.readTime}}</span>
 						</div>
-					</div>
-					<div v-if="item.readFlag == 'YES'" class="item">
-						<span>阅读人:</span>
-						<span>{{item.adminNickName }} {{item.readTime}}</span>
 					</div>
 				</div>
 			</el-card>
@@ -276,7 +294,7 @@ export default {
 	typeFilter() {
 		return function(val,paidType){
 			const MAP = {
-				NOTICE: 'announcement',
+				NOTICE: 'systemMessage',
 				WBI: 'applicationWithoutFee',
 				WBK: 'applicationWithoutFee',
 				CRE_ORDER: 'workOrderPool',
@@ -309,6 +327,7 @@ export default {
   },
   created(){
 	  this.getUserInfo()
+	  this.redDot()
   },
   mounted() {
     this.$store.commit('app/SET_L1_PATH', this.path)
@@ -369,7 +388,7 @@ export default {
 						{
 							style: 'cursor: pointer;',
 							on: {
-								click: that.toDetail.bind(that,item.adminNoticeType,item.paidType,item.orderId,item.id)
+								click: that.toDetail.bind(that,item.adminNoticeType,item.paidType,(item.adminNoticeType=='NOTICE'?item.noticeId:item.orderId),item.id)
 							},
 						},[
 							that.$createElement(
@@ -382,12 +401,12 @@ export default {
 								{
 									style: 'color: #409EFF;',
 								},
-								item.orderId
+								item.adminNoticeType=='NOTICE'?item.title:item.orderId
 							),
 							that.$createElement(
 								"span",
 								null,
-								item.content
+								item.adminNoticeType=='NOTICE'?'':item.content
 							),
 						// that.$createElement(
 						// 	"el-checkbox",
@@ -516,13 +535,13 @@ export default {
 		this.currentPage = val;
 		this.getList();
 	},
-	toDetail(type,paidType,id,noticeId){
+	toDetail(type,paidType,orderId,id){
 		console.log(type,id)
-		this.read(noticeId)
+		this.read(id)
 		this.$router.push({
 			name: this.typeFilter(type,paidType),
 			query: {
-				id,
+				id: orderId,
 				activeName: "workOrderInfo",
 			}
 		})