Просмотр исходного кода

Merge branch 'master' into houxq

WINDOWS-7IFQK7E\EDY лет назад: 2
Родитель
Сommit
5f20c2ab51
4 измененных файлов с 161 добавлено и 4 удалено
  1. 16 4
      src/layout/app/components/Appheader/index.vue
  2. 12 0
      src/router/index.js
  3. 10 0
      src/views/xxzx/api.js
  4. 123 0
      src/views/xxzx/index.vue

+ 16 - 4
src/layout/app/components/Appheader/index.vue

@@ -1,8 +1,10 @@
 <template>
     <div class="app-header">
         <div class="left-logo">{{ title }}</div>
+
         <div class="right-menu">
-            <el-dropdown class="avatar-container" trigger="click" placement="bottom-end">
+          <div class="mr20 d-in-block v-mid message-info hand" @click="toMessage"></div>
+            <el-dropdown class="avatar-container v-mid" trigger="click" placement="bottom-end">
                 <div class="avatar-wrapper">
                     <img :src="avatar" class="user-avatar" />
                     <span  class="user-name">{{ username }}</span>
@@ -22,11 +24,12 @@
 </template>
 
 <script>
-import { defineComponent } from '@vue/composition-api'
+import { defineComponent, getCurrentInstance } from "@vue/composition-api";
 import { useUserStore } from '@/stores/user'
 
 export default defineComponent({
     setup() {
+       const _this = getCurrentInstance().proxy
         const userStore = useUserStore()
         const title = import.meta.env.VITE_APP_TITLE
         const avatar = userStore.avatar
@@ -34,12 +37,15 @@ export default defineComponent({
         const logout = () => {
             userStore.logout()
         }
-
+        const toMessage = () =>{
+          _this.$router.push({name:'xxzx'});
+        }
         return {
             title,
             username,
             avatar,
-            logout
+            logout,
+            toMessage
         }
     }
 })
@@ -64,6 +70,12 @@ export default defineComponent({
     }
 
     .right-menu {
+      .message-info{
+        width: 20px;
+        height: 24px;
+        background: url("@/assets/icon-message.png") center no-repeat;
+        background-size: 20px 24px;
+      }
         .avatar-container {
             cursor: pointer;
             .avatar-wrapper {

+ 12 - 0
src/router/index.js

@@ -589,6 +589,18 @@ export const allRoutes = [
             meta: { title: "组织机构与权限" }
         }]
     },
+    {
+        path: "/xxzx",
+        component: AppLayout,
+        hidden: true,
+        children: [{
+            path: "",
+            name: "xxzx",
+
+            component: () => import("@/views/xxzx/index.vue"),
+            meta: { title: "消息中心" }
+        }]
+    },
     // 404 page must be placed at the end !!!
     { path: "*", redirect: "/404", hidden: true },
 ];

+ 10 - 0
src/views/xxzx/api.js

@@ -0,0 +1,10 @@
+import request from '@/utils/request';
+export const mes_list = (data ={}) =>
+    request({
+        url: '/jdbg/xxzx/index',
+        data: {
+            keyword:data.keyword,
+            page: data.page,
+            limit:data.limit
+        }
+    })

+ 123 - 0
src/views/xxzx/index.vue

@@ -0,0 +1,123 @@
+<template>
+  <div>
+    <div class="d-flex flex-right">
+      <el-form label-width="100px" :inline="true">
+        <el-form-item prop="keyword">
+          <el-input
+              placeholder="请输入搜索关键字"
+              v-model="keyword"
+              clearable
+              @clear="getListData"
+          >
+          </el-input>
+        </el-form-item>
+        <el-button type="primary" class="ml5" @click="getListData"
+        >搜索</el-button
+        >
+      </el-form>
+    </div>
+    <el-table
+        :data="tableData"
+        tooltip-effect="dark"
+        v-loading="loading"
+        style="width: 100%"
+    >
+      <el-table-column label="序号" align="center" type="index" width="50">
+      </el-table-column>
+      <el-table-column
+          label="消息内容"
+          show-overflow-tooltip
+          prop="content"
+          width="auto"
+      ></el-table-column>
+      <el-table-column
+          label="发送人"
+          prop="fsr_user_realname"
+          width="150"
+      ></el-table-column>
+      <el-table-column
+          label="发送时间"
+          width="200"
+          prop="create_dateline_format"
+      ></el-table-column>
+      <el-table-column
+          label="发送类型"
+          width="150"
+          prop="cate"
+      ></el-table-column>
+    </el-table>
+    <footer
+        class="flex-item-none"
+        style="display: flex; justify-content: flex-end; margin-top: 30px"
+    >
+      <el-pagination
+          background
+          layout="total,prev, pager, next"
+          :page-size="limit"
+          :total="total"
+          :current-page.sync="cur_page"
+          @current-change="handleCurrentChange"
+      ></el-pagination>
+    </footer>
+  </div>
+</template>
+
+<script>
+
+import { mes_list } from "./api";
+export default {
+  name: "index",
+  data() {
+    return {
+      //  type_value: "",
+      // type_list: [],
+      keyword: "",
+      tableData: [],
+      limit: 10,
+      total: 0,
+      cur_page: 1,
+      dialogFormVisible: false,
+      dialogForm: {
+        xxmc: "",
+        cjr: "",
+        cjrq: "",
+        xxnr: "",
+        qtfj: "",
+      },
+      title: "",
+      isEdit: false,
+      id: "",
+      loading: false,
+      timestamp: Date.now(),
+    };
+  },
+
+  methods: {
+    getListData() {
+      this.loading = true;
+      let data = {
+        page: this.cur_page,
+        limit: this.limit,
+        keyword: this.keyword,
+      };
+
+     mes_list(data).then((res) => {
+        this.loading = false;
+        this.tableData = res.data.page_data;
+        this.cur_page = Number(res.data.page_now);
+        this.total = Number(res.data.total_rows);
+      });
+    },
+    handleCurrentChange(val) {
+      this.cur_page = val;
+      this.getListData();
+    }
+  },
+  mounted() {
+    this.getListData();
+  },
+};
+</script>
+
+<style scoped>
+</style>