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