import { loginStatus, post } from '@/utils/https'; import { cloneLite, getAuthInfo, getDataSet, showModal, sleep, toArray, toastSuccess, toNumber, } from '@/utils/util'; const defaultParams = { curr_page: 1, page_count: 20, states: [1, 4], head_type: 2 }; Page({ /** * 页面的初始数据 */ data: { params: cloneLite(defaultParams) as any, list: [] as any[], count: 0, states: [ { value: 1, label: '未入库' }, { value: 4, label: '部分入库' }, { value: 3, label: '完成入库' }, ], sort: [{ label: '创建日期', value: 'create_date' }], }, handleLogin(e: any) { this.setData({ isLogin: e.detail }); if (e.detail) { this.init(); } }, init() { this.setData({ authInfo: getAuthInfo() }); this.getList(); }, searchChange(e: any) { const key = getDataSet(e).key; this.data.params[key] = e.detail.value; this.setData({ params: this.data.params }); }, searchChange2(e: any) { const key = getDataSet(e).key; const val = `${e.detail.value || ''}`.trim(); if (val) { this.data.params[key] = val; } else { delete this.data.params[key]; } this.setData({ params: this.data.params }); }, onOptionChange(e: any) { const key = getDataSet(e).key; this.data.params[key] = e.detail.value; this.setData({ params: this.data.params }); }, datePickerConfirm(e: any) { const data = getDataSet(e); this.data.params[data.key] = e.detail.value; 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); }, getList(curr: number = 1) { this.data.params.curr_page = curr; this.setData({ params: this.data.params }); const temp = cloneLite(this.data.params); if (temp.states && temp.states.length) { temp.states = temp.states.join(','); } else { delete temp.states; } post('ErpDepot/depotHeadList', 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, }); }); }, onOrderDel(e: any) { const data = getDataSet(e); const index = data.index; const item = this.data.list[index]; showModal({ content: `确认删除 ${item.bill_no} 订单?` }).then(() => { post('ErpDepot/depotHeadDel', { head_id: item.head_id }).then(() => { toastSuccess('删除成功'); sleep(() => { this.getList(); }, 1000); }); }); }, /** * 生命周期函数--监听页面加载 */ 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() {}, });