Browse Source

ggg

master
Bobi 3 months ago
parent
commit
ce43ef0f67
6 changed files with 446 additions and 930 deletions
  1. +1
    -21
      components/base/tabbar.vue
  2. +59
    -0
      pages.json
  3. +63
    -176
      pages/index/cart.vue
  4. +80
    -112
      pages/index/category.vue
  5. +112
    -273
      pages/index/center.vue
  6. +131
    -348
      pages/index/index.vue

+ 1
- 21
components/base/tabbar.vue View File

@ -38,31 +38,11 @@
"pagePath": "/pages/index/index",
"title": "首页"
},
{
"selectedIconPath": "/static/image/tabbar/category-a.png",
"iconPath": "/static/image/tabbar/category.png",
"pagePath": "/pages/index/category",
"title": "分类",
isNotShop : true,
},
{
"selectedIconPath": "/static/image/tabbar/order-a.png",
"iconPath": "/static/image/tabbar/order.png",
"pagePath": "/pages/index/order",
"title": "订单中心"
},
{
"selectedIconPath": "/static/image/tabbar/cart-a.png",
"iconPath": "/static/image/tabbar/cart.png",
"pagePath": "/pages/index/cart",
"title": "购物车",
isNotShop : true,
},
{
"selectedIconPath": "/static/image/tabbar/center-a.png",
"iconPath": "/static/image/tabbar/center.png",
"pagePath": "/pages/index/center",
"title": "个人中心"
"title": "我的"
}
]
};


+ 59
- 0
pages.json View File

@ -67,7 +67,66 @@
},
{
"path": "mine/help"
},
{
"path" : "order/WorkOrders"
},
{
"path" : "order/ModifyWorkOrder",
"style" :
{
"navigationBarTitleText" : ""
}
},
{
"path" : "order/FavoriteList",
"style" :
{
"navigationBarTitleText" : ""
}
},
{
"path" : "order/WorkOrderListitem",
"style" :
{
"navigationBarTitleText" : ""
}
},
{
"path" : "order/ProcessCardOne",
"style" :
{
"navigationBarTitleText" : ""
}
},
{
"path" : "order/ProcessCardTo",
"style" :
{
"navigationBarTitleText" : ""
}
},
{
"path" : "order/ProcessCardThree",
"style" :
{
"navigationBarTitleText" : ""
}
},
{
"path" : "order/ProcessCardFour",
"style" :
{
"navigationBarTitleText" : ""
}
}
]
}],
"globalStyle": {


+ 63
- 176
pages/index/cart.vue View File

@ -1,81 +1,42 @@
<template>
<view class="page">
<navbar/>
<view class="user">
<uv-checkbox-group
shape="circle"
v-model="checkboxValue">
<uv-swipe-action>
<view
v-for="(item, index) in list"
:key="index">
<view style="margin-top: 20rpx;"></view>
<uv-swipe-action-item
:options="options">
<view class="item">
<view class="checkbox">
<uv-checkbox
:name="item.id"
activeColor="#FA5A0A"
size="40rpx"
icon-size="35rpx"
></uv-checkbox>
</view>
<image
class="image"
src="https://img95.699pic.com/photo/50058/1378.jpg_wh860.jpg"
mode=""></image>
<view class="info">
<view class="title">
<view class="">
{{ item.title }}
</view>
<view class="">
<uv-number-box v-model="item.num"
@change="valChange"></uv-number-box>
</view>
</view>
<view class="unit">
规格{{ item.unit }}
<uv-icon name="arrow-down"></uv-icon>
</view>
<view class="price">
<text>{{ item.price }}</text>
</view>
</view>
</view>
</uv-swipe-action-item>
</view>
</uv-swipe-action>
</uv-checkbox-group>
<view class="action">
<view class="icon">
<image src="/static/image/cart/1.png" mode=""></image>
<view class="num">
{{ checkboxValue.length }}
</view>
<navbar
title="收藏列表"
leftClick
@leftClick="$utils.navigateBack"/>
<uv-search placeholder="请输入搜索内容" v-model="keyword" height="80"></uv-search>
<!-- 标签选项 -->
<view class="Tabs">
<uv-tabs :list="listt" @click="click" ></uv-tabs>
</view>
<view class="Urgent-Work-Order">
<view class="Urgent-Work-List" v-for="(item,index) in 2 " >
<view class="Work-List">
任务号GY1269103AC0
</view>
<view class="price">
<view class="count">
合计
<view class="">
<text>{{ totalPrice }}</text>
</view>
</view>
<view class="text">
{{ checkboxValue.length }}已享受更低优惠
</view>
<view class="Work-List">
担当信息李林珠-15177689988
</view>
<view class="btn">
去结算
<view class="Work-List">
机型信息BSZ24861768
</view>
<view class="Work-List">
数量88
</view>
<view class="Work-List">
工单状态本体加工
</view>
</view>
</view>
<tabber select="3" />
</view>
@ -89,6 +50,18 @@
},
data() {
return {
keyword: '水调歌头',
listt: [{
name: '所有',
}, {
name: '备料中',
}, {
name: '本体加工'
}, {
name: '气密检测'
}, {
name: '挂机中'
}],
value : 0,
checkboxValue : [],
options: [
@ -135,6 +108,9 @@
valChange(){
},
click(item) {
console.log('item', item);
}
}
}
</script>
@ -145,115 +121,26 @@
/deep/ .uv-swipe-action{
width: 100%;
}
}
.user {
.item{
background-color: #fff;
display: flex;
padding: 30rpx;
.checkbox{
display: flex;
justify-content: center;
align-items: center;
}
.image{
width: 200rpx;
height: 200rpx;
border-radius: 20rpx;
}
.info{
flex: 1;
.title{
display: flex;
padding: 10rpx 20rpx;
justify-content: space-between;
}
.unit{
font-size: 24rpx;
padding: 10rpx 20rpx;
color: #717171;
display: flex;
align-items: center;
}
.price{
color: $uni-color;
font-size: 28rpx;
padding: 10rpx 20rpx;
text{
font-size: 36rpx;
font-weight: 900;
}
}
}
}
.action{
width: 700rpx;
position: fixed;
bottom: 220rpx;
left: 25rpx;
background-color: #fff;
height: 100rpx;
border-radius: 50rpx;
box-shadow: 0 0 6rpx 6rpx #00000010;
.Tabs{
display: flex;
justify-content: center;
align-items: center;
overflow: hidden;
.icon{
position: relative;
width: 80rpx;
height: 80rpx;
margin: 0 20rpx;
image{
width: 80rpx;
height: 80rpx;
}
.num{
position: absolute;
right: 10rpx;
top: 0rpx;
background-color: $uni-color;
color: #fff;
font-size: 18rpx;
border-radius: 50%;
height: 30rpx;
width: 30rpx;
display: flex;
justify-content: center;
align-items: center;
}
}
.price{
.count{
display: flex;
font-size: 26rpx;
align-items: center;
view{
color: $uni-color;
margin-left: 10rpx;
text{
font-size: 32rpx;
font-weight: 900;
}
}
}
.text{
font-size: 20rpx;
color: #717171;
}
.Urgent-Work-Order{
padding: 20rpx;
.Urgent-Work-List{
margin-top: 20rpx;
border: 6rpx solid rgb(99 ,187 ,211);
border-radius: 25rpx;
padding: 15rpx;
.Work-List{
margin: 15rpx 0rpx;
letter-spacing: 2px
}
}
.btn{
margin-left: auto;
background-color: $uni-color;
height: 100%;
padding: 0 50rpx;
color: #fff;
display: flex;
justify-content: center;
align-items: center;
}
}
}
</style>

+ 80
- 112
pages/index/category.vue View File

@ -1,95 +1,97 @@
<template>
<view class="page">
<navbar/>
<view class="category">
<uv-vtabs
:chain="chain"
:list="category"
height="1000px"
:barItemBadgeStyle="{right:'20px',top:'12px'}"
@change="change">
<uv-vtabs-item>
<view class="category-title">
租赁
</view>
<view class="list">
<view class="item" v-for="(item,index) in list" :key="index"
@click="$utils.navigateTo('/pages_order/product/productDetail?id=123')">
<view class="item-image">
<image
:src="item.image"
mode="aspectFill"></image>
</view>
<view class="item-unit">
<text class="text">{{item.unit}}</text>
</view>
</view>
</view>
</uv-vtabs-item>
</uv-vtabs>
<navbar
title="列表"
leftClick
@leftClick="$utils.navigateBack"
/>
<uv-search placeholder="请输入搜索内容" v-model="keyword" height="80"></uv-search>
<!-- 标签选项 -->
<view class="Tabs">
<uv-tabs :list="listt" @click="click" ></uv-tabs>
</view>
<view class="Urgent-Work-Order">
<WorkOrderitem
v-for="(item,index) in 2"
@click="$utils.navigateTo('/pages_order/order/WorkOrders')"/>
</view>
<tabber select="1" />
</view>
</template>
<script>
import tabber from '@/components/base/tabbar.vue'
import WorkOrderitem from '@/components/work/WorkOrderitem.vue'
export default {
components: {
tabber,
WorkOrderitem,
},
data() {
return {
category: [
{
name : '桌布'
keyword: '水调歌头',
listt: [{
name: '所有',
}, {
name: '备料中',
}, {
name: '本体加工'
}, {
name: '气密检测'
}, {
name: '挂机中'
}],
category: [{
name: '桌布'
},
{
name : '桌布'
name: '桌布'
},
{
name : '桌布'
name: '桌布'
},
],
list : [
{
unit : '100*50*60',
image : 'https://img95.699pic.com/photo/50058/1378.jpg_wh860.jpg',
list: [{
unit: '100*50*60',
image: 'https://img95.699pic.com/photo/50058/1378.jpg_wh860.jpg',
},
{
unit : '100*50*60',
image : 'https://img95.699pic.com/photo/50058/1378.jpg_wh860.jpg',
unit: '100*50*60',
image: 'https://img95.699pic.com/photo/50058/1378.jpg_wh860.jpg',
},
{
unit : '100*50*60',
image : 'https://img95.699pic.com/photo/50058/1378.jpg_wh860.jpg',
unit: '100*50*60',
image: 'https://img95.699pic.com/photo/50058/1378.jpg_wh860.jpg',
},
{
unit : '100*50*60',
image : 'https://img95.699pic.com/photo/50058/1378.jpg_wh860.jpg',
unit: '100*50*60',
image: 'https://img95.699pic.com/photo/50058/1378.jpg_wh860.jpg',
},
{
unit : '100*50*60',
image : 'https://img95.699pic.com/photo/50058/1378.jpg_wh860.jpg',
unit: '100*50*60',
image: 'https://img95.699pic.com/photo/50058/1378.jpg_wh860.jpg',
},
{
unit : '100*50*60',
image : 'https://img95.699pic.com/photo/50058/1378.jpg_wh860.jpg',
unit: '100*50*60',
image: 'https://img95.699pic.com/photo/50058/1378.jpg_wh860.jpg',
},
{
unit : '100*50*60',
image : 'https://img95.699pic.com/photo/50058/1378.jpg_wh860.jpg',
unit: '100*50*60',
image: 'https://img95.699pic.com/photo/50058/1378.jpg_wh860.jpg',
},
{
unit : '100*50*60',
image : 'https://img95.699pic.com/photo/50058/1378.jpg_wh860.jpg',
unit: '100*50*60',
image: 'https://img95.699pic.com/photo/50058/1378.jpg_wh860.jpg',
},
{
unit : '100*50*60',
image : 'https://img95.699pic.com/photo/50058/1378.jpg_wh860.jpg',
unit: '100*50*60',
image: 'https://img95.699pic.com/photo/50058/1378.jpg_wh860.jpg',
},
],
chain: false,
@ -103,89 +105,55 @@
}
},
onReady() {
},
methods: {
change(index) {
console.log('选项改变:', index)
this.value = index;
},
click(item) {
console.log('item', item);
}
}
}
</script>
<style scoped lang="scss">
.page{
/deep/ .uv-vtabs{
.page {
background-color: #fff;
/deep/ .uv-vtabs {
height: calc(100vh - 360rpx) !important;
}
/deep/ .uv-vtabs__bar{
/deep/ .uv-vtabs__bar {
height: calc(100vh - 360rpx) !important;
}
/deep/ .uv-vtabs__content{
/deep/ .uv-vtabs__content {
height: calc(100vh - 360rpx) !important;
}
}
.category {
font-size: 30rpx;
color: #333;
.category-title{
position: relative;
.Tabs{
display: flex;
justify-content: center;
align-items: center;
height: 120rpx;
&::before,
&::after {
position: absolute;
top: 50%;
content: '';
width: 10%;
border-top: 2rpx solid black;
}
&::before {
left: 25%;
}
&::after {
right: 25%;
}
}
.list{
display: flex;
flex-wrap: wrap;
margin: 0 auto;
width: 490rpx;
.item {
padding: 10rpx 20rpx;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
margin-bottom: 20rpx;
.item-image {
width: 120rpx;
height: 120rpx;
image{
height: 100%;
width: 100%;
border-radius: 50%;
}
}
.Urgent-Work-Order{
padding: 20rpx;
.item-unit {
font-size: 24rpx;
margin-top: 15rpx;
color: #555;
.Urgent-Work-List{
margin-top: 20rpx;
border: 6rpx solid rgb(99 ,187 ,211);
border-radius: 25rpx;
padding: 15rpx;
.Work-List{
margin: 15rpx 0rpx;
letter-spacing: 2px
}
}
.gap {
padding: 0 30rpx;
}
}
}
</style>

+ 112
- 273
pages/index/center.vue View File

@ -1,126 +1,90 @@
<template>
<view class="page">
<navbar title="个人中心" />
<view class="backimg">
<view class="head-portrait">
<view class="head">
<view class="headImage">
<image src="" mode=""></image>
</view>
<view class="info">
<view class="name">
倾心.
</view>
<!-- <view class="vip">
VIP1
</view> -->
<view class="tips">
今天是您来的的第32天
</view>
</view>
<view class="headBtn" @click="headBtn">
角色切换
</view>
<view class="setting">
<uv-icon name="setting" size="40rpx"></uv-icon>
<view class="id">
李晓春
</view>
</view>
<!-- 水洗店 -->
<view class="userShop" v-if="userShop">
<userShopCommission />
<view class="userList">
<view class="title">
我的用户
</view>
<view class="list">
<view class="item" v-for="(item, index) in 20" :key="index">
<view class="name">
客户王生
</view>
<view class="num">
剩余水洗布198
</view>
<view class="box">
<view class="index">
<view class="indus">
<view class="horn">
<uv-icon name="account-fill" size=""></uv-icon>
</view>
<view class="words">
成员列表
</view>
</view>
<view class="arrow">
<uv-icon name="arrow-right"></uv-icon>
</view>
</view>
</view>
<!-- 酒店 -->
<view class="user" v-else>
<view class="line">
<view class="item">
<view class="image">
<image src="/static/image/center/1.png" mode=""></image>
<hr />
<view class="index">
<view class="indus">
<view class="horn">
<uv-icon name="lock-fill" size=""></uv-icon>
</view>
<view class="">
余额3000
<view class="words">
修改密码
</view>
</view>
<view class="item">
<view class="image">
<image src="/static/image/center/4.png" mode=""></image>
<view class="arrow">
<uv-icon name="arrow-right"></uv-icon>
</view>
</view>
<hr />
<view class="index"
@click="$utils.navigateTo('/pages_order/order/FavoriteList')">
<view class="indus">
<view class="horn">
<uv-icon name="star-fill" size=""></uv-icon>
</view>
<view class="">
押金30000
<view class="words" >
收藏列表
</view>
</view>
<view class="arrow">
<uv-icon name="arrow-right"></uv-icon>
</view>
</view>
<view class="line grid">
<view class="title">
常用功能
<hr />
<view class="index">
<view class="indus">
<view class="horn">
<uv-icon name="question-circle-fill" size=""></uv-icon>
</view>
<view class="words">
帮助中心
</view>
</view>
<view class="arrow">
<uv-icon name="arrow-right"></uv-icon>
</view>
<uv-grid :col="4" :border="false">
<uv-grid-item @click="$utils.navigateTo('/pages_order/mine/address')">
<image class="image" src="/static/image/center/7.png" mode=""></image>
<text class="grid-text">地址管理</text>
</uv-grid-item>
<uv-grid-item @click="$utils.redirectTo('/index/order')">
<image class="image" src="/static/image/center/8.png" mode=""></image>
<text class="grid-text">订单管理</text>
</uv-grid-item>
<uv-grid-item @click="$utils.navigateTo('/pages_order/order/refundsOrExchange?index='+0)">
<image class="image" src="/static/image/center/5.png" mode=""></image>
<text class="grid-text">换货</text>
</uv-grid-item>
<uv-grid-item @click="$utils.navigateTo('/pages_order/order/refundsOrExchange?index='+1)">
<image class="image" src="/static/image/center/7.png" mode=""></image>
<text class="grid-text">退货</text>
</uv-grid-item>
</uv-grid>
</view>
<view class="line grid">
<uv-grid :col="4" :border="false">
<uv-grid-item @click="contactUs">
<image class="image" src="/static/image/center/9.png" mode=""></image>
<text class="grid-text">联系客服</text>
</uv-grid-item>
<uv-grid-item>
<image class="image" src="/static/image/center/6.png" mode=""></image>
<text class="grid-text">我的租赁</text>
</uv-grid-item>
<uv-grid-item @click="$utils.redirectTo('/index/cart')">
<image class="image" src="/static/image/center/7.png" mode=""></image>
<text class="grid-text">租赁车</text>
</uv-grid-item>
<uv-grid-item
@click="$utils.navigateTo('/pages_order/auth/loginAndRegisterAndForgetPassword?index='+2)">
<image class="image" src="/static/image/center/7.png" mode=""></image>
<text class="grid-text">申请成为水洗店</text>
</uv-grid-item>
</uv-grid>
<hr />
<view class="index">
<view class="indus">
<view class="horn">
<uv-icon name="info-circle-fill" size=""></uv-icon>
</view>
<view class="words">
隐私协议
</view>
</view>
<view class="arrow">
<uv-icon name="arrow-right"></uv-icon>
</view>
</view>
<hr />
</view>
<tabber select="4" />
<tabber select="1" />
</view>
</template>
@ -139,8 +103,7 @@
...mapGetters(['userShop']),
},
data() {
return {
}
return {}
},
methods: {
headBtn() {
@ -159,195 +122,71 @@
</script>
<style scoped lang="scss">
.page {
.warp {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
}
.rect {
width: 600rpx;
height: 300rpx;
background-color: #fff;
border-radius: 20rpx;
overflow: hidden;
.title {
padding: 10rpx 0 0 15rpx;
background-color: #fd5100;
color: #FFF;
text-align: left;
width: 100%;
height: 18%;
font-size: 36rpx;
}
.center {
height: 40%;
display: flex;
justify-content: center;
align-items: center;
font-size: 36rpx;
}
.bottom {
display: flex;
justify-content: center;
gap: 50rpx;
}
}
hr {
width: 80%; /* 设置为视口宽度的一半 */
margin: auto; /* 自动边距,实现水平居中 */
border: none; /* 移除默认边框 */
border-top: 1px solid #ccc; /* 设置顶部边框,可以根据需要更改颜色和大小 */
clear: both; /* 如果有浮动元素,清除浮动确保hr在它下方 */
}
.page {
.backimg {
padding: 0rpx 100rpx;
height: 600rpx;
width: 100%;
background-color: rgb(51, 184, 234);
image {
width: 100%;
height: 100%;
}
.head {
display: flex;
background-color: #fff;
padding: 40rpx 20rpx;
align-items: center;
position: relative;
.headImage {
width: 120rpx;
height: 120rpx;
background-image: url(/static/image/center/3.png);
background-size: 100% 100%;
overflow: hidden;
border-radius: 50%;
margin-right: 40rpx;
}
.info {
font-size: 28rpx;
display: flex;
.vip {
background-color: #FCCC92;
color: #FA6239;
width: 100rpx;
display: flex;
justify-content: center;
align-items: center;
height: 40rpx;
border-radius: 20rpx;
margin-top: 20rpx;
}
align-items: center;
.name {
font-size: 32rpx;
.head-portrait {
height: 150rpx;
width: 150rpx;
background-color: greenyellow;
}
.tips {
font-size: 26rpx;
color: #ABABAB;
.id {
color: #fff;
margin: 0rpx 20rpx;
}
}
.headBtn {
margin-left: auto;
padding: 15rpx 20rpx;
background-color: $uni-color;
color: #fff;
border-radius: 20rpx;
margin-top: 50rpx;
}
.setting {
position: absolute;
right: 50rpx;
top: 50rpx;
}
}
.userShop {
.userList {
.title {
font-size: 32rpx;
font-weight: 900;
padding: 20rpx;
}
.list {
.box{
margin-top: 80rpx;
.index {
padding: 0rpx 60rpx;
margin: 30rpx 0rpx;
display: flex;
flex-wrap: wrap;
.item {
width: 270rpx;
margin: 20rpx;
justify-content: space-between;
align-items: center;
.indus {
display: flex;
flex-direction: column;
padding: 40rpx 30rpx;
background-color: #fff;
border-radius: 30rpx;
line-height: 60rpx;
.name {}
.num {
color: $uni-color;
font-weight: 600;
font-size: 28rpx;
.words {
margin: 0rpx 5rpx;
font-size: 27rpx;
opacity: 0.8;
}
.horn {
margin: 5rpx 10rpx;
}
}
}
}
}
.user {
.line {
display: flex;
background-color: #fff;
margin-top: 20rpx;
padding: 20rpx 0;
.item {
flex: 1;
display: flex;
justify-content: center;
align-items: center;
padding: 20rpx 0;
&:nth-child(1) {
border-right: 1px solid #00000013;
}
.image {
width: 100rpx;
height: 70rpx;
margin-right: 20rpx;
.arrow {
padding: 8rpx;
}
}
}
.grid {
flex-direction: column;
font-size: 26rpx;
padding: 20rpx;
.title {
margin-bottom: 30rpx;
font-size: 28rpx;
font-weight: 600;
}
.image {
width: 70rpx;
height: 70rpx;
margin-bottom: 10rpx;
}
text {
text-align: center;
width: 120rpx;
}
}
}
</style>

+ 131
- 348
pages/index/index.vue View File

@ -1,116 +1,63 @@
<template>
<view class="page">
<navbar/>
<view class="search">
<view @click="showSelectArea" class="left-area">
<image src="@/static/image/home/address-icon.png"></image>
<view class="area">{{ area }}</view>
<image src="@/static/image/home/arrow-icon.png" mode="aspectFit"></image>
<view class="parting-line">|</view>
</view>
<view class="center-area">
<image
style="margin-right: 20rpx;"
src="@/static/image/home/search-icon.png"></image>
<input v-model="queryParams.title"
placeholder="桌布租赁" />
<navbar />
<view class="Carousel-image">
<view class="imgs">
<uv-swiper :list="list" indicator indicatorMode="dot" circular height="420"></uv-swiper>
</view>
<!-- <view class="right-area">
<view @click="searchAddress" class="search-button">
搜索
</view>
</view> -->
</view>
<view class="swipe">
<uv-swiper
:list="bannerList"
indicator
height="320rpx"
keyName="url"></uv-swiper>
</view>
<!-- 水洗店 -->
<view class="userShop"
v-if="userShop">
<view class="list">
<view class="item"
v-for="(item, index) in 4"
:key="index">
<view class="">
<view class="">
我的客户
</view>
<view class="num">
{{ 30 }}
</view>
</view>
<view class="">
<image :src="`/static/image/home/${index}.png`" mode=""></image>
</view>
<view class="search">
<view class="center-area">
<image style="margin-right: 20rpx;" src="@/static/image/home/search-icon.png"></image>
<input v-model="queryParams.title" placeholder="输入单号进行搜索" />
</view>
</view>
</view>
<!-- 酒店 -->
<view class="user"
v-else>
<uv-notice-bar
fontSize="28rpx"
:text="text"></uv-notice-bar>
<view class="shop">
<image
class="image"
src="https://img95.699pic.com/photo/50058/1378.jpg_wh860.jpg"
mode=""></image>
<view class="shopInfo">
<view class="title">
HOUS水洗店
</view>
<view class="tags">
<view class="tag">
桌布水洗
</view>
<view class="tag">
桌布租赁
</view>
</view>
<view class="time">
9:00-18:00
</view>
<view class="address">
长沙市天心区桂花坪街道231号
</view>
</view>
<view class="festival">
<view class="indus">
<view class="horn">
<uv-icon name="volume" size=""></uv-icon>
</view>
<view class="btns">
<view class="btn"
@click="$utils.navigateTo('/pages_order/auth/wxUserInfo')">
我要水洗
</view>
<view class="words">
中秋节放假及工作安排通知
</view>
<view class="tips">
关联门店主信门店
</view>
<view class="arrow">
<uv-icon name="arrow-right"></uv-icon>
</view>
</view>
<uv-divider text="" textColor="#2979ff" lineColor="grey" textSize="1"></uv-divider>
<view class="task">
<view class="backimg" @click="$utils.navigateTo('/pages_order/order/WorkOrderListitem')" >
<view class="Work-Order">
所有工单
</view>
</view>
<view class="productList">
<productList/>
</view>
<uv-divider text="" textColor="#2979ff" lineColor="grey" textSize="1"></uv-divider>
<view class="Urgent-Work-Order">
<view class="Urgent-Work">
紧急工单
</view>
<WorkOrderitem
v-for="(item,index) in 2 "
/>
</view>
<!-- <selectArea ref="selectArea" @close="closeAreaPro" @select="selectArea"></selectArea> -->
<PrivacyAgreementPoup/>
<tabber select="0"/>
<PrivacyAgreementPoup/>
<tabber select="0"/>
</view>
</template>
@ -119,294 +66,130 @@
import Position from '@/utils/position.js'
import tabber from '@/components/base/tabbar.vue'
import productList from '@/components/user/productList.vue'
import { mapGetters } from 'vuex'
import WorkOrderitem from '@/components/work/WorkOrderitem.vue'
import {
mapGetters
} from 'vuex'
// import selectArea from '../../components/selectArea.vue';
export default {
components : {
components: {
tabber,
productList,
PrivacyAgreementPoup,
WorkOrderitem,
},
data() {
return {
list: [
'https://cdn.uviewui.com/uview/swiper/swiper1.png',
'https://cdn.uviewui.com/uview/swiper/swiper2.png',
'https://cdn.uviewui.com/uview/swiper/swiper3.png',
],
area: '长沙',
text : '长沙市刘师傅在服务过程中客户投诉“服务过程中有不文明的行为”.....',
text: '长沙市刘师傅在服务过程中客户投诉“服务过程中有不文明的行为”.....',
queryParams: {
pageNo: 1,
pageSize: 10,
title: ''
},
bannerList: [
{
bannerList: [{
url: 'https://cdn.uviewui.com/uview/swiper/swiper3.png',
},
},
{
url: 'https://cdn.uviewui.com/uview/swiper/swiper2.png',
},
},
{
url: 'https://cdn.uviewui.com/uview/swiper/swiper3.png',
},
],
productList: [],
}
},
computed : {
...mapGetters(['userShop']),
computed: {
},
methods: {
//
showSelectArea() {
// this.$refs.selectArea.open()
},
//
searchAddress() {
Position.getLocation(res => {
Position.selectAddress(res.longitude, res.latitude, success => {
let address = this.extractProvinceAndCity(success)
this.queryParams.title = address.city
})
})
},
//()
extractProvinceAndCity(res) { //()
if (!res.address && res.name) { //
return {
province: '',
city: res.name
};
}
if (res.address) { //
// 使
const regex = /(?<province>[\u4e00-\u9fa5]+?省)(?<city>[\u4e00-\u9fa5]+?(?:市|自治州|盟|地区))/;
const match = res.address.match(regex);
if (match) { //
return {
province: match.groups.province,
city: match.groups.city
};
}
}
return { //
province: '',
city: ''
}
},
}
}
</script>
<style scoped lang="scss">
.search {
height: 82rpx;
width: 710rpx;
background: #FFFFFF;
margin: 20rpx auto;
border-radius: 41rpx;
box-sizing: border-box;
padding: 0 15rpx;
display: flex;
align-items: center;
// justify-content: space-between;
.left-area,
.center-area {
.Carousel-image {
position: relative;
display: inline-block;
width: 100%;
.search {
height: 82rpx;
width: 710rpx;
background: #FFFFFF;
margin: 20rpx auto;
border-radius: 41rpx;
box-sizing: border-box;
padding: 0 15rpx;
display: flex;
align-items: center;
}
.left-area {
max-width: 160rpx;
image {
flex-shrink: 0;
width: 26rpx;
height: 26rpx;
}
.area {
font-size: 24rpx;
display: -webkit-box;
-webkit-line-clamp: 2;
/* 限制显示两行 */
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
color: #292929;
}
.parting-line {
flex-shrink: 0;
font-size: 26rpx;
color: #ccc;
margin: 0rpx 5rpx;
position: absolute;
top: 10px;
left: 10px;
//
.center-area {
display: flex;
flex-wrap: nowrap;
align-items: center;
width: calc(100% - 290rpx);
margin-left: 30rpx;
image {
width: 26rpx;
height: 26rpx;
}
}
}
.center-area {
}
.festival {
margin-top: 20rpx;
display: flex;
justify-content: space-between;
.indus {
display: flex;
flex-wrap: nowrap;
align-items: center;
width: calc(100% - 290rpx);
margin-left: 30rpx;
image {
width: 26rpx;
height: 26rpx;
.words {
margin: 0rpx 5rpx;
font-size: 27rpx;
opacity: 0.8;
}
.van-field {
background-color: transparent;
box-sizing: border-box;
height: 82rpx;
line-height: 82rpx;
width: calc(100% - 30rpx);
padding: 0rpx 10rpx 0rpx 0rpx;
input {
height: 82rpx;
font-size: 60rpx;
}
.horn {
margin: 5rpx 10rpx;
}
}
.right-area {
.search-button {
background: #60BDA2;
height: 60rpx;
width: 130rpx;
font-size: 26rpx;
border-radius: 35rpx;
color: white;
display: flex;
align-items: center;
justify-content: center;
}
.arrow {
padding: 8rpx;
}
}
.swipe{
overflow: hidden;
border-radius: 20rpx;
margin: 20rpx;
}
.page{
& /deep/ .uv-icon__icon{
font-size: 30rpx !important;
}
//
.userShop{
.list{
display: flex;
flex-wrap: wrap;
.item{
display: flex;
justify-content: center;
align-items: center;
width: 330rpx;
margin: 20rpx;
padding: 30rpx 0;
color: #FFFFFF;
line-height: 50rpx;
border-radius: 20rpx;
font-size: 28rpx;
.num{
font-size: 38rpx;
font-weight: 900;
}
image{
width: 110rpx;
height: 110rpx;
margin-left: 20rpx;
}
&:nth-child(1){
background: #F07A77;
}
&:nth-child(2){
background: #F48B4E;
}
&:nth-child(3){
background: #6487E1;
}
&:nth-child(4){
background: #61B7E6;
}
}
.task {
.backimg {
width: 100%;
height: 320rpx;
background-color: greenyellow;
.Work-Order {
margin: 20rpx;
}
}
//
.user{
padding: 20rpx;
.shop{
position: relative;
display: flex;
align-items: center;
justify-content: center;
background-color: #fff;
margin-top: 20rpx;
border-radius: 20rpx;
padding: 20rpx;
overflow: hidden;
.image{
width: 180rpx;
height: 180rpx;
margin-right: 20rpx;
border-radius: 20rpx;
}
.shopInfo{
font-size: 22rpx;
.title{
font-size: 30rpx;
}
.tags{
display: flex;
.tag{
padding: 4rpx 6rpx;
border: 1rpx solid #FFAC6E;
color: #FFAC6E;
margin-right: 10rpx;
margin-top: 10rpx;
font-size: 18rpx;
}
}
.time{
margin-top: 10rpx;
display: flex;
}
.address{
margin-top: 10rpx;
display: flex;
}
}
.btns{
margin-left: auto;
display: flex;
align-items: center;
justify-content: center;
.btn{
background-color: $uni-color;
color: #fff;
box-shadow: 0 0 5rpx 5rpx #FFAC6E;
padding: 10rpx 20rpx;
flex-shrink: 0;
border-radius: 35rpx;
}
}
.tips{
position: absolute;
top: 0;
right: 0;
font-size: 24rpx;
color: #FFAC6E;
background-color: #FEF5EE;
padding: 10rpx 20rpx;
border-radius: 10rpx;
}
}
}
.page {
& /deep/ .uv-icon__icon {
font-size: 30rpx !important;
}
}
</style>
</style>

Loading…
Cancel
Save