4.2维修预约
This commit is contained in:
77
api/serve/repair/repair.js
Normal file
77
api/serve/repair/repair.js
Normal file
@@ -0,0 +1,77 @@
|
||||
|
||||
import request from "@/utils/request.js";
|
||||
|
||||
/**
|
||||
* 获取门店列表
|
||||
*
|
||||
*/
|
||||
export function getStoreList(params) {
|
||||
return request.get('repair/merchant/search/list', params, {
|
||||
noAuth: true
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取热门城市 /api/front/hot/city/list/all
|
||||
*/
|
||||
export const getHotCityAPI = () => request.get('hot/city/list/all')
|
||||
|
||||
/**
|
||||
* 轮播图 /api/front/carousel/list
|
||||
*/
|
||||
export const getCarouselAPI = () => request.get('carousel/list')
|
||||
|
||||
/**
|
||||
* 获取当前时间 /api/front/date/get/time
|
||||
*/
|
||||
export const getTimeAPI = () => request.get('date/get/time')
|
||||
|
||||
/**
|
||||
* 预约时间模块 /api/front/date/list
|
||||
*/
|
||||
export const getDateListAPI = (params) => request.get('date/list',params,{noAuth: true})
|
||||
|
||||
/**
|
||||
* 获取我的汽车 /api/front/car/user/center/getMyCar
|
||||
*/
|
||||
export const getMyCarAPI = () => request.get('car/user/center/getMyCar',{noAuth: true})
|
||||
|
||||
/**
|
||||
* 预约工单创建 /api/front/car/user/center/reservation/order/create
|
||||
*/
|
||||
export const reservationCreateAPI = (data) => request.post('car/user/center/reservation/order/create',data)
|
||||
|
||||
/*
|
||||
* 实名详情更具id /api/front/certification/detail/now
|
||||
*/
|
||||
export const realNameDetaiNowlAPI = () => request.get(`certification/detail/now`)
|
||||
|
||||
/**
|
||||
* 绑定车辆 /api/front/car/user/center/bind
|
||||
*/
|
||||
export const userBindAPI=(data)=>request.post('car/user/center/bind', data);
|
||||
|
||||
/**
|
||||
* 用户实名添加 /api/front/certification/add
|
||||
*/
|
||||
export const certificationAPI=(data)=>request.post('certification/add', data);
|
||||
|
||||
/**
|
||||
* 车辆型号分页列表 /api/front/car/model/list
|
||||
*/
|
||||
export const modelListAPI = (params) => request.get('car/model/list', params,{noAuth: true})
|
||||
|
||||
/**
|
||||
* 用户信息 /api/front/user/info
|
||||
*/
|
||||
export const getMineInfoAPI = () => request.get('user/info')
|
||||
|
||||
/**
|
||||
* 用户完整信息 /api/front/user/user/info
|
||||
*/
|
||||
export const getAllMineInfoAPI = () => request.get('user/user/info')
|
||||
|
||||
/**
|
||||
* 更具车牌号查询车辆详情 /api/front/car/user/center/getInfo
|
||||
*/
|
||||
export const getCarInfoAPI=(params)=>request.get('car/user/center/getInfo', params,{noAuth: true})
|
||||
1472
data/address_a.js
Normal file
1472
data/address_a.js
Normal file
File diff suppressed because it is too large
Load Diff
@@ -110,4 +110,15 @@ export const tabsList7 = [{
|
||||
name: '已驳回',
|
||||
value: 5,
|
||||
type:'reject'
|
||||
}]
|
||||
|
||||
export const tabsList8 = [{
|
||||
name: '全部卡券',
|
||||
value: 1
|
||||
}, {
|
||||
name: '限时优惠',
|
||||
value: 2
|
||||
}, {
|
||||
name: '助力抢券',
|
||||
value: 3
|
||||
}]
|
||||
1122
js_sdk/qqmap-wx-jssdk/qqmap-wx-jssdk.js
Normal file
1122
js_sdk/qqmap-wx-jssdk/qqmap-wx-jssdk.js
Normal file
File diff suppressed because it is too large
Load Diff
1
js_sdk/qqmap-wx-jssdk/qqmap-wx-jssdk.min.js
vendored
Normal file
1
js_sdk/qqmap-wx-jssdk/qqmap-wx-jssdk.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
91
pages.json
91
pages.json
@@ -35,7 +35,8 @@
|
||||
"path": "pages/serve/index",
|
||||
"style": {
|
||||
// "navigationBarTitleText": "服务"
|
||||
"navigationStyle": "custom"
|
||||
"navigationStyle": "custom",
|
||||
"enablePullDownRefresh" : false
|
||||
}
|
||||
}, {
|
||||
"path": "pages/serve/message/message",
|
||||
@@ -47,92 +48,136 @@
|
||||
}, {
|
||||
"path": "pages/serve/message/m_system",
|
||||
"style": {
|
||||
"navigationBarTitleText": "系统消息"
|
||||
"navigationBarTitleText": "系统消息",
|
||||
"enablePullDownRefresh" : false
|
||||
}
|
||||
}, {
|
||||
"path": "pages/serve/message/m_sys_detail",
|
||||
"style": {
|
||||
"navigationBarTitleText": "系统消息系统消息系统消息"
|
||||
"navigationBarTitleText": "系统消息系统消息系统消息",
|
||||
"enablePullDownRefresh" : false
|
||||
}
|
||||
},{
|
||||
"path": "pages/serve/message/m_order_mess",
|
||||
"style": {
|
||||
"navigationBarTitleText": "订单消息"
|
||||
"navigationBarTitleText": "订单消息",
|
||||
"enablePullDownRefresh" : false
|
||||
}
|
||||
},{
|
||||
"path": "pages/serve/message/m_comment",
|
||||
"style": {
|
||||
// "navigationBarTitleText": "收到的评论",
|
||||
"navigationStyle": "custom"
|
||||
"navigationStyle": "custom",
|
||||
"enablePullDownRefresh" : false
|
||||
}
|
||||
},{
|
||||
"path": "pages/serve/message/m_getlike",
|
||||
"style": {
|
||||
"navigationBarTitleText": "赞"
|
||||
"navigationBarTitleText": "赞",
|
||||
"enablePullDownRefresh" : false
|
||||
}
|
||||
},{
|
||||
"path": "pages/serve/message/m_unknow",
|
||||
"style": {
|
||||
"navigationBarTitleText": "陌生人消息"
|
||||
"navigationBarTitleText": "陌生人消息",
|
||||
"enablePullDownRefresh" : false
|
||||
}
|
||||
},{
|
||||
"path": "pages/serve/message/m_dialog",
|
||||
"style": {
|
||||
"navigationBarTitleText": "BYD"
|
||||
"navigationBarTitleText": "BYD",
|
||||
"enablePullDownRefresh" : false
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
},{
|
||||
"path": "pages/serve/repair/repair",
|
||||
"style": {
|
||||
"navigationBarTitleText": "维修"
|
||||
"navigationBarTitleText": "维修",
|
||||
"enablePullDownRefresh" : false
|
||||
}
|
||||
}, {
|
||||
},{
|
||||
"path": "pages/serve/repair/re_create/select_store",
|
||||
"style": {
|
||||
"navigationBarTitleText": "常规保养",
|
||||
"enablePullDownRefresh" : false
|
||||
}
|
||||
},{
|
||||
"path": "pages/serve/repair/re_create/select_city",
|
||||
"style": {
|
||||
"navigationBarTitleText": "搜索城市",
|
||||
"enablePullDownRefresh" : false
|
||||
}
|
||||
},{
|
||||
"path": "pages/serve/repair/re_create/reservation",
|
||||
"style": {
|
||||
"navigationBarTitleText": "维修预约",
|
||||
"enablePullDownRefresh" : false
|
||||
}
|
||||
},{
|
||||
"path": "pages/serve/repair/re_create/select_time",
|
||||
"style": {
|
||||
"navigationBarTitleText": "预约时间",
|
||||
"enablePullDownRefresh" : false
|
||||
}
|
||||
},{
|
||||
"path": "pages/serve/repair/re_create/result",
|
||||
"style": {
|
||||
"navigationBarTitleText": "维修预约",
|
||||
"enablePullDownRefresh" : false
|
||||
}
|
||||
},{
|
||||
"path": "pages/serve/repair/realname",
|
||||
"style": {
|
||||
"navigationBarTitleText": "完善资料"
|
||||
"navigationBarTitleText": "完善资料",
|
||||
"enablePullDownRefresh" : false
|
||||
}
|
||||
}, {
|
||||
"path": "pages/serve/repair/real_result",
|
||||
"style": {
|
||||
"navigationBarTitleText": ""
|
||||
"navigationBarTitleText": "",
|
||||
"enablePullDownRefresh" : false
|
||||
}
|
||||
},{
|
||||
"path": "pages/serve/repair/re_binding",
|
||||
"style": {
|
||||
"navigationBarTitleText": "绑定车辆"
|
||||
"navigationBarTitleText": "绑定车辆",
|
||||
"enablePullDownRefresh" : false
|
||||
}
|
||||
},{
|
||||
"path": "pages/serve/repair/bind_result",
|
||||
"style": {
|
||||
"navigationBarTitleText": "绑定结果"
|
||||
"navigationBarTitleText": "绑定结果",
|
||||
"enablePullDownRefresh" : false
|
||||
}
|
||||
},{
|
||||
"path": "pages/serve/coupons/coupons",
|
||||
"style": {
|
||||
"navigationBarTitleText": "卡券"
|
||||
"navigationBarTitleText": "卡券",
|
||||
"enablePullDownRefresh" : false
|
||||
}
|
||||
},{
|
||||
"path": "pages/serve/coupons/cou_detail",
|
||||
"style": {
|
||||
// "navigationBarTitleText": "卡券详情"
|
||||
"navigationStyle": "custom"
|
||||
"navigationStyle": "custom",
|
||||
"enablePullDownRefresh" : false
|
||||
}
|
||||
},{
|
||||
"path": "pages/serve/coupons/cou_store",
|
||||
"style": {
|
||||
"navigationBarTitleText": "门店列表"
|
||||
"navigationBarTitleText": "门店列表",
|
||||
"enablePullDownRefresh" : false
|
||||
}
|
||||
},{
|
||||
"path": "pages/serve/coupons/cou_order",
|
||||
"style": {
|
||||
"navigationBarTitleText": "确认订单"
|
||||
"navigationBarTitleText": "确认订单",
|
||||
"enablePullDownRefresh" : false
|
||||
}
|
||||
},{
|
||||
"path": "pages/serve/coupons/payresult",
|
||||
"style": {
|
||||
"navigationBarTitleText": "支付结果"
|
||||
"navigationBarTitleText": "支付结果",
|
||||
"enablePullDownRefresh" : false
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
@@ -5,20 +5,21 @@
|
||||
<u-icon name="arrow-left" size="19"></u-icon>
|
||||
</view>
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<view class="administration" slot="right" @click="navClearBtn">
|
||||
<image class="clear_img" src="@/static/images/app/serve/coupons_xingxing.png" mode=""></image>
|
||||
<image class="clear_img" src="@/static/images/app/serve/coupons_fenxiang.png" mode=""></image>
|
||||
<view class="administration" slot="right">
|
||||
<image @click="collectBtn" class="clear_img" :src="`${config.aliyunOssUrl}/static/images/app/serve/coupons_xingxing.png`" mode=""></image>
|
||||
<image @click="shareBtn" class="clear_img" :src="`${config.aliyunOssUrl}/static/images/app/serve/coupons_fenxiang.png`" mode=""></image>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<view class="" slot="right">
|
||||
<image class="clear_img" src="@/static/images/app/serve/m_clear.png" mode=""></image>
|
||||
<image @click="collectBtn" class="clear_img" src="@/static/images/app/serve/coupons_xingxing.png" mode=""></image>
|
||||
<image @click="shareBtn" class="clear_img" src="@/static/images/app/serve/coupons_fenxiang.png" mode=""></image>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
</u-navbar>
|
||||
<!-- 主图 -->
|
||||
<view class="de_img">
|
||||
<image src="@/static/images/app/serve/serve_kaquan.png" mode=""></image>
|
||||
<image src="@/static/images/app/serve/repair_refund.png" mode=""></image>
|
||||
</view>
|
||||
<!-- 秒杀 -->
|
||||
<!-- 选择性展示 -->
|
||||
@@ -70,7 +71,7 @@
|
||||
<view class="tit_down"> 福利大礼包限时抢购8种券大放送福利大礼包限时抢购8种券大放送福利大礼包限时抢购8种券大放送福利大礼包限时抢购8种券大放送 </view>
|
||||
</view>
|
||||
<!-- 规格 -->
|
||||
<view class="de_specs">
|
||||
<view class="de_specs" @click="openSpecs">
|
||||
<view class="specs_l"> 规格 </view>
|
||||
<view class="specs_r"> 请选择 <u-icon name="arrow-right" color="#999999" size="14"></u-icon> </view>
|
||||
</view>
|
||||
@@ -81,7 +82,7 @@
|
||||
<view class="up_r"> 更多门店 <u-icon name="arrow-right" color="#999999" size="14"></u-icon> </view>
|
||||
</view>
|
||||
<view class="store_down">
|
||||
<image class="down_l" src="@/static/images/app/serve/coupons_img.png" mode=""></image>
|
||||
<image class="down_l" src="@/static/images/app/serve/repair_refund.png" mode=""></image>
|
||||
<view class="down_r">
|
||||
<view class="r_up"> 星桔EV(祥园路店) </view>
|
||||
<view class="r_down"> 2.5km | 杭州市余杭区莫干山路1665号 </view>
|
||||
@@ -97,7 +98,7 @@
|
||||
<view class="eva_xian"></view>
|
||||
<view class="eva_info">
|
||||
<view class="info_l">
|
||||
<image class="info_l_img" src="@/static/images/app/serve/coupons_name.png" mode=""></image>
|
||||
<image class="info_l_img" src="@/static/images/app/serve/repair_refund.png" mode=""></image>
|
||||
<view class="info_l_con">
|
||||
<view class="con_name"> 客户 </view>
|
||||
<view class="con_star">
|
||||
@@ -113,10 +114,10 @@
|
||||
工作人员服务态度很好,维修的很仔细,休息室很干净,维修的很仔细。
|
||||
</view>
|
||||
<view class="content_img">
|
||||
<image src="@/static/images/app/serve/coupons_img1.png" mode=""></image>
|
||||
<image src="@/static/images/app/serve/coupons_img1.png" mode=""></image>
|
||||
<image src="@/static/images/app/serve/coupons_img1.png" mode=""></image>
|
||||
<image src="@/static/images/app/serve/coupons_img1.png" mode=""></image>
|
||||
<image src="@/static/images/app/serve/repair_refund.png" mode=""></image>
|
||||
<image src="@/static/images/app/serve/repair_refund.png" mode=""></image>
|
||||
<image src="@/static/images/app/serve/repair_refund.png" mode=""></image>
|
||||
<image src="@/static/images/app/serve/repair_refund.png" mode=""></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -133,18 +134,44 @@
|
||||
</view>
|
||||
<!-- 富文本展示??? -->
|
||||
<view class="eva_eva">
|
||||
<image src="@/static/images/app/serve/coupons_name.png" mode=""></image>
|
||||
<image src="@/static/images/app/serve/repair_refund.png" mode=""></image>
|
||||
</view>
|
||||
<!-- 选择行展示 -->
|
||||
<!-- <view class="eva_btn" @click="buyBtn"> 立即购买 </view> -->
|
||||
<view class="eva_btn" @click="buyBtn"> 立即抢购 </view>
|
||||
|
||||
<!-- 选择规格 -->
|
||||
<u-popup :show="showSpecs" mode="bottom" @close="closeSpecs" :closeable='true' :closeOnClickOverlay='false'>
|
||||
<view class="specs_view">
|
||||
<view class="specs_up">
|
||||
<image src="@/static/images/app/serve/repair_refund.png" mode=""></image>
|
||||
<view class="up_r">
|
||||
<view class="up_r_up"> 福利大礼包限时抢购8种券 </view>
|
||||
<view class="up_r_down">
|
||||
<text class="down_txt_up"> ¥ </text>
|
||||
<text class="down_txt_cen"> 49.99 </text>
|
||||
<text class="down_txt_down"> 库存:8 </text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="specs_down">
|
||||
<view class="down_num"> 数量 </view>
|
||||
<u-number-box :min="1" :max="999999" v-model="specsValue" @change="specsChange"></u-number-box>
|
||||
</view>
|
||||
<view class="specs_btn">选择</view>
|
||||
</view>
|
||||
</u-popup>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import config from '@/config';
|
||||
export default {
|
||||
data(){
|
||||
return {
|
||||
config,
|
||||
showSpecs:false,
|
||||
specsValue:1,
|
||||
timeData: {},
|
||||
value: 4
|
||||
}
|
||||
@@ -166,13 +193,98 @@
|
||||
this.timeData = e
|
||||
},
|
||||
goBack(){
|
||||
uni.navigateBack()
|
||||
uni.navigateBack({
|
||||
url:`/pages/serve/coupons/coupons`
|
||||
})
|
||||
},
|
||||
// 收藏
|
||||
collectBtn(){
|
||||
console.log('收藏');
|
||||
},
|
||||
// 分享
|
||||
shareBtn(){
|
||||
console.log('分享');
|
||||
},
|
||||
// 规格弹层
|
||||
openSpecs(){
|
||||
this.showSpecs=true
|
||||
},
|
||||
specsChange(e){
|
||||
console.log(e,'数量');
|
||||
},
|
||||
closeSpecs(){
|
||||
this.showSpecs=false
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.specs_view {
|
||||
// border: 1px solid red;
|
||||
padding: 32rpx;
|
||||
.specs_up {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
image {
|
||||
width: 112rpx;
|
||||
height: 112rpx;
|
||||
}
|
||||
.up_r {
|
||||
margin-left: 24rpx;
|
||||
.up_r_up {
|
||||
font-size: 36rpx;
|
||||
font-weight: 400;
|
||||
color: #111111;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
// white-space: nowrap;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 2;
|
||||
}
|
||||
.up_r_down {
|
||||
margin-top: 16rpx;
|
||||
.down_txt_up {
|
||||
font-size: 32rpx;
|
||||
font-family: Roboto, Roboto;
|
||||
font-weight: 500;
|
||||
color: #F20808;
|
||||
}
|
||||
.down_txt_cen {
|
||||
font-size: 46rpx;
|
||||
font-family: Roboto, Roboto;
|
||||
font-weight: 500;
|
||||
color: #F20808;
|
||||
}
|
||||
.down_txt_down {
|
||||
font-size: 24rpx;
|
||||
font-weight: 400;
|
||||
color: #999999;
|
||||
margin-left: 16rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.specs_down {
|
||||
margin-top: 32rpx;
|
||||
.down_num {
|
||||
font-size: 32rpx;
|
||||
font-weight: 400;
|
||||
color: #999999;
|
||||
margin-bottom: 24rpx;
|
||||
}
|
||||
}
|
||||
.specs_btn {
|
||||
padding: 26rpx 0;
|
||||
background: #13AFA8;
|
||||
border-radius: 40rpx 40rpx 40rpx 40rpx;
|
||||
opacity: 1;
|
||||
text-align: center;
|
||||
color: #FFFFFF;
|
||||
margin-top: 32rpx;
|
||||
}
|
||||
}
|
||||
.administration {
|
||||
margin-right: 180rpx;
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<view class="or_upall">
|
||||
<view class="or_info">
|
||||
<view class="info_l">
|
||||
<image class="l_img" src="@/static/images/app/serve/serve_kaquan.png" mode=""></image>
|
||||
<image class="l_img" src="@/static/images/app/serve/repair_refund.png" mode=""></image>
|
||||
<view class="l_txt">
|
||||
<view class="txt_up"> 买车优惠券 </view>
|
||||
<view class="txt_con">
|
||||
@@ -29,7 +29,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<!-- 选择性展示 -->
|
||||
<view class="or_coupon">
|
||||
<view class="or_coupon" @click="useCouponsBtn">
|
||||
<view class="coupon_l"> 使用优惠券 </view>
|
||||
<view class="coupon_r">
|
||||
<view class="r_bgc"> 2张可用 </view>
|
||||
@@ -48,67 +48,66 @@
|
||||
<view class="top-up-popup-allprice"> 合计:¥49.99 </view>
|
||||
<view class="top-up-popup-title">选择支付方式</view>
|
||||
<view>
|
||||
<view class="top-up-popup-type f-jcsb f-a-i">
|
||||
<view class="top-up-popup-type f-jcsb f-a-i" @click="actTypeFn('ye')">
|
||||
<view class="f-a-i">
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<!-- <image :src="`${config.aliyunOssUrl}/static/images/app/mine/ye.png`" mode=""></image> -->
|
||||
<image src="@/static/images/app/serve/ye.png" mode=""></image>
|
||||
<image :src="`${config.aliyunOssUrl}/static/images/app/serve/ye.png`" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<image src="@/static/images/app/serve/ye.png" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<view class="top-up-popup-type-wx">余额支付</view>
|
||||
</view>
|
||||
<view class="f-a-i" @click="actTypeFn('ye')">
|
||||
<view class="f-a-i">
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<image v-if="topUpType=='ye'" :src="`${config.aliyunOssUrl}/static/images/app/mine/act.png`" mode=""></image>
|
||||
<image v-else :src="`${config.aliyunOssUrl}/static/images/app/mine/act_no.png`" mode=""></image>
|
||||
<image v-if="topUpType=='ye'" :src="`${config.aliyunOssUrl}/static/images/app/serve/act.png`" mode=""></image>
|
||||
<image v-else :src="`${config.aliyunOssUrl}/static/images/app/serve/act_no.png`" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<image v-if="topUpType=='ye'" src="@/static/images/app/mine/act.png" mode=""></image>
|
||||
<image v-else src="@/static/images/app/mine/act_no.png" mode=""></image>
|
||||
<image v-if="topUpType=='ye'" src="@/static/images/app/serve/act.png" mode=""></image>
|
||||
<image v-else src="@/static/images/app/serve/act_no.png" mode=""></image>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
</view>
|
||||
<view class="top-up-popup-type f-jcsb f-a-i">
|
||||
<view class="top-up-popup-type f-jcsb f-a-i" @click="actTypeFn('wx')">
|
||||
<view class="f-a-i">
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<image :src="`${config.aliyunOssUrl}/static/images/app/mine/wx.png`" mode=""></image>
|
||||
<image :src="`${config.aliyunOssUrl}/static/images/app/serve/wx.png`" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<image src="@/static/images/app/mine/wx.png" mode=""></image>
|
||||
<image src="@/static/images/app/serve/wx.png" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<view class="top-up-popup-type-wx">微信支付</view>
|
||||
</view>
|
||||
<view class="f-a-i" @click="actTypeFn('wx')">
|
||||
<view class="f-a-i">
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<image v-if="topUpType=='wx'" :src="`${config.aliyunOssUrl}/static/images/app/mine/act.png`" mode=""></image>
|
||||
<image v-else :src="`${config.aliyunOssUrl}/static/images/app/mine/act_no.png`" mode=""></image>
|
||||
<image v-if="topUpType=='wx'" :src="`${config.aliyunOssUrl}/static/images/app/serve/act.png`" mode=""></image>
|
||||
<image v-else :src="`${config.aliyunOssUrl}/static/images/app/serve/act_no.png`" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<image v-if="topUpType=='wx'" src="@/static/images/app/mine/act.png" mode=""></image>
|
||||
<image v-else src="@/static/images/app/mine/act_no.png" mode=""></image>
|
||||
<image v-if="topUpType=='wx'" src="@/static/images/app/serve/act.png" mode=""></image>
|
||||
<image v-else src="@/static/images/app/serve/act_no.png" mode=""></image>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
</view>
|
||||
<view class="top-up-popup-type f-jcsb f-a-i">
|
||||
<view class="top-up-popup-type f-jcsb f-a-i" @click="actTypeFn('zfb')">
|
||||
<view class="f-a-i">
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<image :src="`${config.aliyunOssUrl}/static/images/app/mine/zfb.png`" mode=""></image>
|
||||
<image :src="`${config.aliyunOssUrl}/static/images/app/serve/zfb.png`" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<image src="@/static/images/app/mine/zfb.png" mode=""></image>
|
||||
<image src="@/static/images/app/serve/zfb.png" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<view class="top-up-popup-type-zfb">支付宝</view>
|
||||
</view>
|
||||
<view class="f-a-i" @click="actTypeFn('zfb')">
|
||||
<view class="f-a-i">
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<image v-if="topUpType=='zfb'" :src="`${config.aliyunOssUrl}/static/images/app/mine/act.png`" mode=""></image>
|
||||
<image v-else :src="`${config.aliyunOssUrl}/static/images/app/mine/act_no.png`" mode=""></image>
|
||||
<image v-if="topUpType=='zfb'" :src="`${config.aliyunOssUrl}/static/images/app/serve/act.png`" mode=""></image>
|
||||
<image v-else :src="`${config.aliyunOssUrl}/static/images/app/serve/act_no.png`" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<image v-if="topUpType=='zfb'" src="@/static/images/app/mine/act.png" mode=""></image>
|
||||
<image v-else src="@/static/images/app/mine/act_no.png" mode=""></image>
|
||||
<image v-if="topUpType=='zfb'" src="@/static/images/app/serve/act.png" mode=""></image>
|
||||
<image v-else src="@/static/images/app/serve/act_no.png" mode=""></image>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
</view>
|
||||
@@ -140,12 +139,11 @@
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
payPopupBtn(){
|
||||
this.topUpTypeShow = false
|
||||
uni.navigateTo({
|
||||
url:`/pages/serve/coupons/payresult`
|
||||
})
|
||||
// 使用优惠券
|
||||
useCouponsBtn(){
|
||||
console.log('使用优惠券');
|
||||
},
|
||||
// 去结算
|
||||
payBtn(){
|
||||
this.topUpTypeShow=true
|
||||
},
|
||||
@@ -153,6 +151,12 @@
|
||||
this.topUpTypeShow = false
|
||||
console.log('topUpTypeClose');
|
||||
},
|
||||
payPopupBtn(){
|
||||
this.topUpTypeShow = false
|
||||
uni.navigateTo({
|
||||
url:`/pages/serve/coupons/payresult`
|
||||
})
|
||||
},
|
||||
//充值类型
|
||||
actTypeFn(type) {
|
||||
this.topUpType = type
|
||||
|
||||
@@ -24,10 +24,20 @@
|
||||
</view>
|
||||
<view class="down_r">
|
||||
<view class="down_r_icon" @click.stop="callPhone(JSON.stringify(item.phone))">
|
||||
<image src="@/static/images/app/serve/cou_store_phone.png" mode=""></image>
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<image :src="`${config.aliyunOssUrl}/static/images/app/serve/cou_store_phone.png`" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<image src="@/static/images/app/serve/cou_store_phone.png" mode=""></image>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
<view class="down_r_icon">
|
||||
<image src="@/static/images/app/serve/cou_store_up.png" mode=""></image>
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<image :src="`${config.aliyunOssUrl}/static/images/app/serve/cou_store_up.png`" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<image src="@/static/images/app/serve/cou_store_up.png" mode=""></image>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -39,9 +49,11 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import config from '@/config';
|
||||
export default {
|
||||
data(){
|
||||
return {
|
||||
config,
|
||||
dataList:[
|
||||
{id:1,phone:18339106332,backImage:'https://cdn.uviewui.com/uview/album/1.jpg',name:'星桔EV(祥园路店)',distance:'2.5',addressDetail:'杭州市余杭区莫干山路1664号',starLevel:4.8},
|
||||
{id:2,phone:18339106332,backImage:'https://cdn.uviewui.com/uview/album/1.jpg',name:'星桔EV(5路店)',distance:'3.5',addressDetail:'杭州市余杭区莫干山路1665号',starLevel:4},
|
||||
@@ -60,13 +72,9 @@ export default {
|
||||
display: flex;
|
||||
padding: 32rpx 24rpx;
|
||||
margin-bottom: 32rpx;
|
||||
width: 702rpx;
|
||||
background-color: #fff;
|
||||
|
||||
.footleft {
|
||||
width: 168rpx;
|
||||
height: 140rpx;
|
||||
|
||||
.footleft_img {
|
||||
width: 168rpx;
|
||||
height: 140rpx;
|
||||
|
||||
@@ -6,57 +6,43 @@
|
||||
<view class="l_txt">杭州</view>
|
||||
<u-icon name="arrow-down-fill" color="#444444 " size="12"></u-icon>
|
||||
</view>
|
||||
<u-search placeholder="搜索" v-model="keyword" height="32" searchIconSize='24' :showAction='false' placeholderColor='#AAAAAA' searchIconColor='#999999'></u-search>
|
||||
<u-search placeholder="搜索" v-model="keyword" height="32" searchIconSize='24' :showAction='false'
|
||||
placeholderColor='#AAAAAA' searchIconColor='#999999'></u-search>
|
||||
</view>
|
||||
<!-- Tabs 标签 -->
|
||||
<view class="tabs_view">
|
||||
<u-tabs :list="tabsList" @click="clickTabs" :scrollable='false' lineWidth="40" lineColor="#111111"
|
||||
<u-tabs :list="tabsList8" @click="clickTabs" :current='current' :scrollable='false' lineWidth="40" lineColor="#111111"
|
||||
:activeStyle="{color: '#111111',fontWeight: 'bold',transform: 'scale(1.05)'}"
|
||||
:inactiveStyle="{color: '#666666',transform: 'scale(1)'}"></u-tabs>
|
||||
</view>
|
||||
<!-- 内容 -->
|
||||
<view class="coupons_con">
|
||||
<view class="con_view" v-for="(item,index) in 9 " :key="index" @click="toDetailPages">
|
||||
<image class="view_img" src="@/static/images/app/serve/serve_kaquan.png" mode=""></image>
|
||||
<image class="view_img" src="@/static/images/app/serve/repair_refund.png" mode=""></image>
|
||||
<view class="view_txt"> 标题最多显示两行卡券名称 2瓶*1L中负荷车辆齿轮油齿轮油 </view>
|
||||
<view class="view_price">¥198.00</view>
|
||||
</view>
|
||||
<!-- <view class="con_view">
|
||||
<image class="view_img" src="@/static/images/app/serve/serve_kaquan.png" mode=""></image>
|
||||
<view class="view_txt"> 商品名称最多两行 </view>
|
||||
<view class="view_price">¥298.00 </view>
|
||||
</view>
|
||||
<view class="con_view">
|
||||
<image class="view_img" src="@/static/images/app/serve/serve_kaquan.png" mode=""></image>
|
||||
<view class="view_txt"> 商品标题最多显示两行商品标题最多显示两行最多显示两行 </view>
|
||||
<view class="view_price">¥298.00 </view>
|
||||
</view>
|
||||
<view class="con_view">
|
||||
<image class="view_img" src="@/static/images/app/serve/serve_kaquan.png" mode=""></image>
|
||||
<view class="view_txt"> 商品名称最多两行 </view>
|
||||
<view class="view_price">¥298.00 </view>
|
||||
</view>
|
||||
<view class="con_view">
|
||||
<image class="view_img" src="@/static/images/app/serve/serve_kaquan.png" mode=""></image>
|
||||
<view class="view_txt"> 商品名称最多两行 </view>
|
||||
<view class="view_price">¥298.00 </view>
|
||||
</view> -->
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { tabsList8 } from "@/data/tabsData.js"
|
||||
export default {
|
||||
data(){
|
||||
return {
|
||||
tabsList:[
|
||||
{ name: '全部卡券'},
|
||||
{ name: '限时优惠'},
|
||||
{ name: '助力抢券'},
|
||||
]
|
||||
tabsList8,
|
||||
num:null,
|
||||
current:0,
|
||||
}
|
||||
},
|
||||
onLoad(query) {
|
||||
console.log(query,'query---来自服务首页');
|
||||
this.current=query.num
|
||||
|
||||
},
|
||||
methods:{
|
||||
// 详情页
|
||||
toDetailPages(){
|
||||
uni.navigateTo({
|
||||
url:`/pages/serve/coupons/cou_detail`
|
||||
@@ -65,6 +51,7 @@
|
||||
// tabs 点击
|
||||
clickTabs(item){
|
||||
console.log(item,'tabs点击');
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,12 @@
|
||||
<template>
|
||||
<view class="unbindresult">
|
||||
<view class="re_up">
|
||||
<image class="re_img" src="@/static/images/app/serve/cou_payresult.png" mode=""></image>
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<image class="re_img" :src="`${config.aliyunOssUrl}/static/images/app/serve/cou_payresult.png`" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<image class="re_img" src="@/static/images/app/serve/cou_payresult.png" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<view class="re_txt"> 您的订单已经支付成功,去我的卡包核销 </view>
|
||||
</view>
|
||||
<view class="re_inspect" @click="toMyCardBagPage"> 我的卡包 </view>
|
||||
@@ -10,10 +15,11 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import config from '@/config';
|
||||
export default{
|
||||
data(){
|
||||
return{
|
||||
|
||||
config,
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
|
||||
@@ -5,21 +5,23 @@
|
||||
<view class="posi_l">
|
||||
<u-icon name="map" size="19"></u-icon>
|
||||
<view class="l_txt">杭州</view>
|
||||
<u-icon name="arrow-right" size="19"></u-icon>
|
||||
<u-icon name="arrow-right" size="12"></u-icon>
|
||||
</view>
|
||||
</view>
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<view class="administration" slot="right" @click="toMessagePages">
|
||||
<view class="posi_r">
|
||||
<image class="r_img" src="@/static/images/app/serve/serve_message.png" mode=""></image>
|
||||
<image class="r_img" :src="`${config.aliyunOssUrl}/static/images/app/serve/serve_message.png`" mode=""></image>
|
||||
<view class="r_num"> 3 </view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<view class="" slot="right">
|
||||
<image class="r_img" src="@/static/images/app/serve/serve_message.png" mode=""></image>
|
||||
<view class="r_num"> 3 </view>
|
||||
<view class="" slot="right" @click="toMessagePages">
|
||||
<view class="posi_r">
|
||||
<image class="r_img" src="@/static/images/app/serve/serve_message.png" mode=""></image>
|
||||
<view class="r_num"> 3 </view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
</u-navbar>
|
||||
@@ -37,30 +39,53 @@
|
||||
</view> -->
|
||||
<!-- 搜索 -->
|
||||
<view class="search">
|
||||
<u-search placeholder="搜索" height="32" searchIconSize='24' :showAction='false' placeholderColor='#AAAAAA' searchIconColor='#13AFA8' v-model="keyword"></u-search>
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<u-search placeholder="搜索" height="32" :showAction='false' :searchIcon="`${config.aliyunOssUrl}/static/images/app/serve/serve_search.png`"
|
||||
placeholderColor='#AAAAAA' :disabled='true' searchIconSize='16'></u-search>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<u-search placeholder="搜索" height="32" :showAction='false' searchIcon='@/static/images/app/serve/serve_search.png'
|
||||
placeholderColor='#AAAAAA' :disabled='true' searchIconSize='16'></u-search>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
<!-- 大图 -->
|
||||
<!-- 大图 轮播 -->
|
||||
<view class="displaydrawing">
|
||||
<image class="dis_img" src="@/static/images/app/serve/serve_drawing.png" mode=""></image>
|
||||
<u-swiper height="574rpx" keyName="image" :list="branner" indicator></u-swiper>
|
||||
</view>
|
||||
<!-- 三个 -->
|
||||
<view class="threeview">
|
||||
<view class="th_one" @click="toRepairPages">
|
||||
<image class="one_img" src="@/static/images/app/serve/serve_weixiu.png" mode=""></image>
|
||||
<view class="one_txt"> 维修 </view>
|
||||
</view>
|
||||
<view class="th_one" @click="toCouponsPages">
|
||||
<image class="one_img" src="@/static/images/app/serve/serve_coupons.png" mode=""></image>
|
||||
<view class="one_txt"> 卡券 </view>
|
||||
</view>
|
||||
<view class="th_one">
|
||||
<image class="one_img" src="@/static/images/app/serve/serve_study.png" mode=""></image>
|
||||
<view class="one_txt"> 学习 </view>
|
||||
</view>
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<view class="th_one" @click="toRepairPages">
|
||||
<image class="one_img" :src="`${config.aliyunOssUrl}/static/images/app/serve/serve_weixiu.png`" mode=""></image>
|
||||
<view class="one_txt"> 维修 </view>
|
||||
</view>
|
||||
<view class="th_one" @click="toCouponsPages(0)">
|
||||
<image class="one_img" :src="`${config.aliyunOssUrl}/static/images/app/serve/serve_coupons.png`" mode=""></image>
|
||||
<view class="one_txt"> 卡券 </view>
|
||||
</view>
|
||||
<view class="th_one">
|
||||
<image class="one_img" :src="`${config.aliyunOssUrl}/static/images/app/serve/serve_study.png`" mode=""></image>
|
||||
<view class="one_txt"> 学习 </view>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<view class="th_one" @click="toRepairPages">
|
||||
<image class="one_img" src="@/static/images/app/serve/serve_weixiu.png" mode=""></image>
|
||||
<view class="one_txt"> 维修 </view>
|
||||
</view>
|
||||
<view class="th_one" @click="toCouponsPages(0)">
|
||||
<image class="one_img" src="@/static/images/app/serve/serve_coupons.png" mode=""></image>
|
||||
<view class="one_txt"> 卡券 </view>
|
||||
</view>
|
||||
<view class="th_one">
|
||||
<image class="one_img" src="@/static/images/app/serve/serve_study.png" mode=""></image>
|
||||
<view class="one_txt"> 学习 </view>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
<!-- 助力活动 -->
|
||||
<view class="activity">
|
||||
<view class="ac_up">
|
||||
<view class="ac_up" @click="toCouponsPages(2)">
|
||||
<view class="up_l">助力活动</view>
|
||||
<view class="up_r">
|
||||
<view class="up_r_txt">查看更多</view>
|
||||
@@ -74,7 +99,7 @@
|
||||
</view>
|
||||
<!-- 限时秒杀 -->
|
||||
<view class="activity">
|
||||
<view class="ac_up">
|
||||
<view class="ac_up" @click="toCouponsPages(1)">
|
||||
<view class="up_l">限时秒杀</view>
|
||||
<view class="up_r">
|
||||
<view class="up_r_txt">查看更多</view>
|
||||
@@ -114,27 +139,43 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { callWithAsyncErrorHandling } from "vue";
|
||||
import { brannerList } from '@/api/system/config';
|
||||
import config from '@/config';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
price:198
|
||||
price:198,
|
||||
config,
|
||||
branner: [], // 轮播图列表
|
||||
};
|
||||
},
|
||||
onShow() {
|
||||
this.getBranner()
|
||||
},
|
||||
methods:{
|
||||
// 获取轮播图
|
||||
getBranner() {
|
||||
brannerList({type: 4}).then(res => {
|
||||
console.log('轮播图', res.data.list);
|
||||
this.branner = res.data.list
|
||||
})
|
||||
},
|
||||
selectCityBtn(){
|
||||
console.log('选择城市');
|
||||
},
|
||||
toCouponsPages(){
|
||||
// 卡券
|
||||
toCouponsPages(num){
|
||||
uni.navigateTo({
|
||||
url:`/pages/serve/coupons/coupons`
|
||||
url:`/pages/serve/coupons/coupons?num=${num}`
|
||||
})
|
||||
},
|
||||
// 维修
|
||||
toRepairPages(){
|
||||
uni.navigateTo({
|
||||
url:`/pages/serve/repair/repair`
|
||||
})
|
||||
},
|
||||
// 消息
|
||||
toMessagePages(){
|
||||
uni.navigateTo({
|
||||
url:`/pages/serve/message/message`
|
||||
@@ -150,24 +191,16 @@ import { callWithAsyncErrorHandling } from "vue";
|
||||
}
|
||||
|
||||
.posi_l{
|
||||
// border: 1px solid red;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
// justify-content: space-between;
|
||||
align-items: center;
|
||||
.l_imgtop{
|
||||
width: 24rpx;
|
||||
height: 28rpx;
|
||||
}
|
||||
.l_txt{
|
||||
font-size: 28rpx;
|
||||
|
||||
font-weight: 500;
|
||||
color: #111111;
|
||||
margin: 0 10rpx;
|
||||
}
|
||||
.l_imgfoot{
|
||||
width: 10rpx;
|
||||
height: 20rpx;
|
||||
}
|
||||
}
|
||||
.posi_r{
|
||||
position: relative;
|
||||
|
||||
@@ -7,7 +7,12 @@
|
||||
</view>
|
||||
<view class="u-nav-slot nav_center" slot="center" @click="openCenter">
|
||||
<text class="nav-txt"> {{navTitle}} </text>
|
||||
<image class="nav_down_img" src="@/static/images/app/serve/com_down.png" mode=""></image>
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<image class="nav_down_img" :src="`${config.aliyunOssUrl}/static/images/app/serve/com_down.png`" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<image class="nav_down_img" src="@/static/images/app/serve/com_down.png" mode=""></image>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
</u-navbar>
|
||||
</view>
|
||||
@@ -17,19 +22,29 @@
|
||||
<view class="nav_select" :style="{top:(statusBarHeight+44)+'px'}">
|
||||
<view class="select_up" @click="selectClick">
|
||||
<text :class=" clickShow? 'select_txt' :'select_up_txt'"> 收到的评论 </text>
|
||||
<image v-show="clickShow" class="nav_select_img" src="@/static/images/app/serve/com_select.png" mode=""></image>
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<image v-show="clickShow" class="nav_select_img" :src="`${config.aliyunOssUrl}/static/images/app/serve/com_select.png`" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<image v-show="clickShow" class="nav_select_img" src="@/static/images/app/serve/com_select.png" mode=""></image>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
<view class="nav_xian"></view>
|
||||
<view class="select_up" @click="selectClickDown">
|
||||
<text :class=" clickShowDown? 'select_txt' :'select_up_txt'"> 发出的评论 </text>
|
||||
<image v-show="clickShowDown" class="nav_select_img" src="@/static/images/app/serve/com_select.png" mode=""></image>
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<image v-show="clickShowDown" class="nav_select_img" :src="`${config.aliyunOssUrl}/static/images/app/serve/com_select.png`" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<image v-show="clickShowDown" class="nav_select_img" src="@/static/images/app/serve/com_select.png" mode=""></image>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
</view>
|
||||
</u-popup>
|
||||
<view class="comment_list">
|
||||
<view class="getlist">
|
||||
<view class="list_l">
|
||||
<image class="list_img" src="@/static/images/app/serve/coupons_img1.png" mode=""></image>
|
||||
<image class="list_img" src="@/static/images/app/serve/repair_refund.png" mode=""></image>
|
||||
<u-badge :isDot="true" type="error" :absolute='true' :offset='[2,0]'></u-badge>
|
||||
</view>
|
||||
<view class="list_r">
|
||||
@@ -48,7 +63,7 @@
|
||||
</view>
|
||||
<view class="getlist" v-for="(item,index) in 10" :key="index">
|
||||
<view class="list_l">
|
||||
<image class="list_img" src="@/static/images/app/serve/coupons_img1.png" mode=""></image>
|
||||
<image class="list_img" src="@/static/images/app/serve/repair_refund.png" mode=""></image>
|
||||
</view>
|
||||
<view class="list_r">
|
||||
<view class="list_r_up">
|
||||
@@ -70,9 +85,11 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import config from '@/config';
|
||||
export default {
|
||||
data(){
|
||||
return {
|
||||
config,
|
||||
navTitle:'收到的评论',
|
||||
show:false, // 弹出层
|
||||
clickShow:true,
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<view class="m_getlike">
|
||||
<view class="getlike" v-for="(item,index) in 3" :key="index">
|
||||
<view class="like_l">
|
||||
<image class="like_img" src="@/static/images/app/serve/coupons_img1.png" mode=""></image>
|
||||
<image class="like_img" src="@/static/images/app/serve/repair_refund.png" mode=""></image>
|
||||
<u-badge :isDot="true" type="error" :absolute='true' :offset='[2,0]'></u-badge>
|
||||
</view>
|
||||
<view class="like_r">
|
||||
@@ -21,7 +21,7 @@
|
||||
</view>
|
||||
<view class="getlike">
|
||||
<view class="like_l">
|
||||
<image class="like_img" src="@/static/images/app/serve/coupons_img1.png" mode=""></image>
|
||||
<image class="like_img" src="@/static/images/app/serve/repair_refund.png" mode=""></image>
|
||||
</view>
|
||||
<view class="like_r">
|
||||
<view class="like_r_up">
|
||||
@@ -41,6 +41,16 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data(){
|
||||
return {
|
||||
|
||||
}
|
||||
},
|
||||
methods :{
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="m_sys_img">
|
||||
<image src="@/static/images/app/serve/m_sys_con.png" mode=""></image>
|
||||
<image src="@/static/images/app/serve/repair_refund.png" mode=""></image>
|
||||
</view>
|
||||
<view>
|
||||
<view class="h2title"> 1.2 二级标题内容 </view>
|
||||
@@ -40,7 +40,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="m_sys_img">
|
||||
<image src="@/static/images/app/serve/m_sys_con.png" mode=""></image>
|
||||
<image src="@/static/images/app/serve/repair_refund.png" mode=""></image>
|
||||
</view>
|
||||
<view>
|
||||
<view class="h2title"> 2.2 二级标题内容 </view>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<view class="m_content" hover-class="hover_content" @click="toSysDetailPages">
|
||||
<view class="con_up"> 恭喜获得#带着宠物去旅行 #红包!现金实物超多惊喜,速拆! </view>
|
||||
<view class="con_img">
|
||||
<image src="@/static/images/app/serve/m_sys_con.png" mode=""></image>
|
||||
<image src="@/static/images/app/serve/repair_refund.png" mode=""></image>
|
||||
</view>
|
||||
<view class="con_txt">
|
||||
怪物树种精灵秘宝(绽放的玫瑰,交女巫巨人到110)怪物龙人精英秘宝(龙族简史,交智慧巨人110)怪物树种精灵秘宝(绽放的玫瑰,交女巫巨人到110)
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<view class="m_unknow">
|
||||
<view class="unknow" v-for="(item,index) in 3" :key="index">
|
||||
<view class="unknow_l">
|
||||
<image class="unknow_img" src="@/static/images/app/serve/coupons_img1.png" mode=""></image>
|
||||
<image class="unknow_img" src="@/static/images/app/serve/repair_refund.png" mode=""></image>
|
||||
</view>
|
||||
<view class="unknow_r">
|
||||
<view class="unknow_up">
|
||||
|
||||
@@ -8,20 +8,26 @@
|
||||
<u-icon name="arrow-left" size="19"></u-icon>
|
||||
</view>
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<view class="administration" slot="right" @click="navClearBtn">
|
||||
<image class="clear_img" src="@/static/images/app/serve/m_clear.png" mode=""></image>
|
||||
<view class="administration" slot="right" @click="openClear">
|
||||
<image class="clear_img" :src="`${config.aliyunOssUrl}/static/images/app/serve/m_clear.png`" mode=""></image>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<view class="" slot="right">
|
||||
<view class="" slot="right" @click="openClear">
|
||||
<image class="clear_img" src="@/static/images/app/serve/m_clear.png" mode=""></image>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
</u-navbar>
|
||||
|
||||
<view class="viewBox">
|
||||
<view class="box" @click="toSystemPages">
|
||||
<view class="box_l">
|
||||
<image class="box_l_img" src="@/static/images/app/serve/m_one.png" mode=""></image>
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<image class="box_l_img" :src="`${config.aliyunOssUrl}/static/images/app/serve/m_one.png`" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<image class="box_l_img" src="@/static/images/app/serve/m_one.png" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<view class="box_l_txt"> 系统消息 </view>
|
||||
</view>
|
||||
<view class="box_r">
|
||||
@@ -31,7 +37,12 @@
|
||||
</view>
|
||||
<view class="box" @click="toOrdermessagePages">
|
||||
<view class="box_l">
|
||||
<image class="box_l_img" src="@/static/images/app/serve/m_two.png" mode=""></image>
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<image class="box_l_img" :src="`${config.aliyunOssUrl}/static/images/app/serve/m_two.png`" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<image class="box_l_img" src="@/static/images/app/serve/m_two.png" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<view class="box_l_txt"> 订单消息 </view>
|
||||
</view>
|
||||
<view class="box_r">
|
||||
@@ -41,7 +52,12 @@
|
||||
</view>
|
||||
<view class="box" @click="toCommentPages">
|
||||
<view class="box_l">
|
||||
<image class="box_l_img" src="@/static/images/app/serve/m_three.png" mode=""></image>
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<image class="box_l_img" :src="`${config.aliyunOssUrl}/static/images/app/serve/m_three.png`" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<image class="box_l_img" src="@/static/images/app/serve/m_three.png" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<view class="box_l_txt"> 评论 </view>
|
||||
</view>
|
||||
<view class="box_r">
|
||||
@@ -51,7 +67,12 @@
|
||||
</view>
|
||||
<view class="box" @click="toGetlikePages">
|
||||
<view class="box_l">
|
||||
<image class="box_l_img" src="@/static/images/app/serve/m_four.png" mode=""></image>
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<image class="box_l_img" :src="`${config.aliyunOssUrl}/static/images/app/serve/m_four.png`" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<image class="box_l_img" src="@/static/images/app/serve/m_four.png" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<view class="box_l_txt"> 收到的赞 </view>
|
||||
</view>
|
||||
<view class="box_r">
|
||||
@@ -61,7 +82,12 @@
|
||||
</view>
|
||||
<view class="box" @click="toUnknowPages">
|
||||
<view class="box_l">
|
||||
<image class="box_l_img" src="@/static/images/app/serve/m_five.png" mode=""></image>
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<image class="box_l_img" :src="`${config.aliyunOssUrl}/static/images/app/serve/m_five.png`" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<image class="box_l_img" src="@/static/images/app/serve/m_five.png" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<view class="box_l_txt"> 陌生人的消息 </view>
|
||||
</view>
|
||||
<view class="box_r">
|
||||
@@ -74,7 +100,7 @@
|
||||
<view class="chatView">
|
||||
<view class="chat" v-for="(item , index) in 3" :key="index" @click="toDialogPages">
|
||||
<view class="chat_l">
|
||||
<image class="chat_l_img" src="@/static/images/app/serve/m_liuyan.png" mode=""></image>
|
||||
<image class="chat_l_img" src="@/static/images/app/serve/repair_refund.png" mode=""></image>
|
||||
<view class="chat_l_txt">
|
||||
<view class="txt_up"> BYD </view>
|
||||
<view class="txt_down"> 已经通过了~ </view>
|
||||
@@ -99,27 +125,29 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import config from '@/config';
|
||||
export default{
|
||||
data(){
|
||||
return{
|
||||
config,
|
||||
showClear:false, // 是否清除
|
||||
barHeight:null,
|
||||
'min-content':wx.getSystemInfoSync().statusBarHeight
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
goBack(){
|
||||
uni.navigateBack()
|
||||
uni.navigateBack({
|
||||
url:`/pages/serve/index`
|
||||
})
|
||||
},
|
||||
// 扫把
|
||||
navClearBtn(){
|
||||
console.log('清除消息');
|
||||
},
|
||||
// 清除弹层
|
||||
// 打开清除弹层
|
||||
openClear(){
|
||||
console.log('打开清除');
|
||||
this.showClear=true
|
||||
},
|
||||
// 确认清除
|
||||
sureClear(){
|
||||
console.log('确认清除');
|
||||
this.showClear=false
|
||||
},
|
||||
// 系统消息
|
||||
|
||||
@@ -3,7 +3,12 @@
|
||||
<!-- 绑定成功 -->
|
||||
<view class="allview">
|
||||
<view class="topview">
|
||||
<u-image :showLoading="true" src="@/static/images/app/serve/bind_mate.png" width="148rpx" height="148rpx"></u-image>
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<u-image :showLoading="true" width="148rpx" height="148rpx" :src="`${config.aliyunOssUrl}/static/images/app/serve/bind_mate.png`" mode=""></u-image>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<u-image :showLoading="true" width="148rpx" height="148rpx" src="@/static/images/app/serve/bind_mate.png" mode=""></u-image>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
<view class="contentview">
|
||||
<u-cell-group :border="false">
|
||||
@@ -11,21 +16,17 @@
|
||||
<u-cell title="姓名" :value="userInfo.realName?userInfo.realName:'--'"></u-cell>
|
||||
<u-cell title="车型" :value="formObj.modelName?formObj.modelName:'--'"></u-cell>
|
||||
<u-cell title="行驶证">
|
||||
<!-- <u-icon slot="icon" size="26" name="file-text"></u-icon> -->
|
||||
<view slot="right-icon">
|
||||
<view class="conimg">
|
||||
<!-- <u-image :showLoading="true" :src="formObj.driveLicense" width="112rpx" height="112rpx"></u-image> -->
|
||||
<u-image src="@/static/images/app/serve/repair_swiper.png" width="112rpx" height="112rpx"></u-image>
|
||||
<u-image :showLoading="true" :src="formObj.driveLicense" width="112rpx" height="112rpx"></u-image>
|
||||
</view>
|
||||
</view>
|
||||
</u-cell>
|
||||
<u-cell title="车牌号" :value="formObj.carNo?formObj.carNo:'--'"></u-cell>
|
||||
<u-cell title="解绑日期" :value="formObj.unbindTime?formObj.unbindTime:'--'"></u-cell>
|
||||
<u-cell title="车辆类型 " :value="formObj.category==1?'公户车':formObj.category==2?'私家车':'--'"></u-cell>
|
||||
<u-cell title="所属公司" v-if="formObj.category==1"
|
||||
:value="formObj.company?formObj.company:'--'"></u-cell>
|
||||
<u-cell title="车主姓名" v-if="formObj.category==2"
|
||||
:value="formObj.ownerName?formObj.ownerName:'--'"></u-cell>
|
||||
<u-cell title="所属公司" v-if="formObj.category==1" :value="formObj.company?formObj.company:'--'"></u-cell>
|
||||
<u-cell title="车主姓名" v-if="formObj.category==2" :value="formObj.ownerName?formObj.ownerName:'--'"></u-cell>
|
||||
<u-cell title="使用性质"
|
||||
:value="formObj.type==1?'预约出租客运':formObj.type==2?'非营运':formObj.type==3?'租赁':'--'"></u-cell>
|
||||
</u-cell-group>
|
||||
@@ -38,28 +39,32 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// import { getMyCarAPI,getUserInfoAPI } from '@/api/car'
|
||||
// import { getCarInfoAPI } from '@/api/user'
|
||||
// import { realNameDetaiNowlAPI } from '@/api/mine'
|
||||
// import { mapGetters } from 'vuex'
|
||||
import { getMyCarAPI,getCarInfoAPI,getMineInfoAPI, realNameDetaiNowlAPI} from '@/api/serve/repair/repair'
|
||||
import { mapGetters } from 'vuex'
|
||||
import config from '@/config';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
formObj: {},
|
||||
userInfo: {}
|
||||
userInfo: {},
|
||||
config,
|
||||
}
|
||||
},
|
||||
onShow() {
|
||||
// this.getMyCar()
|
||||
this.getMyCar()
|
||||
},
|
||||
computed: {
|
||||
// ...mapGetters(['carNo'])
|
||||
...mapGetters(['carNo'])
|
||||
},
|
||||
methods: {
|
||||
async getMyCar() {
|
||||
const car = await getMyCarAPI() // 车辆信息
|
||||
console.log(car, 'carrrrr');
|
||||
this.formObj = car.data
|
||||
getMyCar() {
|
||||
// 车辆信息
|
||||
getMyCarAPI().then(car=>{
|
||||
console.log(car, 'carrrrr');
|
||||
this.formObj = car.data
|
||||
}).catch(err=>{
|
||||
this.$toast(err)
|
||||
})
|
||||
|
||||
// 提交绑定车辆信息后,跳转到绑定结果页面,
|
||||
// 但提交的信息需在平台端审核同意后,车辆信息才会更新
|
||||
@@ -75,11 +80,12 @@
|
||||
// }).catch(err=>{
|
||||
// console.log(err);
|
||||
// })
|
||||
|
||||
// const user= await getUserInfoAPI() // 用户完整信息
|
||||
// console.log(user,'user-info');
|
||||
const detail = await realNameDetaiNowlAPI() // 实名详情
|
||||
this.userInfo = detail.data
|
||||
// 实名详情
|
||||
realNameDetaiNowlAPI().then(detail=>{
|
||||
this.userInfo = detail.data
|
||||
}).catch(err=>{
|
||||
this.$toast(err)
|
||||
})
|
||||
},
|
||||
toHomePage() {
|
||||
uni.switchTab({
|
||||
|
||||
@@ -4,7 +4,12 @@
|
||||
<view class="bgcview">
|
||||
<view class="top">
|
||||
<text class="top_txt">填写车辆信息</text>
|
||||
<image class="top_imgview" src="@/static/images/app/serve/re_bind_bgc.png" mode=""></image>
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<image class="top_imgview" :src="`${config.aliyunOssUrl}/static/images/app/serve/re_bind_bgc.png`" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<image class="top_imgview" src="@/static/images/app/serve/re_bind_bgc.png" mode=""></image>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
<view class="content">
|
||||
<view class="form-box">
|
||||
@@ -15,7 +20,12 @@
|
||||
<view class="f_car_num">
|
||||
<view class="fcn_l"> {{ formData.carNo.charAt(0) }} </view>
|
||||
<view class="fcn_r">
|
||||
<image class="fcn_r_img" src="@/static/images/app/serve/re_bind_down.png" mode=""></image>
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<image class="fcn_r_img" :src="`${config.aliyunOssUrl}/static/images/app/serve/re_bind_down.png`" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<image class="fcn_r_img" src="@/static/images/app/serve/re_bind_down.png" mode=""></image>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
</view>
|
||||
<view class="letter_number">
|
||||
@@ -41,17 +51,32 @@
|
||||
</u-form-item>
|
||||
<u-form-item label="上传行驶证" border-bottom='true'>
|
||||
<view class="lr" v-if='carInfo.driveLicense'>
|
||||
<image v-if='carInfo.driveLicense' style="width: 112rpx; height: 112rpx;" :src="carInfo.driveLicense"></image>
|
||||
<image v-else style="width: 112rpx; height: 112rpx;" src="@/static/images/app/serve/re_bind_travel.png" mode=""></image>
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<image v-if='carInfo.driveLicense' style="width: 112rpx; height: 112rpx;" :src="carInfo.driveLicense"></image>
|
||||
<image v-else style="width: 112rpx; height: 112rpx;" :src="`${config.aliyunOssUrl}/static/images/app/serve/re_bind_travel.png`" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<image v-if='carInfo.driveLicense' style="width: 112rpx; height: 112rpx;" :src="carInfo.driveLicense"></image>
|
||||
<image v-else style="width: 112rpx; height: 112rpx;" src="@/static/images/app/serve/re_bind_travel.png" mode=""></image>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
<view v-else class="form-item">
|
||||
<text style="color:#999999" v-show="!formData.driveLicense">(必选)</text>
|
||||
<view class="image-box rel">
|
||||
<image class="upload-bg" v-show="formData.driveLicense" :src="formData.driveLicense" mode=""></image>
|
||||
<image v-show="!formData.driveLicense" class="upload-bg"
|
||||
src="@/static/images/app/serve/re_bind_travel.png" mode="" @click="upload('image', 'driveLicense')"></image>
|
||||
<image v-show="formData.driveLicense" class="reduce abs"
|
||||
src="@/static/images/app/serve/realname_clea.png" mode="" @click="DelPic('driveLicense')"></image>
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<image class="upload-bg" v-show="formData.driveLicense" :src="formData.driveLicense" mode=""></image>
|
||||
<image v-show="!formData.driveLicense" class="upload-bg"
|
||||
:src="`${config.aliyunOssUrl}/static/images/app/serve/re_bind_travel.png`" mode="" @click="upload('image', 'driveLicense')"></image>
|
||||
<image v-show="formData.driveLicense" class="reduce abs"
|
||||
:src="`${config.aliyunOssUrl}/static/images/app/serve/realname_clea.png`" mode="" @click="DelPic('driveLicense')"></image>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<image class="upload-bg" v-show="formData.driveLicense" :src="formData.driveLicense" mode=""></image>
|
||||
<image v-show="!formData.driveLicense" class="upload-bg"
|
||||
src="@/static/images/app/serve/re_bind_travel.png" mode="" @click="upload('image', 'driveLicense')"></image>
|
||||
<image v-show="formData.driveLicense" class="reduce abs"
|
||||
src="@/static/images/app/serve/realname_clea.png" mode="" @click="DelPic('driveLicense')"></image>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
</view>
|
||||
</u-form-item>
|
||||
@@ -135,11 +160,12 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// import { userBindAPI, getCarInfoAPI,modelListAPI } from '@/api/user'
|
||||
// import { getMineInfoAPI, realNameDetaiNowlAPI } from '@/api/mine'
|
||||
import { userBindAPI, getCarInfoAPI,modelListAPI ,getMineInfoAPI, realNameDetaiNowlAPI} from '@/api/serve/repair/repair'
|
||||
import config from '@/config';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
config,
|
||||
screenHeight:wx.getSystemInfoSync().screenHeight,
|
||||
datetimeShow: false,
|
||||
datetimeValue: Number(new Date()),
|
||||
@@ -300,7 +326,7 @@
|
||||
if (this.noneInfo == true) {
|
||||
userBindAPI(this.carInfo).then(res => {
|
||||
uni.navigateTo({
|
||||
url: '/pages/user/bindResult'
|
||||
url: '/pages/serve/repair/bind_result'
|
||||
})
|
||||
}).catch(err => {
|
||||
this.$toast(err)
|
||||
@@ -308,7 +334,7 @@
|
||||
} else {
|
||||
userBindAPI(this.formData).then(res => {
|
||||
uni.navigateTo({
|
||||
url: '/pages/user/bindResult'
|
||||
url: '/pages/serve/repair/bind_result'
|
||||
})
|
||||
}).catch(err => {
|
||||
this.$toast(err)
|
||||
@@ -323,7 +349,7 @@
|
||||
success: (res) => {
|
||||
if (res.confirm) {
|
||||
uni.navigateTo({
|
||||
url: "/pages/user/realName",
|
||||
url: "/pages/serve/repair/realname",
|
||||
});
|
||||
} else if (res.cancel) {
|
||||
console.log("用户点击取消");
|
||||
@@ -504,11 +530,6 @@
|
||||
margin-bottom: 15rpx;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
.list_view{
|
||||
// border: 1px solid blue;
|
||||
// height: 730rpx;
|
||||
// overflow: hidden;
|
||||
}
|
||||
}
|
||||
.form-item {
|
||||
display: flex;
|
||||
|
||||
599
pages/serve/repair/re_create/reservation.vue
Normal file
599
pages/serve/repair/re_create/reservation.vue
Normal file
@@ -0,0 +1,599 @@
|
||||
<template>
|
||||
<view class="repairdeyail">
|
||||
<view class="allview">
|
||||
<view class="banner">
|
||||
<image class="banner_img" :src="dataObj.backImage" mode=""></image>
|
||||
<view class="banner_score">{{ dataObj.starLevel ? dataObj.starLevel : "--" }}分</view>
|
||||
</view>
|
||||
<view class="content">
|
||||
<view class="con_up">
|
||||
<view class="up_lr">
|
||||
<view class="up_left">
|
||||
<view class="up_l_one">
|
||||
{{ dataObj.name ? dataObj.name : "--" }}
|
||||
</view>
|
||||
<view class="up_l_two">
|
||||
<view class="twotxt">
|
||||
{{ homenum == 1 ? "常规保养" : homenum == 2 ? "故障维修" : homenum == 3 ? "事故维修" : homenum == 4 ? "退车" : "保养保养"}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="up_l_three">
|
||||
<view class="threeleft"> 营业时间 </view>
|
||||
<view class="threeright">
|
||||
{{ dataObj.dayTime ? dataObj.dayTime : "9:00-20:00" }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="up_right">
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<view class="up_r_icon" @click.stop="callPhone(JSON.stringify(dataObj.phone))">
|
||||
<image class="up_r_iconimg"
|
||||
:src="`${config.aliyunOssUrl}/static/images/app/serve/cou_store_phone.png`" mode="">
|
||||
</image>
|
||||
</view>
|
||||
<view class="up_r_icon">
|
||||
<image class="up_r_iconimg"
|
||||
:src="`${config.aliyunOssUrl}/static/images/app/serve/cou_store_up.png`" mode=""></image>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<view class="up_r_icon" @click.stop="callPhone(JSON.stringify(dataObj.phone))">
|
||||
<image class="up_r_iconimg" src="@/static/images/app/serve/cou_store_phone.png" mode="">
|
||||
</image>
|
||||
</view>
|
||||
<view class="up_r_icon">
|
||||
<image class="up_r_iconimg" src="@/static/images/app/serve/cou_store_up.png" mode=""></image>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
</view>
|
||||
<view class="up_l_four line-one">
|
||||
<text> {{ dataObj.distance ? dataObj.distance : "--" }}km </text>
|
||||
<text class="suxian"> | </text>
|
||||
<text>
|
||||
{{ dataObj.addressDetail ? dataObj.addressDetail : "-" }}
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="con_down">
|
||||
<view class="cheview">
|
||||
<view class="cheview_l"> 车辆 </view>
|
||||
<view class="cheview_r">
|
||||
<text slot="value" class="u-slot-value formtxt">
|
||||
{{createData.repairType == 1 ? "常规保养" : createData.repairType == 2 ? "故障维修" : createData.repairType == 3 ? "事故维修" : createData.repairType == 4 ? "退车" : "保养保养"}}
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="cheview" @click="popupShow = true">
|
||||
<view class="cheview_l"> 预约信息 </view>
|
||||
<view class="infoview_r">
|
||||
<view class="r_txt">
|
||||
{{ formObj.carNo ? formObj.carNo : "-" }}
|
||||
{{ myInfo.realName ? myInfo.realName : "-" }}
|
||||
</view>
|
||||
<u-icon name="arrow-right" color="#999999" size="14"></u-icon>
|
||||
</view>
|
||||
</view>
|
||||
<view class="cheview" @click="openTime">
|
||||
<view class="cheview_l"> 预约时间 </view>
|
||||
<view class="infoview_r">
|
||||
<view class="r_txt">
|
||||
{{ createData.workingDay ? createData.workingDay : "" }}
|
||||
{{ createData.workingTime ? createData.workingTime : "请填写" }}
|
||||
</view>
|
||||
<u-icon name="arrow-right" color="#999999" size="14"></u-icon>
|
||||
</view>
|
||||
</view>
|
||||
<view class="descview">
|
||||
<view class="cheview_l"> 描述 </view>
|
||||
<view class="descview_r">
|
||||
<u-textarea v-model="createData.repairDescribe" placeholder="选填" border="none"></u-textarea>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="con_btnview">
|
||||
<view class="btnview_sure" @click="groupSubmit" shape="circle">确 认</view>
|
||||
</view>
|
||||
<!-- 预约信息 -->
|
||||
<u-popup :show="popupShow" :round="16" mode="bottom" @close="popupShow = false" closeable="true">
|
||||
<view class="popuptxt">预约信息</view>
|
||||
<view class="popview">
|
||||
<view class="groupview">
|
||||
<view class="grop_con"> 基本信息 </view>
|
||||
<view class="carnum">
|
||||
<view class="num_l"> 车牌 </view>
|
||||
<view class="num_r">{{ formObj.carNo ? formObj.carNo : "-" }}
|
||||
</view>
|
||||
</view>
|
||||
<view class="carnum">
|
||||
<view class="num_l"> 车型 </view>
|
||||
<view class="num_r">
|
||||
{{ formObj.modelName ? formObj.modelName : "-" }}
|
||||
</view>
|
||||
</view>
|
||||
<view class="carnum">
|
||||
<view class="num_l"> 姓名 </view>
|
||||
<view class="num_r">
|
||||
{{ myInfo.realName ? myInfo.realName : "-" }}
|
||||
</view>
|
||||
</view>
|
||||
<view class="carnum">
|
||||
<view class="num_l"> 电话 </view>
|
||||
<view class="num_r"> {{ myInfo.phone ? myInfo.phone : "-" }} </view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="popupbtn" @click="popupSubmit">确 认</view>
|
||||
</view>
|
||||
</u-popup>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getStoreList, getCarouselAPI , reservationCreateAPI, getMyCarAPI , realNameDetaiNowlAPI} from '@/api/serve/repair/repair'
|
||||
import { mapGetters } from "vuex";
|
||||
import config from '@/config'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
config,
|
||||
popupShow: false,
|
||||
tabledata: {
|
||||
limit: 10,
|
||||
page: 1,
|
||||
latitude: "30",
|
||||
longitude: "126",
|
||||
},
|
||||
dataObj: {},
|
||||
formObj: {},
|
||||
myInfo: {},
|
||||
createData: {
|
||||
carId: null,
|
||||
merId: null,
|
||||
repairDescribe: "",
|
||||
repairType: 1,
|
||||
workingDay: "",
|
||||
workingTime: "",
|
||||
},
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(["checkIds", "homenum", "merId", "workingDay", "workingTime", ]),
|
||||
},
|
||||
onShow() {
|
||||
this.getStoreList();
|
||||
},
|
||||
methods: {
|
||||
getStoreList() {
|
||||
this.createData.merId = this.merId;
|
||||
this.createData.repairType = this.homenum;
|
||||
this.createData.workingDay = this.workingDay;
|
||||
this.createData.workingTime = this.workingTime;
|
||||
// 门店
|
||||
getStoreList(this.tabledata).then(res=>{
|
||||
res.data.list.forEach((ele) => {
|
||||
if (ele.id == this.merId) {
|
||||
this.dataObj = ele;
|
||||
}
|
||||
});
|
||||
}).catch(err=>{
|
||||
this.$toast(err)
|
||||
})
|
||||
|
||||
// 获取我的汽车
|
||||
getMyCarAPI().then(car=>{
|
||||
if (car.data) {
|
||||
this.formObj = car.data;
|
||||
this.createData.carId = car.data.id;
|
||||
} else {
|
||||
uni.showModal({
|
||||
title: "您还没绑定车辆,是否现在去绑定车辆!",
|
||||
cancelText: "稍后再去",
|
||||
confirmText: "现在就去",
|
||||
success: (res) => {
|
||||
if (res.confirm) {
|
||||
uni.navigateTo({
|
||||
url: "/pages/serve/repair/re_binding",
|
||||
});
|
||||
} else if (res.cancel) {
|
||||
console.log("用户点击取消");
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
})
|
||||
// 实名信息
|
||||
realNameDetaiNowlAPI().then(my=>{
|
||||
this.myInfo = my.data;
|
||||
}).catch(err=>{
|
||||
this.$toast(err)
|
||||
})
|
||||
},
|
||||
// 去选择时间
|
||||
openTime() {
|
||||
uni.navigateTo({
|
||||
url: `/pages/serve/repair/re_create/select_time`,
|
||||
});
|
||||
},
|
||||
// 确认提交
|
||||
groupSubmit() {
|
||||
if (!this.createData.carId) {
|
||||
uni.showModal({
|
||||
title: "您还没绑定车辆,是否现在去绑定车辆!",
|
||||
cancelText: "稍后再去",
|
||||
confirmText: "现在就去",
|
||||
success: (res) => {
|
||||
if (res.confirm) {
|
||||
uni.navigateTo({
|
||||
url: "/pages/serve/repair/re_binding",
|
||||
});
|
||||
} else if (res.cancel) {
|
||||
console.log("用户点击取消");
|
||||
}
|
||||
},
|
||||
});
|
||||
} else if (!this.myInfo) {
|
||||
uni.showModal({
|
||||
title: "您还没有完善信息,是否现在去完善信息!",
|
||||
cancelText: "稍后再去",
|
||||
confirmText: "现在就去",
|
||||
success: (res) => {
|
||||
if (res.confirm) {
|
||||
uni.navigateTo({
|
||||
url: "/pages/serve/repair/realname",
|
||||
});
|
||||
} else if (res.cancel) {
|
||||
console.log("用户点击取消");
|
||||
}
|
||||
},
|
||||
});
|
||||
} else {
|
||||
reservationCreateAPI(this.createData)
|
||||
.then((res) => {
|
||||
uni.navigateTo({
|
||||
url: "/pages/serve/repair/re_create/result",
|
||||
});
|
||||
})
|
||||
.catch((err) => {
|
||||
this.$toast(err);
|
||||
});
|
||||
}
|
||||
},
|
||||
popupSubmit() {
|
||||
console.log("预约信息");
|
||||
this.popupShow = false;
|
||||
},
|
||||
callPhone(phoneNumber) {
|
||||
console.log(phoneNumber);
|
||||
uni.makePhoneCall({
|
||||
phoneNumber,
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.repairdeyail {
|
||||
height: 100vh;
|
||||
background-color: #f5f5f5;
|
||||
|
||||
.allview {
|
||||
padding: 16rpx 24rpx;
|
||||
background-color: #f5f5f5;
|
||||
|
||||
.banner {
|
||||
// border: 1px solid red;
|
||||
position: relative;
|
||||
width: 702rpx;
|
||||
height: 304rpx;
|
||||
border-radius: 16rpx 16rpx 0rpx 0rpx;
|
||||
|
||||
.banner_img {
|
||||
width: 702rpx;
|
||||
height: 304rpx;
|
||||
}
|
||||
|
||||
.banner_score {
|
||||
width: 136rpx;
|
||||
height: 54rpx;
|
||||
font-size: 36rpx;
|
||||
line-height: 52rpx;
|
||||
font-weight: 500;
|
||||
text-align: center;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
color: #ffffff;
|
||||
background: #f68d1f;
|
||||
border-radius: 16rpx 0rpx 16rpx 0rpx;
|
||||
opacity: 1;
|
||||
position: absolute;
|
||||
bottom: -27rpx;
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.content {
|
||||
.con_up {
|
||||
padding: 32rpx;
|
||||
margin-bottom: 24rpx;
|
||||
background-color: #fff;
|
||||
border-radius: 10rpx;
|
||||
|
||||
.up_lr {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
// 左
|
||||
.up_left {
|
||||
.up_l_one {
|
||||
font-size: 36rpx;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #000000;
|
||||
padding-bottom: 8rpx;
|
||||
}
|
||||
|
||||
.up_l_two {
|
||||
padding: 0 28rpx 24rpx 0rpx;
|
||||
font-size: 28rpx;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #444444;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: flex-start;
|
||||
|
||||
.twotxt {
|
||||
padding: 4rpx 12rpx;
|
||||
border-radius: 4rpx;
|
||||
background-color: #efefef;
|
||||
margin-right: 10rpx;
|
||||
// flex: 0 0 30%;
|
||||
margin-top: 10rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.up_l_three {
|
||||
display: flex;
|
||||
padding-bottom: 24rpx;
|
||||
|
||||
.threeleft {
|
||||
width: 120rpx;
|
||||
height: 44rpx;
|
||||
font-size: 26rpx;
|
||||
font-weight: 400;
|
||||
line-height: 40rpx;
|
||||
text-align: center;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
color: #13afa8;
|
||||
background: #e2f0ef;
|
||||
border-radius: 4rpx 0rpx 0rpx 4rpx;
|
||||
opacity: 1;
|
||||
border: 2rpx solid #13afa8;
|
||||
}
|
||||
|
||||
.threeright {
|
||||
width: 178rpx;
|
||||
height: 44rpx;
|
||||
font-size: 28rpx;
|
||||
font-weight: 500;
|
||||
line-height: 42rpx;
|
||||
text-align: center;
|
||||
color: #ffffff;
|
||||
background: #13afa8;
|
||||
border-radius: 0rpx 4rpx 4rpx 0rpx;
|
||||
opacity: 1;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.up_l_four {
|
||||
font-size: 26rpx;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #111111;
|
||||
// width: 500rpx;
|
||||
|
||||
.suxian {
|
||||
font-size: 20rpx;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #aaaaaa;
|
||||
margin: 0 8rpx;
|
||||
}
|
||||
}
|
||||
|
||||
// 右 (icon)
|
||||
.up_right {
|
||||
display: flex;
|
||||
|
||||
.up_r_icon {
|
||||
width: 48rpx;
|
||||
height: 48rpx;
|
||||
background-color: #13afa8;
|
||||
border-radius: 50%;
|
||||
margin-left: 20rpx;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.up_r_iconimg {
|
||||
width: 48rpx;
|
||||
height: 48rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.con_down {
|
||||
border: 1px solid #ffffff;
|
||||
padding: 0 32rpx 32rpx 32rpx;
|
||||
margin: 35rpx 0;
|
||||
background-color: #fff;
|
||||
border-radius: 10rpx;
|
||||
|
||||
.labeltxt {
|
||||
display: block;
|
||||
width: 160rpx;
|
||||
height: 44rpx;
|
||||
font-size: 32rpx;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #444444;
|
||||
line-height: 42rpx;
|
||||
}
|
||||
|
||||
.formtxt {
|
||||
display: block;
|
||||
width: 128rpx;
|
||||
height: 44rpx;
|
||||
border-radius: 4rpx 4rpx 4rpx 4rpx;
|
||||
opacity: 1;
|
||||
font-size: 28rpx;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
font-weight: 400;
|
||||
text-align: center;
|
||||
background: #444444;
|
||||
color: #ffffff;
|
||||
line-height: 42rpx;
|
||||
}
|
||||
|
||||
.cheview {
|
||||
// border: 1px solid red;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding-bottom: 16rpx;
|
||||
border-bottom: 1rpx solid #ededed;
|
||||
margin-top: 50rpx;
|
||||
|
||||
.r_icon {
|
||||
width: 10rpx;
|
||||
height: 20rpx;
|
||||
margin-left: 8rpx;
|
||||
}
|
||||
|
||||
.r_txt {
|
||||
margin-right: 8rpx;
|
||||
}
|
||||
|
||||
.infoview_r {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
|
||||
.cheview_l {
|
||||
font-size: 32rpx;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #444444;
|
||||
}
|
||||
|
||||
.descview {
|
||||
margin-top: 50rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.line-one {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
// border: 1px solid blue;
|
||||
}
|
||||
}
|
||||
|
||||
.con_btnview {
|
||||
padding: 8rpx 24rpx;
|
||||
width: 100%;
|
||||
height: 112rpx;
|
||||
background: #ffffff;
|
||||
position: fixed;
|
||||
left: 0;
|
||||
bottom: 40rpx;
|
||||
|
||||
.btnview_sure {
|
||||
height: 96rpx;
|
||||
line-height: 96rpx;
|
||||
text-align: center;
|
||||
font-size: 34rpx;
|
||||
color: #ffffff;
|
||||
background-color: #13afa8;
|
||||
border-radius: 60rpx 60rpx 60rpx 60rpx;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
font-weight: 500;
|
||||
}
|
||||
}
|
||||
|
||||
.popuptxt {
|
||||
height: 132rpx;
|
||||
line-height: 130rpx;
|
||||
font-size: 32rpx;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #222222;
|
||||
text-align: center;
|
||||
border-bottom: 1rpx solid #ededed;
|
||||
}
|
||||
|
||||
.popview {
|
||||
padding: 0 20rpx 40rpx 20rpx;
|
||||
|
||||
.groupview {
|
||||
margin-bottom: 50rpx;
|
||||
padding: 24rpx;
|
||||
|
||||
.grop_con {
|
||||
font-size: 32rpx;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
font-weight: 550;
|
||||
color: #222222;
|
||||
padding-top: 24rpx;
|
||||
}
|
||||
|
||||
.carnum {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding-bottom: 16rpx;
|
||||
border-bottom: 1rpx solid #ededed;
|
||||
margin-top: 40rpx;
|
||||
}
|
||||
|
||||
.num_l {
|
||||
font-size: 32rpx;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #444444;
|
||||
}
|
||||
|
||||
.num_r {
|
||||
font-size: 32rpx;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #111111;
|
||||
}
|
||||
}
|
||||
|
||||
.popupbtn {
|
||||
margin-top: 50rpx;
|
||||
font-size: 28rpx;
|
||||
height: 80rpx;
|
||||
line-height: 80rpx;
|
||||
text-align: center;
|
||||
color: #ffffff;
|
||||
background-color: #13afa8;
|
||||
border-radius: 60rpx;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
font-weight: 500;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
141
pages/serve/repair/re_create/result.vue
Normal file
141
pages/serve/repair/re_create/result.vue
Normal file
@@ -0,0 +1,141 @@
|
||||
<template>
|
||||
<view class="resultall">
|
||||
<view class="re_result">
|
||||
<view class="conview">
|
||||
<view class="imgview">
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<image class="img" :src="`${config.aliyunOssUrl}/static/images/app/serve/re_result.png`" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<image class="img" src="@/static/images/app/serve/re_result.png" mode=""></image>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
<view class="txtview">
|
||||
<view class="bigtxt">预约成功</view>
|
||||
<view class="smalltxt">你的维修工单已经预约成功,可在我的工单里面查看进度</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="btnview">
|
||||
<view class="btn_top" @click="toMyBtn">
|
||||
我的工单
|
||||
</view>
|
||||
<view class="btn_bottom" @click="toHomePage">
|
||||
返回首页
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import config from '@/config'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
config,
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
toMyBtn() {
|
||||
console.log('去我的工单');
|
||||
// this.$store.dispatch('WorkingDay', '')
|
||||
// this.$store.dispatch('WorkingTime', '')
|
||||
// uni.navigateTo({
|
||||
// url: `/pages/order/myOrder`
|
||||
// });
|
||||
},
|
||||
toHomePage() {
|
||||
console.log('去首页');
|
||||
// this.$store.dispatch('WorkingDay', '')
|
||||
// this.$store.dispatch('WorkingTime', '')
|
||||
uni.switchTab({
|
||||
url: '/pages/index/index'
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.resultall {
|
||||
background-color: #F5F5F5;
|
||||
height: 100vh;
|
||||
}
|
||||
|
||||
.re_result {
|
||||
padding: 135rpx 50rpx 0 50rpx;
|
||||
|
||||
.conview {
|
||||
|
||||
// border: 1px solid blue ;
|
||||
.imgview {
|
||||
// border: 1px solid red ;
|
||||
width: 500rpx;
|
||||
height: 280rpx;
|
||||
margin: 0 auto;
|
||||
|
||||
.img {
|
||||
width: 500rpx;
|
||||
height: 280rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.txtview {
|
||||
text-align: center;
|
||||
margin-top: 40rpx;
|
||||
|
||||
.bigtxt {
|
||||
font-size: 40rpx;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.smalltxt {
|
||||
font-size: 24rpx;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #999999;
|
||||
margin-top: 15rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.btnview {
|
||||
margin-top: 64rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 100%;
|
||||
|
||||
.btn_top {
|
||||
width: 264rpx;
|
||||
height: 80rpx;
|
||||
border-radius: 60rpx 60rpx 60rpx 60rpx;
|
||||
opacity: 1;
|
||||
line-height: 78rpx;
|
||||
text-align: center;
|
||||
font-size: 34rpx;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #fff;
|
||||
background: #13AFA8;
|
||||
}
|
||||
|
||||
.btn_bottom {
|
||||
width: 264rpx;
|
||||
height: 80rpx;
|
||||
border-radius: 60rpx 60rpx 60rpx 60rpx;
|
||||
opacity: 1;
|
||||
line-height: 78rpx;
|
||||
text-align: center;
|
||||
font-size: 34rpx;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
font-weight: 500;
|
||||
margin-top: 20rpx;
|
||||
color: #13AFA8;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
216
pages/serve/repair/re_create/select_city.vue
Normal file
216
pages/serve/repair/re_create/select_city.vue
Normal file
@@ -0,0 +1,216 @@
|
||||
<template>
|
||||
<view class="re_select">
|
||||
<view class="search">
|
||||
<u-search placeholder="搜索城市" :showAction="true" v-model="cityNmae" actionText="搜索" @custom='searchBtn'
|
||||
@search='searchBtn' actionStyle='{font-size: 28rpx;font-weight: 500;}'></u-search>
|
||||
</view>
|
||||
<view v-show="cityNmae==''">
|
||||
<view class="city_list">
|
||||
<view class="city_up">
|
||||
<view class="up_up">
|
||||
<view class="txt_view">
|
||||
当前城市
|
||||
</view>
|
||||
<view class="btn_view" @click="getCityName(citySave)">
|
||||
{{citySave}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="up_cen">
|
||||
<view class="txt_view">
|
||||
热门城市
|
||||
</view>
|
||||
<view class="cenbtnall">
|
||||
<view class="cen_btnview" v-for="item in hotCity" :key='item.id' @click="getCityName(item.cityName)">
|
||||
{{item.cityName}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="city_down">
|
||||
<u-index-list :index-list="indexList">
|
||||
<template v-for="(item, index) in itemArr">
|
||||
<u-index-anchor :text="indexList[index]" :id="index" :index="index">
|
||||
</u-index-anchor>
|
||||
<u-index-item :key="indexList[index]" :item='item' @getItem='getItem'>
|
||||
<view class="list-cell" v-for="(cell,index) in item" :key="cell.code" @click="clickCity(index)">
|
||||
{{cell.city}}
|
||||
</view>
|
||||
</u-index-item>
|
||||
</template>
|
||||
</u-index-list>
|
||||
</view>
|
||||
</view>
|
||||
<view v-show="cityNmae!=''" class="cityshow_view">
|
||||
<view class="city_show" v-for="item in citySearch" :key='item.code' hover-class="bg-click" @click="getCityName(item.city)">
|
||||
{{item.city}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getHotCityAPI } from '@/api/serve/repair/repair'
|
||||
import { mapGetters } from 'vuex'
|
||||
const area = require('../../../../data/address_a.js')
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
hotCity: [],
|
||||
indexList: area.select_list,
|
||||
itemArr: [],
|
||||
cityNmae: '',
|
||||
citySearch:[],
|
||||
isShow:true,
|
||||
// 顺序城市索引
|
||||
cityIndex:null,
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(['citySave'])
|
||||
},
|
||||
onLoad() {
|
||||
let areas = area.city_list
|
||||
for (let key in areas) {
|
||||
this.itemArr.push(areas[key])
|
||||
};
|
||||
},
|
||||
onShow() {
|
||||
this.getHotCity()
|
||||
},
|
||||
methods: {
|
||||
getHotCity() {
|
||||
getHotCityAPI().then(res=>{
|
||||
this.hotCity=res.data
|
||||
}).catch(err=>{
|
||||
this.$toast(err)
|
||||
})
|
||||
},
|
||||
citySelect(e) {
|
||||
},
|
||||
searchBtn() {
|
||||
this.citySearch = this.searchCity(this.itemArr, this.cityNmae)
|
||||
},
|
||||
searchCity(arr, targetCity) {
|
||||
const flatArr = arr.flat();
|
||||
const result = flatArr.filter(item => item.city.includes(targetCity));
|
||||
return result;
|
||||
},
|
||||
// 热门城市
|
||||
getCityName(name){
|
||||
this.$store.dispatch('SelectCity', name)
|
||||
uni.navigateBack({
|
||||
url:`/pages/serve/repair/re_create/select_store`,
|
||||
})
|
||||
},
|
||||
// 顺序城市
|
||||
clickCity(index){
|
||||
this.cityIndex=index
|
||||
},
|
||||
getItem(getItem){
|
||||
getItem.forEach((ele,index)=>{
|
||||
if(this.cityIndex==index){
|
||||
this.$store.dispatch('SelectCity', ele.city)
|
||||
uni.navigateBack({
|
||||
url:`/pages/serve/repair/re_create/select_store`,
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.cityshow_view{
|
||||
margin-top: 16rpx;
|
||||
.city_show{
|
||||
height: 104rpx;
|
||||
background: #FFFFFF;
|
||||
padding: 24rpx;
|
||||
font-size: 28rpx;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #111111;
|
||||
}
|
||||
.bg-click{
|
||||
background-color: #F5F5F5;
|
||||
}
|
||||
}
|
||||
.re_select {
|
||||
background-color: #F5F5F5;
|
||||
height: 100vh;
|
||||
}
|
||||
|
||||
.search {
|
||||
padding: 0 24rpx;
|
||||
height: 88rpx;
|
||||
background: #FFFFFF;
|
||||
}
|
||||
|
||||
.txt_view {
|
||||
// border: 1px solid green ;
|
||||
height: 44rpx;
|
||||
font-size: 32rpx;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #111111;
|
||||
}
|
||||
|
||||
.city_list {
|
||||
background-color: #F5F5F5;
|
||||
padding: 32rpx;
|
||||
margin-bottom: 16rpx;
|
||||
|
||||
.city_up {
|
||||
|
||||
// height: 440rpx;
|
||||
.up_up {
|
||||
margin-bottom: 48rpx;
|
||||
|
||||
.btn_view {
|
||||
width: 148rpx;
|
||||
height: 60rpx;
|
||||
line-height: 60rpx;
|
||||
text-align: center;
|
||||
background: #13AFA8;
|
||||
border-radius: 4rpx 4rpx 4rpx 4rpx;
|
||||
font-size: 26rpx;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
margin-top: 16rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.up_cen {
|
||||
.cenbtnall {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
// justify-content: space-between;
|
||||
// padding-right: 16rpx;
|
||||
// border: 1px solid red;
|
||||
|
||||
.cen_btnview {
|
||||
// border: 1px solid blue;
|
||||
flex-basis: calc(25% - 16px);
|
||||
margin-top: 16rpx;
|
||||
margin-right: 16rpx;
|
||||
width: 148rpx;
|
||||
height: 58rpx;
|
||||
line-height: 58rpx;
|
||||
text-align: center;
|
||||
background: #FFFFFF;
|
||||
border-radius: 4rpx 4rpx 4rpx 4rpx;
|
||||
opacity: 1;
|
||||
|
||||
font-size: 24rpx;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #111111;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
312
pages/serve/repair/re_create/select_store.vue
Normal file
312
pages/serve/repair/re_create/select_store.vue
Normal file
@@ -0,0 +1,312 @@
|
||||
<template>
|
||||
<view class="content">
|
||||
<view style="height: 24rpx;" />
|
||||
<view class="con_imgview">
|
||||
<u-swiper height="370rpx" :list="list" :circular="true" imgMode="widthFix" keyName="image"
|
||||
:imgMode="aspectFit"></u-swiper>
|
||||
</view>
|
||||
<view class="positionview">
|
||||
<view class="postop">
|
||||
<view class="posleft">
|
||||
<u-icon name="map-fill" color="#3D3D3D" size="14"></u-icon>
|
||||
<text class="lefttxt">选择门店</text>
|
||||
</view>
|
||||
<view class="posright" @click="link('/pages/serve/repair/re_create/select_city')">
|
||||
<text class="righttxt">{{ selectCity?selectCity:citySave }}</text>
|
||||
<u-icon name="arrow-right" color="#999999" size="10"></u-icon>
|
||||
</view>
|
||||
</view>
|
||||
<z-paging ref="paging" :fixed="false" use-page-scroll auto-full-height v-model="dataList" @query="queryList">
|
||||
<view class="posfoot">
|
||||
<view class="footview" hover-class="hover-footview" v-for="(item,index) in dataList" :key="item.id"
|
||||
@click="link(`/pages/serve/repair/re_create/reservation?id=${item.id}`,`${item.id}`)">
|
||||
<view class="footleft">
|
||||
<image class="footleft_img" :src="item.backImage"></image>
|
||||
<!-- coverImage 封面图 backImage 背景图 avatar 头像 -->
|
||||
</view>
|
||||
<view class="footright">
|
||||
<view :class="['fr_up', checkIds.indexOf(item.id) !== -1 && 'checked-imp']">{{item.name}}
|
||||
</view>
|
||||
<view :class="['fr_centre', 'line-one', checkIds.indexOf(item.id) !== -1 && 'checked-imp']">
|
||||
<text>{{item.distance}} km </text> <text class="suxian">|</text> <text>
|
||||
{{item.province + item.city + item.addressDetail}} </text>
|
||||
</view>
|
||||
<view class="fr_down">
|
||||
<view class="down_l">
|
||||
<text :class="[ checkIds.indexOf(item.id) !== -1 && 'checked-imp']">评分:</text> <text class="redtxt">
|
||||
{{item.starLevel}} </text>
|
||||
</view>
|
||||
<view class="down_r">
|
||||
<view class="down_r_icon" @click.stop="callPhone(JSON.stringify(item.phone))">
|
||||
<image src="https://qicheoss.oss-cn-shanghai.aliyuncs.com/static/images/images/phone_fill.png"
|
||||
mode=""></image>
|
||||
</view>
|
||||
<view class="down_r_icon">
|
||||
<image src="https://qicheoss.oss-cn-shanghai.aliyuncs.com/static/images/images/pos_icon.png"
|
||||
mode=""></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</z-paging>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getStoreList, getCarouselAPI } from '@/api/serve/repair/repair'
|
||||
import { mapGetters } from 'vuex'
|
||||
const QQMapWX = require('../../../../js_sdk/qqmap-wx-jssdk/qqmap-wx-jssdk.js')
|
||||
var qqmapsdk = new QQMapWX({ key: 'SH4BZ-BN36N-UYSFP-SJMPC-LZMGK-EWF3P' })
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
dataList: [],
|
||||
list: [],
|
||||
carousel: {
|
||||
limit: 10,
|
||||
page: 1
|
||||
},
|
||||
query: {
|
||||
latitude: '30',
|
||||
longitude: '126'
|
||||
},
|
||||
}
|
||||
},
|
||||
computed: { ...mapGetters(['checkIds', 'citySave', 'homenum','selectCity']) },
|
||||
onLoad(query) {
|
||||
if (this.selectCity) this.citySave=this.selectCity
|
||||
if (this.homenum == 1) {
|
||||
uni.setNavigationBarTitle({ title: '常规保养' })
|
||||
}
|
||||
if (this.homenum == 2) {
|
||||
uni.setNavigationBarTitle({ title: '故障维修' })
|
||||
}
|
||||
if (this.homenum == 3) {
|
||||
uni.setNavigationBarTitle({ title: '事故维修' })
|
||||
}
|
||||
if (this.homenum == 4) {
|
||||
uni.setNavigationBarTitle({ title: '退车' })
|
||||
}
|
||||
|
||||
},
|
||||
onShow() {
|
||||
uni.getLocation({
|
||||
type: 'gcj02',
|
||||
success: res => {
|
||||
qqmapsdk.reverseGeocoder({
|
||||
location: {
|
||||
latitude: res.latitude,
|
||||
longitude: res.longitude
|
||||
},
|
||||
success: res1 => {
|
||||
this.$store.dispatch('SetCity', res1.result.address_component.city)
|
||||
},
|
||||
fail: res => {
|
||||
console.log(res)
|
||||
},
|
||||
})
|
||||
},
|
||||
fail: err => {
|
||||
console.log(err)
|
||||
}
|
||||
}),
|
||||
this.getCarousel()
|
||||
},
|
||||
methods: {
|
||||
queryList(pageNo, pageSize) {
|
||||
getStoreList({
|
||||
limit: pageSize,
|
||||
page: pageNo,
|
||||
city: this.citySave,
|
||||
...this.query
|
||||
}).then(res => {
|
||||
this.$refs.paging.complete(res.data.list)
|
||||
}).catch(err => {
|
||||
this.$refs.paging.complete(false)
|
||||
})
|
||||
},
|
||||
callPhone(phoneNumber) {
|
||||
uni.makePhoneCall({ phoneNumber })
|
||||
},
|
||||
link(url, id) {
|
||||
if (id) {
|
||||
this.$store.dispatch('CheckIds', id * 1)
|
||||
this.$store.dispatch('MerId', id)
|
||||
}
|
||||
uni.navigateTo({ url, })
|
||||
},
|
||||
// 轮播图
|
||||
getCarousel() {
|
||||
getCarouselAPI(this.carousel).then(res=>{
|
||||
this.list = res.data.list
|
||||
}).catch(err=>{
|
||||
this.$toast(err)
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.content {
|
||||
background-color: #f5f5f5;
|
||||
|
||||
.con_imgview {
|
||||
margin: 0 auto;
|
||||
margin-bottom: 32rpx;
|
||||
width: 686rpx;
|
||||
height: 370rpx;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.positionview {
|
||||
padding: 0 24rpx 24rpx 24rpx;
|
||||
|
||||
.postop {
|
||||
// border: 1px solid;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 22rpx;
|
||||
|
||||
.posleft {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
.leftimg {
|
||||
width: 24rpx;
|
||||
height: 24rpx;
|
||||
}
|
||||
|
||||
.lefttxt {
|
||||
font-size: 32rpx;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #444444;
|
||||
margin-left: 5rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.posright {
|
||||
display: flex;
|
||||
|
||||
.rightimg {
|
||||
width: 10rpx;
|
||||
height: 20rpx;
|
||||
}
|
||||
|
||||
.righttxt {
|
||||
font-size: 24rpx;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #444444;
|
||||
margin-right: 8rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.posfoot {
|
||||
|
||||
// border: 1px solid red;
|
||||
.footview {
|
||||
display: flex;
|
||||
padding: 32rpx 24rpx;
|
||||
margin-bottom: 32rpx;
|
||||
width: 702rpx;
|
||||
background-color: #fff;
|
||||
|
||||
.footleft {
|
||||
width: 168rpx;
|
||||
height: 140rpx;
|
||||
|
||||
.footleft_img {
|
||||
width: 168rpx;
|
||||
height: 140rpx;
|
||||
background-color: #AAAAAA;
|
||||
}
|
||||
}
|
||||
|
||||
.footright {
|
||||
padding-left: 16rpx;
|
||||
width: 470rpx;
|
||||
|
||||
.fr_up {
|
||||
font-size: 32rpx;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #111111;
|
||||
}
|
||||
|
||||
.fr_centre {
|
||||
font-size: 26rpx;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #111111;
|
||||
margin-bottom: 16rpx;
|
||||
|
||||
.suxian {
|
||||
font-size: 20rpx;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #AAAAAA;
|
||||
margin: 0 8rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.fr_down {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
width: 100%;
|
||||
|
||||
.down_l {
|
||||
font-size: 24rpx;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #111111;
|
||||
line-height: 1;
|
||||
|
||||
.redtxt {
|
||||
font-size: 40rpx;
|
||||
font-family: Roboto, Roboto;
|
||||
font-weight: 500;
|
||||
color: #F20808;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.down_r {
|
||||
display: flex;
|
||||
|
||||
.down_r_icon {
|
||||
image {
|
||||
margin-left: 20rpx;
|
||||
width: 48rpx;
|
||||
height: 48rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.hover-footview {
|
||||
background-color: #f1f1f1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.line-one {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.checked-imp {
|
||||
color: #999999 !important;
|
||||
}
|
||||
</style>
|
||||
321
pages/serve/repair/re_create/select_time.vue
Normal file
321
pages/serve/repair/re_create/select_time.vue
Normal file
@@ -0,0 +1,321 @@
|
||||
<template>
|
||||
<view class="retime">
|
||||
<view class="tabs">
|
||||
<view class="time_up">
|
||||
<view class="up_up"> {{month}} 月 </view>
|
||||
<view class="up_cen">
|
||||
<view class="mon" v-for="item in daysOfWeek" :key="item.id">
|
||||
<view :class="item.day==day?'mon_up_only':'mon_up'" @click="selectTimeBtn(item.day)"> {{item.day}} </view>
|
||||
<view class="mon_down"> {{item.week}} </view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="time_slot">
|
||||
<view :class="onlySel==item.workingTime?'ts_only':item.past ?'ts_grey':'ts'" v-for="item in pastTimeSlots"
|
||||
:key="item.id" @click="item.past ? null : selectSlot(item.workingTime)">
|
||||
{{item.workingTime}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="selectedtime">
|
||||
<view class="select">
|
||||
<text class="sel_txt">已选择</text>
|
||||
<view class="sel_down"> {{month}}月{{day}}日 {{thisHour?thisHour:'请选时间'}} </view>
|
||||
</view>
|
||||
<view class="surebtn" @click="sureBtn"> 确认预约 </view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getTimeAPI, getDateListAPI } from '@/api/serve/repair/repair'
|
||||
import { mapGetters } from 'vuex'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
onlySel: '',
|
||||
// 获取时间块
|
||||
dateData: {
|
||||
merId: null,
|
||||
workingDay: ''
|
||||
},
|
||||
dateDataList: [],
|
||||
ofWeek: null,
|
||||
workingDay: '',
|
||||
workingTime: '',
|
||||
year: '',
|
||||
month: '',
|
||||
day: '',
|
||||
thisHour: '',
|
||||
nowDay: '',
|
||||
nowYear: '',
|
||||
}
|
||||
},
|
||||
onShow() {
|
||||
this.getTimeList()
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(['checkIds', 'merId']),
|
||||
daysOfWeek() {
|
||||
const weeks = ['周日', '周一', '周二', '周三', '周四', '周五', '周六'];
|
||||
let daysOfWeek = [];
|
||||
for (let i = 0; i < 7; i++) {
|
||||
let d = new Date(this.dateData.workingDay);
|
||||
d.setDate(d.getDate() + i);
|
||||
daysOfWeek.push({
|
||||
id: i + 1,
|
||||
year: d.getFullYear(),
|
||||
month: d.getMonth() + 1,
|
||||
day: d.getDate(),
|
||||
week: weeks[d.getDay()]
|
||||
});
|
||||
}
|
||||
return daysOfWeek;
|
||||
},
|
||||
// 时间段
|
||||
pastTimeSlots() {
|
||||
const now = new Date(this.dateData.workingDay);
|
||||
const nowMinutes = now.getHours() * 60 + now.getMinutes();
|
||||
return this.dateDataList.map(slot => {
|
||||
const end = slot.workingTime.split('-')[1];
|
||||
const endMinutes = parseInt(end.split(':')[0]) * 60 + parseInt(end.split(':')[1]);
|
||||
return this.day > this.nowDay || (this.year > this.nowYear) ? { ...slot } : {
|
||||
...slot,
|
||||
past: nowMinutes >
|
||||
endMinutes
|
||||
};
|
||||
});
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getTimeList() {
|
||||
this.dateData.merId = this.merId
|
||||
// 当前时间
|
||||
getTimeAPI().then(res=>{
|
||||
console.log(res, '当前时间');
|
||||
this.dateData.workingDay = res.data.day
|
||||
this.ofWeek = res.data.dayOfWeek
|
||||
this.getTime(res.data.day)
|
||||
}).catch(err=>{
|
||||
this.$toast(err)
|
||||
})
|
||||
// 时间块
|
||||
getDateListAPI(this.dateData).then(res1=>{
|
||||
this.dateDataList = res1.data
|
||||
}).catch(err=>{
|
||||
this.$toast(err)
|
||||
})
|
||||
},
|
||||
// 选择哪天
|
||||
selectTimeBtn(str) {
|
||||
// console.log(str,'点击选择');
|
||||
this.onlySel = ''
|
||||
this.daysOfWeek.forEach(ele => {
|
||||
// console.log(ele,'elele');
|
||||
if (ele.day == str) {
|
||||
this.year = ele.year
|
||||
this.month = ele.month
|
||||
this.day = ele.day
|
||||
}
|
||||
});
|
||||
},
|
||||
// 时间段
|
||||
selectSlot(str) {
|
||||
// console.log(str,'时间段');
|
||||
this.thisHour = str
|
||||
this.onlySel = str
|
||||
},
|
||||
getTime(dateTime) {
|
||||
const d = new Date(dateTime)
|
||||
this.year = d.getFullYear()
|
||||
this.month = d.getMonth() + 1
|
||||
this.day = d.getDate()
|
||||
this.nowDay = d.getDate()
|
||||
this.nowYear = d.getFullYear()
|
||||
},
|
||||
|
||||
sureBtn() {
|
||||
this.workingDay = this.year + '-' + this.month + '-' + this.day;
|
||||
this.workingTime = this.thisHour
|
||||
this.$store.dispatch('WorkingDay', this.workingDay)
|
||||
this.$store.dispatch('WorkingTime', this.workingTime)
|
||||
uni.navigateBack({
|
||||
url: `/pages/serve/repair/re_create/reservation`
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.selectedtime {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
position: absolute;
|
||||
bottom: 50rpx;
|
||||
width: 90%;
|
||||
|
||||
.select {
|
||||
width: 40%;
|
||||
height: 96rpx;
|
||||
|
||||
.sel_txt {
|
||||
font-size: 24rpx;
|
||||
font-weight: 400;
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
.sel_down {
|
||||
font-size: 24rpx;
|
||||
font-weight: 400;
|
||||
color: #111111;
|
||||
margin-top: 8rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.surebtn {
|
||||
width: 60%;
|
||||
height: 96rpx;
|
||||
background: #13AFA8;
|
||||
border-radius: 48rpx;
|
||||
opacity: 1;
|
||||
text-align: center;
|
||||
line-height: 96rpx;
|
||||
font-size: 28rpx;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
}
|
||||
|
||||
.time_slot {
|
||||
// border: 1px solid red;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
margin-top: 72rpx;
|
||||
|
||||
.ts_grey {
|
||||
width: 48%;
|
||||
height: 64rpx;
|
||||
text-align: center;
|
||||
line-height: 64rpx;
|
||||
background: #F5F5F5;
|
||||
border-radius: 8rpx;
|
||||
opacity: 1;
|
||||
font-size: 28rpx;
|
||||
font-weight: 400;
|
||||
color: #999999;
|
||||
margin-bottom: 32rpx;
|
||||
}
|
||||
|
||||
.ts {
|
||||
width: 48%;
|
||||
height: 64rpx;
|
||||
text-align: center;
|
||||
line-height: 64rpx;
|
||||
background: #F5F5F5;
|
||||
border-radius: 8rpx;
|
||||
opacity: 1;
|
||||
font-size: 28rpx;
|
||||
font-weight: 400;
|
||||
color: #111111;
|
||||
margin-bottom: 32rpx;
|
||||
}
|
||||
|
||||
.ts_only {
|
||||
width: 48%;
|
||||
height: 64rpx;
|
||||
text-align: center;
|
||||
line-height: 62rpx;
|
||||
background: #13AFA8;
|
||||
border-radius: 8rpx;
|
||||
opacity: 1;
|
||||
font-size: 28rpx;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
margin-bottom: 32rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.time_up {
|
||||
.up_up {
|
||||
font-size: 32rpx;
|
||||
font-weight: 500;
|
||||
color: #222222;
|
||||
margin-bottom: 32rpx;
|
||||
}
|
||||
|
||||
.up_cen {
|
||||
// border: 1px solid blue;
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.mon {
|
||||
margin: 0 auto;
|
||||
|
||||
.mon_up_grey {
|
||||
width: 64rpx;
|
||||
height: 64rpx;
|
||||
text-align: center;
|
||||
line-height: 64rpx;
|
||||
background: #F5F5F5;
|
||||
border-radius: 52rpx;
|
||||
opacity: 1;
|
||||
font-size: 24rpx;
|
||||
font-weight: 400;
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
.mon_up_only {
|
||||
width: 64rpx;
|
||||
height: 64rpx;
|
||||
text-align: center;
|
||||
line-height: 64rpx;
|
||||
background: #13AFA8;
|
||||
border-radius: 52rpx;
|
||||
opacity: 1;
|
||||
font-size: 24rpx;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
.mon_up {
|
||||
width: 64rpx;
|
||||
height: 64rpx;
|
||||
text-align: center;
|
||||
line-height: 62rpx;
|
||||
border-radius: 52rpx;
|
||||
opacity: 1;
|
||||
border: 2rpx solid #AAAAAA;
|
||||
font-size: 24rpx;
|
||||
font-weight: 400;
|
||||
color: #111111;
|
||||
}
|
||||
|
||||
.mon_down_grey {
|
||||
font-size: 28rpx;
|
||||
font-weight: 400;
|
||||
color: #999999;
|
||||
margin-top: 10rpx;
|
||||
}
|
||||
|
||||
.mon_down {
|
||||
font-size: 28rpx;
|
||||
font-weight: 400;
|
||||
color: #111111;
|
||||
margin-top: 10rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.retime {
|
||||
height: 100vh;
|
||||
padding: 32rpx;
|
||||
background: #FFFFFF;
|
||||
position: relative;
|
||||
}
|
||||
</style>
|
||||
@@ -1,14 +1,24 @@
|
||||
<template>
|
||||
<view class="unbindresult">
|
||||
<view class="re_up">
|
||||
<image class="re_img" src="@/static/images/app/serve/real_result_submit.png" mode=""></image>
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<image class="re_img" :src="`${config.aliyunOssUrl}/static/images/app/serve/real_result_submit.png`" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<image class="re_img" src="@/static/images/app/serve/real_result_submit.png" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<view class="re_txt"> 您的资料已经提交成功 </view>
|
||||
</view>
|
||||
<view class="re_inspect" @click="toBindingPage"> 返回维修页面 </view>
|
||||
<u-popup :show="showBinding" mode="center" @close="showBinding=false" :safeAreaInsetBottom='false'>
|
||||
<view class="allView">
|
||||
<view class="show_img">
|
||||
<image src="@/static/images/app/serve/real_result_bgc.png" mode=""></image>
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<image :src="`${config.aliyunOssUrl}/static/images/app/serve/real_result_bgc.png`" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<image src="@/static/images/app/serve/real_result_bgc.png" mode=""></image>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
<view class="big_txt"> 绑定车辆 </view>
|
||||
<view class="small_txt"> 绑定后更有利于您的管理,请去绑定 </view>
|
||||
@@ -22,9 +32,11 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import config from '@/config'
|
||||
export default{
|
||||
data(){
|
||||
return{
|
||||
config,
|
||||
showBinding:true
|
||||
}
|
||||
},
|
||||
|
||||
@@ -10,7 +10,12 @@
|
||||
<view class="top">
|
||||
<view class="top_txt">填写个人信息</view>
|
||||
<view class="top_imgview">
|
||||
<image src="@/static/images/app/serve/realname_bgc.png"></image>
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<image :src="`${config.aliyunOssUrl}/static/images/app/serve/realname_bgc.png`"></image>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<image src="@/static/images/app/serve/realname_bgc.png"></image>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
</view>
|
||||
<view class="formview">
|
||||
@@ -37,10 +42,21 @@
|
||||
<view class="upload-box">
|
||||
<view class="content flex-wrap align-center">
|
||||
<view class="image-box rel" v-for="(item,index) in imageList" :key="index">
|
||||
<image :src="item" mode=""></image>
|
||||
<image @click="DelPic(index)" class="reduce abs" src="@/static/images/app/serve/realname_clea.png" mode=""></image>
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<image :src="item" mode=""></image>
|
||||
<image @click="DelPic(index)" class="reduce abs" :src="`${config.aliyunOssUrl}/static/images/app/serve/realname_clea.png`" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<image :src="item" mode=""></image>
|
||||
<image @click="DelPic(index)" class="reduce abs" src="@/static/images/app/serve/realname_clea.png" mode=""></image>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
<image src="@/static/images/app/serve/realname_upload.png" mode="" @click="getImage"></image>
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<image :src="`${config.aliyunOssUrl}/static/images/app/serve/realname_upload.png`" mode="" @click="getImage"></image>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<image src="@/static/images/app/serve/realname_upload.png" mode="" @click="getImage"></image>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -49,9 +65,11 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import config from '@/config'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
config,
|
||||
isShow: true,
|
||||
userInfo: {
|
||||
id: null,
|
||||
|
||||
@@ -1,29 +1,48 @@
|
||||
<template>
|
||||
<view class="content">
|
||||
<view class="con_imgview">
|
||||
<u-swiper height="370rpx" :list="list" :circular="true" imgMode="widthFix" keyName="image"
|
||||
:imgMode="aspectFit"></u-swiper>
|
||||
<u-swiper height="370rpx" :list="list" :circular="true" imgMode="widthFix" keyName="image" :imgMode="aspectFit"></u-swiper>
|
||||
</view>
|
||||
<view class="con_type">
|
||||
<view class="title">
|
||||
<text>选择维修类型</text>
|
||||
</view>
|
||||
<view class="typeview">
|
||||
<view class="typeview_one" @click="toRepair">
|
||||
<view class="typeview_one" @click="toRepair(1)">
|
||||
<text class="typetxt">常规保养</text>
|
||||
<image class="type_img" src="@/static/images/app/serve/repair_conserve.png"></image>
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<image class="type_img" :src="`${config.aliyunOssUrl}/static/images/app/serve/repair_conserve.png`" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<image class="type_img" src="@/static/images/app/serve/repair_conserve.png"></image>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
<view class="typeview_one" @click="toRepair">
|
||||
<view class="typeview_one" @click="toRepair(2)">
|
||||
<text class="typetxt">故障维修</text>
|
||||
<image class="type_img" src="@/static/images/app/serve/repair_fault.png"></image>
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<image class="type_img" :src="`${config.aliyunOssUrl}/static/images/app/serve/repair_fault.png`" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<image class="type_img" src="@/static/images/app/serve/repair_fault.png"></image>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
<view class="typeview_one" @click="toRepair">
|
||||
<view class="typeview_one" @click="toRepair(3)">
|
||||
<text class="typetxt">事故维修</text>
|
||||
<image class="type_img" src="@/static/images/app/serve/repair_accident.png"></image>
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<image class="type_img" :src="`${config.aliyunOssUrl}/static/images/app/serve/repair_accident.png`" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<image class="type_img" src="@/static/images/app/serve/repair_accident.png"></image>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
<view class="typeview_one" @click="toRepair">
|
||||
<view class="typeview_one" @click="toRepair(4)">
|
||||
<text class="typetxt">退车</text>
|
||||
<image class="type_img" src="@/static/images/app/serve/repair_refund.png"></image>
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<image class="type_img" :src="`${config.aliyunOssUrl}/static/images/app/serve/repair_refund.png`" mode=""></image>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP -->
|
||||
<image class="type_img" src="@/static/images/app/serve/repair_refund.png"></image>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
</view>
|
||||
<view class="foottxt">
|
||||
@@ -34,18 +53,35 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getCarouselAPI } from '@/api/serve/repair/repair'
|
||||
import config from '@/config';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
list:[
|
||||
require('@/static/images/app/serve/repair_swiper.png'),
|
||||
require('@/static/images/app/serve/repair_swiper.png'),
|
||||
]
|
||||
// list:[
|
||||
// require('@/static/images/app/serve/repair_swiper.png'),
|
||||
// require('@/static/images/app/serve/repair_swiper.png'),
|
||||
// ],
|
||||
list:[],
|
||||
config,
|
||||
}
|
||||
},
|
||||
|
||||
onShow() {
|
||||
this.getCarousel()
|
||||
},
|
||||
methods: {
|
||||
toRepair() {},
|
||||
getCarousel() {
|
||||
getCarouselAPI().then(res=>{
|
||||
console.log(res,'维修页面---轮播图');
|
||||
this.list = res.data.list
|
||||
}).catch(err=>{
|
||||
this.$toast(err)
|
||||
})
|
||||
},
|
||||
toRepair(num) {
|
||||
this.$store.dispatch('HomeNum', num)
|
||||
uni.navigateTo({ url: `/pages/serve/repair/re_create/select_store` })
|
||||
},
|
||||
toFault() {},
|
||||
toAccident() {},
|
||||
toRefund() {},
|
||||
@@ -56,12 +92,9 @@
|
||||
<style lang="scss" scoped>
|
||||
.content {
|
||||
padding: 16rpx 32rpx 36rpx 32rpx;
|
||||
// border-bottom: 1rpx solid #f5f5f5;
|
||||
|
||||
.con_imgview {
|
||||
margin-bottom: 32rpx;
|
||||
width: 686rpx;
|
||||
height: 370rpx;
|
||||
}
|
||||
|
||||
.con_type {
|
||||
|
||||
BIN
static/images/app/serve/re_result.png
Normal file
BIN
static/images/app/serve/re_result.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 40 KiB |
@@ -16,5 +16,17 @@ const getters = {
|
||||
workingHours: state => state.form.workingHours,
|
||||
garage: state => state.form.garage,
|
||||
materialRequisition: state => state.form.materialRequisition,
|
||||
checkIds: state => state.tools.checkIds,
|
||||
orderIds: state => state.tools.orderIds,
|
||||
citySave: state => state.tools.citySave,
|
||||
selectCity: state => state.tools.selectCity,
|
||||
homenum: state => state.tools.homenum,
|
||||
carNo: state => state.tools.carNo,
|
||||
setupnum: state => state.tools.setupnum,
|
||||
merId: state => state.tools.merId,
|
||||
orderInfo: state => state.tools.orderInfo,
|
||||
workingDay: state => state.tools.workingDay,
|
||||
workingTime: state => state.tools.workingTime,
|
||||
userInfo: state => state.user.userInfo
|
||||
}
|
||||
export default getters
|
||||
|
||||
@@ -4,6 +4,8 @@ import user from '@/store/modules/user'
|
||||
import form from '@/store/modules/form'
|
||||
import pageManager from '@/store/modules/pageManager'
|
||||
import websocket from '@/store/modules/websocket'
|
||||
import tools from '@/store/modules/tools'
|
||||
import binding from '@/store/modules/binding'
|
||||
import getters from './getters'
|
||||
|
||||
Vue.use(Vuex)
|
||||
@@ -13,7 +15,9 @@ const store = new Vuex.Store({
|
||||
user,
|
||||
websocket,
|
||||
pageManager,
|
||||
form
|
||||
form,
|
||||
tools,
|
||||
binding
|
||||
},
|
||||
getters
|
||||
})
|
||||
|
||||
33
store/modules/binding.js
Normal file
33
store/modules/binding.js
Normal file
@@ -0,0 +1,33 @@
|
||||
import storage from '@/utils/storage'
|
||||
import constant from '@/utils/constant'
|
||||
|
||||
const binding = {
|
||||
state: {
|
||||
formData: {
|
||||
carNo: "",
|
||||
category: null,
|
||||
company: "",
|
||||
driveLicense: "",
|
||||
ownerName: "",
|
||||
type: null,
|
||||
unbindTime: ""
|
||||
},
|
||||
},
|
||||
|
||||
mutations: {
|
||||
SET_FORM: (state, city) => {
|
||||
state.citySave = city
|
||||
}
|
||||
},
|
||||
|
||||
actions: {
|
||||
SetCity({
|
||||
commit
|
||||
}, city) {
|
||||
console.log('vuex', city);
|
||||
commit('SET_FORM', city)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default binding
|
||||
115
store/modules/tools.js
Normal file
115
store/modules/tools.js
Normal file
@@ -0,0 +1,115 @@
|
||||
import storage from '@/utils/storage'
|
||||
import constant from '@/utils/constant'
|
||||
|
||||
const tools = {
|
||||
state: {
|
||||
checkIds: uni.getStorageSync('vuex_checkIds') || [],
|
||||
orderIds: uni.getStorageSync('vuex_orderIds') || [],
|
||||
citySave: '',
|
||||
selectCity:'', // 选择城市
|
||||
homenum: null, // 区别repairType
|
||||
carNo: '', // 车牌号
|
||||
setupnum: null, // 区别协议隐私
|
||||
merId:null, // 维修店id
|
||||
orderInfo:{}, // 工单信息(重新提交)
|
||||
workingDay:'', // 年月日
|
||||
workingTime:'', // 时间段
|
||||
},
|
||||
|
||||
mutations: {
|
||||
SET_CHECKIDS: (state, id) => {
|
||||
if (id) {
|
||||
state.checkIds.push(id)
|
||||
uni.setStorageSync('vuex_checkIds', state.checkIds)
|
||||
} else {
|
||||
state.checkIds = []
|
||||
uni.setStorageSync('vuex_checkIds', [])
|
||||
}
|
||||
},
|
||||
SET_CITY: (state, city) => {
|
||||
state.citySave = city
|
||||
},
|
||||
SET_SELECTCITY: (state, selectCity) => {
|
||||
state.selectCity = selectCity
|
||||
},
|
||||
SET_CARNO: (state, carNo) => {
|
||||
state.carNo = carNo
|
||||
},
|
||||
SET_HOMENUM: (state, num) => {
|
||||
state.homenum = num
|
||||
},
|
||||
SET_SETUPNUM: (state, num) => {
|
||||
state.setupnum = num
|
||||
},
|
||||
SET_MERID: (state, merId) => {
|
||||
state.merId = merId
|
||||
},
|
||||
SET_ORDERINFO: (state, orderInfo) => {
|
||||
state.orderInfo = orderInfo
|
||||
},
|
||||
SET_ORDERIDS: (state, id) => {
|
||||
if (id) {
|
||||
state.orderIds.push(id)
|
||||
uni.setStorageSync('vuex_orderIds', state.orderIds)
|
||||
} else {
|
||||
state.orderIds = []
|
||||
uni.setStorageSync('vuex_orderIds', [])
|
||||
}
|
||||
},
|
||||
SET_WORKINGDAY: (state, workingDay) => {
|
||||
state.workingDay = workingDay
|
||||
},
|
||||
SET_WORKINGTIME: (state, workingTime) => {
|
||||
state.workingTime = workingTime
|
||||
},
|
||||
},
|
||||
|
||||
actions: {
|
||||
CheckIds({ commit }, id) {
|
||||
console.log('vuex', id);
|
||||
commit('SET_CHECKIDS', id)
|
||||
},
|
||||
OrderIds({ commit }, id) {
|
||||
console.log('OrderIds', id);
|
||||
commit('SET_ORDERIDS', id)
|
||||
},
|
||||
SetCity({ commit }, city) {
|
||||
console.log('vuex', city);
|
||||
commit('SET_CITY', city)
|
||||
},
|
||||
SelectCity({ commit }, selectCity) {
|
||||
console.log('vuex-selectCity', selectCity);
|
||||
commit('SET_SELECTCITY', selectCity)
|
||||
},
|
||||
CarNo({ commit }, carNo) {
|
||||
console.log('vuex-carNo', carNo);
|
||||
commit('SET_CARNO', carNo)
|
||||
},
|
||||
HomeNum({ commit }, num) {
|
||||
console.log('vuex-num', num);
|
||||
commit('SET_HOMENUM', num)
|
||||
},
|
||||
SetupNum({ commit }, num) {
|
||||
console.log('vuex-num', num);
|
||||
commit('SET_SETUPNUM', num)
|
||||
},
|
||||
MerId({ commit }, merId) {
|
||||
console.log('vuex-merId', merId);
|
||||
commit('SET_MERID', merId)
|
||||
},
|
||||
OrderInfo({ commit }, orderInfo) {
|
||||
console.log('vuex-orderInfo', orderInfo);
|
||||
commit('SET_ORDERINFO', orderInfo)
|
||||
},
|
||||
WorkingDay({ commit }, workingDay) {
|
||||
console.log('vuex-workingDay', workingDay);
|
||||
commit('SET_WORKINGDAY', workingDay)
|
||||
},
|
||||
WorkingTime({ commit }, workingTime) {
|
||||
console.log('vuex-workingTime', workingTime);
|
||||
commit('SET_WORKINGTIME', workingTime)
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
export default tools
|
||||
@@ -1,5 +1,10 @@
|
||||
export default {
|
||||
props: {
|
||||
|
||||
item: {
|
||||
type:Array,
|
||||
default(){
|
||||
return []
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
class="u-index-item"
|
||||
:id="`u-index-item-${id}`"
|
||||
:class="[`u-index-item-${id}`]"
|
||||
@click="clickIndex"
|
||||
>
|
||||
<slot />
|
||||
</view>
|
||||
@@ -47,6 +48,10 @@
|
||||
this.init()
|
||||
},
|
||||
methods: {
|
||||
clickIndex(){
|
||||
// console.log(this.item);
|
||||
this.$emit('getItem',this.item)
|
||||
},
|
||||
init() {
|
||||
// 此处会活动父组件实例,并赋值给实例的parent属性
|
||||
this.getParentData('u-index-list')
|
||||
|
||||
Reference in New Issue
Block a user