123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322 |
- const util = require("../../../utils/util.js");
- import * as echarts from '../../../components/ec-canvas/echarts.js';
- const app = getApp();
- Page({
- data: {
- childs:[],
- activity:[],
- actives: [],
- childIndex : 0,
- index : 0,
- ec: {
- lazyLoad: true // 延迟加载
- },
- months : [],
- info : [],
- datas : {
- dtype: 0,
- dayType: 1,
- monthIndex:0,
- deadline: ""
- },
- scrollLeft : 0,
- npsOptons: {},
- npsStatus: false,//nps组件是否显示
- isGet: true,
- edition:2, //1--旧版本 2--新版本
- },
- onShow() {
- let that = this;
- if (this.data.isGet) {
- if (getCurrentPages().length == 1) {
- // var getLocation = util.promise();
- // getLocation.then(function (value) {
- that.getChild();
- that.setData({ currentPages: getCurrentPages().length })
- // }, function (error) {
- // });
- } else {
- that.getChild();
- }
- }
- },
- // 折线图绘制
- chartInit(type,idname,dataX,dataY){
- this.data.info.xarr=dataX;
- 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(idname).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: dataX.length>6?40:0
- },
- data: columns
- },
- yAxis: {
- show: true,
- type: 'value'
- },
- grid: {
- left: '0',
- right: '0',
- bottom: '10%'
- },
- series: [{
- name:"喝水",
- type: 'line',
- // barWidth: 38,
- stack: '总量',
- label: {
- show: true,
- position: 'top',
- formatter: idname=='#mychart'?'{c}瓶':'{c}度',
- color: '#ee3a43'
- },
- itemStyle: {
- color:'#ffccd3'
- },
- data: dataY
- }]
- };
- if(type == 0){
- options.grid = {
- left: '8%',
- right: '5%',
- bottom: '40%'
- };
- options.dataZoom = [{
- type:'inside',
- start: 0,
- end: 100
- },{
- type: 'slider',
- showDetail:false,
- showDataShadow:true,
- handleStyle:{
- borderColor:'#ee3a43',
- borderWidth:0
- },
- 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;
- });
- },
-
- selectImage(e) {
- this.setData({ isGet: e.detail.isGet });
- },
- close(e) {//关闭nps
- this.setData({ npsStatus: false });
- },
- getChild(){
- let that = this;
- util.ajax({
- func: "user/childs",
- load: false
- }, function (res) {
- if (res.code == 0) {
- that.setData({ childs : res.data });
- if(!util.isObjEmpty(that.data.childs)){
- that.getActivity();
- wx.setNavigationBarTitle({
- title: that.data.childs[that.data.childIndex].name
- });
- }
- }
- });
- },
- getActivity(){
- let that = this;
- util.ajax({
- func: "daily/activity_list",
- data: {"idcard": that.data.childs[that.data.childIndex].cardNo, "cardType": that.data.childs[that.data.childIndex].cardType},
- load: false
- }, function (res) {
- if (res.code == 0) {
- that.setData({ activity: res.data });
- that.jsonDataArr();
- that.getDate();
- }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].pstitle);
- // arr.push(self.data.activity[i].text)
- }
- this.setData({ actives: arr });
- },
- getInfo(){
- let that = this,sendData = {},deadlineStart='',deadlineEnd='';
- if (that.data.datas.dtype==1&&that.data.months.length>0) {
- deadlineStart = util.formatDate(util.formatUnixtimestamp(that.data.months[0].value), "MM月dd日", false);
- deadlineEnd = util.formatDate(util.formatUnixtimestamp(that.data.months[that.data.months.length-1].value), "dd日", false);
- }
- sendData['teamId'] = that.data.activity[that.data.index].teamId || '';
- sendData['dtype'] = that.data.datas.dtype;
- sendData['sid'] = that.data.activity[that.data.index].sid;
- sendData['childId']= that.data.activity[that.data.index].childId;
- sendData['deadline'] = that.data.datas.deadline;
- sendData['summary'] = 1;
- util.ajax({
- func: that.data.datas.dtype == 1 ? "v2/daily/summary/info" : "v2/daily/info", //v2/daily/summary/info ——总结记录 v2/daily/info ——每日记录
- data: sendData
- },function(res){
- if(res.code == 0){
- if (res.data) {
- if(that.data.datas.dtype == 0 && res.data.id){
- res.data.deadlineText = util.formatDate(res.data.deadline, "MM月dd日", false);
- res.data.remark = res.data.fight == 0 && res.data.hurt == 0 && res.data.illness == 0 ? '活动中和小朋友和睦相处,身体无受伤并没有不适情况' + res.data.remark : res.data.remark;
- res.data.score = res.data.score.toFixed(1);
- }
- if (that.data.datas.dtype == 1) {
- if (!res.data.versionNum || res.data.versionNum==2) {
- let dateArr=[];
- if (res.data.xdeadlineArr && res.data.xdeadlineArr.length>0) {
- res.data.xdeadlineArr.forEach(el => {
- let arr = el.split('-')
- dateArr.push(arr[1]+'-'+arr[2])
- });
- }
- setTimeout(() => {
- if (res.data.ydrinkArr.length>0) {
- that.chartInit(dateArr.length>4?0:1,'#mychart',dateArr,res.data.ydrinkArr)
- }
- if (res.data.ytemperatureArr.length>0) {
- that.chartInit(dateArr.length>4?0:1,'#mychart1',dateArr,res.data.ytemperatureArr)
- }
- }, 500);
- }
- res.data.deadlineStart = deadlineStart;
- res.data.deadlineEnd = deadlineEnd;
- }
- }
- that.setData({ info : res.data,edition:res.data? (res.data.versionNum || 2):2});
- }else{
- util.showTips(res.reason);
- }
- });
- },
- getDate(){
- let that = this, months = [];
- if (!util.isObjEmpty(that.data.activity[that.data.index])){
- that.data.datas.dayType = that.data.activity[that.data.index].single;
- if (that.data.activity[that.data.index].single == 1) {
- if (that.data.activity[that.data.index].start != undefined) {
- that.data.datas.deadline = util.formatDate(util.formatUnixtimestamp(that.data.activity[that.data.index].start.time), "yyyy-MM-dd", false);
- }else{
- that.data.datas.deadline = "";
- }
- } else {
- if (that.data.activity[that.data.index].start != undefined && that.data.activity[that.data.index].end != undefined) {
- months = util.formatMonth(that.data.activity[that.data.index].start.time, that.data.activity[that.data.index].end.time);
- that.data.datas.monthIndex = 0;
- for (let i in months){
- if(months[i].active == 1){
- that.data.datas.monthIndex = i;
- }
- }
- that.data.datas.deadline = months[that.data.datas.monthIndex].value;
- }else{
- that.data.datas.deadline = "";
- }
- }
- that.setData({
- months: months,
- datas: that.data.datas
- });
- if (!util.isEmpty(that.data.datas.deadline)) that.getInfo();
- }
- },
- bindPickerChange(e){
- this.data.datas.dtype = 0;
- this.data.datas.dayType = 1;
- this.data.datas.deadline = "";
- this.data.datas.monthIndex = 0;
- this.setData({ childIndex: e.detail.value, index: 0, datas: this.data.datas, scrollLeft: 0, info: {}, months:[] });
- wx.setNavigationBarTitle({
- title: this.data.childs[this.data.childIndex].name
- })
- this.getActivity();
- },
- bindPickerActivity(e){
- this.data.datas.dtype = 0;
- this.data.datas.dayType = 1;
- this.data.datas.deadline = "";
- this.data.datas.monthIndex = 0;
- this.setData({ index: e.detail.value, datas: this.data.datas, scrollLeft: 0 });
- this.getDate();
- },
- copy(e){
- let self = this, s_type = e.currentTarget.dataset.type, data = "";
- switch (s_type){
- case "remark":
- data = self.data.info.remark;
- break;
- case "expression":
- data = self.data.info.expression;
- break;
- case "s_remark":
- data = self.data.info.s_remark || "";
- break;
- case "s_expression":
- for (let i in self.data.info.expressionList) {
- data += self.data.info.expressionList[i].deadline + ":" + self.data.info.expressionList[i].expression+"\n";
- }
- if (self.data.info.s_expression) data += "总结:" + self.data.info.s_expression;
- break;
- }
- wx.setClipboardData({
- data: data,
- success: function (res) {
- wx.showToast({
- title: '复制成功',
- icon: 'none'
- });
- }
- });
- },
- showTab(e){
- let data = e.currentTarget.dataset;
- this.data.datas.dtype = data.dtype;
- this.data.datas.deadline = data.deadline;
- this.data.datas.monthIndex = data.monthindex;
- this.setData({ datas: this.data.datas, scrollLeft: e.currentTarget.offsetLeft });
- this.getInfo();
- },
- onShareAppMessage() {
- return {
- title: '儿童参加活动的生活记录',
- path: '/pages/account/take/take'
- }
- }
- })
|