7***@qq.com
7***@qq.com
  • 发布:2016-07-28 10:28
  • 更新:2016-07-28 10:36
  • 阅读:2853

dtpicker 报错

分类:HBuilder

define(function(require, exports, module) {
"require:nomunge,exports:nomunge,module:nomunge";
require('/js/util.js');
var mui = require('../../../../mui.min.js');
require('../../../../mui.picker.js');
require('../../../../mui.poppicker.js');
require('../../../../echarts.min.js');
require("../../../../mui.picker.min.js");

使用时间和select 控件的时候报错:Uncaught TypeError: e(...).picker is not a function mui.picker.min.js 11 这个js里面的;
//普通示例
var userPicker = new mui.PopPicker();

var picker = new $.DtPicker(options); 上面这俩个地方都报上面的错误的;我是按照api来开发的。该如果解决啊

//详细代码 getTime() 和 getSelectUserList(json) 里面

define(function(require, exports, module) {
"require:nomunge,exports:nomunge,module:nomunge";
require('/js/util.js');
var mui = require('../../../../mui.min.js');
require('../../../../echarts.min.js');
require("../../../../mui.picker.min.js");
var off_line_media_report = {};
var element = {};
var list = [];
mui.init({
swipeBack: true //启用右滑关闭功能
});
if(config.pagination == undefined) {
config.pagination = require('/js/plugins/pagination/pagination.js');
}
/$.getLoginedJSON(config.api_domain + "/manage/mobile_index",function(json) {
$('#body').innerHTML = require('/template/release/manage/media/off_line_media_report.js')(json);
});
/
function getTime(){(function($) {
console.log('mui为:'+mui);
console.log('$为:'+$)
$.init();
var result = $('#result')[0];
var btns = $('.btn');
btns.each(function(i, btn) {
btn.addEventListener('tap', function() {
var optionsJson = this.getAttribute('data-options') || '{}';
var options = JSON.parse(optionsJson);
var id = this.getAttribute('id');
/*

  • 首次显示时实例化组件
  • 示例为了简洁,将 options 放在了按钮的 dom 上
  • 也可以直接通过代码声明 optinos 用于实例化 DtPicker
    /
    //!!!!!这里
    var picker = new $.DtPicker(options);
    picker.show(function(rs) {
    /

    • rs.value 拼合后的 value
    • rs.text 拼合后的 text
    • rs.y 年,可以通过 rs.y.vaue 和 rs.y.text 获取值和文本
    • rs.m 月,用法同年
    • rs.d 日,用法同年
    • rs.h 时,用法同年
    • rs.i 分(minutes 的第二个字母),用法同年
      /
      result.innerText = '选择结果: ' + rs.text;
      /
    • 返回 false 可以阻止选择框的关闭
    • return false;
      /
      /
    • 释放组件资源,释放后将将不能再操作组件
    • 通常情况下,不需要示放组件,new DtPicker(options) 后,可以一直使用。
    • 当前示例,因为内容较多,如不进行资原释放,在某些设备上会较慢。
    • 所以每次用完便立即调用 dispose 进行释放,下次用时再创建新实例。
      */
      picker.dispose();
      });
      }, false);
      });
      })(mui);

    }

    function getSelectUserList(json) {
    if(json.user_list) {
    for(var i = 0, length = json.user_list.length; i < length; i++) {
    var user = new Object();
    var temp = {};
    temp.value = json.user_list[i].id,
    temp.text = json.user_name,
    list.push(temp);
    }
    }
    //普通示例 !!!!!这里
    var userPicker = new mui.PopPicker();
    console.log(list);
    userPicker.setData(list);
    var showUserPickerButton = doc.getElementById('showUserPicker');
    //var userResult = doc.getElementById('userResult');
    showUserPickerButton.addEventListener('tap', function(event) {
    userPicker.show(function(items) {
    //userResult.innerText = JSON.stringify(items[0]);
    //返回 false 可以阻止选择框的关闭
    //return false;
    off_line_media_report.user_id = JSON.stringify(items[0]);
    });
    }, false);
    }
    load_table();
    load_data();
    getTime();
    function load_data() {
    getJSON(config.api_domain + '/manage/media/report/off_line_media_report?v=1&callback=?', {
    user_id: off_line_media_report.user_id,
    media_id: off_line_media_report.media_id,
    adspace_id: off_line_media_report.adspace_id,
    start_date: '2016-7-19',
    end_date: '2016-7-25'
    },
    function(json) {
    if(!json.status) {
    /
    global_info.toast({
    html: json.message
    });
    bind_event();
    /
    return;
    }
    //getSelectUserList(json);
    /*if(json.media_list) {
    for(var i = 0, length = json.media_list.length; i < length; i++) {
    is_selected = json.media_list[i].id == off_line_media_report.media_id;
    media_id_list_html += '<option value=' + json.media_list[i].id +
    (is_selected ? ' selected=selected' : ' ') +
    ' >' +
    json.media_list[i].media_name +
    '</option>';
    }
    }
    media_id_list_html = '<option value=0' +
    (!is_selected ? ' selected=selected' : ' ') +
    ' >全部</option>' + media_id_list_html;

            if(json.adspace_list) {  
                for(var i = 0, length = json.adspace_list.length; i < length; i++) {  
                    is_selected = json.adspace_list[i].id == off_line_media_report.adspace_id;  
                    adspace_id_list_html += '<option value=' + json.adspace_list[i].id +  
                        (is_selected ? ' selected=selected' : '') +  
                        '>' +  
                        json.adspace_list[i].adspace_name +  
                        '</option>';  
                }  
            }  
            adspace_id_list_html = '<option value=0' +  
                (!is_selected ? ' selected=selected' : ' ') +  
                ' >全部</option>' + adspace_id_list_html;  
    
            /*show_hidden_list_filter_panel();*/  
    
            /*element.select_media_id_list.html(media_id_list_html);  
            element.select_adspace_id_list.html(adspace_id_list_html);*/  
    
            $('#off_line_media_report_top').removeClass('page-inner-loading').html(  
                require('/template/release/manage/media/off_line_media_report_top.js')(json)  
            );  
            var myChart = echarts.init(document.getElementById('main_chart'));  
    
            data = json;  
            myChart.setOption({  
                tooltip: {  
                    trigger: 'axis',  
                    formatter: function(params, ticket, callback) {  
                        if((params[0].name < 24) && (params[0].name >= 0)) {  
                            var result = params[0].name + ' 时';  
                            for(var i = 0, l = params.length; i < l; i++) {  
                                result += '<br/>' + params[i].seriesName + ' : ' + params[i].value;  
                            }  
                            return result;  
                        } else {  
                            var result = params[0].name;  
                            for(var i = 0, l = params.length; i < l; i++) {  
                                result += '<br/>' + params[i].seriesName + ' : ' + params[i].value;  
                            }  
                            return result;  
                        }  
                    }  
                },  
                calculable: false, //禁止拖动  
                height: 200,  
                grid: {  
                    x: 35,  
                    x2: 10,  
                    y: 30,  
                    y2: 25  
                },  
    
                toolbox: {  
                    show: false,  
                    feature: {  
                        mark: {  
                            show: true  
                        },  
                        dataView: {  
                            show: true,  
                            readOnly: false  
                        },  
                        magicType: {  
                            show: true,  
                            type: ['line', 'bar']  
                        },  
                        restore: {  
                            show: true  
                        },  
                        saveAsImage: {  
                            show: true  
                        }  
                    }  
                },  
    
                legend: {  
                    data: [  
                        '展现次数',  
                        '点击次数',  
                        '点击率',  
                        '平均点击价格',  
                        '千次展现价格',  
                        '消费'  
                    ]  
                },  
                xAxis: [{  
                    type: 'category',  
                    splitLine: {  
                        show: false  
                    },  
                    data: data.x_list  
                }],  
                yAxis: [{  
                    type: 'value',  
                    splitLine: {  
                        show: true  
                    }  
                }],  
                series: [{  
                    name: '展现次数',  
                    type: 'line',  
                    draggable: false,  
                    data: data.pv  
                }, {  
                    name: '点击次数',  
                    type: 'line',  
                    draggable: false,  
                    data: data.click  
                }, {  
                    name: '点击率',  
                    type: 'line',  
                    draggable: false,  
                    itemStyle: {  
                        normal: {  
                            label: {  
                                show: true,  
                                position: 'top',  
                                formatter: '{c} %'  
                            }  
                        }  
                    },  
                    data: data.click_rate  
                }, {  
                    name: '平均点击价格',  
                    type: 'line',  
                    draggable: false,  
                    data: data.average_click_price  
                }, {  
                    name: '千次展现价格',  
                    type: 'line',  
                    draggable: false,  
                    data: data.pv_click_price  
                }, {  
                    name: '消费',  
                    type: 'line',  
                    draggable: false,  
                    data: data.consume  
                }]  
            });  
        });  

    }

    function load_table() {
    //加载table
    getJSON(config.api_domain + '/manage/media/report/off_line_media_report?is_get_list=true&v=1&callback=?', {
    user_id: off_line_media_report.user_id,
    media_id: off_line_media_report.media_id,
    adspace_id: off_line_media_report.adspace_id,
    start_date: '2016-7-19',
    end_date: '2016-7-25',
    p: off_line_media_report.p,
    sort_str: off_line_media_report.sort_str
    },
    function(json) {
    off_line_media_report.p = json.p;
    $('#off_line_media_report_table_time_th').text(json.is_hour ? '小时' : '日期');
    $('#off_line_media_report_table_pagination').html(
    config.pagination(json.page_size ? json.page_size : 10, json.p ? json.p : 1, json.total_count ? json.total_count : 0, 10, function(p) {
    off_line_media_report.p = p;
    load_table();
    })
    );
    $('#off_line_media_report_table_content').html(require('/template/release/manage/media/off_line_media_report_table.js')(json));
    });
    }

});

2016-07-28 10:28 1 条评论 负责人:无 分享
已邀请:
lhyh

lhyh - 目前就职成都

<script src="../js/mui.picker.min.js"></script>

这个已经包含了poppicker和dtpicker,只需要引入这一个picker文件就好了,你引入了三个picker.js……

  • 7***@qq.com (作者)

    我一直搞不懂为什么那个地方会报错的。我把其余的删除了的。还是那个地方报错

    2016-07-28 10:47

  • lhyh

    回复 7***@qq.com:贴详细的代码

    2016-07-28 10:48

  • 7***@qq.com (作者)

    回复 lhyh:贴了,帮我看一下的

    2016-07-28 10:54

  • lhyh

    回复 7***@qq.com:朋友抱歉帮不了你,有几个地方我没明白,你如果做webapp为什么要用require.js?还有就是你的function getTime(){(function($) { }(mui)}为什么要写成这样的格式,明显已经语法错误了。还有你已经在define里面 mui.init()一次了,为什么gettime里面又来了一个$.init()。我能给到你的建议就是你要不打开HB的语法校验器,工具-选项-Hbuilder-语法验证器设置

    2016-07-28 11:17

  • 7***@qq.com (作者)

    回复 lhyh:我直接拷贝的example里面的代码。我之前修改了的。但还报错的,就用了。好的。谢谢了。我们项目是pc端网站类型的。但是客户端体验差还有一下功能实现不了,就用mui改造了的。

    2016-07-28 11:34

该问题目前已经被锁定, 无法添加新回复