123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884 |
- <template>
- <div class="box-all" v-loading="loading">
- <el-header>
- <div class="flex-box" style="height: 60px;box-shadow: 0 1px 4px rgba(0,21,41,.08);">
- <div @click="homeUrl" class="logo-box flex-box flex-center-center">
- <img v-if="site_info.logo_url" :src="site_info.logo_url" class="logo"/>
- <img v-else src="static/images/logo3.png" class="logo" />
- </div>
- <div class="flex-1 flex-box-ce" style="padding: 0 20px;" v-if="site_info.name">
- <el-dropdown @command="handleCommand">
- <div class="cursor black" style="font-size: 18px;font-weight: 600;">{{ site_info.name }}<i class="el-icon-caret-bottom"></i></div>
- <el-dropdown-menu slot="dropdown">
- <el-dropdown-item v-for="(group, index) in companyList" v-if="!group.isNoShow" :key="index" :label="group.label" :divided="group.id == 1 || group.id == 2" :class="{ active: site_info.id==group.id }" :command="group">
- <span v-if="group.id == 2"><i class="el-icon-circle-plus" style="margin-right: 10px;"></i>{{ group.name }}</span>
- <span v-else-if="group.id == 1"> <i class="el-icon-setting" style="margin-right: 10px;"></i>{{ group.name }}</span>
- <span v-else>{{ group.name }}<i v-if="group.isSelect" class="el-icon-check" style="margin-left: 10px;"></i></span>
- </el-dropdown-item>
- </el-dropdown-menu>
- </el-dropdown>
- <div style="margin-left: 20px;">
- <el-popover v-if="isAdministrator" placement="bottom" width="364" trigger="hover">
- <SystemMessage></SystemMessage>
- <div slot="reference" class="count_max">{{ site_info.user_count_max }}用户</div>
- </el-popover>
- </div>
- <div class="flex-1"></div>
- <div class="right-menu">
- <div class="flex-box-ce">
- <div v-for="(item, index) in icons" :key="index" class="icon-item" @click="iconActive(item.id)">
- <div class="flex-box-ce" v-if="item.id!=3">
- <svg-icon :icon-class="item.icon" style="font-size: 18px;position: relative;top: 1px;right:2px"></svg-icon> <span>{{ item.name }}</span>
- </div>
- <el-popover v-else placement="bottom" width="240" trigger="hover">
- <div class="flex-box-v flex-center-center">
- <img src="static/images/code.png" alt="" style="width: 220px;">
- <div style="margin-top: 10px;" class="fontColorC">扫码下载手机版</div>
- </div>
- <div class="flex-box-ce" slot="reference">
- <svg-icon :icon-class="item.icon" style="font-size: 18px;position:relative;top: 1px;right:2px"></svg-icon> <span>{{ item.name }}</span>
- </div>
- </el-popover>
- </div>
- </div>
- <!-- 切换公司或退出账号 -->
- <el-dropdown @command="handleCommand2">
- <span class="el-dropdown-link" style="cursor: pointer;">
- <userImage class="user_img" width="40px" height="40px" fontSize="14" :user_name="account_info.name" :img_url="account_info.img_url"></userImage>
- </span>
- <el-dropdown-menu slot="dropdown">
- <el-dropdown-item v-for="(group, index) in userConcent" :key="index" :command="group">
- <span v-if="group.id == 2" class="red"><i class="el-icon-warning" style="margin-right: 10px;"></i>{{ group.name }}</span>
- </el-dropdown-item>
- </el-dropdown-menu>
- </el-dropdown>
- </div>
- </div>
- </div>
- </el-header>
- <el-container class="main">
- <div class="main-left">
- <div class="flex-box-v flex-center-center">
- <template v-for="(item,index) in menuArr">
- <div class="flex-box-v menu-item" v-if="item.show" :class="{'menu-active':menuIndex==item.index,[item.class]:item.class}" @click="openUrl(item)">
- <svg-icon :icon-class="item.icon" class="svgIcon"></svg-icon>
- <span style="margin-top: 5px;">{{ item.name }}</span>
- </div>
- </template>
- </div>
- </div>
- <el-main class="main-content">
- <router-view />
- </el-main>
- </el-container>
- <el-dialog :close-on-click-modal="false" title="客服" :visible.sync="innerVisible" width="400px" append-to-body class="innerVisible">
- <p style="margin:0;font-size:18px;">微信扫码添加功道云客服进行咨询</p>
- <img src="static/images/code2.png" style="width:100%" />
- <p style="font-size:20px;">电话咨询:400-6877-880</p>
- </el-dialog>
- <el-dialog :close-on-click-modal="false" title="创建新企业" :visible.sync="StartAnewBusiness" width="40%" :before-close="handleClose">
- <el-form :model="rejectForm" ref="rejectForm" label-width="80px" v-loading="rejectLoading">
- <el-form-item
- label="企业名称"
- prop="StartAnewBusinessName"
- :rules="[
- { required: true, message: '请输入企业名称', trigger: 'blur' },
- { min: 3, max: 30,message: '长度在 3 到 30 个字符', trigger: 'blur'}
- ]"
- >
- <el-input type="textarea" placeholder="公司名/组织名称" v-model="rejectForm.StartAnewBusinessName" maxlength="30" show-word-limit></el-input>
- </el-form-item>
- <el-form-item label="企业规模" prop="remark">
- <el-select v-model="rejectForm.StartAnewBusinessVal" placeholder="请选择">
- <el-option v-for="item in StartAnewBusinessPeople" :key="item.value" :label="item.label" :value="item.value"></el-option>
- </el-select>
- </el-form-item>
- <el-form-item>
- <el-button @click="adoptClose">取 消</el-button>
- <el-button type="primary" @click="StartAnewBuY('rejectForm')">创建完成</el-button>
- </el-form-item>
- </el-form>
- </el-dialog>
- <!-- 建议 -->
- <Suggest :visible.sync="isShowJy"></Suggest>
- <!-- 系统公告 -->
- <div class="updateNotice">
- <el-dialog title="系统公告" :visible.sync="updateVisible" width="700px" top="10vh">
- <b style="font-size:16px;margin:0 0 10px 0;display: inline-block;">{{ announcement.title }}</b>
- <div class="announDetails" style="padding:0 0 0 0" v-html="announcement.content"></div>
- <span slot="footer" class="dialog-footer"><el-button @click="openNotice" type="primary" round>查看详情</el-button></span>
- </el-dialog>
- </div>
- </div>
- </template>
- <script>
- import { mapGetters, mapState } from 'vuex';
- import { useShepherd } from 'vue-shepherd'
- import { setToken, returnJSEncrypt,_debounce } from '@/utils/auth';
- import Suggest from '@/components/Suggest';
- import SystemMessage from '@/components/SystemMessage';
- import axios from 'axios';
- export default {
- components: { Suggest,SystemMessage },
- data() {
- return {
- menuArr:[],
- menuIndex:1,
- isShowJy: false,
- updateVisible: false,
- announcement: {},
- loading: false,
- defaultActive: '0-0',
- innerVisible: false,
- rejectLoading: false,
- rejectForm: {
- StartAnewBusinessName: '',
- StartAnewBusinessVal: '1-10人'
- },
- StartAnewBusinessPeople: [
- { value: '1-10人', lable: 0 },
- { value: '10-50人', lable: 1 },
- { value: '50-200人', lable: 2 },
- { value: '200-500人', lable: 3 },
- { value: '500-1000人', lable: 4 },
- { value: '1000人以上', lable: 5 }
- ],
- StartAnewBusiness: false,
- companyList: [],
- userInfo: this.$store.getters.user_info,
- cpmpanyId: this.$store.getters.user_info.site_id,
- concent: [{ id: 2,name: '创建新企业'},{ id: 1,name: '企业信息设置',isNoShow:this.$getIsAdministrator()? false:true}],
- userConcent: [
- // {id:1,name:''},
- { id: 2,name: '退出账号'},
- ],
- noticeItem:{},
- icons:[
- {name:'教程',icon:'#icon-jiaocheng',id:1},
- {name:'客服',icon:'#icon-kefu',id:2},
- {name:'手机版',icon:'#icon-shouji',id:3}
- ],
- isAdministrator:this.$getIsAdministrator(),
- isLog:false,
- };
- },
- computed: {
- ...mapGetters(['site_info','account_info'])
- },
- watch: {
- $route(to, from) {
- var str = to.path;
- this.menuArr.some((item, index) => {
- if (item.path == str) {
- this.menuIndex =item.index;
- this.$setCache('path',item.index);
- return true;
- }
- });
- },
- site_info(){
- this.menuArr=[
- {name:'首页',icon:'#icon-shouye',path:'/index',show:true,index:1},
- {name:'目标',icon:'#icon-zhiyeshengyamubiao',path:'/okrIndex',show:this.site_info.sub_menu.okr,index:4,class:'okr'},
- {name:'绩效',icon:'#icon-jixiao',path:'/performanceIndex',show:this.site_info.sub_menu.per,index:3,class:'performance'},
- {name:'积分',icon:'#icon-PC_gongzuotai_ABfen',path:'/pointIndex',show:this.site_info.sub_menu.integral,index:2,class:'point'},
- {name:'巡检',icon:'#icon-tongxunlu_tianjiabumen',path:'/examineIndex',show:this.site_info.sub_menu.sm,index:5,class:'examine'},
- {name:'组织',icon:'#icon-shezhi_zuzhijiagou',path:'/organization',show:this.$userInfo().is_site_owner||this.$userInfo().is_site_manager,index:6},
- {name:'设置',icon:'#icon-shezhi-xianxing',path:'/system',show:true,index:7},
- ];
- }
- },
- created() {
- if(this.$route.path!='/index'){
- this.menuIndex =this.$getCache('path')!=1? this.$getCache('path'):1;
- }
- this.$store.dispatch('get_dept_tree',true).then((res) => {}) // 获取部门树型结构列表
- this.$store.dispatch('get_site_info',true).then((res) => {}) // 获取部门树型结构列表
- },
- mounted() {
- this.noticeList();
- this.getCompany();
- if(this.site_info.id){
- this.menuArr=[
- {name:'首页',icon:'#icon-shouye',path:'/index',show:true,index:1},
- {name:'目标',icon:'#icon-zhiyeshengyamubiao',path:'/okrIndex',show:this.site_info.sub_menu.okr,index:4,class:'okr'},
- {name:'绩效',icon:'#icon-jixiao',path:'/performanceIndex',show:this.site_info.sub_menu.per,index:3,class:'performance'},
- {name:'积分',icon:'#icon-PC_gongzuotai_ABfen',path:'/pointIndex',show:this.site_info.sub_menu.integral,index:2,class:'point'},
- {name:'巡检',icon:'#icon-tongxunlu_tianjiabumen',path:'/examineIndex',show:this.site_info.sub_menu.sm,index:5,class:'examine'},
- {name:'组织',icon:'#icon-shezhi_zuzhijiagou',path:'/organization',show:this.$userInfo().is_site_owner||this.$userInfo().is_site_manager,index:6},
- {name:'设置',icon:'#icon-shezhi-xianxing',path:'/system',show:true,index:7},
- ];
- }
- this.$nextTick(()=>{
- // this.initShepherd();
- })
- },
- methods: {
- openCursor(item){
- let urls=['https://www.yuque.com/xbddba/usmcgl?#','https://www.yuque.com/xbddba/qmvgbb?#','https://www.yuque.com/xbddba/pea8fp?#','https://www.yuque.com/xbddba/rtl7hs?#']
- window.open(urls[item.id-1],'_blank');
- },
- initShepherd(){
- // 初始化Shepherd并设置默认参数以及第一步引导
- var shepherd = useShepherd({
- // 设置默认引导配置
- defaultStepOptions: {
- // 引导左上角取消按钮图标的配置
- cancelIcon: {
- enabled: true, // 默认为true
- },
- // 指定引导盒子的类名, 用于后续自定义样式, 类名可叠加
- classes: 'box-all',
- // 滚动方式
- scrollTo: {
- behavior: 'smooth',
- block: 'center'
- }
- },
- // 添加第一步引导
- steps: [
- {
- // 设置引导标题
- title: '目标系统',
- // 设置引导文本
- text: '这是第一个引导说明, 你好呀!朋友',
- // 设置指向的目标元素
- attachTo: {
- // 目标元素
- element: '.okr',
- // 引导DOM位于目标元素的方位
- on: 'bottom'
- },
- // 设置底部按钮
- buttons: [
- {
- action: function() {
- // Shepherd退出引导的方法
- return this.cancel();
- },
- // 颜色是否突出, 设置次要的颜色就不为突出
- secondary: true,
- text: 'Exit'
- },
- {
- action: function() {
- // Shepherd执行下一步引导的方法
- return this.next();
- },
- text: 'Next'
- }
- ],
- id: 'welcome' // 用于Shepherd step的唯一标识符
- },
- {
- // 设置引导标题
- title: '绩效系统',
- // 设置引导文本
- text: '这是第一个引导说明, 你好呀!朋友',
- // 设置指向的目标元素
- attachTo: {
- // 目标元素
- element: '.performance',
- // 引导DOM位于目标元素的方位
- on: 'bottom'
- },
- // 设置底部按钮
- buttons: [
- {
- action: function() {
- // Shepherd退出引导的方法
- return this.cancel();
- },
- // 颜色是否突出, 设置次要的颜色就不为突出
- secondary: true,
- text: 'Exit'
- },
- {
- action: function() {
- // Shepherd执行下一步引导的方法
- return this.next();
- },
- text: 'Next'
- }
- ],
- id: 'welcome' // 用于Shepherd step的唯一标识符
- },
- {
- // 设置引导标题
- title: '积分系统',
- // 设置引导文本
- text: '这是第一个引导说明, 你好呀!朋友',
- // 设置指向的目标元素
- attachTo: {
- // 目标元素
- element: '.point',
- // 引导DOM位于目标元素的方位
- on: 'bottom'
- },
- // 设置底部按钮
- buttons: [
- {
- action: function() {
- // Shepherd退出引导的方法
- return this.cancel();
- },
- // 颜色是否突出, 设置次要的颜色就不为突出
- secondary: true,
- text: 'Exit'
- },
- {
- action: function() {
- // Shepherd执行下一步引导的方法
- return this.next();
- },
- text: 'Next'
- }
- ],
- id: 'welcome' // 用于Shepherd step的唯一标识符
- },
- {
- // 设置引导标题
- title: '巡检系统',
- // 设置引导文本
- text: '这是第一个引导说明, 你好呀!朋友',
- // 设置指向的目标元素
- attachTo: {
- // 目标元素
- element: '.examine',
- // 引导DOM位于目标元素的方位
- on: 'bottom'
- },
- // 设置底部按钮
- buttons: [
- {
- action: function() {
- // Shepherd退出引导的方法
- return this.cancel();
- },
- // 颜色是否突出, 设置次要的颜色就不为突出
- secondary: true,
- text: 'Exit'
- },
- {
- action: function() {
- // Shepherd执行下一步引导的方法
- return this.next();
- },
- text: 'Next'
- }
- ],
- id: 'welcome' // 用于Shepherd step的唯一标识符
- }
- ],
- // 是否背景突出引导, 默认是false
- useModalOverlay: true
- });
- shepherd.start();
- },
- homeUrl(){
- this.$router.push({ path: '/index' });
- },
- iconActive(id){
- if(id==1){
- window.open('https://www.yuque.com/xbddba/wqeca2','_blank');
- }else if(id==2){
- this.innerVisible=true;
- }else{
- }
- },
- openUrl(item){
- if(this.menuIndex==item.index||this.isLog){
- return false;
- }
- this.isLog=true;
- if(item){
- this.menuIndex=item.index;
- this.$setCache('point_path','0-0');//积分初始化路由
- this.$setCache('okr_path', '0-0'); //OKR,再进来初始化
- this.$setCache('examine_path','0-0');//现场管理
- this.$setCache('performance_path', '0-0'); //关闭绩效系统窗口后,再进来初始化
- this.$setCache('path',item.index);
- this.$router.push({ path: item.path });
- }else{
- this.$setCache('point_path','0-0');//积分初始化路由
- this.$setCache('okr_path', '0-0'); //OKR,再进来初始化
- this.$setCache('examine_path','0-0');//现场管理
- this.$setCache('performance_path', '0-0'); //关闭绩效系统窗口后,再进来初始化
- this.$setCache('path',1);
- this.$router.push({ path: '/index' });
- }
- setTimeout(()=>{
- this.isLog=false
- },1000);
- },
- openNotice() {
- this.updateVisible = false;
- this.$router.push({ path: '/update_notice',query:{item:JSON.stringify(this.noticeItem),type:1}})
- },
- getNoticeDetail(id){
- this.$axiosUser('get', '/api/pro/article', {id:id}).then(res => {
- let data=res.data.data
- this.updateVisible = true;
- this.$setCache('noticeId',id);
- this.announcement = data;
- });
- },
- //系统公告
- noticeList() {
- let params = { page: 1, page_size: 1, type:1 };
- this.$axiosUser('get', '/api/pro/article/list', params).then(res => {
- let list = res.data.data.list[0];
- if(res.data.data.list.length>0){
- if (this.$getCache('noticeId')) {
- if (this.$getCache('noticeId') != list.id) {
- this.getNoticeDetail(list.id);
- }
- } else {
- this.getNoticeDetail(list.id);
- }
- this.noticeItem=list
- }
- });
- },
- handleCommand2(item) {
- if (item.id == 1) {
- this.$router.push({ path: '/system',query:{name:'User'} });
- } else{
- this.logout();
- }
- },
- handleCommand(item) {
- if (item.id !== 1 && item.id !== 2) {
- this.cpmpanyId = item.id;
- this.checkCompany();
- } else if (item.id == 1 && item.name == '企业信息设置') {
- this.$router.push({ path: '/system',query:{name:'Company'} });
- } else if (item.id == 2 && item.name == '创建新企业') {
- this.rejectForm = {
- StartAnewBusinessName: '',
- StartAnewBusinessVal: '1-10人'
- };
- this.StartAnewBusiness = true;
- }
- },
- StartAnewBuY(formName) {
- this.$refs[formName].validate(valid => {
- if (valid) {
- this.$axios('post', '/api/pro/site/create', {
- name: this.rejectForm.StartAnewBusinessName,
- scale: this.rejectForm.StartAnewBusinessVal,
- industry: '互联网',
- tel: '',
- employee_name: ''
- })
- .then(res => {
- this.cpmpanyId = res.data.data.id;
- this.checkCompany();
- })
- .finally(() => {
- this.StartAnewBusiness = false;
- });
- }
- });
- },
- adoptClose() {
- this.StartAnewBusiness = false;
- setTimeout(() => {
- this.rejectForm = {
- StartAnewBusinessName: '',
- StartAnewBusinessVal: '1-10人'
- };
- }, 200);
- },
- //关闭 创建新企业 弹窗
- handleClose(done) {
- done();
- this.rejectForm = {
- StartAnewBusinessName: '',
- StartAnewBusinessVal: '1-10人'
- };
- },
- // 切换公司
- checkCompany() {
- this.$axios('post', '/api/pro/employee-login', { site_id: this.cpmpanyId }).then(res => {
- setToken(res.data.data.token);
- this.$setCache('point_path','0-0');//积分初始化路由
- this.$setCache('okr_path', '0-0'); //OKR,再进来初始化
- this.$setCache('examine_path','0-0');//现场管理
- this.$setCache('performance_path', '0-0'); //关闭绩效系统窗口后,再进来初始化
- this.$removeCache(['SET_EMPLOYEE_MAP','SET_EMPLOYEE_MAP_ALL','site_info', 'dept_tree','account_info','userInfo']);
- this.$router.replace({path:'index'})
- this.$nextTick(()=>{
- window.location.reload();
- })
- });
- },
- // 获取公司列表
- getCompany() {
- this.$axios('get', '/api/pro/account/site').then(res => {
- if (res.data.code == 1) {
- let site_list = [];
- let site_map = {};
- if (res.data.data.list && res.data.data.list.length == 0) {
- this.companyList = [...this.concent];
- } else {
- let data=res.data.data;
- for (let i in data) {
- site_list.push({
- id: data[i].site.id,
- name: data[i].site.name,
- });
- site_map[data[i].site.id] = data[i].site.name;
- }
- this.$nextTick(() => {
- this.companyList = [...site_list, ...this.concent];
- this.cpmpanyId = this.userInfo.site_id;
- });
- }
- }
- });
- },
- logout() {
- this.$store.dispatch('LogOut');
- },
- }
- };
- </script>
- <style scoped="scoped" lang="scss">
- .icon-item{
- margin-right: 30px;
- cursor: pointer;
- }
- .icon-item:hover{
- color: #409eff;
- }
- .count_max{
- border: 1px solid #005bea;
- border-radius: 5px;
- padding:4px 10px;
- color: #005bea;
- cursor: pointer;
- }
- .menu-item{
- width: 70px;
- color: #ccc;
- text-align: center;
- padding: 10px 0;
- cursor: pointer;
- position: relative;
- border-left: 3px solid #191a23;
- transition: border-color .3s,background-color .3s,color .3s;
- }
- .svgIcon {
- font-size: 16px;
- margin: 0 auto;
- }
- .menu-item:hover{
- background-color: #393b4b;
- }
- .menu-active{
- background-color: #393b4b;
- border-left: 5px solid #005bea;
- color: #fff;
- }
- .announDetails {
- ::v-deep img {
- width: 100%;
- }
- }
- .updateNotice ::v-deep .el-dialog {
- border-radius: 10px;
- .el-dialog__header {
- padding: 13px 20px;
- text-align: center;
- background-color: #3193fc;
- border-radius: 8px 8px 0 0;
- .el-dialog__title {
- font-size: 16px;
- color: #fff;
- }
- .el-icon-close {
- color: #fff;
- }
- }
- .el-dialog__body {
- padding: 20px 20px 30px 20px;
- }
- .el-dialog__footer {
- .dialog-footer {
- .is-round {
- padding: 10px 19px;
- border-radius: 15px;
- }
- }
- }
- }
- .navigation {
- position: fixed;
- right: 20px;
- bottom: 100px;
- z-index: 999;
- }
- .navigationBox {
- background-color: #409eff;
- color: #fff;
- font-size: 12px;
- margin-top: 20px;
- text-align: center;
- }
- .navigationItem {
- padding: 6px;
- cursor: pointer;
- }
- .navigationItem:hover {
- background-color: #005bea;
- }
- .money {
- line-height: 32px;
- text-align: center;
- height: 32px;
- color: #ff9600;
- width: 88px;
- background: #ffffff;
- border: 1px solid #ff9600;
- opacity: 1;
- border-radius: 3px;
- cursor: pointer;
- margin-left: 20px;
- }
- .money2 {
- line-height: 32px;
- text-align: center;
- height: 32px;
- color: #409eff;
- width: 120px;
- background: #ffffff;
- border: 1px solid #409eff;
- opacity: 1;
- border-radius: 3px;
- cursor: pointer;
- margin: 0 20px;
- padding-left: 10px;
- }
- .innerVisible p {
- text-align: center;
- }
- .megData div:nth-child(1) {
- background-image: linear-gradient(to bottom, #5e6e9b 0%, #232d48 100%);
- text-align: center;
- color: #e1bf66;
- border-top-left-radius: 25px;
- border-bottom-left-radius: 25px;
- line-height: 35px;
- height: 35px;
- padding: 0 10px;
- }
- .megData div:nth-child(2) {
- background-image: linear-gradient(to bottom, #ffeab2 0%, #e1bf66 100%);
- text-align: center;
- color: #232d48;
- border-top-right-radius: 25px;
- border-bottom-right-radius: 25px;
- line-height: 35px;
- height: 35px;
- padding: 0 10px;
- }
- .jx {
- width: 140px;
- color: #fff;
- border-radius: 3px;
- text-align: left;
- box-shadow: 1px 1px 0px 0px #ccc;
- height: 45px;
- font-size: 16px;
- padding-left: 36px;
- line-height: 45px;
- cursor: pointer;
- font-weight: 600;
- // border: 1px solid #409EFF;
- border-radius: 5px;
- background-image: linear-gradient(117deg, #00c6fb 0%, #005bea 100%);
- margin: 0 auto;
- margin-bottom: 10px;
- }
- .PCtutorials {
- height: 38px;
- width: 38px;
- display: inline-block;
- border-radius: 50%;
- text-align: center;
- font-size: 18px;
- line-height: 38px;
- -webkit-transition: all 0.3s;
- -moz-transition: all 0.3s;
- -ms-transition: all 0.3s;
- -o-transition: all 0.3s;
- transition: all 0.3s;
- background-color: #409eff;
- color: #fff;
- }
- .PCtutorials:hover {
- box-shadow: 0 0 3px #ccc;
- }
- .routerActive {
- background-color: #199afb !important;
- }
- .active {
- color: #409eff;
- background-color: rgba(38, 162, 255, 0.1);
- }
- .right-menu {
- float: right;
- height: 100%;
- display: flex;
- align-items: center;
- &:focus {
- outline: none;
- }
- .right-menu-item {
- display: inline-block;
- margin: 0 8px;
- }
- .screenfull {
- height: 20px;
- }
- .international {
- vertical-align: top;
- }
- .theme-switch {
- vertical-align: 15px;
- }
- .avatar-container {
- height: 60px;
- margin-right: 30px;
- .avatar-wrapper {
- cursor: pointer;
- margin-top: 5px;
- position: relative;
- .user-avatar {
- width: 40px;
- height: 40px;
- border-radius: 10px;
- }
- .el-icon-caret-bottom {
- position: absolute;
- right: -20px;
- top: 25px;
- font-size: 12px;
- }
- }
- }
- }
- .el-menu-vertical-demo:not(.el-menu--collapse) {
- width: 180px;
- }
- .el-header {
- background-color: #fff;
- padding: 0 !important;
- border-bottom: 1px solid #f1f1f1;
- min-width: 1100px;
- }
- .el-menu {
- overflow: hidden;
- border: none;
- }
- .con_nav_left {
- background: #fff;
- overflow-y: scroll;
- }
- .box-all {
- height: 100%;
- overflow: hidden;
- }
- .el-main {
- background-color: #f0f4fa;
- height: calc(100vh - 60px);
- overflow-y: scroll;
- padding: 10px;
- min-width: 1100px;
- box-sizing: border-box;
- }
- .el-main::-webkit-scrollbar {
- display: none;
- }
- .logo-box {
- cursor: pointer;
- width: 70px;
- border-bottom: 1px solid #101117;
- background: #191a23;
- }
- .logo-box .logo {
- width: 30px;
- height: 30px;
- margin-right: 5px;
- border-radius: 6px;
- }
- .logo-box div {
- font-size: 16px;
- font-weight: 600;
- }
- .wn {
- height: 26px;
- width: 26px;
- margin-right: 12px;
- cursor: pointer;
- }
- .hea-right {
- padding: 0 20px;
- }
- .upgrade {
- margin-left: 10px;
- margin-right: 10px;
- }
- /deep/ .el-menu-item {
- padding-right: 10px !important;
- }
- /deep/ .el-menu-item.is-active {
- color: #409eff;
- background-color: #ecf5ff;
- }
- /deep/ .el-submenu .el-menu-item {
- min-width: 180px;
- box-sizing: border-box;
- }
- .main-left {
- background: #191a23;
- -webkit-box-shadow: 2px 0 6px rgba(0,21,41,.35);
- box-shadow: 2px 0 6px rgba(0,21,41,.35);
- }
- </style>
|