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
ea8d1d2c
Commit
ea8d1d2c
authored
Aug 13, 2024
by
陈宗胤(贵阳日报)
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.platform.xinhuaapp.com/pengjiani/groupPurchase-miniapp
parents
55a5f7f1
72970b97
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
186 additions
and
33 deletions
+186
-33
DepartureDate.vue
src/Components/assistingAgriculture/index/DepartureDate.vue
+20
-7
fab.vue
src/Components/fab/fab.vue
+4
-0
route.js
src/api/assistingAgriculture/route.js
+8
-1
order.js
src/api/order.js
+20
-0
addressEdit.vue
src/pages/address/addressEdit.vue
+8
-4
RouteDetails.vue
src/pages/assistingAgriculture/RouteDetails/RouteDetails.vue
+65
-9
RuralTravel.vue
src/pages/assistingAgriculture/RuralTravel/RuralTravel.vue
+32
-5
index.vue
src/pages/assistingAgriculture/index/index.vue
+2
-0
index.vue
...s/assistingAgriculture/order/components/stepBar/index.vue
+6
-0
detail.vue
src/pages/assistingAgriculture/order/detail.vue
+21
-7
No files found.
src/Components/assistingAgriculture/index/DepartureDate.vue
View file @
ea8d1d2c
...
@@ -10,16 +10,17 @@
...
@@ -10,16 +10,17 @@
>
>
{{
item
.
startDate
}}
{{
item
.
startDate
}}
</li>
</li>
<wd-calendar
use-default-slot
v-model=
"value"
@
confirm=
"handleConfirm
4
"
>
<wd-calendar
use-default-slot
v-model=
"value"
@
confirm=
"handleConfirm"
>
<li>
选择日期
</li>
<li
@
tap=
"selectItem(index, item)"
>
选择日期
</li>
</wd-calendar>
</wd-calendar>
</ul>
</ul>
</view>
</view>
</
template
>
</
template
>
<
script
setup
>
<
script
setup
>
import
{
defineProps
,
onMounted
}
from
'vue'
;
import
{
defineProps
,
onMounted
,
ref
}
from
'vue'
;
import
{
getStartDate
}
from
'@/api/assistingAgriculture/village'
;
import
{
getStartDate
}
from
'@/api/assistingAgriculture/village'
;
const
selectedItem
=
ref
(
null
);
const
selectedItem
=
ref
(
null
);
const
emit
=
defineEmits
([
'dataParams'
]);
const
emit
=
defineEmits
([
'dataParams'
]);
const
dataList
=
ref
([]);
const
dataList
=
ref
([]);
...
@@ -35,21 +36,33 @@ const props = defineProps({
...
@@ -35,21 +36,33 @@ const props = defineProps({
default
:
'100%'
,
default
:
'100%'
,
},
},
});
});
onMounted
(
async
()
=>
{
onMounted
(
async
()
=>
{
getStartDateList
();
getStartDateList
();
});
});
const
selectItem
=
(
index
,
item
)
=>
{
const
selectItem
=
(
index
,
item
)
=>
{
console
.
log
(
item
,
323
);
const
datePart
=
timestampToDateBasic
(
value
.
value
);
selectedItem
.
value
=
index
;
selectedItem
.
value
=
index
;
emit
(
'dataParams'
,
item
);
emit
(
'dataParams'
,
item
,
datePart
);
console
.
log
(
datePart
,
'datePart'
);
};
};
// 查询出发日期
const
getStartDateList
=
()
=>
{
const
getStartDateList
=
()
=>
{
getStartDate
(
params
).
then
((
res
)
=>
{
getStartDate
(
params
).
then
((
res
)
=>
{
dataList
.
value
=
res
.
data
;
dataList
.
value
=
res
.
data
;
});
});
};
};
function
handleConfirm4
({
value
})
{
function
handleConfirm
({
value
})
{
formatValue
.
value
=
new
Date
(
value
).
toString
();
const
datePart
=
timestampToDateBasic
(
value
);
console
.
log
(
datePart
,
'datePart---111'
);
selectItem
(
undefined
,
undefined
);
}
function
timestampToDateBasic
(
timestamp
)
{
const
date
=
new
Date
(
timestamp
);
const
year
=
date
.
getFullYear
();
const
month
=
(
date
.
getMonth
()
+
1
).
toString
().
padStart
(
2
,
'0'
);
const
day
=
date
.
getDate
().
toString
().
padStart
(
2
,
'0'
);
return
`
${
year
}
/
${
month
}
/
${
day
}
`
;
}
}
</
script
>
</
script
>
...
...
src/Components/fab/fab.vue
View file @
ea8d1d2c
...
@@ -7,6 +7,10 @@
...
@@ -7,6 +7,10 @@
:draggable=
"true"
:draggable=
"true"
inactiveIcon=
"a-controlplatform"
inactiveIcon=
"a-controlplatform"
>
>
<view
class=
"custom-button"
@
click=
"go('/pages/assistingAgriculture/index/index')"
>
<image
class=
"fab-icon"
src=
"../../static/index/order.png"
></image>
<text
class=
"fab-text"
>
助农
</text>
</view>
<view
class=
"custom-button"
@
click=
"go('/pages/ticket/ticket')"
>
<view
class=
"custom-button"
@
click=
"go('/pages/ticket/ticket')"
>
<image
class=
"fab-icon"
src=
"../../static/index/coupon.png"
></image>
<image
class=
"fab-icon"
src=
"../../static/index/coupon.png"
></image>
<text
class=
"fab-text"
>
优惠券
</text>
<text
class=
"fab-text"
>
优惠券
</text>
...
...
src/api/assistingAgriculture/route.js
View file @
ea8d1d2c
...
@@ -40,7 +40,7 @@ export function getPhoto({ shopId, prodId }) {
...
@@ -40,7 +40,7 @@ export function getPhoto({ shopId, prodId }) {
},
},
});
});
}
}
//
查询商家相册
列表
//
获取套餐价格
列表
export
function
getMealList
(
data
)
{
export
function
getMealList
(
data
)
{
return
request
({
return
request
({
url
:
`/sgyrdd/znprod/meal/list`
,
url
:
`/sgyrdd/znprod/meal/list`
,
...
@@ -64,3 +64,10 @@ export function getItinerary(data) {
...
@@ -64,3 +64,10 @@ export function getItinerary(data) {
data
,
data
,
});
});
}
}
// 店铺信息
export
function
getStoreInformation
(
data
)
{
return
request
({
url
:
`/sgyrdd/shop/getById?shopId=
${
data
}
`
,
method
:
'GET'
,
});
}
src/api/order.js
View file @
ea8d1d2c
...
@@ -87,6 +87,8 @@ export function evaluation(data) {
...
@@ -87,6 +87,8 @@ export function evaluation(data) {
data
,
data
,
});
});
}
}
// 查询售后详情
export
function
afterSale
(
data
)
{
export
function
afterSale
(
data
)
{
return
request
({
return
request
({
url
:
'/sgyrdd/sgyOrder/afterSales/getInfo'
,
url
:
'/sgyrdd/sgyOrder/afterSales/getInfo'
,
...
@@ -94,3 +96,21 @@ export function afterSale(data) {
...
@@ -94,3 +96,21 @@ export function afterSale(data) {
data
,
data
,
});
});
}
}
// 查询物流轨迹
export
function
getLogistics
(
data
)
{
return
request
({
url
:
'/sgyrdd/sgyOrder/logistics/logistics'
,
method
:
'POST'
,
data
,
});
}
// 查询物流轨迹含地图
export
function
getLogisticsMap
(
data
)
{
return
request
({
url
:
'/sgyrdd/sgyOrder/logistics/logisticsMap'
,
method
:
'GET'
,
data
,
});
}
src/pages/address/addressEdit.vue
View file @
ea8d1d2c
...
@@ -95,6 +95,7 @@ function fieldNotEmpty(val) {
...
@@ -95,6 +95,7 @@ function fieldNotEmpty(val) {
}
}
const
hdSubmit
=
async
()
=>
{
const
hdSubmit
=
async
()
=>
{
try
{
if
(
!
content
.
value
.
addrId
)
{
if
(
!
content
.
value
.
addrId
)
{
await
addAddress
({
await
addAddress
({
...
forMData
.
value
,
...
forMData
.
value
,
...
@@ -109,9 +110,16 @@ const hdSubmit = async () => {
...
@@ -109,9 +110,16 @@ const hdSubmit = async () => {
commonAddr
:
forMData
.
value
.
commonAddr
?
1
:
0
,
commonAddr
:
forMData
.
value
.
commonAddr
?
1
:
0
,
});
});
}
}
uni
.
showToast
({
title
:
'提交成功'
,
duration
:
2000
,
});
uni
.
navigateTo
({
uni
.
navigateTo
({
url
:
'/pages/address/addressList'
,
url
:
'/pages/address/addressList'
,
});
});
}
catch
(
error
)
{
console
.
log
(
error
,
'error'
);
}
};
};
function
handleSubmit
()
{
function
handleSubmit
()
{
reForm
.
value
reForm
.
value
...
@@ -119,10 +127,6 @@ function handleSubmit() {
...
@@ -119,10 +127,6 @@ function handleSubmit() {
.
then
(({
valid
})
=>
{
.
then
(({
valid
})
=>
{
if
(
valid
)
{
if
(
valid
)
{
hdSubmit
();
hdSubmit
();
xma
.
showToast
({
title
:
'提交成功'
,
duration
:
2000
,
});
}
}
})
})
.
catch
((
error
)
=>
{
.
catch
((
error
)
=>
{
...
...
src/pages/assistingAgriculture/RouteDetails/RouteDetails.vue
View file @
ea8d1d2c
...
@@ -68,20 +68,23 @@
...
@@ -68,20 +68,23 @@
<p>
物超所值(44)
</p>
<p>
物超所值(44)
</p>
<p>
线路合理(44)
</p>
<p>
线路合理(44)
</p>
</div>
-->
</div>
-->
<div
class=
"user"
>
<div
class=
"user"
v-if=
"firstEvaluation"
>
<div
class=
"user-name flex-align-center"
>
<div
class=
"user-name flex-align-center"
>
<img
:src=
"domain.imgPrefix + firstEvaluation.avatar"
/>
<img
:src=
"domain.imgPrefix + firstEvaluation.avatar"
/>
<p>
{{
firstEvaluation
.
nickName
}}
</p>
<p>
{{
firstEvaluation
.
nickName
}}
</p>
</div>
</div>
<div
class=
"content"
>
{{
firstEvaluation
.
evaluation
}}
</div>
<div
class=
"content"
>
{{
firstEvaluation
.
evaluation
}}
</div>
</div>
</div>
<div
class=
"user flex-center"
v-else
>
<p
style=
"color: #999"
>
暂无数据
</p>
</div>
</div>
</div>
<div
class=
"album"
>
<div
class=
"album"
>
<div
class=
"top flex-between"
>
<div
class=
"top flex-between"
>
<div
class=
"title"
>
用户相册
</div>
<div
class=
"title"
>
用户相册
</div>
<div
class=
"link"
@
click=
"toAlbum"
>
查看全部(
{{
evalData
.
imgCount
}}
) >
</div>
<div
class=
"link"
@
click=
"toAlbum"
>
查看全部(
{{
photoList
.
length
}}
) >
</div>
</div>
</div>
<div
class=
"img-list"
>
<div
class=
"img-list"
v-if=
"photoList?.length"
>
<wd-img
<wd-img
v-for=
"(v, i) in photoList"
v-for=
"(v, i) in photoList"
:key=
"i"
:key=
"i"
...
@@ -89,6 +92,9 @@
...
@@ -89,6 +92,9 @@
enable-preview
enable-preview
/>
/>
</div>
</div>
<div
class=
"album flex-center"
v-else
>
<p
style=
"color: #999"
>
暂无数据
</p>
</div>
</div>
</div>
</div>
</div>
<p
class=
"choose-package-text"
>
选择套餐·日期
</p>
<p
class=
"choose-package-text"
>
选择套餐·日期
</p>
...
@@ -98,14 +104,13 @@
...
@@ -98,14 +104,13 @@
<div
class=
"package-list"
>
<div
class=
"package-list"
>
<div
<div
class=
"package-item"
class=
"package-item"
:class=
"
{ active: activeMeal === v }"
:class=
"
{ active: activeMeal === v
, 'special-offer': v.isEspecially
}"
v-for="(v, i) in mealList"
v-for="(v, i) in mealList"
@click="onActiveMeal(v)"
@click="onActiveMeal(v)"
:key="i"
:key="i"
>
>
<div
class=
"price flex-between"
>
<div
class=
"price flex-between"
>
<p
class=
"name"
>
{{
v
.
mealName
}}
</p>
<p
class=
"name"
>
{{
v
.
mealName
}}
</p>
<p>
¥
{{
v
.
price
}}
起
</p>
</div>
</div>
<div
class=
"content"
>
<div
class=
"content"
>
<div>
<div>
...
@@ -125,6 +130,9 @@
...
@@ -125,6 +130,9 @@
<p>
{{
v
.
mealFood
}}
</p>
<p>
{{
v
.
mealFood
}}
</p>
</div>
</div>
</div>
</div>
<div
class=
"price"
style=
"margin-top: 30rpx"
>
<p>
¥
{{
v
.
price
}}
起
</p>
</div>
</div>
</div>
</div>
</div>
<div
class=
"selected"
>
<div
class=
"selected"
>
...
@@ -292,9 +300,10 @@
...
@@ -292,9 +300,10 @@
</div>
</div>
</scroll-view>
</scroll-view>
<div
class=
"footer flex-between"
>
<div
class=
"footer flex-between"
>
<div
class=
"like"
>
<div
class=
"like"
@
click=
"getCollectFn"
>
<wd-icon
name=
"star"
></wd-icon>
<wd-icon
v-if=
"shopInfo.isCollect === 0"
name=
"star"
></wd-icon>
<p>
收藏
</p>
<wd-icon
v-else
color=
"red"
name=
"star-on"
></wd-icon>
<p>
{{
shopInfo
.
privateIntFcount
||
0
}}
</p>
</div>
</div>
<button>
立即预定
</button>
<button>
立即预定
</button>
</div>
</div>
...
@@ -313,7 +322,9 @@ import {
...
@@ -313,7 +322,9 @@ import {
getMealList
,
getMealList
,
getPriceList
,
getPriceList
,
getItinerary
,
getItinerary
,
getStoreInformation
,
}
from
'@/api/assistingAgriculture/route'
;
}
from
'@/api/assistingAgriculture/route'
;
import
{
getCollect
}
from
'@/api/packageDetail'
;
const
swiperList
=
ref
([
const
swiperList
=
ref
([
'https://registry.npmmirror.com/wot-design-uni-assets/*/files/redpanda.jpg'
,
'https://registry.npmmirror.com/wot-design-uni-assets/*/files/redpanda.jpg'
,
...
@@ -338,6 +349,7 @@ const priceList = ref([]);
...
@@ -338,6 +349,7 @@ const priceList = ref([]);
const
viewPriceList
=
ref
([]);
const
viewPriceList
=
ref
([]);
const
activePrice
=
ref
({});
const
activePrice
=
ref
({});
const
show
=
ref
(
false
);
const
show
=
ref
(
false
);
const
shopIds
=
ref
(
''
);
watch
(
show
,
(
value
)
=>
{
watch
(
show
,
(
value
)
=>
{
let
index
=
priceList
.
value
.
indexOf
(
activePrice
.
value
);
let
index
=
priceList
.
value
.
indexOf
(
activePrice
.
value
);
index
=
Math
.
max
(
1
,
index
);
index
=
Math
.
max
(
1
,
index
);
...
@@ -355,11 +367,24 @@ const getPriceListFn = (mealId) => {
...
@@ -355,11 +367,24 @@ const getPriceListFn = (mealId) => {
viewPriceList
.
value
=
res
.
data
.
slice
(
0
,
4
);
viewPriceList
.
value
=
res
.
data
.
slice
(
0
,
4
);
});
});
};
};
const
shopInfo
=
ref
({});
// 获取店铺信息
const
getStoreInformationFn
=
(
id
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
getStoreInformation
(
id
).
then
((
res
)
=>
{
if
(
res
.
code
===
0
)
{
shopInfo
.
value
=
res
.
data
.
shop
;
resolve
();
}
});
});
};
// 行程
// 行程
const
itineraryData
=
ref
([]);
const
itineraryData
=
ref
([]);
/* shopId:1821388624367861761
/* shopId:1821388624367861761
prodId:43835 */
prodId:43835 */
onLoad
(({
shopId
,
prodId
})
=>
{
onLoad
(({
shopId
,
prodId
})
=>
{
shopIds
.
value
=
shopId
;
// const shopId = 1821388624367861761n;
// const shopId = 1821388624367861761n;
// const prodId = 43835;
// const prodId = 43835;
getProd
({
getProd
({
...
@@ -391,7 +416,22 @@ onLoad(({ shopId, prodId }) => {
...
@@ -391,7 +416,22 @@ onLoad(({ shopId, prodId }) => {
getItinerary
({
prodId
}).
then
((
res
)
=>
{
getItinerary
({
prodId
}).
then
((
res
)
=>
{
itineraryData
.
value
=
res
.
data
;
itineraryData
.
value
=
res
.
data
;
});
});
// 获取店铺信息
getStoreInformationFn
(
shopId
);
});
});
function
getCollectFn
()
{
getCollect
(
shopIds
.
value
).
then
((
res
)
=>
{
if
(
res
.
code
===
0
)
{
if
(
shopInfo
.
value
.
isCollect
===
0
)
{
shopInfo
.
value
.
privateIntFcount
++
;
shopInfo
.
value
.
isCollect
=
1
;
}
else
{
shopInfo
.
value
.
privateIntFcount
--
;
shopInfo
.
value
.
isCollect
=
0
;
}
}
});
}
// 返回上一级
// 返回上一级
function
back
()
{
function
back
()
{
xma
.
navigateBack
({
xma
.
navigateBack
({
...
@@ -618,8 +658,24 @@ uni-page-body {
...
@@ -618,8 +658,24 @@ uni-page-body {
padding
:
20rpx
;
padding
:
20rpx
;
background
:
linear-gradient
(
180deg
,
#feeeee
0%
,
#ffffff
100%
);
background
:
linear-gradient
(
180deg
,
#feeeee
0%
,
#ffffff
100%
);
box-shadow
:
0rpx
4rpx
8rpx
0rpx
rgba
(
0
,
0
,
0
,
0
.08
);
box-shadow
:
0rpx
4rpx
8rpx
0rpx
rgba
(
0
,
0
,
0
,
0
.08
);
position
:
relative
;
overflow
:
hidden
;
&
.active
{
&
.active
{
border
:
1px
solid
#fa5151
;
border
:
2rpx
solid
#fa5151
;
}
&.
special-offer
:
:
after
{
content
:
'特价套餐'
;
font-weight
:
bold
;
font-size
:
24rpx
;
padding
:
0
100rpx
;
background-color
:
#fa5151
;
color
:
#fff
;
display
:
block
;
position
:
absolute
;
top
:
26rpx
;
right
:
40rpx
;
white-space
:
nowrap
;
transform
:
translateX
(
50%
)
rotateZ
(
45deg
);
}
}
.price
{
.price
{
font-size
:
24rpx
;
font-size
:
24rpx
;
...
...
src/pages/assistingAgriculture/RuralTravel/RuralTravel.vue
View file @
ea8d1d2c
...
@@ -115,6 +115,13 @@
...
@@ -115,6 +115,13 @@
>
</wd-icon>
>
</wd-icon>
</view>
</view>
</view>
</view>
|
<view
class=
"bootom-top"
>
<view
class=
"option"
@
tap=
"resetParams"
>
<text>
清空
</text>
<wd-icon
size=
"24rpx"
class=
"icons"
></wd-icon>
</view>
</view>
<Sort
v-show=
"rotate"
@
sortParams=
"sortParams"
/>
<Sort
v-show=
"rotate"
@
sortParams=
"sortParams"
/>
<DepartureDate
v-show=
"rotate2"
@
dataParams=
"dataParams"
/>
<DepartureDate
v-show=
"rotate2"
@
dataParams=
"dataParams"
/>
<ScenicSpots
v-show=
"rotate3"
@
placeParams=
"placeParams"
/>
<ScenicSpots
v-show=
"rotate3"
@
placeParams=
"placeParams"
/>
...
@@ -180,6 +187,7 @@ const sortType = ref(null);
...
@@ -180,6 +187,7 @@ const sortType = ref(null);
const
attractionId
=
ref
(
null
);
const
attractionId
=
ref
(
null
);
const
startCity
=
ref
(
null
);
const
startCity
=
ref
(
null
);
const
dateType
=
ref
(
null
);
const
dateType
=
ref
(
null
);
const
allocateDate
=
ref
(
null
);
const
serviceCommitment
=
ref
(
null
);
const
serviceCommitment
=
ref
(
null
);
const
labelId
=
ref
(
null
);
const
labelId
=
ref
(
null
);
const
locationFiltering
=
(
index
)
=>
{
const
locationFiltering
=
(
index
)
=>
{
...
@@ -233,10 +241,16 @@ const sortParams = (sortMode) => {
...
@@ -233,10 +241,16 @@ const sortParams = (sortMode) => {
getProd
();
getProd
();
};
};
// 出发日期
// 出发日期
const
dataParams
=
(
item
)
=>
{
const
dataParams
=
(
item
,
datePart
)
=>
{
console
.
log
(
item
,
item
.
key
,
22322323
);
if
(
item
!==
undefined
)
{
dateType
.
value
=
item
.
key
;
dateType
.
value
=
item
.
key
;
getProd
();
getProd
();
}
else
if
(
item
===
undefined
)
{
console
.
log
(
item
,
3333333
);
dateType
.
value
=
8
;
allocateDate
.
value
=
datePart
;
getProd
();
}
};
};
// 景点
// 景点
const
placeParams
=
(
id
)
=>
{
const
placeParams
=
(
id
)
=>
{
...
@@ -248,12 +262,14 @@ const screenParams = (item, type) => {
...
@@ -248,12 +262,14 @@ const screenParams = (item, type) => {
console
.
log
(
item
,
type
,
111
);
console
.
log
(
item
,
type
,
111
);
if
(
type
===
'screen'
)
{
if
(
type
===
'screen'
)
{
startCity
.
value
=
item
.
tripCity
;
startCity
.
value
=
item
.
tripCity
;
getProd
();
}
else
if
(
type
===
'serve'
)
{
}
else
if
(
type
===
'serve'
)
{
serviceCommitment
.
value
=
item
.
labelName
;
serviceCommitment
.
value
=
item
.
labelName
;
getProd
();
}
else
if
(
type
===
'people'
)
{
}
else
if
(
type
===
'people'
)
{
labelId
.
value
=
item
.
labelName
;
labelId
.
value
=
item
.
labelName
;
}
getProd
();
getProd
();
}
};
};
// 查询列表
// 查询列表
const
getProd
=
()
=>
{
const
getProd
=
()
=>
{
...
@@ -262,10 +278,11 @@ const getProd = () => {
...
@@ -262,10 +278,11 @@ const getProd = () => {
size
:
10
,
size
:
10
,
...(
sortType
.
value
!==
null
&&
{
sortType
:
sortType
.
value
.
sortMode
}),
...(
sortType
.
value
!==
null
&&
{
sortType
:
sortType
.
value
.
sortMode
}),
...(
attractionId
.
value
!==
null
&&
{
attractionId
:
attractionId
.
value
.
id
}),
...(
attractionId
.
value
!==
null
&&
{
attractionId
:
attractionId
.
value
.
id
}),
...(
dateType
.
value
!==
null
&&
{
dateType
:
dateType
.
value
.
key
}),
...(
dateType
.
value
!==
null
&&
{
dateType
:
dateType
.
value
}),
...(
startCity
.
value
!==
null
&&
{
startCity
:
startCity
.
value
}),
...(
startCity
.
value
!==
null
&&
{
startCity
:
startCity
.
value
}),
...(
serviceCommitment
.
value
!==
null
&&
{
serviceCommitment
:
serviceCommitment
.
value
}),
...(
serviceCommitment
.
value
!==
null
&&
{
serviceCommitment
:
serviceCommitment
.
value
}),
...(
labelId
.
value
!==
null
&&
{
labelId
:
labelId
.
value
}),
...(
labelId
.
value
!==
null
&&
{
labelId
:
labelId
.
value
}),
...(
dateType
.
value
===
8
&&
{
allocateDate
:
allocateDate
.
value
}),
};
};
getProdList
(
params
).
then
((
res
)
=>
{
getProdList
(
params
).
then
((
res
)
=>
{
res
.
data
.
records
.
forEach
((
item
)
=>
{
res
.
data
.
records
.
forEach
((
item
)
=>
{
...
@@ -274,11 +291,21 @@ const getProd = () => {
...
@@ -274,11 +291,21 @@ const getProd = () => {
cardList
.
value
=
res
.
data
.
records
;
cardList
.
value
=
res
.
data
.
records
;
});
});
};
};
const
resetParams
=
()
=>
{
sortType
.
value
=
null
;
attractionId
.
value
=
null
;
dateType
.
value
=
null
;
startCity
.
value
=
null
;
serviceCommitment
.
value
=
null
;
labelId
.
value
=
null
;
allocateDate
.
value
=
null
;
getProd
();
};
function
toRouteDetails
(
item
)
{
function
toRouteDetails
(
item
)
{
console
.
log
(
item
,
22222
);
console
.
log
(
item
,
22222
);
// TODO: 跳转到线路详情
// TODO: 跳转到线路详情
xma
.
navigateTo
({
xma
.
navigateTo
({
url
:
`/pages/assistingAgriculture/RouteDetails/RouteDetails?shopId=
${
item
.
shopId
}
,
prodId=
${
item
.
prodId
}
`
,
url
:
`/pages/assistingAgriculture/RouteDetails/RouteDetails?shopId=
${
item
.
shopId
}
&
prodId=
${
item
.
prodId
}
`
,
});
});
}
}
function
toSpecialOfferZoneList
()
{
function
toSpecialOfferZoneList
()
{
...
...
src/pages/assistingAgriculture/index/index.vue
View file @
ea8d1d2c
...
@@ -58,11 +58,13 @@
...
@@ -58,11 +58,13 @@
</view>
</view>
</view>
</view>
</view>
</view>
<fab
/>
</view>
</view>
</
template
>
</
template
>
<
script
setup
lang=
"ts"
>
<
script
setup
lang=
"ts"
>
import
Search
from
'../../../components/assistingAgriculture/index/Search.vue'
;
import
Search
from
'../../../components/assistingAgriculture/index/Search.vue'
;
import
fab
from
'../../../components/fab/fab.vue'
;
import
{
import
{
getPresaleCategory
,
getPresaleCategory
,
getPresaleList
,
getPresaleList
,
...
...
src/pages/assistingAgriculture/order/components/stepBar/index.vue
View file @
ea8d1d2c
...
@@ -110,6 +110,12 @@
...
@@ -110,6 +110,12 @@
</template>
</template>
<
script
setup
>
<
script
setup
>
const
props
=
defineProps
({
dataList
:
{
type
:
Array
,
default
:
null
,
},
});
const
show
=
ref
(
false
);
const
show
=
ref
(
false
);
// 正则表达式匹配电话号码
// 正则表达式匹配电话号码
const
phoneRegex
=
/
\b(\d{3,4}
-
\d{7,8}
|
\d{11})\b
/g
;
const
phoneRegex
=
/
\b(\d{3,4}
-
\d{7,8}
|
\d{11})\b
/g
;
...
...
src/pages/assistingAgriculture/order/detail.vue
View file @
ea8d1d2c
...
@@ -3,7 +3,8 @@
...
@@ -3,7 +3,8 @@
<Header
title=
"商品详情页"
></Header>
<Header
title=
"商品详情页"
></Header>
<web-view
<web-view
style=
"height: 600rpx"
style=
"height: 600rpx"
src=
"https://api.kuaidi100.com/tools/map/59d4a57b7964ebd6fc1d831847cb61c9_106.714305,26.568055_6"
:src=
"logisticsDetail.trailUrl"
v-if=
"logisticsDetail"
></web-view>
></web-view>
<!--
<view
style=
"height: 600rpx; background-color: aquamarine"
></view>
-->
<!--
<view
style=
"height: 600rpx; background-color: aquamarine"
></view>
-->
<view
class=
"content"
>
<view
class=
"content"
>
...
@@ -11,7 +12,7 @@
...
@@ -11,7 +12,7 @@
<view
class=
"top"
>
<view
class=
"top"
>
<view
class=
"left"
>
<view
class=
"left"
>
<image
class=
"logo"
src=
"/static/ticket/logo.png"
mode=
"aspectFill"
></image>
<image
class=
"logo"
src=
"/static/ticket/logo.png"
mode=
"aspectFill"
></image>
<text>
中通快递
78810259271088
</text>
<text>
中通快递
{{
orderDetail
.
orderLogistics
.
logisticsNumber
}}
</text>
</view>
</view>
<view
class=
"right"
>
<view
class=
"right"
>
<text>
复制
</text>
<text>
复制
</text>
...
@@ -159,10 +160,11 @@
...
@@ -159,10 +160,11 @@
</view>
</view>
<view
style=
"height: 170rpx"
></view>
<view
style=
"height: 170rpx"
></view>
</view>
</view>
<view
class=
"footer"
>
<view
class=
"footer"
v-if=
"orderDetail"
>
<view
class=
"btn"
>
查看物流
</view>
<view
class=
"btn"
v-if=
"orderDetail.orderLogistics.status === '3'"
>
查看物流
</view>
<view
class=
"btn"
>
申请售后
</view>
<view
class=
"btn"
>
联系商家
</view>
<view
class=
"btn err"
>
确认收货
</view>
<view
class=
"btn err"
v-if=
"orderDetail.orderLogistics.status === '3'"
>
确认收货
</view>
<view
class=
"btn err"
v-if=
"orderDetail.orderLogistics.status === '1'"
>
立即付款
</view>
</view>
</view>
</view>
</view>
<stepBar
ref=
"stepBarRef"
></stepBar>
<stepBar
ref=
"stepBarRef"
></stepBar>
...
@@ -171,7 +173,7 @@
...
@@ -171,7 +173,7 @@
<
script
setup
>
<
script
setup
>
import
Header
from
'@/pages/order/components/Header/index.vue'
;
import
Header
from
'@/pages/order/components/Header/index.vue'
;
import
stepBar
from
'@/pages/assistingAgriculture/order/components/stepBar/index.vue'
;
import
stepBar
from
'@/pages/assistingAgriculture/order/components/stepBar/index.vue'
;
import
{
getOrderDetail
,
getShopDetail
}
from
'@/api/order'
;
import
{
getOrderDetail
,
getShopDetail
,
getLogisticsMap
}
from
'@/api/order'
;
const
fileDomain
=
import
.
meta
.
env
.
VITE_APP_IMG_URL
;
const
fileDomain
=
import
.
meta
.
env
.
VITE_APP_IMG_URL
;
const
orderNumber
=
ref
(
''
);
const
orderNumber
=
ref
(
''
);
...
@@ -194,6 +196,9 @@ const getDetail = async () => {
...
@@ -194,6 +196,9 @@ const getDetail = async () => {
const
res
=
await
getOrderDetail
({
orderNumber
:
orderNumber
.
value
});
const
res
=
await
getOrderDetail
({
orderNumber
:
orderNumber
.
value
});
orderDetail
.
value
=
res
.
data
;
orderDetail
.
value
=
res
.
data
;
getShopMailDetail
(
orderDetail
.
value
.
baseOrder
.
shopId
);
getShopMailDetail
(
orderDetail
.
value
.
baseOrder
.
shopId
);
if
(
orderDetail
.
value
.
orderLogistics
.
logisticsNumber
)
{
getLogisticsDetail
(
orderDetail
.
value
.
orderLogistics
.
logisticsNumber
);
}
};
};
/**
/**
...
@@ -205,6 +210,15 @@ const getShopMailDetail = async (id) => {
...
@@ -205,6 +210,15 @@ const getShopMailDetail = async (id) => {
shopDetail
.
value
=
res
.
data
.
shop
;
shopDetail
.
value
=
res
.
data
.
shop
;
};
};
/**
* 获取物流信息
*/
const
logisticsDetail
=
ref
();
const
getLogisticsDetail
=
async
(
id
)
=>
{
const
res
=
await
getLogisticsMap
({
expressNum
:
id
});
logisticsDetail
.
value
=
res
.
data
;
};
const
toShopDetail
=
()
=>
{
const
toShopDetail
=
()
=>
{
xma
.
navigateTo
({
xma
.
navigateTo
({
url
:
`/pages/assistingAgriculture/shop/index?shopId=
${
shopDetail
.
value
.
shopId
}
`
,
url
:
`/pages/assistingAgriculture/shop/index?shopId=
${
shopDetail
.
value
.
shopId
}
`
,
...
...
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