const _Http = getApp().globalData.http; Page({ data: { loading: true, params: {}, //请求体 result: [], //返回结果 radio: false, //是否为单选 idname: "contactsid", //idkey showName: "name", selected: 0, }, onLoad(options) { if (options.item) { let item = JSON.parse(options.item); this.setData({ item, params: item.params }); } if (options.params) { let params = JSON.parse(options.params); this.setData({ params, sys_enterpriseid: params.content.sys_enterpriseid }); } this.setData({ radio: options.radio ? true : false, idname: options.idname || this.data.idname, showName: options.showName || this.data.showName, }); getApp().globalData.Language.getLanguagePackage(this, 'E-订单'); 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.code != '1') return wx.showToast({ title: res.msg, icon: "none" }) let list = res.pageNumber == 1 ? res.data : this.data.list.concat(res.data), selected = ""; try { selected = list.find(v => v.isdefault).contactsid } catch (error) { } this.setData({ 'params.content.pageNumber': res.pageNumber + 1, 'params.content.pageTotal': res.pageTotal, 'params.content.total': res.total, selected: selected, list, loading: false }) }) }, // 修改默认 radioChange({ detail }) { let list = this.data.list, data = list.find(v => v.contactsid == detail) if (data.isdefault == 1) return; data.isdefault = 1; _Http.basic({ "id": "20221009155703", "content": data }, false).then(res => { console.log(res) if (res.code != '1') return wx.showToast({ title: res.data, icon: "none" }); this.setData({ list }) }) }, //处理操作 /* 选中 */ 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) }, handleItem(e) { const { name, item } = e.target.dataset; if (name == 'edit') { wx.navigateTo({ url: '/select/address/addAndEdit?sys_enterpriseid=' + this.data.sys_enterpriseid + "&data=" + JSON.stringify(item), }) } else { wx.showModal({ cancelText: getApp().globalData.Language.getMapText('取消'), confirmText: getApp().globalData.Language.getMapText('确定'), title: getApp().globalData.Language.getMapText('提示'), content: getApp().globalData.Language.getMapText('是否确定删除') + `“${item.name}”`, complete: (res) => { if (res.confirm) _Http.basic({ "id": "20221009155903", "content": { "contactsids": [item.contactsid] }, }).then(res => { console.log("删除明细", res) wx.showToast({ title: res.code == '1' ? getApp().globalData.Language.getMapText('删除成功') : res.msg, icon: "none" }); this.setData({ "params.content.total": this.data.params.content.total - 1, list: this.data.list.filter(v => v.contactsid != item.contactsid) }) }) } }) } }, add() { wx.navigateTo({ url: '/select/address/addAndEdit?sys_enterpriseid=' + this.data.sys_enterpriseid, }) }, /* 开始搜索 */ 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); }, onShow() { let params = JSON.parse(JSON.stringify(this.data.params)); params.content.pageSize = params.content.pageSize * (params.content.pageNumber - 1); params.content.pageNumber = 1; _Http.basic(params).then(res => { this.selectComponent('#ListBox').RefreshToComplete(); if (res.code != '1') return; let list = res.data, selected = ""; try { selected = list.find(v => v.isdefault).contactsid } catch (error) { } this.setData({ 'params.content.total': res.total, selected: selected, list }) }) }, /* 取消搜索 */ 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; } })