|
@@ -7,9 +7,14 @@ import { VList } from 'virtuallist-antd'
|
|
|
import consts from '@/consts'
|
|
import consts from '@/consts'
|
|
|
import type { ProColumns } from '@ant-design/pro-table'
|
|
import type { ProColumns } from '@ant-design/pro-table'
|
|
|
import ProTable from '@ant-design/pro-table'
|
|
import ProTable from '@ant-design/pro-table'
|
|
|
-import { updateCustomerService, delCustomerService } from '@/services/customer'
|
|
|
|
|
|
|
+import {
|
|
|
|
|
+ updateCustomerService,
|
|
|
|
|
+ delCustomerService,
|
|
|
|
|
+ updateClientService,
|
|
|
|
|
+ delClientService
|
|
|
|
|
+} from '@/services/customer'
|
|
|
import { useModal } from '@/components/ModalStore'
|
|
import { useModal } from '@/components/ModalStore'
|
|
|
-import { useRequest } from 'umi'
|
|
|
|
|
|
|
+import { useDispatch, useRequest } from 'umi'
|
|
|
const { TabPane } = Tabs
|
|
const { TabPane } = Tabs
|
|
|
|
|
|
|
|
export enum Servicelog {
|
|
export enum Servicelog {
|
|
@@ -23,6 +28,11 @@ export enum Servicelog {
|
|
|
ONLINE = '4'
|
|
ONLINE = '4'
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+export enum ServiceLogType {
|
|
|
|
|
+ CLIENT,
|
|
|
|
|
+ COMPANY
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
export const servicelogEnum = {
|
|
export const servicelogEnum = {
|
|
|
[Servicelog.VISIT]: {
|
|
[Servicelog.VISIT]: {
|
|
|
title: '上门服务',
|
|
title: '上门服务',
|
|
@@ -57,26 +67,41 @@ type ClientLowerListProps = {
|
|
|
serviceList: API.ServiceLogItem[]
|
|
serviceList: API.ServiceLogItem[]
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-export const ServiceLogItem: React.FC<{ item: API.ServiceLogItem }> = ({ item }) => {
|
|
|
|
|
|
|
+type ServiceLogItemProps = {
|
|
|
|
|
+ item: API.ServiceLogItem
|
|
|
|
|
+ logType: ServiceLogType
|
|
|
|
|
+ updatePayload: { main: string; target: string }
|
|
|
|
|
+}
|
|
|
|
|
+export const ServiceLogItem: React.FC<ServiceLogItemProps> = ({ item, logType, updatePayload }) => {
|
|
|
const dispatchModal = useModal()
|
|
const dispatchModal = useModal()
|
|
|
|
|
+ const dispatch = useDispatch()
|
|
|
|
|
+ const { run: truUpdate, loading: comfirmLoading } = useRequest(
|
|
|
|
|
+ logType === ServiceLogType.COMPANY ? updateCustomerService : updateClientService,
|
|
|
|
|
+ {
|
|
|
|
|
+ manual: true,
|
|
|
|
|
+ onSuccess: () => {
|
|
|
|
|
+ dispatch({
|
|
|
|
|
+ type: 'refresh/commitAction',
|
|
|
|
|
+ payload: updatePayload
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ )
|
|
|
|
|
+ const { run: truDel, loading: delLoading } = useRequest(
|
|
|
|
|
+ logType === ServiceLogType.COMPANY ? delCustomerService : delClientService,
|
|
|
|
|
+ {
|
|
|
|
|
+ manual: true,
|
|
|
|
|
+ onSuccess: () => {
|
|
|
|
|
+ dispatch({
|
|
|
|
|
+ type: 'refresh/commitAction',
|
|
|
|
|
+ payload: updatePayload
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ )
|
|
|
|
|
|
|
|
- const { run: truUpdate, loading: comfirmLoading } = useRequest(updateCustomerService, {
|
|
|
|
|
- manual: true
|
|
|
|
|
- })
|
|
|
|
|
- const { run: truDel, loading: delLoading } = useRequest(delCustomerService, {
|
|
|
|
|
- manual: true
|
|
|
|
|
- })
|
|
|
|
|
- const handleOnUpdateComfirm = async (serviceLog: API.ServiceLogItem) => {
|
|
|
|
|
- const data = await truUpdate(serviceLog)
|
|
|
|
|
- console.log(data)
|
|
|
|
|
-
|
|
|
|
|
- return true
|
|
|
|
|
- }
|
|
|
|
|
- const handleOnDelComfirm = async (id: string) => {
|
|
|
|
|
- truDel({ id })
|
|
|
|
|
- }
|
|
|
|
|
const handleOnEdit = async (defaultValues: API.ServiceLogItem) => {
|
|
const handleOnEdit = async (defaultValues: API.ServiceLogItem) => {
|
|
|
- dispatchModal('M_RECORD_ADD', { defaultValues, onConfirm: handleOnUpdateComfirm })
|
|
|
|
|
|
|
+ dispatchModal('M_RECORD_ADD', { defaultValues, onConfirm: truUpdate })
|
|
|
}
|
|
}
|
|
|
return (
|
|
return (
|
|
|
<div
|
|
<div
|
|
@@ -131,7 +156,7 @@ export const ServiceLogItem: React.FC<{ item: API.ServiceLogItem }> = ({ item })
|
|
|
size="small"
|
|
size="small"
|
|
|
danger
|
|
danger
|
|
|
loading={delLoading}
|
|
loading={delLoading}
|
|
|
- onClick={() => handleOnDelComfirm(item.id)}
|
|
|
|
|
|
|
+ onClick={() => truDel({ id: item.id })}
|
|
|
className="ml-1">
|
|
className="ml-1">
|
|
|
删除
|
|
删除
|
|
|
</Button>
|
|
</Button>
|
|
@@ -188,7 +213,7 @@ const ClientLowerList: React.FC<ClientLowerListProps> = ({ logList: { log: logs
|
|
|
<div className="sheet-panel-record">
|
|
<div className="sheet-panel-record">
|
|
|
{serviceList.map(item => (
|
|
{serviceList.map(item => (
|
|
|
<div className="mb-3" key={item.id}>
|
|
<div className="mb-3" key={item.id}>
|
|
|
- <ServiceLogItem item={item} />
|
|
|
|
|
|
|
+ <ServiceLogItem item={item} logType={ServiceLogType.CLIENT} />
|
|
|
</div>
|
|
</div>
|
|
|
))}
|
|
))}
|
|
|
</div>
|
|
</div>
|