| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 | const _Http = getApp().globalData.http;Page({  data: {    loading: true,    params: {}, //请求体    result: [], //返回结果    radio: false, //是否为单选    idname: "sa_promotionid", //idkey    showName: "promname"  },  onLoad(options) {    if (options.item) {      let item = JSON.parse(options.item);      this.setData({        item,        params: item.params      });    }    if (options.params) this.setData({      params: JSON.parse(options.params)    });    this.setData({      radio: options.radio ? true : false,      idname: options.idname || this.data.idname,      showName: options.showName || this.data.showName,    });    this.getList()  },  getList(init = false) {    //init 用于初始化分页    if (init.detail != undefined) init = init.detail;    let params = this.data.params;    if (init) params.content.pageNumber = 1    if (params.content.pageNumber > params.content.pageTotal) return;    _Http.basic(params).then(res => {      console.log("选择活动列表", res)      this.selectComponent('#ListBox').RefreshToComplete();      if (res.msg != '成功') return wx.showToast({        title: res.msg,        icon: "none"      })      this.setData({        'params.content.pageNumber': res.pageNumber + 1,        'params.content.pageTotal': res.pageTotal,        'params.content.total': res.total,        list: res.pageNumber == 1 ? res.data : this.data.list.concat(res.data),        loading: false      })    })  },  /* 选中 */  changeResult(e) {    let {      id    } = e.currentTarget.dataset, result = this.data.result;    if (this.data.radio) {      result = [id];    } else {      result.some(v => v == id) ? result = result.filter(v => v != id) : result.push(id)    }    this.setData({      result    });    if (this.data.radio) this.submit();  },  /* 提交 */  submit() {    let result = this.data.result,      obj = this.data.radio ? {        id: result,        item: this.data.list.find(value => value[this.data.idname] == result),        value: [this.data.list.find(value => value[this.data.idname] == result)[this.data.showName], result]      } : {        result,        list: result.map(v => this.data.list.find(value => value[this.data.idname] == v)),        value: [result.map(v => {          let data = this.data.list.find(value => value[this.data.idname] == v);          return data ? data[this.data.showName] : ""        }), result]      }    getApp().globalData.handleSelect && getApp().globalData.handleSelect(obj)  },  /* 开始搜索 */  startSearch({    detail  }) {    let condition = this.data.content ? this.data.content.where.condition : this.data.params.content.where.condition;    if (detail == condition) return;    this.setData({      'content.where.condition': detail,      'params.content.where.condition': detail    });    this.getList(true);  },  /* 取消搜索 */  onClear() {    this.setData({      'content.where.condition': "",      'params.content.where.condition': ""    });    this.getList(true);  },  onReady() {    this.selectComponent("#ListBox").setHeight(".total", this);  },  onUnload() {    //回收数据    getApp().globalData.handleSelect = null;  }})
 |