You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							96 lines
						
					
					
						
							1.9 KiB
						
					
					
				
			
		
		
	
	
							96 lines
						
					
					
						
							1.9 KiB
						
					
					
				| const app = getApp();
 | |
| const navData= [
 | |
|   {
 | |
|     text: "全部",
 | |
|     exercise_status: "all",
 | |
|     course_identities: [2, 5, 6]
 | |
|   },
 | |
|   {
 | |
|     text: '提交中',
 | |
|     exercise_status: 2,
 | |
|     course_identities: [2, 5, 6]
 | |
|   },
 | |
|   {
 | |
|     text: '已截止',
 | |
|     exercise_status: 3,
 | |
|     course_identities: [2, 5, 6]
 | |
|   },
 | |
|   {
 | |
|     text: "未发布",
 | |
|     exercise_status: 1,
 | |
|     course_identities: [2]
 | |
|   }
 | |
| ]
 | |
| Component({
 | |
|   options: {
 | |
|     pureDataPattern: /^_/
 | |
|   },
 | |
|   properties: {
 | |
|     course_id:{
 | |
|       type:Number
 | |
|     },
 | |
|     id_:{
 | |
|       type:Number
 | |
|     },
 | |
|     refresh:{
 | |
|       type:Boolean,
 | |
|       observer:function(v){
 | |
|         if(v) {
 | |
|         this.onPullDownRefresh();
 | |
|         this.setData({ refresh: false });
 | |
|         }
 | |
|       }
 | |
|     }
 | |
|   },
 | |
|   data: {
 | |
|     imgDir: global.config.imgDir,
 | |
|     loading: true,
 | |
|     require_login: false,
 | |
|     page_status: 0,
 | |
|     exercises: [],
 | |
|     current_status: "all",
 | |
|     navList:navData,
 | |
|     currentTab: 0,
 | |
|     navScrollLeft: 0,
 | |
|     user:{}
 | |
|   },
 | |
| 
 | |
|   attached(){
 | |
|     app.api("courses.top_banner")({ course_id: this.data.course_id })
 | |
|       .then(res => {
 | |
|         this.setData({ course: res })
 | |
|         
 | |
|       })
 | |
|     this.pull_exercise();
 | |
|     this.setData({ require_login: false });
 | |
|   },
 | |
|   methods: {
 | |
|     switchNav({detail:{current,value}}){
 | |
|       this.setData({ current_status: value.exercise_status});
 | |
|     },  
 | |
|     pull_exercise: function () {
 | |
|       app.api("courses.exercises")({ course_id: this.data.course_id })
 | |
|         .then(res => {
 | |
|           ;
 | |
|           if (res.exercises) {
 | |
|             this.setData({ exercises: res.exercises, loading: false });
 | |
|           }
 | |
|           
 | |
|         })
 | |
|         .catch(e => {
 | |
|           app.showError(e)
 | |
|         });
 | |
|     },
 | |
|     see_exercise: function ({ currentTarget: { dataset } }) {
 | |
|       app.navigateTo({
 | |
|         url: '{exercise}?exercise_id=' + dataset.exercise_id,
 | |
|       });
 | |
|     },
 | |
|     onPullDownRefresh: function () {
 | |
|       this.pull_exercise();
 | |
|     }
 | |
|   }
 | |
| })
 | |
| 
 | |
| 
 |