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 | 1079 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 1,006 insertions(+), 73 deletions(-)
diff --git a/company/src/views/index.vue b/company/src/views/index.vue
index cfae4c6..13ee9ea 100644
--- a/company/src/views/index.vue
+++ b/company/src/views/index.vue
@@ -1,33 +1,880 @@
-<template>
+ <template>
<div class="home">
- <!-- <div class="wrap">
- <h2>娆㈣繋浣跨敤浼婂▋鏋侀�熷紑鍙戞鏋�</h2>
- <p>鎮ㄤ娇鐢ㄧ殑姝ゅ寮�婧愭鏋舵病鏈変换浣曠増鏉冮棶棰橈紝鍙涔犲彲鍟嗙敤锛岃鏀惧績浣跨敤锛�</p>
- <p>浼婂▋鑷村姏浜庢墦閫犵畝娲併�佸悎鐞嗐�侀珮鏁堢殑寮�鍙戜綋楠岋紝涓烘鎴戜滑灏嗕笉鏂崌绾э紝鎰熻阿鎮ㄧ殑鏀寔锛�</p>
- <p style="margin-top: 12px;">
- <a href="https://gitee.com/coderd-repos/eva" target="_blank">GITEE</a>
- <a href="https://github.com/coderd-repos/eva" target="_blank">GITHUB</a>
- </p>
- <div class="guide">
- <a href="http://eva.adjustrd.com" target="_blank">鍓嶅線瀹樼綉</a>
- <a href="http://coderd.adjustrd.com/template/308/default" target="_blank">鍓嶅線CodeRd</a>
+ <div class="home_inlet">
+ <div class="home_inlet_label">蹇嵎鍏ュ彛</div>
+ <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>
- <img src="@/assets/images/qq.png">
- <p>浣犲彲浠ユ壂鐮佸姞鍏ョ兢鑱婁互鑾峰緱鎶�鏈敮鎸�</p>
- <div class="award">
- <h4>婵�鍔变綔鑰呭仛寰楁洿濂�</h4>
- <img src="@/assets/images/alipay.jpeg">
- <img src="@/assets/images/wxpay.jpeg">
+ <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>
+ <div class="home_content">
+ <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" 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>
+ <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" 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" 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>
+ <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="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">
+ <el-pagination
+ @current-change="handleCurrentChange0"
+ :current-page="page0"
+ :page-size="5"
+ layout="total, prev, pager, next, jumper"
+ :total="totalPage0">
+ </el-pagination>
+ </div>
+ </div>
+ <div v-if="activeName === '1'" v-permissions="['business:notice:tax']">
+ <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>
+ <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="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">
+ <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" 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 @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">
+ <el-pagination
+ @current-change="handleCurrentChange2"
+ :current-page="page2"
+ :page-size="5"
+ layout="total, prev, pager, next, jumper"
+ :total="totalPage2">
+ </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 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 {}
+ return {
+ activeName: '0',
+ 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: [],
+ tableData6: [],
+ tableData7: [],
+ tableData8: [],
+ cate: [
+ {
+ name: '鎶曚繚鐢宠',
+ url: '/enterprise/insuranceApply',
+ icon: require('../assets/icons/company/apply.png')
+ },
+ {
+ name: '鎻愪氦鎶ユ',
+ 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')
+ }
+ ]
+ }
+ },
+ computed: {
+ ...mapState(['userInfo'])
+ },
+ mounted () {
+ if (this.userInfo.type == 0) {
+ this.setPicture1()
+ this.setPicture3()
+ } else if (this.userInfo.type == 1) {
+ this.setPicture4()
+ this.setPicture6()
+ }
+ this.setPicture2()
+ this.initPanel()
+ this.setLoadTimer()
+ },
+ methods: {
+ 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
+ },
+ 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: '鎶曚繚寰呭姙' })
+ // this.handleCurrentChange0(0);
+ }
+ 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: '鎶ユ鐞嗚禂' })
+ // this.handleCurrentChange2(0);
+ }
+ if (this.userInfo.type === 1) {
+ this.tabs.push({ name: '7', label: '鏂规绛剧讲鎻愰啋' })
+ }
+ this.tabs.push({ name: '6', label: '鍚堝悓绛剧讲鎻愰啋' })
+ if (this.userInfo.type === 0) {
+ this.tabs.push({ name: '8', label: '闆嗗洟鐢宠鎻愰啋' })
+ }
+ /* 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
+ 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) {
+ 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)
+ },
+ 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 () {
+ 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)
+ })
+ },
+ 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 () {
+ 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)
+
+ console.log(res)
+ })
+ },
+ setPicture3 () {
+ 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)
+ })
+ }
+ 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)
+
+ console.log(res)
+ })
+ }
}
}
</script>
@@ -35,63 +882,149 @@
<style scoped lang="scss">
@import "@/assets/style/variables.scss";
.home {
- text-align: center;
- color: #777;
- .wrap {
- margin-top: 80px;
- img {
- width: 240px;
- }
- }
- h2 {
- font-size: 32px;
- color: #555;
- margin-bottom: 20px;
- }
- p {
- line-height: 24px;
- margin: 0;
- }
- .start-up {
- margin-top: 8px;
- }
- .guide {
- margin: 30px 0 40px 0;
- display: flex;
- justify-content: center;
- a {
- margin-right: 12px;
- padding: 12px 40px;
- border-radius: 30px;
- background: $primary-color;
- color: #fff;
- text-decoration: none;
- }
- }
- em,a {
- font-style: normal;
- font-weight: bold;
- margin: 0 3px;
- color: $primary-color;
- }
- .award {
- position: absolute;
- right: 20px;
- bottom: 60px;
+ width: 100%;
+ height: 100%;
+ .home_inlet {
+ width: 100%;
+ height: 160px;
display: flex;
flex-direction: column;
- text-align: left;
- padding: 12px;
- border: 1px solid #eee;
- box-shadow: -1px 1px 10px #ccc;
- h4 {
+ padding: 20px;
+ box-sizing: border-box;
+ background: #ffffff;
+ .home_inlet_label {
+ width: 100%;
+ font-size: 18px;
font-weight: bold;
- margin-bottom: 8px;
- }
- img {
- width: 160px;
+ color: black;
margin-bottom: 20px;
- transition: opacity ease .3s;
+ }
+ .home_inlet_list {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ .home_inlet_item {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ cursor: pointer;
+ img {
+ width: 40px;
+ height: 40px;
+ }
+ span {
+ font-size: 14px;
+ color: black;
+ margin-top: 5px;
+ }
+ }
+ }
+ }
+ .home_content {
+ width: 100%;
+ /*height: calc(100% - 170px);*/
+ margin-top: 10px;
+ display: flex;
+ /*align-items: center;*/
+ /*justify-content: space-between;*/
+ .home_content_left {
+ width: 350px;
+
+ /*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: 200px;
+ background: #ffffff;
+ margin-bottom: 10px;
+ }
+ }
+ .home_content_right {
+ flex: 1;
+ height: 100%;
+ background: #ffffff;
+ margin-left: 10px;
+ padding: 20px;
+ box-sizing: border-box;
+ position: relative;
+ .home_content_right_label {
+ font-size: 18px;
+ color: black;
+ font-weight: bold;
+ }
+ .home_content_right_list {
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+ .list_item {
+ padding: 10px;
+ box-sizing: border-box;
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ border: 1px solid #ececec;
+ margin-bottom: 15px;
+ &:last-child {
+ margin-bottom: 0 !important;
+ }
+ .list_item_left {
+ display: flex;
+ width: 60%;
+ flex-direction: column;
+ span {
+ &:nth-child(1) {
+ font-size: 14px;
+ color: black;
+ font-weight: bold;
+ }
+ &:nth-child(2) {
+ font-size: 14px;
+ color: black;
+ margin-top: 5px;
+ }
+ }
+ }
+ .list_item_center {
+ display: flex;
+ flex-direction: column;
+ span {
+ font-size: 14px;
+ color: black;
+ &:nth-child(2) {
+ margin-top: 5px;
+ }
+ }
+ }
+ .list_item_right {
+ flex-shrink: 0;
+ height: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ span {
+ font-size: 14px;
+ color: #1890FF;
+ margin-top: 10px;
+ cursor: pointer;
+ }
+ }
+ }
+ }
+ .home_content_right_page {
+ margin-top: 20px;
+ position: relative;
+ bottom: 20px;
+ left: 20px;
+ box-sizing: border-box;
+ }
}
}
}
--
Gitblit v1.9.3