Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
W
web-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
web-ci-test
Commits
0b24ec1d
提交
0b24ec1d
authored
6月 12, 2023
作者:
曹云
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of
ssh://git.mmcuav.cn:8222/iuav/csf-web
into caoyun
上级
3d05695e
6b960fcd
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
111 行增加
和
115 行删除
+111
-115
index.tsx
components/NavHeader/publishModal/index.tsx
+0
-1
index.page.tsx
pages/certification/index.page.tsx
+6
-2
[id].page.tsx
pages/mall/detail/[id].page.tsx
+0
-0
index.tsx
pages/mall/detail/components/intentionModal/index.tsx
+62
-99
index.tsx
pages/mall/detail/components/orderForGoods/index.tsx
+1
-1
index.tsx
pages/personalCenter/components/sider/index.tsx
+3
-3
index.page.tsx
pages/personalCenter/leasingOrders/index.page.tsx
+10
-1
index.page.tsx
pages/personalCenter/mallOrders/index.page.tsx
+13
-2
index.ts
pages/personalCenter/servicesOrders/api/index.ts
+2
-0
index.page.tsx
pages/personalCenter/servicesOrders/index.page.tsx
+14
-6
没有找到文件。
components/NavHeader/publishModal/index.tsx
浏览文件 @
0b24ec1d
...
...
@@ -23,7 +23,6 @@ export default function PublishModal(props: Props) {
const
position
=
useGeolocation
();
const
{
reloadRequirements
,
setReloadRequirements
}
=
useContext
(
CommonContext
);
console
.
log
(
"position"
,
position
);
useEffect
(()
=>
{
api
.
listType
().
then
((
res
)
=>
{
...
...
pages/certification/index.page.tsx
浏览文件 @
0b24ec1d
...
...
@@ -21,9 +21,13 @@ import Router from "next/router";
import
{
UserContext
}
from
"~/lib/userProvider"
;
const
beforeUpload
=
(
file
:
RcFile
)
=>
{
const
isJpgOrPng
=
file
.
type
===
"image/jpeg"
||
file
.
type
===
"image/png"
;
const
isJpgOrPng
=
file
.
type
===
"image/jpeg"
||
file
.
type
===
"image/png"
||
file
.
type
===
"image/bmp"
||
file
.
type
===
"image/gif"
if
(
!
isJpgOrPng
)
{
message
.
error
(
"
You can only upload JPG/PNG file!
"
);
message
.
error
(
"
请上传10M以内的JPG、JPEG、BMP、GIF、PNG格式图片
"
);
}
//限制上传10M
const
isLt2M
=
file
.
size
/
1024
/
1024
<
10
;
...
...
pages/mall/detail/[id].page.tsx
浏览文件 @
0b24ec1d
差异被折叠。
点击展开。
pages/mall/detail/components/intentionModal/index.tsx
浏览文件 @
0b24ec1d
import
{
Button
,
Col
,
Image
,
message
,
Modal
,
Row
,
Space
,
InputNumber
,
}
from
'antd'
import
{
Dispatch
,
SetStateAction
,
useEffect
,
useState
}
from
'react'
import
errImg
from
'~/assets/errImg'
import
{
GetLeaseGoodsDetailResp
,
ProductSpecList
}
from
'../../api'
import
styles
from
'./index.module.scss'
import
api
from
'./api'
import
Item
from
'antd/es/list/Item'
import
{
Button
,
Col
,
Image
,
message
,
Modal
,
Row
,
Space
}
from
"antd"
;
import
{
useEffect
,
useState
}
from
"react"
;
import
errImg
from
"~/assets/errImg"
;
import
{
GetLeaseGoodsDetailResp
,
ProductSpecList
}
from
"../../api"
;
import
styles
from
"./index.module.scss"
;
import
api
from
"./api"
;
import
Item
from
"antd/es/list/Item"
;
type
Props
=
{
open
?:
boolean
onOk
?:
()
=>
void
onCancel
:
()
=>
void
detail
:
GetLeaseGoodsDetailResp
|
null
setIsorderForGoods
:
Dispatch
<
SetStateAction
<
boolean
>>
setMallDetail
:
Dispatch
<
SetStateAction
<
any
>>
}
open
?:
boolean
;
onOk
?:
()
=>
void
;
onCancel
:
()
=>
void
;
detail
:
GetLeaseGoodsDetailResp
|
null
;
onChange
?:
(
checkItems
:
ProductSpecList
[])
=>
void
;
};
export
default
function
IntentionModal
(
props
:
Props
)
{
const
[
checkedMap
,
setCheckedMap
]
=
useState
<
{
string
?:
boolean
}
>
({})
//通过索引记录选中的产品规格 例: {'1,1': true|false} props.detail?.goodsSpec[1].productSpecList[1]
const
[
checkItems
,
setCheckItems
]
=
useState
<
ProductSpecList
[]
>
([])
//选中的规格
const
[
loading
,
setLoading
]
=
useState
(
false
)
//下单中
const
[
numValue
,
setNumValue
]
=
useState
<
number
|
null
>
(
1
)
//数量
const
[
checkedMap
,
setCheckedMap
]
=
useState
<
{
string
?:
boolean
}
>
({});
//通过索引记录选中的产品规格 例: {'1,1': true|false} props.detail?.goodsSpec[1].productSpecList[1]
const
[
checkItems
,
setCheckItems
]
=
useState
<
ProductSpecList
[]
>
([]);
//选中的规格
const
[
loading
,
setLoading
]
=
useState
(
false
);
//下单中
useEffect
(()
=>
{
let
list
:
ProductSpecList
[]
=
[]
let
list
:
ProductSpecList
[]
=
[]
;
Object
.
keys
(
checkedMap
).
forEach
((
key
)
=>
{
if
(
checkedMap
[
key
as
keyof
typeof
checkedMap
])
{
let
arr
=
key
.
split
(
','
)
let
arr
=
key
.
split
(
","
);
let
item
=
props
.
detail
?.
goodsSpec
[
Number
(
arr
[
0
])].
productSpecList
[
Number
(
arr
[
1
])
]
]
;
if
(
item
)
{
list
.
push
(
item
)
list
.
push
(
item
)
;
}
}
})
setCheckItems
(
list
)
setNumValue
(
1
)
},
[
checkedMap
])
})
;
setCheckItems
(
list
)
;
props
.
onChange
&&
props
.
onChange
(
list
);
},
[
checkedMap
])
;
//添加规格到购物车
function
addProductSpec
(
goodsSpecIndex
:
number
,
productSpecIndex
:
number
)
{
let
temp
=
{}
let
temp
=
{}
;
//@ts-ignore
temp
[
`
${
goodsSpecIndex
}
,
${
productSpecIndex
}
`
]
=
//@ts-ignore
!
checkedMap
[
`
${
goodsSpecIndex
}
,
${
productSpecIndex
}
`
]
!
checkedMap
[
`
${
goodsSpecIndex
}
,
${
productSpecIndex
}
`
]
;
setCheckedMap
({
...
checkedMap
,
...
temp
,
})
}
//数量
const
onChangeNum
=
(
value
:
number
|
null
)
=>
{
console
.
log
(
'changed'
,
value
)
setNumValue
(
value
)
});
}
//提交
function
onSubmit
()
{
let
buyNum
=
0
let
mallSpecIds
:
number
[]
=
[]
let
buyNum
=
0
;
let
mallSpecIds
:
number
[]
=
[]
;
Object
.
keys
(
checkedMap
).
forEach
((
key
)
=>
{
if
(
checkedMap
[
key
as
keyof
typeof
checkedMap
])
{
buyNum
++
let
arr
=
key
.
split
(
','
)
buyNum
++
;
let
arr
=
key
.
split
(
","
);
let
specId
=
props
.
detail
?.
goodsSpec
[
Number
(
arr
[
0
])].
productSpecList
[
Number
(
arr
[
1
])
].
id
].
id
;
if
(
specId
)
{
mallSpecIds
.
push
(
specId
)
mallSpecIds
.
push
(
specId
)
;
}
}
})
})
;
if
(
buyNum
>
0
)
{
setLoading
(
true
)
setLoading
(
true
)
;
api
.
commitMallOrder
({
buyNum
:
numValue
||
1
,
buyNum
,
directoryId
:
1
,
goodsInfoId
:
props
.
detail
!
.
id
,
mallSpecIds
,
userAddressId
:
1
,
})
.
then
((
res
)
=>
{
if
(
res
.
code
==
'200'
)
{
message
.
success
(
'提交意向成功'
)
if
(
res
.
code
==
"200"
)
{
message
.
success
(
"提交意向成功"
);
//重置为未选中
let
temp
=
{
...
checkedMap
,
}
}
;
Object
.
keys
(
temp
).
forEach
((
key
)
=>
{
temp
[
key
as
keyof
typeof
temp
]
=
false
})
setCheckedMap
(
temp
)
props
.
onCancel
()
props
.
setIsorderForGoods
(
true
)
props
.
setMallDetail
({
...
res
.
result
,
buyNum
:
numValue
||
1
,
directoryId
:
1
,
goodsInfoId
:
props
.
detail
!
.
id
,
mallSpecIds
,
userAddressId
:
1
,
})
temp
[
key
as
keyof
typeof
temp
]
=
false
;
});
setCheckedMap
(
temp
);
props
.
onCancel
();
}
else
{
}
setLoading
(
false
)
setLoading
(
false
)
;
})
.
catch
((
err
)
=>
{
message
.
error
(
'提交意向失败'
)
console
.
log
(
'err'
,
err
)
setLoading
(
false
)
})
message
.
error
(
"提交意向失败"
);
console
.
log
(
"err"
,
err
);
setLoading
(
false
)
;
})
;
}
}
...
...
@@ -136,20 +111,21 @@ export default function IntentionModal(props: Props) {
style=
{
{
padding
:
0
}
}
className=
{
styles
.
model
}
footer=
{
<
div
style=
{
{
padding
:
'13px 36px'
}
}
>
<
div
style=
{
{
padding
:
"13px 36px"
}
}
>
<
Button
type=
"primary"
className=
{
styles
.
font5
}
style=
{
{
width
:
'100%'
,
height
:
44
}
}
style=
{
{
width
:
"100%"
,
height
:
44
}
}
onClick=
{
onSubmit
}
loading=
{
loading
}
disabled=
{
checkItems
.
length
==
0
}
>
提交意向
</
Button
>
</
div
>
}
>
<
Row
style=
{
{
padding
:
'22px 39px 12px 39px'
}
}
wrap=
{
false
}
>
<
Row
style=
{
{
padding
:
"22px 39px 12px 39px"
}
}
wrap=
{
false
}
>
<
Col
>
<
Image
width=
{
100
}
...
...
@@ -170,12 +146,12 @@ export default function IntentionModal(props: Props) {
className=
{
`${styles.font2} ${styles.ellipsis2}`
}
style=
{
{
marginTop
:
7
}
}
>
已选:
{
' '
}
已选:
{
" "
}
{
checkItems
.
map
((
item
)
=>
{
return
item
.
specName
return
item
.
specName
;
})
.
join
(
'+'
)
}
.
join
(
"+"
)
}
</
div
>
</
Col
>
</
Row
>
...
...
@@ -193,7 +169,7 @@ export default function IntentionModal(props: Props) {
>
{
item
.
goodsSpecName
}
</
div
>
<
Space
size=
{
10
}
direction=
"vertical"
style=
{
{
width
:
'100%'
}
}
>
<
Space
size=
{
10
}
direction=
"vertical"
style=
{
{
width
:
"100%"
}
}
>
{
item
.
productSpecList
?.
map
((
product
,
productSpecIndex
)
=>
{
return
(
<
Row
...
...
@@ -206,10 +182,10 @@ export default function IntentionModal(props: Props) {
border
:
checkedMap
[
`${goodsSpecIndex},${productSpecIndex}`
]
?
'1px solid #FF552D'
:
'1px solid #d6d6d6'
,
?
"1px solid #FF552D"
:
"1px solid #d6d6d6"
,
height
:
50
,
cursor
:
'pointer'
,
cursor
:
"pointer"
,
}
}
onClick=
{
()
=>
addProductSpec
(
goodsSpecIndex
,
productSpecIndex
)
...
...
@@ -231,27 +207,14 @@ export default function IntentionModal(props: Props) {
{
product
.
specName
}
</
Col
>
</
Row
>
)
)
;
})
}
</
Space
>
</
div
>
)
)
;
})
}
<
div
className=
{
styles
.
numBox
}
>
<
div
className=
{
styles
.
numLeft
}
>
<
div
className=
{
styles
.
label
}
>
租赁数量
</
div
>
</
div
>
<
div
className=
{
styles
.
numRight
}
>
<
InputNumber
min=
{
1
}
max=
{
100
}
value=
{
numValue
}
onChange=
{
onChangeNum
}
/>
</
div
>
</
div
>
</
div
>
</
div
>
</
Modal
>
)
)
;
}
pages/mall/detail/components/orderForGoods/index.tsx
浏览文件 @
0b24ec1d
...
...
@@ -177,7 +177,7 @@ export default function OrderForGoods(props: PropsBox) {
</
div
>
</
div
>
{
mallDetail
.
orderGoodsProdDetailDTOS
.
map
((
item
:
any
)
=>
(
<
div
className=
"table-body"
>
<
div
className=
"table-body"
key=
{
item
.
id
}
>
<
div
className=
"body-item article"
style=
{
{
width
:
290
}
}
>
<
div
className=
"image"
>
<
Image
...
...
pages/personalCenter/components/sider/index.tsx
浏览文件 @
0b24ec1d
...
...
@@ -26,15 +26,15 @@ const items: MenuItem[] = [
getItem
(
"服务订单"
,
"/personalCenter/servicesOrders"
),
getItem
(
"租赁订单"
,
"/personalCenter/leasingOrders"
),
getItem
(
"商城订单"
,
"/personalCenter/mallOrders"
),
getItem
(
"培训订单"
,
"/personalCenter/trainOrders"
),
//
getItem("培训订单", "/personalCenter/trainOrders"),
]),
getItem
(
"账户信息"
,
"2"
),
/*
getItem("账户信息", "2"),
getItem("优惠券卡包", "3"),
getItem("福利活动", "4"),
getItem("身份认证", "5"),
getItem("客服中心", "6"),
getItem("推广海报", "7"),
getItem
(
"副业赚钱"
,
"8"
),
getItem("副业赚钱", "8"),
*/
];
type
MenuItem
=
Required
<
MenuProps
>
[
"items"
][
number
];
...
...
pages/personalCenter/leasingOrders/index.page.tsx
浏览文件 @
0b24ec1d
...
...
@@ -20,6 +20,7 @@ import api, { LeasingList, ListTranStatusResp } from "./api";
import
moment
from
"moment"
;
import
PayModal
from
"./components/payModal"
;
import
RefundModal
from
"./components/refundModal"
;
import
Moment
from
'moment'
;
const
items
:
TabsProps
[
"items"
]
=
[
{
...
...
@@ -221,7 +222,15 @@ export default function LeasingOrders() {
background
:
"#EBF8FF"
,
}
}
>
<
div
className=
{
styles
.
font2
}
>
2021-10-21 12:21:10
</
div
>
<
div
className=
{
styles
.
font2
}
>
<
Space
size=
{
10
}
>
<
div
>
{
Moment
(
item
.
startDate
).
format
(
"YYYY-MM-DD"
)
}
至
{
" "
}
{
Moment
(
item
.
endDate
).
format
(
"YYYY-MM-DD"
)
}
</
div
>
<
div
>
订单编号:
{
item
.
orderNo
}
</
div
>
</
Space
>
{
" "
}
</
div
>
<
div
className=
{
styles
.
font3
}
>
{
tranStatusMap
.
find
(
...
...
pages/personalCenter/mallOrders/index.page.tsx
浏览文件 @
0b24ec1d
...
...
@@ -141,8 +141,19 @@ export default function LeasingOrder() {
background
:
"#EBF8FF"
,
}
}
>
<
div
className=
{
styles
.
font2
}
>
{
item
.
createTime
}
</
div
>
<
div
className=
{
styles
.
font3
}
>
{
tranStatusMap
.
find
(
status
=>
status
.
code
===
item
.
statusCode
)?.
status
}
</
div
>
<
div
className=
{
styles
.
font2
}
>
<
Space
size=
{
10
}
>
<
div
>
{
item
.
createTime
}
</
div
>
<
div
>
订单编号:
{
item
.
orderNo
}
</
div
>
</
Space
>
</
div
>
<
div
className=
{
styles
.
font3
}
>
{
tranStatusMap
.
find
(
(
status
)
=>
status
.
code
===
item
.
statusCode
)?.
status
}
</
div
>
</
Row
>
<
Row
style=
{
{
minHeight
:
100
,
border
:
"1px solid #D0EAF5"
}
}
...
...
pages/personalCenter/servicesOrders/api/index.ts
浏览文件 @
0b24ec1d
...
...
@@ -15,6 +15,7 @@ export interface QueryOrderTaskListResp {
}
export
interface
OrderList
{
id
:
number
;
address
:
string
;
city
:
string
;
endTime
:
string
;
...
...
@@ -29,6 +30,7 @@ export interface OrderList {
province
:
string
;
startTime
:
string
;
taskDescription
:
string
;
coverPlan
:
string
;
}
...
...
pages/personalCenter/servicesOrders/index.page.tsx
浏览文件 @
0b24ec1d
...
...
@@ -18,7 +18,7 @@ import LayoutView from "~/components/layout";
import
Sider
from
"../components/sider"
;
import
api
,
{
OrderList
,
GetServiceOrderStatusResp
}
from
"./api"
;
import
styles
from
"./index.module.scss"
;
import
Moment
from
'moment'
;
import
Moment
from
"moment"
;
const
items
:
TabsProps
[
"items"
]
=
[
{
...
...
@@ -55,7 +55,9 @@ export default function ServicesOrder() {
const
[
orderList
,
setOrderList
]
=
useState
<
OrderList
[]
>
([]);
const
[
loading
,
setLoading
]
=
useState
(
false
);
const
[
orderNo
,
setOrderNo
]
=
useState
<
string
|
undefined
>
();
const
[
tranStatusMap
,
setTranStatusMap
]
=
useState
<
GetServiceOrderStatusResp
[]
>
([]);
//订单状态字典
const
[
tranStatusMap
,
setTranStatusMap
]
=
useState
<
GetServiceOrderStatusResp
[]
>
([]);
//订单状态字典
//获取订单状态字典
useEffect
(()
=>
{
...
...
@@ -87,6 +89,7 @@ export default function ServicesOrder() {
}
)
.
then
((
res
)
=>
{
console
.
log
(
", res.result?.list"
,
res
.
result
?.
list
);
setOrderList
(
res
.
result
?.
list
||
[]);
setTotal
(
res
.
result
?.
totalCount
||
0
);
setLoading
(
false
);
...
...
@@ -132,7 +135,7 @@ export default function ServicesOrder() {
<
ul
className=
{
styles
.
orderList
}
style=
{
{
minHeight
:
650
}
}
>
{
orderList
.
map
((
item
)
=>
{
return
(
<
li
key=
{
item
.
i
nspectionI
d
}
className=
{
styles
.
orderItem
}
>
<
li
key=
{
item
.
id
}
className=
{
styles
.
orderItem
}
>
<
Row
justify=
"space-between"
align=
"middle"
...
...
@@ -143,8 +146,13 @@ export default function ServicesOrder() {
}
}
>
<
div
className=
{
styles
.
font2
}
>
{
Moment
(
item
.
startTime
).
format
(
"YYYY/MM/DD"
)
}
-
{
" "
}
{
Moment
(
item
.
endTime
).
format
(
"YYYY/MM/DD"
)
}
<
Space
size=
{
10
}
>
<
div
>
{
Moment
(
item
.
startTime
).
format
(
"YYYY-MM-DD"
)
}
至
{
" "
}
{
Moment
(
item
.
endTime
).
format
(
"YYYY-MM-DD"
)
}
</
div
>
<
div
>
订单编号:
{
item
.
orderNo
}
</
div
>
</
Space
>
</
div
>
<
div
className=
{
styles
.
font3
}
>
{
...
...
@@ -165,7 +173,7 @@ export default function ServicesOrder() {
height=
{
80
}
preview=
{
false
}
fallback=
{
errImg
}
src=
{
item
.
images
[
0
]
}
src=
{
item
.
coverPlan
}
></
Image
>
</
div
>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论