From d2bc6e096f0806b78ea92d4b90a21d3627d406c7 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 08 三月 2024 18:28:42 +0800
Subject: [PATCH] mrshi
---
company/src/views/index.vue | 306 +++++++++++++++++++++++++++++++++++---------------
1 files changed, 213 insertions(+), 93 deletions(-)
diff --git a/company/src/views/index.vue b/company/src/views/index.vue
index a04ebf5..e00d8da 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>
@@ -18,7 +24,11 @@
<div class="home_content_right">
<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" :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="(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 v-if="activeName === '0'" v-permissions="['business:notice:insurance']" >
<div class="home_content_right_list">
@@ -32,7 +42,7 @@
<span>鎻愪氦鏃堕棿 {{item.createDate}}</span>
</div>
<div class="list_item_right">
- <span>鏌ョ湅璇︽儏</span>
+ <span @click="detail(item)">鏌ョ湅</span>
</div>
</div>
</div>
@@ -58,7 +68,7 @@
<span>鎻愪氦鏃堕棿 {{item.createDate}}</span>
</div>
<div class="list_item_right">
- <span>鏌ョ湅璇︽儏</span>
+ <span @click="detail(item)">鏌ョ湅</span>
</div>
</div>
</div>
@@ -84,7 +94,7 @@
<span>鎻愪氦鏃堕棿 {{item.createDate}}</span>
</div>
<div class="list_item_right">
- <span>鏌ョ湅璇︽儏</span>
+ <span @click="detail(item)">鏌ョ湅</span>
</div>
</div>
</div>
@@ -100,53 +110,105 @@
</div>
</div>
</div>
+ <OperaInsuranceApplyWindow ref="operaInsuranceApplyWindow" @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'
export default {
+ components: {
+ OperaInsuranceApplyWindow,
+ dispatchUnitDetailsPlat,
+ OperaTaxesWindow,
+ OperaSettleClaimsWindow,
+ OperaApplyChangeDetailWindow,
+ OperaApplyChangeUnitDetailWindow
+ },
name: 'Index',
data () {
return {
activeName: '0',
- tabs:[],
+ tabs: [],
page0: 1,
page1: 1,
page2: 1,
totalPage2: 0,
totalPage1: 0,
totalPage0: 0,
- tableData0:[],
- tableData1:[],
- tableData2:[],
+ 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: '/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,81 +216,138 @@
computed: {
...mapState(['userInfo'])
},
- mounted() {
+ mounted () {
this.setPicture1()
this.setPicture2()
this.setPicture3()
this.initPanel()
+ this.setLoadTimer()
},
methods: {
- getNoticeList(type,page){
- noticeList({
- page: page,
- capacity: 5,
- model: { queryType:type},
- sorts: []
+ detail (obj) {
+ if (obj.objType === 0) {
+ this.$refs.operaInsuranceApplyWindow.open('鎶曚繚鐢宠璇︽儏', { id: obj.objId })
+ } else if (obj.objType === 1) {
+ this.$refs.operaApplyChangeDetailWindow.open('鍔犲噺淇濊鎯�', { id: obj.objId, applyId: obj.param1 })
+ } else if (obj.objType === 2) {
+ this.$refs.operaApplyChangeUnitDetailWindow.open('鏇存崲娲鹃仯鍗曚綅鐢宠璇︽儏', { id: obj.objId, applyId: obj.param1 })
+ } 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) {
+ 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('鐞嗚禂璇︽儏', { id: obj.objId })
})
- .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(){
+ 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
+ }
+ })
+ .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: '鎶曚繚浠e姙' })
+ // 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: '鍙戠エ浠e姙' })
+ // 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 (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:tax')) {
+ this.getNoticeList(1, this.page1)
}
- if(pemissons.includes("business:notice:settle")){
- this.getNoticeList(2,this.page2 )
- }
+ 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)
+ }
},
- 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 });
+ jump (url) {
+ if (!url) return
+ this.$router.push({ path: url })
},
setPicture1 () {
- let chartDom = this.$refs.picture1;
- let myChart = echarts.init(chartDom);
+ const chartDom = this.$refs.picture1
+ const myChart = echarts.init(chartDom)
let option
option = {
title: {
@@ -245,7 +364,7 @@
radius: '50%',
data: [
{ value: 1048, name: '淇濋殰涓�' },
- { value: 735, name: '涓嶅湪淇�' },
+ { value: 735, name: '涓嶅湪淇�' }
],
emphasis: {
itemStyle: {
@@ -256,13 +375,13 @@
}
}
]
- };
+ }
- option && myChart.setOption(option);
+ option && myChart.setOption(option)
},
setPicture2 () {
- let chartDom = this.$refs.picture2;
- let myChart = echarts.init(chartDom);
+ const chartDom = this.$refs.picture2
+ const myChart = echarts.init(chartDom)
let option
option = {
title: {
@@ -292,13 +411,13 @@
type: 'line'
}
]
- };
+ }
- option && myChart.setOption(option);
+ option && myChart.setOption(option)
},
setPicture3 () {
- let chartDom = this.$refs.picture3;
- let myChart = echarts.init(chartDom);
+ const chartDom = this.$refs.picture3
+ const myChart = echarts.init(chartDom)
let option
option = {
title: {
@@ -319,7 +438,7 @@
containLabel: true
},
xAxis: {
- type: 'value',
+ type: 'value'
// boundaryGap: [0, 0.01]
},
yAxis: {
@@ -340,9 +459,9 @@
data: [15, 16, 24]
}
]
- };
+ }
- option && myChart.setOption(option);
+ option && myChart.setOption(option)
}
}
}
@@ -441,6 +560,7 @@
}
.list_item_left {
display: flex;
+ width: 60%;
flex-direction: column;
span {
&:nth-child(1) {
@@ -482,7 +602,7 @@
}
.home_content_right_page {
margin-top: 20px;
- position: absolute;
+ position: relative;
bottom: 20px;
left: 20px;
box-sizing: border-box;
--
Gitblit v1.9.3