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
d8e32148
Commit
d8e32148
authored
Aug 16, 2024
by
彭佳妮(贵阳日报)
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.platform.xinhuaapp.com/pengjiani/groupPurchase-miniapp
parents
cb9c41f1
fdab40c4
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
755 additions
and
50 deletions
+755
-50
Date.vue
src/Components/assistingAgriculture/index/Date.vue
+7
-7
pages.json
src/pages.json
+6
-0
RuralTravel.vue
src/pages/assistingAgriculture/RuralTravel/RuralTravel.vue
+54
-37
specialOfferZoneList.vue
...assistingAgriculture/RuralTravel/specialOfferZoneList.vue
+12
-5
detail.vue
src/pages/assistingAgriculture/detail/detail.vue
+4
-1
refund.vue
src/pages/assistingAgriculture/order/refund.vue
+671
-0
index.vue
src/pages/index/index.vue
+1
-0
icon1.png
src/static/assistingAgriculture/order/icon1.png
+0
-0
No files found.
src/Components/assistingAgriculture/index/Date.vue
View file @
d8e32148
...
...
@@ -55,6 +55,13 @@ const selectItem = (index, item) => {
emit
(
'dataParams'
,
item
,
datePart
);
}
};
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
}
00:00:00`
;
}
const
getStartDateList
=
()
=>
{
getStartDate
(
params
).
then
((
res
)
=>
{
dataList
.
value
=
res
.
data
;
...
...
@@ -64,13 +71,6 @@ function handleConfirm({ value }) {
const
datePart
=
timestampToDateBasic
(
value
);
emit
(
'dataParams'
,
null
,
datePart
);
}
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
>
<
style
lang=
"scss"
scoped
>
...
...
src/pages.json
View file @
d8e32148
...
...
@@ -257,6 +257,12 @@
"navigationBarTitleText"
:
"商品详情页"
}
},
{
"path"
:
"pages/assistingAgriculture/order/refund"
,
"style"
:
{
"navigationBarTitleText"
:
"申请售后"
}
},
{
"path"
:
"pages/assistingAgriculture/detail/comment"
,
"style"
:
{
...
...
src/pages/assistingAgriculture/RuralTravel/RuralTravel.vue
View file @
d8e32148
...
...
@@ -324,6 +324,8 @@ function handleFullscreenChange(event) {
// };
// 智能排序
const
sortParams
=
(
sortMode
)
=>
{
currentPage
.
value
=
1
;
hasMoreData
.
value
=
true
;
sortType
.
value
=
sortMode
;
getProd
();
};
...
...
@@ -340,9 +342,14 @@ const sortParams = (sortMode) => {
// };
const
dataParams
=
(
item
,
datePart
)
=>
{
if
(
item
)
{
dateType
.
value
=
item
.
key
.
toString
();
currentPage
.
value
=
1
;
hasMoreData
.
value
=
true
;
console
.
log
(
item
,
212
);
dateType
.
value
=
String
(
item
.
key
);
getProd
();
}
else
{
currentPage
.
value
=
1
;
hasMoreData
.
value
=
true
;
dateType
.
value
=
'8'
;
if
(
datePart
&&
datePart
!==
'NaN/NaN/NaN'
)
{
allocateDate
.
value
=
datePart
;
...
...
@@ -353,30 +360,54 @@ const dataParams = (item, datePart) => {
};
// 景点
const
placeParams
=
(
item
)
=>
{
const
ids
=
item
.
map
((
i
)
=>
i
.
id
);
const
arr
=
ids
.
join
(
','
);
attractionIdList
.
value
=
arr
.
split
(
','
).
map
(
String
);
getProd
();
currentPage
.
value
=
1
;
hasMoreData
.
value
=
true
;
if
(
item
.
length
!==
0
)
{
const
ids
=
item
.
map
((
i
)
=>
i
.
id
);
const
arr
=
ids
.
join
(
','
);
attractionIdList
.
value
=
arr
.
split
(
','
).
map
(
String
);
getProd
();
}
else
if
(
item
.
length
===
0
)
{
attractionIdList
.
value
=
[];
getProd
();
}
};
// 筛选
const
screenParams
=
(
selectedItems
,
type
)
=>
{
console
.
log
(
selectedItems
,
type
,
111
);
currentPage
.
value
=
1
;
hasMoreData
.
value
=
true
;
console
.
log
(
selectedItems
.
length
,
type
,
111
);
if
(
type
===
'screen'
)
{
const
ids
=
selectedItems
.
map
((
i
)
=>
i
.
tripCityId
);
const
arr
=
ids
.
join
(
','
);
startCityList
.
value
=
arr
.
split
(
','
).
map
(
String
);
getProd
();
if
(
selectedItems
.
length
!==
0
)
{
const
ids
=
selectedItems
.
map
((
i
)
=>
i
.
tripCityId
);
const
arr
=
ids
.
join
(
','
);
startCityList
.
value
=
arr
.
split
(
','
).
map
(
String
);
getProd
();
}
else
if
(
selectedItems
.
length
===
0
)
{
startCityList
.
value
=
[];
getProd
();
}
}
else
if
(
type
===
'serve'
)
{
const
ids
=
selectedItems
.
map
((
i
)
=>
i
.
labelId
);
const
arr
=
ids
.
join
(
','
);
serviceList
.
value
=
arr
.
split
(
','
).
map
(
String
);
getProd
();
if
(
selectedItems
.
length
!==
0
)
{
const
ids
=
selectedItems
.
map
((
i
)
=>
i
.
labelId
);
const
arr
=
ids
.
join
(
','
);
serviceList
.
value
=
arr
.
split
(
','
).
map
(
String
);
getProd
();
}
else
if
(
selectedItems
.
length
===
0
)
{
serviceList
.
value
=
[];
getProd
();
}
}
else
if
(
type
===
'people'
)
{
const
ids
=
selectedItems
.
map
((
i
)
=>
i
.
labelId
);
const
arr
=
ids
.
join
(
','
);
forPeopleList
.
value
=
arr
.
split
(
','
).
map
(
String
);
getProd
();
if
(
selectedItems
.
length
!==
0
)
{
const
ids
=
selectedItems
.
map
((
i
)
=>
i
.
labelId
);
const
arr
=
ids
.
join
(
','
);
forPeopleList
.
value
=
arr
.
split
(
','
).
map
(
String
);
getProd
();
}
else
if
(
selectedItems
.
length
===
0
)
{
forPeopleList
.
value
=
[];
getProd
();
}
}
};
// 搜索
...
...
@@ -391,7 +422,7 @@ const getProd = (searchKeyword = '') => {
});
const
params
=
{
current
:
currentPage
.
value
,
size
:
3
,
size
:
5
,
...(
sortType
.
value
&&
{
sortType
:
sortType
.
value
.
sortMode
}),
...(
attractionIdList
.
value
&&
attractionIdList
.
value
.
length
>
0
&&
...
...
@@ -402,10 +433,6 @@ const getProd = (searchKeyword = '') => {
...(
serviceList
.
value
&&
serviceList
.
value
.
length
>
0
&&
{
serviceList
:
serviceList
.
value
}),
...(
forPeopleList
.
value
&&
forPeopleList
.
value
.
length
>
0
&&
{
forPeopleList
:
forPeopleList
.
value
}),
// ...(startCityList.value && { startCityList: startCityList.value.split(',') }),
// ...(serviceList.value && { serviceList: serviceList.value.split(',') }),
// ...(forPeopleList.value && { forPeopleList: forPeopleList.value.split(',') }),
...(
dateType
.
value
===
'8'
&&
{
allocateDate
:
allocateDate
.
value
}),
...(
searchKeyword
&&
{
keyword
:
searchKeyword
}),
};
...
...
@@ -418,7 +445,7 @@ const getProd = (searchKeyword = '') => {
if
(
currentPage
.
value
===
1
)
{
cardList
.
value
=
res
.
data
.
records
;
}
else
{
cardList
.
value
=
cardList
.
value
.
concat
(
res
.
data
.
records
)
;
cardList
.
value
=
[...
cardList
.
value
,
...
res
.
data
.
records
]
;
}
// 判断是否还有更多数据
if
(
res
.
data
.
records
.
length
<
params
.
size
)
{
...
...
@@ -450,16 +477,6 @@ const resetParams = () => {
getProd
();
}
};
// const resetParams = () => {
// sortType.value = null;
// attractionIdList.value = [];
// dateType.value = null;
// startCityList.value = [];
// serviceList.value = [];
// forPeopleList.value = [];
// allocateDate.value = null;
// getProd();
// };
function
toRouteDetails
(
item
)
{
console
.
log
(
item
,
22222
);
// TODO: 跳转到线路详情
...
...
@@ -682,8 +699,8 @@ page {
white-space
:
nowrap
;
}
.tag
.wd-tag
{
margin-right
:
10px
;
margin-bottom
:
5
px
;
margin-right
:
10
r
px
;
margin-bottom
:
10r
px
;
}
.score
,
.num
,
...
...
@@ -714,7 +731,7 @@ page {
white-space
:
nowrap
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
width
:
9
0rpx
;
width
:
8
0rpx
;
text-align
:
center
;
}
.tag
{
...
...
src/pages/assistingAgriculture/RuralTravel/specialOfferZoneList.vue
View file @
d8e32148
...
...
@@ -190,10 +190,17 @@ function onChange(e) {
}
// 智能排序
const
sortParams
=
(
sortMode
)
=>
{
params
.
value
.
sortType
=
sortMode
.
sortMode
;
refresh
().
then
(()
=>
{
queryOfferProdListFn
();
});
if
(
sortMode
)
{
params
.
value
.
sortType
=
sortMode
.
sortMode
;
refresh
().
then
(()
=>
{
queryOfferProdListFn
();
});
}
else
{
delete
params
.
value
.
sortType
;
refresh
().
then
(()
=>
{
queryOfferProdListFn
();
});
}
};
// 出发日期
const
dataParams
=
(
item
,
datePart
)
=>
{
...
...
@@ -203,7 +210,7 @@ const dataParams = (item, datePart) => {
queryOfferProdListFn
();
});
}
else
{
params
.
value
.
dateType
=
8
;
params
.
value
.
dateType
=
'8'
;
if
(
datePart
&&
datePart
!==
'NaN/NaN/NaN'
)
{
params
.
value
.
allocateDate
=
datePart
;
rotate2
.
value
=
false
;
...
...
src/pages/assistingAgriculture/detail/detail.vue
View file @
d8e32148
...
...
@@ -166,6 +166,8 @@
<
script
setup
>
import
{
ref
}
from
'vue'
;
import
{
useRoute
}
from
'vue-router'
;
import
{
onShow
}
from
'@dcloudio/uni-app'
;
import
{
getProdDetail
,
...
...
@@ -177,6 +179,7 @@ import {
receiveCoupon
,
}
from
'@/api/packageDetail'
;
import
fab
from
'../../../components/fab/fab.vue'
;
const
router
=
useRoute
();
const
imgUrl
=
import
.
meta
.
env
.
VITE_APP_IMG_URL
;
// 图片
const
swiperList
=
ref
([
...
...
@@ -215,7 +218,7 @@ function handleClick(e) {
}
function
jumpPjPgae
()
{
xma
.
navigateTo
({
url
:
`/pages/assistingAgriculture/detail/comment?shopId=
${
dataDetails
.
value
.
prod
.
shopId
}
&prodId=
${
dataDetails
.
value
.
prodPresale
.
prodId
}
`
,
url
:
`/pages/assistingAgriculture/detail/comment?shopId=
${
dataDetails
.
value
.
prod
.
shopId
}
&prodId=
${
router
.
query
.
prodId
}
`
,
});
}
function
onChange
(
e
)
{
...
...
src/pages/assistingAgriculture/order/refund.vue
0 → 100644
View file @
d8e32148
<
template
>
<view
class=
"container"
>
<Search
title=
"申请售后"
backgroundBox=
"white"
:showTitle=
"true"
></Search>
<view
class=
"content"
>
<view
class=
"content-box"
>
<view
class=
"content-item1"
>
<text
class=
"title"
>
退款商品
</text>
</view>
<view
class=
"content-item"
>
<view
class=
"item-top"
>
<image
class=
"item-img"
mode=
"aspectFill"
src=
"https://img2.baidu.com/it/u=1028011339,1319212411&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=313"
></image>
<view
class=
"item-info"
>
<text
class=
"text1"
>
商品名称商品名称商品名称商品名 商品名称商品名称商品名称商品名 商品名称商品名称
</text>
<text
class=
"num"
>
x1
</text>
<text
class=
"text2"
>
商品简介商品简介商品简介商品简介 商品简介商品简介商品简介商品简介
</text>
</view>
</view>
<view
class=
"item-buttom1"
>
<img
class=
"presale"
src=
"/static/assistingAgriculture/order/icon1.png"
/>
<text>
请与商家协商,确认达成一致后填写协商好的退款金额
</text>
</view>
</view>
</view>
<view
class=
"content-box"
>
<view
class=
"content-item1"
>
<text
class=
"title"
>
退款信息
</text>
</view>
<view
class=
"content-between"
@
tap=
"showGoodPop = true"
>
<text>
货物状态
<text
class=
"icon1"
>
*
</text>
</text>
<view
class=
"rightbox"
>
<text
v-if=
"selectType1"
>
{{
goodsList
[
selectType1
].
name
}}
</text>
<text
v-else
>
请选择货物状态
</text>
<wd-icon
name=
"arrow-right"
size=
"22px"
></wd-icon>
</view>
</view>
<view
class=
"content-between"
@
tap=
"showSalePop = true"
>
<text>
售后类型
<text
class=
"icon1"
>
*
</text>
</text>
<view
class=
"rightbox"
>
<text
v-if=
"selectType2"
>
{{
salesList
[
selectType2
].
name
}}
</text>
<text
v-else
>
请选择售后类型
</text>
<wd-icon
name=
"arrow-right"
size=
"22px"
></wd-icon>
</view>
</view>
<!--
<view
class=
"content-between"
>
<text>
退款金额
</text>
<text
class=
"price"
>
¥
{{
orderDetail
.
baseOrder
.
actualTotal
}}
</text>
</view>
-->
<!--
<view
class=
"content-between"
>
<text>
相关图片
</text>
<wd-upload
:file-list=
"fileList"
image-mode=
"aspectFill"
:action=
"action"
@
change=
"handleChange"
:header=
"headers"
accept=
"image"
></wd-upload>
</view>
-->
<view
class=
"content-between"
@
tap=
"showPop = true"
>
<text>
售后原因
<text
class=
"icon1"
>
*
</text>
</text>
<view
class=
"rightbox"
>
<text
v-if=
"selectType"
>
{{
reasonList
[
selectType
].
name
}}
</text>
<text
v-else
>
请选择售后原因
</text>
<wd-icon
name=
"arrow-right"
size=
"22px"
></wd-icon>
</view>
</view>
<view
class=
"content-between"
style=
"border-bottom: none"
>
<text>
退款金额
<text
class=
"icon1"
>
*
</text>
</text>
<text
class=
"price2"
>
<wd-input
type=
"text"
no-border
custom-input-class=
"text-align:right"
v-model=
"value"
/>
</text>
</view>
<view
class=
"tishi"
>
可修改,最多商品¥198
</view>
</view>
<view
class=
"content-box"
>
<view
class=
"content-item1"
>
<text
class=
"title"
>
申请说明和凭证
</text>
</view>
<view
class=
"content-item"
>
<wd-cell-group
border
>
<textarea
placeholder=
"必填,请您详细填写申请说明"
placeholder-style=
"font-size:28rpx;color:#000;"
></textarea>
</wd-cell-group>
<view
style=
"margin-top: 20rpx"
>
<wd-upload
:file-list=
"fileList"
image-mode=
"aspectFill"
:action=
"action"
@
change=
"handleChange"
:header=
"headers"
accept=
"image"
></wd-upload>
</view>
</view>
</view>
<view
class=
"btn"
@
tap=
"submit"
>
提交
</view>
</view>
</view>
<wd-popup
v-model=
"showGoodPop"
position=
"bottom"
:safe-area-inset-bottom=
"true"
custom-style=
"border-radius: 16rpx 16rpx 0 0"
@
close=
"showGoodPop = false"
lockScroll
>
<view
class=
"pop-content"
>
<view
class=
"header"
>
<view
class=
"title"
>
货物状态
</view>
<wd-icon
name=
"close"
size=
"20"
color=
"#999"
@
tap=
"showGoodPop = false"
></wd-icon>
</view>
<radio-group
style=
"width: 100%"
@
change=
"radioChange1"
>
<view
class=
"resaon"
v-for=
"(item, index) in goodsList"
:key=
"index"
>
<view
class=
"resaon-item"
>
<text>
{{
item
.
name
}}
</text>
<radio
class=
"radio"
color=
"#f62828"
:value=
"item.id"
:checked=
"item.id == selectType1"
/>
</view>
</view>
</radio-group>
<view
class=
"btn"
@
tap=
"chooseGoodsReason"
>
确认
</view>
</view>
</wd-popup>
<wd-popup
v-model=
"showSalePop"
position=
"bottom"
:safe-area-inset-bottom=
"true"
custom-style=
"border-radius: 16rpx 16rpx 0 0"
@
close=
"showSalePop = false"
lockScroll
>
<view
class=
"pop-content"
>
<view
class=
"header"
>
<view
class=
"title"
>
售后类型
</view>
<wd-icon
name=
"close"
size=
"20"
color=
"#999"
@
tap=
"showSalePop = false"
></wd-icon>
</view>
<radio-group
style=
"width: 100%"
@
change=
"radioChange2"
>
<view
class=
"resaon"
v-for=
"(item, index) in salesList"
:key=
"index"
>
<view
class=
"resaon-item"
>
<text>
{{
item
.
name
}}
</text>
<radio
class=
"radio"
color=
"#f62828"
:value=
"item.id"
:checked=
"item.id == selectType2"
/>
</view>
</view>
</radio-group>
<view
class=
"btn"
@
tap=
"chooseSalessReason"
>
确认
</view>
</view>
</wd-popup>
<wd-popup
v-model=
"showPop"
position=
"bottom"
:safe-area-inset-bottom=
"true"
custom-style=
"border-radius: 16rpx 16rpx 0 0"
@
close=
"showPop = false"
lockScroll
>
<view
class=
"pop-content"
>
<view
class=
"header"
>
<view
class=
"title"
>
售后原因
</view>
<wd-icon
name=
"close"
size=
"20"
color=
"#999"
@
tap=
"showPop = false"
></wd-icon>
</view>
<radio-group
style=
"width: 100%"
@
change=
"radioChange"
>
<view
class=
"resaon"
v-for=
"(item, index) in reasonList"
:key=
"index"
>
<view
class=
"resaon-item"
>
<text>
{{
item
.
name
}}
</text>
<radio
class=
"radio"
color=
"#f62828"
:value=
"item.id"
:checked=
"item.id == selectType"
/>
</view>
</view>
</radio-group>
<view
class=
"btn"
@
tap=
"chooseReason"
>
确认
</view>
</view>
</wd-popup>
</
template
>
<
script
setup
>
import
{
applyForARefundApi
,
getOrderDetail
}
from
'@/api/order'
;
import
{
getToken
}
from
'@/utils/auth'
;
const
fileDomain
=
import
.
meta
.
env
.
VITE_APP_IMG_URL
;
const
token
=
getToken
();
const
value
=
ref
(
'198.00'
);
// 上传图片地址
const
action
=
ref
(
import
.
meta
.
env
.
VITE_APP_BASE_URL
+
'/sgyrdd/file/update'
);
const
headers
=
ref
(
''
);
// 订单号
const
orderNumber
=
ref
(
''
);
onLoad
((
options
)
=>
{
orderNumber
.
value
=
options
.
orderNumber
;
headers
.
value
=
{
Authorization
:
'Bearer '
+
token
};
getDetail
();
});
/**
* 获取订单详情
*/
const
orderDetail
=
ref
();
const
getDetail
=
async
()
=>
{
const
res
=
await
getOrderDetail
({
orderNumber
:
orderNumber
.
value
});
orderDetail
.
value
=
res
.
data
;
};
/**
* 获取图片列表
*/
// 上传文件地址
const
fileList
=
ref
([]);
function
handleChange
({
fileList
:
files
})
{
fileList
.
value
=
files
;
console
.
log
(
fileList
.
value
);
}
const
showPop
=
ref
(
false
);
const
showGoodPop
=
ref
(
false
);
const
showSalePop
=
ref
(
false
);
const
selectType1
=
ref
(
null
);
const
selectType2
=
ref
(
null
);
const
selectType
=
ref
(
null
);
const
goodsList
=
ref
([
{
id
:
'0'
,
name
:
'已收到货'
,
},
{
id
:
'1'
,
name
:
'未收到货'
,
},
]);
const
salesList
=
ref
([
{
id
:
'0'
,
name
:
'仅退款'
,
},
{
id
:
'1'
,
name
:
'退货退款'
,
},
]);
const
reasonList
=
ref
([
{
id
:
'0'
,
name
:
'与商家协商一致退货退款'
,
},
{
id
:
'1'
,
name
:
'生产日期/保质期与描述不符'
,
},
{
id
:
'2'
,
name
:
'版本/批次/颜色/容量等与描述不符'
,
},
{
id
:
'3'
,
name
:
'做工粗糙/有瑕疵'
,
},
{
id
:
'4'
,
name
:
'少件(缺少配件)'
,
},
{
id
:
'5'
,
name
:
'变质/发霉/有异物'
,
},
{
id
:
'6'
,
name
:
'包装/商品破损'
,
},
{
id
:
'7'
,
name
:
'7天无理由退货'
,
},
]);
const
otherReason
=
ref
(
''
);
function
radioChange1
(
evt
)
{
const
{
value
}
=
evt
.
detail
;
selectType1
.
value
=
value
;
}
function
radioChange2
(
evt
)
{
const
{
value
}
=
evt
.
detail
;
selectType2
.
value
=
value
;
}
function
radioChange
(
evt
)
{
const
{
value
}
=
evt
.
detail
;
selectType
.
value
=
value
;
}
/**
* 提交申请
*/
const
submit
=
async
()
=>
{
if
(
!
selectType
.
value
)
{
return
xma
.
showToast
({
title
:
'请选择退款原因'
,
icon
:
'none'
,
});
}
if
(
selectType
.
value
===
'4'
&&
!
otherReason
.
value
)
{
return
xma
.
showToast
({
title
:
'请输入其他原因'
,
icon
:
'none'
,
});
}
xma
.
showLoading
({
title
:
'提交中'
,
mask
:
true
,
});
await
applyForARefundApi
({
orderNumber
:
orderNumber
.
value
,
refundMemo
:
selectType
.
value
===
'4'
?
otherReason
.
value
:
reasonList
.
value
[
selectType
.
value
].
name
,
imgs
:
processingImageAddresses
(),
});
setTimeout
(()
=>
{
xma
.
hideLoading
();
setTimeout
(()
=>
{
xma
.
showToast
({
title
:
'提交成功'
,
icon
:
'success'
,
});
},
500
);
xma
.
redirectTo
({
url
:
`/pages/order/order?status=after_sales`
,
});
},
1500
);
};
/**
* 图片地址处理
*/
const
processingImageAddresses
=
()
=>
{
const
data
=
fileList
.
value
.
map
((
item
)
=>
{
return
JSON
.
parse
(
item
.
response
).
data
.
url
;
});
return
data
.
join
(
','
);
};
/**
* 选择货物状态
*/
const
chooseGoodsReason
=
()
=>
{
if
(
!
selectType1
.
value
)
{
return
xma
.
showToast
({
title
:
'请选择货物状态'
,
icon
:
'none'
,
});
}
showGoodPop
.
value
=
false
;
};
/**
* 选择售后
*/
const
chooseSalessReason
=
()
=>
{
if
(
!
selectType2
.
value
)
{
return
xma
.
showToast
({
title
:
'请选择售后类型'
,
icon
:
'none'
,
});
}
showGoodPop
.
value
=
false
;
};
/**
* 请选择退款原因
*/
const
chooseReason
=
()
=>
{
if
(
!
selectType
.
value
)
{
return
xma
.
showToast
({
title
:
'请选择售后原因'
,
icon
:
'none'
,
});
}
showPop
.
value
=
false
;
};
</
script
>
<
style
lang=
"scss"
scoped
>
page
{
background
:
#f3f3f3
;
}
:deep
(
.uni-input-input
)
{
text-align
:
right
;
font-weight
:
700
;
font-size
:
28rpx
;
color
:
#fa5151
;
}
:deep
(
uni-textarea
)
{
width
:
100%
;
background
:
#f0f0f0
;
}
:deep
(
.uni-textarea-textarea
)
{
border-radius
:
6rpx
6rpx
6rpx
6rpx
;
}
.container
{
width
:
375
*
2rpx
;
margin
:
0
auto
;
.content
{
padding
:
20rpx
10rpx
0
;
display
:
flex
;
flex-direction
:
column
;
gap
:
20rpx
;
.content-box
{
background-color
:
#fff
;
border-radius
:
8rpx
;
padding
:
20rpx
;
display
:
flex
;
flex-direction
:
column
;
.content-item1
{
.title
{
font-weight
:
700
;
font-size
:
36rpx
;
color
:
#3d3d3d
;
line-height
:
48rpx
;
text-align
:
left
;
font-style
:
normal
;
text-transform
:
none
;
}
}
.content-item
{
padding
:
20rpx
0
44rpx
;
.title
{
font-size
:
28rpx
;
color
:
#333
;
}
.item-top
{
display
:
flex
;
gap
:
20rpx
;
.item-img
{
width
:
216rpx
;
height
:
216rpx
;
border-radius
:
10rpx
10rpx
10rpx
10rpx
;
}
.item-info
{
display
:
flex
;
flex-direction
:
column
;
width
:
420rpx
;
font-weight
:
400
;
line-height
:
36rpx
;
text-align
:
left
;
font-style
:
normal
;
text-transform
:
none
;
.text1
{
font-size
:
28rpx
;
color
:
#3d3d3d
;
height
:
108rpx
;
overflow
:
hidden
;
display
:
-
webkit-box
;
line-clamp
:
3
;
-webkit-box-orient
:
vertical
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
}
.text2
{
height
:
64rpx
;
overflow
:
hidden
;
font-weight
:
400
;
font-size
:
24rpx
;
color
:
#abaaaa
;
line-height
:
32rpx
;
margin-top
:
10rpx
;
}
.num
{
margin-top
:
5rpx
;
text-align
:
right
;
color
:
#abaaaa
;
}
}
}
.item-buttom1
{
margin-top
:
42rpx
;
height
:
37rpx
;
display
:
flex
;
align-items
:
center
;
.presale
{
width
:
37rpx
;
height
:
37rpx
;
margin-right
:
20rpx
;
}
text
{
width
:
576rpx
;
height
:
37rpx
;
font-weight
:
400
;
font-size
:
24rpx
;
color
:
#fa5151
;
line-height
:
37rpx
;
text-align
:
left
;
font-style
:
normal
;
text-transform
:
none
;
}
}
.item-buttom
{
display
:
flex
;
justify-content
:
flex-end
;
align-items
:
baseline
;
text
{
font-size
:
24rpx
;
color
:
#b5b5b5
;
}
.icon
{
color
:
#606060
;
}
.price
{
font-size
:
30rpx
;
color
:
#606060
;
}
}
}
.tishi
{
font-weight
:
400
;
font-size
:
22rpx
;
color
:
#abaaaa
;
line-height
:
30rpx
;
text-align
:
left
;
font-style
:
normal
;
text-transform
:
none
;
}
.content-between
{
border-bottom
:
1rpx
solid
#f3f3f3
;
padding
:
20rpx
0
;
display
:
flex
;
margin-top
:
40rpx
;
justify-content
:
space-between
;
.icon1
{
color
:
#fa5151
;
}
text
{
color
:
#747474
;
font-size
:
28rpx
;
}
.price2
{
font-weight
:
700
;
font-size
:
28rpx
;
color
:
#fa5151
;
}
.rightbox
{
display
:
flex
;
font-size
:
30rpx
;
color
:
#b4b4b4
;
}
}
}
}
.btn
{
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
height
:
80rpx
;
width
:
100%
;
background-color
:
#f8446b
;
color
:
#fff
;
font-size
:
30rpx
;
border-radius
:
8rpx
;
}
}
.pop-content
{
display
:
flex
;
flex-direction
:
column
;
padding
:
20rpx
;
.header
{
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
padding-bottom
:
30rpx
;
.title
{
font-size
:
28rpx
;
color
:
#333
;
font-weight
:
bold
;
text-align
:
center
;
width
:
100%
;
}
}
textarea
{
width
:
100%
;
height
:
200rpx
;
border
:
1rpx
solid
#e0e0e0
;
padding
:
20rpx
;
border-radius
:
8rpx
;
box-sizing
:
border-box
;
margin-top
:
20rpx
;
font-size
:
28rpx
;
}
.resaon
{
display
:
flex
;
flex-direction
:
column
;
gap
:
20rpx
;
.resaon-item
{
display
:
flex
;
flex-direction
:
row
;
justify-content
:
space-between
;
align-items
:
center
;
padding
:
10rpx
0
;
border-bottom
:
1rpx
solid
#f3f3f3
;
text
{
font-size
:
28rpx
;
color
:
#333
;
}
radio
{
transform
:
scale
(
0
.8
);
}
}
}
.btn
{
margin-top
:
100rpx
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
height
:
58rpx
;
color
:
#fff
;
font-size
:
28rpx
;
background-color
:
#f62828
;
border-radius
:
36rpx
;
width
:
100%
;
}
}
</
style
>
src/pages/index/index.vue
View file @
d8e32148
...
...
@@ -235,6 +235,7 @@ onLoad(() => {
getCouponMainList
();
});
onPullDownRefresh
(()
=>
{
reset
();
getClassification
();
rotatingBroadcast
();
nearbyFood
();
...
...
src/static/assistingAgriculture/order/icon1.png
0 → 100644
View file @
d8e32148
672 Bytes
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