Merge remote-tracking branch 'origin/main' into dev/chat

dev/chat
Lei OT 1 year ago
commit d35e94f504

@ -4,7 +4,7 @@ import { fetchJSON } from '@/utils/request'
const useAuthStore = create((set, get) => ({
// GLOBAL_SALES_LOGIN_USER
// {"userId":"383","username":"廖一军","avatarUrl":"https://static-legacy.dingtalk.com/media/lALPBDDrhXr716HNAoDNAoA_640_640.png","mobile":"+86-18777396951","email":"lyj@hainatravel.com","openId":"iioljiPmZ4RPoOYpkFiSn7IKAiEiE","accountList":[{"OPI_SN":383,"OPI_Code":"LYJ","OPI_NameCN":"廖一军","OPI_DEI_SN":7,"OPI_NameEN":"Jimmy Liow"},{"OPI_SN":609,"OPI_Code":"LYJAH","OPI_NameCN":"廖一军ah","OPI_DEI_SN":28,"OPI_NameEN":"Jimmy Liow"}]}
// {"userId":"383","userIdStr":"383,609","username":"廖一军","avatarUrl":"https://api.dicebear.com/7.x/miniavs/svg?seed=1","mobile":"+86-18777396951","email":"lyj@hainatravel.com","openId":"iioljiPmZ4RPoOYpkFiSn7IKAiEiE","accountList":[{"OPI_SN":383,"OPI_Code":"LYJ","OPI_NameCN":"廖一军","OPI_DEI_SN":7,"OPI_NameEN":"Jimmy Liow"},{"OPI_SN":609,"OPI_Code":"LYJAH","OPI_NameCN":"廖一军ah","OPI_DEI_SN":28,"OPI_NameEN":"Jimmy Liow"}]}
loginUser: {
userId: -1,
userIdStr: '-1',

@ -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 })

@ -1,12 +1,10 @@
import { LinkOutlined, MailOutlined, PhoneOutlined, UserOutlined, WhatsAppOutlined } from '@ant-design/icons'
import { Card, Flex, Select, Typography } from 'antd'
import { useEffect } from 'react'
import { useLocation, useParams } from 'react-router-dom'
import { Card, Flex, Select, Typography, List, Button, Table } from 'antd'
import { useAuthContext } from '@/stores/AuthContext.js'
import { UserOutlined, LinkOutlined, EllipsisOutlined, SmileOutlined, SyncOutlined, PhoneOutlined, MailOutlined, WhatsAppOutlined, SmileTwoTone } from '@ant-design/icons'
import { useParams } from 'react-router-dom'
import CreatePayment from './CreatePayment'
import QuotesHistory from './QuotesHistory'
import useOrderStore from '@/stores/OrderStore'
import QuotesHistory from './QuotesHistory'
const CustomerProfile = (() => {
const { order_sn: order_sn } = useParams()

@ -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 }) {
<Col span={4}>
<Form.Item label='出发日期' name='startDateRange'>
<RangePicker
allowClear={false}
allowClear={true}
inputReadOnly={true}
presets={DATE_RANGE_PRESETS}
/>
@ -143,7 +143,7 @@ const AdvanceSearchForm = memo(function ({ onSubmit }) {
)
})
function OrderList({ formValues }) {
function OrderCollapseTable({ formValues }) {
const orderColumns = [
{
@ -203,53 +203,13 @@ function OrderList({ formValues }) {
},
]
const { notification } = App.useApp()
const [orderData, setOrderData] = useState([])
const [loading, setLoading] = useState(false)
const { orderData, fetchOrderList } = useOrderStore()
const { loginUser } = useAuthStore()
let fetchOrderUrl = `${API_HOST}/getwlorder?opisn=${loginUser.userIdStr}&otype=${formValues.type}`
if (formValues.type === 'advance') {
const fromDate = formValues.startDateRange[0].format('YYYY-MM-DD')
const 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()
}
useEffect(() => {
setLoading(true)
fetch(fetchOrderUrl)
.then(response => response.json())
.then(json => {
if (json.errcode === 0) {
setOrderData(json.result.map((order) => { return { ...order, key: order.COLI_ID } }))
} else {
notification.error({
message: '查询出错',
description: json?.errmsg,
placement: 'top',
duration: 60,
})
}
})
fetchOrderList(formValues, loginUser)
.finally(() => setLoading(false))
.catch(reason => {
notification.error({
@ -320,7 +280,7 @@ function OrderList({ formValues }) {
label: deptMap.get(deptNo) + '订单',
children: <Table key={'Order Table' + deptNo} loading={loading} dataSource={deptOrderList}
columns={orderColumns}
pagination={paginationProps} />
pagination={deptOrderList.length <= 10 ? false : paginationProps} />
}
)
})
@ -373,7 +333,7 @@ function OrderFollow() {
</Flex>
<Conditional condition={advanceChecked} whenTrue={<AdvanceSearchForm onSubmit={handleSubmit} />}
/>
<OrderList formValues={formValues} />
<OrderCollapseTable formValues={formValues} />
</Space>
</>
)

Loading…
Cancel
Save