Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
A
admin
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
iuav
admin
Commits
fa75d691
提交
fa75d691
authored
10月 11, 2023
作者:
龚洪江
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
功能:租赁订单
上级
109a33ba
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
11 个修改的文件
包含
615 行增加
和
266 行删除
+615
-266
dataDashboardsType.ts
src/api/interface/dataDashboardsType.ts
+8
-0
orderManageType.ts
src/api/interface/orderManageType.ts
+332
-0
orderManage.ts
src/api/modules/orderManage.ts
+14
-0
index.scss
src/pages/dataDashboards/components/userInfo/index.scss
+1
-1
index.tsx
src/pages/dataDashboards/components/userInfo/index.tsx
+8
-0
index.tsx
...s/orderManage/equipmentOrder/comp/confirmReturn/index.tsx
+45
-0
index.tsx
...es/orderManage/equipmentOrder/comp/orderDeliver/index.tsx
+0
-251
index.tsx
.../orderManage/equipmentOrder/comp/shipmentsOrder/index.tsx
+165
-0
index.tsx
src/pages/orderManage/equipmentOrder/detail/index.tsx
+14
-14
index.scss
src/pages/orderManage/equipmentOrder/index.scss
+28
-0
index.tsx
src/pages/orderManage/equipmentOrder/index.tsx
+0
-0
没有找到文件。
src/api/interface/dataDashboardsType.ts
浏览文件 @
fa75d691
...
...
@@ -46,6 +46,14 @@ export type releaseReportDataType = InterFunction<
* 话题发布数量
*/
topicReleaseCount
?:
number
;
/**
* 招标信息数量
*/
tenderReleaseCount
?:
number
;
/**
* 新闻发布数量
*/
newsReleaseCount
?:
number
;
}
>
;
// 数据看板-加盟信息
...
...
src/api/interface/orderManageType.ts
浏览文件 @
fa75d691
...
...
@@ -1632,3 +1632,335 @@ export type uavPoSellerRemarkType = InterFunction<
},
any
>
;
//租赁-订单列表
type
rentReqType
=
{
deposit
:
number
;
/**
* 卖家企业名称
*/
companyName
?:
string
;
/**
* 确认收货时间
*/
confirmReceiptTime
?:
Date
;
/**
* 下单时间
*/
createTime
?:
Date
;
/**
* 租赁结束时间
*/
endDate
?:
Date
;
/**
* id
*/
id
:
number
;
kdnExpDTO
?:
{
logisticCode
?:
string
;
shipperCode
?:
string
;
stateEx
?:
string
;
traces
?:
{
acceptStation
?:
string
;
acceptTime
?:
string
;
action
?:
string
;
location
?:
string
;
}[];
};
/**
* 租赁商品id
*/
leaseGoodsId
?:
number
;
leaseRefundOrder
?:
{
/**
* 创建时间
*/
createTime
?:
Date
;
/**
* 物流编号
*/
expressCode
?:
string
;
/**
* 快递单号
*/
expressNum
?:
string
;
/**
* 图片文件
*/
file
?:
string
;
/**
* id
*/
id
?:
number
;
/**
* 订单id
*/
leaseOrderId
?:
number
;
/**
* 退款原因
*/
reason
?:
string
;
/**
* 归还状态:0已归还 1无需归还
*/
status
?:
number
;
};
/**
* 运费
*/
modeOfDeliveryInfo
?:
string
;
/**
* 订单需付金额
*/
needPayAmount
?:
number
;
/**
* 买家昵称
*/
nickname
?:
string
;
/**
* 订单名称
*/
orderName
?:
string
;
/**
* 订单编号
*/
orderNo
?:
string
;
/**
* 订单实付总额
*/
orderTotalAmount
?:
number
;
/**
* 其他方式支付额度
*/
otherAmount
?:
number
;
/**
* 支付时间
*/
payTime
?:
Date
;
/**
* wechatpay微信,alipay支付宝,offline线下
*/
payType
?:
string
;
/**
* 买家手机号
*/
phoneNum
?:
string
;
/**
* 评价状态
*/
remarkStatus
?:
number
;
/**
* 抵扣佣金余额
*/
salaryAmount
?:
number
;
/**
* 卖家备注
*/
sellerRemark
?:
string
;
/**
* 抵扣云享金余额
*/
shareAmount
?:
number
;
/**
* 订单规格列表
*/
sku
:
string
;
/**
* sku图片
*/
skuImg
?:
string
;
/**
* 租赁开始时间
*/
startDate
?:
Date
;
/**
* 订单状态
*/
statusCode
:
number
;
storeReceiveOrder
?:
{
/**
* 创建时间
*/
createTime
?:
Date
;
/**
* 物流编号
*/
expressCode
?:
string
;
/**
* 快递单号
*/
expressNum
?:
string
;
/**
* 图片文件
*/
file
?:
string
;
/**
* id
*/
id
?:
number
;
/**
* 订单id
*/
leaseOrderId
?:
number
;
/**
* 退款原因
*/
reason
?:
string
;
/**
* 归还状态:0已归还 1无需归还
*/
status
?:
number
;
};
/**
* 卖家id
*/
thirdBackUserAccountId
?:
number
;
uavOrderExpressDTO
?:
{
/**
* id
*/
id
?:
number
;
/**
* 是否已取件,0未取,1已取
*/
receive
?:
number
;
/**
* 取件时间
*/
receiveTime
?:
Date
;
/**
* 快递编码
*/
sendExpCode
?:
string
;
/**
* 快递编号
*/
sendExpNo
?:
string
;
/**
* 发货-平台操作发货时间
*/
sendTime
?:
Date
;
/**
* 发货-收货详细地址
*/
takeAddress
?:
string
;
/**
* 取货人
*/
takeName
?:
string
;
/**
* 取货人号码
*/
takePhone
?:
string
;
/**
* 地区信息
*/
takeRegion
?:
string
;
/**
* 订单id
*/
uavOrderId
?:
number
;
};
/**
* 最近修改时间
*/
updateTime
?:
Date
;
/**
* 买家id
*/
userAccountId
?:
number
;
/**
* 买家姓名
*/
userName
?:
string
;
/**
* 买家备注
*/
userRemark
?:
string
;
/**
* 购买数量
*/
wareNum
:
number
;
shareCashPledge
?:
number
;
salaryCashPledge
?:
number
;
};
export
type
rentOrderListType
=
InterListFunction
<
{
/**
* 结束时间
*/
endTime
?:
string
;
/**
* 关键字-订单编号
*/
keyword
?:
string
;
/**
* 开始时间
*/
startTime
?:
string
;
/**
* 订单状态码
*/
statusCode
?:
number
;
/**
* 用户uid
*/
uid
?:
string
;
},
rentReqType
>
;
// 租赁-订单字典
export
type
rentOrderDictType
=
InterFunction
<
any
,
{
status
:
string
;
doing
:
string
;
waiting
:
string
;
leaseOrderStatus
:
null
;
}[]
>
;
// 租赁-订单详情
export
type
rentOrderDetailType
=
InterFunction
<
{
/**
* id
*/
id
:
number
;
},
rentReqType
>
;
// 租赁订单-发货
export
type
rentOrderSendType
=
InterFunction
<
{
id
:
number
;
/**
* 快递编码
*/
sendExpCode
:
string
;
/**
* 快递编号
*/
sendExpNo
:
string
;
/**
* 发货-收货详细地址
*/
takeAddress
:
string
;
/**
* 取货人
*/
takeName
:
string
;
/**
* 取货人号码
*/
takePhone
:
string
;
/**
* 地区信息
*/
takeRegion
:
string
;
/**
* 订单id
*/
uavOrderId
:
number
;
},
any
>
;
src/api/modules/orderManage.ts
浏览文件 @
fa75d691
...
...
@@ -38,6 +38,10 @@ import {
uavPoSendType
,
uploadPOrderType
,
walletAmountType
,
rentOrderListType
,
rentOrderDictType
,
rentOrderSendType
,
rentOrderDetailType
,
}
from
'~/api/interface/orderManageType'
;
export
class
OrderManageAPI
{
...
...
@@ -158,4 +162,14 @@ export class OrderManageAPI {
axios
.
get
(
'/oms/uav-po/userRemark'
,
{
params
});
static
setUavPoSellerRemark
:
uavPoSellerRemarkType
=
(
params
)
=>
axios
.
get
(
'/oms/uav-po/sellerRemark'
,
{
params
});
// 租赁-订单列表
static
getRentOrderList
:
rentOrderListType
=
(
data
)
=>
axios
.
post
(
'/oms/lease/order/list'
,
data
);
// 租赁-订单字典
static
getRentOrderDict
:
rentOrderDictType
=
()
=>
axios
.
get
(
'/oms/lease/order/statusList'
);
// 租赁-订单发货
static
rentOrderSend
:
rentOrderSendType
=
(
data
)
=>
axios
.
post
(
'/oms/lease/order/send'
,
data
);
// 租赁-订单详情
static
getRentOrderDetail
:
rentOrderDetailType
=
(
params
)
=>
axios
.
get
(
'/oms/lease/order/detail'
,
{
params
});
}
src/pages/dataDashboards/components/userInfo/index.scss
浏览文件 @
fa75d691
...
...
@@ -98,7 +98,7 @@ $design_height:856;
}
}
.card-info
{
margin-bottom
:
26
px
;
margin-bottom
:
10
px
;
display
:
flex
;
padding
:
0
40px
0
35px
;
display
:
flex
;
...
...
src/pages/dataDashboards/components/userInfo/index.tsx
浏览文件 @
fa75d691
...
...
@@ -93,6 +93,14 @@ const UserInfo = () => {
<
div
className=
'label'
>
订单发布
</
div
>
<
div
className=
'value'
>
{
releaseReportData
?.
orderReleaseCount
}
</
div
>
</
div
>
<
div
className=
'card-info'
>
<
div
className=
'label'
>
新闻发布
</
div
>
<
div
className=
'value'
>
{
releaseReportData
?.
newsReleaseCount
}
</
div
>
</
div
>
<
div
className=
'card-info'
>
<
div
className=
'label'
>
招投标发布
</
div
>
<
div
className=
'value'
>
{
releaseReportData
?.
tenderReleaseCount
}
</
div
>
</
div
>
</
div
>
</
div
>
);
...
...
src/pages/orderManage/equipmentOrder/comp/confirmReturn/index.tsx
0 → 100644
浏览文件 @
fa75d691
import
{
Form
,
Input
,
Modal
,
ModalProps
,
Radio
}
from
'antd'
;
import
{
FC
}
from
'react'
;
import
{
InterDataType
}
from
'~/api/interface'
;
import
{
rentOrderDetailType
}
from
'~/api/interface/orderManageType'
;
// 租赁订单详情返回类型
type
detailType
=
InterDataType
<
rentOrderDetailType
>
;
interface
selfProps
{
onOk
:
()
=>
void
;
onCancel
:
()
=>
void
;
currentOrderItem
:
detailType
|
undefined
;
}
const
ConfirmReturn
:
FC
<
ModalProps
&
selfProps
>
=
({
open
,
onOk
,
onCancel
})
=>
{
const
[
form
]
=
Form
.
useForm
<
{
damage
:
number
;
reason
:
string
}
>
();
const
handleOk
=
()
=>
{
onOk
();
};
const
handleCancel
=
()
=>
{
onCancel
();
};
return
(
<
Modal
open=
{
open
}
title=
'确认归还'
onOk=
{
handleOk
}
onCancel=
{
handleCancel
}
>
<
Form
initialValues=
{
{
damage
:
0
}
}
form=
{
form
}
>
<
Form
.
Item
label=
'判定'
name=
'damage'
>
<
Radio
.
Group
>
<
Radio
value=
{
0
}
>
未破损
</
Radio
>
<
Radio
value=
{
1
}
>
破损
</
Radio
>
</
Radio
.
Group
>
</
Form
.
Item
>
<
Form
.
Item
label=
'原因'
name=
'reason'
>
<
Input
.
TextArea
placeholder=
'请输入原因'
maxLength=
{
70
}
showCount
rows=
{
3
}
/>
</
Form
.
Item
>
<
Form
.
Item
label=
'图片'
>
<
div
className=
'image-file'
>
{}
</
div
>
</
Form
.
Item
>
</
Form
>
</
Modal
>
);
};
export
default
ConfirmReturn
;
src/pages/orderManage/equipmentOrder/comp/orderDeliver/index.tsx
deleted
100644 → 0
浏览文件 @
109a33ba
import
{
InterListType
,
InterReqType
}
from
'~/api/interface'
;
import
{
listPcWechatOrderType
,
sendOrderWareType
}
from
'~/api/interface/orderManageType'
;
import
React
,
{
useEffect
}
from
'react'
;
import
{
Col
,
Form
,
Input
,
message
,
Modal
,
Radio
,
Row
,
Select
}
from
'antd'
;
import
{
Uploader
}
from
'~/components/uploader'
;
import
{
PlusOutlined
}
from
'@ant-design/icons'
;
import
{
OrderManageAPI
}
from
'~/api'
;
// 表格数据类型
type
TableType
=
InterListType
<
listPcWechatOrderType
>
;
// 请求数据的类型
type
ReqType
=
InterReqType
<
sendOrderWareType
>
;
// 传参类型
interface
propType
{
title
:
string
;
open
:
boolean
;
closed
:
any
;
data
?:
TableType
[
0
];
}
const
OrderDeliver
:
React
.
FC
<
propType
>
=
(
props
)
=>
{
OrderDeliver
.
defaultProps
=
{
data
:
undefined
,
};
// 参数
const
{
title
,
open
,
closed
,
data
}
=
props
;
// 物流列表
const
[
expressList
,
setExpressList
]
=
React
.
useState
<
{
label
:
string
;
value
:
string
}[]
>
([]);
// 表单钩子
const
[
form
]
=
Form
.
useForm
<
ReqType
>
();
// 关闭弹窗
const
handleCancel
=
()
=>
{
form
.
resetFields
();
closed
();
};
// 确认事件
const
handleOk
=
()
=>
{
form
.
validateFields
()
.
then
(
async
(
values
)
=>
{
// console.log('确认事件 --->', values);
await
handleSubmit
(
values
);
})
.
catch
((
err
)
=>
{
message
.
warning
({
content
:
err
.
errorFields
[
0
].
errors
[
0
],
})
.
then
();
});
};
// 提交事件
const
handleSubmit
=
async
(
values
:
ReqType
)
=>
{
const
res
=
await
OrderManageAPI
.
sendOrderWare
({
...
values
,
orderInfoId
:
Number
(
data
?.
id
),
});
if
(
res
&&
res
.
code
===
'200'
)
{
message
.
success
(
'操作成功'
);
handleCancel
();
}
};
// 获取物流信息
const
getListExpressInfo
=
async
()
=>
{
const
res
=
await
OrderManageAPI
.
listExpressInfo
({});
if
(
res
&&
res
.
code
===
'200'
)
{
setExpressList
(
res
.
result
.
map
((
item
)
=>
({
label
:
item
.
exName
,
value
:
item
.
exCode
})));
// console.log(res);
}
};
// componentDidMount
useEffect
(()
=>
{
if
(
!
open
)
return
;
if
(
!
data
)
return
;
getListExpressInfo
().
then
();
// console.log('data --->', data);
},
[
open
]);
return
(
<
Modal
open=
{
open
}
title=
{
title
}
onCancel=
{
handleCancel
}
onOk=
{
handleOk
}
destroyOnClose
width=
{
600
}
>
<
Form
name=
'addForm'
form=
{
form
}
labelAlign=
'right'
labelCol=
{
{
span
:
8
}
}
wrapperCol=
{
{
span
:
16
}
}
autoComplete=
'new-password'
>
<
Form
.
Item
label=
'收货地址'
labelCol=
{
{
span
:
4
}
}
>
{
data
?.
receipt
?.
takeName
}
{
data
?.
receipt
?.
takePhone
}
{
data
?.
receipt
?.
detailAddress
}
</
Form
.
Item
>
<
Form
.
Item
label=
'发货方式'
labelCol=
{
{
span
:
4
}
}
>
物流发货
</
Form
.
Item
>
<
Row
gutter=
{
{
xs
:
8
,
sm
:
16
,
md
:
24
}
}
>
<
Col
span=
{
11
}
>
<
Form
.
Item
label=
'物流单号'
name=
'sendExNo'
rules=
{
[{
required
:
true
,
message
:
'请输入物流单号'
}]
}
>
<
Input
placeholder=
{
'请输入物流单号'
}
maxLength=
{
20
}
allowClear
/>
</
Form
.
Item
>
</
Col
>
<
Col
span=
{
11
}
>
<
Form
.
Item
label=
'物流公司'
name=
'sendExCode'
rules=
{
[{
required
:
true
,
message
:
'请选择物流公司'
}]
}
>
<
Select
placeholder=
{
'请选择物流公司'
}
options=
{
expressList
}
allowClear
/>
</
Form
.
Item
>
</
Col
>
</
Row
>
<
Row
gutter=
{
{
xs
:
8
,
sm
:
16
,
md
:
24
}
}
>
<
Col
span=
{
11
}
>
<
Form
.
Item
label=
'归还联系人'
name=
'renName'
rules=
{
[{
required
:
true
,
message
:
'请输入归还联系人'
}]
}
>
<
Input
placeholder=
{
'请输入归还联系人'
}
maxLength=
{
20
}
allowClear
/>
</
Form
.
Item
>
</
Col
>
<
Col
span=
{
11
}
>
<
Form
.
Item
label=
'归还电话'
name=
'renPhone'
rules=
{
[
{
required
:
true
,
message
:
'请输入归还联系人电话'
},
// 校验手机号
()
=>
({
validator
(
_
,
value
)
{
if
(
!
value
||
/^1
[
3-9
]\d
{9}$/
.
test
(
value
))
{
return
Promise
.
resolve
();
}
return
Promise
.
reject
(
'请输入正确的手机号'
);
},
}),
]
}
>
<
Input
placeholder=
{
'请输入归还联系人电话'
}
maxLength=
{
20
}
allowClear
type=
{
'number'
}
/>
</
Form
.
Item
>
</
Col
>
</
Row
>
<
Row
gutter=
{
{
xs
:
8
,
sm
:
16
,
md
:
24
}
}
>
<
Col
span=
{
11
}
>
<
Form
.
Item
label=
'归还地址'
name=
'renAddress'
rules=
{
[{
required
:
true
,
message
:
'请输入归还地址'
}]
}
>
<
Input
placeholder=
{
'请输入归还地址'
}
maxLength=
{
20
}
allowClear
/>
</
Form
.
Item
>
</
Col
>
</
Row
>
<
Row
gutter=
{
{
xs
:
8
,
sm
:
16
,
md
:
24
}
}
>
<
Col
span=
{
11
}
>
<
Form
.
Item
label=
'质检照片'
name=
'imgs'
rules=
{
[{
required
:
true
,
message
:
'请上传质检照片'
}]
}
>
<
Uploader
listType=
{
'picture-card'
}
fileUpload
fileLength=
{
3
}
onChange=
{
(
e
)
=>
{
form
.
setFieldValue
(
'imgs'
,
e
.
map
((
item
)
=>
item
.
url
),
);
}
}
>
<
PlusOutlined
/>
</
Uploader
>
</
Form
.
Item
>
</
Col
>
<
Col
span=
{
11
}
>
<
Form
.
Item
label=
'质检视频'
name=
'videoUrl'
rules=
{
[{
required
:
true
,
message
:
'请上传质检视频'
}]
}
>
<
Uploader
listType=
{
'picture-card'
}
fileUpload
fileLength=
{
1
}
fileType=
{
[
'video/mp4'
,
'video/avi'
,
'video/wmv'
,
'video/rmvb'
]
}
fileSize=
{
10
}
onChange=
{
(
e
)
=>
{
form
.
setFieldValue
(
'videoUrl'
,
e
[
0
].
url
);
}
}
>
<
PlusOutlined
/>
</
Uploader
>
</
Form
.
Item
>
</
Col
>
</
Row
>
<
Row
gutter=
{
{
xs
:
8
,
sm
:
16
,
md
:
24
}
}
>
<
Col
span=
{
11
}
>
<
Form
.
Item
label=
'设备状态'
name=
'vcuSatus'
rules=
{
[{
required
:
true
,
message
:
'请选择设备状态'
}]
}
initialValue=
{
0
}
>
<
Radio
.
Group
options=
{
[
{
label
:
'正常'
,
value
:
0
},
{
label
:
'故障'
,
value
:
1
},
]
}
onChange=
{
(
e
)
=>
{
form
.
setFieldValue
(
'vcuSatus'
,
e
.
target
.
value
);
}
}
/>
</
Form
.
Item
>
</
Col
>
<
Col
span=
{
11
}
>
<
Form
.
Item
label=
'操作密码'
name=
'authPwd'
rules=
{
[{
required
:
true
,
message
:
'请输入操作密码'
}]
}
>
<
Input
.
Password
placeholder=
{
'请输入操作密码'
}
maxLength=
{
20
}
allowClear
autoComplete=
'new-password'
/>
</
Form
.
Item
>
</
Col
>
</
Row
>
</
Form
>
</
Modal
>
);
};
export
default
OrderDeliver
;
src/pages/orderManage/equipmentOrder/comp/shipmentsOrder/index.tsx
0 → 100644
浏览文件 @
fa75d691
import
{
FC
,
useEffect
,
useState
}
from
'react'
;
import
{
Cascader
,
Form
,
Input
,
message
,
Modal
,
ModalProps
,
Select
}
from
'antd'
;
import
{
OrderManageAPI
}
from
'~/api'
;
import
{
InterReqType
}
from
'~/api/interface'
;
import
{
rentOrderSendType
}
from
'~/api/interface/orderManageType'
;
import
regionData
from
'~/assets/json/district.json'
;
// 发货请求类型
type
sendMallType
=
Omit
<
Exclude
<
InterReqType
<
rentOrderSendType
>
,
undefined
>
,
'takeRegion'
>
&
{
takeRegion
:
string
[];
};
interface
selfProps
{
currentOrderItem
:
any
;
onCancel
:
()
=>
void
;
onOk
:
()
=>
void
;
}
const
ShipmentsOrder
:
FC
<
ModalProps
&
selfProps
>
=
({
onOk
,
onCancel
,
open
,
currentOrderItem
})
=>
{
const
[
form
]
=
Form
.
useForm
<
sendMallType
>
();
const
[
listExpressInfo
,
setListExpressInfo
]
=
useState
<
{
label
:
string
;
value
:
string
}[]
>
([]);
//获取物流公司列表
const
getExpressList
=
()
=>
{
OrderManageAPI
.
listExpressInfo
().
then
(({
result
})
=>
{
setListExpressInfo
(
result
?.
map
((
v
)
=>
({
label
:
v
.
exName
,
value
:
v
.
exCode
}))
||
[]);
});
};
const
handleOk
=
()
=>
{
form
.
validateFields
().
then
((
value
)
=>
{
OrderManageAPI
.
rentOrderSend
({
...
value
,
uavOrderId
:
currentOrderItem
?.
id
,
id
:
currentOrderItem
?.
uavOrderExpressDTO
.
id
,
takeRegion
:
value
?.
takeRegion
?.
join
(
'/'
),
}).
then
(({
code
})
=>
{
if
(
code
===
'200'
)
{
message
.
success
(
'发货成功'
);
form
.
resetFields
();
onOk
();
}
});
});
};
const
handleCancel
=
()
=>
{
form
.
resetFields
();
onCancel
();
};
useEffect
(()
=>
{
if
(
open
)
{
getExpressList
();
}
},
[
open
]);
useEffect
(()
=>
{
if
(
currentOrderItem
&&
open
)
{
form
.
setFieldsValue
({
takeName
:
currentOrderItem
.
uavOrderExpressDTO
.
takeName
,
takePhone
:
currentOrderItem
.
uavOrderExpressDTO
.
takePhone
,
takeRegion
:
currentOrderItem
.
uavOrderExpressDTO
.
takeRegion
.
split
(
'/'
),
takeAddress
:
currentOrderItem
.
uavOrderExpressDTO
.
takeAddress
,
});
}
},
[
currentOrderItem
]);
return
(
<
Modal
open=
{
open
}
title=
'发货'
onOk=
{
handleOk
}
onCancel=
{
handleCancel
}
>
<
Form
name=
'basic'
labelCol=
{
{
span
:
4
}
}
wrapperCol=
{
{
span
:
16
}
}
initialValues=
{
{
remember
:
true
}
}
autoComplete=
'off'
form=
{
form
}
>
<
Form
.
Item
label=
'物流公司'
name=
'sendExpCode'
rules=
{
[
{
required
:
true
,
message
:
'请选择物流公司'
,
},
]
}
>
<
Select
placeholder=
'请选择物流公司'
allowClear
options=
{
listExpressInfo
}
></
Select
>
</
Form
.
Item
>
<
Form
.
Item
label=
'物流编号'
name=
'sendExpNo'
rules=
{
[
{
required
:
true
,
message
:
'请输入物流编号'
,
},
]
}
>
<
Input
placeholder=
'请输入物流编号'
allowClear
maxLength=
{
50
}
/>
</
Form
.
Item
>
<
Form
.
Item
label=
'用户姓名'
name=
'takeName'
rules=
{
[
{
required
:
true
,
message
:
'请输入用户姓名'
,
},
]
}
>
<
Input
placeholder=
'请输入用户姓名'
allowClear
maxLength=
{
30
}
/>
</
Form
.
Item
>
<
Form
.
Item
label=
'手机号'
name=
'takePhone'
rules=
{
[
{
required
:
true
,
message
:
'请输入手机号'
,
},
{
pattern
:
/^1
[
3-9
]\d
{9}$/
,
message
:
'手机号格式不正确'
,
},
]
}
>
<
Input
placeholder=
'请输入手机号'
allowClear
maxLength=
{
30
}
/>
</
Form
.
Item
>
<
Form
.
Item
label=
'收货地址'
name=
'takeRegion'
rules=
{
[
{
required
:
false
,
message
:
'请选择收货地址'
,
},
]
}
>
<
Cascader
options=
{
regionData
}
placeholder=
'请选择收货地址'
allowClear
fieldNames=
{
{
label
:
'name'
,
value
:
'name'
,
children
:
'childInfo'
,
}
}
/>
</
Form
.
Item
>
<
Form
.
Item
label=
'详细地址'
name=
'takeAddress'
rules=
{
[
{
required
:
false
,
message
:
'请输入详细地址'
,
},
]
}
>
<
Input
.
TextArea
maxLength=
{
70
}
showCount
placeholder=
'请输入详细地址'
allowClear
/>
</
Form
.
Item
>
</
Form
>
</
Modal
>
);
};
export
default
ShipmentsOrder
;
src/pages/orderManage/equipmentOrder/detail/index.tsx
浏览文件 @
fa75d691
...
...
@@ -7,20 +7,19 @@ import DetailPurchaser from '~/pages/orderManage/equipmentOrder/comp/detailPurch
import
DetailInformation
from
'~/pages/orderManage/equipmentOrder/comp/detailInformation'
;
import
{
OrderManageAPI
}
from
'~/api'
;
import
{
InterDataType
}
from
'~/api/interface'
;
import
{
o
rderDetailType
}
from
'~/api/interface/orderManageType'
;
import
{
rentO
rderDetailType
}
from
'~/api/interface/orderManageType'
;
import
DetailTimeLine
from
'~/pages/orderManage/equipmentOrder/comp/detailTimeLine'
;
// import DetailMessageBox from '~/pages/orderManage/equipmentOrder/comp/detailMessageBox';
// 接口返回的类型
type
DataType
=
InterDataType
<
o
rderDetailType
>
;
type
DataType
=
InterDataType
<
rentO
rderDetailType
>
;
function
EquipmentOrderDetail
()
{
// 路由钩子
const
navigate
=
useNavigate
();
// 参数钩子
const
[
searchParams
]
=
useSearchParams
();
//
接收到的参数
const
orderNo
=
searchParams
.
get
(
'orderNo'
)
as
string
;
//
订单id
const
[
orderId
,
setOrderId
]
=
useState
<
number
>
(
0
)
;
// 返回上一页
const
handleBack
=
()
=>
{
navigate
(
-
1
);
...
...
@@ -28,19 +27,20 @@ function EquipmentOrderDetail() {
// 订单详情
const
[
orderDetail
,
setOrderDetail
]
=
useState
<
DataType
>
(
null
!
);
// 获取订单详情
const
getOrderDetail
=
async
()
=>
{
const
res
=
await
OrderManageAPI
.
orderDetail
({
orderNo
:
orderNo
,
const
getOrderDetail
=
(
id
:
number
)
=>
{
OrderManageAPI
.
getRentOrderDetail
({
id
,
}).
then
(({
result
})
=>
{
if
(
result
)
{
setOrderDetail
(
result
);
}
});
if
(
res
&&
res
.
code
===
'200'
)
{
setOrderDetail
(
res
.
result
);
// console.log('获取订单详情 --->', res.result);
}
};
// componentDidMount
useEffect
(()
=>
{
getOrderDetail
().
then
();
},
[
orderNo
]);
setOrderId
(
Number
(
searchParams
.
get
(
'id'
)
||
0
));
getOrderDetail
(
Number
(
searchParams
.
get
(
'id'
)
||
0
));
},
[]);
return
(
<
div
className=
{
'order-detail'
}
>
<
div
className=
{
'order-head'
}
>
...
...
src/pages/orderManage/equipmentOrder/index.scss
0 → 100644
浏览文件 @
fa75d691
.equipment-order
{
.mall-sku-item
{
display
:
flex
;
align-items
:
center
;
margin-bottom
:
10px
;
.sku-img
{
width
:
48px
;
height
:
48px
;
}
.sku-info
{
margin-left
:
10px
;
line-height
:
16px
;
text-align
:
left
;
.info-name
{
color
:
#1677ff
}
.info-spec
{
margin-top
:
10px
;
span
:not
(
:last-child
)
{
&
:after
{
content
:
';'
;
}
}
}
}
}
}
src/pages/orderManage/equipmentOrder/index.tsx
浏览文件 @
fa75d691
差异被折叠。
点击展开。
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论