punchAppeal.js 6.4 KB
// pages/punchAppeal/punchAppeal.js
const app = getApp();
Page({

    /**
     * 页面的初始数据
     */
    data: {
        current: 0,
        maxlength: 100,
        minlength: 0,
        currentnum: 0,
        image: '',
        image1: '',
        image2: '',
        textcontent: '',
        has_more: true,
        page_number: 1,
        examining:[],
    },
    //tab切换
    tabCharge(e) {
        var index = +e.currentTarget.dataset.current
        var current = this.data.current
        console.log('index', index);
        if (index == current) {
            return false
        } else {
            this.setData({
                current: index
            });
            if(index !== 0) {
                this.getMyComplain(index)
            }
        }
    },
    //申诉内容获取
    appealContent(e) {
        var textcontent = e.detail.value
        var len = e.detail.cursor
        var maxlength = this.data.maxlength
        var minlength = this.data.minlength
        if (len > maxlength) {
            wx.showToast({
                title: '超出最大限制',
                icon: 'none'
            })
            return
        } else {
            this.setData({
                currentnum: len,
                textcontent: textcontent,
            })
        }
    },
    //上传图片
    uploadImg(e) {
        const current = +e.currentTarget.dataset.current;
        const self = this;
        self.chooseImage(current);
    },
    //选择图片
    chooseImage(current) {
        const self = this;
        wx.chooseImage({
            count: 1, //最多可以选择的图片总数
            sizeType: ['compressed'], // 可以指定是原图还是压缩图,默认二者都有
            sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
            success: function (res) {
                // console.log(res);
                const tempFilePaths = res.tempFilePaths;
                if (current === 0) {
                    self.setData({image: tempFilePaths[0]});
                } else if (current === 1) {
                    self.setData({image1: tempFilePaths[0]});
                } else {
                    self.setData({image2: tempFilePaths[0]});
                }
                const images = [];
                const new_images = [];
                images.push(self.data.image,self.data.image1,self.data.image2);
                images.map((item)=> {
                    if(item !== '') {
                        new_images.push(item)
                    }
                });
                self.setData({new_images: new_images.join(',')});
                console.log('images',new_images.join(','));
            },
        })
    },
    //提交
    submit(e) {
        const self = this;
        if(self.data.image === '' && self.data.image1 === '' && self.data.image2 === '') {
            wx.showToast({title:'请上传申诉照片!',icon: 'none'})
        }else if(self.data.textcontent === ''){
            wx.showToast({title:'请填写申诉文字!',icon: 'none'})
        }else {
            let url = '/portal/Experiment/user_complain';
            let header = {
                "XX-token": wx.getStorageSync('token')
            };
            let params = {
                images: this.data.new_images,//实验室id
                description: this.data.textcontent,
                formId: e.detail.formId,
            };
            app.post(url, params, header).then((res) => {
                console.log('提交结果',res);
                if(res.is_success) {
                    wx.showToast({
                        title:'申诉成功',
                        icon: 'success',
                        success:function () {
                            setTimeout(function () {
                                self.setData({image: '',image1: '',imag2: '',current: 1})
                            },500)
                        }
                    })
                }
            })
        }
    },
    //我的申诉
    getMyComplain(current) {
        if(!this.data.has_more) return;
        this.setData({has_more: false});
        let url = '/portal/Experiment/user_complain_list';
        let header = {
            "XX-token": wx.getStorageSync('token')
        };
        let params = {
            status: current,//(1,审核中、2,已通过、3,未通过)
            page: this.data.page_number,
        };
        app.post(url, params, header).then((res) => {
            console.log('我的申诉',res);
            if(res.this_page < res.total_page) {
                this.setData({has_more: true});
            }
            this.setData({examining: this.data.examining.concat(res.list)});
            console.log(this.data.examining);
        })
    },
    //查看原因跳转申诉详情页
    listDetail(e) {
        const current = +e.currentTarget.dataset.index;
        const id = +e.currentTarget.dataset.id;
        console.log('current',current);
        wx.navigateTo({
            url: '../punchAppealDetail/punchAppealDetail?status=' + current
                + '&test_name=' + this.data.test_name +
                '&id=' + id,
        })
    },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        console.log('options', options);
        this.setData({test_name: options.test_name?options.test_name:'',});
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {
        const self = this;
        if(self.data.has_more) {
            self.data.page_number ++;
            self.getMyComplain();
        }else {
            wx.showToast({
                title: '没有更多数据了~',
                icon: 'none'
            });
        }
        console.log('上拉加载');
    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})