Browse Source

跑腿代取货

master
tianyi 1 month ago
parent
commit
9083a8f3fa
  1. 457
      package1/group/groupBuyList.vue
  2. 335
      package1/group/shopEvaluate.vue
  3. 316
      package1/runErrand/runErrand.vue

457
package1/group/groupBuyList.vue

@ -20,39 +20,33 @@
<swiper-item>
<img src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/1d1edcc3e39c4a7cafeb64cf3209ed5e.png" alt="" />
</swiper-item>
<swiper-item>
<img src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/1d1edcc3e39c4a7cafeb64cf3209ed5e.png" alt="" />
</swiper-item>
<swiper-item>
<img src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/1d1edcc3e39c4a7cafeb64cf3209ed5e.png" alt="" />
</swiper-item>
</swiper>
</view>
<view class="menu-box">
<view class="menu-list" v-for="(item,index) in menuBtn" :key="index" @tap="goDetail(item.index)">
<view class="menu-list" v-for="(item,index) in menuBtn" :key="index" @tap="searchShop('typeUp',item.value)">
<img :src="item.url" alt="" />
<view class="menu-name">{{item.name}}</view>
</view>
</view>
<view class="menu-box">
<view class="menu-list" v-for="(item,index) in menuBtn1" :key="index" @tap="goDetail(item.index)">
<view class="menu-list" v-for="(item,index) in menuBtn1" :key="index" @tap="searchShop('all','')">
<img :src="item.url" alt="" />
<view class="menu-name">{{item.name}}</view>
</view>
</view>
<view class="title-sort">
<view class="sort-member">
<view class="sort-text">
<view class="sort-text" @tap="searchShop('all','')">
综合排序 <text style="font-size: 20rpx;"></text>
</view>
</view>
<view class="sort-member">
<view class="sort-text">
<view class="sort-text" @tap="searchShop('sale','')">
销量优先 <text style="font-size: 20rpx;"></text>
</view>
</view>
<view class="sort-member">
<view class="sort-text">
<view class="sort-text" @tap="searchShop('score','')">
评分优先 <text style="font-size: 20rpx;"></text>
</view>
</view>
@ -61,302 +55,59 @@
区域选择 <text style="font-size: 20rpx;"></text>
</view>
<view class="sort-value" v-if="isArea">
<view class="sort-value1">最热</view>
<view class="sort-value1">最新</view>
<view class="sort-value1">最新</view>
<view class="sort-value1">最新</view>
<view class="sort-value1" v-for="(item,index) in shopArea" :key="index" @tap="searchShop('area',item.id)">{{item.title}}</view>
</view>
</view>
</view>
</view>
<view class="shop-list">
<view class="shop-member">
<view class="shop-member" v-for="(item,index) in shopList" :key="index" @tap="goDetail('shop',item)">
<view class="shop-top">
<view class="shop-img">
<img src="/static/images/img/shangpintu.png" alt="">
<img :src="item.shopIcon" alt="" @tap="goDetail('shop',item)">
<img src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/6c4ab92a43c842d8bb22035bce1f65cc.png" alt="" style="width:30rpx;height:30rpx;position: absolute;top: 0;left: 0;background-size: 100%;" />
</view>
<view class="shop-content" @tap="goDetail('shopDetail')">
<view class="shop-content" @tap="goDetail('shop',item)">
<view class="shop-name">
牛仔农庄(医专店)
{{item.shopName}}
</view>
<view class="shop-content-center">
<view class="shop-rate">
<view class="shop-rate-num">4.3</view>
<uni-rate :disabled="true" size="20" disabledColor="rgba(255, 184, 84, 1)" :value="4.3" />
<view class="shop-rate-num">{{item.shopScore}}</view>
<uni-rate :disabled="true" size="16" disabledColor="rgba(255, 184, 84, 1)" :value="item.shopScore" />
</view>
<view class="shop-tag">
<text style="padding: 4rpx 10rpx;background: rgba(223, 255, 176, 1);color: #777;border-radius: 6rpx;">
炒菜
{{item.shopTypeTitle}}
</text>
</view>
</view>
<view class="shop-content-bottom">
<view class="shop-deal">
已拼<text style="color: red;font-weight: 700;"> 12 </text>
</view>
<view class="shop-deal1">
月售 <text> 100+</text>
</view>
</view>
</view>
</view>
<view class="shop-bottom">
<view class="menu-member">
<view class="menu-img">
<img src="/static/images/img/shangpintu.png" alt="">
</view>
<view class="menu-content">
<view class="shop-menu-name">
啤酒价格
</view>
<view class="shop-menu-price">
90.00
</view>
<view class="shop-menu-purchase">
拼团 <text style="color: red;">85.00</text>
</view>
</view>
</view>
<view class="menu-member">
<view class="menu-img">
<img src="/static/images/img/shangpintu.png" alt="">
</view>
<view class="menu-content">
<view class="shop-menu-name">
啤酒价格
</view>
<view class="shop-menu-price">
90.00
</view>
<view class="shop-menu-purchase">
拼团 <text style="color: red;">85.00</text>
</view>
</view>
</view>
<view class="menu-member">
<view class="menu-img">
<img src="/static/images/img/shangpintu.png" alt="">
</view>
<view class="menu-content">
<view class="shop-menu-name">
啤酒价格
</view>
<view class="shop-menu-price">
90.00
</view>
<view class="shop-menu-purchase">
拼团 <text style="color: red;">85.00</text>
</view>
</view>
</view>
<view class="menu-member">
<view class="menu-img">
<img src="/static/images/img/shangpintu.png" alt="">
</view>
<view class="menu-content">
<view class="shop-menu-name">
啤酒价格
</view>
<view class="shop-menu-price">
90.00
</view>
<view class="shop-menu-purchase">
拼团 <text style="color: red;">85.00</text>
</view>
</view>
</view>
<view class="menu-member">
<view class="menu-img">
<img src="/static/images/img/shangpintu.png" alt="">
</view>
<view class="menu-content">
<view class="shop-menu-name">
啤酒价格
</view>
<view class="shop-menu-price">
90.00
</view>
<view class="shop-menu-purchase">
拼团 <text style="color: red;">85.00</text>
</view>
</view>
</view>
<view class="menu-member">
<view class="menu-img">
<img src="/static/images/img/shangpintu.png" alt="">
</view>
<view class="menu-content">
<view class="shop-menu-name">
啤酒价格
</view>
<view class="shop-menu-price">
90.00
</view>
<view class="shop-menu-purchase">
拼团 <text style="color: red;">85.00</text>
</view>
</view>
</view>
<view class="menu-member">
<view class="menu-img">
<img src="/static/images/img/shangpintu.png" alt="">
</view>
<view class="menu-content">
<view class="shop-menu-name">
啤酒价格
</view>
<view class="shop-menu-price">
90.00
</view>
<view class="shop-menu-purchase">
拼团 <text style="color: red;">85.00</text>
</view>
</view>
</view>
</view>
</view>
<view class="shop-member">
<view class="shop-top">
<view class="shop-img">
<img src="/static/images/img/shangpintu.png" alt="">
<img src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/6c4ab92a43c842d8bb22035bce1f65cc.png" alt="" style="width:30rpx;height:30rpx;position: absolute;top: 0;left: 0;background-size: 100%;" />
</view>
<view class="shop-content">
<view class="shop-name">
牛仔农庄(医专店)
</view>
<view class="shop-content-center">
<view class="shop-rate">
<view class="shop-rate-num">4.3</view>
<uni-rate :disabled="true" size="20" disabledColor="rgba(255, 184, 84, 1)" :value="4.3" />
</view>
<view class="shop-tag">
<text style="padding: 4rpx 10rpx;background: rgba(223, 255, 176, 1);color: #777;border-radius: 6rpx;">
炒菜
<text v-if = "item.subtitle != null" style="padding: 4rpx 10rpx;background: rgba(223, 255, 176, 1);color: #777;border-radius: 6rpx;">
{{item.subtitle}}
</text>
</view>
</view>
<view class="shop-content-bottom">
<view class="shop-deal">
已拼<text style="color: red;font-weight: 700;"> 12 </text>
</view>
<view class="shop-deal1">
月售 <text> 100+</text>
已拼<text style="color: red;font-weight: 700;"> {{item.saleCount != null ? item.saleCount : 0}} </text>
</view>
</view>
</view>
</view>
<view class="shop-bottom">
<view class="menu-member">
<view class="menu-img">
<img src="/static/images/img/shangpintu.png" alt="">
</view>
<view class="menu-content">
<view class="shop-menu-name">
啤酒价格
</view>
<view class="shop-menu-price">
90.00
</view>
<view class="shop-menu-purchase">
拼团 <text style="color: red;">85.00</text>
</view>
</view>
</view>
<view class="menu-member">
<view class="menu-img">
<img src="/static/images/img/shangpintu.png" alt="">
</view>
<view class="menu-content">
<view class="shop-menu-name">
啤酒价格
</view>
<view class="shop-menu-price">
90.00
</view>
<view class="shop-menu-purchase">
拼团 <text style="color: red;">85.00</text>
</view>
</view>
</view>
<view class="menu-member">
<view class="menu-img">
<img src="/static/images/img/shangpintu.png" alt="">
</view>
<view class="menu-content">
<view class="shop-menu-name">
啤酒价格
</view>
<view class="shop-menu-price">
90.00
</view>
<view class="shop-menu-purchase">
拼团 <text style="color: red;">85.00</text>
</view>
</view>
</view>
<view class="menu-member">
<view class="menu-img">
<img src="/static/images/img/shangpintu.png" alt="">
</view>
<view class="menu-content">
<view class="shop-menu-name">
啤酒价格
</view>
<view class="shop-menu-price">
90.00
</view>
<view class="shop-menu-purchase">
拼团 <text style="color: red;">85.00</text>
</view>
</view>
</view>
<view class="menu-member">
<view class="menu-img">
<img src="/static/images/img/shangpintu.png" alt="">
</view>
<view class="menu-content">
<view class="shop-menu-name">
啤酒价格
</view>
<view class="shop-menu-price">
90.00
</view>
<view class="shop-menu-purchase">
拼团 <text style="color: red;">85.00</text>
</view>
</view>
</view>
<view class="menu-member">
<view class="shop-bottom" v-if="item.products != null && item.products.length > 0">
<view class="menu-member" v-for="(item1,index1) in item.products" :key="index1" @tap="goDetail('product',item1)">
<view class="menu-img">
<img src="/static/images/img/shangpintu.png" alt="">
<img :src="item1.productPicture" alt="">
</view>
<view class="menu-content">
<view class="shop-menu-name">
啤酒价格
{{item1.productName}}
</view>
<view class="shop-menu-price">
90.00
¥{{item1.attributeListPrice | sliceMsg}}
</view>
<view class="shop-menu-purchase">
拼团 <text style="color: red;">85.00</text>
</view>
</view>
</view>
<view class="menu-member">
<view class="menu-img">
<img src="/static/images/img/shangpintu.png" alt="">
</view>
<view class="menu-content">
<view class="shop-menu-name">
啤酒价格
</view>
<view class="shop-menu-price">
90.00
</view>
<view class="shop-menu-purchase">
拼团 <text style="color: red;">85.00</text>
拼团 <text style="color: red;">¥{{item1.productGroupBuyPrices | slicePrice}}</text>
</view>
</view>
</view>
@ -379,6 +130,27 @@
autoplay: true,
interval: 4000,
duration: 1000,
searchScore: false,
searchSale: false,
pageNum:1,
shopArea:[],
totalPages:1,
searchForm:{
regionId:JSON.parse(uni.getStorageSync('area')).id,
shopType:'',
shopArea:'',
pageNum: 1,
pageSize: '10',
sort: "createTime",
order: "desc",
sortOrder:'shoprank',
orderOrder:'desc',
sortScore:'',
orderScore:'',
sortSale:'',
orderSale:''
},
shopList:[],
menuBtn:[{
name:'美食',
url:'https://jewel-shop.oss-cn-beijing.aliyuncs.com/d6b53eb217644e74bbf957ff7462c27b.png',
@ -405,7 +177,7 @@
url:'https://jewel-shop.oss-cn-beijing.aliyuncs.com/8d2f7ffb67a4477ebe663f562b3bd018.png',
index:6
},{
name:'家常菜',
name:'烤肉拌饭',
url:'https://jewel-shop.oss-cn-beijing.aliyuncs.com/5e4fa14df92942eeb62254c8eb82f122.png',
index:7
},{
@ -426,18 +198,149 @@
},
components: {
},
filters: {
sliceMsg(val) {
var name = ''
if (typeof(val) == 'string') {
let newObj = JSON.parse(val)
for (let as in newObj) {
name = newObj[as].specPrice
}
}
return name;
},
slicePrice(val){
let begin = ''
if(val != null){
begin = val[0].groupPrice
for(let i = 0;i < val.length;i++){
if(val[i].groupPrice < begin){
begin = val[i].groupPrice
}
}
}
return begin;
}
},
onLoad() {
this.getEatType();
this.getShopArea();
},
onShow() {
this.menuButtonInfo = uni.getMenuButtonBoundingClientRect()
uni.showLoading({
title: '加载中...',
mask: true
})
this.getShopList();
},
methods: {
goDetail(type){
if(type == 'shopDetail'){
searchShop(type,value){
if(type == 'area'){
this.searchForm.shopArea = value
}else if(type == 'score'){
this.searchScore = !this.searchScore
this.searchSale = false
}else if(type == 'sale'){
this.searchSale = !this.searchSale
this.searchScore = false
}else if(type == 'all'){
this.searchForm.sortOrder = 'shoprank'
this.searchForm.orderOrder = 'desc'
this.searchForm.shopArea = ''
this.searchScore = false
this.searchSale = false
}else if(type == 'typeUp'){
//TODO
}
this.getShopList();
},
getEatType(){
let that = this
that.tui.request("/dictData/getByCondition", "GET", {
sort:'sortOrder',
order:'asc',
dictId:'1712359407444168704'
}, false, true).then((res) => {
if (res.code == 200) {
for(let i = 0;i<res.result.content.length;i++){
for(let m = 0;m<this.menuBtn.length;m++){
if(this.menuBtn[m].name == res.result.content[i].title){
this.menuBtn[m].index = res.result.content[i].value
}
}
for(let m = 0;m<this.menuBtn1.length;m++){
if(this.menuBtn1[m].name == res.result.content[i].title){
this.menuBtn1[m].index = res.result.content[i].value
}
}
}
} else {
that.tui.toast(res.message)
return
}
}).catch((res) => {})
},
getShopArea(){
let that = this
that.tui.request("/app/shopArea/getByParentId/"+JSON.parse(uni.getStorageSync('area')).id, "GET", {}, false, true).then((res) => {
if (res.code == 200) {
if(res.result != null){
for(let m = 0;m<res.result.length;m++){
if(res.result[m].isCanteen == 1){
that.shopArea.push(res.result[m])
}
}
console.log(that.shopArea)
}
} else {
that.tui.toast(res.message)
return
}
}).catch((res) => {})
},
getShopList(){
if(this.searchSale){
this.searchForm.sortSale = 'saleCount'
this.searchForm.orderSale = 'desc'
this.searchForm.sortOrder = ''
}else{
this.searchForm.sortSale = ''
}
if(this.searchScore){
this.searchForm.sortScore = 'shopScore'
this.searchForm.orderScore = 'desc'
this.searchForm.sortOrder = ''
}else{
this.searchForm.sortScore = ''
}
let that = this
that.tui.request("/app/shop/getByCondition", "GET", this.searchForm, false, true).then((res) => {
if (res.code == 200) {
if (that.pageNum == 1) {
that.shopList = res.result.content
} else {
that.shopList = [...that.shopList, ...res.result.content]
}
that.totalPages = res.result.totalPages
this.isArea = false
that.$forceUpdate()
} else {
that.tui.toast(res.message)
return
}
uni.hideLoading()
}).catch((res) => {})
},
goDetail(type,item){
if(type == 'shop'){
uni.navigateTo({
url:'/package1/group/groupBuySingle?type=shop&item=' + JSON.stringify(item)
})
}else{
uni.navigateTo({
url:'/package1/group/groupBuySingle'
url:'/package1/group/groupBuySingle?type=product&item=' + JSON.stringify(item)
})
}
},
@ -670,6 +573,7 @@
}
.shop-menu-price{
margin-top: 6rpx;
font-weight: 700;
}
.shop-menu-purchase{
display: flex;
@ -678,6 +582,7 @@
line-height: 36rpx;
padding: 0 0 0 4rpx;
border-radius: 8rpx;
font-weight: 700;
margin-top: 10rpx;
color: #777;
}

335
package1/group/shopEvaluate.vue

@ -10,6 +10,97 @@
</view>
</view>
</view>
<view class="content">
<view class="shop-rate">
<view class="rate-left">
<view class="rate-num">
4.3
</view>
<view class="rate-star">
<uni-rate :disabled="true" size="20" disabledColor="rgba(255, 184, 84, 1)" :value="4.3" />
</view>
</view>
<view class="rate-right">
<view class="right1">
<view class="">
4.8
</view>
<view style="color: #777;font-size: 12px;">
包装
</view>
</view>
<view class="right1">
<view class="">
4.8
</view>
<view style="color: #777;font-size: 12px;">
品质
</view>
</view>
</view>
</view>
<view class="">
<view class="menu-list">
<view class="menu1" @tap="checkTab(index)" v-for="(item,index) in menuList" :key="index"
:style="{'font-size':item.checked?'40rpx':'30rpx','color':item.checked?'rgba(0, 35, 28, 1)':'#777','width':index == 0?'80px':'90px'}">
<view :style="{'width':index == 0?'80px':'90px'}" style="text-align: left;">
{{item.name}}({{item.num}})
</view>
<img v-if="item.checked" class="checked-img"
src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/4bb5fc7725cb4a7a84d1d3a15f05b39c.png"
alt="" />
</view>
</view>
</view>
<view class="evaluate-list">
<view class="eval-title">
<view class="eval-icon">
<img src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/94f91382e76c4f289d53fbf858e8732b.png"
alt="" />
</view>
<view class="eval-name">
<view class="name1">
匿名用户
</view>
<view class="eval-time">
2026-03-12
</view>
</view>
</view>
<view class="eval-rate">
商品 <uni-rate :disabled="true" size="20" disabledColor="rgba(255, 184, 84, 1)" :value="4.3" />
包装 4.8 品质 4.8
</view>
<view class="eval-content">
<view class="eval-text">
配送超级好的环境很开心玩的很不错以后还回来喜欢喜欢喜欢!配送超级好的环境很开心玩的很不错以后还回来喜欢喜欢喜欢!
</view>
<view class="eval-img">
<img @tap="largeImg" src="/static/images/img/shangpintu.png" alt="">
<img @tap="largeImg" src="/static/images/img/shangpintu.png" alt="">
</view>
<view class="reply-card" :class="{'expanded': isExpanded}">
<!-- 标题行商家回复 + 展开/收起按钮 -->
<view class="reply-header">
<!-- 回复内容区域动态类控制展开/折叠 -->
<view class="reply-content" :class="{ collapsed: !isExpanded, expanded: isExpanded }">
<text>商家回复 {{ replyText }}</text>
</view>
<view class="reply-expand-btn" @click="toggleReply">
<text v-if="!isExpanded">展开</text>
<text v-else>收起</text>
</view>
</view>
</view>
</view>
</view>
</view>
<!-- 查看大图弹出层 -->
<uni-popup ref="imgPopup" background-color="#fff">
<view class="img-popup-content">
<img :src="bigImg" alt="" style="width: 100%;height: 100%;">
</view>
</uni-popup>
</view>
</template>
@ -17,9 +108,24 @@
export default {
data() {
return {
isExpanded: false,
replyText: '感谢您的评价,希望可以带给您更好的体验。我们会继续努力,优化服务,欢迎再次光临!如果您有任何建议,也欢迎随时告诉我们。感谢您的支持与喜爱!',
menuButtonInfo: {},
isPintuan:true,
bigImg:''
isPintuan: true,
bigImg: '',
menuList: [{
name: '全部',
num: 31,
checked: true
}, {
name: '有图/视频',
num: 21,
checked: false
}, {
name: '中差评',
num: 10,
checked: false
}]
}
},
components: {
@ -32,6 +138,18 @@
this.menuButtonInfo = uni.getMenuButtonBoundingClientRect()
},
methods: {
toggleReply() {
this.isExpanded = !this.isExpanded;
},
checkTab(index) {
for (let i = 0; i < this.menuList.length; i++) {
if (i == index) {
this.menuList[i].checked = true
} else {
this.menuList[i].checked = false
}
}
},
//
largeImg(img) {
this.bigImg = 'https://jewel-shop.oss-cn-beijing.aliyuncs.com/00b1f011787c4549bbea650d95a4eb39.png'
@ -41,7 +159,6 @@
uni.navigateBack()
}
}
}
</script>
@ -61,27 +178,231 @@
position: relative;
}
.title{
.title {
background: url('https://jewel-shop.oss-cn-beijing.aliyuncs.com/8bc15960c2dc40268e295d6dd23aecce.png') no-repeat;
width: 100%;
height: 54%;
}
.title-sreach{
.title-sreach {
width: 100%;
display: flex;
height: 200rpx;
position: relative;
}
.back-btn{
.back-btn {
position: absolute;
bottom: 0;
left: 0;
}
.title-name{
.title-name {
padding-top: 55px;
font-size: 36rpx;
font-weight: 700;
flex: 1;
text-align: center;
}
.content {
position: absolute;
top: 100px;
width: 95%;
margin-left: 2.5%;
}
.shop-rate {
display: flex;
padding-bottom: 15px;
}
.rate-left {
display: flex;
flex: 1;
}
.rate-num {
font-size: 43px;
font-weight: 700;
background: linear-gradient(90deg, rgba(255, 77, 0, 1), rgba(255, 184, 84, 1));
background-clip: text;
color: transparent;
}
.rate-right {
display: flex;
width: 80px;
height: 50px;
line-height: 20px;
font-size: 18px;
text-align: center;
font-weight: 700;
border-left: 1px solid #eee;
}
.rate-star {
height: 50px;
padding: 16px 10px;
}
.right1 {
margin: 10px 0 0 5%;
width: 45%;
}
.menu-list {
height: 50px;
width: 100%;
display: flex;
overflow-y: hidden;
padding-top: 15px;
border-top: 1px solid #eee;
}
.checked-img {
width: 100%;
height: 10px;
position: absolute;
bottom: 0;
left: 0;
}
.menu1 {
width: 90px;
height: 35px;
position: relative;
margin-right: 10px;
line-height: 35px;
flex: 1;
}
.evaluate-list {
margin-top: 20px;
}
.eval-title {
width: 100%;
height: 40px;
display: flex;
}
.eval-icon {
height: 40px;
width: 40px;
img {
width: 100%;
height: 100%;
background-size: 100%;
}
}
.eval-name {
margin-left: 10px;
}
.name1 {
font-size: 14px;
line-height: 25px;
font-weight: 700;
}
.eval-rate {
display: flex;
margin: 10px 0 0 50px;
height: 24px;
line-height: 20px;
}
.eval-content {
margin-left: 50px;
font-size: 14px;
color: #777;
line-height: 24px;
}
.eval-img {
display: flex;
width: 100%;
overflow-x: scroll;
margin-top: 10px;
img {
width: 50px;
height: 50px;
background-size: 100%;
margin-right: 10px;
}
}
/* 卡片整体样式(可根据需要调整外间距) */
.reply-card {
border-radius: 12rpx;
background-color: #eee;
width: 100%;
box-sizing: border-box;
margin-top:10px;
}
/* 标题行:左标签 + 右按钮 */
.reply-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 16rpx;
}
.reply-label {
font-size: 28rpx;
font-weight: 500;
color: #333;
}
.reply-expand-btn {
font-size: 12px;
padding: 4rpx 12rpx;
}
/* 回复内容基础样式 */
.reply-content {
font-size: 13px;
color: #555;
padding: 12rpx;
transition: all 0.2s;
height: 35px;
flex: 1;
}
/* 折叠状态:单行省略 */
.reply-content.collapsed {
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
}
/* 展开状态:固定高度100px,可滚动 */
.reply-content.expanded {
display: block;
height: 100px;
/* 固定高度100px */
overflow-y: auto;
/* 内容超长时滚动 */
/* 重置折叠相关属性 */
-webkit-line-clamp: unset;
-webkit-box-orient: unset;
text-overflow: clip;
}
/* 滚动条美化(可选) */
.reply-content.expanded::-webkit-scrollbar {
width: 6px;
}
.reply-content.expanded::-webkit-scrollbar-thumb {
background-color: #ccc;
border-radius: 10px;
}
</style>

316
package1/runErrand/runErrand.vue

@ -1,9 +1,323 @@
<template>
<!-- 代跑腿页 -->
<view class="page1">
<view class="title">
<view class="title-sreach">
<view class="back-btn" @tap="back" :style="{'top': menuButtonInfo.top +'px'}">
<uni-icons type="left" size="28"></uni-icons>
</view>
<view class="title-name" :style="{'padding-top': menuButtonInfo.top +'px'}">
<!-- 代取快递/跑腿 -->
</view>
</view>
</view>
<view style="position: absolute;top: 100px;width: 100%;">
<view class="tab1" v-if="isPaotui">
<img src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/f1356c4db9b5488bb46140e2cdd2b4ee.png" alt=""
style="position: absolute;" />
<img src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/e380fd14442c476bb6d3f5ec471af515.png" alt="" />
<view style="width: 100%;height: 80px;position: absolute;top:0;left: 0;display: flex;">
<view style="width: 50%;height: 80px;"></view>
<view style="width: 50%;height: 80px;" @tap="isPaotui=!isPaotui"></view>
</view>
</view>
<view class="tab1" v-else>
<img src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/3aea88803cb446139aa80ff5a606645a.png" alt=""
style="position: absolute;" />
<img src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/2cdff43ecdd4409a8bd1f5f46a6ad38d.png" alt=""
style="position: absolute;" />
<view style="width: 100%;height: 80px;position: absolute;top:0;left: 0;display: flex;">
<view style="width: 50%;height: 80px;" @tap="isPaotui=!isPaotui"></view>
<view style="width: 50%;height: 80px;"></view>
</view>
</view>
</view>
<view class="content">
<view class="content-box">
<view class="dizhi">
<view class="dizhi-tu">
<img src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/1f77398a73454a6595c12a3c18731599.png"
alt="" />
</view>
<view class="dizhi1">
<view class="dizhi-ming">
沁园春第三食堂A20窗口
</view>
<view class="dizhi-btn">
地址簿
</view>
</view>
</view>
<view class="dizhi">
<view class="dizhi-tu">
<img src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/d0764fb4138747769538cf1cafa3b017.png"
alt="" />
</view>
<view class="dizhi1">
<view class="dizhi-ming">
沁园春第三食堂A20窗口
</view>
<view class="dizhi-btn">
地址簿
</view>
</view>
</view>
</view>
<view class="content-box">
<view class="content-title">
取件数量<text>*</text>
</view>
<view class="">
<view>-</view>
<input type="number" disabled>
<view>+</view>
</view>
</view>
<view class="content-box">
<view class="content-title">
取件凭证<text>*</text>
</view>
<view class="">
<view class="">
<view class="">
<radio></radio> 手机号
</view>
<view class="">
<input type="text">
</view>
</view>
<view class="">
<view class="">
<radio></radio> 取件码
</view>
<view class="">
<input type="text">
</view>
<view class="">
+ 添加取件码
</view>
</view>
<view class="">
<view class="">
<radio></radio> 取件码截图
</view>
<view class="">
<view class="upload-img" @tap="pictureAdd"
style="background: #eee;text-align: center;line-height: 160rpx;">
<uni-icons type="camera" size="28" color="#777"></uni-icons>
</view>
<view style="overflow-x: scroll;display: flex;width: 350rpx;">
<view v-if="formData.productPictures !=''"
v-for="(item,index) in formData.productPictures" :key="index"
style="width: 160rpx;height: 160rpx;margin-left: 20rpx;">
<img :src="item.productPicture" alt="" class="upload-img">
</view>
</view>
</view>
</view>
</view>
</view>
<view class="content-box">
<view class="content-title">
取件重量<text>*</text>
</view>
<view>
<view class="">
5公斤以内
</view>
<view class="">
5-10公斤
</view>
<view class="">
10-15公斤
</view>
<view class="">
15-20公斤
</view>
<view class="">
20公斤以上
</view>
</view>
</view>
<view class="content-box">
<view class="content-title">
物品体积<text>*</text>
</view>
<view>
<view class="">
0.5立方米以下
</view>
<view class="">
0.5-1立方米
</view>
<view class="">
1.1-1.5立方米
</view>
<view class="">
1.6-2立方米
</view>
<view class="">
2.1立方米以上
</view>
</view>
</view>
</view>
<view class="bottom">
<view class="">
下单
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
isPaotui: true,
menuButtonInfo: {},
}
},
components: {
},
onLoad() {
},
onShow() {
this.menuButtonInfo = uni.getMenuButtonBoundingClientRect()
},
methods: {
toggleReply() {
this.isExpanded = !this.isExpanded;
},
checkTab(index) {
for (let i = 0; i < this.menuList.length; i++) {
if (i == index) {
this.menuList[i].checked = true
} else {
this.menuList[i].checked = false
}
}
},
//
largeImg(img) {
this.bigImg = 'https://jewel-shop.oss-cn-beijing.aliyuncs.com/00b1f011787c4549bbea650d95a4eb39.png'
this.$refs.imgPopup.open()
},
back() {
uni.navigateBack()
}
}
}
</script>
<style>
<style lang="scss">
page {
width: 100%;
height: 100%;
font-size: 24rpx;
background: #F5F8F5;
color: #00231C;
}
.page1 {
width: 100%;
height: 100%;
font-size: 24rpx;
position: relative;
overflow: hidden;
}
.title {
background: url('https://jewel-shop.oss-cn-beijing.aliyuncs.com/8bc15960c2dc40268e295d6dd23aecce.png') no-repeat;
width: 100%;
height: 54%;
}
.title-sreach {
width: 100%;
display: flex;
height: 200rpx;
position: relative;
}
.back-btn {
position: absolute;
bottom: 0;
left: 0;
}
.title-name {
padding-top: 55px;
font-size: 36rpx;
font-weight: 700;
flex: 1;
text-align: center;
}
.content {
position: absolute;
top: 180px;
width: 100%;
overflow: scroll;
height: 80%;
background: #fff;
padding: 0 2.5%;
}
.tab1 {
width: 100%;
height: 80px;
position: relative;
img {
width: 100%;
height: 100%;
background-size: 100%;
}
}
.upload-img {
width: 160rpx;
height: 160rpx;
}
.dizhi {
display: flex;
margin-bottom: 10px;
}
.dizhi-tu {
width: 25px;
height: 25px;
margin: 13px 10px 0 0;
img {
width: 100%;
height: 100%;
}
}
.dizhi1{
flex: 1;
background: #eee;
border-radius: 10px;
height: 50px;
line-height: 50px;
display: flex;
padding: 0 10px;
}
.dizhi-ming{
flex: 1;
}
.dizhi-btn{
width: 56px;
height: 25px;
background: #fff;
line-height: 25px;
text-align: center;
border: 1px solid #777;
border-radius: 25px;
margin-top: 13px;
}
</style>
Loading…
Cancel
Save