|
@@ -0,0 +1,248 @@
|
|
|
+<template>
|
|
|
+ <div>
|
|
|
+ <basic-container>
|
|
|
+ <div class="container" style="height: 400px;">
|
|
|
+ <div class="container-items">
|
|
|
+ <but-card iconName="el-icon-edit-outline" name="小学部工资" />
|
|
|
+ <but-card iconName="el-icon-edit-outline" name="初中部工资" />
|
|
|
+ <but-card iconName="el-icon-edit-outline" name="高中部工资" />
|
|
|
+ <but-card iconName="el-icon-edit-outline" name="后勤工资" />
|
|
|
+ <but-card iconName="el-icon-edit-outline" name="添加教师" />
|
|
|
+ <but-card iconName="el-icon-edit-outline" name="添加后勤" />
|
|
|
+ </div>
|
|
|
+ <index-card title="教师工资总体数据" iconName="el-icon-view">
|
|
|
+ <div slot="content" style="height:330px">
|
|
|
+ <avue-data-icons :option="option"></avue-data-icons>
|
|
|
+ </div>
|
|
|
+ </index-card>
|
|
|
+ </div>
|
|
|
+ </basic-container>
|
|
|
+ <basic-container>
|
|
|
+ <index-card title="工资走势图" iconName="el-icon-s-fold" style="height:500px;margin-bottom: 30px">
|
|
|
+ <el-select slot="content" size="mini" v-model="value" style="float: right;z-index: 999;width: 100px" placeholder="请选择">
|
|
|
+ <el-option
|
|
|
+ v-for="item in options"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ <div slot="content" style="height:500px" id="commoDity"></div>
|
|
|
+ </index-card>
|
|
|
+ <br>
|
|
|
+ </basic-container>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import { mapGetters } from "vuex";
|
|
|
+import indexCard from "../components/card.vue";
|
|
|
+import butCard from "../components/butCard.vue";
|
|
|
+export default {
|
|
|
+ name: "wel",
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ activeNames: ["1", "2", "3", "5"],
|
|
|
+ logActiveNames: ["24"],
|
|
|
+ isHeight: {},
|
|
|
+ options: [{
|
|
|
+ value: '0',
|
|
|
+ label: '全部'
|
|
|
+ }, {
|
|
|
+ value: '1',
|
|
|
+ label: '小学'
|
|
|
+ }, {
|
|
|
+ value: '2',
|
|
|
+ label: '初中'
|
|
|
+ }, {
|
|
|
+ value: '3',
|
|
|
+ label: '高中'
|
|
|
+ }, {
|
|
|
+ value: '4',
|
|
|
+ label: '后勤'
|
|
|
+ }],
|
|
|
+ value:'0',
|
|
|
+ option: {
|
|
|
+ span:6,
|
|
|
+ data: [
|
|
|
+ {
|
|
|
+ click: function (item) {
|
|
|
+ // alert(JSON.stringify(item));
|
|
|
+ },
|
|
|
+ title: '工资总额',
|
|
|
+ count: 12678,
|
|
|
+ decimals:2,
|
|
|
+ icon: 'el-icon-tickets',
|
|
|
+ // href:'https://avuejs.com',
|
|
|
+ target:'_blank'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ click: function (item) {
|
|
|
+ // alert(JSON.stringify(item));
|
|
|
+ },
|
|
|
+ title: '年工资额增长率(%)',
|
|
|
+ count: 29,
|
|
|
+ icon: 'el-icon-s-marketing',
|
|
|
+ // href:'https://avuejs.com',
|
|
|
+ target:'_blank'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ click: function (item) {
|
|
|
+ // alert(JSON.stringify(item));
|
|
|
+ },
|
|
|
+ title: '人均工资',
|
|
|
+ count: 35623,
|
|
|
+ icon: 'el-icon-s-finance',
|
|
|
+ // href:'https://avuejs.com',
|
|
|
+ target:'_blank'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ click: function (item) {
|
|
|
+ // alert(JSON.stringify(item));
|
|
|
+ },
|
|
|
+ title: '年人均工资增长率(%)',
|
|
|
+ count: 19,
|
|
|
+ icon: 'el-icon-s-claim',
|
|
|
+ // href:'https://avuejs.com',
|
|
|
+ target:'_blank'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ click: function (item) {
|
|
|
+ // alert(JSON.stringify(item));
|
|
|
+ },
|
|
|
+ title: '保险总额',
|
|
|
+ count: 16826,
|
|
|
+ icon: 'el-icon-s-cooperation',
|
|
|
+ // href:'https://avuejs.com',
|
|
|
+ target:'_blank'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ click: function (item) {
|
|
|
+ // alert(JSON.stringify(item));
|
|
|
+ },
|
|
|
+ title: '保险总额同比(%)',
|
|
|
+ count: 69,
|
|
|
+ icon: 'el-icon-notebook-1',
|
|
|
+ // href:'https://avuejs.com',
|
|
|
+ target:'_blank'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ click: function (item) {
|
|
|
+ // alert(JSON.stringify(item));
|
|
|
+ },
|
|
|
+ title: '人均保险',
|
|
|
+ count: 16826,
|
|
|
+ icon: 'el-icon-s-custom',
|
|
|
+ // href:'https://avuejs.com',
|
|
|
+ target:'_blank'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ click: function (item) {
|
|
|
+ // alert(JSON.stringify(item));
|
|
|
+ },
|
|
|
+ title: '人均保险同比(%)',
|
|
|
+ count: 30,
|
|
|
+ icon: 'el-icon-notebook-2',
|
|
|
+ // href:'https://avuejs.com',
|
|
|
+ target:'_blank'
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ };
|
|
|
+ },
|
|
|
+ created(){
|
|
|
+ this.isHeight.height=window.innerHeight-165+'px'
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+ this.commoDity()
|
|
|
+ },
|
|
|
+ components: {
|
|
|
+ indexCard,
|
|
|
+ butCard
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ ...mapGetters(["userInfo"])
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ handleChange(val) {
|
|
|
+ window.console.log(val);
|
|
|
+ },
|
|
|
+ commoDity() {
|
|
|
+ // 基于准备好的dom,初始化echarts实例,所以只能在mounted中调用
|
|
|
+ let myChart = this.$echarts.init(document.getElementById("commoDity"));
|
|
|
+ // 绘制图表
|
|
|
+ myChart.setOption({
|
|
|
+ tooltip: {
|
|
|
+ trigger: 'axis',
|
|
|
+ axisPointer: {
|
|
|
+ type: 'shadow'
|
|
|
+ }
|
|
|
+ },
|
|
|
+ xAxis: {
|
|
|
+ type: 'category',
|
|
|
+ data: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']
|
|
|
+ },
|
|
|
+ grid: {
|
|
|
+ left: '3%',
|
|
|
+ right: '4%',
|
|
|
+ bottom: '3%',
|
|
|
+ containLabel: true
|
|
|
+ },
|
|
|
+ yAxis: {
|
|
|
+ type: 'value',
|
|
|
+ axisLabel: {
|
|
|
+ formatter: '{value} 元'
|
|
|
+ }
|
|
|
+ },
|
|
|
+ series: [
|
|
|
+ {
|
|
|
+ data: [125340, 200345, 145350, 84530, 70345, 153450, 133450, 44530, 143534, 245345, 123055, 135454],
|
|
|
+ type: 'bar'
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ });
|
|
|
+ },
|
|
|
+ }
|
|
|
+};
|
|
|
+</script>
|
|
|
+<style lang="scss" scoped>
|
|
|
+.container {
|
|
|
+ display: grid;
|
|
|
+ grid-template-columns: repeat(auto-fill, 50%);
|
|
|
+ grid-template-rows: 40% 30% 30%;
|
|
|
+ .container-items {
|
|
|
+ display: grid;
|
|
|
+ grid-template-columns: repeat(auto-fill, 33.33%);
|
|
|
+ grid-template-rows: repeat(auto-fill, 140%);
|
|
|
+ align-items: center;
|
|
|
+ }
|
|
|
+}
|
|
|
+//今日营业
|
|
|
+.operate {
|
|
|
+ display: grid;
|
|
|
+ grid-template-rows: repeat(auto-fill, 33.33%);
|
|
|
+ .operate-item {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ .item-text {
|
|
|
+ display: flex;
|
|
|
+ align-items: end;
|
|
|
+ font-size: 14px;
|
|
|
+ .item-point {
|
|
|
+ line-height: 14px;
|
|
|
+ width: 14px;
|
|
|
+ height: 14px;
|
|
|
+ border-radius: 2px;
|
|
|
+ background: #ff7d13;
|
|
|
+ margin-right: 4px;
|
|
|
+ margin-bottom: 1px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ p {
|
|
|
+ font-size: 24px;
|
|
|
+ line-height: 24px;
|
|
|
+ margin: 0 4px !important;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|