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
66413769
Commit
66413769
authored
Aug 09, 2024
by
陈宗胤(贵阳日报)
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.platform.xinhuaapp.com/pengjiani/groupPurchase-miniapp
parents
237b9070
db7ef839
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
160 additions
and
161 deletions
+160
-161
address.js
src/api/address.js
+37
-0
shop.js
src/api/assistingAgriculture/shop.js
+18
-0
storeEntry.js
src/api/storeEntry.js
+1
-0
addressEdit.vue
src/pages/address/addressEdit.vue
+30
-21
addressList.vue
src/pages/address/addressList.vue
+32
-29
presale.vue
src/pages/assistingAgriculture/index/presale.vue
+34
-83
index.vue
src/pages/assistingAgriculture/shop/index.vue
+0
-0
text.vue
src/pages/shop/text.vue
+0
-25
index.vue
src/pages/storeEntry/index.vue
+8
-3
No files found.
src/api/address.js
0 → 100644
View file @
66413769
import
{
request
}
from
'../utils/request'
;
export
function
groupBuyList
()
{
return
request
({
url
:
'/sgyrdd/category/groupBuyList'
,
method
:
'GET'
,
});
}
// 新增收货地址
export
async
function
addAddress
()
{
return
request
({
url
:
'/sgyrdd/useraddr/add'
,
method
:
'GET'
,
});
}
// 修改收货地址
export
async
function
updateAddress
()
{
return
request
({
url
:
'/sgyrdd/useraddr/update'
,
method
:
'GET'
,
});
}
// 删除收货地址
export
async
function
deleteAddress
(
addrId
)
{
return
request
({
url
:
`/sgyrdd/useraddr/delete/
${
addrId
}
`
,
method
:
'GET'
,
});
}
// 查询收货地址列表
export
async
function
getAddressList
()
{
return
request
({
url
:
'/sgyrdd/useraddr/list'
,
method
:
'GET'
,
});
}
src/api/assistingAgriculture/shop.js
0 → 100644
View file @
66413769
import
{
request
}
from
'../../utils/request'
;
// 筑农首页-分类查询商品列表
export
function
shopCategoryByShop
(
data
)
{
return
request
({
url
:
`/sgyrdd/shopCategory/byShop`
,
method
:
'GET'
,
data
,
});
}
// 筑农首页-店铺分类商品列表
export
function
searchProdPage
(
data
)
{
return
request
({
url
:
`/sgyrdd/search/prod/page`
,
method
:
'POST'
,
data
,
});
}
src/api/storeEntry.js
View file @
66413769
...
@@ -16,3 +16,4 @@ export function applyShop(data) {
...
@@ -16,3 +16,4 @@ export function applyShop(data) {
data
,
data
,
});
});
}
}
src/pages/address/addressEdit.vue
View file @
66413769
<
template
>
<
template
>
<view
class=
"container"
>
<view
class=
"container"
>
<template
v-if=
"newAddressFlag"
>
<Header
:title=
"newAddressFlag ? '新增收货地址' : '编辑收货地址'"
></Header>
<Header
title=
"新增收货地址"
></Header>
</
template
>
<
template
v-else
>
<Header
title=
"编辑收货地址"
></Header>
</
template
>
<view
class=
"content"
>
<view
class=
"content"
>
<wd-form
ref=
"form"
:model=
"model"
id=
"form"
>
<wd-form
ref=
"form"
:model=
"model"
id=
"form"
>
<wd-cell-group
border
>
<wd-cell-group>
<wd-input
<wd-input
label=
"联系人"
label=
"联系人"
label-width=
"80px"
label-width=
"80px"
prop=
"
name
"
prop=
"
receiver
"
v-model=
"model.
name
"
v-model=
"model.
receiver
"
placeholder=
"请输入联系人姓名"
placeholder=
"请输入联系人姓名"
:rules=
"[
{ required: false, validator: fieldNotEmpty, message: '姓名不能为空' }]"
:rules=
"[
{ required: false, validator: fieldNotEmpty, message: '姓名不能为空' }]"
/>
/>
<wd-input
<wd-input
label=
"手机号"
label=
"手机号"
label-width=
"80px"
label-width=
"80px"
prop=
"
phon
e"
prop=
"
mobil
e"
v-model=
"model.
phon
e"
v-model=
"model.
mobil
e"
placeholder=
"请输入联系人手机号"
placeholder=
"请输入联系人手机号"
:rules=
"[
{ required: false, pattern: /^1[3-9]\d{9}$/, message: '请输入正确的手机号' }]"
:rules=
"[
{ required: false, pattern: /^1[3-9]\d{9}$/, message: '请输入正确的手机号' }]"
/>
/>
<wd-input
<wd-input
label=
"详细地址"
label=
"详细地址"
label-width=
"80px"
label-width=
"80px"
prop=
"
detailAddress
"
prop=
"
addr
"
v-model=
"model.
detailAddress
"
v-model=
"model.
addr
"
placeholder=
"请输入详细地址"
placeholder=
"请输入详细地址"
:rules=
"[
{ required: false, validator: fieldNotEmpty, message: '详细地址不能为空' }]"
:rules=
"[
{ required: false, validator: fieldNotEmpty, message: '详细地址不能为空' }]"
/>
/>
...
@@ -46,11 +42,11 @@
...
@@ -46,11 +42,11 @@
</view>
</view>
</wd-cell>
</wd-cell>
</wd-checkbox-group>
</wd-checkbox-group>
<wd-checkbox-group
v-model=
"model.
isDefaultAddress
"
size=
"large"
>
<wd-checkbox-group
v-model=
"model.
commonAddr
"
size=
"large"
>
<wd-cell
title=
"设置为默认地址"
center
clickable
@
click
=
"setDefaultAddress"
>
<wd-cell
title=
"设置为默认地址"
center
clickable
@
tap
=
"setDefaultAddress"
>
<view>
<view>
<wd-checkbox
<wd-checkbox
model
-valu
e=
"1"
model
Value
e=
"1"
ref=
"checkBoxAdress"
ref=
"checkBoxAdress"
checked-color=
"#fa5151"
checked-color=
"#fa5151"
custom-style=
"margin-right:-18rpx"
custom-style=
"margin-right:-18rpx"
...
@@ -61,7 +57,7 @@
...
@@ -61,7 +57,7 @@
</wd-cell-group>
</wd-cell-group>
<view
class=
"footer"
>
<view
class=
"footer"
>
<wd-button
type=
"error"
block
class=
"addBtn"
@
click
=
"handleSubmit"
>
保存
</wd-button>
<wd-button
type=
"error"
block
class=
"addBtn"
@
tap
=
"handleSubmit"
>
保存
</wd-button>
</view>
</view>
</wd-form>
</wd-form>
</view>
</view>
...
@@ -70,8 +66,9 @@
...
@@ -70,8 +66,9 @@
<
script
setup
>
<
script
setup
>
import
Header
from
'@/pages/order/components/Header/index.vue'
;
import
Header
from
'@/pages/order/components/Header/index.vue'
;
import
{
addAddress
,
updateAddress
,
deleteAddress
}
from
'@/api/address'
;
const
fileDomain
=
import
.
meta
.
env
.
VITE_APP_IMG_URL
;
const
fileDomain
=
import
.
meta
.
env
.
VITE_APP_IMG_URL
;
const
newAddressFlag
=
ref
(
false
);
const
newAddressFlag
=
ref
(
false
);
const
form
=
ref
();
const
form
=
ref
();
const
checkBoxAdress
=
ref
();
const
checkBoxAdress
=
ref
();
...
@@ -92,9 +89,9 @@ onLoad((options) => {
...
@@ -92,9 +89,9 @@ onLoad((options) => {
isDefaultAddress
:
[],
isDefaultAddress
:
[],
});
});
}
else
{
}
else
{
model
.
value
.
name
=
'
这是名字
'
;
model
.
value
.
name
=
''
;
model
.
value
.
phone
=
'
13655844265
'
;
model
.
value
.
phone
=
''
;
model
.
value
.
detailAddress
=
'
贵州省贵阳市南明区
'
;
model
.
value
.
detailAddress
=
''
;
model
.
value
.
isDefaultAddress
=
[
'1'
];
model
.
value
.
isDefaultAddress
=
[
'1'
];
}
}
});
});
...
@@ -111,6 +108,10 @@ function fieldNotEmpty(val) {
...
@@ -111,6 +108,10 @@ function fieldNotEmpty(val) {
return
false
;
return
false
;
}
}
}
}
const
submit
=
async
()
=>
{
const
res
=
await
addAddress
(
model
.
value
);
console
.
log
(
res
);
};
function
handleSubmit
()
{
function
handleSubmit
()
{
form
.
value
form
.
value
.
validate
()
.
validate
()
...
@@ -146,15 +147,19 @@ page {
...
@@ -146,15 +147,19 @@ page {
font-family
:
Source
Han
Sans
;
font-family
:
Source
Han
Sans
;
font-variation-settings
:
'opsz'
auto
;
font-variation-settings
:
'opsz'
auto
;
font-feature-settings
:
'kern'
on
;
font-feature-settings
:
'kern'
on
;
.content
{
.content
{
padding-top
:
88rpx
;
padding-top
:
88rpx
;
#form
{
#form
{
width
:
710rpx
;
width
:
710rpx
;
margin
:
20rpx
auto
;
margin
:
20rpx
auto
;
}
}
.
wd-input__label
.
is-required
:
:
after
{
.
wd-input__label
.
is-required
:
:
after
{
display
:
none
!
important
;
display
:
none
!
important
;
}
}
.addBtn
{
.addBtn
{
width
:
630rpx
;
width
:
630rpx
;
height
:
72rpx
;
height
:
72rpx
;
...
@@ -171,10 +176,12 @@ page {
...
@@ -171,10 +176,12 @@ page {
display
:
flex
;
display
:
flex
;
width
:
100%
;
width
:
100%
;
align-items
:
center
;
align-items
:
center
;
.area_l
{
.area_l
{
flex
:
1
;
flex
:
1
;
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
flex-direction
:
column
;
.area_lt
{
.area_lt
{
font-size
:
24rpx
;
font-size
:
24rpx
;
font-weight
:
500
;
font-weight
:
500
;
...
@@ -183,6 +190,7 @@ page {
...
@@ -183,6 +190,7 @@ page {
text-align
:
left
;
text-align
:
left
;
margin-bottom
:
10rpx
;
margin-bottom
:
10rpx
;
}
}
.area_lb
{
.area_lb
{
font-size
:
24rpx
;
font-size
:
24rpx
;
font-weight
:
normal
;
font-weight
:
normal
;
...
@@ -191,6 +199,7 @@ page {
...
@@ -191,6 +199,7 @@ page {
text-align
:
left
;
text-align
:
left
;
}
}
}
}
.area_r
{
.area_r
{
width
:
40rpx
;
width
:
40rpx
;
}
}
...
...
src/pages/address/addressList.vue
View file @
66413769
...
@@ -7,41 +7,21 @@
...
@@ -7,41 +7,21 @@
<img
src=
"@/static/address/address.png"
/>
<img
src=
"@/static/address/address.png"
/>
<wd-button
type=
"error"
block
class=
"addBtn"
@
tap=
"addNewAddress"
>
新增地址
</wd-button>
<wd-button
type=
"error"
block
class=
"addBtn"
@
tap=
"addNewAddress"
>
新增地址
</wd-button>
</view>
</view>
<view
class=
"full_list"
v-else
>
<view
class=
"full_list"
v-else
>
<view
class=
"additem"
>
<view
class=
"additem"
v-for=
"(item, index) in addressList"
:key=
"index"
>
<view
class=
"additem_l"
>
<view
class=
"address"
>
这是地址这是地址这是地址这是地址这是地 址这是地址这是地址
</view>
<view
class=
"info"
>
<view
class=
"name"
>
这是姓名
</view>
<view
class=
"phone"
>
123456789258
</view>
</view>
<view
class=
"address_status"
>
<view
v-if=
"mainAddFlag"
class=
"box active"
>
<wd-icon
name=
"check-circle-filled"
size=
"12px"
></wd-icon>
<view
class=
"txt"
>
默认
</view>
</view>
<view
v-else
class=
"box"
>
<wd-icon
name=
"circle1"
size=
"12px"
></wd-icon>
<view
class=
"txt"
>
默认
</view>
</view>
</view>
</view>
<view
class=
"additem_r"
>
<wd-icon
name=
"edit-outline"
size=
"14px"
@
tap=
"editAddress"
></wd-icon>
</view>
</view>
<view
class=
"additem"
>
<view
class=
"additem_l"
>
<view
class=
"additem_l"
>
<view
class=
"address"
>
这是地址这是地址这是地址这是地址这是地 址这是地址这是地址
</view>
<view
class=
"address"
>
{{
item
.
addr
}}
</view>
<view
class=
"info"
>
<view
class=
"info"
>
<view
class=
"name"
>
这是姓名
</view>
<view
class=
"name"
>
{{
item
.
receiver
}}
</view>
<view
class=
"phone"
>
123456789258
</view>
<view
class=
"phone"
>
{{
item
.
mobile
}}
</view>
</view>
</view>
<view
class=
"address_status"
>
<view
class=
"address_status"
>
<view
v-if=
"
mainAddFlag
"
class=
"box active"
>
<view
v-if=
"
item.commonAddr === 1
"
class=
"box active"
>
<wd-icon
name=
"check-circle-filled"
size=
"12px"
></wd-icon>
<wd-icon
name=
"check-circle-filled"
size=
"12px"
></wd-icon>
<view
class=
"txt"
>
默认
</view>
<view
class=
"txt"
>
默认
</view>
</view>
</view>
<view
v-else
class=
"box"
>
<view
v-else
class=
"box"
>
<wd-icon
name=
"circle1"
size=
"12px"
></wd-icon>
<wd-icon
name=
"circle1"
size=
"12px"
></wd-icon>
<view
class=
"txt"
>
默认
</view>
<view
class=
"txt"
>
默认
</view>
...
@@ -52,6 +32,7 @@
...
@@ -52,6 +32,7 @@
<wd-icon
name=
"edit-outline"
size=
"14px"
@
tap=
"editAddress"
></wd-icon>
<wd-icon
name=
"edit-outline"
size=
"14px"
@
tap=
"editAddress"
></wd-icon>
</view>
</view>
</view>
</view>
<wd-button
type=
"error"
block
class=
"addBtn"
@
tap=
"addNewAddress"
>
新增地址
</wd-button>
<wd-button
type=
"error"
block
class=
"addBtn"
@
tap=
"addNewAddress"
>
新增地址
</wd-button>
</view>
</view>
</view>
</view>
...
@@ -60,9 +41,23 @@
...
@@ -60,9 +41,23 @@
<
script
setup
>
<
script
setup
>
import
Header
from
'@/pages/order/components/Header/index.vue'
;
import
Header
from
'@/pages/order/components/Header/index.vue'
;
const
fileDomain
=
import
.
meta
.
env
.
VITE_APP_IMG_URL
;
import
{
getAddressList
,
deleteAddress
}
from
'@/api/address'
;
const
isAdressEmpty
=
ref
(
false
);
const
isAdressEmpty
=
ref
(
false
);
const
mainAddFlag
=
ref
(
false
);
const
mainAddFlag
=
ref
(
false
);
const
addressList
=
ref
([]);
const
getAddressListData
=
async
()
=>
{
const
{
data
:
res
}
=
await
getAddressList
();
console
.
log
(
res
);
if
(
res
)
{
addressList
.
value
=
res
;
res
.
length
===
0
?
(
isAdressEmpty
.
value
=
true
)
:
(
isAdressEmpty
.
value
=
false
);
}
};
getAddressListData
();
const
addNewAddress
=
()
=>
{
const
addNewAddress
=
()
=>
{
xma
.
navigateTo
({
url
:
'/pages/address/addressEdit?new=true'
});
xma
.
navigateTo
({
url
:
'/pages/address/addressEdit?new=true'
});
...
@@ -97,6 +92,7 @@ page {
...
@@ -97,6 +92,7 @@ page {
.full_list
{
.full_list
{
margin-top
:
20rpx
;
margin-top
:
20rpx
;
.additem
{
.additem
{
width
:
710rpx
;
width
:
710rpx
;
padding
:
20rpx
;
padding
:
20rpx
;
...
@@ -109,17 +105,20 @@ page {
...
@@ -109,17 +105,20 @@ page {
font-family
:
Source
Han
Sans
;
font-family
:
Source
Han
Sans
;
font-variation-settings
:
'opsz'
auto
;
font-variation-settings
:
'opsz'
auto
;
font-feature-settings
:
'kern'
on
;
font-feature-settings
:
'kern'
on
;
.additem_l
{
.additem_l
{
width
:
600rpx
;
width
:
600rpx
;
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
flex-direction
:
column
;
}
}
.additem_r
{
.additem_r
{
flex
:
1
;
flex
:
1
;
padding-top
:
30rpx
;
padding-top
:
30rpx
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
text-align
:
right
;
text-align
:
right
;
}
}
.address
{
.address
{
font-size
:
24rpx
;
font-size
:
24rpx
;
font-weight
:
500
;
font-weight
:
500
;
...
@@ -136,6 +135,7 @@ page {
...
@@ -136,6 +135,7 @@ page {
color
:
#abaaaa
;
color
:
#abaaaa
;
display
:
flex
;
display
:
flex
;
margin-bottom
:
30rpx
;
margin-bottom
:
30rpx
;
.phone
{
.phone
{
margin-left
:
10rpx
;
margin-left
:
10rpx
;
}
}
...
@@ -146,11 +146,13 @@ page {
...
@@ -146,11 +146,13 @@ page {
display
:
flex
;
display
:
flex
;
font-size
:
18rpx
;
font-size
:
18rpx
;
align-items
:
center
;
align-items
:
center
;
.txt
{
.txt
{
margin-left
:
5rpx
;
margin-left
:
5rpx
;
color
:
#abaaaa
;
color
:
#abaaaa
;
}
}
}
}
.box.active
{
.box.active
{
color
:
#fa5151
;
color
:
#fa5151
;
}
}
...
@@ -172,12 +174,13 @@ page {
...
@@ -172,12 +174,13 @@ page {
.empty_list
{
.empty_list
{
margin-top
:
20rpx
;
margin-top
:
20rpx
;
img
{
img
{
width
:
566rpx
;
width
:
566rpx
;
height
:
566rpx
;
height
:
566rpx
;
margin
:
40rpx
auto
60rpx
;
margin
:
40rpx
auto
60rpx
;
display
:
block
;
display
:
block
;
border
:
1px
dashed
rgb
(
182
,
182
,
182
);
//
border: 1px dashed rgb(182, 182, 182);
}
}
.addBtn
{
.addBtn
{
...
...
src/pages/assistingAgriculture/index/presale.vue
View file @
66413769
...
@@ -24,7 +24,7 @@
...
@@ -24,7 +24,7 @@
<view
style=
"display: flex; flex-direction: row"
>
<view
style=
"display: flex; flex-direction: row"
>
<view
<view
class=
"borderClass"
class=
"borderClass"
@
tap=
"chooseTab(item.categoryId)"
@
tap=
"chooseTab(i
ndex, i
tem.categoryId)"
v-for=
"(item, index) in sortList"
v-for=
"(item, index) in sortList"
:key=
"index"
:key=
"index"
>
>
...
@@ -37,7 +37,7 @@
...
@@ -37,7 +37,7 @@
<view>
<view>
<scroll-view
class=
"tabs"
show-scrollbar=
"false"
scroll-x
:scroll-with-animation=
"true"
>
<scroll-view
class=
"tabs"
show-scrollbar=
"false"
scroll-x
:scroll-with-animation=
"true"
>
<text
<text
@
tap=
"cho
ice
(index, item.categoryId)"
@
tap=
"cho
oseBTab
(index, item.categoryId)"
v-for=
"(item, index) in tabsData"
v-for=
"(item, index) in tabsData"
:key=
"index"
:key=
"index"
class=
"text"
class=
"text"
...
@@ -47,7 +47,7 @@
...
@@ -47,7 +47,7 @@
</text>
</text>
</scroll-view>
</scroll-view>
</view>
</view>
<view
class=
"tab-list"
v-for=
"(item, index) in
sortData
List"
:key=
"index"
@
tap=
"toDetail"
>
<view
class=
"tab-list"
v-for=
"(item, index) in
buy
List"
:key=
"index"
@
tap=
"toDetail"
>
<img
class=
"buy-list"
:src=
"item.img"
style=
"width: 670rpx; height: 670rpx"
/>
<img
class=
"buy-list"
:src=
"item.img"
style=
"width: 670rpx; height: 670rpx"
/>
<view>
<view>
<text
class=
"retail-price"
>
零售价:¥
{{
item
.
oriPrice
}}
/盒
</text>
<text
class=
"retail-price"
>
零售价:¥
{{
item
.
oriPrice
}}
/盒
</text>
...
@@ -73,7 +73,7 @@
...
@@ -73,7 +73,7 @@
<view
class=
"wt-left wt-list"
>
<view
class=
"wt-left wt-list"
>
<view
class=
"wt-item"
v-for=
"(good, index) in buyList"
:key=
"index"
@
tap=
"toDetail"
>
<view
class=
"wt-item"
v-for=
"(good, index) in buyList"
:key=
"index"
@
tap=
"toDetail"
>
<view
class=
"item-img"
>
<view
class=
"item-img"
>
<image
:src=
"good.img"
mode=
"widthFix"
></image>
<image
:src=
"good.img"
mode=
"widthFix"
style=
"border-radius: 16rpx"
></image>
<image
<image
class=
"presale-img"
class=
"presale-img"
src=
"/static/assistingAgriculture/presale/presale.png"
src=
"/static/assistingAgriculture/presale/presale.png"
...
@@ -100,6 +100,7 @@
...
@@ -100,6 +100,7 @@
<text
class=
"good-detail"
>
{{
good
.
detail
}}
</text>
<text
class=
"good-detail"
>
{{
good
.
detail
}}
</text>
<text
class=
"introduction"
>
{{
good
.
introduction
}}
</text>
<text
class=
"introduction"
>
{{
good
.
introduction
}}
</text>
<text
class=
"good-price"
>
¥
{{
good
.
price
}}
</text>
<text
class=
"good-price"
>
¥
{{
good
.
price
}}
</text>
<img
class=
"add"
src=
"/static/assistingAgriculture/presale/add.png"
/>
</view>
</view>
</view>
</view>
</view>
</view>
...
@@ -137,62 +138,7 @@ const light = ref(0);
...
@@ -137,62 +138,7 @@ const light = ref(0);
const
sortList
=
ref
([]);
const
sortList
=
ref
([]);
const
tabsData
=
ref
([]);
const
tabsData
=
ref
([]);
const
buyList
=
ref
([]);
const
buyList
=
ref
([]);
const
sortDataList
=
ref
([]);
const
shopList
=
ref
([
{
img
:
'/static/assistingAgriculture/presale/img7.png'
,
price
:
'29.9'
,
text
:
'应季好物'
},
{
img
:
'/static/assistingAgriculture/presale/img7.png'
,
price
:
'29.9'
,
text
:
'应季好物'
},
{
img
:
'/static/assistingAgriculture/presale/img7.png'
,
price
:
'29.9'
,
text
:
'应季好物'
},
{
img
:
'/static/assistingAgriculture/presale/img7.png'
,
price
:
'29.9'
,
text
:
'应季好物'
},
{
img
:
'/static/assistingAgriculture/presale/img7.png'
,
price
:
'29.9'
,
text
:
'应季好物'
},
{
img
:
'/static/assistingAgriculture/presale/img7.png'
,
price
:
'29.9'
,
text
:
'应季好物'
},
]);
// 声明需要的数据
const
data
=
reactive
({
leftList
:
[],
// 左边列图片
rightList
:
[],
// 右边列图片
leftHeight
:
0
,
// 左边列高度
rightHeight
:
0
,
// 右边列高度
columnWidth
:
0
,
// 列宽度
});
// 总商品数据列表
// 总商品数据列表
const
goodList
=
ref
([
{
id
:
1
,
name
:
'这是一个商品'
,
image
:
'/static/assistingAgriculture/presale/buy.png'
,
introduction
:
'商品简介商品简介'
,
price
:
69.9
,
},
{
id
:
2
,
name
:
'商品二'
,
image
:
'/static/assistingAgriculture/presale/img7.png'
,
introduction
:
'商品简介商品简介'
,
price
:
69.9
,
},
{
id
:
3
,
name
:
'商品三'
,
image
:
'/static/assistingAgriculture/assets/fruit.png'
,
introduction
:
'商品简介商品简介'
,
price
:
69.9
,
},
{
id
:
4
,
name
:
'商品四'
,
image
:
'/static/assistingAgriculture/presale/buy.png'
,
introduction
:
'商品简介商品简介'
,
price
:
69.9
,
},
{
id
:
5
,
name
:
'商品五'
,
image
:
'/static/assistingAgriculture/presale/buy.png'
,
introduction
:
'商品简介商品简介'
,
price
:
69.9
,
},
]);
const
router
=
useRoute
();
const
router
=
useRoute
();
const
params
=
{
const
params
=
{
current
:
1
,
current
:
1
,
...
@@ -202,10 +148,8 @@ const params = {
...
@@ -202,10 +148,8 @@ const params = {
const
tabsList
=
ref
([]);
const
tabsList
=
ref
([]);
onMounted
(
async
()
=>
{
onMounted
(
async
()
=>
{
getPresale
();
getPresale
();
getPresaleProd
();
//
getPresaleProd();
presaleSortList
();
presaleSortList
();
chooseTab
(
'3287'
);
choice
(
0
,
'3292'
);
});
});
// 预售板块轮播图
// 预售板块轮播图
const
getPresale
=
()
=>
{
const
getPresale
=
()
=>
{
...
@@ -230,46 +174,48 @@ const presaleSortList = () => {
...
@@ -230,46 +174,48 @@ const presaleSortList = () => {
sortList
.
value
=
res
.
data
.
map
((
item
)
=>
{
sortList
.
value
=
res
.
data
.
map
((
item
)
=>
{
return
item
.
imgUrl
;
return
item
.
imgUrl
;
});
});
console
.
log
(
res
.
data
,
111
);
sortList
.
value
=
res
.
data
;
sortList
.
value
=
res
.
data
;
chooseTab
(
0
,
sortList
.
value
[
0
].
categoryId
);
});
});
};
};
const
chooseTab
=
(
index
)
=>
{
const
chooseTab
=
(
index
,
categoryId
)
=>
{
getStrictSelection
({
parentId
:
index
}).
then
((
res
)
=>
{
getStrictSelection
({
parentId
:
categoryId
}).
then
((
res
)
=>
{
res
.
data
.
forEach
((
item
,
index
)
=>
{
res
.
data
.
forEach
((
item
,
index
)
=>
{
item
.
imgUrl
=
import
.
meta
.
env
.
VITE_APP_IMG_URL
+
item
.
pic
;
item
.
imgUrl
=
import
.
meta
.
env
.
VITE_APP_IMG_URL
+
item
.
pic
;
});
});
tabsData
.
value
=
res
.
data
;
tabsData
.
value
=
res
.
data
;
chooseBTab
(
0
,
tabsData
.
value
[
0
].
categoryId
);
});
});
};
};
const
chooseBTab
=
(
index
,
categoryId
)
=>
{
// 筑农首页-分类查询商品列表
getPresaleProdList
({
current
:
1
,
size
:
10
,
categoryId
}).
then
((
res
)
=>
{
const
getPresaleProd
=
()
=>
{
getPresaleProdList
(
params
).
then
((
res
)
=>
{
res
.
data
.
records
.
forEach
((
item
)
=>
{
res
.
data
.
records
.
forEach
((
item
)
=>
{
item
.
img
=
import
.
meta
.
env
.
VITE_APP_IMG_URL
+
item
.
pic
;
item
.
img
=
import
.
meta
.
env
.
VITE_APP_IMG_URL
+
item
.
pic
;
});
});
buyList
.
value
=
res
.
data
.
records
;
buyList
.
value
=
res
.
data
.
records
;
});
});
light
.
value
=
index
;
};
};
// 筑农首页-分类查询商品列表
// const getPresaleProd = () => {
// getPresaleProdList(params).then((res) => {
// res.data.records.forEach((item) => {
// item.img = import.meta.env.VITE_APP_IMG_URL + item.pic;
// });
// buyList.value = res.data.records;
// });
// };
// 二级分类点击事件
// 二级分类点击事件
const
choice
=
(
index
,
categoryId
)
=>
{
const
choice
=
(
index
,
categoryId
)
=>
{
sortDataList
.
value
=
tabsData
.
value
[
index
];
getPresaleProdList
({
current
:
1
,
size
:
10
,
categoryId
}).
then
((
res
)
=>
{
res
.
data
.
records
.
forEach
((
item
)
=>
{
item
.
img
=
import
.
meta
.
env
.
VITE_APP_IMG_URL
+
item
.
pic
;
});
buyList
.
value
=
res
.
data
.
records
;
});
light
.
value
=
index
;
light
.
value
=
index
;
};
};
// 左侧数据列表
const
LeftList
=
ref
([]);
// 右侧数据列表
const
RightList
=
ref
([]);
// 将商品信息列表分为左侧右侧两个部分
for
(
let
i
=
0
;
i
<
goodList
.
value
.
length
;
i
++
)
{
if
(
i
%
2
===
0
)
{
LeftList
.
value
.
push
(
goodList
.
value
[
i
]);
}
else
{
RightList
.
value
.
push
(
goodList
.
value
[
i
]);
}
}
// 点击商品 跳转详情
// 点击商品 跳转详情
function
ToDetail
(
id
)
{
function
ToDetail
(
id
)
{
...
@@ -530,4 +476,9 @@ page {
...
@@ -530,4 +476,9 @@ page {
width
:
56rpx
;
width
:
56rpx
;
height
:
56rpx
;
height
:
56rpx
;
}
}
img
.add
{
position
:
relative
;
left
:
200rpx
;
top
:
30rpx
;
}
</
style
>
</
style
>
src/pages/assistingAgriculture/shop/index.vue
View file @
66413769
This diff is collapsed.
Click to expand it.
src/pages/shop/text.vue
deleted
100644 → 0
View file @
237b9070
<
template
>
<div>
<wd-rate
custom-class=
"icon-statr"
color=
"#fff"
readonly
v-model=
"grade"
size=
"22rpx"
space=
"8rpx"
:active-color=
"['#FA5151']"
/>
</div>
</
template
>
<
script
setup
>
const
grade
=
ref
(
5
);
</
script
>
<
style
lang=
"scss"
scoped
>
.icon-statr
{
:deep
(
.wd-icon-star-on
)
{
display
:
block
!
important
;
}
}
</
style
>
src/pages/storeEntry/index.vue
View file @
66413769
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
class=
"pubList"
class=
"pubList"
v-for=
"item in list"
v-for=
"item in list"
:key=
"item.shopId"
:key=
"item.shopId"
@
click=
"item.shopStatus != [1, 2, 3] ? shopGto(item
.shopId
) : ''"
@
click=
"item.shopStatus != [1, 2, 3] ? shopGto(item) : ''"
>
>
<!-- 列表头部 -->
<!-- 列表头部 -->
<view
class=
"titlecon"
>
<view
class=
"titlecon"
>
...
@@ -42,6 +42,7 @@
...
@@ -42,6 +42,7 @@
</view>
</view>
</view>
</view>
<view
class=
"shbox"
v-if=
"list.length > 0"
>
审核被拒可点击修改重新提交
</view>
<view
class=
"shbox"
v-if=
"list.length > 0"
>
审核被拒可点击修改重新提交
</view>
<wd-status-tip
image=
"content"
tip=
"暂无内容"
v-else
/>
</view>
</view>
<view
class=
"butCon"
><button
class=
"butXz"
@
click=
"shopGto()"
>
申请入驻
</button></view>
<view
class=
"butCon"
><button
class=
"butXz"
@
click=
"shopGto()"
>
申请入驻
</button></view>
</view>
</view>
...
@@ -70,8 +71,12 @@ const getList = async () => {
...
@@ -70,8 +71,12 @@ const getList = async () => {
}
}
};
};
const
shopGto
=
(
item
)
=>
{
const
shopGto
=
(
item
)
=>
{
xma
.
redirectTo
({
xma
.
navigateTo
({
url
:
`/pages/storeEntry/detail
${
item
?
`?id=
${
item
}
`
:
''
}
`
,
url
:
`/pages/storeEntry/detail
${
item
?
`?content=0`
:
''
}
`
,
success
:
function
(
res
)
{
// 通过eventChannel向被打开页面传送数据
res
.
eventChannel
.
emit
(
'acceptDataFromOpenerPage'
,
{
data
:
item
});
},
});
});
};
};
getList
();
getList
();
...
...
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