| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 | const getHeight = require("../../utils/getRheRemainingHeight"),    _Http = getApp().globalData.http;let dowmCount = null;Page({    /**     * 页面的初始数据     */    data: {        optionList: [],        scrollHeight: 0, //滚动区域高度        searchContent: "", //搜索内容        mainActiveIndex: 0, //分类选择器打开分类的下标        activeId: "", //分类选择器选择id        showText: null, //左上显示文本        items: [], //分类列表        list: [], //列表        sort: [],        content: {            nocache: true,            pageNumber: 1,            pageSize: 20,            pageTotal: 1,            where: {                condition: ""            }        }    },    /**     * 生命周期函数--监听页面加载     */    onLoad(options) {        let auth = options.auth ? JSON.parse(options.auth) : getApp().globalData.queryPer.query(wx.getStorageSync('userauth'), ['营销工具'], ['商学院'])[0].apps;        this.setData({            optionList: auth[0].meta.auth.map(v => v.optionname)        })        this.selectMenu(0);        this.selectList();    },    /* 查询菜单分类 */    selectMenu(index) {        if (index == '5') return wx.showToast({            title: '加载失败,请稍后再试',            icon: "none"        })        _Http.basic({            "classname": "saletool.courseware.courseware",            "method": "selectMenu",            "content": {}        }).then(res => {            if (res.msg != '成功') return this.selectMenu(index + 1)            let str = JSON.stringify(res.data).replace(/classname/g, 'text').replace(/sat_courseware_classid/g, 'id');            this.setData({                items: JSON.parse(str)            })        })    },    toDetail(e) {        const {            item        } = e.currentTarget.dataset;        wx.navigateTo({            url: `./detail?id=${item.sat_coursewareid}&auth=${this.data.optionList}`,        })    },    /* 获取列表 */    selectList(init = false) {        if (init.detail != undefined) init = init.detail;        if (init) this.setData({            ['content.pageNumber']: 1        })        if (this.data.content.pageNumber > this.data.content.pageTotal) return;        let content = this.data.content;        (this.data.activeId == "") ? delete(content.where.sat_courseware_classid): content.where.sat_courseware_classid = this.data.activeId;        if (this.data.sort[0]) content.sort = this.data.sort;        _Http.basic({            "classname": "saletool.courseware.courseware",            "method": "selectList",            content        }).then(res => {            this.selectComponent('#ListBox').RefreshToComplete();            if (res.msg != '成功') return wx.showToast({                title: res.msg,                icon: "none"            })            this.setData({                list: (res.pageNumber == 1) ? res.data : this.data.list.concat(res.data),                ['content.pageNumber']: res.pageNumber + 1,                ['content.pageTotal']: res.pageTotal,                total: res.total,                sort: res.sort            })        })    },    /* 开始搜索 */    startSearch({        detail    }) {        clearTimeout(dowmCount);        this.setData({            "content.where.condition": detail.trim()        })        dowmCount = setTimeout(() => {            this.selectList(true);        }, 1000);    },    /* 关闭搜索 */    closeSearch() {        this.setData({            "content.where.condition": ""        })        this.selectList(true);    },    switchChange({        detail    }) {        this.setData({            sort: detail        })        this.selectList(true);    },    onClickNav({        detail = {}    }) {        this.setData({            mainActiveIndex: detail.index || 0,        });    },    onClickItem({        detail = {}    }) {        const activeId = this.data.activeId === detail.id ? "" : detail.id,            showText = this.data.showText === detail.text ? null : detail.text;        this.setData({            activeId,            showText        });        this.selectComponent('#item').toggle();        this.selectList(true);    },    /*生命周期函数--监听页面初次渲染完成*/    onReady() {        //滚动区域高度        getHeight.getHeight('.menu', this).then(res => {            this.setData({                scrollHeight: res            })        })    },})
 |