From 6e41324f84f0cf70871ca05292c5420bdcaaa98c Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期日, 04 二月 2024 14:36:33 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 company/src/views/index.vue |  257 +++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 209 insertions(+), 48 deletions(-)

diff --git a/company/src/views/index.vue b/company/src/views/index.vue
index fa1dc67..f459835 100644
--- a/company/src/views/index.vue
+++ b/company/src/views/index.vue
@@ -2,8 +2,14 @@
   <div class="home">
     <div class="home_inlet">
       <div class="home_inlet_label">蹇嵎鍏ュ彛</div>
-      <div class="home_inlet_list">
+      <div class="home_inlet_list" v-if="userInfo.type==1" >
         <div class="home_inlet_item" v-for="(item, index) in cate" :key="index" @click="jump(item.url)">
+          <img :src="item.icon" />
+          <span>{{item.name}}</span>
+        </div>
+      </div>
+      <div class="home_inlet_list" v-else >
+        <div class="home_inlet_item" v-for="(item, index) in catePlat" :key="index" @click="jump(item.url)">
           <img :src="item.icon" />
           <span>{{item.name}}</span>
         </div>
@@ -16,34 +22,91 @@
         <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" :name="a.name" >
+             <span slot="label"> {{a.label }}
+                        <el-badge v-if="(a.name==0?totalPage0:(a.name==1?totalPage1:totalPage2))  >0" :value="(a.name==0?totalPage0:(a.name==1?totalPage1:totalPage2)) " class="item"></el-badge>
+                    </span>
+          </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,52 +115,149 @@
 
 <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: '鎶曚繚鐢宠',
-          url: '',
-          icon: require('../assets/logo.png')
-        },
-        {
-          name: '鍔犱繚鐢宠',
-          url: '',
-          icon: require('../assets/logo.png')
-        },
-        {
-          name: '鍑忎繚鐢宠',
-          url: '',
-          icon: require('../assets/logo.png')
-        },
-        {
-          name: '鍚堝悓绠$悊',
-          url: '',
-          icon: require('../assets/logo.png')
+          url: '/enterprise/insuranceApply',
+          icon: require('../assets/icons/company/apply.png')
         },
         {
           name: '鎻愪氦鎶ユ',
-          url: '',
-          icon: require('../assets/logo.png')
+          url: '/business/settleClaims',
+          icon: require('../assets/icons/company/settle.png')
+        },
+        {
+          name: '娣诲姞娲鹃仯鍗曚綅',
+          url: '/enterprise/dispatchUnit',
+          icon: require('../assets/icons/company/dipatch_unit.png')
+        },
+        {
+          name: '鐩翠繚寮�绁�',
+          url: '/enterprise/directInvoicing',
+          icon: require('../assets/icons/company/tax.png')
+        },
+        {
+          name: '濮旀墭淇濆紑绁�',
+          url: '/enterprise/entrustedInvoicing',
+          icon: require('../assets/icons/company/tax.png')
+        }
+      ],
+      catePlat: [
+        {
+          name: '鎶曚繚瀹℃牳',
+          url: '/business/insuranceApply',
+          icon: require('../assets/icons/plat/apply_check.png')
+        },
+        {
+          name: '鍔�/鍑忎繚瀹℃牳',
+          url: '/business/applyChange',
+          icon: require('../assets/icons/plat/change_apply_check.png')
+        },
+        {
+          name: '鐞嗚禂鏈嶅姟',
+          url: '/business/settleClaims',
+          icon: require('../assets/icons/plat/settle_check.png')
+        },
+        {
+          name: '鍙戠エ绠$悊',
+          url: '/business/taxes',
+          icon: require('../assets/icons/plat/tax_check.png')
+        },
+        {
+          name: '鏂板浼佷笟',
+          url: '/business/company',
+          icon: require('../assets/icons/plat/company_add.png')
         }
       ]
     }
+  },
+  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;
@@ -318,6 +478,7 @@
           }
           .list_item_left {
             display: flex;
+            width: 60%;
             flex-direction: column;
             span {
               &:nth-child(1) {

--
Gitblit v1.9.3