|
@@ -5,12 +5,13 @@ import { A2AListCamerasType } from '@/types'
|
|
|
import { A1addType } from '@/pages/A1Camera/data'
|
|
|
import { Button, DatePicker, Form, FormInstance, Input, Table, Tag, Tooltip } from 'antd'
|
|
|
import MyPopconfirm from '@/components/MyPopconfirm'
|
|
|
-import { A2B_APIadd, A2B_APIgetInfo } from '@/store/action/A2Blogistics'
|
|
|
+import { A2B_APIadd, A2B_APIgetCamera, A2B_APIgetInfo } from '@/store/action/A2Blogistics'
|
|
|
import dayjs from 'dayjs'
|
|
|
import { MessageFu } from '@/utils/message'
|
|
|
import UpXlsx from '@/components/UpXlsx'
|
|
|
import AddCamera from '@/pages/A1Camera/AddCamera'
|
|
|
import TextArea from 'antd/lib/input/TextArea'
|
|
|
+import CheckTable from '../CheckTable'
|
|
|
|
|
|
type Props = {
|
|
|
openInfo: A2BaddType
|
|
@@ -36,7 +37,7 @@ function AddLogistics({ openInfo, closeFu, upTableFu, addTableFu, orderNumTemp }
|
|
|
|
|
|
// 表格点击删除
|
|
|
const delTableFu = useCallback(
|
|
|
- (idxx: string) => {
|
|
|
+ (idxx: number) => {
|
|
|
setTableList(tableList.filter(v => v.idxx !== idxx))
|
|
|
},
|
|
|
[tableList]
|
|
@@ -45,6 +46,7 @@ function AddLogistics({ openInfo, closeFu, upTableFu, addTableFu, orderNumTemp }
|
|
|
const columns = useMemo(() => {
|
|
|
return [
|
|
|
{
|
|
|
+ width: 100,
|
|
|
title: '相机类型',
|
|
|
render: (item: A2AListCamerasType) =>
|
|
|
item.cameraType ? (item.cameraType === 'KK' ? '看看' : '看见') : '(空)'
|
|
@@ -67,7 +69,18 @@ function AddLogistics({ openInfo, closeFu, upTableFu, addTableFu, orderNumTemp }
|
|
|
},
|
|
|
{
|
|
|
title: '备注',
|
|
|
- render: (item: A2AListCamerasType) => item.remark || '(空)'
|
|
|
+ render: (item: A2AListCamerasType) =>
|
|
|
+ item.remark ? (
|
|
|
+ item.remark.length >= 50 ? (
|
|
|
+ <span style={{ cursor: 'pointer' }} title={item.remark}>
|
|
|
+ {item.remark.substring(0, 50) + '...'}
|
|
|
+ </span>
|
|
|
+ ) : (
|
|
|
+ item.remark
|
|
|
+ )
|
|
|
+ ) : (
|
|
|
+ '(空)'
|
|
|
+ )
|
|
|
},
|
|
|
{
|
|
|
title: '操作',
|
|
@@ -87,6 +100,9 @@ function AddLogistics({ openInfo, closeFu, upTableFu, addTableFu, orderNumTemp }
|
|
|
if (res.code === 0) {
|
|
|
const data = res.data
|
|
|
|
|
|
+ // 回显业务订单
|
|
|
+ setOrderNum(data.orderNum)
|
|
|
+
|
|
|
// 回显表格
|
|
|
setTableList(
|
|
|
data.cameras.map((v: any) => ({
|
|
@@ -149,6 +165,48 @@ function AddLogistics({ openInfo, closeFu, upTableFu, addTableFu, orderNumTemp }
|
|
|
// 上传xlsx 的ref
|
|
|
const upXlsxRef = useRef<any>(null)
|
|
|
|
|
|
+ // 点击 从业务订单中添加
|
|
|
+ const getCameraFu = useCallback(async () => {
|
|
|
+ if (!orderNum) return MessageFu.warning('请输入关联业务订单')
|
|
|
+ const res = await A2B_APIgetCamera(orderNum)
|
|
|
+ if (res.code === 0) {
|
|
|
+ const data: A2AListCamerasType[] = res.data || []
|
|
|
+ if (data.length) {
|
|
|
+ // 打开筛选列表
|
|
|
+ setCheckList(
|
|
|
+ data.map(v => ({
|
|
|
+ ...v,
|
|
|
+ idxx: v.id
|
|
|
+ }))
|
|
|
+ )
|
|
|
+ setCheckShow(true)
|
|
|
+ } else {
|
|
|
+ MessageFu.warning('当前 业务订单 未查询到数据')
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }, [orderNum])
|
|
|
+
|
|
|
+ // 关联业务订单列表
|
|
|
+ const [checkList, setCheckList] = useState<A2AListCamerasType[]>([])
|
|
|
+
|
|
|
+ // 关联业务订单 打开 关闭
|
|
|
+ const [checkShow, setCheckShow] = useState(false)
|
|
|
+
|
|
|
+ // 从业务订单 弹窗列表中点击确定
|
|
|
+ const checkSonBtnOk = useCallback(
|
|
|
+ (arr: A2AListCamerasType[], delIdxx: number[]) => {
|
|
|
+ const idxxArr = arr.map(v => v.idxx)
|
|
|
+
|
|
|
+ const oldArr = tableList.filter(v => !idxxArr.includes(v.idxx))
|
|
|
+ const newArr = [...arr, ...oldArr]
|
|
|
+
|
|
|
+ const newArrRes = newArr.filter(v => !delIdxx.includes(v.idxx))
|
|
|
+
|
|
|
+ setTableList(newArrRes)
|
|
|
+ },
|
|
|
+ [tableList]
|
|
|
+ )
|
|
|
+
|
|
|
return (
|
|
|
<div className={styles.AddLogistics}>
|
|
|
<div className='A2BaddMain'>
|
|
@@ -218,6 +276,10 @@ function AddLogistics({ openInfo, closeFu, upTableFu, addTableFu, orderNumTemp }
|
|
|
<div>
|
|
|
<div>相机清单</div>
|
|
|
<div>
|
|
|
+ <Button type='primary' onClick={getCameraFu}>
|
|
|
+ 从业务订单中添加
|
|
|
+ </Button>
|
|
|
+
|
|
|
<a href='/xlsx/相机列表导入模板.xlsx' download>
|
|
|
<Button type='primary'>下载模块</Button>
|
|
|
</a>
|
|
@@ -275,6 +337,19 @@ function AddLogistics({ openInfo, closeFu, upTableFu, addTableFu, orderNumTemp }
|
|
|
</div>
|
|
|
</div>
|
|
|
) : null}
|
|
|
+ {/* 点击关联业务订单 打开的页面*/}
|
|
|
+ {checkShow ? (
|
|
|
+ <div className='A2BtableBoxAdd'>
|
|
|
+ <div>
|
|
|
+ <CheckTable
|
|
|
+ checkTableList={checkList}
|
|
|
+ allList={tableList}
|
|
|
+ checkSonBtnOk={(arr, delIdxx) => checkSonBtnOk(arr, delIdxx)}
|
|
|
+ checkSonClose={() => setCheckShow(false)}
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ ) : null}
|
|
|
</div>
|
|
|
)
|
|
|
}
|