import { loginStatus, post } from '@/utils/https'; import { cloneLite, getAuthInfo, getDataSet, searchValueFormat, toArray, toNumber, } from '@/utils/util'; const defaultParams = { curr_page: 1, page_count: 20 }; Page({ /** * 页面的初始数据 */ data: { params: cloneLite(defaultParams) as any, list: [] as any[], count: 0, sort: [{ label: '创建日期', value: 'create_date' }], depots: [] as any[], crms: [] as any[], depotsObj: {} as any, crmObj: {} as any, }, handleLogin(e: any) { this.setData({ isLogin: e.detail }); if (e.detail) { this.init(); } }, init() { this.setData({ authInfo: getAuthInfo() }); this.getList(); this.getData(); }, searchChange(e: any) { const key = getDataSet(e).key; const val = searchValueFormat(e.detail.value); if (val) { this.data.params[key] = val; } else { delete this.data.params[key]; } this.setData({ params: this.data.params }); }, searchOk() { this.getList(1); }, searchReset() { this.data.params = cloneLite(defaultParams); this.getList(1); }, onSort(e: any) { this.data.params.order = e.detail.value; this.setData({ params: this.data.params }); this.getList(1); }, paginationChange(e: any) { this.getList(e.detail.curr_page); }, getData() { post('ErpDepot/ajaxDepotList').then((res: any) => { const depots = toArray(res.data).map((el) => { this.data.depotsObj[el.depot_id] = el.depot_name; return { label: el.depot_name, value: el.depot_id }; }); this.setData({ depots, depotsObj: this.data.depotsObj, }); }); post('ErpCrm/ajaxList', { crm_type: 2 }).then((res: any) => { const crms = toArray(res.data?.list).map((el) => { this.data.crmObj[el.crm_id] = el.crm_name; return { label: el.crm_name, value: el.crm_id }; }); this.setData({ crms, crmObj: this.data.crmObj, }); }); }, getList(curr: number = 1) { this.data.params.curr_page = curr; this.setData({ params: this.data.params }); const temp = cloneLite(this.data.params); post('GoodsBatch/goodsBatchList', temp).then((res: any) => { const list = toArray(res.data); if (list.length == 0 && this.data.params.curr_page > 1) { this.getList(this.data.params.curr_page - 1); } this.setData({ count: toNumber(res.count), list: list, }); }); }, onDetail(e: any) { const data = getDataSet(e); const index = data.index; const item = this.data.list[index]; wx.navigateTo({ url: `/pages/other/batchDetail/batchDetail?batch_id=${ item.batch_id }&title=${encodeURIComponent(item.batch_no)}`, }); }, /** * 生命周期函数--监听页面加载 */ onLoad(_options) {}, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() {}, /** * 生命周期函数--监听页面显示 */ onShow() { this.setData({ loading: true }); loginStatus() .then(() => { this.setData({ isLogin: true, loading: false }); this.init(); }) .catch((err) => { this.setData({ isLogin: false, loading: false }); console.log('调用登录状态请求失败', err); }); }, /** * 生命周期函数--监听页面隐藏 */ onHide() {}, /** * 生命周期函数--监听页面卸载 */ onUnload() {}, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() {}, /** * 页面上拉触底事件的处理函数 */ onReachBottom() {}, /** * 用户点击右上角分享 */ onShareAppMessage() {}, });