y595705120 il y a 3 semaines
Parent
commit
8f9d894364
2 fichiers modifiés avec 225 ajouts et 186 suppressions
  1. 197 165
      src/containers/center/market/index.vue
  2. 28 21
      src/containers/center/market/trainIndex.vue

+ 197 - 165
src/containers/center/market/index.vue

@@ -3,15 +3,15 @@
     <div class="right-block-bd ng-scope" ui-view="myStudyContent" style="position: relative;">
       <div class="panel-tit clear">
         <p class="fl">推荐课程</p>
-        <ul class="fr tips-intro" style="color:royalblue" @mouseover="showTip=true" @mouseleave="showTip=false" >
+        <ul class="fr tips-intro" style="color:royalblue" @mouseover="showTip=true" @mouseleave="showTip=false">
           <li class="fs15 tit">
-            <i class="p-ico questiong-ico" style="margin-right: 0px;"/> 已将近退休年龄,是否还需要参加继续教育?
+            <i class="p-ico questiong-ico" style="margin-right: 0px;" /> 已将近退休年龄,是否还需要参加继续教育?
           </li>
         </ul>
 
-        <div class="fr tip-card" v-show="showTip" >
+        <div class="fr tip-card" v-show="showTip">
           <div class="p20">
-            <h3 >一、建设从业人员:</h3>
+            <h3>一、建设从业人员:</h3>
             <h5 style="margin: 8px;">1、安管人员:</h5>
             <h5 style="margin-left: 16px;">①企业主要负责人(A证):年龄18周岁以上。</h5>
             <h5 style="margin-left: 16px;">②项目负责人(B证):年龄18周岁以上,65周岁以下。</h5>
@@ -27,12 +27,13 @@
       </div>
 
       <el-row class="pt-line mt20">
-        <el-col span="6">
+        <el-col :span="6">
           <el-button :class="{type_active : type==''}" class="type_item" type="text" @click="type=''">所有</el-button>
         </el-col>
 
-        <el-col span="6" v-for="item in typeList"  :key="item.id" v-if="item.isOpen && item.isNew==0 && !item.link">
-          <el-button :class="{type_active:item.name==type }" class="type_item" type="text" @click="type=item.name">{{item.name}} </el-button>
+        <el-col :span="6" v-for="item in typeList" :key="item.id" v-if="item.isOpen && item.isNew==0 && !item.link">
+          <el-button :class="{type_active:item.name==type }" class="type_item" type="text"
+            @click="type=item.name">{{item.name}} </el-button>
         </el-col>
 
 
@@ -43,13 +44,14 @@
         </p>
         <p style="color: red;font-size: 16px;">
           注意:继续教育学员请先下载
-          <a style="color: blue;cursor: hand;" href="https://sm.hqedust.com/cdn/%E7%BB%A7%E7%BB%AD%E6%95%99%E8%82%B2%E5%A7%94%E6%89%98%E5%9F%B9%E8%AE%AD%E3%80%81%E6%89%BF%E8%AF%BA%E5%87%BD.doc">
+          <a style="color: blue;cursor: hand;"
+            href="https://sm.hqedust.com/cdn/%E7%BB%A7%E7%BB%AD%E6%95%99%E8%82%B2%E5%A7%94%E6%89%98%E5%9F%B9%E8%AE%AD%E3%80%81%E6%89%BF%E8%AF%BA%E5%87%BD.doc">
             《继续教育委托培训、承诺函》
           </a>
-            ,填写并加盖单位公章后,在申请开通课程界面上传扫描件、并缴费
+          ,填写并加盖单位公章后,在申请开通课程界面上传扫描件、并缴费
         </p>
       </div>
-<!-- 	  <div class="mt10" v-if="type=='燃气经营企业'">
+      <!-- 	  <div class="mt10" v-if="type=='燃气经营企业'">
 	    <p style="color: red;font-size: 16px;">
 	      注意:继续教育学员请先下载
 	      <a style="color: blue;cursor: hand;" href="https://sm.hqedust.com/cdn/%E7%87%83%E6%B0%94%E4%BA%BA%E5%91%98%E4%BA%BA%E5%91%98%E5%B2%97%E4%BD%8D%E7%BB%A7%E7%BB%AD%E6%95%99%E8%82%B2%E5%A7%94%E6%89%98%E5%9F%B9%E8%AE%AD%E3%80%81%E6%89%BF%E8%AF%BA%E5%87%BD.doc">
@@ -61,22 +63,24 @@
 
 
       <ul class="pt-line mt20" v-if="ndList.length>1">
-        <li style="float: left;font-size: 16px;margin: 4px;padding: 4px;" >
-            <span>课程年度:</span>
+        <li style="float: left;font-size: 16px;margin: 4px;padding: 4px;">
+          <span>课程年度:</span>
+        </li>
+        <li style="float: left;">
+          <span :class="{type_active:nd==''}" class="nav-btn-years" @click="nd=''">所有</span>
         </li>
         <li v-for="item in ndList" style="float: left;">
-          <span :class="{active:item==nd }" class="nav-btn-years" @click="nd=item">{{item}} </span>
+          <span :class="{type_active:item==nd }" class="nav-btn-years" @click="nd=item">{{item}} </span>
         </li>
         <li style="float: left;">
-          <input type="text" style="line-height: 1;padding: 10px"
-            v-model="filterName"
-            class="ui-ipt ng-pristine ng-valid filterName"
-            placeholder="输入名字查找">
+          <input type="text" style="line-height: 1;padding: 10px" v-model="filterName"
+            class="ui-ipt ng-pristine ng-valid filterName" placeholder="输入名字查找">
         </li>
       </ul>
 
       <ul class="m-course-list clear mt10 classlist">
-        <li v-for="(item,index) in list.slice(page*size-size, page*size)" :key="item.course_id" class="pt-sola mt20 pb10">
+        <li v-for="(item,index) in list.slice(page*size-size, page*size)" :key="item.course_id"
+          class="pt-sola mt20 pb10">
           <div>
             <span v-if="item.isFinish==1" class="p-ico2 ico-passed"></span>
             <div class="img">
@@ -89,14 +93,17 @@
                   等待审核
                 </span>
                 <span v-else-if="item.is_pay==2" style="background-color: #78335F;">申请驳回</span>
-                <span v-else-if="!item.is_pass" style="background-color: blue;padding: 2px;border-radius: 2px;">在学习中</span>
+                <span v-else-if="!item.is_pass"
+                  style="background-color: blue;padding: 2px;border-radius: 2px;">在学习中</span>
                 <span v-else style="background-color: green;padding: 2px;border-radius: 2px;">已经完成</span>
               </div>
 
               <div class="hover-block">
                 <div class="mask-bg"></div>
-                <el-button @click="gotoPlay(item.course_id)" v-if="item.is_pay==1" class="ui-btn btn-blue">进入学习</el-button>
-                <el-button @click="goPay(item)" v-else-if="item.is_pay==2 || !!item.buyImg" class="ui-btn btn-w">补充材料</el-button>
+                <el-button @click="gotoPlay(item.course_id)" v-if="item.is_pay==1"
+                  class="ui-btn btn-blue">进入学习</el-button>
+                <el-button @click="goPay(item)" v-else-if="item.is_pay==2 || !!item.buyImg"
+                  class="ui-btn btn-w">补充材料</el-button>
                 <el-button @click="goPay(item)" v-else-if="item.payErr" class="ui-btn btn-gr">申请购买</el-button>
                 <el-button @click="goPay(item)" v-else class="ui-btn btn-o">购买课程</el-button>
 
@@ -123,19 +130,15 @@
         <span style="color: red;padding:40px;font-size: 26px;">已经最后一页了</span>
       </div>
 
-      <el-pagination class="m-pages"
-        @current-change="(page)=>{this.page=page}"
-        :current-page="page"
-        :page-size="size"
-        layout="total, prev, pager, next"
-        :total="list.length">
+      <el-pagination class="m-pages" @current-change="(page)=>{this.page=page}" :current-page="page" :page-size="size"
+        layout="total, prev, pager, next" :total="list.length">
       </el-pagination>
 
     </div>
 
-    <el-dialog title="申请开通课程"  :visible.sync="buyCourseDialog"
-    width="850px" top="20px" align="center">
-      <el-form label-width="80px" label-position="right" :inline="true" :model="buyForm" status-icon :rules="rules" ref="elForm">
+    <el-dialog title="申请开通课程" :visible.sync="buyCourseDialog" width="850px" top="20px" align="center">
+      <el-form label-width="80px" label-position="right" :inline="true" :model="buyForm" status-icon :rules="rules"
+        ref="elForm">
         <el-row align="left">
           <el-col :lg="12" class="pl20 pr20">
             <el-form-item lable="报考岗位" prop="courseName">
@@ -147,15 +150,15 @@
           <el-col :lg="12" class="pl20 pr20">
             <el-form-item lable="证书编号" prop="rzCode">
               <label slot="label">证书编号</label>
-              <el-input v-model="buyForm.rzCode" type="text" style="width: 260px;" >
+              <el-input v-model="buyForm.rzCode" type="text" style="width: 260px;">
                 <template #suffix>
-                   <el-button @click="openShowAllRzcodeDialog"  type="text">修改</el-button>
+                  <el-button @click="openShowAllRzcodeDialog" type="text">修改</el-button>
                 </template>
               </el-input>
             </el-form-item>
           </el-col>
 
-<!--          <el-row>
+          <!--          <el-row>
             <span style="color: red;padding:10px"> 请认真核实报考岗位与证书编号,本课程不支持退款</span>
           </el-row> -->
 
@@ -170,43 +173,45 @@
           <el-col :span="12" class="pl20 pr20">
             <el-form-item lable="订单号" prop="payNo">
               <label slot="label">订单编号</label>
-              <el-input v-model="buyForm.payNo" placeholder="输入订单编号后6位" style="width: 260px;" :minlength="6" :maxlength="6" show-word-limit ></el-input>
+              <el-input v-model="buyForm.payNo" placeholder="输入订单编号后6位" style="width: 260px;" :minlength="6"
+                :maxlength="6" show-word-limit></el-input>
             </el-form-item>
           </el-col>
         </el-row>
-         <el-row>
-           <el-col :span="12" class="pl20 pr20">
-             <el-form-item lable="工作单位" prop="company">
-               <label slot="label">工作单位</label>
-               <el-input v-model="buyForm.company" type="textarea" placeholder="工作单位" style="width: 260px;"></el-input>
-             </el-form-item>
-           </el-col>
+        <el-row>
+          <el-col :span="12" class="pl20 pr20">
+            <el-form-item lable="工作单位" prop="company">
+              <label slot="label">工作单位</label>
+              <el-input v-model="buyForm.company" type="textarea" placeholder="工作单位" style="width: 260px;"></el-input>
+            </el-form-item>
+          </el-col>
           <el-col :span="12" class="pl20 pr20">
             <el-form-item lable="备注信息" prop="marks">
               <label slot="label">备注信息</label>
-              <el-input v-model="buyForm.marks" type="textarea" placeholder="姓名+工种名称,例:张三+土建施工员" style="width: 260px;"></el-input>
+              <el-input v-model="buyForm.marks" type="textarea" placeholder="姓名+工种名称,例:张三+土建施工员"
+                style="width: 260px;"></el-input>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row v-if="hasPromise(type)">
-            <div style="width: 700px;margin: 0 auto;text-align: left;color: red;">
-              提示:继续教育承诺函企业名称应与个人报名系统企业名称一致,如已变更单位的,
+          <div style="width: 700px;margin: 0 auto;text-align: left;color: red;">
+            提示:继续教育承诺函企业名称应与个人报名系统企业名称一致,如已变更单位的,
             请先在个人系统帐号设置进入额外信息栏进行修改工作单位与报名承诺函工作单位相符后方可上传承诺函确认
-            </div>
-           <img :src="buyForm.buyImg" :onerror="errorImg" style="width: 160px;text-align: center;">
-           <do-upload @onFinish="(url)=>{buyForm.buyImg=url}" placeholder="上传承诺书" width="160px"> </do-upload>
+          </div>
+          <img :src="buyForm.buyImg" :onerror="errorImg" style="width: 160px;text-align: center;">
+          <do-upload @onFinish="(url)=>{buyForm.buyImg=url}" placeholder="上传承诺书" width="160px"> </do-upload>
         </el-row>
 
 
         <el-row>
           <h2 class="tc"> 本课程费用: <strong style="color: red;"> {{buyForm.fee/100}} 元 </strong> </h2>
           <div style="width: 300px; margin: 0px auto;">
-            <img src="/static/images/wxpay.jpg"   width="300px" @click="showImg(buyForm.buyImg)">
+            <img src="/static/images/wxpay.jpg" width="300px" @click="showImg(buyForm.buyImg)">
           </div>
         </el-row>
 
-         <el-row class="tc fc">
-          <el-form-item >
+        <el-row class="tc fc">
+          <el-form-item>
             <el-button @click="cancelBuyCourse">取 消</el-button>
             <el-button @click="buyCourse" type="primary">确 定</el-button>
           </el-form-item>
@@ -218,54 +223,55 @@
 
 
     <el-dialog :title="promiseType[promise.showType]" class="fc tc" :visible.sync="commitmentDialog">
+      <div>
         <div>
-          <div>
-            <div class="commitment-header"> {{promise.title}} </div>
-            <div class="tl commitment">
-                {{promise.content}}
-            </div>
-            <div class="commitment-footer">
-              {{promise.footer}}
-            </div>
+          <div class="commitment-header"> {{promise.title}} </div>
+          <div class="tl commitment">
+            {{promise.content}}
           </div>
-
-          <div class="tl commitment-content mt20" v-if="promise.showType==2">
-            <el-radio-group v-model="isCommitment">
-              <el-row class="mt10">
-                <el-radio :label="true">本人作出上述承诺</el-radio>
-              </el-row>
-              <el-row class="mt10">
-                <el-radio :label="false">本人不作出上述承诺</el-radio>
-              </el-row>
-            </el-radio-group>
+          <div class="commitment-footer">
+            {{promise.footer}}
           </div>
+        </div>
 
-          <span slot="footer" class="dialog-footer" v-if="promise.showType==2">
-            <el-button @click="commitmentDialog = false">取 消</el-button>
-            <el-button type="primary" :disabled="isCommitment?false:true" @click="buyCourseDialog=true">确 定</el-button>
-          </span>
+        <div class="tl commitment-content mt20" v-if="promise.showType==2">
+          <el-radio-group v-model="isCommitment">
+            <el-row class="mt10">
+              <el-radio :label="true">本人作出上述承诺</el-radio>
+            </el-row>
+            <el-row class="mt10">
+              <el-radio :label="false">本人不作出上述承诺</el-radio>
+            </el-row>
+          </el-radio-group>
+        </div>
 
-          <div slot="footer" class="dialog-footer mt20" v-else>
-            <el-button @click="commitmentDialog = false">取 消</el-button>
-            <el-button type="primary"  @click="buyCourseDialog=true">继续购买</el-button>
-          </div>
+        <span slot="footer" class="dialog-footer" v-if="promise.showType==2">
+          <el-button @click="commitmentDialog = false">取 消</el-button>
+          <el-button type="primary" :disabled="isCommitment?false:true" @click="buyCourseDialog=true">确 定</el-button>
+        </span>
+
+        <div slot="footer" class="dialog-footer mt20" v-else>
+          <el-button @click="commitmentDialog = false">取 消</el-button>
+          <el-button type="primary" @click="buyCourseDialog=true">继续购买</el-button>
         </div>
+      </div>
     </el-dialog>
 
-    <el-dialog append-to-body close-on-click-modal :visible.sync="showImgDialog" style="margin-top: 0px;" :width="width">
+    <el-dialog append-to-body close-on-click-modal :visible.sync="showImgDialog" style="margin-top: 0px;"
+      :width="width">
       <img :src="imgUrl" @load="onLoad" alt="" />
     </el-dialog>
 
     <el-dialog append-to-body close-on-click-modal :visible.sync="showAllRzcodeDialog" width="1024">
-      <el-table v-if="buyForm.list.length>0" :data="buyForm.list" border >
+      <el-table v-if="buyForm.list.length>0" :data="buyForm.list" border>
         <el-table-column label="证书编号" prop="certificateNum" align="center" />
-        <el-table-column label="岗位名称" prop="positionName"  align="center" />
-        <el-table-column label="证书状态" prop="certificateStatus"  align="center" />
-        <el-table-column label="发证机关" prop="certificateOrgan"  align="center" />
+        <el-table-column label="岗位名称" prop="positionName" align="center" />
+        <el-table-column label="证书状态" prop="certificateStatus" align="center" />
+        <el-table-column label="发证机关" prop="certificateOrgan" align="center" />
         <el-table-column label="发证时间" prop="startTime" align="center" />
-        <el-table-column label="选择" prop="reviewTime"  align="center">
+        <el-table-column label="选择" prop="reviewTime" align="center">
           <template slot-scope="{row}">
-              <el-button  @click="selectRzcode(row)" type="primary">选择</el-button>
+            <el-button @click="selectRzcode(row)" type="primary">选择</el-button>
           </template>
         </el-table-column>
       </el-table>
@@ -305,29 +311,36 @@
         showTip: false,
         width: "",
         type: '',
-        filterName:'',
+        filterName: '',
         list: [],
-        nd: new Date().getFullYear()+'',
-        ndList:[],
-        allList:[],
+        nd: new Date().getFullYear() + '',
+        ndList: [],
+        allList: [],
         isCommitment: "",
         buyCourseDialog: false,
         showExample: false,
         showImgDialog: false,
         showAllRzcodeDialog: false,
-        promiseType:{1:'温馨提示', 2:'承诺书',  3:'委 托 书'},
+        promiseType: {
+          1: '温馨提示',
+          2: '承诺书',
+          3: '委 托 书'
+        },
         buyForm: {
           marks: '',
           rzCode: '',
-          payNo:'',
-          email:'',
-          company:'',
-          buyImg:'',
-          name:'',
+          payNo: '',
+          email: '',
+          company: '',
+          buyImg: '',
+          name: '',
           courseName: '',
-          list:[]
+          list: []
+        },
+        promise: {
+          status: 0,
+          showType: 1
         },
-        promise:{status:0,showType:1},
         imgUrl: '',
         qrcodeUrl: "",
         outTradeNo: "",
@@ -344,18 +357,14 @@
             required: true,
             message: '请输入证书编号'
           }],
-          payNo:[
-            {
-              required: true,
-              message: '请输入订单编号后六位'
-            }
-          ],
-          marks:[
-            {
-              required: true,
-              message: '请输入备注信息'
-            }
-          ],
+          payNo: [{
+            required: true,
+            message: '请输入订单编号后六位'
+          }],
+          marks: [{
+            required: true,
+            message: '请输入备注信息'
+          }],
           email: [{
               required: true,
               message: '请输入有效邮箱'
@@ -397,13 +406,14 @@
     watch: {
       type(val) {
         this.page = 1
-        this.nd = new Date().getFullYear()+''
-        this.getData()
+        this.nd = new Date().getFullYear() + ''
+        this.filterData()
       },
-      nd(val){
+      nd(val) {
         this.filterData()
       },
-      filterName(){
+      filterName() {
+        this.page = 1
         this.filterData()
       },
       isCommitment(val) {
@@ -411,7 +421,7 @@
       }
     },
     beforeMount() {
-      this.type = this.$route.query.type||''
+      this.type = this.$route.query.type || ''
       this.getData();
     },
 
@@ -435,75 +445,95 @@
         }
         this.width = width + "px";
       },
-      matchPromise( name ){
+      matchPromise(name) {
         let type = this.type;
         let isMatch = false
-        for( let i in this.promiseList){
+        for (let i in this.promiseList) {
           let item = this.promiseList[i];
-          if( name == item.type || item.type == type ){
-            this.promise = Object.assign( this.promise, item);
+          if (name == item.type || item.type == type) {
+            this.promise = Object.assign(this.promise, item);
             console.log("promise", this.promise);
             isMatch = true
-          } else if( !isMatch && item.type == '默认类型'){
-            this.promise = Object.assign( this.promise, item);
+          } else if (!isMatch && item.type == '默认类型') {
+            this.promise = Object.assign(this.promise, item);
           }
         }
       },
       getData() {
-        let type = this.type||'';
         let param = {
-          size: 100,
-          type,
+          size: 1000,
+          trainType: 2,
           from: 0
         }
-        if(type == ''){
-          param.trainType = 2
-        }
         httpServer("course.getcoursemarket", param).then((res) => {
           if (res.code == 200) {
             this.allList = res.data.list;
-            this.ndList = [];
-            for( let i in this.allList ){
-              let nd = this.allList[i].nd;
-              if(this.ndList.indexOf( nd ) == -1 ) this.ndList.push( nd );
-            }
             this.filterData()
           }
         });
       },
-      filterData(){
-        let nd = this.nd;
-        let filterName = this.filterName;
-        this.list = this.allList.filter( res=>{
-          return res.nd == nd && res.name.indexOf(filterName)>-1;
-        })
+      filterData() {
+        let nd = this.nd || '';
+        let filterName = this.filterName || '';
+        let type = this.type || ''
+        this.ndList = [];
+        this.list = [];
+        for (let i in this.allList) {
+          let item = this.allList[i];
+          if (type && item.type != type) continue;
+          if (this.ndList.indexOf(item.nd) == -1) {
+            this.ndList.push(item.nd);
+          }
+          if (filterName && item.name.indexOf(filterName) == -1) continue;
+          if (nd && item.nd != nd) continue;
+          this.list.push(item)
+        }
       },
-      cancelBuyCourse(){
+      cancelBuyCourse() {
         this.$refs["elForm"].resetFields();
-        this.buyCourseDialog=false
+        this.buyCourseDialog = false
         this.commitmentDialog = false;
       },
-      openShowAllRzcodeDialog(){
+      openShowAllRzcodeDialog() {
         this.showAllRzcodeDialog = true;
       },
-      selectRzcode( row ){
+      selectRzcode(row) {
         this.buyForm.rzCode = row.certificateNum;
         this.showAllRzcodeDialog = false;
       },
       buyCourse() {
         this.$refs["elForm"].validate((valid) => {
           if (!valid) return;
-          let { marks, company, payNo, course_id, courseName, rzCode, name,  email, buyImg} = this.buyForm;
+          let {
+            marks,
+            company,
+            payNo,
+            course_id,
+            courseName,
+            rzCode,
+            name,
+            email,
+            buyImg
+          } = this.buyForm;
           if (courseName != name) {
             this.$message.errorMsg("报考岗位有误", 1)
             return;
           }
-          let param = { marks, payNo, company,courseId: course_id, courseName,rzCode,email,buyImg }
+          let param = {
+            marks,
+            payNo,
+            company,
+            courseId: course_id,
+            courseName,
+            rzCode,
+            email,
+            buyImg
+          }
           httpServer("course.buyCourse", param).then((res) => {
             if (res.code == 200) {
               this.$message.successMsg("申请购买成功", 1);
               this.buyForm.temp.marks = this.buyForm.marks
-              Object.assign( this.buyForm.temp, param);
+              Object.assign(this.buyForm.temp, param);
               this.$refs["elForm"].resetFields();
               this.buyForm.temp.is_pay = 0
               this.buyCourseDialog = false;
@@ -518,24 +548,24 @@
       uploadBuyImg(url) {
         this.buyForm.buyImg = url;
       },
-      hasPromise( type ){
-          return type == '施工现场专业人员'
+      hasPromise(type) {
+        return type == '施工现场专业人员'
       },
-      hasNotice(){
-        return this.buyForm.name =='施工现场电焊工'
+      hasNotice() {
+        return this.buyForm.name == '施工现场电焊工'
       },
-      testBuyOK(item){
+      testBuyOK(item) {
         this.stage = 2;
         this.isCompanyPay = 1;
-        this.isCommitment=''
+        this.isCommitment = ''
         this.buyForm.rzCode = item.rzCode;
         this.buyForm.company = 'ssss';
         this.buyForm.name = item.courseName;
         // let isEdu = this.hasPromise(item.type);
-        if( this.promise.status ==1){
+        if (this.promise.status == 1) {
           this.commitmentDialog = true;
           this.buyCourseDialog = false;
-        }else{
+        } else {
           this.buyCourseDialog = true;
           this.commitmentDialog = false;
         }
@@ -547,12 +577,12 @@
         //   this.commitmentDialog = false;
         // }
       },
-      goPay( item ) {
+      goPay(item) {
         this.buyForm = Object.assign(this.buyForm, item)
         this.buyForm.company = this.userInfo.company;
         this.buyForm.temp = item;
         this.buyForm.courseName = item.name;
-        this.matchPromise( item.name );
+        this.matchPromise(item.name);
         // this.testBuyOK(item)
         // return;
         // 检查
@@ -563,16 +593,16 @@
           if (res.code == 200) {
             this.stage = 2;
             this.isCompanyPay = 0;
-            this.isCommitment=''
-            Object.assign( this.buyForm, res.data);
-            if( this.promise.status ==1){
+            this.isCommitment = ''
+            Object.assign(this.buyForm, res.data);
+            if (this.promise.status == 1) {
               this.commitmentDialog = true;
               this.buyCourseDialog = false;
-            }else{
+            } else {
               this.buyCourseDialog = true;
               this.commitmentDialog = false;
             }
-          }else{
+          } else {
             console.log("payErr")
             item.payErr = true;
           }
@@ -583,7 +613,7 @@
       },
       handleCurrentChange(page) {
         this.page = page;
-        this.getData()
+        this.filterData()
       }
     },
   };
@@ -621,21 +651,23 @@
   .commitment-content {
     font-size: 16px;
   }
-  .tip-card{
+
+  .tip-card {
     border-radius: 20px;
-    font-size:14px;
+    font-size: 14px;
     float: right;
     width: 420px;
     right: 20px;
     position: absolute;
-    top:50px;
+    top: 50px;
     color: white;
-    background-color: #7fbae4 ;
+    background-color: #7fbae4;
     z-index: 1000;
   }
+
   .tips-intro {
-      color: #468cf2;
-      cursor: pointer;
-      position: relative;
+    color: #468cf2;
+    cursor: pointer;
+    position: relative;
   }
 </style>

+ 28 - 21
src/containers/center/market/trainIndex.vue

@@ -27,10 +27,10 @@
       </div>
 
       <el-row class="pt-line mt20">
-        <el-col span="4">
+        <el-col :span="4">
           <el-button :class="{type_active : type==''}" class="type_item" type="text" @click="type=''">所有</el-button>
         </el-col>
-        <el-col span="4" v-for="item in typeList"  :key="item.id" v-if="item.isOpen && item.isNew==1">
+        <el-col :span="4" v-for="item in typeList"  :key="item.id" v-if="item.isOpen && item.isNew==1">
           <el-button :class="{type_active:item.name==type }" class="type_item" type="text" @click="type=item.name">{{item.name}} </el-button>
         </el-col>
       </el-row>
@@ -53,8 +53,12 @@
             <span>课程年度:</span>
         </li>
 
+        <li  style="float: left;">
+          <span :class="{type_active:nd==''}" class="nav-btn-years" @click="nd=''">所有</span>
+        </li>
+
         <li v-for="item in ndList" style="float: left;">
-          <span :class="{active:item==nd }" class="nav-btn-years" @click="nd=item">{{item}} </span>
+          <span :class="{type_active:item==nd }" class="nav-btn-years" @click="nd=item">{{item}} </span>
         </li>
 
         <li style="float: left;">
@@ -377,12 +381,13 @@
       type(val) {
         this.page = 1
         this.nd = new Date().getFullYear()+''
-        this.getData()
+        this.filterData()
       },
       nd(){
         this.filterData()
       },
       filterName(){
+        this.page = 1
         this.filterData()
       },
       isCommitment(val) {
@@ -414,33 +419,35 @@
         this.width = width + "px";
       },
       getData() {
-        let type = this.type || '';
         let param = {
-          size: 100,
-          type,
+          size: 1000,
+          trainType: 1,
           from: 0
         }
-        if(type == ''){
-          param.trainType = 1
-        }
         httpServer("course.getcoursemarket", param).then((res) => {
           if (res.code == 200) {
             this.allList = res.data.list;
-            this.ndList = [];
-            for( let i in this.allList ){
-              let nd = this.allList[i].nd;
-              if(this.ndList.indexOf( nd ) == -1 ) this.ndList.push( nd );
-            }
             this.filterData()
           }
         });
       },
       filterData(){
-        let nd = this.nd;
-        let filterName = this.filterName;
-        this.list = this.allList.filter( res=>{
-          return res.nd == nd && res.name.indexOf(filterName)>-1;
-        })
+        let nd = this.nd||'';
+        let filterName = this.filterName||'';
+        let type = this.type||''
+        this.ndList = [];
+        this.list  = [];
+        for(let i in this.allList){
+          let item = this.allList[i];
+          if( type && item.type != type) continue;
+          if(this.ndList.indexOf(item.nd) == -1){
+            this.ndList.push(item.nd);
+          }
+          if(filterName && item.name.indexOf(filterName) == - 1) continue;
+          if(nd  && item.nd != nd ) continue;
+          this.list.push(item)
+        }
+
       },
       cancelBuyCourse(){
         this.$refs["elForm"].resetFields();
@@ -524,7 +531,7 @@
       },
       handleCurrentChange(page) {
         this.page = page;
-        this.getData()
+        this.filterData()
       },
       login(param) {
         httpServer("Auth.LoginStudy", param).then(res => {