ソースを参照

fiex:完善我的消息

Tang 3 年 前
コミット
3673fc50a0
2 ファイル変更50 行追加10 行削除
  1. 8 0
      src/apis/user.js
  2. 42 10
      src/pages/person-center/my-message/index.vue

+ 8 - 0
src/apis/user.js

@@ -253,5 +253,13 @@ export default {
 		})
 	},
 
+  //标记全部已读
+	courseappinformUserupdateAllRead(data) {
+		return request({
+			url: '/app/informUser/updateAllRead',
+			method: 'post',
+			data: data
+		})
+	},
   
 }

+ 42 - 10
src/pages/person-center/my-message/index.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="my-message">
     <div class="my-message__header">
-      <el-tabs :value="formData.systemStatus" @tab-click="tabChange">
+      <el-tabs :value="formData.systemStatusList" @tab-click="tabChange">
         <el-tab-pane
           :label="item.label"
           :name="item.systemStatus"
@@ -16,17 +16,17 @@
         <div class="content__header">
           <div class="text">
             未读共
-            <span class="note">1</span>
+            <span class="note">{{receiptNum}}</span>
           </div>
 
           <div class="btn btn--red">清空</div>
-          <div class="btn">全部标为已读</div>
+          <div class="btn" @click="uploadMsgStatus">全部标为已读</div>
         </div>
         <div class="content__body">
           <div class="no-data" v-if="list.length == 0">暂无消息</div>
           <template v-else>
-            <div class="message-list">
+            <div class="message-list" v-if="listListStatus">
               <div
                 class="message-list__item"
                 v-for="(item, index) in list"
@@ -251,7 +251,7 @@ export default {
         },
       ],
       formData: {
-        systemStatus: "1",
+        systemStatusList: "1", //1系统消息2教务消息
         pageNum: 1,
         pageSize: 10,
       },
@@ -263,27 +263,59 @@ export default {
       statusGO: true,
       total: 0,
       rebuildItems: {},
+      listListStatus: true,
+      receiptNum: 0, //未读数量
     };
   },
   mounted() {
     this.getappinformUserlist();
   },
   methods: {
+    getreceiptStatus() {
+      this.$request
+        .getappinformUserlist({
+          systemStatusList: this.formData.systemStatusList,
+          receiptStatus: 0,
+        })
+        .then((res) => {
+          this.receiptNum = res.total;
+        });
+    },
+    /**
+     * 全部已读
+     */
+    uploadMsgStatus() {
+      this.$request
+        .courseappinformUserupdateAllRead({
+          systemStatus: this.formData.systemStatusList,
+        })
+        .then((res) => {
+          this.$message.success("成功");
+          this.getappinformUserlist();
+        });
+    },
     currentChange(e) {
       this.formData.pageNum = e;
       this.getappinformUserlist();
     },
     tabChange(e) {
       if (this.activeName == e.name) return;
-      this.formData.systemStatus = e.name;
+      this.formData.systemStatusList = e.name;
       this.formData.pageNum = 1;
       this.getappinformUserlist();
     },
     getappinformUserlist() {
-      this.$request.getappinformUserlist(this.formData).then((res) => {
-        this.list = res.rows;
-        this.total = res.total;
-      });
+      this.listListStatus = false;
+      this.$request
+        .getappinformUserlist(this.formData)
+        .then((res) => {
+          this.list = res.rows;
+          this.total = res.total;
+          this.getreceiptStatus();
+        })
+        .finally(() => {
+          this.listListStatus = true;
+        });
     },
 
     getNames(int) {