<template>
|
<div class="work-place">
|
<a-row :gutter="18">
|
<a-col :span="item.span" v-for="(item, key) in totals" :key="'key'+key">
|
<total-card :info="item" :type="item.type" :title="item.title" :num="item.value" @click="changeTotalCard"></total-card>
|
</a-col>
|
</a-row>
|
<div style="margin-top: 8px">
|
<my-draw :is-show="'myDraw'==cardName"></my-draw>
|
<not-approved :is-show="'approving'==cardName"></not-approved>
|
<rejected-list :is-show="'rejected'==cardName"></rejected-list>
|
<approved-list :is-show="'approved'==cardName"></approved-list>
|
<handling-list :is-show="'handling'==cardName"></handling-list>
|
<handled-list :is-show="'handled'==cardName"></handled-list>
|
</div>
|
</div>
|
</template>
|
|
<script>
|
import MyDraw from "./myDraw";
|
import TotalCard from "./totalCard";
|
import NotApproved from "@/pages/workplace/notApproved/NotApproved";
|
import RejectedList from "@/pages/workplace/rejectedList/RejectedList";
|
import ApprovedList from "@/pages/workplace/approvedList/ApprovedList";
|
import const_total from "./const_total";
|
import {mapGetters, mapState} from "vuex";
|
import const_role from "@/assets/js/const/const_role";
|
import getItemByKey from "@/assets/js/tools/getItemByKey";
|
import {statusStatistic} from "@/pages/workplace/apis";
|
import HandlingList from "@/pages/workplace/handlingList/HandlingList";
|
import HandledList from "@/pages/workplace/handledList/HandledList";
|
export default {
|
name: 'WorkPlace',
|
components: {
|
HandledList,
|
HandlingList,
|
ApprovedList,
|
RejectedList,
|
NotApproved,
|
MyDraw,
|
TotalCard
|
},
|
data() {
|
return {
|
loading: false,
|
drawUploadVisible: false,
|
cardName: "myDraw",
|
totals: const_total.normal,
|
radio: 0,
|
}
|
},
|
methods: {
|
changeTotalCard(info) {
|
this.cardName = info.name;
|
},
|
/**
|
* 根据用户角色,变更统计的面板的样式
|
* @param type 用户类型:1-普通用户;2-项目经理;3-总经理;4-管理员
|
*/
|
changeTotal(type) {
|
switch (type) {
|
case 2:
|
this.totals = const_total.projectManage;
|
break;
|
case 3:
|
this.totals = const_total.generalManage;
|
break;
|
default:
|
this.totals = const_total.normal;
|
break;
|
}
|
// 查询角色对应的数据值
|
this.statusStatistic();
|
},
|
radioChange() {
|
this.changeTotal(this.radio);
|
},
|
statusStatistic() {
|
statusStatistic().then(res=>{
|
let rs = res.data;
|
if(rs.code == 1) {
|
let data = rs.data;
|
this.totals.map(item=>{
|
let name = item.name;
|
item.value = data[name]?data[name]:0;
|
});
|
}
|
}).catch(error => {
|
console.log(error);
|
});
|
}
|
},
|
computed: {
|
...mapGetters('account', ['roles']),
|
},
|
mounted() {
|
let role = getItemByKey(this.roles[0].id, const_role);
|
this.changeTotal(role.value);
|
}
|
}
|
</script>
|
|
<style scoped>
|
.work-place {
|
padding-top: 8px;
|
}
|
</style>
|