const _Http = getApp().globalData.http;
const MFT = require("../../utils/FormatTheAttachment");
let dowmCount = null;

Page({
    data: {
        isInsert: false, //是否具有新增权限
        isTabs: true,
        tabsActiveIndex: 0,
        searchContent: "", //搜索内容
        mainActiveIndex: 0, //分类选择器打开分类的下标
        activeId: null, //分类选择器选择id
        activeName: null,
        items: [], //分类列表
        total: 0,
        sort: [],
        content: {
            nocache: true,
            pageNumber: 1,
            pageSize: 20,
            pageTotal: 1,
            where: {
                condition: "",
                sat_sharematerial_classid: ""
            }
        },
        sheetShow: false,
        actions: [{
                name: '上传图片',
            },
            {
                name: '上传视频',
            },
            {
                name: '上传图文',
            },
        ],
    },
    onLoad(options) {
        let auth = wx.getStorageSync('auth').warchives_ad.optionnames;
        this.setData({
            isInsert: auth.some(v => v == '新增'),
            isTabs: auth.some(v => v == '新增')
        })
        this.selectMenu();
        this.getList();
    },
    tabChange({
        detail
    }) {
        this.setData({
            tabsActiveIndex: detail.index
        });
        this.getList(true);
    },
    /* 查询列表 */
    getList(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 != null) ? content.where.sat_sharematerial_classid = this.data.activeId: delete(content.where.sat_sharematerial_classid);
        if (this.data.sort[0]) content.sort = this.data.sort;
        _Http.basic({
            "classname": "saletool.sharematerial.sharematerial",
            "method": this.data.tabsActiveIndex == 0 ? "selectList" : "selectMyList",
            content
        }).then(res => {
            console.log("推广素材", res)
            if (res.msg != '成功') return wx.showToast({
                title: res.msg,
                icon: "none"
            });
            let deleteList = [],
                initID = '9999' + wx.getStorageSync('userMsg').userid;
            res.data.forEach(v => (initID == v.sat_sharematerial_classid && v.title == '') ? deleteList.push(v.sat_sharematerialid) : '');
            if (deleteList.length != 0) return this.handleDelete(deleteList);
            this.selectComponent('#ListBox').RefreshToComplete();
            for (let i = 0; i < res.data.length; i++) {
                let list = MFT.fileList(res.data[i].attinfos);
                if (!list.length) continue;
              /*   let obj = list.find(value => value.fileType == "image");
                if (!obj) continue;
                res.data[i].cover = MFT.getSpecifiedImage(obj);
                res.data[i].attinfos = list; */
            }
            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
            })
            console.log(this.data.list)
        })
    },
    /* 处理批量删除 */
    handleDelete(list) {
        _Http.basic({
            id: 20221102143602,
            "content": {
                "sat_sharematerialid": list
            }
        }).then(res => {
            console.log("处理删除", res);
            if (res.msg == '成功') this.getList();
        })
    },
    /* 清除搜索输入 */
    searchClear() {
        this.setData({
            ['content.where.condition']: ""
        })
        this.getList(true);
    },
    /* 搜索框输入 */
    searchInput({
        detail
    }) {
        if (this.data.content.where.condition == detail.trim()) return;
        clearTimeout(dowmCount);
        this.setData({
            ['content.where.condition']: detail.trim()
        })
        dowmCount = setTimeout(() => {
            this.getList(true)
        }, 1000);
    },
    /* 开关切换 */
    changeSwitch({
        detail
    }) {
        this.setData({
            sort: detail
        })
        this.getList(true);
    },
    /* 查询分类 */
    selectMenu(index = 0, res) {
        if (index == 5) return wx.showToast({
            title: res.msg,
            icon: "none"
        });
        _Http.basic({
            "classname": "saletool.sharematerial.sharematerial",
            "method": "select",
            "content": {
                "nocache": true,
                "parentid": 0
            }
        }).then(res => {
            if (res.msg != '成功') return this.selectMenu(index + 1, res);
            let str = JSON.stringify(res.data).replace(/classname/g, 'text').replace(/sat_sharematerial_classid/g, 'id');
            this.setData({
                items: JSON.parse(str)
            });
        });
    },
    /* 切换分类 */
    onClickItem({
        detail = {}
    }) {
        this.setData({
            activeId: this.data.activeId === detail.id ? null : detail.id,
            activeName: this.data.activeName === detail.text ? null : detail.text
        });
        this.selectComponent('#item').toggle(false);
        this.getList(true);
    },
    onClickNav({
        detail = {}
    }) {
        this.setData({
            mainActiveIndex: detail.index || 0,
        });
    },
    onReady() {
        //滚动区域高度
        this.selectComponent("#ListBox").setHeight(".menu", this);
    },
    addData() {
        this.setData({
            sheetShow: true
        });

    },
    sheetClose() {
        this.setData({
            sheetShow: false
        });
    },
    sheetSelect({
        detail
    }) {
        let type = '';
        switch (detail.name) {
            case "上传图片":
                type = 'image'
                break;
            case "上传视频":
                type = 'video'
                break;
            case "上传图文":
                type = 'richtext'
                break;
        }
        /* items是分类 */
        wx.navigateTo({
            url: `./upload?item=${JSON.stringify(this.data.items)}&type=${type}`
        })
    },
    onShareAppMessage() {
        const promise = new Promise(resolve => {
            setTimeout(() => {
                let data = this.selectComponent("#list").data.shareData;
                _Http.basic({
                    "classname": "saletool.sharematerial.sharematerial",
                    "method": "updateShareLog",
                    "content": {
                        "sat_sharematerialid": data.sat_sharematerialid,
                        "channel": "wechat"
                    }
                })
                resolve({
                    title: data.title,
                    path: `/pages/promotional/details?id=${data.sat_sharematerialid}&type=${data.type}&userid=${wx.getStorageSync('userMsg').userid}`,
                    imageUrl: data.cover
                })
            }, 50)
        })
        return {
            promise
        }
    },
})