Sfoglia il codice sorgente

添加活动页面

lex-xin 3 anni fa
parent
commit
5279062218

+ 24 - 0
src/router/teacherRouter.js

@@ -290,6 +290,30 @@ let teacherRouter = [
         descrition: '评测详情',
         weight: 3 // 页面权重
     }
+  }, {
+    path: '/activeProgram',
+    name: 'activeProgram',
+    component: () => import(/* webpackChunkName:'activeProgram'*/'@/views/activeProgram/index.vue'),
+    meta: {
+        descrition: '活动方案',
+        weight: 3 // 页面权重
+    }
+  }, {
+    path: '/activeDetail',
+    name: 'activeDetail',
+    component: () => import(/* webpackChunkName:'activeDetail'*/'@/views/activeProgram/activeDetail.vue'),
+    meta: {
+        descrition: '活动详情',
+        weight: 3 // 页面权重
+    }
+  }, {
+    path: '/program',
+    name: 'program',
+    component: () => import(/* webpackChunkName:'program'*/'@/views/activeProgram/program.vue'),
+    meta: {
+        descrition: '活动详情',
+        weight: 3 // 页面权重
+    }
   }
 ];
 

+ 139 - 0
src/views/activeProgram/activeDetail.vue

@@ -0,0 +1,139 @@
+<template>
+    <div class="activeDetail">
+        <van-cell-group class="van-cell-group--inset">
+            <van-cell title="2020年双十一1v1活动" class="titleContent" title-class="titleStyle" label-class="labelStyle">
+                <template #label>
+                    <p>2020年双十一VIP1v1活动</p>
+                    <p>11.11抵扣1111</p>
+                </template>
+            </van-cell>
+        </van-cell-group>
+
+        <h2 class="van-block__title">详细规则</h2>
+        <van-row class="active-row">
+            <van-col span="8">排课时间范围</van-col>
+            <van-col span="16">2020-12-01 至 2021-12-31</van-col>
+            <van-col span="8">排课方式</van-col>
+            <van-col span="16">课程余额</van-col>
+        </van-row>
+
+        <h2 class="van-block__title">付费课程</h2>
+        <div class="active-row">
+            <van-row>
+                <van-col span="8">课程类型</van-col>
+                <van-col span="16">Vip课</van-col>
+                <van-col span="8">课程形式</van-col>
+                <van-col span="16">1v1</van-col>
+                <van-col span="8">上课模式</van-col>
+                <van-col span="16">线上、线下</van-col>
+                <van-col span="8">单课时时长</van-col>
+                <van-col span="16">45分钟</van-col>
+                <van-col span="8">课时数</van-col>
+                <van-col span="16">25课时</van-col>
+            </van-row>
+            <van-cell is-link class="teaching">
+                <template #title>
+                    剩余 <span style="color: #01C1B5">4</span> 名学员未排课
+                </template>
+                <template #default>
+                    <span style="color: #01C1B5" @click="onProgram">立即排课</span>
+                </template>
+            </van-cell>
+        </div>
+
+        <h2 class="van-block__title">赠送课程</h2>
+        <div class="active-row">
+            <van-row>
+                <van-col span="8">课程类型</van-col>
+                <van-col span="16">Vip课</van-col>
+                <van-col span="8">课程形式</van-col>
+                <van-col span="16">1v1</van-col>
+                <van-col span="8">上课模式</van-col>
+                <van-col span="16">线上、线下</van-col>
+                <van-col span="8">单课时时长</van-col>
+                <van-col span="16">45分钟</van-col>
+                <van-col span="8">课时数</van-col>
+                <van-col span="16">25课时</van-col>
+            </van-row>
+            <van-cell is-link class="teaching">
+                <template #title>
+                    剩余 <span style="color: #01C1B5">4</span> 名学员未排课
+                </template>
+                <template #default>
+                    <span style="color: #01C1B5" @click="onProgram">立即排课</span>
+                </template>
+            </van-cell>
+        </div>
+    </div>
+</template>
+
+<script>
+export default {
+    mounted() {
+        document.title = '活动详情'
+    },
+    methods: {
+        onProgram() {
+            console.log('开始排课吧,少年')
+            this.$router.push('/program')
+        }
+    }
+}
+</script>
+
+<style lang="less" scoped>
+.activeDetail {
+    background-color: #F5F5F5;
+    min-height: 97vh;
+    overflow: hidden;
+    padding-bottom: 3vh;
+}
+.van-cell-group--inset {
+    margin: .12rem .12rem 0;
+    overflow: hidden;
+    border-radius: 8px;
+    .titleContent {
+        padding: .14rem .16rem;
+    }
+    .titleStyle {
+        font-size: .2rem;
+        color: #333333;
+        font-size: 500;
+    }
+    .labelStyle {
+        padding-top: .08rem;
+        color: #666666;
+        font-size: .13rem;
+        line-height: .2rem;
+    }
+}
+.van-block__title {
+    padding: .12rem .14rem .06rem;
+    color: #808080;
+    font-size: .14rem;
+    line-height: .2rem;
+}
+.active-row {
+    padding: .15rem .14rem;
+    background: #FFF;
+    font-size: .14rem;
+    color: #1A1A1A;
+    .van-col {
+        border: 1px solid #E5E5E5;
+        padding: .09rem .08rem;
+        margin-bottom: -1px;
+    }
+    .van-col--8 {
+        margin-right: -1px;
+        padding-left: .14rem;
+        background: #F8F8F8;
+        font-weight: 500;
+    }
+    .teaching {
+        margin-top: 1px;
+        padding: .2rem 0 0;
+        font-size: .16rem;
+        color: #1A1A1A;
+    }
+}
+</style>

+ 9 - 0
src/views/activeProgram/api.js

@@ -0,0 +1,9 @@
+import request from '@/helpers/request'
+
+export const getChildrenDayActivity = (data) => {
+    return request({
+        url: '/vipGroupActivity/getChildrenDayActivitys',
+        method: 'get',
+        params: data
+    })
+}

+ 88 - 0
src/views/activeProgram/index.vue

@@ -0,0 +1,88 @@
+<template>
+    <div class="activeProgram">
+        <van-list
+            v-model="loading"
+            class="studentContainer"
+            v-if="dataShow"
+            key="data"
+            :finished="finished"
+            finished-text=""
+            @load="getActiveList"
+        >
+            <van-cell-group :border="false">
+                <van-cell v-for="i in 5" :key="i"
+                    title="2020年双十一1v1活动20202020年双"
+                    title-class="titleStyle"
+                    value="4"
+                    value-class="valueStyle"
+                    class="activeItem" is-link
+                    @click="onDetail(i)" />
+            </van-cell-group>
+        </van-list>
+        <m-empty class="empty" msg="暂无活动方案" v-else key="data" />
+    </div>
+</template>
+
+<script>
+import MEmpty from "@/components/MEmpty";
+export default {
+    name: 'activeProgram',
+    components: {
+        MEmpty
+    },
+    data() {
+        return {
+            loading: false,
+            finished: false,
+            params: {
+                search: null,
+                page: 1,
+                rows: 20,
+            },
+            dataShow: true, // 是否有数据
+            dataList: [],
+        }
+    },
+    mounted() {
+        document.title = '活动方案'
+    },
+    methods: {
+        getActiveList() {
+            this.finished = true
+        },
+        onDetail(item) {
+            this.$router.push({
+                path: '/activeDetail',
+                query: {
+                    item
+                }
+            })
+        }
+    }
+}
+</script>
+
+<style lang="less" scoped>
+.activeProgram {
+    background-color: #F5F5F5;
+    min-height: 100vh;
+    overflow: hidden;
+}
+.activeItem {
+    padding: .14rem 16px;
+    font-size: .16rem;
+    line-height: .24rem;
+    .titleStyle {
+        color: #1A1A1A;
+        flex: 0 auto;
+        white-space: nowrap;
+        text-overflow: ellipsis;
+        overflow: hidden;
+    }
+    .valueStyle {
+        color: #01C1B5;
+        font-weight: 500;
+        flex-basis: 20%;
+    }
+}
+</style>

+ 147 - 0
src/views/activeProgram/modal/course.vue

@@ -0,0 +1,147 @@
+<template>
+    <van-picker
+        :columns="columns"
+        show-toolbar
+        @cancel="$listeners.close()"
+        @confirm="onTeachingConfirm"
+    />
+</template>
+
+<script>
+let minutes = []; // 分钟数
+for (let i = 0; i < 60; i++) {
+    let mi = i < 10 ? "0" + i : i;
+    minutes.push(mi + "分");
+}
+export default {
+    props: ['scheduleList', 'singleClassMinutes'],
+    data() {
+        return {
+            // 排课弹窗
+            columns: [{
+                // 课程选项
+                values: ["线上", "线下"],
+                className: "type",
+            }, {
+                values: ["周一", "周二", "周三", "周四", "周五", "周六", "周日"],
+                className: "week",
+            }, {
+                values: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23],
+                className: "hours",
+                defaultIndex: 7,
+            }, {
+                values: minutes,
+                className: "minutes",
+            }],
+        }
+    },
+    methods: {
+        onTeachingConfirm(value) {
+            // 添加课程
+            let scheduleList = this.scheduleList;
+            let startTime =
+                (value[2] >= 10 ? value[2] : "0" + value[2]) +
+                ":" +
+                value[3].split("分")[0];
+            let endTime = this.MinutesTest(
+                value[2],
+                value[3],
+                this.singleClassMinutes
+            );
+
+            let isAdd = true;
+            scheduleList.forEach((item) => {
+                let isStartTime = this.timeIsRange(startTime, endTime, item.startTime);
+                let isEndTime = this.timeIsRange(startTime, endTime, item.endTime);
+                if (isAdd) {
+                    if (value[1] == item.weekStr) {
+                        if (isStartTime || isEndTime) {
+                            isAdd = false;
+                        } else {
+                            isAdd = true;
+                        }
+                    } else if (value[1] != item.weekStr) {
+                        isAdd = true;
+                    }
+                }
+            });
+
+            if (isAdd) {
+                // 判断时间范围是否有重复
+                scheduleList.push({
+                    type: value[0], // 线上还是线下
+                    weekStr: value[1],
+                    weekIndex: this.getWeek(value[1]),
+                    startTime: startTime,
+                    endTime: endTime,
+                    id: Date.now(),
+                });
+
+                // this.courseForm.teachingStatus = false;
+                this.$listeners.close()
+
+                // this.setTimeTable();
+            } else {
+                this.$toast("该时间段已排课请重选时间");
+                return;
+            }
+        },
+        // 分钟小时相加减
+        MinutesTest(hour, mins, interval) {
+            let min = mins.split("分")[0];
+            let sDate1 = new Date(1900, 1, 1, hour, min);
+            sDate1.setMinutes(sDate1.getMinutes() + parseInt(interval));
+            let H = sDate1.getHours();
+            let M = sDate1.getMinutes();
+            if (H < 10) H = "0" + H;
+            if (M < 10) M = "0" + M;
+            return H + ":" + M;
+        },
+        // 判断时间是否在时间段内
+        timeIsRange(beginTime, endTime, nowTime) {
+            var strB = beginTime.split(":");
+            if (strB.length != 2) {
+                return false;
+            }
+            var strE = endTime.split(":");
+            if (strE.length != 2) {
+                return false;
+            }
+            var strN = nowTime.split(":");
+            if (strE.length != 2) {
+                return false;
+            }
+            var b = new Date();
+            var e = new Date();
+            var n = new Date();
+            b.setHours(strB[0]);
+            b.setMinutes(strB[1]);
+            e.setHours(strE[0]);
+            e.setMinutes(strE[1]);
+            n.setHours(strN[0]);
+            n.setMinutes(strN[1]);
+
+            if (n.getTime() - b.getTime() >= 0 && n.getTime() - e.getTime() <= 0) {
+                // 在时间范围内
+                return true;
+            } else {
+                // 不在时间范围内
+                return false;
+            }
+        },
+        getWeek(str) {
+            // 获取周几索引值
+            let template = {
+                '周一': 1,
+                '周二': 2,
+                '周三': 3,
+                '周四': 4,
+                '周五': 5,
+                '周六': 6,
+                '周日': 0,
+            };
+            return template[str];
+        },
+    }
+}
+</script>

+ 231 - 0
src/views/activeProgram/modal/studentList.vue

@@ -0,0 +1,231 @@
+<template>
+    <div>
+        <van-sticky>
+            <van-search
+            show-action
+            shape="round"
+            @search="onSearch"
+            v-model="params.search"
+            placeholder="请输入学生名或手机号"
+            >
+            <template #action>
+                <div @click="onSearch">搜索</div>
+            </template>
+            </van-search>
+        </van-sticky>
+        <div class="paddingB80">
+            <van-list
+                v-model="loading"
+                class="studentContainer"
+                v-if="dataShow"
+                key="data"
+                :finished="finished"
+                finished-text=""
+                @load="getStudent"
+            >
+                <van-checkbox-group v-model="checkboxSelect">
+                    <van-cell-group>
+                        <van-cell
+                            v-for="(item, index) in dataList"
+                            :key="index"
+                            @click="onCheckboxSelect(item)"
+                            class="input-cell"
+                            :center="true"
+                        >
+                            <template slot="icon">
+                                <img
+                                    class="logo"
+                                    v-if="item.avatar"
+                                    :src="item.avatar"
+                                    alt=""
+                                />
+                                <img
+                                    class="logo"
+                                    v-else
+                                    src="@/assets/images/icon_student.png"
+                                    alt=""
+                                />
+                            </template>
+                            <template slot="title">
+                            {{ item.userName }}
+                            </template>
+                            <template slot="label">
+                                <span>{{ desensitPhone(item.phone) }}</span>
+                            </template>
+                            <template slot="default">
+                                <van-checkbox :name="item.userId.toString()"></van-checkbox>
+                            </template>
+                        </van-cell>
+                    </van-cell-group>
+                </van-checkbox-group>
+            </van-list>
+            <m-empty class="empty" msg="暂无学生" v-else key="data" />
+        </div>
+        <div class="button-group-popup">
+            <span class="btn" @click="onPopupCancel">取消</span>
+            <span class="btn primary" @click="onPopupSubmit">确定</span>
+        </div>
+    </div>
+</template>
+
+<script>
+import MEmpty from "@/components/MEmpty";
+import { queryStudentsWithTeacher } from "@/api/teacher";
+export default {
+    components: {
+        MEmpty
+    },
+    props: ['studentList'],
+    data() {
+        return {
+            params: {
+                search: null,
+                page: 1,
+                rows: 20,
+            },
+            loading: false,
+            finished: false,
+            dataShow: true, // 是否有数据
+            dataList: [],
+            checkboxSelect: [],
+            checkboxSelectList: [], //选中学生列表
+        }
+    },
+    watch: {
+        studentList(newVal) {
+            if(newVal) {
+                let tempVal = newVal || []
+                this.checkboxSelect = []
+                tempVal.forEach(item => {
+                    this.checkboxSelect.push(item.userId.toString())
+                })
+            }
+        }
+    },
+    methods: {
+        // 搜索
+        onSearch() {
+            this.params.page = 1;
+            this.dataList = [];
+            this.dataShow = true;
+            this.loading = true;
+            this.finished = false;
+            this.getStudent();
+        },
+        async getStudent() {
+            let params = this.params;
+            await queryStudentsWithTeacher(params).then((res) => {
+                let result = res.data;
+                this.loading = false;
+                if (result.code == 200) {
+                    params.page = result.data.pageNo;
+                    this.dataList = this.dataList.concat(result.data.rows);
+                    if (params.page >= result.data.totalPage) {
+                        this.finished = true;
+                    }
+                    this.params.page++;
+                } else {
+                    this.finished = true;
+                }
+                // 判断是否有数据
+                if (this.dataList.length <= 0) {
+                    this.dataShow = false;
+                }
+            });
+        },
+        onCheckboxSelect(value) {
+            if (this.checkboxSelect.includes(value.userId.toString())) {
+                this.checkboxSelectList.forEach((item, index) => {
+                    if (item.userId == value.userId) {
+                        this.checkboxSelectList.splice(index, 1);
+                    }
+                });
+            } else {
+                this.checkboxSelect.push(value.userId.toString())
+                this.checkboxSelectList.push(value)
+            }
+        },
+        onPopupCancel() {
+            this.$listeners.close()
+        },
+        onPopupSubmit() {
+            this.$emit('submit', this.checkboxSelectList)
+        },
+        desensitPhone(phone) {
+            // 手机号脱敏
+            let first = phone.substr(0, 3);
+            let last = phone.substr(-4);
+            return first + "****" + last;
+        },
+    }
+}
+</script>
+
+<style lang="less" scoped>
+@import url("../../../assets/commonLess/variable.less");
+.studentContainer {
+    /deep/.van-cell__title {
+        font-size: 0.14rem;
+        color: @mFontColor;
+        flex: 1 auto;
+    }
+
+    .logo {
+        width: 0.35rem;
+        height: 0.35rem;
+        margin-right: 0.12rem;
+        border-radius: 100%;
+    }
+
+    .input-cell {
+        padding: 0.12rem 0.16rem 0.2rem;
+
+        .van-checkbox {
+            justify-content: flex-end;
+        }
+    }
+
+    /deep/.van-cell__value {
+        height: 0.2rem;
+    }
+
+    /deep/.van-checkbox__icon .van-icon {
+        border-color: @sFontColor;
+    }
+    /deep/.van-checkbox__icon--checked .van-icon {
+        border-color: #01C1B5;
+    }
+
+    .van-tag {
+        margin-left: 0.08rem;
+    }
+}
+.paddingB80 {
+    padding-bottom: 0.8rem;
+}
+.button-group-popup {
+    position: fixed;
+    bottom: 0;
+    padding: 0.2rem 0;
+    width: 100%;
+    text-align: center;
+    background-color: #ffffff;
+    .btn {
+        padding: 0 0.45rem;
+        line-height: 0.4rem;
+        display: inline-block;
+        border: 1px solid @mColor;
+        border-radius: 1rem;
+        color: @mColor;
+        background: #fff;
+        font-size: 0.18rem;
+        &.primary {
+        color: #fff;
+        background: @mColor;
+        }
+    }
+    .btn + .btn {
+        margin-left: 0.1rem;
+    }
+}
+</style>

+ 284 - 0
src/views/activeProgram/program.vue

@@ -0,0 +1,284 @@
+<template>
+    <div class="program">
+        <van-cell-group class="van-cell-group--inset">
+            <van-cell title="2020年双十一1v1活动" class="titleContent" title-class="titleStyle" label-class="labelStyle">
+                <template #label>
+                    <p>2020年双十一VIP1v1活动</p>
+                    <p>11.11抵扣1111</p>
+                </template>
+            </van-cell>
+        </van-cell-group>
+
+        <h2 class="van-block__title">付费课程排课</h2>
+        <van-cell-group>
+            <van-field
+                v-model="formName.courseType"
+                label="课程类型"
+                :readonly="true"
+                input-align="right"
+                is-link
+                size="large"
+                placeholder="请选择"
+            />
+            <van-field
+                v-model="formName.vipGroupCategoryName"
+                label="课程形式"
+                :readonly="true"
+                input-align="right"
+                is-link
+                size="large"
+                placeholder="请选择"
+            />
+            <van-field
+                v-model="formName.subjectListName"
+                label="排课声部"
+                :readonly="true"
+                input-align="right"
+                is-link
+                size="large"
+                placeholder="请选择"
+            />
+            <van-field
+                v-model="formName.educationalTeacherName"
+                label="乐团主管"
+                :readonly="true"
+                input-align="right"
+                is-link
+                size="large"
+                placeholder="请选择"
+            />
+        </van-cell-group>
+
+        <template v-if="studentList.length > 0">
+            <h2 class="van-block__title">上课学员</h2>
+            <van-cell-group>
+                <van-cell title-style="flex: 1 auto;" size="large" v-for="(item, index) in studentList" :key="index">
+                    <template #title>
+                        {{ item.userName }} - {{ item.phone }}
+                    </template>
+                    <template #default>
+                        <span @click="onDelete('student', item)"><van-icon name="delete-o" size=".14rem" /> <span style="font-size: .12rem;">删除</span></span>
+                    </template>
+                </van-cell>
+            </van-cell-group>
+        </template>
+        <div class="addButton" @click="studentStatus = true">
+            <van-icon name="plus" /> 添加学员
+        </div>
+
+        <h2 class="van-block__title">课时组成</h2>
+        <van-cell-group>
+            <van-field
+                v-model="formName.subjectListName"
+                label="班级人数"
+                :readonly="true"
+                input-align="right"
+                is-link
+                size="large"
+                placeholder="请选择"
+            />
+            <van-field
+                v-model="formName.vipGroupCategoryName"
+                label="单课时时长"
+                :readonly="true"
+                input-align="right"
+                is-link
+                size="large"
+                placeholder="请选择"
+            />
+        </van-cell-group>
+
+        <h2 class="van-block__title">课时安排</h2>
+        <van-cell-group>
+            <van-field
+                v-model="formName.subjectListName"
+                label="课时总数"
+                :readonly="true"
+                input-align="right"
+                is-link
+                size="large"
+                placeholder="请输入排课课时数"
+            />
+            <van-field
+                v-model="formName.vipGroupCategoryName"
+                label="排课开始时间"
+                :readonly="true"
+                input-align="right"
+                is-link
+                size="large"
+                placeholder="请选择"
+            />
+        </van-cell-group>
+
+        <van-cell-group :border="false" style="margin-top: .1rem">
+            <van-cell
+                title-class="title-time"
+                v-for="(item, index) in scheduleList"
+                :key="index"
+            >
+                <template slot="title">
+                    <span class="online">{{ item.type }}</span>
+                    <span class="week">{{ item.weekStr }}</span>
+                    <span class="timer">{{ item.startTime + "~" + item.endTime }}</span>
+                </template>
+                <template slot="default">
+                    <span @click="onDelete('class', item)"><van-icon name="delete-o" size=".14rem" /> <span style="font-size: .12rem;">删除</span></span>
+                </template>
+            </van-cell>
+        </van-cell-group>
+        <div class="addButton" @click="teachingStatus = true">
+            <van-icon name="plus" /> 添加课时安排
+        </div>
+
+        <div class="button-group">
+            <van-button type="primary" @click="onSubmit" round size="large">确认</van-button>
+        </div>
+
+        <!-- 选择上课学生 -->
+        <van-popup
+            v-model="studentStatus"
+            :lock-scroll="true"
+            position="bottom"
+            :style="{ height: '180%' }"
+            class="studentChiose"
+        >
+            <student-list @close="studentStatus = false" :studentList="studentList" @submit="onSelectStudent" />
+        </van-popup>
+        <!-- 课时安排 -->
+        <van-popup v-model="teachingStatus" position="bottom">
+            <course-modal :scheduleList="scheduleList" :singleClassMinutes="form.singleClassMinutes" @close="teachingStatus = false" />
+        </van-popup>
+    </div>
+</template>
+
+<script>
+import studentList from './modal/studentList'
+import courseModal from './modal/course'
+export default {
+    components: { studentList, courseModal },
+    data() {
+        return {
+            studentStatus: false,
+            studentList: [],
+            form: {
+                singleClassMinutes: 45
+            },
+            formName: {
+                courseType: 'VIP课',
+            },
+            scheduleList: [],
+            // 排课弹窗
+            teachingStatus: false, // 课时安排状态
+        }
+    },
+    methods: {
+        onSubmit() {
+            console.log('排课了')
+        },
+        onSelectStudent(items) {
+            // 选中的数据
+            this.studentList = items
+            this.studentStatus = false
+        },
+        onDelete(type, item) {
+            if(type == 'student') {
+                // 删除上课学员
+                this.$dialog.confirm({
+                    title: '提示',
+                    message: '是否删除该学员?',
+                    confirmButtonText: '确定',
+                    confirmButtonColor: '#269a93',
+                    cancelButtonText: '取消'
+                }).then(() => {
+                    let index = this.studentList.indexOf(item);
+                    if (index !== -1) {
+                        this.studentList.splice(index, 1);
+                    }
+                })
+            } else if(type == 'class') {
+                // 删除上课学员
+                this.$dialog.confirm({
+                    title: '提示',
+                    message: '是否删除该课时安排?',
+                    confirmButtonText: '确定',
+                    confirmButtonColor: '#269a93',
+                    cancelButtonText: '取消'
+                }).then(() => {
+                    let index = this.scheduleList.indexOf(item);
+                    if (index !== -1) {
+                        this.scheduleList.splice(index, 1);
+                    }
+                })
+            }
+        }
+    }
+}
+</script>
+
+<style lang="less" scoped>
+@import url("../../assets/commonLess/variable.less");
+.program {
+    background-color: #F5F5F5;
+    min-height: 100vh;
+    overflow: hidden;
+}
+.van-cell-group--inset {
+    margin: .12rem .12rem 0;
+    overflow: hidden;
+    border-radius: 8px;
+    .titleContent {
+        padding: .14rem .16rem;
+    }
+    .titleStyle {
+        font-size: .2rem;
+        color: #333333;
+        font-size: 500;
+    }
+    .labelStyle {
+        padding-top: .08rem;
+        color: #666666;
+        font-size: .13rem;
+        line-height: .2rem;
+    }
+}
+.van-block__title {
+    padding: .12rem .14rem .06rem;
+    color: #808080;
+    font-size: .14rem;
+    line-height: .2rem;
+}
+.button-group {
+    margin: 0.3rem 0.26rem 0.2rem;
+
+    .van-button--primary {
+        background: @mColor;
+        border-color: @mColor;
+        font-size: 0.18rem;
+    }
+}
+.title-time {
+    display: flex;
+    align-items: center;
+    flex: 1 auto;
+    color: #1A1A1A;
+    font-size: .16rem;
+    .week {
+        padding-left: 0.4rem;
+        padding-right: 0.15rem;
+    }
+}
+/deep/.studentChiose {
+    border-radius: 0 0 0px 0px;
+    overflow: auto;
+}
+.addButton {
+    margin: .1rem .28rem;
+    border: 1px dashed #CFCFCF;
+    line-height: .42rem;
+    text-align: center;
+    background: #FBFBFB;
+    color: #666666;
+    font-size: .14rem;
+    border-radius: .05rem;
+}
+</style>

+ 1 - 1
vue.config.js

@@ -39,7 +39,7 @@ module.exports = {
     open: process.platform === 'darwin',
     host: '0.0.0.0',
     port: 9999,
-    https: true,
+    // https: true,
     hotOnly: false,
     // 查阅 https://github.com/vuejs/vue-doc-zh-cn/vue-cli/cli-service.md#配置代理
     proxy: {