release.js 10.9 KB
// pages/release/release.js
const app = getApp();
Page({

    /**
     * 页面的初始数据
     */
    data: {
        textareavalue: '',
        images: [],
        currentPortalOne: 0,
        type: [],
        showPicker: false,
        value: [0,0,0],
        wx_number: '',
        sex:[{id:1,name:'男'},{id:2,name:'女'}],
        is_anonymous: [{id:1,name:'是'},{id:0,name:'否'}],
        showAnonymous: false,
        anonymousValue: [0,0,0],
        repay: ''
    },
//文本输入
    textContent(e) {
        this.setData({
            textareavalue: e.detail.value
        })
    },
    //获取心愿分类
    getWishPortal() {
        const self = this;
        let url = '/home/wish/form_wish';
        let header = {
            "XX-Token": wx.getStorageSync('token')
        };
        app.post(url,{},header).then(function (res) {
            // console.log(res);
            self.setData({
                category: res.category,
                school: res.school,
                grade: res.grade,
            })
        })
    },
    //点击一级分类
    choosePortalOne(e) {
        const self = this;
        const current = e.currentTarget.dataset.index;
        self.setData({
            // type: self.data.portal_one[current].name,
            value: [0,0,0]
        });
        self.setData({currentPortalOne: current});
        // self.getPortalTwo();
    },
    // 滑动个人信息picker
    bindChangePicker(e) {
        this.setData({value: e.detail.value});
        // if(this.data.currentPortalOne !== 6 && this.data.currentPortalOne !== 7) {
        //     this.getPortalThree()
        // }
    },
    // 滑动匿名picker
    changeAnonymousPicker(e) {
        // console.log(e.detail.value);
        this.setData({anonymousValue: e.detail.value});
    },
    //确定提交个人信息picker
    submitPicker() {
        this.data.type = [];
        let typeArr = [];
        typeArr[0] = this.data.school[this.data.value[0]].school_name;
        typeArr[1] = this.data.grade[this.data.value[1]].grade_name;
        typeArr[2] = this.data.sex[this.data.value[2]].name;
        this.setData({
            type: typeArr.join(' '),
            showPicker: false,
            showAnonymous: false,
            // last_school_id: this.data.school[this.data.value[0]].id,
            // last_grade_id: this.data.grade[this.data.value[1]].id,
            // last_sex_id: this.data.sex[this.data.value[2]].id,
        });
    },
    //确定提交匿名信息picker
    submitAnonymousPicker() {
        // this.data.type = [];
        // let typeArr = [];
        // typeArr[0] = this.data.school[this.data.value[0]].school_name;
        // typeArr[1] = this.data.grade[this.data.value[1]].grade_name;
        // typeArr[2] = this.data.sex[this.data.value[2]].name;
        this.setData({
            anonymous: this.data.is_anonymous[this.data.anonymousValue[0]].name,
            showPicker: false,
            showAnonymous: false,
            last_is_anonymous_id: this.data.is_anonymous[this.data.anonymousValue[0]].id,
        });
    },
    //打开个人信息picker
    showPicker() {
        this.setData({
            showPicker: !this.data.showPicker,
            value: [0,0,0]
        });
        // if(this.data.currentPortalOne !== 6 && this.data.currentPortalOne !== 7) {
        //     this.getPortalThree()
        // }
    },
    //打开匿名picker
    openAnonymousPicker() {
        this.setData({
            showAnonymous: !this.data.showAnonymous,
        });
    },
    closePicker() {
        this.setData({showPicker: false,showAnonymous: false})
    },
    //上传图片
    choose(e) { //这里是选取图片的方法
        let that = this;
        wx.chooseImage({
            count: 9, //最多可以选择的图片总数
            sizeType: ['compressed'], // 可以指定是原图还是压缩图,默认二者都有
            sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
            success: function(res) {
                // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片
                let tempFilePaths = res.tempFilePaths;
                //启动上传等待中...
                wx.showToast({
                    title: '正在上传...',
                    icon: 'loading',
                    mask: true,
                    duration: 10000
                })
                let token = wx.getStorageSync('token');
                let uploadImgCount = 0;
                for (let i = 0, h = tempFilePaths.length; i < h; i++) {
                    wx.uploadFile({
                        url: 'http://informationxcx.w.bronet.cn/api/home/home/upload',
                        filePath: tempFilePaths[i],
                        name: 'file',
                        formData: {
                            'imgIndex': i
                        },
                        header: {
                            'content-type': 'application/x-www-form-urlencoded',
                            'XX-Token': token,
                            'XX-Device-Type': 'wxapp',
                        },
                        success: function(res) {
                            uploadImgCount++;
                            let data = JSON.parse(res.data);
                            // console.log('data',data);
                            if (data.code == 20000) {
                                //服务器返回格式: { "Catalog": "testFolder", "FileName": "1.jpg", "Url": "https://test.com/1.jpg" }
                                let images = that.data.images;

                                images.push(data.msg);
                                that.setData({
                                    images: images
                                });
                                // console.log(images)
                                //如果是最后一张,则隐藏等待中
                                if (uploadImgCount == tempFilePaths.length) {
                                    wx.hideToast();
                                }
                            } else {
                                wx.hideToast();
                                wx.showModal({
                                    title: '提示',
                                    content: data.msg,
                                    showCancel: false
                                })
                            }

                        },
                        fail: function(res) {
                            wx.hideToast();
                            wx.showModal({
                                title: '错误提示',
                                content: '上传图片失败',
                                showCancel: false,
                                success: function(res) {}
                            })
                        }
                    });
                }
            }
        });
    },
    // 删除图片
    deleteImg(e) {
        var imgs = this.data.images;
        var index = e.currentTarget.dataset.index;
        imgs.splice(index, 1);
        this.setData({
            images: imgs
        });
    },

    // 预览图片
    previewImg: function (e) {
        //获取当前图片的下标
        var index = e.currentTarget.dataset.index;
        //所有图片
        var imgs = this.data.images;
        wx.previewImage({
            //当前显示图片
            current: imgs[index],
            //所有图片
            urls: imgs
        })
    },
    onLoad: function (options) {
        // this.getPortalOne();
        this.getWxn();
        this.getWishPortal();
    },
    //输入微信号
    inputWxNum(e) {
        this.setData({wx_number: e.detail.value})
    },
    //输入报答
    inputRepay(e) {
        this.setData({repay: e.detail.value})
    },
    // 查询微信号
    getWxn() {
        let url = '/home/home/wxn';
        let header = {
            "XX-Token": wx.getStorageSync('token')
        };
        app.post(url,{},header).then((res) => {
            // console.log('查询微信号', res);
            if(res !== null || res !== '') {
                this.setData({
                    wx_number: res,
                });
            }
        })
    },
    //提交发布心愿表单
    submitServiceForm() {
        let self = this;
        if(self.data.textareavalue === '') {
            wx.showToast({
                title: '请填写发布信息',
                icon: 'none'
            })
        }else if(self.data.type.length === 0){
            wx.showToast({
                title: '请选择个人信息',
                icon: 'none'
            })
        }else if(self.data.wx_number === ''){
            wx.showToast({
                title: '微信号不能为空~',
                icon: 'none'
            })
        }else if(self.data.type.length !== 0 && self.data.textareavalue
            && self.data.wx_number){
            let url = '/home/wish/submit_wish';
            let header = {
                "XX-Token": wx.getStorageSync('token')
            };
            // console.log(self.data.category[self.data.currentPortalOne].name,
            //     self.data.school[self.data.value[0]].school_name,
            //     self.data.grade[self.data.value[1]].grade_name,
            //     self.data.sex[self.data.value[2]].name);
            let params = {
                category_id: self.data.category[self.data.currentPortalOne].id,
                school_id: self.data.school[self.data.value[0]].id,
                grade_id: self.data.grade[self.data.value[1]].id,
                sex: self.data.sex[self.data.value[2]].id,
                anonymity: self.data.last_is_anonymous_id,
                number: self.data.wx_number,
                content: self.data.textareavalue,
                file: self.data.images,
                payback: self.data.repay,
            };
            app.post(url,params,header).then((res) => {
                // console.log('提交心愿表单', res);
                // self.setData({
                //     portal_three: res,
                // });
                wx.showToast({title:'发布成功',icon: 'success'});
                // wx.hideToast({});
                wx.redirectTo({url: '/pages/wish/wish'})
            })
        }
    },
    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

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

    },

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

    },

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

    },

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

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

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

    }
})