From 6d9ce36cc8cdc48256a7292fffea58286d409c33 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 24 六月 2025 14:49:46 +0800
Subject: [PATCH] 提交一把订单

---
 company/src/views/index.vue |  439 ++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 327 insertions(+), 112 deletions(-)

diff --git a/company/src/views/index.vue b/company/src/views/index.vue
index 2ee998d..13ee9ea 100644
--- a/company/src/views/index.vue
+++ b/company/src/views/index.vue
@@ -16,10 +16,12 @@
       </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" >寰呭姙浜嬮」</div>
@@ -126,7 +128,6 @@
             </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">
@@ -243,8 +244,9 @@
 import OperaApplyChangeDetailWindow from '@/components/business/OperaApplyChangeDetailWindow'
 import OperaTaxesWindow from '@/components/business/OperaTaxesWindow'
 import { fetchList as noticeList, deleById } from '@/api/business/notices'
-import { getChangeDetail, getDetail } from '@/api/business/insuranceApply'
+import { getAddReduceData, getSettleClaimsMoney, getInsuranceNum, getInsuranceApplyStatusData, getInsuranceMemberData, getInsuranceApplyDataVO, getInsuranceApplyReportDataVO } from '@/api/business/insuranceApply'
 import OperaWtbApplyShopWindow from '@/components/business/OperaWtbApplyShopWindow'
+
 export default {
   components: {
     OperaWtbApplyShopWindow,
@@ -343,9 +345,14 @@
     ...mapState(['userInfo'])
   },
   mounted () {
-    this.setPicture1()
+    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()
   },
@@ -393,7 +400,7 @@
         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)) {
+        if ([1, 4, 7, 13, 14, 15, 16, 17, 18].includes(obj.type)) {
           // 濡傛灉鏄彁閱掔疮娑堟伅锛屽垹闄ら�氱煡
           deleById(obj.id)
             .then(res => {
@@ -544,122 +551,329 @@
       this.$router.push({ path: url })
     },
     setPicture1 () {
-      const chartDom = this.$refs.picture1
-      const 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 () {
-      const chartDom = this.$refs.picture2
-      const 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 () {
-      const chartDom = this.$refs.picture3
-      const 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)
+        })
     }
   }
 }
@@ -717,6 +931,7 @@
     /*justify-content: space-between;*/
     .home_content_left {
       width: 350px;
+
       /*height: 100%;*/
       height: auto;
       flex-shrink: 0;

--
Gitblit v1.9.3