Browse Source

新增年级选择

limengbo 4 years ago
parent
commit
ae4f15bfce
5 changed files with 92 additions and 12 deletions
  1. 2 1
      config/dev.env.js
  2. 2 1
      config/prod.env.js
  3. 29 0
      src/api/skill.js
  4. 42 9
      src/pages/skill/Skill.vue
  5. 17 1
      src/store/modules/skill.js

+ 2 - 1
config/dev.env.js

@@ -17,7 +17,8 @@ module.exports = {
   ali_API: '"https://ali-audio-skill.ai160.com/audio"',
   XYYF_API: '"http://xyyf-api.ai160.com"',
   EFUN_API: '"http://ott80-api.ai160.com"',
-  OPPO_API: '"http://xxtbfd-api.ai160.com"'
+  OPPO_API: '"http://xxtbfd-api.ai160.com"',
+  BAIDU_API: '"http://bd-audioskill.efunbox.cn:81"'
 }
 
 

+ 2 - 1
config/prod.env.js

@@ -6,5 +6,6 @@ module.exports = {
   ali_API: '"https://ali-audio-skill.ai160.com/audio"',
   XYYF_API: '"http://xyyf-api.ai160.com"',
   EFUN_API: '"http://ott80-api.ai160.com"',
-  OPPO_API: '"http://xxtbfd-api.ai160.com"'
+  OPPO_API: '"http://xxtbfd-api.ai160.com"',
+  BAIDU_API: '"https://baidu-audio-skill.ai160.com"'
 }

+ 29 - 0
src/api/skill.js

@@ -118,3 +118,32 @@ export function getOppoData (params) {
 
 }
 
+export function getBaiduCourseList (subjectEnum) {
+ 
+  return service({
+    url: `${process.env.BAIDU_API}/audio/statistics/getSimpleCourseList`,
+    method: 'get',
+    params: {
+      subjectEnum
+    }
+  })
+
+
+}
+
+export function getBaiduData (params) {
+ 
+  console.log(123123123,params)
+  return service({
+    url: `${process.env.BAIDU_API}/audio/statistics/simpleCourse`,
+    method: 'get',
+    params: {
+      courseId: params.classId,
+      startDate: params.startDate,
+      endDate: params.endDate,
+    }
+  })
+
+
+}
+

+ 42 - 9
src/pages/skill/Skill.vue

@@ -32,7 +32,7 @@
             :rules="[{ required: true, message: '请选择技能', trigger: 'blur' }]"
           >
           <!-- 兼容小度在家和学有义方不同的返回内容 -->
-            <el-select v-model="skillParams.skillId" placeholder="请选择技能" style="width:160px">
+            <el-select v-model="skillParams.skillId" placeholder="请选择技能" @change="skillChange" style="width:160px">
               <el-option
                 v-for="item in skillList"
                 :key="item.skillId || item.skillId === 0 ? item.skillId : item.id" 
@@ -41,7 +41,23 @@
               ></el-option>
             </el-select>
           </el-form-item>
-
+          <el-form-item
+            class="pruductForm-skill"
+            prop="classId"
+            label="年级选择"
+            v-if="skillParams.skillId === 0 || skillParams.skillId === 3"
+            :rules="[{ required: true, message: '请选择年级', trigger: 'blur' }]"
+          >
+          <!-- 兼容小度在家和学有义方不同的返回内容 -->
+            <el-select v-model="skillParams.classId" placeholder="请选择年级" style="width:160px">
+              <el-option
+                v-for="item in baiduCourseList"
+                :key="item.id"
+                :label="item.name"
+                :value="item.id"
+              ></el-option>
+            </el-select>
+          </el-form-item>
           <el-form-item class="dateForm-skill" name="data" label="查询日期" style="display:flex">
             <el-date-picker
               style="width:140px"
@@ -208,6 +224,7 @@
 <script>
 import { mapGetters } from "vuex";
 import formatDate from "../../utils/formatTime";
+import {  getBaiduCourseList } from '../../api/skill'
 export default {
   data() {
     return {
@@ -217,7 +234,8 @@ export default {
         skillId: "",
         startDate: "",
         endDate: "",
-        channel: ""
+        channel: "",
+        classId: ""
       },
       channelList: "",
       skillChanneList: [
@@ -227,10 +245,7 @@ export default {
         { title: "OPPO-小学同步辅导", code: "6001" }
 
       ],
-      rules: {
-        channel: [{ required: true, trigger: "blur" }],
-        skillId: [{ required: true, trigger: "blur" }]
-      }
+      baiduCourseList: []
     };
   },
   computed: {
@@ -261,10 +276,10 @@ export default {
         if (valid) {
           if(this.skillParams.channel === '6001'){
           this.$store.dispatch("getOppoData", this.skillParams);
-
+          } else if(this.skillParams.skillId === 0 || this.skillParams.skillId === 3){
+          this.$store.dispatch("getBaiduData", this.skillParams);
           }else{
           this.$store.dispatch("getSkillData", this.skillParams);
-
           }
         } else {
           console.log("error submit!!");
@@ -297,6 +312,24 @@ export default {
       this.skillParams.skillId = "";
       this.$store.dispatch("getSkillList", val);
     },
+    skillChange(val) {
+      this.skillParams.classId = ''
+      if (val === 0) {
+        getBaiduCourseList('CHINESE').then(res => {
+          this.baiduCourseList = [{
+            name: '全部',
+            id: 100
+          }, ...res.data]
+        })
+      } else if (val === 3) {
+        getBaiduCourseList('MATH').then(res => {
+           this.baiduCourseList = [{
+            name: '全部',
+            id: 101
+          }, ...res.data]
+        })
+      }
+    },
     columnZero() {
       return "0";
     },

+ 17 - 1
src/store/modules/skill.js

@@ -1,7 +1,8 @@
 import {
   getSkillList,
   getSkillData,
-  getOppoData
+  getOppoData,
+  getBaiduData
 } from '../../api/skill'
 
 const skill = {
@@ -74,6 +75,21 @@ const skill = {
         })
       })
     },
+    getBaiduData({
+      commit
+    },data) {
+      return new Promise((resolve, reject) => {
+        getBaiduData(data).then(res => {
+          console.log(res.data)
+          if (res.code == 200) {
+            resolve(res.data);
+            commit('GET_SKILL_DATA', res.data)
+          }
+        }).catch(error => {
+          reject(error);
+        })
+      })
+    }
   }
 }