lex-xin 5 éve
szülő
commit
a4174ce174

+ 11 - 1
src/api/app.js

@@ -28,8 +28,18 @@ const queryTenantAccountDetail = (data) => {
   })
 }
 
+// 帮助中心
+const helpCenterContentList = (data) => {
+  return axios({
+    url: '/api-cms/helpCenterCatalog/list',
+    method: 'get',
+    params: data
+  })
+}
+
 export {
     createCourseGroup,
     sysTenantAccountGet,
-    queryTenantAccountDetail
+    queryTenantAccountDetail,
+    helpCenterContentList
 }

BIN
src/assets/images/app/icon_student.png


+ 23 - 3
src/common/common.js

@@ -5,12 +5,12 @@ const browser = () => {
     trident: u.indexOf('Trident') > -1, //IE内核
     presto: u.indexOf('Presto') > -1, //opera内核
     webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
-    gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,//火狐内核
+    gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
     mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
     ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
     // ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
     android: u.indexOf('DAYAAPPA') > -1 || u.indexOf('Adr') > -1, //android终端
-    iPhone: u.indexOf('DAYAAPPI') > -1 , //是否为iPhone或者QQHD浏览器
+    iPhone: u.indexOf('DAYAAPPI') > -1, //是否为iPhone或者QQHD浏览器
     iPad: u.indexOf('iPad') > -1, //是否iPad
     webApp: u.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部
     weixin: u.indexOf('MicroMessenger') > -1, //是否微信 (2015-01-22新增)
@@ -18,6 +18,26 @@ const browser = () => {
   }
 }
 
+const calcMinute = (minute) => {
+  if(minute <= 0) {
+    return '0分钟'
+  }
+  let minutes = minute % 60 // 算出分钟
+  let hours = 0 // 小时
+  if(minute >= 60) {
+    hours = (minute - minutes) / 60
+  }
+  let text = ''
+  if(hours) {
+    text = hours + '小时'
+  }
+  if(minutes) {
+    text += minutes + '分钟'
+  }
+  return text
+}
+
 export {
-  browser
+  browser,
+  calcMinute
 }

+ 18 - 0
src/router/appRouter.js

@@ -43,6 +43,24 @@ let teacherRouter = [{
       descrition: "课时兑换",
       weight: 2 // 页面权重
     }
+  }, {
+    path: "/helpCenter",
+    name: "helpCenter",
+    component: () =>
+      import( /* webpackChunkName:'HelpCenter'*/ "@/views/app/HelpCenter.vue"),
+    meta: {
+      descrition: "帮助中心",
+      weight: 2 // 页面权重
+    }
+  }, {
+    path: "/courseEvaluation",
+    name: "courseEvaluation",
+    component: () =>
+      import( /* webpackChunkName:'CourseEvaluation'*/ "@/views/app/CourseEvaluation.vue"),
+    meta: {
+      descrition: "课程评价",
+      weight: 2 // 页面权重
+    }
   }, 
 ];
 export default teacherRouter;

+ 4 - 4
src/views/app/Account.vue

@@ -6,7 +6,7 @@
             <div class="bgColor"></div>
             <van-row class="content" type="flex" justify="center" align="center">
                 <van-col span="12">
-                    <i class="icon icon_times"></i>剩余时<span>{{ availableMinutes }}</span>
+                    <i class="icon icon_times"></i>剩余时<span>{{ availableMinutes }}</span>
                 </van-col>
                 <van-col span="12">
                     <i class="icon icon_lock"></i>冻结时间<span class="lock">{{ frozenMinutes }}</span>
@@ -25,7 +25,7 @@
 <script>
 /* eslint-disable */
 import MHeader from '@/components/MHeader'
-import { browser }  from '@/common/common'
+import { browser, calcMinute }  from '@/common/common'
 import { sysTenantAccountGet } from '@/api/app'
 export default {
     name: 'courseApply',
@@ -58,8 +58,8 @@ export default {
                 if(result.code == 200) {
                     let tempResult = result.data
                     if(tempResult) {
-                        this.availableMinutes = tempResult.availableMinutes ? tempResult.availableMinutes : 0
-                        this.frozenMinutes = tempResult.frozenMinutes ? tempResult.frozenMinutes : 0
+                        this.availableMinutes = calcMinute(tempResult.availableMinutes ? tempResult.availableMinutes : 0)
+                        this.frozenMinutes = calcMinute(tempResult.frozenMinutes ? tempResult.frozenMinutes : 0)
                     }
                 } else {
                     this.$toast(result.msg)

+ 169 - 0
src/views/app/CourseEvaluation.vue

@@ -0,0 +1,169 @@
+<template>
+    <div class="courseEvaluation">
+        <MHeader />
+        
+        <van-cell-group>
+            <van-cell title="课程班名称" value="Name" />
+        </van-cell-group>
+        <van-cell-group>
+            <van-cell title="课程时间" value="ime" />
+        </van-cell-group>
+        <van-cell-group>
+            <van-cell title="乐器" value="tNames" />
+        </van-cell-group>
+        <van-cell-group>
+            <van-cell title="班级学员" value="tNames" />
+        </van-cell-group>
+        <van-cell-group>
+            <van-field class="textarea" maxlength="255" autosize label="教学内容" type="textarea" value="盼望着,盼望着,东风来了,春天的脚步近了。一切都像刚睡醒的样子,欣欣然张开了眼。山朗润起来了,水涨起来" readonly />
+        </van-cell-group>
+        
+        <div class="title">学员评价</div>
+        <div class="evaluation-item">
+            <div class="header">
+                <img src="../../assets/images/app/icon_student.png" alt="">
+                李小明
+            </div>
+            <div class="rate">评价<van-rate v-model="rate" readonly :size="20" /></div>
+            <div class="content">
+                盼望着,盼望着,东风来了,春天的脚步近了。一切都像刚睡醒的样子,欣欣然张开了眼。山朗润起来了,水涨起来
+            </div>
+        </div>
+        <div class="evaluation-item">
+            <div class="header">
+                <img src="../../assets/images/app/icon_student.png" alt="">
+                李小明
+            </div>
+            <div class="rate">评价<van-rate v-model="rate" readonly :size="20" /></div>
+            <div class="content">
+                盼望着,盼望着,东风来了,春天的脚步近了。一切都像刚睡醒的样子,欣欣然张开了眼。山朗润起来了,水涨起来
+            </div>
+        </div>
+
+        <div class="title teacher">老师评价</div>
+        <van-panel v-if="false">
+            <div slot="header" class="van-hairline--bottom" style="display: flex;">
+                <div class="header"><img src="../../assets/images/app/icon_student.png" alt="">李小明</div>
+                <div class="header"><img src="../../assets/images/app/icon_student.png" alt="">李小明</div>
+            </div>
+            <div slot="default" class="content">盼望着,盼望着,东风来了,春天的脚步近了。一切都像刚睡醒的样子,欣欣然张开了眼。山朗润起来了,水涨起来</div>
+        </van-panel>
+    </div>
+</template>
+<script>
+import MHeader from '@/components/MHeader'
+export default {
+    name: 'courseEvaluation',
+    components: { MHeader },
+    data () {
+        return {
+            rate: 2
+        }
+    },
+    mounted() {
+    },
+    methods: {
+    }
+}
+</script>
+<style lang="less" scoped>
+@import url("../../assets/commonLess/variable.less");
+.courseEvaluation {
+    position: relative;
+    min-height: 100vh;
+}
+/deep/.van-cell-group {
+    margin-top: .15rem;
+    /deep/.van-cell {
+        padding: .14rem .16rem;
+    }
+}
+
+/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%;
+    }
+    /deep/.van-field__control {
+        font-size: .15rem;
+    }
+}
+
+.title {
+    font-size: .16rem;
+    color: #808080;
+    line-height: .22rem;
+    padding: .15rem .16rem .1rem;
+    &.teacher {
+        padding-top: 0;
+    }
+}
+.evaluation-item {
+    background-color: #fff;
+    margin-bottom: .15rem;
+    padding: .12rem .16rem;
+    img {
+        width: .4rem;
+        height: .4rem;
+        border-radius: 50%;
+        overflow: hidden;
+        margin-right: .08rem;
+    }
+    .header {
+        display: flex;
+        align-items: center;
+        font-size: .18rem;
+        color: #1A1A1A;
+    }
+    .rate {
+        font-size: .14rem;
+        color: #333333;
+        display: flex;
+        padding: .1rem 0;
+        .van-rate {
+            margin-left: .05rem;
+        }
+    }
+    .content {
+        font-size: .15rem;
+        color: #666666;
+    }
+}
+.van-panel {
+    padding: .12rem .16rem;
+    margin-top: 0;
+    margin-bottom: .15rem;
+    img {
+        width: .28rem;
+        height: .28rem;
+        border-radius: 50%;
+        overflow: hidden;
+        margin-right: .08rem;
+    }
+    .header {
+        display: flex;
+        align-items: center;
+        font-size: .14rem;
+        color: #1A1A1A;
+        padding: .1rem 0;
+        margin-right: .1rem;
+    }
+    .content {
+        padding-top: .1rem;
+        font-size: .15rem;
+        color: #666666;
+    }
+}
+</style>

+ 15 - 7
src/views/app/ExchangeRecord.vue

@@ -7,16 +7,16 @@
             finished-text="我是有底线的"
             @load="getAccountDetail">
             <van-cell-group>
-                <van-cell  v-for="i in 5" :key="i" :center="true">
+                <van-cell  v-for="(item, index) in dataList" :key="index" :center="true">
                     <template slot="title">
-                        <p class="exchangeText">兑换2000小时</p>
+                        <p class="exchangeText">兑换{{ item.transMinutes }}</p>
                     </template>
                     <template slot="label">
-                        <p class="info">02-28 18:18</p>
+                        <p class="info">{{ item.createTime }}</p>
                     </template>
                     <template slot="default">
-                        <p class="exchangeText enum">+2000</p>
-                        <p class="info">剩余2020小时</p>
+                        <p class="exchangeText enum">+{{ item.transMinutes }}</p>
+                        <p class="info">剩余{{ item.totalAvailableMinutes }}</p>
                     </template>
                 </van-cell>
             </van-cell-group>
@@ -28,7 +28,7 @@
 /* eslint-disable */
 import MHeader from '@/components/MHeader'
 import MEmpty from '@/components/MEmpty'
-import { browser }  from '@/common/common'
+import { browser, calcMinute }  from '@/common/common'
 import { queryTenantAccountDetail } from '@/api/app'
 
 export default {
@@ -69,7 +69,12 @@ export default {
                 this.loading = false
                 if(result.code == 200) {
                     params.page = result.data.pageNo
-                    this.dataList = this.dataList.concat(result.data.rows)
+                    let tempResult = result.data.rows ? result.data.rows : []
+                    tempResult.forEach(item => {
+                        item.totalAvailableMinutes = calcMinute(item.totalAvailableMinutes)
+                        item.transMinutes = calcMinute(item.transMinutes)
+                    })
+                    this.dataList = this.dataList.concat(tempResult)
                     if(params.page >= result.data.totalPage) {
                         this.finished = true
                     }
@@ -102,5 +107,8 @@ export default {
         font-size: .14rem;
         color: #808080;
     }
+    /deep/.van-cell {
+        padding: .14rem .16rem;
+    }
 }
 </style>

+ 74 - 0
src/views/app/HelpCenter.vue

@@ -0,0 +1,74 @@
+<template>
+    <div class="help">
+        <m-header v-if="headerStatus" />
+        <van-collapse v-if="dataList.length > 0" v-model="activeNames" accordion>
+            <van-collapse-item v-for="(item, index) in dataList" :key="index" title="标题1" name="1">内容</van-collapse-item>
+        </van-collapse>
+        <m-empty class="empty" v-else key="data" />
+    </div>
+</template>
+<script>
+/* eslint-disable */
+import MHeader from '@/components/MHeader'
+import MEmpty from '@/components/MEmpty'
+import { browser, calcMinute }  from '@/common/common'
+import { helpCenterContentList } from '@/api/app'
+export default {
+    name: 'courseApply',
+    components: { MHeader, MEmpty },
+    data() {
+        return {
+            headerStatus: true,
+            activeNames: ['1'],
+            dataList: []
+        }
+    },
+    mounted() {
+        let params = this.$route.query
+        if(params.Authorization) {
+            localStorage.setItem('Authorization', decodeURI(params.Authorization))
+            localStorage.setItem('userInfo', decodeURI(params.Authorization))
+        }
+        
+        document.title = '帮助中心'
+        if(browser().android || browser().iPhone) {
+            this.headerStatus = false
+        }
+
+        this.__init()
+    },
+    methods: {
+        __init() {
+            helpCenterContentList().then(res => {
+                let result = res.data
+                if(result.code == 200) {
+                    this.dataList = result.data
+                } else {
+                    this.$toast(result.msg)
+                }
+            })
+        }
+    },
+    destroyed() {
+        this.$toast.clear()
+    }
+}
+</script>
+<style lang='less' scoped>
+@import url("../../assets/commonLess/variable.less");
+.help {
+    min-height: 100vh;
+}
+/deep/.van-collapse {
+    margin: .15rem 0;
+    /deep/.van-cell {
+        color: #1A1A1A;
+        font-size: .17rem;
+        padding: .15rem .16rem;
+    }
+    /deep/.van-collapse-item__content {
+        font-size: .14rem;
+        color: #808080;
+    }
+}
+</style>

+ 1 - 17
src/views/audition/ManageEvaluation.vue

@@ -63,29 +63,13 @@
                 </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 },
+    components: { MHeader },
     data () {
         return {
             dateSection: {

+ 1 - 0
src/views/teacher/reportDetailNew.vue

@@ -213,6 +213,7 @@
   </div>
 </template>
 <script>
+/* eslint-disable */
 import { browser } from "@/common/common";
 import { studyReport, getReviewsInfo } from "@/api/teacher";
 import { subjectJson } from "@/utils/questionJson";