Commit 5804f6bf authored by 罗超's avatar 罗超

总经理视图

parent 2307d119
......@@ -8,39 +8,44 @@
export default {
name: "App",
mounted() {
if ((navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|wOSBrowser|BrowserNG|WebOS)/i))) {
if (
navigator.userAgent.match(
/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|wOSBrowser|BrowserNG|WebOS)/i
)
) {
//alert("shouji");
} else {
//alert("diannao");
document.write('<link href="http://edu.oytour.com/font.css" rel="stylesheet" type="text/css" media="screen" />');
document.write(
'<link href="http://edu.oytour.com/font.css" rel="stylesheet" type="text/css" media="screen" />'
);
}
}
},
};
</script>
<style>
@import url("//at.alicdn.com/t/font_2077629_w1o8daso6r9.css");
@font-face{
font-family: 'din';
src: url('./assets/font/DIN-Bold.otf') format('opentype');
@font-face {
font-family: "din";
src: url("./assets/font/DIN-Bold.otf") format("opentype");
font-weight: normal;
font-style: normal;
}
.border-radius{
.border-radius {
border-radius: 5px;
}
.din{
.din {
font-family: din !important;
}
.q-scrollarea__thumb {
z-index: 999999 !important;
}
body{
min-width:1360px !important;
body {
min-width: 1360px !important;
}
header{
min-width:1360px ;
header {
min-width: 1360px;
}
html,
body,
......@@ -309,8 +314,11 @@ button.bg-accent:active {
background: #ecf1ff !important;
color: var(--q-color-primary) !important;
}
.big-dialog .q-dialog__inner--minimized > div{
.big-dialog .q-dialog__inner--minimized > div {
max-width: unset !important;
}
.f12 {
font-size: 12px;
}
/***************************************************** End 重写ElementUI 抽屉效果 ***************************************************************/
</style>
import request from '../../utils/request'
export function GetGMView(data) {
return request({
url: '/DataService/GetGMView',
method: 'post',
data
})
}
export function UpdateGMView(data) {
return request({
url: '/DataService/UpdateGMView',
method: 'post',
data
})
}
<template>
<div
class="big-dataservice-box"
style="border-color:#ffe0b2!important"
:class="{ 'hide-border': shouType == '6' }"
>
<div class="tag-title" style="background:#ffe0b2!important">行政数据</div>
<div class="row q-gutter-md">
<q-card flat>
<div class="data-title">员工</div>
<div class="data-time">{{ formatDate.date }} {{ formatDate.week }}</div>
<div class="wrapper">
<div class="col">
<div class="label">在职员工</div>
<div class="value">
{{ d.EmpCount }}
<span class="unit"></span>
</div>
</div>
<div>
<div class="label">兼职员工</div>
<div class="value">
{{ d.InactiveEmpCount }}<span class="unit"></span>
</div>
</div>
</div>
</q-card>
<q-card flat>
<div class="data-title">新增员工</div>
<div class="data-time">{{ formatDate.date }} {{ formatDate.week }}</div>
<div class="wrapper">
<div class="col">
<div class="label">当日</div>
<div class="value">
{{ d.NewEmpCount.split(",")[0] }}
<span class="unit"></span>
</div>
</div>
<div class="q-mr-lg">
<div class="label big">当周</div>
<div class="value samll">
{{ d.NewEmpCount.split(",")[1] }}<span class="unit"></span>
</div>
</div>
<div>
<div class="label big">当月</div>
<div class="value samll">
{{ d.NewEmpCount.split(",")[2] }}<span class="unit"></span>
</div>
</div>
</div>
</q-card>
<q-card flat>
<div class="data-title">离职员工</div>
<div class="data-time">{{ formatDate.date }} {{ formatDate.week }}</div>
<div class="wrapper">
<div class="col">
<div class="label">当日</div>
<div class="value">
{{ d.LeaveEmpCount.split(",")[0] }}
<span class="unit"></span>
</div>
</div>
<div class="q-mr-lg">
<div class="label big">当周</div>
<div class="value samll">
{{ d.LeaveEmpCount.split(",")[1] }}<span class="unit"></span>
</div>
</div>
<div>
<div class="label big">当月</div>
<div class="value samll">
{{ d.LeaveEmpCount.split(",")[2] }}<span class="unit"></span>
</div>
</div>
</div>
</q-card>
<q-card flat>
<div class="data-title">红事件</div>
<div class="data-time">{{ formatDate.date }} {{ formatDate.week }}</div>
<div class="wrapper">
<div class="col">
<div class="label">当日</div>
<div class="value">
{{ d.RedEventCount.split(",")[0] }}
<span class="unit"></span>
</div>
</div>
<div class="q-mr-lg">
<div class="label big">当周</div>
<div class="value samll">
{{ d.RedEventCount.split(",")[1] }}<span class="unit"></span>
</div>
</div>
<div>
<div class="label big">当月</div>
<div class="value samll">
{{ d.RedEventCount.split(",")[2] }}<span class="unit"></span>
</div>
</div>
</div>
</q-card>
<q-card flat>
<div class="data-title">黑事件</div>
<div class="data-time">{{ formatDate.date }} {{ formatDate.week }}</div>
<div class="wrapper">
<div class="col">
<div class="label">当日</div>
<div class="value">
{{ d.BlackEventCount.split(",")[0] }}
<span class="unit"></span>
</div>
</div>
<div class="q-mr-lg">
<div class="label big">当周</div>
<div class="value samll">
{{ d.BlackEventCount.split(",")[1] }}<span class="unit"></span>
</div>
</div>
<div class="q-mr-lg">
<div class="label big">当月</div>
<div class="value samll">
{{ d.BlackEventCount.split(",")[2] }}<span class="unit"></span>
</div>
</div>
</div>
</q-card>
<q-card flat>
<div class="data-title">缺勤</div>
<div class="data-time">{{ formatDate.date }} {{ formatDate.week }}</div>
<div class="wrapper">
<div class="col">
<div class="label">当日</div>
<div class="value">
{{ d.AbsenceCount.split(",")[0] }}
<span class="unit"></span>
</div>
</div>
<div class="q-mr-lg">
<div class="label big">当周</div>
<div class="value samll">
{{ d.AbsenceCount.split(",")[1] }}<span class="unit"></span>
</div>
</div>
<div>
<div class="label big">当月</div>
<div class="value samll">
{{ d.AbsenceCount.split(",")[2] }}<span class="unit"></span>
</div>
</div>
</div>
</q-card>
<q-card flat>
<div class="data-title">旷工</div>
<div class="data-time">{{ formatDate.date }} {{ formatDate.week }}</div>
<div class="wrapper">
<div class="col">
<div class="label">当日</div>
<div class="value">
{{ d.AbsenteeismCount.split(",")[0] }}
<span class="unit"></span>
</div>
</div>
<div class="q-mr-lg">
<div class="label big">当周</div>
<div class="value samll">
{{ d.AbsenteeismCount.split(",")[1] }}<span class="unit"></span>
</div>
</div>
<div>
<div class="label big">当月</div>
<div class="value samll">
{{ d.AbsenteeismCount.split(",")[2] }}<span class="unit"></span>
</div>
</div>
</div>
</q-card>
<q-card flat>
<div class="data-title">请假</div>
<div class="data-time">{{ formatDate.date }} {{ formatDate.week }}</div>
<div class="wrapper">
<div class="col">
<div class="label">当日</div>
<div class="value">
{{ d.AFLeaveCount.split(",")[0] }}
<span class="unit"></span>
</div>
</div>
<div class="q-mr-lg">
<div class="label big">当周</div>
<div class="value samll">
{{ d.AFLeaveCount.split(",")[1] }}<span class="unit"></span>
</div>
</div>
<div>
<div class="label big">当月</div>
<div class="value samll">
{{ d.AFLeaveCount.split(",")[2] }}<span class="unit"></span>
</div>
</div>
</div>
</q-card>
</div>
</div>
</template>
<script>
export default {
props: ["d", "formatDate", "shouType"],
data() {
return {};
},
methods: {
numberFormat(value) {
let param = {};
let k = 10000;
let sizes = ["元", "万", "亿", "万亿"];
let i;
if (value < k) {
param.value = parseFloat(value).toFixed(2);
param.unit = "元";
} else {
i = Math.floor(Math.log(value) / Math.log(k));
param.value = (value / Math.pow(k, i)).toFixed(2);
param.unit = sizes[i];
}
return param;
}
}
};
</script>
<style></style>
<template>
<div
class="big-dataservice-box"
style="border-color:#b2dfdb!important"
:class="{ 'hide-border': shouType == '4' }"
>
<div class="tag-title" style="background:#b2dfdb!important">课程动态</div>
<div class="row q-gutter-md">
<q-card flat>
<div class="data-title">课程信息</div>
<div class="data-time">{{ formatDate.date }} {{ formatDate.week }}</div>
<div class="wrapper">
<div class="col">
<div class="label">课程总数</div>
<div class="value">
{{ d.CourseCount }}
<span class="unit"></span>
</div>
</div>
<div>
<div class="label">在售课程</div>
<div class="value">
{{ d.SellCourseCount }}<span class="unit"></span>
</div>
</div>
</div>
</q-card>
<q-card flat>
<div class="data-title">课程排名</div>
<div class="data-time">{{ formatDate.date }} {{ formatDate.week }}</div>
<div class="wrapper"></div>
</q-card>
<q-card flat>
<div class="data-title">排课</div>
<div class="data-time">{{ formatDate.date }} {{ formatDate.week }}</div>
<div class="wrapper">
<div class="col">
<div class="label">当日</div>
<div class="value">
{{ d.PlanCount.split(",")[0] }}
<span class="unit"></span>
</div>
</div>
<div class="q-mr-lg">
<div class="label big">当周</div>
<div class="value samll">
{{ d.PlanCount.split(",")[1] }}<span class="unit"></span>
</div>
</div>
<div>
<div class="label big">当月</div>
<div class="value samll">
{{ d.PlanCount.split(",")[2] }}<span class="unit"></span>
</div>
</div>
</div>
</q-card>
<q-card flat>
<div class="data-title">平均上座率</div>
<div class="data-time">{{ formatDate.date }} {{ formatDate.week }}</div>
<div class="wrapper">
<div class="col">
<div class="label">当日</div>
<div class="value">
{{ parseFloat(d.FullRate.split(",")[0]).toFixed(2) }}
<span class="unit">%</span>
</div>
</div>
<div class="q-mr-lg">
<div class="label big">当周</div>
<div class="value samll">
{{ parseFloat(d.FullRate.split(",")[1]).toFixed(2)
}}<span class="unit">%</span>
</div>
</div>
<div class="q-mr-lg">
<div class="label big">当月</div>
<div class="value samll">
{{ parseFloat(d.FullRate.split(",")[2]).toFixed(2)
}}<span class="unit">%</span>
</div>
</div>
</div>
</q-card>
<q-card flat>
<div class="data-title">平均授课时长</div>
<div class="data-time">{{ formatDate.date }} {{ formatDate.week }}</div>
<div class="wrapper">
<div class="col">
<div class="label">当日</div>
<div class="value">
{{ parseFloat(d.AvgClassTime.split(",")[0]).toFixed(2) }}
<span class="unit">分钟</span>
</div>
</div>
<div class="q-mr-lg">
<div class="label big">当周</div>
<div class="value samll">
{{ numberFormat(d.AvgClassTime.split(",")[1]).value
}}<span class="unit">分钟</span>
</div>
</div>
<div>
<div class="label big">当月</div>
<div class="value samll">
{{ parseFloat(d.AvgClassTime.split(",")[2]).toFixed(2)
}}<span class="unit">分钟</span>
</div>
</div>
</div>
</q-card>
<q-card flat>
<div class="data-title">无授课老师</div>
<div class="data-time">{{ formatDate.date }} {{ formatDate.week }}</div>
<div class="wrapper">
<div class="col">
<div class="label">当日</div>
<div class="value">
{{ d.NoneClassTeacher.split(",")[0] }}
<span class="unit"></span>
</div>
</div>
<div class="q-mr-lg">
<div class="label big">当周</div>
<div class="value samll">
{{ d.NoneClassTeacher.split(",")[1] }}<span class="unit"></span>
</div>
</div>
<div>
<div class="label big">当月</div>
<div class="value samll">
{{ d.NoneClassTeacher.split(",")[2] }}<span class="unit"></span>
</div>
</div>
</div>
</q-card>
<q-card flat>
<div class="data-title">未备课</div>
<div class="data-time">{{ formatDate.date }} {{ formatDate.week }}</div>
<div class="wrapper">
<div class="col">
<div class="label">当日</div>
<div class="value">
{{ d.UnLessonClass.split(",")[0] }}
<span class="unit"></span>
</div>
</div>
<div class="q-mr-lg">
<div class="label big">当周</div>
<div class="value samll">
{{ d.UnLessonClass.split(",")[1] }}<span class="unit"></span>
</div>
</div>
<div class="q-mr-lg">
<div class="label big">当月</div>
<div class="value samll">
{{ d.UnLessonClass.split(",")[2] }}<span class="unit"></span>
</div>
</div>
</div>
</q-card>
<q-card flat>
<div class="data-title">未备课老师</div>
<div class="data-time">{{ formatDate.date }} {{ formatDate.week }}</div>
<div class="wrapper">
<div class="col">
<div class="label">当日</div>
<div class="value">
{{ d.UnLessonTeacher.split(",")[0] }}
<span class="unit"></span>
</div>
</div>
<div class="q-mr-lg">
<div class="label big">当周</div>
<div class="value samll">
{{ d.UnLessonTeacher.split(",")[1] }}<span class="unit"></span>
</div>
</div>
<div class="q-mr-lg">
<div class="label big">当月</div>
<div class="value samll">
{{ d.UnLessonTeacher.split(",")[2] }}<span class="unit"></span>
</div>
</div>
</div>
</q-card>
</div>
</div>
</template>
<script>
export default {
props: ["d", "formatDate", "shouType"],
data() {
return {};
},
methods: {
numberFormat(value) {
let param = {};
let k = 10000;
let sizes = ["元", "万", "亿", "万亿"];
let i;
if (value < k) {
param.value = parseFloat(value).toFixed(2);
param.unit = "元";
} else {
i = Math.floor(Math.log(value) / Math.log(k));
param.value = (value / Math.pow(k, i)).toFixed(2);
param.unit = sizes[i];
}
return param;
}
}
};
</script>
<style></style>
<template>
<div
class="big-dataservice-box"
style="border-color:#bbdefb!important;"
:class="{ 'hide-border': shouType == '1' }"
>
<div class="tag-title" style="background:#bbdefb!important">客户动态</div>
<div class="row q-gutter-md">
<q-card flat>
<div class="data-title">客户线索</div>
<div class="data-time">{{ formatDate.date }} {{ formatDate.week }}</div>
<div class="wrapper">
<div class="col">
<div class="label">当日</div>
<div class="value">
{{ d.Stu.split(",")[0] }}
<span class="unit"></span>
</div>
</div>
<div class="q-mr-lg">
<div class="label big">当周</div>
<div class="value samll">
{{ d.Stu.split(",")[1] }}<span class="unit"></span>
</div>
</div>
<div class="q-mr-lg">
<div class="label big">当月</div>
<div class="value samll">
{{ d.Stu.split(",")[2] }}<span class="unit"></span>
</div>
</div>
<div>
<div class="label big">总数</div>
<div class="value samll">
{{ d.Stu.split(",")[3] }}
<span class="unit"></span>
</div>
</div>
</div>
</q-card>
<q-card flat>
<div class="data-title">到访客户</div>
<div class="data-time">{{ formatDate.date }} {{ formatDate.week }}</div>
<div class="wrapper">
<div class="col">
<div class="label">当日</div>
<div class="value">
{{ d.Visit.split(",")[0] }}
<span class="unit"></span>
</div>
</div>
<div class="q-mr-lg">
<div class="label big">当周</div>
<div class="value samll">
{{ d.Visit.split(",")[1] }}<span class="unit"></span>
</div>
</div>
<div>
<div class="label big">当月</div>
<div class="value samll">
{{ d.Visit.split(",")[2] }}<span class="unit"></span>
</div>
</div>
</div>
</q-card>
<q-card flat>
<div class="data-title">试听客户</div>
<div class="data-time">{{ formatDate.date }} {{ formatDate.week }}</div>
<div class="wrapper">
<div class="col">
<div class="label">当日</div>
<div class="value">
{{ d.Reserve.split(",")[0] }}
<span class="unit"></span>
</div>
</div>
<div class="q-mr-lg">
<div class="label big">当周</div>
<div class="value samll">
{{ d.Reserve.split(",")[1] }}<span class="unit"></span>
</div>
</div>
<div>
<div class="label big">当月</div>
<div class="value samll">
{{ d.Reserve.split(",")[2] }}<span class="unit"></span>
</div>
</div>
</div>
</q-card>
<q-card flat>
<div class="data-title">跟进客户</div>
<div class="data-time">{{ formatDate.date }} {{ formatDate.week }}</div>
<div class="wrapper">
<div class="col">
<div class="label">当日</div>
<div class="value">
{{ d.Follow.split(",")[0] }}
<span class="unit"></span>
</div>
</div>
<div class="q-mr-lg">
<div class="label big">当周</div>
<div class="value samll">
{{ d.Follow.split(",")[1] }}<span class="unit"></span>
</div>
</div>
<div>
<div class="label big">当月</div>
<div class="value samll">
{{ d.Follow.split(",")[2] }}<span class="unit"></span>
</div>
</div>
</div>
</q-card>
<q-card flat>
<div class="data-title">无效客户</div>
<div class="data-time">{{ formatDate.date }} {{ formatDate.week }}</div>
<div class="wrapper">
<div class="col">
<div class="label">当日</div>
<div class="value">
{{ d.Invalid.split(",")[0] }}
<span class="unit"></span>
</div>
</div>
<div class="q-mr-lg">
<div class="label big">当周</div>
<div class="value samll">
{{ d.Invalid.split(",")[1] }}<span class="unit"></span>
</div>
</div>
<div class="q-mr-lg">
<div class="label big">当月</div>
<div class="value samll">
{{ d.Invalid.split(",")[2] }}<span class="unit"></span>
</div>
</div>
<div>
<div class="label big">总数</div>
<div class="value samll">
{{ d.Invalid.split(",")[3] }}<span class="unit"></span>
</div>
</div>
</div>
</q-card>
<q-card flat>
<div class="data-title">未跟进学员</div>
<div class="data-time">{{ formatDate.date }} {{ formatDate.week }}</div>
<div class="wrapper">
<div class="col">
<div class="label">截止到当日未跟进</div>
<div class="value">
{{ d.UnFollow }}
<span class="unit"></span>
</div>
</div>
</div>
</q-card>
<q-card flat>
<div class="data-title">有效通话</div>
<div class="data-time">{{ formatDate.date }} {{ formatDate.week }}</div>
<div class="wrapper">
<div class="col">
<div class="label">当日</div>
<div class="value">
{{ d.MakeCall.split(",")[0] }}
<span class="unit"></span>
</div>
</div>
<div class="q-mr-lg">
<div class="label big">当周</div>
<div class="value samll">
{{ d.MakeCall.split(",")[1] }}<span class="unit"></span>
</div>
</div>
<div>
<div class="label big">当月</div>
<div class="value samll">
{{ d.MakeCall.split(",")[2] }}<span class="unit"></span>
</div>
</div>
</div>
</q-card>
<q-card flat>
<div class="data-title">无效通话</div>
<div class="data-time">{{ formatDate.date }} {{ formatDate.week }}</div>
<div class="wrapper">
<div class="col">
<div class="label">当日</div>
<div class="value">
{{ d.InvalidCall.split(",")[0] }}
<span class="unit"></span>
</div>
</div>
<div class="q-mr-lg">
<div class="label big">当周</div>
<div class="value samll">
{{ d.InvalidCall.split(",")[1] }}<span class="unit"></span>
</div>
</div>
<div>
<div class="label big">当月</div>
<div class="value samll">
{{ d.InvalidCall.split(",")[2] }}<span class="unit"></span>
</div>
</div>
</div>
</q-card>
<q-card flat>
<div class="data-title">新增同业</div>
<div class="data-time">{{ formatDate.date }} {{ formatDate.week }}</div>
<div class="wrapper">
<div class="col">
<div class="label">当日</div>
<div class="value">
{{ d.Company.split(",")[0] }}
<span class="unit"></span>
</div>
</div>
<div class="q-mr-lg">
<div class="label big">当周</div>
<div class="value samll">
{{ d.Company.split(",")[1] }}<span class="unit"></span>
</div>
</div>
<div>
<div class="label big">当月</div>
<div class="value samll">
{{ d.Company.split(",")[2] }}<span class="unit"></span>
</div>
</div>
</div>
</q-card>
<q-card flat>
<div class="data-title">新增同业联系人</div>
<div class="data-time">{{ formatDate.date }} {{ formatDate.week }}</div>
<div class="wrapper">
<div class="col">
<div class="label">当日</div>
<div class="value">
{{ d.Contacts.split(",")[0] }}
<span class="unit"></span>
</div>
</div>
<div class="q-mr-lg">
<div class="label big">当周</div>
<div class="value samll">
{{ d.Contacts.split(",")[1] }}<span class="unit"></span>
</div>
</div>
<div>
<div class="label big">当月</div>
<div class="value samll">
{{ d.Contacts.split(",")[2] }}<span class="unit"></span>
</div>
</div>
</div>
</q-card>
</div>
</div>
</template>
<script>
export default {
props: ["d", "formatDate", "shouType"],
data() {
return {};
},
methods: {
numberFormat(value) {
let param = {};
let k = 10000;
let sizes = ["元", "万", "亿", "万亿"];
let i;
if (value < k) {
param.value = parseFloat(value).toFixed(2);
param.unit = "元";
} else {
i = Math.floor(Math.log(value) / Math.log(k));
param.value = (value / Math.pow(k, i)).toFixed(2);
param.unit = sizes[i];
}
return param;
}
}
};
</script>
<style></style>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -121,32 +121,52 @@
</q-list>
</div>
<div class="col q-pt-md q-pr-md">
<div class="row work_Top">
<!-- <div class="row work_Top">
<div class="text-h6 col"></div>
<q-btn-group outline>
</div> -->
<q-btn-group
outline
style="position: fixed;top: 75px;right:20px;z-index: 666666;"
>
<q-btn
dense
v-if="(IsQueryAuth||CurrentUserInfo.IsMarket==1)||(IsQueryAuth||CurrentUserInfo.IsCourseConsultant==1)"
v-if="IsHaveGMView"
:outline="viewMode != 1"
@click="changeViewModel(1)"
class="q-px-md"
color="primary"
size="12px"
label="今日数据统计"
label="总经理视图"
/>
<q-btn
dense
v-if="
IsQueryAuth ||
CurrentUserInfo.IsMarket == 1 ||
IsQueryAuth ||
CurrentUserInfo.IsCourseConsultant == 1
"
:outline="viewMode != 2"
@click="changeViewModel(2)"
class="q-px-md"
color="primary"
size="12px"
label="今日数据统计"
/>
<q-btn
dense
:outline="viewMode != 3"
@click="changeViewModel(3)"
class="q-px-md"
color="primary"
size="12px"
label="数据统计"
/>
</q-btn-group>
</div>
<dasbord v-if="viewMode==2"></dasbord>
<todayData v-if="viewMode==1"></todayData>
<dasbord v-if="viewMode == 3"></dasbord>
<todayData v-if="viewMode == 2"></todayData>
<workbench v-if="viewMode == 1"></workbench>
</div>
</div>
</template>
......@@ -156,13 +176,15 @@ import { mapGetters } from "vuex";
import { queryOKRMyEmployeeList } from "../../api/okr/work";
import { queryEmployee } from "../../api/users/user";
import dasbord from "./dasbord.vue";
import todayData from "./todayData.vue"
import { Encrypt,Decrypt} from '../../utils/encrypt'
import todayData from "./todayData.vue";
import { Encrypt, Decrypt } from "../../utils/encrypt";
import workbench from "./workbench.vue";
export default {
components: {
dasbord,
todayData
todayData,
workbench
},
data() {
return {
......@@ -174,26 +196,40 @@ export default {
viewMode: 2,
IsQueryAuth: false, //是否有查询市场部和课程顾问部人员权限
CurrentUserInfo: {}, //当前登录用户信息
IsHaveGMView: false
};
},
created() {
this.CurrentUserInfo = this.getLocalStorage();
if (this.CurrentUserInfo && this.CurrentUserInfo.ActionMenuList && this.CurrentUserInfo.ActionMenuList.length >
0) {
this.CurrentUserInfo.ActionMenuList.forEach((x) => {
if (
this.CurrentUserInfo &&
this.CurrentUserInfo.ActionMenuList &&
this.CurrentUserInfo.ActionMenuList.length > 0
) {
this.CurrentUserInfo.ActionMenuList.forEach(x => {
if (x.FunctionCode == "Query_MarketConsultant") {
this.IsQueryAuth = true;
}
if (x.FunctionCode == "GM_VIEW") {
this.IsHaveGMView = true;
}
});
}
if((this.IsQueryAuth||this.CurrentUserInfo.IsMarket==1)||(this.IsQueryAuth||this.CurrentUserInfo.IsCourseConsultant==1)){
this.viewMode=1
}else{
this.viewMode=2
if (this.IsHaveGMView) {
this.viewMode = 1;
} else if (
this.IsQueryAuth ||
this.CurrentUserInfo.IsMarket == 1 ||
this.IsQueryAuth ||
this.CurrentUserInfo.IsCourseConsultant == 1
) {
this.viewMode = 2;
} else {
this.viewMode = 3;
}
this.getUserList();
let str=Encrypt("2")
let str = Encrypt("2");
},
computed: {
...mapGetters(["userInfo"])
......@@ -229,9 +265,9 @@ export default {
</script>
<style>
.work_Top{
padding:20px;
background-color:#fff;
.work_Top {
padding: 20px;
background-color: #fff;
}
.work-box {
height: 100%;
......
<template>
<div
class="q-pa-md q-px-lg"
style="background:rgb(244,245,252) !important;margin:-14px -14px 0 0; height:calc(100% + 14px)"
>
<div
style="background:#FFF;border-radius:12px;margin-bottom:5px;"
class="q-px-md row items-center"
>
<q-tabs
v-model="showType"
indicator-color="transparent"
active-color="dark"
align="left"
class="text-grey-6 col"
>
<q-tab name="0" label="全部" />
<q-tab name="1" label="客户" />
<q-tab name="2" label="交易" />
<q-tab name="3" label="学员" />
<q-tab name="4" label="教学" />
<q-tab name="5" label="财务" />
<q-tab name="6" label="行政" />
</q-tabs>
<div
class="q-mr-xl cursor-pointer"
style="line-height:48px;position: relative;"
id="timebox"
>
<el-date-picker
v-model="formatDay.dateFull"
type="date"
:clearable="false"
value-format="yyyy/MM/dd"
:picker-options="pickerOptions"
:editable="false"
placeholder="选择日期"
@change="changeTimeData"
>
</el-date-picker>
</div>
<div v-if="!loading" class="text-right" style="line-height:32px;">
<span class="f12 text-right text-grey-5">
<span
>每10分钟更新一次 最后更新时间:
{{
today.dateFull == formatDay.dateFull
? d.FirendTime
: formatDay.time
}}</span
>
<span></span>
</span>
<q-btn
color="negative"
style="font-size:12px;"
class="q-mx-md"
size="mini"
dense
flat
v-if="today.dateFull == formatDay.dateFull"
@click="updateData"
>手动刷新</q-btn
>
</div>
<div v-else class="f12 text-right q-mr-md">
<q-spinner-ios color="primary" size="1.5em" /> 正在更新数据中...
</div>
</div>
<customer
:d="d"
:formatDate="formatDay"
:shouType="showType"
v-if="!loading && (showType == '0' || showType == '1')"
></customer>
<sell
:d="d"
:formatDate="formatDay"
:shouType="showType"
v-if="!loading && (showType == '0' || showType == '2')"
></sell>
<student
:d="d"
:formatDate="formatDay"
:shouType="showType"
v-if="!loading && (showType == '0' || showType == '3')"
></student>
<course
:d="d"
:formatDate="formatDay"
:shouType="showType"
v-if="!loading && (showType == '0' || showType == '4')"
></course>
<admin
:d="d"
:formatDate="formatDay"
:shouType="showType"
v-if="!loading && (showType == '0' || showType == '6')"
></admin>
<finance
:d="d"
:formatDate="formatDay"
:shouType="showType"
v-if="!loading && (showType == '0' || showType == '5')"
></finance>
</div>
</template>
<script>
import { GetGMView, UpdateGMView } from "../../api/dataservice/index";
import student from "./dataservice/student";
import customer from "./dataservice/customer";
import sell from "./dataservice/sell";
import admin from "./dataservice/admin";
import course from "./dataservice/course";
import finance from "./dataservice/finance";
export default {
components: { student, customer, sell, admin, course, finance },
data() {
return {
d: {},
queryDay: "",
formatDay: "",
loading: true,
showType: "0",
today: {},
pickerOptions: {
disabledDate(time) {
return (
time.getTime() > Date.now() ||
time.getTime() < Date.parse("2022-03-02")
);
}
}
};
},
created() {
this.today = this.formatWeekFn(new Date());
this.init();
},
methods: {
changeTimeData(val) {
this.queryDay = val.replaceAll("/", "-");
this.init();
},
init() {
this.loading = true;
GetGMView({ day: this.queryDay }).then(r => {
this.d = r.Data;
this.formatDay = this.formatWeekFn(this.d.Day);
this.loading = false;
});
},
updateData() {
this.loading = true;
UpdateGMView().then(r => {
this.d = r.Data;
this.formatDay = this.formatWeekFn(this.d.Day);
this.loading = false;
});
},
formatWeekFn(dateStr) {
var date = new Date(dateStr);
var year = date.getFullYear();
var month =
date.getMonth() > 9 ? date.getMonth() + 1 : `0${date.getMonth() + 1}`;
var day = date.getDate() > 10 ? date.getDate() : `0${date.getDate()}`;
var d = date.getDay();
var hour = date.getHours() > 10 ? date.getHours() : `0${date.getHours()}`;
var mint =
date.getMinutes() > 10 ? date.getMinutes() : `0${date.getMinutes()}`;
var sec =
date.getSeconds() > 10 ? date.getSeconds() : `0${date.getSeconds()}`;
var arr = ["一", "二", "三", "四", "五", "六", "日"];
var d = arr[d - 1];
return {
dateFull: `${year}/${month}/${day}`,
date: `${month}/${day}`,
week: `周${d}`,
time: `${hour}${mint}${sec}秒`
};
}
}
};
</script>
<style>
.workbench-item-value {
font-family: din;
font-size: 20px;
}
.todo-list-item {
background: rgb(244, 245, 252) !important;
}
.big-dataservice-box {
border: 4px dashed rgb(200, 230, 201);
border-radius: 10px;
position: relative;
padding: 30px 16px;
margin-bottom: 20px;
}
.big-dataservice-box.hide-border {
border: none !important;
}
.big-dataservice-box.hide-border .tag-title {
display: none;
}
.big-dataservice-box .tag-title {
position: absolute;
top: -4px;
left: -4px;
height: 30px;
line-height: 30px;
padding: 0 10px;
font-size: 14px;
background: rgb(200, 230, 201);
border-top-left-radius: 10px;
border-bottom-right-radius: 10px;
}
.big-dataservice-box .q-card {
padding: 32px !important;
width: calc(25% - 16px);
}
.big-dataservice-box .q-card .data-title {
font-size: 17px;
}
.big-dataservice-box .q-card .data-time {
font-size: 14px;
color: rgba(0, 0, 0, 0.5);
margin-top: 3px;
}
.big-dataservice-box .q-card .wrapper {
display: flex;
height: 84px;
justify-content: space-between;
align-items: flex-end;
}
.big-dataservice-box .q-card .wrapper .label {
color: rgba(0, 0, 0, 0.3);
font-size: 12px;
margin-bottom: 4px;
}
.big-dataservice-box .q-card .wrapper .label.big {
margin-bottom: 18px;
}
.big-dataservice-box .q-card .wrapper .value {
font-family: "din";
font-size: 24px;
}
.big-dataservice-box .q-card .wrapper .value .unit {
font-size: 12px;
color: rgba(0, 0, 0, 0.3);
margin-left: 4px;
}
.big-dataservice-box .q-card .wrapper .value.samll {
font-size: 14px;
font-family: "pingfang";
}
.big-dataservice-box .q-card .wrapper .value.red {
color: #c10015;
}
.big-dataservice-box .q-card .wrapper .value.green {
color: #21ba45;
}
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment