Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
A
admin-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
admin-ci-test
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<
...
@@ -46,6 +46,14 @@ export type releaseReportDataType = InterFunction<
* 话题发布数量
* 话题发布数量
*/
*/
topicReleaseCount
?:
number
;
topicReleaseCount
?:
number
;
/**
* 招标信息数量
*/
tenderReleaseCount
?:
number
;
/**
* 新闻发布数量
*/
newsReleaseCount
?:
number
;
}
}
>
;
>
;
// 数据看板-加盟信息
// 数据看板-加盟信息
...
...
src/api/interface/orderManageType.ts
浏览文件 @
fa75d691
...
@@ -1632,3 +1632,335 @@ export type uavPoSellerRemarkType = InterFunction<
...
@@ -1632,3 +1632,335 @@ export type uavPoSellerRemarkType = InterFunction<
},
},
any
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 {
...
@@ -38,6 +38,10 @@ import {
uavPoSendType
,
uavPoSendType
,
uploadPOrderType
,
uploadPOrderType
,
walletAmountType
,
walletAmountType
,
rentOrderListType
,
rentOrderDictType
,
rentOrderSendType
,
rentOrderDetailType
,
}
from
'~/api/interface/orderManageType'
;
}
from
'~/api/interface/orderManageType'
;
export
class
OrderManageAPI
{
export
class
OrderManageAPI
{
...
@@ -158,4 +162,14 @@ export class OrderManageAPI {
...
@@ -158,4 +162,14 @@ export class OrderManageAPI {
axios
.
get
(
'/oms/uav-po/userRemark'
,
{
params
});
axios
.
get
(
'/oms/uav-po/userRemark'
,
{
params
});
static
setUavPoSellerRemark
:
uavPoSellerRemarkType
=
(
params
)
=>
static
setUavPoSellerRemark
:
uavPoSellerRemarkType
=
(
params
)
=>
axios
.
get
(
'/oms/uav-po/sellerRemark'
,
{
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;
...
@@ -98,7 +98,7 @@ $design_height:856;
}
}
}
}
.card-info
{
.card-info
{
margin-bottom
:
26
px
;
margin-bottom
:
10
px
;
display
:
flex
;
display
:
flex
;
padding
:
0
40px
0
35px
;
padding
:
0
40px
0
35px
;
display
:
flex
;
display
:
flex
;
...
...
src/pages/dataDashboards/components/userInfo/index.tsx
浏览文件 @
fa75d691
...
@@ -93,6 +93,14 @@ const UserInfo = () => {
...
@@ -93,6 +93,14 @@ const UserInfo = () => {
<
div
className=
'label'
>
订单发布
</
div
>
<
div
className=
'label'
>
订单发布
</
div
>
<
div
className=
'value'
>
{
releaseReportData
?.
orderReleaseCount
}
</
div
>
<
div
className=
'value'
>
{
releaseReportData
?.
orderReleaseCount
}
</
div
>
</
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
>
</
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
...
@@ -7,20 +7,19 @@ import DetailPurchaser from '~/pages/orderManage/equipmentOrder/comp/detailPurch
import
DetailInformation
from
'~/pages/orderManage/equipmentOrder/comp/detailInformation'
;
import
DetailInformation
from
'~/pages/orderManage/equipmentOrder/comp/detailInformation'
;
import
{
OrderManageAPI
}
from
'~/api'
;
import
{
OrderManageAPI
}
from
'~/api'
;
import
{
InterDataType
}
from
'~/api/interface'
;
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
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
()
{
function
EquipmentOrderDetail
()
{
// 路由钩子
// 路由钩子
const
navigate
=
useNavigate
();
const
navigate
=
useNavigate
();
// 参数钩子
// 参数钩子
const
[
searchParams
]
=
useSearchParams
();
const
[
searchParams
]
=
useSearchParams
();
//
接收到的参数
//
订单id
const
orderNo
=
searchParams
.
get
(
'orderNo'
)
as
string
;
const
[
orderId
,
setOrderId
]
=
useState
<
number
>
(
0
)
;
// 返回上一页
// 返回上一页
const
handleBack
=
()
=>
{
const
handleBack
=
()
=>
{
navigate
(
-
1
);
navigate
(
-
1
);
...
@@ -28,19 +27,20 @@ function EquipmentOrderDetail() {
...
@@ -28,19 +27,20 @@ function EquipmentOrderDetail() {
// 订单详情
// 订单详情
const
[
orderDetail
,
setOrderDetail
]
=
useState
<
DataType
>
(
null
!
);
const
[
orderDetail
,
setOrderDetail
]
=
useState
<
DataType
>
(
null
!
);
// 获取订单详情
// 获取订单详情
const
getOrderDetail
=
async
()
=>
{
const
getOrderDetail
=
(
id
:
number
)
=>
{
const
res
=
await
OrderManageAPI
.
orderDetail
({
OrderManageAPI
.
getRentOrderDetail
({
orderNo
:
orderNo
,
id
,
}).
then
(({
result
})
=>
{
if
(
result
)
{
setOrderDetail
(
result
);
}
});
});
if
(
res
&&
res
.
code
===
'200'
)
{
setOrderDetail
(
res
.
result
);
// console.log('获取订单详情 --->', res.result);
}
};
};
// componentDidMount
// componentDidMount
useEffect
(()
=>
{
useEffect
(()
=>
{
getOrderDetail
().
then
();
setOrderId
(
Number
(
searchParams
.
get
(
'id'
)
||
0
));
},
[
orderNo
]);
getOrderDetail
(
Number
(
searchParams
.
get
(
'id'
)
||
0
));
},
[]);
return
(
return
(
<
div
className=
{
'order-detail'
}
>
<
div
className=
{
'order-detail'
}
>
<
div
className=
{
'order-head'
}
>
<
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
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论