From 39ae52b3f65e2bba3b6570adb51e791cb3befff7 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期三, 02 七月 2025 16:32:29 +0800
Subject: [PATCH] 提交

---
 company/src/views/index.vue |  934 ++++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 736 insertions(+), 198 deletions(-)

diff --git a/company/src/views/index.vue b/company/src/views/index.vue
index a04ebf5..13ee9ea 100644
--- a/company/src/views/index.vue
+++ b/company/src/views/index.vue
@@ -1,27 +1,39 @@
-<template>
+  <template>
   <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>
       </div>
     </div>
     <div class="home_content">
-      <div class="home_content_left">
-        <div class="home_content_left_item" ref="picture1"></div>
+      <div class="home_content_left" >
+        <div class="home_content_left_item" v-if="userInfo.type == 0" ref="picture1"></div>
+        <div class="home_content_left_item" v-if="userInfo.type == 1" ref="picture4"></div>
         <div class="home_content_left_item" ref="picture2"></div>
-        <div class="home_content_left_item" ref="picture3"></div>
+        <div class="home_content_left_item" v-if="userInfo.type == 0" ref="picture3"></div>
+        <div class="home_content_left_item" v-if="userInfo.type == 1" ref="picture6"></div>
       </div>
       <div class="home_content_right">
-        <div class="home_content_right_label" v-if="tabs && tabs.length>0" >浠e姙浜嬮」</div>
+        <div class="home_content_right_label" v-if="tabs && tabs.length>0" >寰呭姙浜嬮」</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-tab-pane v-for="a in tabs" :key="a.path" :name="a.name" >
+             <span slot="label" title="鐐瑰嚮鍒锋柊"> {{a.label }}
+                        <el-badge v-if="getTotalNoticeCount(a)  >0" :value="getTotalNoticeCount(a) " class="item"></el-badge>
+                    </span>
+          </el-tab-pane>
         </el-tabs>
         <div v-if="activeName === '0'"  v-permissions="['business:notice:insurance']" >
-          <div class="home_content_right_list">
+          <div class="home_content_right_list" v-if="tableData0 && tableData0.length">
             <div class="list_item" v-for="(item, index) in tableData0" :key="index">
               <div class="list_item_left">
                 <span>{{item.title}}锛坽{ item.typeDetail }}锛�</span>
@@ -32,8 +44,13 @@
                 <span>鎻愪氦鏃堕棿  {{item.createDate}}</span>
               </div>
               <div class="list_item_right">
-                <span>鏌ョ湅璇︽儏</span>
+                <span @click="detail(item)">鏌ョ湅</span>
               </div>
+            </div>
+          </div>
+          <div class="home_content_right_list" v-else>
+            <div class="list_item" style="width: 100%;font-size: 12px;display:block;color: #8c939d;text-align: center; padding: 20px">
+              鏆傛棤娑堟伅
             </div>
           </div>
           <div class="home_content_right_page">
@@ -47,7 +64,7 @@
           </div>
         </div>
         <div v-if="activeName === '1'"  v-permissions="['business:notice:tax']">
-          <div class="home_content_right_list">
+          <div class="home_content_right_list" v-if="tableData1 && tableData1.length">
             <div class="list_item" v-for="(item, index) in tableData1" :key="index">
               <div class="list_item_left">
                 <span>{{item.title}}锛坽{ item.typeDetail }}锛�</span>
@@ -58,8 +75,13 @@
                 <span>鎻愪氦鏃堕棿  {{item.createDate}}</span>
               </div>
               <div class="list_item_right">
-                <span>鏌ョ湅璇︽儏</span>
+                <span  @click="detail(item)">鏌ョ湅</span>
               </div>
+            </div>
+          </div>
+          <div class="home_content_right_list" v-else>
+            <div class="list_item" style="width: 100%;font-size: 12px;display:block;color: #8c939d;text-align: center; padding: 20px">
+              鏆傛棤娑堟伅
             </div>
           </div>
           <div class="home_content_right_page">
@@ -73,19 +95,27 @@
           </div>
         </div>
         <div v-if="activeName === '2'"  v-permissions="['business:notice:settle']">
-          <div class="home_content_right_list">
+          <div class="home_content_right_list" v-if="tableData2 && tableData2.length">
             <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>
+<!--
+                <span style="font-size: 12px;color: #8c939d;margin-top: 10px">{{item.createDate}}</span>
+-->
               </div>
               <div class="list_item_center">
                 <span>{{item.companyName}}</span>
                 <span>鎻愪氦鏃堕棿  {{item.createDate}}</span>
               </div>
               <div class="list_item_right">
-                <span>鏌ョ湅璇︽儏</span>
+                <span  @click="detail(item)">鏌ョ湅</span>
               </div>
+            </div>
+          </div>
+          <div class="home_content_right_list" v-else>
+            <div class="list_item" style="width: 100%;font-size: 12px;display:block;color: #8c939d;text-align: center; padding: 20px">
+              鏆傛棤娑堟伅
             </div>
           </div>
           <div class="home_content_right_page">
@@ -98,55 +128,215 @@
             </el-pagination>
           </div>
         </div>
+        <div v-if="activeName === '6'">
+          <div class="home_content_right_list" v-if="tableData6 && tableData6.length">
+            <div class="list_item" v-for="(item, index) in tableData6" :key="index">
+              <div class="list_item_left">
+                <span>{{item.title}}锛坽{ item.typeDetail }}锛�</span>
+                <span>{{item.content}}</span>
+              </div>
+              <div class="list_item_center">
+                <span>{{item.companyName}}</span>
+                <span>鎻愪氦鏃堕棿  {{item.createDate}}</span>
+              </div>
+              <div class="list_item_right">
+                <span @click="jump('/business/contract')">鏌ョ湅</span>
+              </div>
+            </div>
+          </div>
+          <div class="home_content_right_list" v-else>
+            <div class="list_item" style="width: 100%;font-size: 12px;display:block;color: #8c939d;text-align: center; padding: 20px">
+              鏆傛棤娑堟伅
+            </div>
+          </div>
+          <div class="home_content_right_page">
+            <el-pagination
+              @current-change="handleCurrentChange6"
+              :current-page="page6"
+              :page-size="5"
+              layout="total, prev, pager, next, jumper"
+              :total="totalPage6">
+            </el-pagination>
+          </div>
+        </div>
+        <div v-if="activeName === '7'">
+          <div class="home_content_right_list" v-if="tableData7 && tableData7.length">
+            <div class="list_item" v-for="(item, index) in tableData7" :key="index">
+              <div class="list_item_left">
+                <span>{{item.title}}锛坽{ item.typeDetail }}锛�</span>
+                <span>{{item.content}}</span>
+              </div>
+              <div class="list_item_center">
+                <span>{{item.companyName}}</span>
+                <span>鎻愪氦鏃堕棿  {{item.createDate}}</span>
+              </div>
+              <div class="list_item_right">
+                <span @click="jump('/business/solutions')">鏌ョ湅</span>
+              </div>
+            </div>
+          </div>
+          <div class="home_content_right_list" v-else>
+            <div class="list_item" style="width: 100%;font-size: 12px;display:block;color: #8c939d;text-align: center; padding: 20px">
+              鏆傛棤娑堟伅
+            </div>
+          </div>
+          <div class="home_content_right_page">
+            <el-pagination
+              @current-change="handleCurrentChange7"
+              :current-page="page7"
+              :page-size="5"
+              layout="total, prev, pager, next, jumper"
+              :total="totalPage7">
+            </el-pagination>
+          </div>
+        </div>
+        <div v-if="activeName === '8'">
+          <div class="home_content_right_list" v-if="tableData8 && tableData8.length">
+            <div class="list_item" v-for="(item, index) in tableData8" :key="index">
+              <div class="list_item_left">
+                <span>{{item.title}}锛堝緟瀹℃牳锛�</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 @click="jump('/business/companyUserApply')">鏌ョ湅</span>
+              </div>
+            </div>
+          </div>
+          <div class="home_content_right_list" v-else>
+            <div class="list_item" style="width: 100%;font-size: 12px;display:block;color: #8c939d;text-align: center; padding: 20px">
+              鏆傛棤娑堟伅
+            </div>
+          </div>
+          <div class="home_content_right_page">
+            <el-pagination
+              @current-change="handleCurrentChange8"
+              :current-page="page8"
+              :page-size="5"
+              layout="total, prev, pager, next, jumper"
+              :total="totalPage8">
+            </el-pagination>
+          </div>
+        </div>
+
       </div>
     </div>
+    <OperaInsuranceApplyWindow ref="operaInsuranceApplyWindow" @success="handleCurrentChange0()"/>
+    <OperaWtbApplyShopWindow ref="OperaWatbApplyShopWindow" @success="handleCurrentChange0()"/>
+    <dispatchUnitDetailsPlat ref="dispatchUnitDetailsPlat" @success="handleCurrentChange0()"/>
+    <OperaSettleClaimsWindow ref="operaSettleClaimsWindow" @success="handleCurrentChange2()"/>
+    <OperaApplyChangeUnitDetailWindow ref="operaApplyChangeUnitDetailWindow" @success="handleCurrentChange0()"/>
+    <OperaApplyChangeDetailWindow ref="operaApplyChangeDetailWindow" @success="handleCurrentChange0()"/>
+    <OperaTaxesWindow ref="OperaTaxesWindow" @success="handleCurrentChange1()"/>
   </div>
 </template>
 
 <script>
-import * as echarts from 'echarts';
-import {mapState} from "vuex";
-import { fetchList as noticeList } from '@/api/business/notices'
+import * as echarts from 'echarts'
+import { mapState } from 'vuex'
+import OperaInsuranceApplyWindow from '@/components/business/OperaInsuranceApplyWindow'
+import dispatchUnitDetailsPlat from '@/components/business/dispatchUnitDetailsPlat'
+import OperaApplyChangeUnitDetailWindow from '@/components/business/OperaApplyChangeUnitDetailWindow'
+import OperaSettleClaimsWindow from '@/components/business/OperaSettleClaimsWindow'
+import OperaApplyChangeDetailWindow from '@/components/business/OperaApplyChangeDetailWindow'
+import OperaTaxesWindow from '@/components/business/OperaTaxesWindow'
+import { fetchList as noticeList, deleById } from '@/api/business/notices'
+import { getAddReduceData, getSettleClaimsMoney, getInsuranceNum, getInsuranceApplyStatusData, getInsuranceMemberData, getInsuranceApplyDataVO, getInsuranceApplyReportDataVO } from '@/api/business/insuranceApply'
+import OperaWtbApplyShopWindow from '@/components/business/OperaWtbApplyShopWindow'
+
 export default {
+  components: {
+    OperaWtbApplyShopWindow,
+    OperaInsuranceApplyWindow,
+    dispatchUnitDetailsPlat,
+    OperaTaxesWindow,
+    OperaSettleClaimsWindow,
+    OperaApplyChangeDetailWindow,
+    OperaApplyChangeUnitDetailWindow
+  },
   name: 'Index',
   data () {
     return {
       activeName: '0',
-      tabs:[],
+      tabs: [],
       page0: 1,
       page1: 1,
       page2: 1,
+      page6: 1,
+      page7: 1,
+      page8: 1,
+      totalPage8: 0,
+      totalPage7: 0,
+      totalPage6: 0,
       totalPage2: 0,
       totalPage1: 0,
       totalPage0: 0,
-      tableData0:[],
-      tableData1:[],
-      tableData2:[],
+      tableData0: [],
+      tableData1: [],
+      tableData2: [],
+      tableData6: [],
+      tableData7: [],
+      tableData8: [],
       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: '/business/member',
+          icon: require('../assets/icons/company/image.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')
         }
       ]
     }
@@ -154,195 +344,536 @@
   computed: {
     ...mapState(['userInfo'])
   },
-  mounted() {
-    this.setPicture1()
+  mounted () {
+    if (this.userInfo.type == 0) {
+      this.setPicture1()
+      this.setPicture3()
+    } else if (this.userInfo.type == 1) {
+      this.setPicture4()
+      this.setPicture6()
+    }
     this.setPicture2()
-    this.setPicture3()
     this.initPanel()
+    this.setLoadTimer()
   },
   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)
-          })
+    getTotalNoticeCount (a) {
+      if (a.name == 0) {
+        return this.totalPage0
+      } else if (a.name == 1) {
+        return this.totalPage1
+      } else if (a.name == 2) {
+        return this.totalPage2
+      } else if (a.name == 6) {
+        return this.totalPage6
+      } else if (a.name == 7) {
+        return this.totalPage7
+      } else if (a.name == 8) {
+        return this.totalPage8
+      }
+
+      return 0
     },
-    initPanel(){
+    detail (obj) {
+      if (obj.objType === 0) {
+        getDetail(obj.objId).then(res => {
+          if (res.solutionType == 0) {
+            this.$refs.operaInsuranceApplyWindow.open('鎶曚繚鐢宠璇︽儏', { id: obj.objId })
+          } else {
+            this.$refs.OperaWtbApplyShopWindow.open('濮旀墭鎶曚繚鐢宠璇︽儏', { id: obj.objId })
+          }
+        }).catch(err => {
+        })
+      } else if (obj.objType === 1) {
+        getChangeDetail(obj.objId).then(res => {
+          this.$refs.operaApplyChangeDetailWindow.open('鍔犲噺淇濊鎯�', { id: obj.objId, applyId: res.applyId })
+        }).catch(err => {
+        })
+      } else if (obj.objType === 2) {
+        getChangeDetail(obj.objId).then(res => {
+          this.$refs.operaApplyChangeUnitDetailWindow.open('鏇存崲娲鹃仯鍗曚綅鐢宠璇︽儏', { id: obj.objId, applyId: res.applyId })
+        }).catch(err => {
+        })
+      } else if (obj.objType === 3) {
+        this.$refs.dispatchUnitDetailsPlat.open('娲鹃仯鍗曡鎯�', { id: obj.objId })
+      } else if (obj.objType === 4) {
+        this.$refs.OperaTaxesWindow.open('寮�绁ㄧ敵璇疯鎯�', { id: obj.objId })
+      } else if (obj.objType === 5) {
+        this.$refs.operaSettleClaimsWindow.open('鎶ユ鐞嗚禂璇︽儏', obj.objId)
+        if ([1, 4, 7, 13, 14, 15, 16, 17, 18].includes(obj.type)) {
+          // 濡傛灉鏄彁閱掔疮娑堟伅锛屽垹闄ら�氱煡
+          deleById(obj.id)
+            .then(res => {
+              this.tableData2.forEach((item, index) => {
+                if (item.id === obj.id) {
+                  this.tableData2.splice(index, 1)
+                  this.totalPage2 = this.totalPage2 - 1
+                }
+              })
+              // this.$refs.operaSettleClaimsWindow.open('鎶ユ鐞嗚禂璇︽儏', obj.objId)
+            })
+        }
+      }
+    },
+    setLoadTimer () {
+      var that = this
+      this.initLoadData()
+      if (window.timer) {
+        clearInterval(window.timer)
+      }
+      window.timer = setInterval(() => {
+        that.initLoadData()
+      }, 60000)
+    },
+    initLoadData () {
+      var pemissons = this.userInfo.permissions
+      if (pemissons.includes('business:notice:insurance')) {
+        this.handleCurrentChange0(0)
+      }
+      if (pemissons.includes('business:notice:tax')) {
+        this.handleCurrentChange1(0)
+      }
+      if (pemissons.includes('business:notice:settle')) {
+        this.handleCurrentChange2(0)
+      }
+    },
+    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
+          }
+          if (type === 6) {
+            this.tableData6 = response.records
+            this.totalPage6 = response.total
+          }
+          if (type === 7) {
+            this.tableData7 = response.records
+            this.totalPage7 = response.total
+          }
+          if (type === 8) {
+            this.tableData8 = response.records
+            this.totalPage8 = 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:insurance')) {
+        this.tabs.push({ name: '0', label: '鎶曚繚寰呭姙' })
+        // this.handleCurrentChange0(0);
       }
-      if(pemissons.includes("business:notice:tax")){
-        this.tabs.push( {name:"1",label:"鍙戠エ浠e姙"})
+      if (pemissons.includes('business:notice:tax') && this.userInfo.type !== 1) {
+        this.tabs.push({ name: '1', label: '鍙戠エ寰呭姙' })
+        // this.handleCurrentChange1(0);
       }
-      if(pemissons.includes("business:notice:settle")){
-        this.tabs.push( {name:"2",label:"鐞嗚禂浠e姙"})
+      if (pemissons.includes('business:notice:settle')) {
+        this.tabs.push({ name: '2', label: '鎶ユ鐞嗚禂' })
+        // this.handleCurrentChange2(0);
       }
-      if(pemissons.includes("business:notice:insurance")){
-        this.getNoticeList(0,this.page0 )
+      if (this.userInfo.type === 1) {
+        this.tabs.push({ name: '7', label: '鏂规绛剧讲鎻愰啋' })
       }
-      if(pemissons.includes("business:notice:tax")){
-        this.getNoticeList(1,this.page1 )
+      this.tabs.push({ name: '6', label: '鍚堝悓绛剧讲鎻愰啋' })
+      if (this.userInfo.type === 0) {
+        this.tabs.push({ name: '8', label: '闆嗗洟鐢宠鎻愰啋' })
       }
-      if(pemissons.includes("business:notice:settle")){
-        this.getNoticeList(2,this.page2 )
+      /* 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) {
+    handleClick (e) {
       this.activeName = e.name
+      if (this.activeName === '0') {
+        this.handleCurrentChange0(0)
+      } else if (this.activeName === '1') {
+        this.handleCurrentChange1(0)
+      } else if (this.activeName === '2') {
+        this.handleCurrentChange2(0)
+      } else if (this.activeName === '6') {
+        this.handleCurrentChange6(0)
+      } else if (this.activeName === '7') {
+        this.handleCurrentChange7(0)
+      } else if (this.activeName === '8') {
+        this.handleCurrentChange8(0)
+      }
     },
-    handleCurrentChange0(page) {
+    handleCurrentChange0 (page) {
       this.page0 = page
-      this.getNoticeList(0,this.page0 )
+      this.getNoticeList(0, this.page0)
     },
-    handleCurrentChange1(page) {
+    handleCurrentChange1 (page) {
       this.page1 = page
-      this.getNoticeList(1,this.page1 )
+      this.getNoticeList(1, this.page1)
     },
-    handleCurrentChange2(page) {
+    handleCurrentChange2 (page) {
       this.page2 = page
-      this.getNoticeList(2,this.page2)
+      this.getNoticeList(2, this.page2)
     },
-    jump(url) {
-      if (!url) return;
-      this.$router.push({ path: url });
+    handleCurrentChange6 (page) {
+      this.page6 = page
+      this.getNoticeList(6, this.page6)
+    },
+    handleCurrentChange7 (page) {
+      this.page7 = page
+      this.getNoticeList(7, this.page7)
+    },
+    handleCurrentChange8 (page) {
+      this.page8 = page
+      this.getNoticeList(8, this.page8)
+    },
+    jump (url) {
+      if (!url) return
+      this.$router.push({ path: url })
     },
     setPicture1 () {
-      let chartDom = this.$refs.picture1;
-      let myChart = echarts.init(chartDom);
-      let option
-      option = {
-        title: {
-          text: '褰撴湀淇濋櫓閲戦',
-          left: '5%',
-          top: '5%'
-        },
-        tooltip: {
-          trigger: 'item'
-        },
-        series: [
-          {
-            type: 'pie',
-            radius: '50%',
-            data: [
-              { value: 1048, name: '淇濋殰涓�' },
-              { value: 735, name: '涓嶅湪淇�' },
-            ],
-            emphasis: {
-              itemStyle: {
-                shadowBlur: 10,
-                shadowOffsetX: 0,
-                shadowColor: 'rgba(0, 0, 0, 0.5)'
+      getInsuranceNum()
+        .then(res => {
+          const chartDom = this.$refs.picture1
+          const myChart = echarts.init(chartDom)
+          const option = {
+            title: {
+              text: '宸叉姇淇濆崟',
+              left: '5%',
+              top: '5%'
+            },
+            legend: {
+              orient: 'vertical',
+              left: 'right',
+              top: '30%'
+            },
+            tooltip: {
+              trigger: 'item'
+            },
+            label: {
+              alignTo: 'edge',
+              formatter: '{b}: ({d}%)',
+              minMargin: 5,
+              edgeDistance: 10,
+              lineHeight: 15,
+              rich: {
+                time: {
+                  fontSize: 10,
+                  color: '#999'
+                }
               }
-            }
+            },
+            series: [
+              {
+                type: 'pie',
+                data: [
+                  { value: res.zbInsuranceNum || 0, name: '鐩翠繚' },
+                  { value: res.wtbInsuranceNum || 0, name: '濮旀墭鎶曚繚' }
+                ],
+                radius: ['30%', '50%'],
+                avoidLabelOverlap: false,
+                emphasis: {
+                  itemStyle: {
+                    shadowBlur: 10,
+                    shadowOffsetX: 0,
+                    shadowColor: 'rgba(0, 0, 0, 0.5)'
+                  }
+                }
+              }
+            ]
           }
-        ]
-      };
 
-      option && myChart.setOption(option);
+          option && myChart.setOption(option)
+        })
+    },
+    setPicture4 () {
+      getInsuranceApplyStatusData()
+        .then(res => {
+          const chartDom = this.$refs.picture4
+          const myChart = echarts.init(chartDom)
+          var yd = []
+          if (res && res.length > 0) {
+            res.forEach(item => {
+              yd.push({ name: item.dataFirst, value: item.dataSecond || 0 })
+            })
+          }
+          const option = {
+            title: {
+              text: '宸叉姇淇濆崟鍚勭姸鎬佸崰姣�',
+              left: '5%',
+              top: '5%'
+            },
+            legend: {
+              orient: 'vertical',
+              left: 'right',
+              top: '30%'
+            },
+            tooltip: {
+              trigger: 'item'
+            },
+            label: {
+              alignTo: 'edge',
+              formatter: '{b}: ({c}涓�)',
+              minMargin: 5,
+              edgeDistance: 10,
+              lineHeight: 15,
+              rich: {
+                time: {
+                  fontSize: 10,
+                  color: '#999'
+                }
+              }
+            },
+            series: [
+              {
+                type: 'pie',
+                data: yd,
+                radius: ['30%', '50%'],
+                avoidLabelOverlap: false,
+                emphasis: {
+                  itemStyle: {
+                    shadowBlur: 10,
+                    shadowOffsetX: 0,
+                    shadowColor: 'rgba(0, 0, 0, 0.5)'
+                  }
+                }
+              }
+            ]
+          }
+
+          option && myChart.setOption(option)
+        })
+    },
+    setPicture6 () {
+      getInsuranceMemberData()
+        .then(res => {
+          const chartDom = this.$refs.picture6
+          const myChart = echarts.init(chartDom)
+          var yd = []
+          if (res && res.length > 0) {
+            res.forEach(item => {
+              yd.push({ name: item.dataFirst, value: item.dataSecond || 0 })
+            })
+          }
+          const option = {
+            title: {
+              text: '鍦ㄤ繚鍛樺伐',
+              left: '5%',
+              top: '5%'
+            },
+            grid: {
+              left: '3%',
+              right: '3%',
+              top: '25%',
+              bottom: '0%',
+              containLabel: true
+            },
+            legend: {
+              orient: 'vertical',
+              left: 'right',
+              top: '30%'
+            },
+            tooltip: {
+              trigger: 'item'
+            },
+            label: {
+              alignTo: 'edge',
+              formatter: '{b}: ({c}浜�)',
+              minMargin: 5,
+              edgeDistance: 10,
+              lineHeight: 15,
+              rich: {
+                time: {
+                  fontSize: 10,
+                  color: '#999'
+                }
+              }
+            },
+            series: [
+              {
+                type: 'pie',
+                data: yd,
+                radius: ['30%', '50%'],
+                avoidLabelOverlap: false,
+                emphasis: {
+                  itemStyle: {
+                    shadowBlur: 10,
+                    shadowOffsetX: 0,
+                    shadowColor: 'rgba(0, 0, 0, 0.5)'
+                  }
+                }
+              }
+            ]
+          }
+
+          option && myChart.setOption(option)
+        })
     },
     setPicture2 () {
-      let chartDom = this.$refs.picture2;
-      let myChart = echarts.init(chartDom);
-      let option
-      option = {
-        title: {
-          text: '褰撴湀鍦ㄤ繚浜烘暟',
-          left: '5%',
-          top: '5%'
-        },
-        grid: {
-          left: '3%',
-          right: '4%',
-          bottom: '13%',
-          containLabel: true
-        },
-        tooltip: {
-          trigger: 'axis'
-        },
-        xAxis: {
-          type: 'category',
-          data: ['涓�鏈�', '浜屾湀', '涓夋湀', '鍥涙湀', '浜旀湀', '鍏湀', '涓冩湀', '鍏湀', '涔濇湀', '鍗佹湀', '鍗佷竴鏈�', '鍗佷簩鏈�']
-        },
-        yAxis: {
-          type: 'value'
-        },
-        series: [
-          {
-            data: [10, 30, 25, 16, 21, 18, 5, 30, 30, 30, 30, 30],
-            type: 'line'
+      getAddReduceData()
+        .then(res => {
+          var xd = ['1鏈�', '2鏈�', '3鏈�', '4鏈�', '5鏈�', '6鏈�', '7鏈�', '8鏈�', '9鏈�', '10鏈�', '11鏈�', '12鏈�']
+          var yd = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+          var yd1 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+          if (res && res.length > 0) {
+            xd = []
+            yd = []
+            yd1 = []
+            res.forEach(item => {
+              xd.push(item.dataFirst)
+              yd.push(item.dataSecond)
+              yd1.push(item.dataThird)
+            })
           }
-        ]
-      };
+          const chartDom = this.$refs.picture2
+          const myChart = echarts.init(chartDom)
+          const option = {
+            title: {
+              text: '姣忔湀鍔犲噺淇濅汉鏁�',
+              left: '5%',
+              top: '1%'
+            },
+            grid: {
+              left: '3%',
+              right: '3%',
+              top: '25%',
+              bottom: '0%',
+              containLabel: true
+            },
+            tooltip: {
+              trigger: 'axis',
+              axisPointer: {
+                type: 'shadow'
+              }
+            },
+            legend: {
+              top: '5%',
+              left: 'right'
+            },
+            xAxis: {
+              type: 'category',
+              // boundaryGap: false,
+              data: xd
+            },
+            yAxis: {
+              type: 'value'
+            },
+            series: [
+              {
+                name: '鍔犱繚',
+                data: yd,
+                type: 'bar',
+                areaStyle: {
+                  opacity: 0.5,
+                  color: '#f07e6f'
+                },
+                lineStyle: {
+                  color: '#f07e6f'
+                }
+              },
+              {
+                name: '鍑忎繚',
+                data: yd1,
+                type: 'bar',
+                areaStyle: {
+                  opacity: 0.5,
+                  color: '#f07e6f'
+                },
+                lineStyle: {
+                  color: '#f07e6f'
+                }
+              }
+            ]
+          }
+          option && myChart.setOption(option)
 
-      option && myChart.setOption(option);
+          console.log(res)
+        })
     },
     setPicture3 () {
-      let chartDom = this.$refs.picture3;
-      let myChart = echarts.init(chartDom);
-      let option
-      option = {
-        title: {
-          text: '鎬昏禂浠樼巼 78%',
-          left: '5%',
-          top: '5%'
-        },
-        tooltip: {
-          trigger: 'axis',
-          axisPointer: {
-            type: 'shadow'
+      getSettleClaimsMoney()
+        .then(res => {
+          var xd = ['1鏈�', '2鏈�', '3鏈�', '4鏈�', '5鏈�', '6鏈�', '7鏈�', '8鏈�', '9鏈�', '10鏈�', '11鏈�', '12鏈�']
+          var yd = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+          if (res && res.length > 0) {
+            xd = []
+            yd = []
+            res.forEach(item => {
+              xd.push(item.dataFirst)
+              yd.push(item.dataSecond)
+            })
           }
-        },
-        grid: {
-          left: '3%',
-          right: '4%',
-          bottom: '25%',
-          containLabel: true
-        },
-        xAxis: {
-          type: 'value',
-          // boundaryGap: [0, 0.01]
-        },
-        yAxis: {
-          type: 'category',
-          data: ['淇濋櫓A璧斾粯鐜�', '淇濋櫓B璧斾粯鐜�', '鎬昏禂浠樼巼']
-        },
-        series: [
-          {
-            type: 'bar',
-            stack: 'total',
-            barWidth: '60%',
-            data: [10, 20, 30]
-          },
-          {
-            type: 'bar',
-            stack: 'total',
-            barWidth: '60%',
-            data: [15, 16, 24]
+          const chartDom = this.$refs.picture3
+          const myChart = echarts.init(chartDom)
+          const option = {
+            title: {
+              text: '姣忔湀璧斾粯閲戦',
+              left: '5%',
+              top: '5%'
+            },
+            grid: {
+              left: '3%',
+              right: '3%',
+              top: '25%',
+              bottom: '0%',
+              containLabel: true
+            },
+            tooltip: {
+              trigger: 'axis',
+              axisPointer: {
+                type: 'shadow'
+              }
+            },
+            legend: {
+              top: '5%',
+              left: 'right'
+            },
+            xAxis: {
+              type: 'category',
+              // boundaryGap: false,
+              data: xd
+            },
+            yAxis: {
+              type: 'value'
+            },
+            series: [
+              {
+                data: yd,
+                type: 'line',
+                smooth: true,
+                areaStyle: {
+                  opacity: 0.5,
+                  color: '#f07e6f'
+                },
+                lineStyle: {
+                  color: '#f07e6f'
+                }
+              }
+            ]
           }
-        ]
-      };
+          option && myChart.setOption(option)
 
-      option && myChart.setOption(option);
+          console.log(res)
+        })
     }
   }
 }
@@ -393,22 +924,26 @@
   }
   .home_content {
     width: 100%;
-    height: calc(100% - 170px);
+    /*height: calc(100% - 170px);*/
     margin-top: 10px;
     display: flex;
-    align-items: center;
-    justify-content: space-between;
+    /*align-items: center;*/
+    /*justify-content: space-between;*/
     .home_content_left {
       width: 350px;
-      height: 100%;
+
+      /*height: 100%;*/
+      height: auto;
       flex-shrink: 0;
       display: flex;
       flex-direction: column;
       justify-content: space-between;
       .home_content_left_item {
         width: 100%;
-        height: 32%;
+        /*height: 32%;*/
+        height: 200px;
         background: #ffffff;
+        margin-bottom: 10px;
       }
     }
     .home_content_right {
@@ -433,6 +968,7 @@
           box-sizing: border-box;
           width: 100%;
           display: flex;
+          align-items: center;
           justify-content: space-between;
           border: 1px solid #ececec;
           margin-bottom: 15px;
@@ -441,6 +977,7 @@
           }
           .list_item_left {
             display: flex;
+            width: 60%;
             flex-direction: column;
             span {
               &:nth-child(1) {
@@ -467,6 +1004,7 @@
             }
           }
           .list_item_right {
+            flex-shrink: 0;
             height: 100%;
             display: flex;
             align-items: center;
@@ -482,7 +1020,7 @@
       }
       .home_content_right_page {
         margin-top: 20px;
-        position: absolute;
+        position: relative;
         bottom: 20px;
         left: 20px;
         box-sizing: border-box;

--
Gitblit v1.9.3