Commit 0c52e5cb authored by zhengke's avatar zhengke

1

parents 926bc6b1 d728e52a
......@@ -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))) {
//alert("shouji");
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" />');
//alert("diannao");
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-weight: normal;
font-style: normal;
@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{
font-family: din !important;
.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
})
}
......@@ -220,9 +220,6 @@
import classconflictForm from '../../components/course/classconflict-form';
export default {
meta: {
title: "班级列表"
},
props: {
data: {
type: Array,
......
......@@ -49,7 +49,7 @@
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat class="sticky-column-table sticky-right-column-table"
separator="none" :data="data" :columns="columns" row-key="QuestionId" :selection="editStatus?'multiple':'none'"
:selected.sync="selectedQuestion">
<template v-slot:top="props">
<template v-slot:top>
<div class="col-2 q-table__title">问题列表</div>
<q-space />
<div class="page-option" v-if="editStatus">
......@@ -149,9 +149,7 @@
default: true
}
},
meta: {
title: "问题列表"
},
components: {
questionForm,
questionUpload
......
......@@ -172,7 +172,6 @@ export default {
};
GetCustomer(msg).then(res => {
if (res.Code == 1) {
console.log(res,'res');
let tempData = res.Data;
this.detailData.CustomerId = tempData.CustomerId;
this.detailData.ApproveState = tempData.ApproveState;
......
......@@ -106,9 +106,6 @@
} from '../../api/scheduling/schedu'
import reserveForm from '../schedul/reserve-form'
export default {
meta: {
title: "班级列表"
},
props: {
data: {
type: Array,
......
......@@ -294,7 +294,6 @@
},
//子组件选中传值
getchildInfo(obj) {
console.log(364, obj)
if (obj) {
this.addMsg.ReserveType = obj.ReserveType;
this.addMsg.ClassPlanId = obj.ClassPlanId;
......
<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>
<q-btn
dense
v-if="(IsQueryAuth||CurrentUserInfo.IsMarket==1)||(IsQueryAuth||CurrentUserInfo.IsCourseConsultant==1)"
:outline="viewMode != 1"
@click="changeViewModel(1)"
class="q-px-md"
color="primary"
size="12px"
label="今日数据统计"
/>
<q-btn
dense
:outline="viewMode != 2"
@click="changeViewModel(2)"
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>
</div> -->
<q-btn-group
outline
style="position: fixed;top: 75px;right:20px;z-index: 666666;"
>
<q-btn
dense
v-if="IsHaveGMView"
:outline="viewMode != 1"
@click="changeViewModel(1)"
class="q-px-md"
color="primary"
size="12px"
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>
<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: {
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>
......@@ -34,7 +34,7 @@
<div class="page-content">
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat class="sticky-column-table"
separator="none" title="合同信息" :data="dataList" :columns="columns" row-key="name">
<template v-slot:top="props">
<template v-slot:top>
<div class="col-2 q-table__title">合同信息</div>
<q-space />
<div class="page-option"></div>
......@@ -104,7 +104,7 @@
} from '../../api/users/user';
export default {
meta: {
title: "合同查询",
title: "报名合同查询",
},
components: {
},
......
......@@ -3,20 +3,19 @@
<div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3">
<q-input @input="resetSearch" clearable filled v-model="msg.CateName" label="系列名称"
@clear="resetSearch" maxlength="20" />
<q-input @input="resetSearch" clearable filled v-model="msg.CateName" label="系列名称" @clear="resetSearch"
maxlength="20" />
</div>
<div class="col-3">
<q-select @input="resetSearch" filled v-model="msg.CourseSubject"
:options="CourseSubjectList" option-label="SubjectName" option-value="Id" emit-value map-options label="所属科目"
clearable />
<q-select @input="resetSearch" filled v-model="msg.CourseSubject" :options="CourseSubjectList"
option-label="SubjectName" option-value="Id" emit-value map-options label="所属科目" clearable />
</div>
</div>
</div>
<div class="page-content">
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat class="sticky-column-table"
separator="none" :data="dataList" :columns="columns">
<template v-slot:top="props">
<template v-slot:top>
<div class="col-2 q-table__title">系列信息</div>
<q-space />
<div class="page-option">
......@@ -57,7 +56,7 @@
export default {
meta: {
title: "课程系"
title: "课程系"
},
components: {
categoryForm,
......@@ -70,7 +69,7 @@
rowsPerPage: 10,
PageCount: 1,
CateName: "", //系列名称
CourseSubject:'' //所属科目
CourseSubject: '' //所属科目
},
CourseSubjectList: [], //科目列表
currentUrl: "",
......@@ -85,7 +84,7 @@
label: '所属科目',
field: 'CourseSubjectName',
align: 'left'
},{
}, {
name: 'CateName',
label: '系列名称',
field: 'CateName',
......@@ -205,9 +204,7 @@
}
}
}
</script>
<style lang="sass">
@import url('~assets/css/table.sass')
</style>
</style>
\ No newline at end of file
......@@ -25,8 +25,8 @@
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat
class="sticky-tow-column-table sticky-right-column-table" separator="none" :data="data" :columns="columns"
row-key="name">
<template v-slot:top="props">
<div class="col-2 q-table__title">课程信息</div>
<template v-slot:top>
<div class="col-2 q-table__title">课程大纲信息</div>
<q-space />
</template>
<template v-slot:body-cell-CoverImg="props">
......@@ -43,7 +43,7 @@
</template>
<template v-slot:body-cell-PreferentialListSellCommission="props">
<q-td :props="props" style="padding-right:0px;padding-left:0px">
<div v-for="x in props.value">
<div v-for="(x,index) in props.value" :key="index">
<div class="border-bottom" style="padding-left: 16px;padding-right: 16px"
:class="{ 'text-red': x.SaleCommissionType == 1 }" v-if="x.PriceDiscountType != 0">
{{ x.SaleCommissionType == 1 ? "¥" : ""
......@@ -61,7 +61,7 @@
</template>
<template v-slot:body-cell-PreferentialListB2BCommission="props">
<q-td :props="props" style="padding-left:0px">
<div v-for="x in props.value">
<div v-for="(x,index) in props.value" :key="index">
<div class="border-bottom" style="padding-left: 16px" :class="{ 'text-red': x.B2BCommissionType == 1 }"
v-if="x.PriceDiscountType != 0">
{{ x.B2BCommissionType == 1 ? "¥" : ""
......@@ -79,7 +79,7 @@
</template>
<template v-slot:body-cell-EducationCommission="props">
<q-td :props="props" style="padding-left:0px">
<div v-for="x in props.value">
<div v-for="(x,index) in props.value" :key="index">
<div class="border-bottom" style="padding-left: 16px" :class="{ 'text-red': x.EduCommissionType == 1 }"
v-if="x.PriceDiscountType != 0">
{{ x.EduCommissionType == 1 ? "¥" : ""
......@@ -130,7 +130,7 @@
} from "vuex";
export default {
meta: {
title: "课程教案"
title: "课程大纲"
},
components: {
selectTree
......
......@@ -101,11 +101,13 @@
.teacherLesson .TeacherNameList {
position: relative;
color: #111111;
font-size:13px;
font-size: 13px;
}
.teacherLesson .TeacherNameList:last-child{
height:auto;
.teacherLesson .TeacherNameList:last-child {
height: auto;
}
.teacherLesson .cicle1 {
position: absolute;
left: -15px;
......@@ -158,11 +160,13 @@
.teacherLesson .TeacherInfo_List {
display: flex;
height:60px;
height: 60px;
}
.teacher-box .TeacherInfo_List:last-child{
height:auto;
.teacher-box .TeacherInfo_List:last-child {
height: auto;
}
.TeacherInfo_List:last-child .timeright {
border-left: 0 !important;
}
......@@ -219,50 +223,57 @@
padding: 20px 20px 10px 20px;
border-radius: 20px;
}
.Teacher_Class{
.Teacher_Class {
width: 95%;
height:45px;
height: 45px;
background-color: #F0F5FB;
padding:0 20px;
color:#111111;
margin-bottom:30px;
padding: 0 20px;
color: #111111;
margin-bottom: 30px;
font-weight: bold;
display:flex;
display: flex;
align-items: center;
justify-content: space-between;
}
.Teach_BigSpan{
font-size:18px;
margin-right:20px;
.Teach_BigSpan {
font-size: 18px;
margin-right: 20px;
}
.Teach_MidSpan{
font-size:14px;
.Teach_MidSpan {
font-size: 14px;
}
.Plan-StartTime{
.Plan-StartTime {
width: 100px;
font-size:14px;
color:#111111;
font-weight:bold;
font-size: 14px;
color: #111111;
font-weight: bold;
}
.Plan_WeiBei{
color:#F44E60;
font-size:12px;
.Plan_WeiBei {
color: #F44E60;
font-size: 12px;
}
.Teach_Circle{
.Teach_Circle {
color: #2961FE;
background-color: #D4DFFF;
display:inline-block;
width:24px;
height:24px;
margin:0 10px 0 30px;
display: inline-block;
width: 24px;
height: 24px;
margin: 0 10px 0 30px;
border-radius: 50%;
text-align: center;
line-height: 24px;
font-size:12px;
font-size: 12px;
position: relative;
top:-2px;
top: -2px;
}
.fankuiBtn{
.fankuiBtn {
padding: 6px 20px;
background-color: #fff;
color: #2961FE;
......@@ -270,7 +281,7 @@
border-radius: 5px;
margin-left: 20px;
cursor: pointer;
border:1px solid #2961FE;
border: 1px solid #2961FE;
}
</style>
<template>
......@@ -290,7 +301,7 @@
</div>
</div>
<div class="Cal_Content col">
<div class="Cal_Inner" v-for="(item,index) in dataNum" :class="{'checkedPlan':ckedIndex==item}"
<div class="Cal_Inner" v-for="(item,index) in dataNum" :class="{'checkedPlan':ckedIndex==item}" :key="index"
@click="getItem(item)">
{{item}}
<div class="beikeStatus beike1" v-if="getLessonStatus(item)=='未备课'">
......@@ -325,22 +336,29 @@
</div>
<div>
<span v-if="item1.LessonPlanNum===0" class="Plan_WeiBei">未备课</span>
<span v-if="item1.LessonPlanNum>0" @click="goyibeike(item1)" style="color:#2961FE;font-size:12px;margin-right:20px;cursor:pointer;">已备课</span>
<span v-if="item1.LessonPlanNum>0" @click="goyibeike(item1)"
style="color:#2961FE;font-size:12px;margin-right:20px;cursor:pointer;">已备课</span>
<!-- <span class="beikeBtn" v-if="item1.LessonPlanNum>0" style="backgroundColor:#3FC4FF;margin-right:20px;"
@click="goyibeike(item1)">已备课</span> -->
<span class="beikeBtn" style="margin:0 20px 0 0" v-if="AccountType&&item1.LessonPlanNum>0" @click="goBeike(item1)">修改</span>
<span class="beikeBtn" style="margin:0 20px 0 0" v-if="AccountType&&item1.LessonPlanNum>0"
@click="goBeike(item1)">修改</span>
<span class="beikeBtn" v-if="AccountType&&item1.LessonPlanNum===0" @click="goBeike(item1)">备课</span>
<span style="color:#3FC4FF;font-size:12px;cursor:pointer" v-if="item1.LessonPlanSummaryNum>0&&item1.LessonPlanNum>0" @click="goyibeike(item1)">已反馈</span>
<span style="color:#FFA800;font-size:12px;" v-if="item1.LessonPlanSummaryNum==0&&item1.LessonPlanNum>0">未反馈</span>
<span class="fankuiBtn" v-if="AccountType&&item1.LessonPlanSummaryNum==0&&item1.LessonPlanNum>0" @click="goyibeike(item1)">反馈</span>
<span style="color:#3FC4FF;font-size:12px;margin-left:20px;cursor:pointer" v-if="item1.ParentFanKuiStatus>0&&item1.LessonPlanNum>0" @click="goyibeike(item1)">主管已反馈</span>
<span style="color:#FFA800;font-size:12px;margin-left:20px;" v-if="item1.ParentFanKuiStatus==0&&item1.LessonPlanNum>0">主管未反馈</span>
<span style="color:#3FC4FF;font-size:12px;cursor:pointer"
v-if="item1.LessonPlanSummaryNum>0&&item1.LessonPlanNum>0" @click="goyibeike(item1)">已反馈</span>
<span style="color:#FFA800;font-size:12px;"
v-if="item1.LessonPlanSummaryNum==0&&item1.LessonPlanNum>0">未反馈</span>
<span class="fankuiBtn" v-if="AccountType&&item1.LessonPlanSummaryNum==0&&item1.LessonPlanNum>0"
@click="goyibeike(item1)">反馈</span>
<span style="color:#3FC4FF;font-size:12px;margin-left:20px;cursor:pointer"
v-if="item1.ParentFanKuiStatus>0&&item1.LessonPlanNum>0" @click="goyibeike(item1)">主管已反馈</span>
<span style="color:#FFA800;font-size:12px;margin-left:20px;"
v-if="item1.ParentFanKuiStatus==0&&item1.LessonPlanNum>0">主管未反馈</span>
</div>
</div>
<div class="TeacherInfo_List" v-for="(item,index) in item1.planListTeacher">
<div class="TeacherInfo_List" v-for="(item,index) in item1.planListTeacher" :key="index">
<div class="timeleft">
<div class="Plan-StartTime">
{{item.StartTime}}-{{item.EndTime}}
......@@ -387,7 +405,7 @@
} from '../../api/course/class';
export default {
meta: {
title: "课程"
title: "备课管理"
},
props: {},
data() {
......@@ -527,18 +545,18 @@
// });
this.OpenNewUrl("/course/lessonPreparation", {
ClassId: item.ClassId,
School_Id:item.School_Id,
ClassPlanId:item.ClassPlanId,
Ranks:item.Ranks
School_Id: item.School_Id,
ClassPlanId: item.ClassPlanId,
Ranks: item.Ranks
});
},
goyibeike(item) {
this.OpenNewUrl("/course/prepareclassDetails", {
ClassId: item.ClassId,
ClassPlanId:item.ClassPlanId,
LessonPlanNum:item.LessonPlanNum,
LessonPlanSummaryNum:item.LessonPlanSummaryNum,
TeacherId:item.TeacherId
ClassPlanId: item.ClassPlanId,
LessonPlanNum: item.LessonPlanNum,
LessonPlanSummaryNum: item.LessonPlanSummaryNum,
TeacherId: item.TeacherId
});
// var tempStr = '/course/prepareclassDetails?ClassId=' + item.ClassId + '&ClassPlanId=' + item.ClassPlanId +
......@@ -549,9 +567,7 @@
}
}
}
</script>
<style lang="sass">
@import url('~assets/css/table.sass')
</style>
</style>
\ No newline at end of file
......@@ -5,7 +5,6 @@
</div>
<div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3">
<q-input @change="resetSearch" clearable standout="bg-primary text-white" v-model="msg.ActivityName"
label="活动名称" @clear="resetSearch" maxlength="20" />
......@@ -20,35 +19,34 @@
</div>
<div class="col-3">
<q-select @input="resetSearch" standout="bg-primary text-white" option-value="Id" option-label="EmployeeName"
v-model="msg.EduUserId" use-input clearable @filter="filterFn" :options="EmployeeList" emit-value map-options label="业务员">
<template v-slot:no-option>
v-model="msg.EduUserId" use-input clearable @filter="filterFn" :options="EmployeeList" emit-value
map-options label="业务员">
<template v-slot:no-option>
<q-item>
<q-item-section class="text-grey">
未找到相关数据
</q-item-section>
</q-item>
</template>
</q-select>
</q-select>
</div>
<div class="col-3">
<q-select @input="resetSearch" standout="bg-primary text-white" option-value="Id" option-label="Name"
v-model="msg.EnrollState" :options="EnrollStateOpt" emit-value map-options label="报名状态" />
</div>
<div class="col-3">
<q-field filled>
 <template v-slot:control>
<q-field filled>
<template v-slot:control>
<el-date-picker v-model="dateList" @change="resetSearch()" value-format="yyyy-MM-dd" type="daterange" style="border:none;"
 range-separator="至"  start-placeholder="报名开始时间"  end-placeholder="报名结束时间">
 </el-date-picker>       
 range-separator="至"  start-placeholder="报名开始时间"  end-placeholder="报名结束时间" />
</template>
</q-field>
</div>
<div class="col-3">
<q-field filled>
 <template v-slot:control>
<q-field filled>
<template v-slot:control>
<el-date-picker v-model="dateList2" @change="resetSearch()" value-format="yyyy-MM-dd" type="daterange" style="border:none;"
 range-separator="至"  start-placeholder="活动开始时间"  end-placeholder="活动结束时间">
 </el-date-picker>       
 range-separator="至"  start-placeholder="活动开始时间"  end-placeholder="活动结束时间" />
</template>
</q-field>
</div>
......@@ -75,14 +73,6 @@
<span class="stics-name">取消人数</span>
<span>{{data.Statistics.CancelNum}}人</span>
</div>
<!-- <div class="col stics">
<span class="stics-name">提成金额</span>
<span>{{data.Statistics.CommissionMoney}}</span>
</div>
<div class="col stics">
<span class="stics-name">额外奖励</span>
<span>{{data.Statistics.ExtraRewardMoney}}</span>
</div> -->
</div>
<div class="row col" style="justify-content: flex-end">
<div class="row tis">
......@@ -103,7 +93,7 @@
</div>
</div>
<div class="page-content">
<activeOrder :dataList="data.List" :authObj="authObj" @success="refreshClassOrder" :modityOrderType="1"
<activeOrder :dataList="data.List" :authObj="authObj" @success="refreshClassOrder" :modityOrderType="1"
ref="orderL" :loading="loading">
</activeOrder>
<div class="row" style="justify-content: flex-end;padding: 5px 20px">
......@@ -112,21 +102,18 @@
</q-pagination>
</div>
</div>
</div>
</template>
<script>
import {
queryEmployee
} from '../../api/users/user' //获取业务员列表
// import myOrderForm from '../../components/sale/myOrder-form'
import activeOrder from '../../components/sale/activeOrder-item'
export default {
meta: {
title: "我的活动订单"
title: "活动报名统计"
},
components: {
// myOrderForm,
activeOrder
},
data() {
......@@ -148,7 +135,6 @@
EndTime: "", //活动结束时间
EnrollState: 3, //报名状态
LinkMan: "", //联系人
},
EnrollStateOpt: [ //报名状态列表
{
......@@ -169,8 +155,6 @@
//订单状态
OrderStateList: [],
pageCount: 1,
showone: false,
//权限判断
authObj: {
......@@ -188,15 +172,12 @@
this.msg.OrderId = this.$route.query.OrderId;
this.msg.Id = this.$route.query.OrderId;
}
this.getEmployee(0);
this.getList();
},
mounted() {
},
mounted() {},
methods: {
//筛选员工
//筛选员工
filterFn(val, update) {
update(() => {
if (val === '') {
......@@ -223,11 +204,8 @@
this.EmployeeList.unshift(obj)
this.AllemployeeList = JSON.parse(JSON.stringify(this.EmployeeList));
}
}).catch(() => {
})
}).catch(() => {})
},
//翻页
changePage(val) {
if (this.showone == true) {
......@@ -268,8 +246,8 @@
this.apipostDS("/api/Education/GetConsultOrderStatisticsPage", msg, (res) => {
this.loading = false
if (res.data.resultCode === 1) {
this.data = res.data.data.pageData;
this.pageCount = res.data.data.pageCount;
this.data = res.data.data.pageData;
this.pageCount = res.data.data.pageCount;
}
})
},
......@@ -279,7 +257,6 @@
},
}
}
</script>
<style>
li {
......@@ -338,5 +315,4 @@
font-weight: 600;
margin-right: 20px
}
</style>
</style>
\ No newline at end of file
This diff is collapsed.
......@@ -79,7 +79,7 @@
import customcategorylist from "../../components/sale/customcategorylist"
export default {
meta: {
title: "同行管理"
title: "我的同业"
},
components: {
b2bcustomlist,
......
This diff is collapsed.
......@@ -102,6 +102,9 @@
components: {
customerInfo
},
meta: {
title: "市场部细分渠道"
},
data() {
return {
msg: {
......
This diff is collapsed.
......@@ -35,7 +35,7 @@
import courserefundForm from "../../components/course/courserefund-form"
export default {
meta: {
title: "退课协议管理",
title: "语培退学合同",
},
components: {
courserefundForm
......
......@@ -136,7 +136,6 @@
<!-- <q-btn color="accent" size="sm" class="q-mr-md" icon="add" label="创建报价单" @click="createQuotation" /> -->
</div>
</template>
<template v-slot:body="props">
<q-tr :props="props">
<q-td auto-width>
......@@ -305,10 +304,9 @@
} from "../../api/course/index";
import quotationForm from '../../components/sale/quotation-form'
import { mapState } from "vuex";
export default {
meta: {
title: "课程预览"
title: "课程报价表"
},
components: {
quotationForm
......@@ -383,7 +381,6 @@
field: row => row.PreferentialList
},
// 12月15号新增参数
{
name: "B2CRatio",
label: "直客优惠比例",
......@@ -583,5 +580,4 @@
</script>
<style lang="sass">
@import url('~assets/css/table.sass')
</style>
</style>
\ No newline at end of file
This diff is collapsed.
<style>
.Sysuser_Date .el-input__inner {
background: transparent !important;
border: 0 !important;
}
.Sysuser_Date .el-input__inner {
background: transparent !important;
border: 0 !important;
}
</style>
<template>
<div>
......@@ -10,19 +10,21 @@
<div class="col-3 Sysuser_Date q-mr-lg">
<q-field filled dense>
<template v-slot:control>
<el-date-picker v-model="msg.YearStr" @change="getList" style="width:100%" value-format="yyyy" size="small" type="year" placeholder="选择年">
<el-date-picker v-model="msg.YearStr" @change="getList" style="width:100%" value-format="yyyy" size="small"
type="year" placeholder="选择年">
</el-date-picker>
</template>
</q-field>
</div>
<div>
<q-btn color="accent" class="q-mr-md" size="sm" icon="download" style="margin-top:15px;display:none;"
label="下载" />
<q-btn color="accent" class="q-mr-md" size="sm" icon="download" style="margin-top:15px;" label="下载"
@click="downloadStudentMarketMonth" />
</div>
</div>
<div class="page-content">
<q-table :pagination="msg" ref="table" :loading="loading" :style="{'height':tableHeight+'px'}" no-data-label="暂无相关数据" flat
class="sticky-column-table sticky-header-column-table no-bottom-table" separator="none" :data="dataList" :columns="columns" row-key="">
<q-table :pagination="msg" ref="table" :loading="loading" :style="{'height':tableHeight+'px'}"
no-data-label="暂无相关数据" flat class="sticky-column-table sticky-header-column-table no-bottom-table"
separator="none" :data="dataList" :columns="columns" row-key="">
<template v-slot:bottom>
</template>
</q-table>
......@@ -33,11 +35,13 @@
import {
GetStudentMarketMonth
} from '../../api/sale/sale';
import {
EduDownLoad
} from "../../api/common/common";
export default {
props: {},
meta: {
title: "月度统计"
title: "市场部月度数据统计"
},
components: {},
data() {
......@@ -201,8 +205,8 @@
],
dataList: [],
loading: false,
myDate:'',
tableHeight:500,
myDate: '',
tableHeight: 500,
msg: {
YearStr: '',
rowsPerPage: 0
......@@ -220,11 +224,22 @@
this.getList();
},
methods: {
downloadStudentMarketMonth() {
this.loading = true;
var msg = JSON.parse(JSON.stringify(this.msg));
EduDownLoad(
"/StudentStat/DownLoadStudentMarketMonth",
msg,
"市场部每月数据统计.xls", res => {
this.loading = false;
}
);
},
//获取数据
getList() {
this.loading=true;
this.loading = true;
GetStudentMarketMonth(this.msg).then(res => {
this.loading=false;
this.loading = false;
if (res.Code == 1) {
this.dataList = res.Data;
}
......@@ -232,8 +247,7 @@
}
}
}
</script>
<style lang="sass">
@import url('~assets/css/table.sass')
</style>
</style>
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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