demo.html 4.99 KB
<div id="topsearch" class="page out" data-title="顶部搜索插件">
    <div class="page-content">
        <div id="topsearch-header"></div>
        <div id="topsearch-a"></div>
        <div id="topsearch-b"></div>
    </div>
</div>
<script>
require(["NavHeader", "TopSearch", "NList"], function(NavHeader, TopSearch, NList) {
    var _u = require("mUtil");
    var hasClsPicker = typeof clsPicker !== "undefined";

    if(!hasClsPicker) {
        new NavHeader({
            el: "topsearch-header",
            container: "#topsearch",
            option: {
                isFixedTop: true,
                title: "顶部搜索",
                smallTitle: "topsearch"
            }
        }).render();
    }
    new TopSearch({
        el: "topsearch-a",
        container: "#topsearch",
        option: {
            conditions: [{
                fieldTypeFace: "text",
                fieldname: "searchKey",
                showname: "单行文本字段"
            },{
                fieldTypeFace: "number",
                fieldname: "number",
                showname: "数字"
            },{
                fieldTypeFace: "browser",
                fieldname: "browser",
                showname: "浏览框",
                browserId: "1",
                browserName: ""
            },{
                fieldTypeFace: "select",
                fieldname: "select",
                showname: "选择框",
                data: [{
                    selectname: "选择项1",
                    selectvalue: "1"
                },{
                    selectname: "选择项2",
                    selectvalue: "2"
                },{
                    selectname: "选择项3",
                    selectvalue: "3"
                }]
            },{
                fieldTypeFace: "date",
                fieldname: "date",
                showname: "日期"
            },{
                fieldTypeFace: "time",
                fieldname: "time",
                showname: "时间"
            },{
                fieldTypeFace: "datetime",
                fieldname: "datetime",
                showname: "日期时间"
            }],
            onSearch: function(params){
                var queryStr = params.reduce(function(prev, next){
                    if(prev) prev += ';';
                    return prev + next.fieldname + '=' + next.fieldvalue;
                }, '');
                Mobile_NS.refreshList("topsearch-b", queryStr);
            }
        }
    }).render();
    if(!hasClsPicker) {
        new NList({
            el: "topsearch-b",
            option: {
                dataSource: {
                    type: 'api',//数据来源类型:cube/mock/url/api四种
                    apiConfig: {
                        api: {
                            id: "4ff3c2114b484c9b888c32554c38cc7b",
                            name: "文档列表"
                        },
                        request: {
                            params: {
                                query: [
                                    {name: "categoryid", value: ""},
                                    {name: "searchKey", value: "{search_key}"},
                                    {name: "pageNo", value: "{page_no}"},
                                    {name: "pageSize", value: "{page_size}"}
                                ],
                                body: {}
                            },
                            path: "/X-WEV-DocList",
                            type: "GET"
                        },
                        response: {
                            type: "HTML",
                            formats: {
                                DATAS: "datas",
                                TOTAL_SIZE: "totalSize",
                                STATUS_CODE: {
                                    key: "status",
                                    value: 1
                                },
                                ERROR_MSG: "errMsg"
                            }
                        }
                    },
                },
                pageStart: 1,
                pageSize: 10,
                showSet: {
                    api: {
                        imgfield: "",
                        titlefield: "{subject}",
                        otherfields: [
                            "{owner}, {createtime}"
                        ]
                    }
                },
                quickSearch: {
                    hide: false,
                    tip: "请输入..."
                },
                advancedSearch: {
                    enable: true,
                    title: '高级检索',
                    fields: [
                        {fieldid: 6528, showname: '单行文本框'}
                    ]
                },
                options: {
                    readonly: true,
                    selectable: false,        //数据可选
                    showOnePage: false        //显示一页
                }
            }
        }).render();
    }
});
</script>