From 81172472ec22b77e0ee385d08fd4435c396ce10f Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 02 二月 2024 18:06:37 +0800
Subject: [PATCH] Mr.Shi

---
 company/src/views/index.vue |  179 ++++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 151 insertions(+), 28 deletions(-)

diff --git a/company/src/views/index.vue b/company/src/views/index.vue
index fa1dc67..a04ebf5 100644
--- a/company/src/views/index.vue
+++ b/company/src/views/index.vue
@@ -16,34 +16,87 @@
         <div class="home_content_left_item" ref="picture3"></div>
       </div>
       <div class="home_content_right">
-        <div class="home_content_right_label">浠e姙浜嬮」</div>
-        <el-tabs v-model="activeName" @tab-click="handleClick">
-          <el-tab-pane label="淇濆崟浠e姙" name="first"></el-tab-pane>
-          <el-tab-pane label="鐞嗚禂鎻愰啋" name="second"></el-tab-pane>
+        <div class="home_content_right_label" v-if="tabs && tabs.length>0" >浠e姙浜嬮」</div>
+        <el-tabs v-model="activeName" @tab-click="handleClick" >
+          <el-tab-pane v-for="a in tabs" :key="a.path" :label="a.label" :name="a.name"></el-tab-pane>
         </el-tabs>
-        <div class="home_content_right_list">
-          <div class="list_item" v-for="(item, index) in 1" :key="index">
-            <div class="list_item_left">
-              <span>鎶曚繚鐢宠锛堝緟绛剧讲锛�</span>
-              <span>淇濋櫓鏂规锛堥泧涓昏矗浠婚櫓A锛�</span>
-            </div>
-            <div class="list_item_center">
-              <span>瀹夊窘骞冲畨浜哄姏璧勬簮鏈夐檺鍏徃</span>
-              <span>鎻愪氦鏃堕棿  2023-09-11 00:00:00</span>
-            </div>
-            <div class="list_item_right">
-              <span>鏌ョ湅璇︽儏</span>
+        <div v-if="activeName === '0'"  v-permissions="['business:notice:insurance']" >
+          <div class="home_content_right_list">
+            <div class="list_item" v-for="(item, index) in tableData0" :key="index">
+              <div class="list_item_left">
+                <span>{{item.title}}锛坽{ item.typeDetail }}锛�</span>
+                <span>{{item.info}}锛坽{item.content}}锛�</span>
+              </div>
+              <div class="list_item_center">
+                <span>{{item.companyName}}</span>
+                <span>鎻愪氦鏃堕棿  {{item.createDate}}</span>
+              </div>
+              <div class="list_item_right">
+                <span>鏌ョ湅璇︽儏</span>
+              </div>
             </div>
           </div>
+          <div class="home_content_right_page">
+            <el-pagination
+                @current-change="handleCurrentChange0"
+                :current-page="page0"
+                :page-size="5"
+                layout="total, prev, pager, next, jumper"
+                :total="totalPage0">
+            </el-pagination>
+          </div>
         </div>
-        <div class="home_content_right_page">
-          <el-pagination
-            @current-change="handleCurrentChange"
-            :current-page="page"
-            :page-size="5"
-            layout="total, prev, pager, next, jumper"
-            :total="0">
-          </el-pagination>
+        <div v-if="activeName === '1'"  v-permissions="['business:notice:tax']">
+          <div class="home_content_right_list">
+            <div class="list_item" v-for="(item, index) in tableData1" :key="index">
+              <div class="list_item_left">
+                <span>{{item.title}}锛坽{ item.typeDetail }}锛�</span>
+                <span>{{item.info}}锛坽{item.content}}锛�</span>
+              </div>
+              <div class="list_item_center">
+                <span>{{item.companyName}}</span>
+                <span>鎻愪氦鏃堕棿  {{item.createDate}}</span>
+              </div>
+              <div class="list_item_right">
+                <span>鏌ョ湅璇︽儏</span>
+              </div>
+            </div>
+          </div>
+          <div class="home_content_right_page">
+            <el-pagination
+                @current-change="handleCurrentChange1"
+                :current-page="page1"
+                :page-size="5"
+                layout="total, prev, pager, next, jumper"
+                :total="totalPage1">
+            </el-pagination>
+          </div>
+        </div>
+        <div v-if="activeName === '2'"  v-permissions="['business:notice:settle']">
+          <div class="home_content_right_list">
+            <div class="list_item" v-for="(item, index) in tableData2" :key="index">
+              <div class="list_item_left">
+                <span>{{item.title}}锛坽{ item.typeDetail }}锛�</span>
+                <span>{{item.info}}锛坽{item.content}}锛�</span>
+              </div>
+              <div class="list_item_center">
+                <span>{{item.companyName}}</span>
+                <span>鎻愪氦鏃堕棿  {{item.createDate}}</span>
+              </div>
+              <div class="list_item_right">
+                <span>鏌ョ湅璇︽儏</span>
+              </div>
+            </div>
+          </div>
+          <div class="home_content_right_page">
+            <el-pagination
+                @current-change="handleCurrentChange2"
+                :current-page="page2"
+                :page-size="5"
+                layout="total, prev, pager, next, jumper"
+                :total="totalPage2">
+            </el-pagination>
+          </div>
         </div>
       </div>
     </div>
@@ -52,12 +105,23 @@
 
 <script>
 import * as echarts from 'echarts';
+import {mapState} from "vuex";
+import { fetchList as noticeList } from '@/api/business/notices'
 export default {
   name: 'Index',
   data () {
     return {
-      activeName: 'first',
-      page: 1,
+      activeName: '0',
+      tabs:[],
+      page0: 1,
+      page1: 1,
+      page2: 1,
+      totalPage2: 0,
+      totalPage1: 0,
+      totalPage0: 0,
+      tableData0:[],
+      tableData1:[],
+      tableData2:[],
       cate: [
         {
           name: '鎶曚繚鐢宠',
@@ -87,17 +151,76 @@
       ]
     }
   },
+  computed: {
+    ...mapState(['userInfo'])
+  },
   mounted() {
     this.setPicture1()
     this.setPicture2()
     this.setPicture3()
+    this.initPanel()
   },
   methods: {
+    getNoticeList(type,page){
+      noticeList({
+            page: page,
+            capacity: 5,
+            model: { queryType:type},
+            sorts: []
+          })
+          .then(response => {
+            if(type ===0){
+              this.tableData0 = response.records
+              this.totalPage0 = response.total
+            }
+            if(type ===1){
+              this.tableData1 = response.records
+              this.totalPage1 = response.total
+            } if(type ===2){
+              this.tableData2 = response.records
+              this.totalPage2 = response.total
+            }
+          })
+          .catch(e => {
+            this.$tip.apiFailed(e)
+          })
+    },
+    initPanel(){
+      var pemissons = this.userInfo.permissions
+
+      if(pemissons.includes("business:notice:insurance")){
+        this.tabs.push( {name:"0",label:"鎶曚繚浠e姙"})
+      }
+      if(pemissons.includes("business:notice:tax")){
+        this.tabs.push( {name:"1",label:"鍙戠エ浠e姙"})
+      }
+      if(pemissons.includes("business:notice:settle")){
+        this.tabs.push( {name:"2",label:"鐞嗚禂浠e姙"})
+      }
+      if(pemissons.includes("business:notice:insurance")){
+        this.getNoticeList(0,this.page0 )
+      }
+      if(pemissons.includes("business:notice:tax")){
+        this.getNoticeList(1,this.page1 )
+      }
+      if(pemissons.includes("business:notice:settle")){
+        this.getNoticeList(2,this.page2 )
+      }
+    },
     handleClick(e) {
       this.activeName = e.name
     },
-    handleCurrentChange(page) {
-      this.page = page
+    handleCurrentChange0(page) {
+      this.page0 = page
+      this.getNoticeList(0,this.page0 )
+    },
+    handleCurrentChange1(page) {
+      this.page1 = page
+      this.getNoticeList(1,this.page1 )
+    },
+    handleCurrentChange2(page) {
+      this.page2 = page
+      this.getNoticeList(2,this.page2)
     },
     jump(url) {
       if (!url) return;

--
Gitblit v1.9.3