Browse Source

绩效考核后台管理(上线1.0.0)202202281525

main
renguanyu111 4 years ago
parent
commit
bf943a51ea
  1. 2
      .env.production
  2. 32
      src/api/duty/duty.js
  3. 8
      src/api/group.js
  4. BIN
      src/assets/404_images/dashbord.png
  5. 34
      src/router/index.js
  6. 236
      src/views/assessmentProgram/departmentalAssessment.vue
  7. 13
      src/views/assessmentProgram/project.vue
  8. 12
      src/views/assessmentProgram/qualitativeIndicators.vue
  9. 14
      src/views/assessmentProgram/quantitativeIndicators.vue
  10. 17
      src/views/basicInfo/project.vue
  11. 317
      src/views/frontPage/index.vue

2
.env.production

@ -2,5 +2,5 @@
ENV = 'production'
# base api
VUE_APP_BASE_API = '/api'
VUE_APP_BASE_API = 'http://ginadmin.hxgk.group/api'

32
src/api/duty/duty.js

@ -112,4 +112,36 @@ export const eitequalevalcont = (data) => {
data: data
})
}
//添加指标权重(批量
export const addqubatch = (data) => {
return request({
url: '/duty/addqubatch',
method: 'post',
data: data
})
}
//部门考核列表
export const bumenList = (data) => {
return request({
url: '/duty/departmentlist',
method: 'post',
data: data
})
}
//部门考核列表新
export const departmentlistnew = (data) => {
return request({
url: '/duty/departmentlistnew',
method: 'post',
data: data
})
}
//部门新增考核列表
export const adddepartmentdutyinfo = (data) => {
return request({
url: '/duty/adddepartmentdutyinfo',
method: 'post',
data: data
})
}

8
src/api/group.js

@ -21,4 +21,12 @@ export const departmentassess = (data) => {
method: 'post',
data: data
})
}
//定量考核打分
export const addflowrationlog = (data) => {
return request({
url: '/eval/addflowrationlog',
method: 'post',
data: data
})
}

BIN
src/assets/404_images/dashbord.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

34
src/router/index.js

@ -56,17 +56,17 @@ export const constantRoutes = [
component: () => import('@/views/404'),
hidden: true
},
// {
// path: '/',
// component: Layout,
// redirect: '/dashboard',
// children: [{
// path: 'dashboard',
// name: 'Dashboard',
// component: () => import('@/views/dashboard/index'),
// meta: { title: '考核项目'}
// }]
// },
{
path: '/',
component: Layout,
redirect: '/frontPage',
children: [{
path: 'frontPage',
name: 'frontPage',
component: () => import('@/views/frontPage/index'),
meta: { title: '首页'}
}]
},
// {
// path: '/',
// component: Layout,
@ -163,12 +163,12 @@ export const constantRoutes = [
component: () => import('@/views/assessmentProgram/qualitativeIndicators'),
meta: { title: '定性考核', icon: 'tree' }
},
{
path: 'quantitativeIndicators',
name: 'quantitativeIndicators',
component: () => import('@/views/assessmentProgram/quantitativeIndicators'),
meta: { title: '定量考核', icon: 'tree' }
},
// {
// path: 'quantitativeIndicators',
// name: 'quantitativeIndicators',
// component: () => import('@/views/assessmentProgram/quantitativeIndicators'),
// meta: { title: '定量考核', icon: 'tree' }
// },
// {
// path: 'subSection',
// name: 'subSection',

236
src/views/assessmentProgram/departmentalAssessment.vue

@ -29,10 +29,10 @@
</el-form>
</div> -->
<div class="gva-table-box">
<!-- <div class="gva-btn-list">
<el-button size="mini" type="primary" icon="el-icon-setting" @click="showDimension()">设置维度权重</el-button>
<el-button size="mini" type="primary" icon="el-icon-setting" @click="showIndex()">设置指标权重</el-button>
</div> -->
<div class="gva-btn-list">
<!-- <el-button size="mini" type="primary" icon="el-icon-setting" @click="showDimension()">设置维度权重</el-button> -->
<el-button size="mini" type="primary" icon="el-icon-setting" @click="showIndex()">组合</el-button></el-button>
</div>
<el-table :data="tableData" border :span-method="objectSpanMethod">
<el-table-column prop="parentname" label="部门"></el-table-column>
<el-table-column prop="dimensionname" label="考核维度"></el-table-column>
@ -221,8 +221,119 @@
</el-descriptions-item>
</el-descriptions>
</el-dialog>
<!-- 指标权重弹框 -->
<el-dialog :close-on-click-modal="false" :visible.sync="demDialogFormVisible" title="指标组合" width="70%">
<el-form ref="addForm" :model="form" :rules="rules" label-width="150px">
<el-row>
<el-col :span="8">
<el-form-item label="所属公司" prop="title">
<el-select v-model="form.group" clearable placeholder="请选择" @change="selectGroup">
<el-option
v-for="item in companyList"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="所属部门" prop="title" v-if="form.group!=''">
<el-select v-model="form.parentid" clearable placeholder="请选择" @change="shouWei">
<el-option
v-for="item in departmentList"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
纬度合计分{{weiduFraction}}
</el-col>
</el-row>
<el-form-item v-if="form.parentid!=''">
<!-- 表格表单提交 -->
<el-card class="box-card" v-for="(item,index) in weiDuList" :key="item.id">
<el-row>
<el-col :span="8">
<span>考核纬度{{item.name}}</span>
</el-col>
<el-col :span="8">
<el-select v-model="item.ordering" clearable placeholder="请选择顺序">
<el-option :value=1 label="1">1</el-option>
<el-option :value=2 label="2">2</el-option>
<el-option :value=3 label="3">3</el-option>
<el-option :value=4 label="4">4</el-option>
<el-option :value=5 label="5">5</el-option>
<el-option :value=6 label="2">6</el-option>
</el-select>
</el-col>
<el-col :span="8">
指标合计分{{item.zhiFraction}}
</el-col>
</el-row>
<el-table
border
:data="item.child"
style="width: 100%">
<el-table-column
label="指标名称"
align="center"
prop="name"
>
</el-table-column>
<el-table-column
label="说明"
align="center"
prop="illustrate"
>
<template slot-scope="scope">
<el-input v-model="scope.row.content" autocomplete="off" />
<!-- <div v-if="scope.row.targetweight!=0">{{scope.row.targetweight}}</div> -->
</template>
</el-table-column>
<el-table-column
label="分值"
align="center"
prop="referencescore"
>
<template slot-scope="scope">
<el-input v-if="scope.row.istrue==1" v-model.number="scope.row.referencescore" autocomplete="off" @change="zhibiaofen" />
<div v-if="scope.row.istrue==2">{{scope.row.referencescore}}</div>
</template>
</el-table-column>
<el-table-column
label="状态"
align="center"
prop="status"
>
<template slot-scope="scope">
<el-select v-model="scope.row.status" clearable placeholder="请选择">
<el-option :value=1 label="使用">使用</el-option>
<el-option :value=2 label="禁用">禁用</el-option>
</el-select>
<!-- <div v-if="scope.row.targetweight!=0">{{scope.row.targetweight}}</div> -->
</template>
</el-table-column>
</el-table>
</el-card>
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button size="small" @click="editCloseDialog"> </el-button>
<el-button size="small" type="primary" @click="zhuheTi"> </el-button>
</div>
</template>
</el-dialog>
<!-- 编辑弹框 -->
<el-dialog :visible.sync="editDialogFormVisible" :before-close="editCloseDialog" title="修改" width="20%">
<el-dialog :close-on-click-modal="false" :visible.sync="editDialogFormVisible" :before-close="editCloseDialog" title="修改" width="20%">
<el-form ref="editForm" :model="editAdd" :rules="editRules" label-width="150px">
<el-form-item label="所属考核项目">
<span>
@ -267,7 +378,7 @@
<script>
import { dutyclasslist } from '@/api/duty/dimension'
import { gettasktarget,gettasktargetsun,gettasktargetcontary,addqualeval,addration,departmenttasklist } from '@/api/duty/duty'
import { gettasktarget,gettasktargetsun,gettasktargetcontary,addqualeval,addration,departmenttasklist,addqubatch,bumenList,departmentlistnew,adddepartmentdutyinfo } from '@/api/duty/duty'
import projectDialog from '@/components/projectDialog/index.vue'
import { dutylist,getdutyinfo,eitedutyinfo,eitedutystate } from '@/api/duty/quantitativeIndicators'
import {
@ -283,6 +394,14 @@ export default {
},
data() {
return {
//
weiduFraction:0,
//
weiDuList:{},
//
liebiaoList:[],
//
demDialogFormVisible:false,
//
userlistary:[],
//
@ -366,12 +485,9 @@ export default {
assessList:{},
//
form:{
type:1,
group:'',
parentid:'',
target:'',
targetsun:'',
rationlist:[],
child:[]
},
//
dialogFormVisible:false,
@ -445,6 +561,75 @@ export default {
},
},
methods: {
//
zhibiaofen(){
const that=this
this.Fraction=0
this.weiDuList.forEach(function(element) {
element.zhiFraction=0
});
this.weiDuList.forEach(function(element) {
if (element.child!=null) {
element.child.forEach(function(iteam){
element.zhiFraction+=iteam.referencescore
})
}
});
this.weiduFraction=0
this.weiDuList.forEach(function(element) {
that.weiduFraction+=element.zhiFraction
});
},
//
async zhuheTi(){
if (this.weiduFraction<=100) {
console.log(this.weiDuList)
this.form.group=this.form.group.toString()
this.form.parentid=this.form.parentid.toString()
this.form.child=this.weiDuList
const res = await adddepartmentdutyinfo(this.form)
if (res.code === 0) {
this.$message({
type: 'success',
message: '操作成功!'
})
this.form={
group:'',
parentid:'',
child:[]
}
}
this.weiduFraction=0
this.form={
group:'',
parentid:'',
child:[]
}
}else{
this.$message({
type: 'error',
message: '总分不能超过100!'
})
}
},
//
async tijiao(){
const that=this
this.liebiaoList.forEach(function(item, index) {
//index0
that.form.targetlist.push({id:item.target,weight:parseInt(item.targetweight)})
})
this.form.group=this.form.group.toString()
this.form.parentid=this.form.parentid.toString()
const res = await addqubatch(that.form)
console.log(that.form)
},
//
showIndex(){
this.demDialogFormVisible=true
},
//
methodSpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0) {
@ -610,16 +795,39 @@ export default {
this.tableShow=true
}
},
//
async shouWei(val){
if (val!='') {
const From={
group:this.form.group.toString(),
parentid:this.form.parentid.toString(),
}
const that = this
const res = await departmentlistnew(From)
this.weiDuList=JSON.parse(JSON.stringify(res.data))
this.weiDuList.forEach(function(element) {
that.$set(element, 'ordering', '')
that.$set(element, 'zhiFraction', 0)
if (element.child!=null) {
element.child.forEach(function(iteam){
that.$set(iteam, 'status', 1)
})
}
});
console.log(this.weiDuList)
}
},
//
async selectDepartment(val){
if (val!='') {
const indexFrom={
type:2,
type:val,
group:this.form.group.toString(),
parentid:val.map(String),
departmentid:this.form.parentid.toString(),
}
const res = await gettasktarget(indexFrom)
this.indexList=res.data
const res = await departmenttasklist(indexFrom)
this.liebiaoList=res.data
}
},
//

13
src/views/assessmentProgram/project.vue

@ -108,6 +108,14 @@
</el-option>
</el-select>
</el-form-item>
<el-select v-model="form.dimension" clearable placeholder="请选择维度">
<el-option
v-for="item in dutyclasslist"
:key="item.outId"
:label="item.title"
:value="item.outId">
</el-option>
</el-select>
<el-form-item label="考核项目名称" prop="title">
<el-input v-model="form.title" autocomplete="off" />
</el-form-item>
@ -156,14 +164,14 @@
>
</el-option>
</el-select>
<!-- <el-select v-model="editAdd.parentId" clearable placeholder="请选择考核类别">
<el-select v-model="editAdd.parentId" clearable placeholder="请选择维度">
<el-option
v-for="item in dutyclasslist"
:key="item.outId"
:label="item.title"
:value="item.outId">
</el-option>
</el-select> -->
</el-select>
</el-form-item>
<el-form-item label="考核项目名称" prop="title">
<el-input v-model="editAdd.title" autocomplete="off" />
@ -228,6 +236,7 @@ export default {
}],
dutyclasslist:{},
searchList:{
state: 1,
page:1,
pagesize:10000,
},

12
src/views/assessmentProgram/qualitativeIndicators.vue

@ -1,7 +1,7 @@
<template>
<!-- 定性指标录入 -->
<div class="dashboard-container">
<div class="gva-search-box">
<!-- <div class="gva-search-box">
<el-form ref="searchForm" :inline="true" :model="searchInfo">
<el-form-item label="所属考核项目">
<span>
@ -27,7 +27,7 @@
<el-button size="mini" icon="el-icon-refresh" @click="onReset">重置</el-button>
</el-form-item>
</el-form>
</div>
</div> -->
<div class="gva-table-box">
<div class="gva-btn-list">
<el-button size="mini" type="primary" icon="el-icon-plus" @click="showAdd()">新增</el-button>
@ -105,7 +105,7 @@
</el-table>
</div>
<!-- 新增弹框 -->
<el-dialog :visible.sync="dialogFormVisible" :before-close="closeDialog" title="新增" width="65%">
<el-dialog :close-on-click-modal="false" :visible.sync="dialogFormVisible" :before-close="closeDialog" title="新增" width="65%">
<el-form ref="addForm" :model="form" :rules="rules" label-width="150px">
<el-row>
<el-col :span="12">
@ -134,7 +134,7 @@
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<!-- <el-col :span="12">
<el-form-item label="考核维度">
<el-select v-model="form.dimension" clearable placeholder="请选择状态">
<el-option
@ -145,7 +145,7 @@
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-col> -->
<el-col :span="12">
<el-form-item label="考核指标" v-show="targetShow">
<el-select v-model="form.target" clearable placeholder="请选择状态" @change="selectIndex">
@ -264,7 +264,7 @@
</template>
</el-dialog>
<!-- 编辑弹框 -->
<el-dialog :visible.sync="editDialogFormVisible" :before-close="editCloseDialog" title="修改" width="60%">
<el-dialog :close-on-click-modal="false" :visible.sync="editDialogFormVisible" :before-close="editCloseDialog" title="修改" width="60%">
<el-form ref="editForm" :model="editAdd" :rules="editRules" label-width="150px">
<el-table
:data="editAdd.list"

14
src/views/assessmentProgram/quantitativeIndicators.vue

@ -446,7 +446,7 @@ export default {
assessList:{},
//
form:{
type:1,
type:2,
group:'',
parentid:'',
target:'',
@ -467,7 +467,7 @@ export default {
spanArr2:[],
//
searchInfo: {
type:1,
type:2,
},
//
abc:{
@ -623,7 +623,7 @@ export default {
},
//
deleteRow(row){
this.rulesCopyList.splice(row.$index,1);
this.indexList.splice(row.$index,1);
},
//
async selectIndex(val){
@ -639,7 +639,7 @@ export default {
async selectTargetsun(val){
if (val!='') {
const from={
type: 1, //12
type: 2, //12
targetid: this.form.target.toString(), //
targetsunid: val.toString() //
@ -656,7 +656,7 @@ export default {
const indexFrom={
type:2,
group:this.form.group.toString(),
parentid:val.map(String),
department:val.map(String),
}
const res = await gettasktarget(indexFrom)
this.indexList=res.data
@ -781,9 +781,7 @@ export default {
//
onReset() {
this.searchInfo = {
assesstype:2,
page: 1,
pagesize: 10
type:2,
}
this.childInfo={
title:''

17
src/views/basicInfo/project.vue

@ -51,6 +51,7 @@
<el-table :data="tableData">
<!-- <el-table-column align="left" label="考核维度" prop="parentTitle"/> -->
<el-table-column align="left" label="考核指标" prop="title"/>
<el-table-column align="left" label="计量单位" prop="unites"/>
<el-table-column align="left" label="考核周期" prop="outId">
<template #default="scope">
@ -130,7 +131,7 @@
</div>
</div>
<!-- 新增弹框 -->
<el-dialog :visible.sync="dialogFormVisible" :before-close="closeDialog" title="新增" width="30%">
<el-dialog :close-on-click-modal="false" :visible.sync="dialogFormVisible" :before-close="closeDialog" title="新增" width="30%">
<el-form ref="addForm" :model="form" :rules="rules" label-width="150px">
<el-form-item label="指标名称" prop="title">
@ -146,7 +147,7 @@
<el-form-item v-if="form.share==2" label="关联部门" prop="relevantdepartments">
<el-cascader clearable v-model="form.relevantdepartments" :options="grouplist" :show-all-levels="false" :props="props"></el-cascader>
</el-form-item>
<!-- <el-form-item label="所属考核维度" prop="dimension">
<el-form-item label="所属考核维度" prop="dimension">
<el-select v-model="form.dimension" clearable placeholder="请选择考核维度">
<el-option
v-for="item in dutyclasslist"
@ -155,7 +156,7 @@
:value="item.outId">
</el-option>
</el-select>
</el-form-item> -->
</el-form-item>
<el-form-item label="指标性质" prop="type">
<el-select v-model="form.type" placeholder="请选择指标性质">
<el-option label="定性指标" :value=1></el-option>
@ -191,7 +192,7 @@
</template>
</el-dialog>
<!-- 编辑弹框 -->
<el-dialog :visible.sync="editDialogFormVisible" :before-close="editCloseDialog" title="修改" width="20%">
<el-dialog :close-on-click-modal="false" :visible.sync="editDialogFormVisible" :before-close="editCloseDialog" title="修改" width="20%">
<el-form ref="editForm" :model="editAdd" :rules="editRules" label-width="150px">
<el-form-item label="指标名称" prop="title">
@ -207,7 +208,7 @@
<el-form-item v-if="editAdd.share==2" label="关联部门" prop="relevantdepartmentsmap">
<el-cascader clearable v-model="editAdd.relevantdepartmentsmap" :options="grouplist" :show-all-levels="false" :props="props"></el-cascader>
</el-form-item>
<!-- <el-form-item label="所属考核维度" prop="dimension">
<el-form-item label="所属考核维度" prop="dimension">
<el-select v-model="form.dimension" clearable placeholder="请选择考核维度">
<el-option
v-for="item in dutyclasslist"
@ -216,7 +217,7 @@
:value="item.outId">
</el-option>
</el-select>
</el-form-item> -->
</el-form-item>
<el-form-item label="指标性质" prop="type">
<el-select v-model="editAdd.type" placeholder="请选择指标性质">
<el-option label="定性指标" :value=1></el-option>
@ -319,7 +320,9 @@ export default {
},
assessList:{},
//
form:{},
form:{
cycleattr:1,
},
//
dialogFormVisible:false,
//

317
src/views/frontPage/index.vue

@ -0,0 +1,317 @@
<template>
<div class="page">
<div class="gva-card-box">
<div class="gva-card gva-top-card">
<div class="gva-top-card-left">
<div class="gva-top-card-left-title">早安管理员请开始一天的工作吧</div>
<div class="gva-top-card-left-dot">今日晴0 - 10天气寒冷注意添加衣物</div>
<div class="gva-top-card-left-rows">
<el-row>
<el-col :span="8" :xs="24" :sm="8">
<div class="flex-center">
<i class="el-icon-sort icon" />今日流量 (1231231)
</div>
</el-col>
<el-col :span="8" :xs="24" :sm="8">
<div class="flex-center">
<i class="el-icon-s-custom icon" />总用户数 (24001)
</div>
</el-col>
<el-col :span="8" :xs="24" :sm="8">
<div class="flex-center">
<i class="el-icon-s-comment icon" />好评率 (99%)
</div>
</el-col>
</el-row>
</div>
<div>
<div class="gva-top-card-left-item">
使用教学
<a
style="color:#409EFF"
target="view_window"
href=""
></a>
</div>
<!-- <div class="gva-top-card-left-item">
插件仓库
<a
style="color:#409EFF"
target="view_window"
href=""
></a>
</div> -->
</div>
</div>
<!-- <img src="@/assets/dashbord.png" class="gva-top-card-right" alt> -->
<img src="../../assets/404_images/dashbord.png" class="gva-top-card-right" alt>
</div>
</div>
<div class="gva-card-box">
<el-card class="gva-card quick-entrance">
<template #header>
<div class="card-header">
<span>快捷入口</span>
</div>
</template>
<el-row :gutter="20">
<el-col
v-for="(card, key) in toolCards"
:key="key"
:span="4"
:xs="8"
class="quick-entrance-items"
@click="toTarget(card.name)"
>
<div class="quick-entrance-item">
<div class="quick-entrance-item-icon" :style="{ backgroundColor: card.bg }">
<i :class="card.icon" :style="{ color: card.color }" />
</div>
<p>{{ card.label }}</p>
</div>
</el-col>
</el-row>
</el-card>
<!-- <div class="quick-entrance-title"></div> -->
</div>
<div class="gva-card-box">
<div class="gva-card">
<div class="card-header">
<span>数据统计</span>
</div>
<div class="echart-box">
<el-row :gutter="20">
<el-col :xs="24" :sm="18">
<echarts-line />
</el-col>
<el-col :xs="24" :sm="6">
<dashbord-table />
</el-col>
</el-row>
</div>
</div>
</div>
</div>
</template>
<script>
// import echartsLine from '@/view/dashboard/dashbordCharts/echartsLine.vue'
// import dashbordTable from '@/view/dashboard/dashbordTable/dashbordTable.vue'
export default {
name: 'Dashboard',
// components: {
// echartsLine,
// dashbordTable
// },
data() {
return {
toolCards: [
// {
// label: '',
// icon: 'el-icon el-icon-monitor',
// name: 'user',
// color: '#ff9c6e',
// bg: 'rgba(255, 156, 110,.3)'
// },
// {
// label: '',
// icon: 'el-icon el-icon-setting',
// name: 'authority',
// color: '#69c0ff',
// bg: 'rgba(105, 192, 255,.3)'
// },
// {
// label: '',
// icon: 'el-icon el-icon-menu',
// name: 'menu',
// color: '#b37feb',
// bg: 'rgba(179, 127, 235,.3)'
// },
// {
// label: '',
// icon: ' el-icon-cpu',
// name: 'autoCode',
// color: '#ffd666',
// bg: 'rgba(255, 214, 102,.3)'
// },
// {
// label: '',
// icon: 'el-icon-document-checked',
// name: 'formCreate',
// color: '#ff85c0',
// bg: 'rgba(255, 133, 192,.3)'
// },
// {
// label: '',
// icon: ' el-icon-user',
// name: 'about',
// color: '#5cdbd3',
// bg: 'rgba(92, 219, 211,.3)'
// }
]
}
},
methods: {
toTarget(name) {
this.$router.push({ name })
}
}
}
</script>
<style lang="scss" scoped>
@mixin flex-center {
display: flex;
align-items: center;
}
.page {
background: #f0f2f5;
padding: 0;
.gva-card-box{
padding: 12px 16px;
&+.gva-card-box{
padding-top: 0px;
}
}
.gva-card {
box-sizing: border-box;
background-color: #fff;
border-radius: 2px;
height: auto;
padding: 26px 30px;
overflow: hidden;
box-shadow: 0 0 7px 1px rgba(0, 0, 0, 0.03);
}
.gva-top-card {
height: 260px;
@include flex-center;
justify-content: space-between;
color: #777;
&-left {
height: 100%;
display: flex;
flex-direction: column;
&-title {
font-size: 22px;
color: #343844;
}
&-dot {
font-size: 14px;
color: #6B7687;
margin-top: 24px;
}
&-rows {
// margin-top: 15px;
margin-top: 18px;
color: #6B7687;
width: 600px;
align-items: center;
}
&-item{
+.gva-top-card-left-item{
margin-top: 24px;
}
margin-top: 14px;
}
}
&-right {
height: 600px;
width: 600px;
margin-top: 28px;
}
}
::v-deep(.el-card__header){
padding:0;
border-bottom: none;
}
.card-header{
padding-bottom: 20px;
border-bottom: 1px solid #e8e8e8;
}
.quick-entrance-title {
height: 30px;
font-size: 22px;
color: #333;
width: 100%;
border-bottom: 1px solid #eee;
}
.quick-entrance-items {
@include flex-center;
justify-content: center;
text-align: center;
color: #333;
.quick-entrance-item {
padding: 16px 28px;
margin-top: -16px;
margin-bottom: -16px;
border-radius: 4px;
transition: all 0.2s;
&:hover{
box-shadow: 0px 0px 7px 0px rgba(217, 217, 217, 0.55);
}
cursor: pointer;
height: auto;
text-align: center;
// align-items: center;
&-icon {
width: 50px;
height: 50px !important;
border-radius: 8px;
@include flex-center;
justify-content: center;
margin: 0 auto;
i {
font-size: 24px;
}
}
p {
margin-top: 10px;
}
}
}
.echart-box{
padding: 14px;
}
}
.icon {
font-size: 20px;
color: rgb(85, 160, 248);
width: 30px;
height: 30px;
margin-right: 10px;
@include flex-center;
}
.flex-center {
@include flex-center;
}
//
@media (max-width: 750px) {
.gva-card {
padding: 20px 10px !important;
.gva-top-card {
height: auto;
&-left {
&-title {
font-size: 20px !important;
}
&-rows {
margin-top: 15px;
align-items: center;
}
}
&-right {
display: none;
}
}
.gva-middle-card {
&-item {
line-height: 20px;
}
}
.icon {
font-size: 18px;
}
}
}
</style>
Loading…
Cancel
Save