From 1da2f33f1c9411c5d6e7eee098877920ff09841b Mon Sep 17 00:00:00 2001 From: Jimmy Liow Date: Fri, 26 Jan 2024 10:57:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E6=9F=A5=E8=AF=A2=E4=BB=8A?= =?UTF-8?q?=E6=97=A5=E8=AE=A2=E5=8D=95=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main.jsx | 2 +- src/views/AccountProfile.jsx | 2 +- src/views/OrderFollow.jsx | 261 ++++++++++++++--------------------- 3 files changed, 103 insertions(+), 162 deletions(-) diff --git a/src/main.jsx b/src/main.jsx index d00bca9..4ae749d 100644 --- a/src/main.jsx +++ b/src/main.jsx @@ -54,7 +54,7 @@ const router = createBrowserRouter([ ReactDOM.createRoot(document.getElementById('root')).render( // - +
Loading...
} />
diff --git a/src/views/AccountProfile.jsx b/src/views/AccountProfile.jsx index e7b3637..f95e8ed 100644 --- a/src/views/AccountProfile.jsx +++ b/src/views/AccountProfile.jsx @@ -4,7 +4,7 @@ import { Row, Col, Space, Descriptions, Avatar } from 'antd' -import { useAuthContext } from '@/stores/AuthContext.js' +import { useAuthContext } from '@/stores/AuthContext' function AccountProfile() { const { loginUser, permissionList } = useAuthContext() diff --git a/src/views/OrderFollow.jsx b/src/views/OrderFollow.jsx index 6fdd417..941cd18 100644 --- a/src/views/OrderFollow.jsx +++ b/src/views/OrderFollow.jsx @@ -1,143 +1,12 @@ -import { useNavigate } from 'react-router-dom' -import { memo, useMemo, useCallback, useEffect, useState } from 'react' +import { memo, useCallback, useEffect, useState } from 'react' import { - Row, Badge, Divider, Table, Card, Button, Input, - Space, Tag, Radio, Select, Flex, Spin, Form, Switch, DatePicker, List, Avatar + Badge, Divider, Table, Button, Input, + Space, Tag, Radio, Select, Flex, Form, Switch, DatePicker } from 'antd' -import { - StarFilled, ZoomInOutlined, StarOutlined, BarsOutlined, AppstoreOutlined, SearchOutlined -} from '@ant-design/icons' import { Conditional } from '@/components/Conditional' -import { useGetJson } from '@/hooks/userFetch' - -const { RangePicker } = DatePicker; - -const dataSource = [ - { - key: '1', - orderNumber: 'LU231218115(3)', - fullname: 'Giacomo Guilizzoni(R1)', - orderStatus: '新订单', - trip: 'Itinerary2: Tkyoto tour', - lastMessage: '2024-03-25 16:02', - comment: '吃素、蜜月', - }, - { - key: '2', - orderNumber: 'LU231218115(3)', - fullname: 'Giacomo Guilizzoni(R1)', - orderStatus: '新订单', - trip: 'Itinerary2: Tkyoto tour', - lastMessage: '2024-03-25 16:02', - comment: '吃素、蜜月', - }, - { - key: '3', - orderNumber: 'LU231218115(3)', - fullname: 'Giacomo Guilizzoni(R1)', - orderStatus: '新订单', - trip: 'Itinerary2: Tkyoto tour', - lastMessage: '2024-03-25 16:02', - comment: '吃素、蜜月', - }, - { - key: '4', - orderNumber: 'LU231218115(3)', - fullname: 'Giacomo Guilizzoni(R1)', - orderStatus: '新订单', - trip: 'Itinerary2: Tkyoto tour 超级无敌长的报价标题', - lastMessage: '2024-03-25 16:02', - comment: '吃素、蜜月', - }, - { - key: '5', - orderNumber: 'LU231218115(3)', - fullname: 'Giacomo Guilizzoni(R1)', - orderStatus: '新订单', - trip: 'Itinerary2: Tkyoto tour', - lastMessage: '2024-03-25 16:02', - comment: '吃素、蜜月', - }, - { - key: '6', - orderNumber: 'LU231218115(3)', - fullname: 'Giacomo Guilizzoni(R1)', - orderStatus: '新订单', - trip: 'Itinerary2: Tkyoto tour', - lastMessage: '2024-03-25 16:02', - comment: '吃素、蜜月', - }, - { - key: '7', - orderNumber: 'LU231218115(3)', - fullname: 'Giacomo Guilizzoni(R1)', - orderStatus: '新订单', - trip: 'Itinerary2: Tkyoto tour', - lastMessage: '2024-03-25 16:02', - comment: '吃素、蜜月', - }, -]; +import { useAuthContext } from '@/stores/AuthContext' -const columns = [ - { - title: '订单号', - dataIndex: 'orderNumber', - key: 'orderNumber', - width: 222, - render: (text, record, index) => { - if (index === 1) return {text}重点 - else if (index === 2) return {text}潜力 - else return {text}休眠 - } - }, - { - title: '客人姓名', - dataIndex: 'fullname', - key: 'fullname', - render: (text, record, index) => { - return ( - - {text} - - - ) - } - }, - { - title: '订单状态', - dataIndex: 'orderStatus', - key: 'orderStatus', - width: 120, - render: (text, record, index) => { - if (index === 1) return text + '(一催)' - else if (index === 2) return text + '(二催)' - else if (index === 3) return text + '(三催)' - else return text - } - }, - { - title: '报价title', - dataIndex: 'trip', - key: 'trip', - ellipsis: true, - }, - { - title: '客人最后一次回复时间', - dataIndex: 'lastMessage', - key: 'lastMessage', - }, - { - title: '附加信息', - dataIndex: 'comment', - key: 'comment', - }, -] +const { RangePicker } = DatePicker const AdvanceSearchForm = memo(function ({ onSubmit }) { const [form] = Form.useForm() @@ -221,10 +90,99 @@ const AdvanceSearchForm = memo(function ({ onSubmit }) { ) }) +function OrderList({ formValues }) { + + const orderColumns = [ + { + title: '订单号', + dataIndex: 'COLI_ID', + key: 'COLI_ID', + width: 222, + render: (text, record) => { + if (record.COLI_LineGrade === 240003) return {text}重点 + else if (record.COLI_LineGrade === 240002) return {text}潜力 + else if (record.COLI_LineGrade === 240001) return {text}休眠 + else return {text} + } + }, + { + title: '客人姓名', + dataIndex: 'coli_guest', + key: 'coli_guest', + render: (text, record) => { + let regularText = '' + if (record.buytime > 0) regularText = '(R' + record.buytime + ')' + return ( + + {text + regularText} + + + ) + } + }, + { + title: '订单状态', + dataIndex: 'COLI_State', + key: 'COLI_State', + width: 120, + render: (text, record) => { + let extra = '' + if (record.RemindState === 1) extra = '(一催)' + if (record.RemindState === 2) extra = '(二催)' + if (record.RemindState === 3) extra = '(三催)' + return text + extra + } + }, + { + title: '报价title', + dataIndex: 'lettertitle', + key: 'lettertitle', + ellipsis: true, + }, + { + title: '客人最后一次回复时间', + dataIndex: 'last_received_time', + key: 'last_received_time', + }, + { + title: '附加信息', + dataIndex: 'COLI_Introduction', + key: 'COLI_Introduction', + }, + ] + + const [orderData, setOrderData] = useState([]) + const [loading, setLoading] = useState(false) + const { loginUser } = useAuthContext() + + useEffect(() => { + setLoading(true) + fetch(`http://202.103.68.157:8888/gettodayorder?opisn=${loginUser.userId}`) + .then(response => response.json()) + .then(json => { + if (json.errcode === 0) { + setOrderData([...json.result]) + setLoading(false) + } + }) + .catch(reason => { + console.info(reason) + }) + }, [formValues]) + + return ( + + ) +} function OrderFollow() { const [advanceChecked, toggleAdvance] = useState(false) - const [searchCriteria, setSearchCriteria] = useState({ + const [formValues, setFormValues] = useState({ type: 'today', orderStatus: '新状态', orderNumber: '订单号', @@ -232,16 +190,8 @@ function OrderFollow() { startDate: '走团时间' }) - const orderListMemo = useMemo(() => , [searchCriteria]) - - const handleSubmit = useCallback((criteria) => { - setSearchCriteria({ - ...criteria, - type: 'advance' - }) - }, []) - - useEffect(() => { + const handleSubmit = useCallback((values) => { + setFormValues({...values, type: 'advance'}) }, []) return ( @@ -257,10 +207,10 @@ function OrderFollow() { { label: '走团中', value: 'ing' }, { label: '走团后一月', value: 'lastMonth' } ]} - value={searchCriteria.type} + value={formValues.type} onChange={({ target: { value } }) => { - setSearchCriteria({ - ...searchCriteria, + setFormValues({ + ...formValues, type: value }) }} @@ -277,18 +227,9 @@ function OrderFollow() { /> - {orderListMemo} + ) - - function OrderList({ searchCriteria }) { - console.info(searchCriteria) - const countryList = useGetJson(`https://p9axztuwd7x8a7.mycht.cn/service-InfoSys/InfoSys/GetCountryList`) - - return ( -
- ) - } } export default OrderFollow