kinship.js 4.1 KB
// pages/kinship/kinship.js
const app = getApp();
Page({

    /**
     * 页面的初始数据
     */
    data: {
        startX: 0, //开始坐标
        startY: 0,
        showModel: false
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        console.log(options);
        this.setData({
            studentsId: options.studentsId
        });
        this.relativesFun();
    },
    // 亲属关系接口
    relativesFun(){
        let t = this;
        let url = '/api/getopenid/studentguanxi';
        let params = {
            id: t.data.studentsId
        };
        app.post(url,params).then(res =>{
            console.log(res);
            t.setData({
                list: res.data.msg,
                listTow:res.data.msg.list
            })
        })
    },
    //手指触摸动作开始 记录起点X坐标
    touchstart(e) {
        let that = this;
        let id = e.currentTarget.dataset.id;
        that.data.listTow.forEach(function (v, i) {
            // console.log(v);
            // console.log(i);
            if (v.isisTouchMove) {
                v.isisTouchMove = false
            };
            that.setData({
                startX: e.changedTouches[0].clientX,
                startY: e.changedTouches[0].clientY,
                listTow: that.data.listTow,
                id:id
            })
        })
    },
    //滑动事件处理
    touchmove(e) {
        console.log(e)
        let that = this;
        let index = e.currentTarget.dataset.index; //当前索引
        let startX = that.data.startX; //开始X坐标
        let startY = that.data.startY; //开始Y坐标
        let touchMoveX = e.changedTouches[0].clientX; //滑动变化坐标
        let touchMoveY = e.changedTouches[0].clientY; //滑动变化坐标
        // 获取滑动角度
        let angle = that.angle({
            X: startX,
            Y: startY
        }, {
                X: touchMoveX,
                Y: touchMoveY
            });
        that.data.listTow.forEach(function (v, i) {
            v.isTouchMove = false;
            //滑动超过30度角 return
            if (Math.abs(angle) > 30) return;
            if (i == index) {
                if (touchMoveX > startX) //右滑
                    v.isTouchMove = false
                else //左滑
                    v.isTouchMove = true
            }
        })
        //更新数据
        that.setData({
            listTow: that.data.listTow,
            indexs: index
        })
    },
    /**
     * 计算滑动角度
     * @param {Object} start 起点坐标
     * @param {Object} end 终点坐标
     */
    angle: function (start, end) {
        var _X = end.X - start.X,
            _Y = end.Y - start.Y
        //返回角度 /Math.atan()返回数字的反正切值
        return 360 * Math.atan(_Y / _X) / (2 * Math.PI);
    },
    //删除事件
    del: function (e) {
        this.setData({
            showModel: true
        })
    },
    // 取消弹框
    maskNo() {
        this.setData({
            showModel: false
        })
    },
    // 确定弹框
    maskOk() {
        let t = this;
        let url = '/api/getopenid/deletstudentguanxi';
        let params = {
            id: t.data.id,
            student_id: t.data.studentsId
        }
        app.post(url,params).then(res=>{
            t.relativesFun();
            t.setData({
                showModel: false
            });
        })
        
    },
    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

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

    },

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

    },

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

    },

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

    },

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

    },

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

    }
})