Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
groupPurchase-miniapp
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
彭佳妮(贵阳日报)
groupPurchase-miniapp
Commits
23bfa87d
Commit
23bfa87d
authored
Aug 07, 2024
by
张娇(东信)
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
b382d8d7
80adf706
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
385 additions
and
52 deletions
+385
-52
font.css
src/assets/iconfont/font.css
+8
-0
优设标题黑.TTF
src/assets/iconfont/优设标题黑.TTF
+0
-0
main.ts
src/main.ts
+2
-0
pages.json
src/pages.json
+6
-0
detail.vue
src/pages/assistingAgriculture/order/detail.vue
+282
-0
foodClassification.vue
src/pages/index/foodClassification.vue
+9
-1
detail.vue
src/pages/order/detail.vue
+2
-1
order.vue
src/pages/order/order.vue
+11
-2
remark.vue
src/pages/order/remark.vue
+51
-33
ticketCode.vue
src/pages/order/ticketCode.vue
+1
-8
shop.vue
src/pages/shop/shop.vue
+13
-7
No files found.
src/assets/iconfont/font.css
0 → 100644
View file @
23bfa87d
@font-face
{
font-family
:
"优设标题黑"
;
src
:
url('./优设标题黑.ttf')
;
font-weight
:
normal
;
font-style
:
normal
;
}
\ No newline at end of file
src/assets/iconfont/优设标题黑.TTF
0 → 100644
View file @
23bfa87d
File added
src/main.ts
View file @
23bfa87d
...
...
@@ -4,6 +4,8 @@ import store from './store';
import
'@/assets/iconfont/iconfont.css'
;
// 引入自定义图标样式文件
import
Vconsole
from
'vconsole'
;
import
'./styles/flex.scss'
;
// 字体
import
'@/assets/iconfont/font.css'
;
export
function
createApp
()
{
const
app
=
createSSRApp
(
App
);
const
vConsole
=
new
Vconsole
();
...
...
src/pages.json
View file @
23bfa87d
...
...
@@ -237,6 +237,12 @@
"style"
:
{
"navigationBarTitleText"
:
"编辑收货地址"
}
},
{
"path"
:
"pages/assistingAgriculture/order/detail"
,
"style"
:
{
"navigationBarTitleText"
:
"商品详情页"
}
}
],
"globalStyle"
:
{
...
...
src/pages/assistingAgriculture/order/detail.vue
0 → 100644
View file @
23bfa87d
<
template
>
<view
class=
"container"
>
<Header
title=
"商品详情页"
></Header>
<view
style=
"height: 600rpx; background-color: aquamarine"
></view>
<view
class=
"content"
>
<view
class=
"info"
>
<view
class=
"top"
>
<view
class=
"left"
>
<image
class=
"logo"
src=
"/static/ticket/logo.png"
mode=
"aspectFill"
></image>
<text>
中通快递78810259271088
</text>
</view>
<view
class=
"right"
>
<text>
复制
</text>
<text>
丨
</text>
<text>
打电话
</text>
</view>
</view>
<view
class=
"steps"
>
<view
class=
"step-box"
>
<view
class=
"header"
>
<view
class=
"dot"
></view>
<view
class=
"line"
></view>
</view>
<view
class=
"content"
>
<view
class=
"rowbox"
>
<view
class=
"textbox"
>
<text
class=
"title"
>
待取件
</text>
<text
class=
"text"
>
06-25 17:37
</text>
</view>
<text
class=
"detail"
>
详细信息 >
</text>
</view>
<view
class=
"infobox"
>
<text
class=
"addr"
>
贵阳市市政公园菜鸟驿站店
</text>
<view
class=
"row"
>
<text
class=
"text"
>
取件码
</text>
<text
class=
"code"
>
2-7-4109
</text>
</view>
</view>
</view>
</view>
<view
class=
"step-box"
>
<view
class=
"header"
>
<view
class=
"past-dot"
></view>
<!--
<view
class=
"line"
></view>
-->
</view>
<view
class=
"content"
>
<text
class=
"title"
>
送至 贵阳市市政公园正门菜鸟驿站
</text>
<view
class=
"rowbox"
>
<text
class=
"text1"
>
李先生 +86-187****4253
</text>
<text
class=
"text"
>
隐藏保护中
</text>
</view>
<view
class=
"rowbox"
>
<text
class=
"text1"
>
取件时可初始虚拟号码 172****4532-3113
</text>
<wd-icon
name=
"browse"
size=
"22px"
color=
"#999"
></wd-icon>
</view>
</view>
</view>
</view>
</view>
<view
class=
"product"
>
<view
class=
"header"
>
<view
class=
"icon"
>
物流
</view>
<text
class=
"title"
>
焗中焗盐焗鸡麻辣鸡
</text>
</view>
</view>
</view>
</view>
</
template
>
<
script
setup
>
import
Header
from
'@/pages/order/components/Header/index.vue'
;
</
script
>
<
style
lang=
"scss"
scoped
>
page
{
background
:
#f3f3f3
;
}
.container
{
width
:
375
*
2rpx
;
margin
:
0
auto
;
.content
{
position
:
relative
;
top
:
-20rpx
;
border-radius
:
20rpx
20rpx
0
0
;
.info
{
background-color
:
#fff
;
border-radius
:
20rpx
20rpx
0
0
;
padding
:
30rpx
;
display
:
flex
;
flex-direction
:
column
;
gap
:
38rpx
;
.top
{
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
.left
{
display
:
flex
;
align-items
:
center
;
gap
:
16rpx
;
.logo
{
width
:
36rpx
;
height
:
36rpx
;
border-radius
:
50%
;
}
text
{
font-family
:
PingFang
SC
;
font-weight
:
500
;
font-size
:
28rpx
;
color
:
#333333
;
}
}
.right
{
display
:
flex
;
align-items
:
center
;
justify-content
:
flex-end
;
gap
:
16rpx
;
text
{
font-family
:
PingFang
SC
;
font-weight
:
500
;
font-size
:
24rpx
;
color
:
#333333
;
}
}
}
.steps
{
display
:
flex
;
flex-direction
:
column
;
margin-top
:
40rpx
;
.step-box
{
display
:
flex
;
gap
:
18rpx
;
.header
{
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
position
:
relative
;
width
:
30rpx
;
.dot
{
width
:
30rpx
;
height
:
30rpx
;
background
:
#f12a2a
;
border-radius
:
50%
;
position
:
absolute
;
top
:
-12rpx
;
}
.past-dot
{
width
:
30rpx
;
height
:
30rpx
;
background
:
#ffd5d5
;
border-radius
:
50%
;
position
:
absolute
;
top
:
-12rpx
;
}
.line
{
height
:
100%
;
width
:
2rpx
;
background-color
:
#ffd5d5
;
}
}
.content
{
display
:
flex
;
flex-direction
:
column
;
gap
:
22rpx
;
width
:
100%
;
.title
{
font-family
:
PingFang
SC
,
PingFang
SC
;
font-weight
:
bold
;
font-size
:
32rpx
;
color
:
#333333
;
}
.rowbox
{
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
.textbox
{
display
:
flex
;
flex-direction
:
row
;
gap
:
30rpx
;
align-items
:
center
;
}
.title
{
font-family
:
PingFang
SC
;
font-weight
:
bold
;
font-size
:
32rpx
;
color
:
#ff0909
;
}
.text
{
font-family
:
PingFang
SC
;
font-weight
:
500
;
font-size
:
28rpx
;
color
:
#ff0909
;
}
.detail
{
font-family
:
PingFang
SC
;
font-weight
:
500
;
font-size
:
28rpx
;
color
:
#ff0909
;
}
.text1
{
font-family
:
PingFang
SC
;
font-weight
:
500
;
font-size
:
28rpx
;
color
:
#333333
;
}
}
.infobox
{
display
:
flex
;
flex-direction
:
column
;
background-color
:
#f7f8fa
;
border-radius
:
12rpx
;
padding
:
20rpx
0
34rpx
50rpx
;
gap
:
28rpx
;
margin-bottom
:
54rpx
;
.addr
{
font-family
:
PingFang
SC
;
font-weight
:
bold
;
font-size
:
28rpx
;
color
:
#333333
;
}
.row
{
display
:
flex
;
align-items
:
center
;
gap
:
28rpx
;
color
:
#333333
;
.text
{
font-family
:
PingFang
SC
;
font-size
:
28rpx
;
}
.code
{
font-family
:
PingFang
SC
;
font-weight
:
bold
;
font-size
:
52rpx
;
}
}
}
}
}
}
.product
{
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
.header
{
display
:
flex
;
}
}
}
}
}
</
style
>
src/pages/index/foodClassification.vue
View file @
23bfa87d
...
...
@@ -4,7 +4,8 @@
<view
class=
"top"
>
<!-- 搜索 -->
<Search
@
toSearch=
"toSearch"
>
<image
class=
"food"
:src=
"pics"
mode=
"widthFix"
/>
<text
class=
"title-icon"
>
{{
categoryNames
}}
</text>
<!--
<image
class=
"food"
:src=
"pics"
mode=
"widthFix"
/>
-->
</Search>
<!-- 类别选择 -->
<scroll-view
...
...
@@ -96,6 +97,7 @@
<Sort
v-show=
"rotate3"
@
sortParams=
"sortParams"
/>
</view>
<FoodDetails
:cardData=
"cardData"
/>
<wd-status-tip
v-if=
"cardData.length === 0"
image=
"content"
tip=
"暂无内容"
/>
<view
style=
"width: 100%; text-align: center; font-size: 24rpx; margin-top: 10rpx; color: #888989"
v-if=
"params.isEnd"
...
...
@@ -345,6 +347,12 @@ page {
min-height
:
420rpx
;
border-radius
:
0rpx
0rpx
0rpx
0rpx
;
overflow
:
hidden
;
.title-icon
{
font-family
:
'优设标题黑'
;
font-size
:
24
*
2rpx
;
margin-left
:
30rpx
;
color
:
#ffffff
;
}
.food
{
width
:
178rpx
;
height
:
45rpx
;
...
...
src/pages/order/detail.vue
View file @
23bfa87d
...
...
@@ -42,7 +42,7 @@
</view>
</view>
</view>
<
wd-icon
name=
"chevron-right"
size=
"22px"
color=
"#333"
></wd-icon
>
<
!--
<wd-icon
name=
"chevron-right"
size=
"22px"
color=
"#333"
></wd-icon>
--
>
</view>
<view
class=
"rectangle-with-semicircles"
></view>
...
...
@@ -643,6 +643,7 @@ page {
font-weight
:
normal
;
line-height
:
24rpx
;
letter-spacing
:
0em
;
width
:
640rpx
;
}
}
}
...
...
src/pages/order/order.vue
View file @
23bfa87d
...
...
@@ -7,7 +7,7 @@
<wd-tab
:title=
"`$
{item.name}`" :name="item.value">
<view
class=
"content"
v-if=
"dataList.length > 0"
>
<view
class=
"box"
v-for=
"(item, index) in dataList"
:key=
"index"
>
<view
class=
"header"
@
click=
"
handleDetail(item.orderNumber
)"
>
<view
class=
"header"
@
click=
"
toShopDetail(item
)"
>
<view
class=
"left"
>
<image
src=
"@/static/order/shop.png"
/>
<view
class=
"title"
>
{{
item
.
shopName
}}
</view>
...
...
@@ -467,6 +467,15 @@ const handleRefund = (item) => {
url
:
`/pages/order/refund?orderNumber=
${
item
.
orderNumber
}
`
,
});
};
/**
* 店铺详情
*/
const
toShopDetail
=
(
item
)
=>
{
xma
.
navigateTo
({
url
:
`/pages/shop/shop?shopId=
${
item
.
shopId
}
`
,
});
};
</
script
>
<
style
scoped
lang=
"scss"
>
...
...
@@ -479,7 +488,7 @@ page {
margin
:
0
auto
;
.tabs
{
padding-top
:
44
px
;
padding-top
:
88
px
;
.wd-tabs
{
background-color
:
#f5f5f5
;
...
...
src/pages/order/remark.vue
View file @
23bfa87d
...
...
@@ -5,11 +5,10 @@
<wd-form
ref=
"form"
:model=
"formdata"
:rules=
"rules"
class=
"remake"
>
<text
class=
"textarea"
>
{{
shopname
}}
</text>
<view
class=
"itemPicker"
>
<view
class=
"item01"
>
<view
class=
"item01"
prop=
"merchantServices"
>
<text
class=
"label"
>
评分
</text>
<!-- 评分 -->
<wd-rate
prop=
"merchantServices"
v-model=
"formdata.merchantServices"
active-color=
"#ff0000"
size=
"50rpx"
...
...
@@ -22,19 +21,22 @@
</view>
</view>
<!-- 内容描述 -->
<view
prop=
"evaluation"
>
<wd-textarea
prop=
"evaluation"
v-model=
"formdata.evaluation"
placeholder=
"亲,分享您的看法,给其他人一个参考哦!"
/>
</view>
<text
class=
"textarea"
>
上传图片/视频
</text>
<!-- 图片上传 -->
<view
class=
"wdUpload"
prop=
"images"
>
<wd-upload
multiple
:action=
"action"
@
change=
"handleFile"
:file-list=
"f
List
"
:file-list=
"f
ormdata.images
"
:before-remove=
"beforeRemove"
:header=
"headers"
></wd-upload>
...
...
@@ -103,21 +105,33 @@ const formdata = reactive<{
* 表单验证规则
*/
const
rules
=
{
images
:
[
{
required
:
true
,
message
:
'请上传图片'
,
validator
:
(
value
:
any
)
=>
{
if
(
value
)
{
console
.
log
(
'123456
'
);
}
else
{
console
.
log
(
'963852
'
);
}
},
},
],
//
images: [
//
{
//
required: true,
//
message: '请上传图片',
//
validator: (value: any) => {
// if (value.length
) {
// console.log('上传成功
');
//
} else {
// console.log('请上传图片
');
//
}
//
},
//
},
//
],
evaluation
:
[{
required
:
true
,
message
:
'请填写评价内容'
}],
merchantServices
:
[{
required
:
true
,
message
:
'请选择商家服务评分'
}],
// merchantServices: [
// {
// required: true,
// message: '请选择商家服务评分',
// validator: (value: any) => {
// if (value >= 1 && value
<=
5
)
{
// console.log('评分成功');
// } else {
// console.log('请选择评分');
// }
// },
// },
// ],
};
/**
...
...
@@ -146,6 +160,7 @@ const handlemerchant = (item: { value: number }) => {
const
fList
=
ref
<
any
[]
>
([]);
function
handleFile
({
fileList
:
files
})
{
fList
.
value
=
files
;
formdata
.
images
=
files
;
}
/**
* 图片地址处理
...
...
@@ -170,7 +185,7 @@ const deleteImg = () => {
/**
* Release提交
*/
const
h
andle
Submit
=
async
()
=>
{
const
h
d
Submit
=
async
()
=>
{
await
evaluation
({
...
formdata
,
images
:
proImage
(),
...
...
@@ -181,19 +196,21 @@ const handleSubmit = async () => {
});
};
// const handleSubmit = async () => {
// console.log(form.value.validate());
// form.value
// .validate()
// .then(({ valid, errors }) => {
// if (valid) {
// uToast.info({ msg: '校验通过' });
// }
// })
// .catch((error: any) => {
// console.log(error, 'error');
// });
// };
const
handleSubmit
=
async
()
=>
{
form
.
value
.
validate
()
.
then
(({
valid
,
errors
})
=>
{
console
.
log
(
'valid'
,
errors
);
if
(
valid
)
{
// uToast.info({ msg: '校验通过' });
console
.
log
(
'校验通过'
);
hdSubmit
();
}
})
.
catch
((
error
:
any
)
=>
{
console
.
log
(
error
,
'error'
);
});
};
</
script
>
<
style
lang=
"scss"
scoped
>
.container
{
...
...
@@ -238,8 +255,9 @@ const handleSubmit = async () => {
margin-top
:
25rpx
;
margin-bottom
:
172rpx
;
padding
:
20rpx
;
:deep
(
.wd-textarea
)
{
padding
:
0
30rpx
;
padding
:
30rpx
0
;
}
.itemPicker
{
...
...
src/pages/order/ticketCode.vue
View file @
23bfa87d
...
...
@@ -12,7 +12,7 @@
<view
class=
"info"
>
<view
class=
"box"
>
<text
class=
"title"
>
{{
orderDetail
.
orderItems
[
0
].
prodName
}}
</text>
<text
class=
"code"
>
{{
orderDetail
.
orderStore
.
orderNumber
}}
</text>
<text
class=
"code"
>
{{
orderDetail
.
orderStore
.
orderNumber
.
slice
(
6
)
}}
</text>
</view>
<view
class=
"rectangle-with-semicircles"
></view>
<view
class=
"qrcode line"
>
...
...
@@ -44,13 +44,6 @@ const orderDetail = ref();
function
getOrderDetailFn
(
orderNumber
)
{
getOrderDetail
({
orderNumber
}).
then
((
res
)
=>
{
orderDetail
.
value
=
res
.
data
;
const
outTradeNo
=
res
.
data
.
orderStore
.
orderNumber
;
const
indexOfDash
=
outTradeNo
.
indexOf
(
'-'
);
if
(
indexOfDash
!==
-
1
)
{
res
.
data
.
orderStore
.
orderNumber
=
outTradeNo
.
substring
(
indexOfDash
+
1
);
}
else
{
console
.
log
(
`订单编号
${
outTradeNo
}
中没有找到 "-" 符号。`
);
}
if
(
orderDetail
.
value
.
orderStore
.
status
===
'2'
||
orderDetail
.
value
.
orderStore
.
status
===
'3'
...
...
src/pages/shop/shop.vue
View file @
23bfa87d
...
...
@@ -82,7 +82,6 @@
</view>
</view>
<!-- 店铺信息-end -->
<view
class=
"shop-info-box"
></view>
<!-- 补贴 -->
<view
class=
"subsidy-content"
@
click=
"jumpPage"
>
<view
class=
"subsidy"
>
...
...
@@ -815,15 +814,10 @@ page {
.content
{
width
:
750rpx
;
position
:
relative
;
// 商家信息
.shop-info-box
{
height
:
146
*
2rpx
;
height
:
116
*
2rpx
;
}
.shop-info
{
width
:
750rpx
;
background-color
:
#fdfdfd
;
position
:
absolut
e
;
position
:
relativ
e
;
top
:
-80rpx
;
border-radius
:
16rpx
16rpx
0rpx
0rpx
;
display
:
flex
;
...
...
@@ -957,6 +951,9 @@ page {
padding
:
10rpx
40rpx
14rpx
12rpx
;
background
:
#ffefee
;
margin-top
:
16rpx
;
flex-shrink
:
0
;
top
:
-80rpx
;
position
:
relative
;
box-shadow
:
0rpx
2
*
2rpx
10
*
2rpx
0
*
2rpx
rgba
(
226
,
3
,
3
,
0
.08
);
.subsidy
{
width
:
144
*
2rpx
;
...
...
@@ -997,6 +994,8 @@ page {
border-radius
:
8
*
2rpx
;
background
:
#ffffff
;
display
:
flex
;
position
:
relative
;
top
:
-80rpx
;
flex-direction
:
column
;
box-sizing
:
border-box
;
padding
:
20rpx
;
...
...
@@ -1054,6 +1053,9 @@ page {
padding
:
20rpx
40rpx
;
background
:
#fdfdfd
;
margin-top
:
20rpx
;
position
:
relative
;
top
:
-80rpx
;
.title
{
display
:
flex
;
align-items
:
center
;
...
...
@@ -1181,6 +1183,8 @@ page {
box-sizing
:
border-box
;
padding
:
11
*
2rpx
;
margin-top
:
10rpx
;
position
:
relative
;
top
:
-80rpx
;
.useer-reviews-title
{
width
:
100%
;
display
:
flex
;
...
...
@@ -1313,6 +1317,8 @@ page {
box-sizing
:
border-box
;
padding
:
20rpx
;
margin-top
:
10rpx
;
position
:
relative
;
top
:
-80rpx
;
.title
{
font-size
:
13
*
2rpx
;
font-weight
:
bold
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment