123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281 |
- const util = require('../../../utils/util.js');
- import * as echarts from '../../../components/ec-canvas/echarts.js';
- const app = getApp();
- Page({
- data: {
- indexs:{
- child:0,
- activity:0,
- video: null,
- videoParent: null
- },
- noData: false,
- childs:[],
- activity:[],
- actives: [],
- list: [],
- ec: {
- lazyLoad: true // 延迟加载
- }
- },
- onShow() {
- this.getChild();
- },
- getChild(){
- let that = this;
- util.ajax({
- func: "user/childs",
- load: false
- }, function (res) {
- if (res.code == 0) {
- that.setData({ childs: res.data, noData: res.data.length > 0 ? true : false });
- if (!util.isObjEmpty(that.data.childs)) that.getActivity();
- }else {
- util.showTips(res.reason);
- }
- });
- },
- getActivity() {
- let that = this;
- util.ajax({
- func: "v2/child/camps",
- data: { "cardNo": that.data.childs[that.data.indexs.child].cardNo, "cardType": that.data.childs[that.data.indexs.child].cardType },
- load: false
- }, function (res) {
- if (res.code == 0) {
- if (!util.isObjEmpty(res.data)){
- that.setData({ activity: res.data, noData: true });
- that.getInfo();
- }else{
- that.setData({ activity: res.data, info: null, list: [], noData: false });
- }
- that.jsonDataArr();
- } else {
- util.showTips(res.reason);
- }
- });
- },
- jsonDataArr() {
- let self = this, arr = [];
- for (var i = 0; i < self.data.activity.length; i++) {
- arr.push(self.data.activity[i].sname + " " + self.data.activity[i].ptitle);
- }
-
- this.setData({ actives: arr });
- },
- getCourseList(load){
- let that = this;
- util.ajax({
- func:'v2/course/list',
- data: { "playerId": that.data.info.playerId, 'id': that.data.info.id},
- load: load
- },function(res){
- if(res.code == 0){
- that.setData({ list: res.data });
- }else
- util.showTips(res.reason);
- });
- },
- getInfo(){
- let that = this;
- util.ajax({
- func:"v2/course/center",
- data: { "cardNo": that.data.childs[that.data.indexs.child].cardNo, "cardType": that.data.childs[that.data.indexs.child].cardType, "aid": that.data.activity[that.data.indexs.activity].aid, "campId": that.data.activity[that.data.indexs.activity].campId},
- load: false
- },function(res){
- if(res.code == 0){
- if (!util.isObjEmpty(res.data)) {
- that.setData({ info: res.data, noData: res.data.courseNum });
- if (res.data.courseNum > 0){
- that.getCourseList(false);
- if (!util.isObjEmpty(res.data.xarr)) that.chartInit(res.data.show);
- }
- }else{
- that.setData({ noData: false, info: null, list: [] });
- }
- } else if (res.statusCode != 200) {
- that.setData({ noData: false });
- } else
- util.showTips(res.reason);
- })
- },
- bindChildChange(e) {
- this.setData({
- indexs: { child: e.detail.value, activity: 0},
- activity:[],
- info:null,
- noData: true
- });
- this.getActivity();
- },
- bindActivityChange(e) {
- this.data.indexs.activity = e.detail.value;
- this.setData({
- indexs: this.data.indexs,
- info: null,
- noData: true
- });
- this.getInfo();
- },
- updateHead(){
- let that = this;
- wx.chooseImage({
- count: 1,
- sizeType: ['compressed'],
- sourceType: ['album', 'camera'],
- success(res) {
- wx.uploadFile({
- url: util.config.apiServer +'v2/child/avatar.do', // 仅为示例,非真实的接口地址
- filePath: res.tempFilePaths[0],
- name: 'avatarFile',
- formData: {
- childId: that.data.info.childId,
- rid: app.globalData.userInfo ? app.globalData.userInfo.rid : ''
- },
- success(res) {
- let data = JSON.parse(res.data);
- if (res.statusCode==200&&data.code == 0){
- that.data.info.avatar = data.data;
- that.setData({info : that.data.info });
- }else
- util.showTips(res.reason);
- }
- })
- }
- })
- },
- playEnd(event){
- this.data.indexs.video = null;
- this.data.indexs.videoParent = null;
- this.setData({
- indexs: this.data.indexs
- })
- },
- videoPlay(event){
- let e = event.currentTarget, parentIndex = e.dataset.parentindex, index = e.dataset['index'];
- if (!this.data.indexs.video && !this.data.indexs.videoParent) {
- this.data.indexs.video = index;
- this.data.indexs.videoParent = parentIndex;
- this.setData({
- indexs: this.data.indexs
- });
- this.videoContext = wx.createVideoContext('video_' + parentIndex+'_'+ index)
- this.videoContext.play();
- this.videoContext.requestFullScreen();
- } else {
- this.videoContext = wx.createVideoContext('video_' + this.data.indexs.videoParent + '_' + this.data.indexs.video)
- this.videoContext.stop();
- this.videoContext.exitFullScreen();
- this.data.indexs.video = index;
- this.data.indexs.videoParent = parentIndex;
- this.setData({
- indexs: this.data.indexs
- })
- this.videoContext = wx.createVideoContext('video_' + parentIndex + '_' + index);
- this.videoContext.play();
- this.videoContext.requestFullScreen();
- }
- },
- fullscreen(e){
- if (!e.detail.fullScreen){
- this.videoContext.stop();
- this.data.indexs.video = null;
- this.data.indexs.videoParent = null;
- this.setData({
- indexs: this.data.indexs
- })
- }
- },
- navigatorUrl(e){
- let data = e.currentTarget.dataset;
- util.navigator(data.url);
- },
- chartInit(type){
- if (util.isObjEmpty(this.data.info.xarr)) return false;
- let columns = [], that = this;
- for (let i in this.data.info.xarr){
- columns.push({
- value: this.data.info.xarr[i],
- textStyle: {
- color: '#908f90'
- }
- });
- }
- this.selectComponent('#mychart').init((canvas, width, height) => {
- // 初始化图表
- var Chart = echarts.init(canvas, null, {
- width: width,
- height: height
- });
- Chart.clear();
- let options = {
- xAxis: {
- type: 'category',
- axisLine: {
- show: false
- },
- axisTick: {
- show: false
- },
- axisLabel: {
- interval: 0,
- rotate: 40
- },
- data: columns
- },
- yAxis: {
- show: false
- },
- grid: {
- left: '0',
- right: '0',
- bottom: '12%'
- },
- series: [{
- type: 'bar',
- barWidth: 38,
- label: {
- show: true,
- position: 'top',
- formatter: '{c}分',
- color: '#ee3a43'
- },
- itemStyle: {
- color:'#ffccd3'
- },
- data: that.data.info.yarr
- }]
- };
- if(type == 0){
- options.grid = {
- left: '5%',
- right: '5%',
- bottom: '40%'
- };
- options.dataZoom = [{
- type:'inside',
- start: 0,
- end: 30
- },{
- type: 'slider',
- showDetail:false,
- showDataShadow:false,
- handleStyle:{
- borderColor:'#ee3a43'
- },
- backgroundColor:'#fff0f3',
- handleSize:'60%',
- handleIcon:'path://M30.9,53.2c-14.1,0-25.6-11.5-25.6-25.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z'
- }];
- }
- Chart.setOption(options);
- return Chart;
- });
- },
- onShareAppMessage() {
- return {
- title: '活动营前课',
- path: '/pages/account/course/index'
- }
- }
- })
|