删除 ahooks;

共用状态Options;
增加设置成功、失败提示
dev/mobile
Jimmy Liow 2 years ago
parent 6d3c40188c
commit 567e055ca8

@ -10,7 +10,6 @@
"preview": "vite preview"
},
"dependencies": {
"ahooks": "^3.7.8",
"antd": "^5.14.0",
"crypto-js": "^4.2.0",
"dayjs": "^1.11.10",

@ -3,7 +3,7 @@ import { fetchJSON } from '@/utils/request'
import { API_HOST } from '@/config'
import { isNotEmpty, prepareUrl } from '@/utils/commons'
const useOrderStore = create((set, get) => ({
export const useOrderStore = create((set, get) => ({
orderList: [],
orderDetail: {},
@ -80,7 +80,7 @@ const useOrderStore = create((set, get) => ({
},
setOrderPropValue: async (colisn, propName, value) => {
const json = await fetchJSON(`${API_HOST}/setorderstatus`, { colisn, stype: propName, svalue: value })
if (propName === 'orderlabel') {
set((state) => ({
orderDetail: {
@ -98,8 +98,36 @@ const useOrderStore = create((set, get) => ({
}
}))
}
return fetchJSON(`${API_HOST}/setorderstatus`, { colisn, stype: propName, svalue: value })
.then(json => {
if (json.errcode > 0) {
throw new Error(json?.errmsg + ': ' + json.errcode)
}
})
},
}))
export default useOrderStore
export const OrderLabelDefaultOptions = [
{ value: 240003, label: '重点' },
{ value: 240002, label: '次重点' },
{ value: 240001, label: '一般' }
]
export const OrderStatusDefaultOptions = [
{ value: 1, label: '新订单' },
{ value: 2, label: '报价中' },
{ value: 3, label: '以后联系' },
{ value: 4, label: '等待付订金' },
{ value: 5, label: '成行' },
{ value: 6, label: '丢失' },
{ value: 7, label: '取消' },
{ value: 8, label: '未报价' }
]
export const RemindStateDefaultOptions = [
{ value: '1', label: '一催' },
{ value: '2', label: '二催' },
{ value: '3', label: '三催' }
]

@ -2,19 +2,25 @@ import { LinkOutlined, MailOutlined, PhoneOutlined, UserOutlined, WhatsAppOutlin
import { App, Button, Card, Empty, Flex, Select, Spin, Typography } from 'antd'
import { useEffect, useState } from 'react'
import { copy, isNotEmpty } from '@/utils/commons'
import { Conditional } from '@/components/Conditional'
import useConversationStore from '@/stores/ConversationStore'
import useOrderStore from '@/stores/OrderStore'
import { useOrderStore, OrderLabelDefaultOptions, OrderStatusDefaultOptions } from '@/stores/OrderStore'
import QuotesHistory from './QuotesHistory'
const CustomerProfile = (() => {
const { notification } = App.useApp()
const { notification, message } = App.useApp()
const [loading, setLoading] = useState(false)
const currentOrder = useConversationStore((state) => state.currentConversation?.coli_sn || '')
const { orderDetail, customerDetail, lastQuotation, quotationList,
fetchOrderDetail, setOrderPropValue
} = useOrderStore()
const orderLabelOptions = copy(OrderLabelDefaultOptions)
orderLabelOptions.unshift({ value: 0, label: '未设置', disabled: true, })
const orderStatusOptions = copy(OrderStatusDefaultOptions)
useEffect(() => {
if (currentOrder) {
setLoading(true)
@ -36,7 +42,7 @@ const CustomerProfile = (() => {
if (currentOrder) {
return (
<div className=' divide-x-0 divide-y divide-dashed divide-gray-300 '>
<div className='divide-x-0 divide-y divide-dashed divide-gray-300'>
<Spin spinning={loading}>
<Card className='p-2 '
bordered={false}
@ -48,15 +54,21 @@ const CustomerProfile = (() => {
}}
variant='borderless'
onSelect={(value) => {
setOrderPropValue(order_sn, 'orderlabel', value)
setOrderPropValue(currentOrder, 'orderlabel', value)
.then(() => {
message.success('设置成功')
})
.catch(reason => {
notification.error({
message: '设置出错',
description: reason.message,
placement: 'top',
duration: 60,
})
})
}}
value={orderDetail.tags}
options={[
{ value: 0, label: '未设置', disabled: true, },
{ value: 240003, label: '重点' },
{ value: 240002, label: '次重点' },
{ value: 240001, label: '一般' }
]}
options={orderLabelOptions}
/>,
<Select
style={{
@ -64,19 +76,21 @@ const CustomerProfile = (() => {
}}
variant='borderless'
onSelect={(value) => {
setOrderPropValue(order_sn,'orderstatus', value)
setOrderPropValue(currentOrder,'orderstatus', value)
.then(() => {
message.success('设置成功')
})
.catch(reason => {
notification.error({
message: '设置出错',
description: reason.message,
placement: 'top',
duration: 60,
})
})
}}
value={orderDetail.states}
options={[
{ value: 1, label: '新订单' },
{ value: 2, label: '报价中' },
{ value: 3, label: '以后联系' },
{ value: 4, label: '等待付订金' },
{ value: 5, label: '成行' },
{ value: 6, label: '丢失' },
{ value: 7, label: '取消' },
{ value: 8, label: '未报价' }
]}
options={orderStatusOptions}
/>
]}
>

@ -1,7 +1,7 @@
import { Conditional } from '@/components/Conditional'
import useAuthStore from '@/stores/AuthStore'
import useFormStore from '@/stores/FormStore'
import useOrderStore from '@/stores/OrderStore'
import { useOrderStore, OrderLabelDefaultOptions, OrderStatusDefaultOptions, RemindStateDefaultOptions } from '@/stores/OrderStore'
import { copy, isNotEmpty } from '@/utils/commons'
import { InfoCircleTwoTone, MailTwoTone, MessageTwoTone, PhoneTwoTone, WhatsAppOutlined } from '@ant-design/icons'
import {
@ -50,7 +50,16 @@ const AdvanceSearchForm = memo(function noName({ initialValues, onSubmit }) {
value: [dayjs().startOf('y'), dayjs().endOf('y')],
},
]
const orderLabelOptions = copy(OrderLabelDefaultOptions)
orderLabelOptions.unshift({ value: '', label: '全部' })
const orderStatusOptions = copy(OrderStatusDefaultOptions)
orderStatusOptions.unshift({ value: '', label: '全部' })
const remindStateOptions = copy(RemindStateDefaultOptions)
remindStateOptions.unshift({ value: '', label: '全部' })
const [form] = Form.useForm()
function handleSubmit(values) {
@ -92,41 +101,21 @@ const AdvanceSearchForm = memo(function noName({ initialValues, onSubmit }) {
<Col span={2}>
<Form.Item label='标签' name='orderLabel'>
<Select
options={[
{ value: '', label: '全部' },
{ value: '240003', label: '重点' },
{ value: '240002', label: '次重点' },
{ value: '240001', label: '一般' }
]}
options={orderLabelOptions}
/>
</Form.Item>
</Col>
<Col span={2}>
<Form.Item label='状态' name='orderStatus'>
<Select
options={[
{ value: '', label: '全部' },
{ value: '1', label: '新订单' },
{ value: '2', label: '报价中' },
{ value: '3', label: '以后联系' },
{ value: '4', label: '等待付订金' },
{ value: '5', label: '成行' },
{ value: '6', label: '丢失' },
{ value: '7', label: '取消' },
{ value: '8', label: '未报价' }
]}
options={orderStatusOptions}
/>
</Form.Item>
</Col>
<Col span={2}>
<Form.Item label='催信' name='remindState'>
<Select
options={[
{ value: '', label: '全部' },
{ value: '1', label: '一催' },
{ value: '2', label: '二催' },
{ value: '3', label: '三催' }
]}
options={remindStateOptions}
/>
</Form.Item>
</Col>

@ -1,5 +1,5 @@
import useAuthStore from '@/stores/AuthStore'
import { Flex, Result, Spin, Typography } from 'antd'
import { Flex, Result, Spin } from 'antd'
import { useEffect } from 'react'
import { useNavigate } from 'react-router-dom'

Loading…
Cancel
Save