diff --git a/src/stores/OrderStore.js b/src/stores/OrderStore.js index 2282ed4..87fc156 100644 --- a/src/stores/OrderStore.js +++ b/src/stores/OrderStore.js @@ -1,19 +1,69 @@ import { create } from 'zustand' -import { devtools } from 'zustand/middleware' -import { fetchJSON, postJSON } from '@/utils/request' - -const API_HOST = 'https://p9axztuwd7x8a7.mycht.cn/whatsapp_server' +import { fetchJSON } from '@/utils/request' +import { API_HOST } from '@/config' const useOrderStore = create((set, get) => ({ + orderData: [], orderDetail: {}, - customerDetail: {}, - lastQuotation: {}, - quotationList: [], + fetchOrderList: async (formValues, loginUser) => { + let fetchOrderUrl = `${API_HOST}/getwlorder?opisn=${loginUser.userIdStr}&otype=${formValues.type}` + + if (formValues.type === 'advance') { + + let fromDate = null + let thruDate = null + + if (isNotEmpty(formValues.startDateRange)) { + fromDate = formValues.startDateRange[0].format('YYYY-MM-DD') + thruDate = formValues.startDateRange[1].format('YYYY-MM-DD') + } + + let confirmFromDate = null + let confirmThruDate = null + + if (isNotEmpty(formValues.confirmDateRange)) { + confirmFromDate = formValues.confirmDateRange[0].format('YYYY-MM-DD') + confirmThruDate = formValues.confirmDateRange[1].format('YYYY-MM-DD') + } + + fetchOrderUrl = prepareUrl('https://p9axztuwd7x8a7.mycht.cn/whatsapp_server/getdvancedwlorder') + .append('opisn', loginUser.userIdStr) + .append('startdate', fromDate) + .append('enddate', thruDate) + .append('tag', formValues.orderLabel) + .append('orderstate', formValues.orderStatus) + .append('remindstate', formValues.remindState) + .append('coli_id', formValues.orderNumber) + .append('firstName', formValues.firstName) + .append('lastName', formValues.lastName) + .append('emailphone', formValues.emailOrPhone) + .append('ConfirmDateStart', confirmFromDate) + .append('ConfirmDateEnd', confirmThruDate) + .build() + } + + return fetchJSON(fetchOrderUrl) + .then(json => { + if (json.errcode === 0) { + set(() => ({ + orderData: json.result.map((order) => { return { ...order, key: order.COLI_ID } }), + })) + } else { + throw new Error(json?.errmsg + ': ' + json.errcode) + } + }) + // .finally(() => setLoading(false)) + .catch(reason => { + throw new Error(reason.message) + }) + + }, + fetchOrderDetail: async (colisn) => { const { orderDetail, updateQuotation } = get() const json = await fetchJSON(`${API_HOST}/getorderinfo`, { colisn }) diff --git a/src/views/OrderFollow.jsx b/src/views/OrderFollow.jsx index 9fc800d..a5aa68a 100644 --- a/src/views/OrderFollow.jsx +++ b/src/views/OrderFollow.jsx @@ -6,6 +6,7 @@ import { memo, useCallback, useEffect, useState } from 'react' import { Link } from 'react-router-dom' import dayjs from 'dayjs' import { Conditional } from '@/components/Conditional' +import useOrderStore from '@/stores/OrderStore' import useAuthStore from '@/stores/AuthStore' import { prepareUrl, isNotEmpty } from '@/utils/commons' import { API_HOST } from '@/config' @@ -49,8 +50,7 @@ const AdvanceSearchForm = memo(function ({ onSubmit }) { layout={'vertical'} form={form} initialValues={{ - orderLabel: '', orderStatus: '', remindState: '', - startDateRange: [dayjs().startOf('M'), dayjs().endOf('M')] + orderLabel: '', orderStatus: '', remindState: '' }} onFinish={handleSubmit} > @@ -120,7 +120,7 @@ const AdvanceSearchForm = memo(function ({ onSubmit }) {