Browse Source

Merge branch 'online'

261568008@qq.com 5 years ago
parent
commit
941e245b62

+ 32 - 16
package-lock.json

@@ -2496,14 +2496,20 @@
       }
     },
     "browserslist": {
-      "version": "4.6.6",
-      "resolved": "https://registry.npm.taobao.org/browserslist/download/browserslist-4.6.6.tgz",
-      "integrity": "sha1-bkv0Z83lILydvfN0fa+gNTHOxFM=",
-      "dev": true,
+      "version": "4.9.1",
+      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.9.1.tgz",
+      "integrity": "sha512-Q0DnKq20End3raFulq6Vfp1ecB9fh8yUNV55s8sekaDDeqBaCtWlRHCUdaWyUeSSBJM7IbM6HcsyaeYqgeDhnw==",
       "requires": {
-        "caniuse-lite": "^1.0.30000984",
-        "electron-to-chromium": "^1.3.191",
-        "node-releases": "^1.1.25"
+        "caniuse-lite": "^1.0.30001030",
+        "electron-to-chromium": "^1.3.363",
+        "node-releases": "^1.1.50"
+      },
+      "dependencies": {
+        "caniuse-lite": {
+          "version": "1.0.30001032",
+          "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001032.tgz",
+          "integrity": "sha512-8joOm7BwcpEN4BfVHtfh0hBXSAPVYk+eUIcNntGtMkUWy/6AKRCDZINCLe3kB1vHhT2vBxBF85Hh9VlPXi/qjA=="
+        }
       }
     },
     "buffer": {
@@ -2669,6 +2675,11 @@
       "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=",
       "dev": true
     },
+    "caniuse": {
+      "version": "0.1.3",
+      "resolved": "https://registry.npmjs.org/caniuse/-/caniuse-0.1.3.tgz",
+      "integrity": "sha1-Rnz9kTzbgrVlvMItldCmvy3Y+4M="
+    },
     "caniuse-api": {
       "version": "3.0.0",
       "resolved": "https://registry.npm.taobao.org/caniuse-api/download/caniuse-api-3.0.0.tgz",
@@ -4039,10 +4050,9 @@
       "dev": true
     },
     "electron-to-chromium": {
-      "version": "1.3.220",
-      "resolved": "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.220.tgz",
-      "integrity": "sha1-Yy+/El/KTWnXoUCmb+mFcvZ8B3g=",
-      "dev": true
+      "version": "1.3.372",
+      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.372.tgz",
+      "integrity": "sha512-77a4jYC52OdisHM+Tne7dgWEvQT1FoNu/jYl279pP88ZtG4ZRIPyhQwAKxj6C2rzsyC1OwsOds9JlZtNncSz6g=="
     },
     "elliptic": {
       "version": "6.5.0",
@@ -7660,12 +7670,18 @@
       }
     },
     "node-releases": {
-      "version": "1.1.26",
-      "resolved": "https://registry.npm.taobao.org/node-releases/download/node-releases-1.1.26.tgz",
-      "integrity": "sha1-8wVj7cXH3CDPUkzIZS/6e+B2KTc=",
-      "dev": true,
+      "version": "1.1.50",
+      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.50.tgz",
+      "integrity": "sha512-lgAmPv9eYZ0bGwUYAKlr8MG6K4CvWliWqnkcT2P8mMAgVrH3lqfBPorFlxiG1pHQnqmavJZ9vbMXUTNyMLbrgQ==",
       "requires": {
-        "semver": "^5.3.0"
+        "semver": "^6.3.0"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+        }
       }
     },
     "normalize-package-data": {

+ 2 - 0
package.json

@@ -9,6 +9,8 @@
   },
   "dependencies": {
     "babel-polyfill": "^6.26.0",
+    "browserslist": "^4.9.1",
+    "caniuse": "^0.1.3",
     "core-js": "^2.6.5",
     "install": "^0.13.0",
     "qs": "^6.8.0",

BIN
src/assets/images/audition/arrow_down.png


BIN
src/assets/images/audition/icon_check.png


+ 2 - 2
src/main.js

@@ -9,14 +9,14 @@ import { Button, Icon, Tag, Swipe, SwipeItem, Popup, Picker,
     Collapse, CollapseItem, Tab, Tabs, Row, Col, Cell, CellGroup,
     Circle, Field, DatetimePicker, Image, Loading,
     ActionSheet, RadioGroup, Radio, Checkbox, CheckboxGroup,
-    CountDown, Panel, Dialog, Sticky} from 'vant'
+    CountDown, Panel, Dialog, Sticky, Rate} from 'vant'
 Vue.use(Button).use(Icon).use(Tag).use(Swipe).use(SwipeItem)
    .use(Popup).use(Picker).use(DropdownMenu).use(DropdownItem).use(Search)
    .use(PullRefresh).use(Toast).use(List).use(Collapse).use(CollapseItem)
    .use(Tab).use(Tabs).use(Row).use(Col).use(Cell).use(CellGroup)
    .use(Circle).use(Field).use(DatetimePicker).use(Image).use(Loading)
    .use(ActionSheet).use(RadioGroup).use(Radio).use(Checkbox).use(CheckboxGroup)
-   .use(CountDown).use(Panel).use(Dialog).use(Sticky)
+   .use(CountDown).use(Panel).use(Dialog).use(Sticky).use(Rate)
 Vue.config.productionTip = false
 
 // import Vconsole from 'vconsole'

+ 21 - 0
src/router/auditionRouter.js

@@ -0,0 +1,21 @@
+let auditionRouter = [
+    {
+        path: '/manageEvaluation',
+        name: 'manageEvaluation',
+        component: () => import(/* webpackChunkName:'ManageEvaluation'*/'@/views/audition/ManageEvaluation.vue'),
+        meta: {
+            descrition: '网管课评价',
+            weight: 2 // 页面权重
+        }
+    }, {
+        path: '/courseEvaluation',
+        name: 'courseEvaluation',
+        component: () => import(/* webpackChunkName:'CourseEvaluation'*/'@/views/audition/CourseEvaluation.vue'),
+        meta: {
+            descrition: '课程评价',
+            weight: 3 // 页面权重
+        }
+    }
+]
+
+export default auditionRouter

+ 2 - 0
src/router/index.js

@@ -1,6 +1,7 @@
 import Vue from 'vue'
 import Router from 'vue-router'
 import TeacherRouter from './teacherRouter'
+import AuditionRouter from './auditionRouter'
 
 
 Vue.use(Router)
@@ -31,6 +32,7 @@ let defaultRouter = [
 ]
 
 defaultRouter = defaultRouter.concat(TeacherRouter)
+                             .concat(AuditionRouter)
 
 const router = new Router({
   // mode: 'history',

+ 146 - 0
src/views/audition/CourseEvaluation.vue

@@ -0,0 +1,146 @@
+<template>
+    <div>
+        <MHeader />
+        
+        <van-cell-group>
+            <van-cell title="课程班名称" value="长笛1班·基础知识课" />
+        </van-cell-group>
+        <van-cell-group>
+            <van-cell title="上课时间" value="2020年9月1日 13:00-14:45" />
+        </van-cell-group>
+        <van-cell-group>
+            <van-cell title="乐器" value="长笛" />
+        </van-cell-group>
+        <van-cell-group>
+            <van-field rows="4" class="textarea" maxlength="255" autosize label="教材内容" type="textarea" placeholder="请输入(1-255字)" />
+        </van-cell-group>
+        <van-cell-group>
+            <van-field label="曲目" input-align="right" placeholder="请输入曲目名" />
+        </van-cell-group>
+        <van-cell-group>
+            <van-cell>
+                <template slot="title">
+                    <div class="title-item">
+                        <span class="text">发音</span>
+                        <van-rate v-model="voice" :size="25" void-color="#eee" void-icon="star" />
+                    </div>
+                    <div class="title-item">
+                        <span class="text">节奏</span>
+                        <van-rate :size="25" void-color="#eee" void-icon="star" />
+                    </div>
+                    <div class="title-item">
+                        <span class="text">乐理</span>
+                        <van-rate :size="25" void-color="#eee" void-icon="star" />
+                    </div>
+                </template>
+            </van-cell>
+        </van-cell-group>
+        <van-cell-group>
+            <van-field rows="4" class="textarea" maxlength="255" autosize label="评价备注" type="textarea" placeholder="请输入(1-255字)" />
+        </van-cell-group>
+        <van-cell-group>
+            <van-field rows="4" class="textarea" maxlength="255" autosize label="布置作业" type="textarea" placeholder="请输入(1-255字)" />
+        </van-cell-group>
+        <van-cell-group>
+            <van-cell title="是否完成双向沟通" value-class="twoConnect">
+                <template slot="default">
+                    <van-radio-group v-model="radio" direction="horizontal">
+                        <van-radio name="1">是</van-radio>
+                        <van-radio name="2">否</van-radio>
+                    </van-radio-group>
+                </template>
+            </van-cell>
+        </van-cell-group>
+        <div class="button-group">
+            <van-button type="primary" round size="large">提交评价</van-button>
+        </div>
+    </div>
+</template>
+<script>
+import MHeader from '@/components/MHeader'
+export default {
+    name: 'teacherList',
+    components: { MHeader },
+    data () {
+        return {
+            radio: 1,
+            voice: 0
+        }
+    },
+    mounted() {
+        
+    },
+    methods: {
+        
+    }
+}
+</script>
+<style lang="less" scoped>
+@import url("../../assets/commonLess/variable.less");
+
+/deep/.van-cell-group {
+    margin-top: .15rem;
+    /deep/.van-cell {
+        padding: .14rem .16rem;
+    }
+}
+
+.title-item {
+    display: flex;
+    padding: .05rem 0;
+    .text {
+        margin-right: .15rem;
+        font-size: .17rem;
+        color: #1A1A1A;
+    }
+    /deep/.van-rate {
+        line-height: 0;
+    }
+}
+
+/deep/.van-cell__title {
+    font-size: .17rem;
+    color: #1A1A1A;
+    flex: auto 1;
+}
+/deep/.van-field__control, /deep/.van-cell__value {
+    font-size: 0.17rem;
+    color: #666;
+    width: 70%;
+    flex: auto;
+}
+.textarea {
+    flex-direction: column;
+    /deep/.van-cell__value {
+        margin-top: .1rem;
+        width: 100%;
+    }
+}
+.twoConnect {
+    width: 55%;
+}
+/deep/.van-radio-group {
+    display: flex;
+    justify-content: flex-end;
+    /deep/.van-radio {
+        margin-left: .18rem;
+    }
+}
+/deep/.van-radio__icon .van-icon {
+    border-color: @sFontColor;
+}
+/deep/.van-radio__icon--checked {
+    .van-icon {
+        border-color: #14928A;
+        background: #14928A;
+    }
+}
+.button-group {
+    margin: .3rem .26rem .2rem;
+    .van-button--primary {
+        background: @mColor;
+        border: 1px solid @mColor;
+        font-size: .18rem;
+    }
+}
+</style>

+ 282 - 0
src/views/audition/ManageEvaluation.vue

@@ -0,0 +1,282 @@
+<template>
+    <div>
+        <MHeader />
+        <div class="searchSection">
+            <div class="searchDate">
+                <div class="date startDate" @click="dateSection.status = true">
+                    开始<span>2020/03/03</span>
+                </div>-
+                <div class="date endDate" @click="dateSection.status = true">
+                    结束<span>2020/03/03</span>
+                </div>
+            </div>
+            <!-- <div class="searchMore">
+                筛选<i class="arrowDown"></i>
+            </div> -->
+
+            <van-dropdown-menu active-color="#14928A">
+                <van-dropdown-item title="筛选" ref="item">
+                    <div class="dropItem">
+                        <p class="dropTitle">评价类型</p>
+                        <div class="radioGroup">
+                            <span class="actived">月报</span>
+                            <span>课次评价</span>
+                        </div>
+                    </div>
+                    <div class="dropItem">
+                        <p class="dropTitle">评价进度</p>
+                        <div class="radioGroup">
+                            <span class="actived">待完成</span>
+                            <span>已完成</span>
+                        </div>
+                    </div>
+                    <div class="dropItem">
+                        <p class="dropTitle">提交作业</p>
+                        <div class="radioGroup">
+                            <span class="actived">是</span>
+                            <span>否</span>
+                        </div>
+                    </div>
+                    <div class="dropItem">
+                        <p class="dropTitle">完成双向沟通</p>
+                        <div class="radioGroup">
+                            <span class="actived">是</span>
+                            <span>否</span>
+                        </div>
+                    </div>
+                    <div class="btnGroup">
+                        <div class="btn btn-reset">重置</div>
+                        <div class="btn btn-sure">确定</div>
+                    </div>
+                    
+                </van-dropdown-item>
+            </van-dropdown-menu>
+        </div>
+
+        
+
+        <van-cell-group>
+            <van-cell v-for="i in 5" :key="i" class="cellGroup" title="3月25日" title-class="sectionTitle" value-class="sectionValue">
+                <template solt="default">
+                    <p class="content van-ellipsis">长笛·王小明长笛·王小明长笛·王小明长笛·王小明</p>
+                    <van-button type="primary" round size="small">提交评价</van-button>
+                </template>
+            </van-cell>
+        </van-cell-group>
+        <!-- <m-empty class="empty" v-else key="data" /> -->
+
+        <!-- 日期弹窗 -->
+        <van-popup position="bottom" v-model="dateSection.status">
+            <van-datetime-picker
+                v-model="dateSection.currentDate"
+                type="date"
+                :min-date="dateSection.minDate"
+                :max-date="dateSection.maxDate"
+                :formatter="formatter" />
+        </van-popup>
+
+        <van-popup position="bottom" v-model="search.status">
+
+        </van-popup>
+    </div>
+</template>
+<script>
+import MHeader from '@/components/MHeader'
+import MEmpty from '@/components/MEmpty'
+export default {
+    name: 'teacherList',
+    components: { MHeader, MEmpty },
+    data () {
+        return {
+            dateSection: {
+                status: false,
+                minDate: new Date(2020, 0, 1),
+                maxDate: new Date(2025, 10, 1),
+                currentDate: new Date()
+            },
+            search: {
+                status: false
+            },
+            value: 0,
+            switch1: 1,
+            switch2: 2,
+            option: [
+                { text: '全部商品', value: 0 },
+                { text: '新款商品', value: 1 },
+                { text: '活动商品', value: 2 }
+            ]
+        }
+    },
+    mounted() {
+        // this.getStudent()
+    },
+    methods: {
+        formatter(type, val) {
+            if (type === 'year') {
+                return `${val}年`
+            } else if (type === 'month') {
+                return `${val}月`
+            } else if(type == 'day') {
+                return `${val}日`
+            }
+            return val
+        }
+    }
+}
+</script>
+<style lang="less" scoped>
+@import url("../../assets/commonLess/variable.less");
+.searchSection {
+    display: flex;
+    justify-content: space-between;
+    background: #fff;
+    margin-bottom: .15rem;
+    padding: 0 0.16rem;
+    align-items: center;
+
+    .searchDate {
+        display: flex;
+        color: #666666;
+        height: auto;
+        .startDate {
+            margin-right: .05rem;
+        }
+        .endDate {
+            margin-left: .05rem;
+        }
+        .date {
+            padding: .02rem .06rem;
+            border: 1px solid #E5E5E5;
+            font-size: .14rem;
+            color: #999999;
+            span {
+                padding-left: .04rem;
+                font-size: .15rem;
+                color: #666666;
+            }
+        }
+    }
+
+    /deep/.van-dropdown-menu__title {
+        font-size: .17rem;
+        color: #1A1A1A;
+    }
+
+    .btnGroup {
+        display: flex;
+        margin-top: .15rem;
+        .btn {
+            width: 50%;
+            text-align: center;
+            font-size: .17rem;
+            color: #000;
+            padding: .12rem 0;
+        }
+        .btn-reset {
+            background-color: #E1F6F4;
+            color: #14928A;
+        }
+        .btn-sure {
+            background-color: #14928A;
+            color: #fff;
+        }
+    }
+    .dropItem {
+        padding: .1rem .16rem;
+        .dropTitle {
+            font-size: .17rem;
+            color: #1A1A1A;
+        }
+        .radioGroup {
+            display: flex;
+            justify-content: space-between;
+            padding-top: .1rem;
+            span {
+                color: #000000;
+                background-color: #F4F4F4;
+                width: 48%;
+                padding: .1rem 0;
+                text-align: center;
+                border-radius: 2px;
+                &.actived {
+                    color: #14928A;
+                    background: url('../../assets/images/audition/icon_check.png') no-repeat bottom right #E4F6F5;
+                    background-size: .2rem;
+                }
+            }
+        }
+    }
+}
+.cellGroup {
+    padding: .16rem;
+}
+.sectionTitle {
+    font-size: .16rem;
+    color: #808080;
+    align-items: center;
+    display: flex;
+}
+.sectionValue {
+    display: flex;
+    width: 70%;
+    flex: 1 auto;
+    justify-content: space-between;
+    align-items: center;
+    height: auto !important;
+    .content {
+        font-size: .17rem;
+        color: #1A1A1A;
+    }
+    .van-button {
+        font-size: .14rem;
+        background-color: #14928A;
+        padding: 0 .12rem;
+        min-width: .88rem;
+    }
+}
+
+
+
+
+
+/deep/.van-cell__title {
+    font-size: .14rem;
+    color: @mFontColor;
+    flex: 1 auto;
+}
+.logo {
+    width: .35rem;
+    height: .35rem;
+    margin-right: .12rem;
+    border-radius: 100%;
+}
+.input-cell {
+    padding: .12rem .16rem .2rem;
+    .van-radio {
+        justify-content: flex-end;
+    }
+}
+/deep/.van-cell__value {
+    height: .2rem;
+}
+/deep/.van-radio__icon .van-icon {
+    border-color: @sFontColor;
+}
+/deep/.van-radio__icon--checked {
+    .van-icon {
+        border-color: @orangeColor;
+        background: @orangeColor;
+    }
+}
+.van-tag {
+    margin-left: .08rem;
+}
+.button-group {
+    margin: .3rem .26rem .2rem;
+    .van-button--primary {
+        background: @mColor;
+        border: 1px solid @mColor;
+        font-size: .18rem;
+    }
+}
+</style>