hz-zhhq-app/pages/washcar/washCarReservation.vue

1126 lines
31 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class="hzIndex">
<hzHeader title="洗车预约"></hzHeader>
<view class="container hzContent">
<view class="main" :style="{paddingBottom:currentTabIndex == 0?'300upx':'180upx'}">
<!-- <view class="tab-box">
<view class="tab-item" :class="currentTabIndex == 0 ? 'active_tab' : ''"
@click="currentTabIndex = 0">洗车预约</view>
<view class="tab-item" :class="currentTabIndex == 1 ? 'active_tab' : ''"
@click="currentTabIndex = 1">预约记录</view>
</view> -->
<view class="tab-box">
<view class="tab-item" :class="currentTabIndex == 0 ? 'active_tab' : ''"
@click="currentTabIndex = 0">
洗车预约
<view class="tabBottom" v-if="currentTabIndex == 0"></view>
</view>
<view class="tab-item" :class="currentTabIndex == 1 ? 'active_tab' : ''"
@click="currentTabIndex = 1">
预约记录
<view class="tabBottom" v-if="currentTabIndex == 1"></view>
</view>
</view>
<!-- 预约表单 -->
<view class="reservation-box" v-if="currentTabIndex == 0 ">
<scroll-view scroll-x="true" class="scroll-view">
<view class="time-item-box" :class="chooseDateIndex == index ? 'time-active' : ''"
v-for="(item, index) in date" :key="index" @click="switchTab(index)">
<text class="time">{{ item.tiems.substr(5, 10) }}</text>
<text class="week">{{ item.week }}</text>
</view>
</scroll-view>
<view
v-if="this.date[this.chooseDateIndex].isholiday==2||(this.date[this.chooseDateIndex].isholiday!=1&&this.date[this.chooseDateIndex].week!='星期六'&&this.date[this.chooseDateIndex].week!='星期日')">
<!-- 选择日期 -->
<view class="selectTime">
<view class="dateTit">
<image src="@/static/haircut/date.png" mode=""></image>
<text style="font-size:30upx;color:#333;font-weight: 600;">选择时段</text>
</view>
<view class="time-box">
<view class="time-item"
:class="[chooseTimeIndex == index ? 'active' : '',item.count > 0 &&item.compareTime? '':'bg-gray']"
@click="item.count >0 &&item.compareTime ?chooseTime(index, item.count):''"
v-for="(item, index) in times" :key="index">
<view class="time-text">{{ item.time }}</view>
</view>
</view>
</view>
<view class="form-box selectTime">
<view class="dateTit">
<image src="@/static/haircut/loc2.png" mode=""></image>
<text style="font-size:30upx;color:#333;font-weight: 600;">地点</text>
</view>
<view class="form-item">
<view class="ipt-box select">
<picker class="picker" v-if="places.length > 0" :range="places"
@change="changePlace" range-key="name">
<view>{{ places[placeIndex]}}</view>
</picker>
</view>
</view>
<view class="form-item" v-if="places[placeIndex]=='科技楼'">
<text class="label">需要迁车</text>
<view class="ipt-box select">
<!-- <radio-group @change="radioChange">
<label v-for="(item, index) in moveCarItems" :key="item.value">
<view style="display: inline-block;margin-right: 20upx;">
<radio :value="item.value" :checked="item.value ==moveCarItemCheck"
color="#00c277" />
{{item.name}}
</view>
</label>
</radio-group> -->
<view class="selectQC" @click="radioChange(item,index)"
v-for="(item, index) in moveCarItems" :key="index">
<image class="radio"
:src="moveCarItemIndex == index?'../../static/haircut/radio2.png':'../../static/haircut/radio.png'"
mode=""></image>
<view class="text_2">
{{item.name}}
</view>
</view>
</view>
</view>
<!-- <view class="form-item">
<text class="label">车牌号</text>
<view class="ipt-box select">
<image class="arrow" src="/static/icons/right-arrow.png" mode=""></image>
<picker class="picker" v-if="licensePlateList.length > 0" :range="licensePlateList" @change="changeLicensePlateList" range-key="name">
<view>{{ licensePlateList[licensePlateListIndex]}}</view>
</picker>
</view>
</view> -->
<!-- <view class="form-item">
<text class="label">联系人</text>
<view class="ipt-box"><input type="text" placeholder="请填写预约人姓名" v-model="applyPersonName" /></view>
</view>
<view class="form-item">
<text class="label">联系电话</text>
<view class="ipt-box"><input type="number" placeholder="请填写预约人手机号" v-model="applyPersonMobile" /></view>
</view> -->
</view>
<view class="form-box selectTime">
<view class="dateTit">
<image src="@/static/haircut/cph.png" mode=""></image>
<text style="font-size:30upx;color:#333;font-weight: 600;">车牌号</text>
</view>
<view class="form-item">
<view class="ipt-box">
<input-autocomplete class="AUTO" v-model="carId" placeholder="请选择车牌号"
placeholderStyle="font-size:30upx" highlightColor="#FF0000"
:loadData="loadAutocompleteData"
v-on:selectItem="selectItemD"></input-autocomplete>
</view>
</view>
</view>
<!-- <view v-if="places[placeIndex]=='科技楼'&&moveCarItemCheck==1"
style="font-size: 28upx;color: red;background: #f8f8f8;padding:20upx 30upx">
提示请把车钥匙送到科技楼801室
</view> -->
<!-- 要求去除提示 -->
<!-- <view class="tips" v-if="places[placeIndex]=='科技楼'&&moveCarItemCheck==1">
<view class="tipsTit">
<image class="clock" src="@/static/haircut/tz.png" mode=""></image>
<text>提示请把车钥匙送到科技楼801室</text>
</view>
</view> -->
<!-- <view class="evaluate">
<view class="title">用户评价</view>
<view class="evaluate_item" v-for="(item,index) in commentList" :key="index">
<view class="user">
<text class="username input_left">{{item.userName}}</text>
<text>
<image v-for="(star,index) in item.level" :key="index" src="../../static/imgs/showstar.png" alt="">
</text>
</view>
<view class="text">{{item.content}}</view>
</view>
</view> -->
</view>
<view
v-if="this.date[this.chooseDateIndex].isholiday==0&&(this.date[this.chooseDateIndex].week=='星期六'||this.date[this.chooseDateIndex].week=='星期日')"
style="height: 100%;line-height: 400upx;text-align: center;color: #666;font-size: 32upx;">
今日周末不可预约
</view>
<view v-if="this.date[this.chooseDateIndex].isholiday==1"
style="height: 100%;line-height: 400upx;text-align: center;color: #666;font-size: 32upx;">
今日节假日不可预约
</view>
</view>
<view v-if="currentTabIndex==0&&licensePlateList.length<=0">
<view style="height: 100%;color: #666;font-size: 32upx;padding:80upx 20upx;">
您还没有登记过车牌号,或车牌号还在审核中,请确定已登记过车牌号并审核通过后再预约。
</view>
</view>
<!-- 预约记录列表 -->
<view v-if="currentTabIndex==1">
<view class="list-box" v-if="reservationList.length > 0">
<view class="detail" v-for="(item, index) in reservationList" :key="index">
<view class="detail_header">
<image class="blueSign" src="@/static/haircut/caricon.png" mode=""></image>
<text class="font-tilte">洗车预约</text>
<!-- <text class="slect_icon"></text> -->
<text class="font-result" v-if="item.int_status==0">预约成功</text>
<text class="font-result" v-if="item.int_status==1"
style="background: #FFEFE3;color: #FB8107;">已取消</text>
<text class="font-result" v-if="item.int_status==2"
style="background: #F6DFDF;color: #BD1515;">车主未至</text>
</view>
<view class="detail_msg">
<view class="info-item">
<text>预约时间:</text>
<text class="infoSpan">{{ item.timeQ }}</text>
</view>
<view class="info-item">
<text>预约地点:</text>
<text class="infoSpan">{{ item.apply_place }}</text>
</view>
<view class="info-item">
<text>申请时间:</text>
<text class="infoSpan">{{ formatDate(item.apply_time, 'dateTime') }}</text>
</view>
<!-- <view class="info-item">
<text>申请人:</text>
<text class="infoSpan">{{ item.userName }}</text>
</view>
<view class="info-item">
<text>联系人:</text>
<text class="infoSpan">{{ item.concatUserName }}</text>
</view>
<view class="info-item">
<text>申请电话:</text>
<text class="infoSpan">{{ item.concatPhone }}</text>
</view> -->
<view class="comment-btn"
v-if="item.conmentStatus == 0 &&item.compareTime&&item.int_status==0"
@click="goEvaluatePage(item.detailId)">评价</view>
<view class="comment-btn bg-ccc" v-if="item.conmentStatus == 1&&item.int_status==0">已评价
</view>
<view class="comment-btn" v-if="item.compareTimeCancle&&item.int_status==0"
@click="cancleWashCar(item)">取消</view>
</view>
</view>
</view>
<content-none v-else :padTop="20"></content-none>
</view>
<view
v-if="currentTabIndex == 0&&(this.date[this.chooseDateIndex].isholiday==2||(this.date[this.chooseDateIndex].isholiday!=1&&this.date[this.chooseDateIndex].week!='星期六'&&this.date[this.chooseDateIndex].week!='星期日'))">
<view class="occupied"></view>
<view class="footer-btn" style="z-index: 999;">
<view class="btn" @click="submit">提交预约</view>
</view>
</view>
<load-more v-if="currentTabIndex == 1" :loadingType="loadingType"
:contentText="contentText"></load-more>
</view>
</view>
</view>
</template>
<script>
import {
getDate,
alertTip,
callbackRequest,
getStorage,
regPhone,
formatDate
} from '@/common/util.js';
import {
getAllDept,
initWashCar,
applyWashCar,
getMyWashCarList,
getPlaceData,
cancleWashCar,
getCarsById
} from '@/common/api.js';
import loadMore from '@/components/loadMore.vue';
import contentNone from '@/components/contentNone.vue';
import inputAutocomplete from '@/components/input-autocomplete/input-autocomplete.vue';
export default {
components: {
loadMore,
contentNone,
inputAutocomplete
},
data() {
return {
page: 1,
pageSize: 10,
loadingType: 0, //0-loading前1-loading中2-没有更多了
contentText: {
contentdown: '上拉加载更多',
contentrefresh: '正在加载...',
contentnomore: '没有更多数据了'
},
userId: getStorage('userInfo').id,
currentTabIndex: 0,
// date: getDate().then(v => {
// console.log(11111111)
// console.log(v)
// this.date = v;
// }), //获取近30天日期
date: getDate(),
chooseDateIndex: 0, //选中的日期
times: [
// { id: '1', time: '08:30-09:15', count: 1, status: 0 },
// { id: '2', time: '09:15-10:00', count: 1, status: 1 },
// { id: '3', time: '10:00-10:45', count: 1, status: 0 },
// { id: '4', time: '10:45-11:30', count: 1, status: 1 },
// { id: '5', time: '11:30-12:15', count: 1, status: 0 },
// { id: '6', time: '12:15-13:00', count: 1, status: 0 },
// { id: '7', time: '13:00-13:45', count: 1, status: 1 },
// { id: '8', time: '13:45-14:30', count: 1, status: 0 },
// { id: '9', time: '14:30-15:15', count: 1, status: 0 },
// { id: '10', time: '15:15-16:00', count: 1, status: 1 },
// { id: '11', time: '16:00-16:45', count: 1, status: 0 },
// { id: '12', time: '16:45-17:30', count: 1, status: 0 }
],
chooseTimeIndex: null,
deptList: [], //部门列表
places: [],
placeIndex: 0,
departmentIndex: 0, //选择的部门下标
applyPersonName: getStorage('userInfo').username, //申请人姓名
applyPersonMobile: getStorage('userInfo').telnumber, //申请人手机
carId: '',
commentList: [],
reservationList: [],
formatDate: formatDate,
licensePlateList: [],
licensePlateListIndex: 0,
moveCarItems: [{
value: '1',
name: '是'
},
{
value: '0',
name: '否'
}
],
moveCarItemIndex: 0,
moveCarItemCheck: 1
};
},
onLoad(option) {
this.currentTabIndex = option.currentTabIndex || 0;
},
onShow() {
this.getCalendar();
this.getDepartment();
if (this.currentTabIndex == 0) {
this.getCarsById(); //洗车 车牌号
this.getPlaceData(); //洗车地点
} else {
this.page = 1;
this.loadingType = 0;
this.getReservationRecord();
}
},
watch: {
currentTabIndex: function(newVal, oldVal) {
if (newVal == 1) {
this.page = 1;
this.loadingType = 0;
this.getReservationRecord();
} else {
this.initData();
}
}
},
methods: {
getCalendar(params) {
let params2 = {
method: "greenCalendar/getCalendarList",
data: {
date_name: this.date[0].tiems,
}
};
callbackRequest(params2).then(res => {
if (res.data.returnCode == 1) {
var list = res.data.returnData;
for (var j = 0; j < this.date.length; j++) {
var fl = true;
for (var i = 0; i < list.length; i++) {
if (list[i].date_name == this.date[j].tiems) {
this.$set(this.date[j], 'isholiday', list[i].isholiday);
fl = false;
}
}
if (fl) {
this.$set(this.date[j], 'isholiday', '0');
}
}
}
});
},
compareTime(time1) {
// var endTime = time1.split("-")[0];
// var endDate = this.date[this.chooseDateIndex].tiems+" "+endTime;
// endDate = endDate.replace(/-/g,'/');
// var endDateTime = new Date(endDate).getTime();
// var nowDateTime = new Date().getTime();
// if(endDateTime>nowDateTime){
// return true;
// }else{
// return false;
// }
// var todayTime = this.date[0].tiems.replace(/-/g,'/')+" 12:15";
// var nowDateTime = new Date().getTime();
// var chooseTime = this.date[this.chooseDateIndex].tiems.replace(/-/g,'/')+" "+endTime;
var chooseDay = this.date[this.chooseDateIndex].tiems.replace(/-/g, '/');
var today = this.date[0].tiems.replace(/-/g, '/');
var timeNode = this.date[0].tiems.replace(/-/g, '/') + " 12:15:00";
var chooseNodeStartTime = time1.split("-")[0];
var chooseTime = this.date[this.chooseDateIndex].tiems.replace(/-/g, '/') + " " + chooseNodeStartTime +
":00";
if (new Date(chooseDay).getTime() > new Date(today).getTime()) {
return true;
} else {
// if (new Date().getTime() > new Date(timeNode).getTime()) {
// return false;
// } else {
// var timeNode2 = this.date[0].tiems.replace(/-/g, '/') + " 13:00:00";
// if (new Date(chooseTime).getTime() >= new Date(timeNode2).getTime()) {
// return true;
// } else {
// return false;
// }
// }
// var timeNode2 = this.date[0].tiems.replace(/-/g, '/') + " 13:00:00";
if (new Date(chooseTime).getTime() >= new Date().getTime()) {
return true;
} else {
return false;
}
}
},
compareTimeForCancle(date, time) {
var endTime = time.split("-")[0];
var endDate = date + " " + endTime;
endDate = endDate.replace(/-/g, '/');
var endDateTime = new Date(endDate).getTime();
var nowDateTime = new Date().getTime();
if (endDateTime > nowDateTime) {
return true;
} else {
return false;
}
},
compareTimeForRecord(date, time) {
var endTime = time.split("-")[0];
var endDate = date + " " + endTime;
endDate = endDate.replace(/-/g, '/');
var endDateTime = new Date(endDate).getTime();
var nowDateTime = new Date().getTime();
if (endDateTime < nowDateTime) {
return true;
} else {
return false;
}
},
// 根据输入内容动态加载数据
loadAutocompleteData(value) {
let that = this.$root;
return Promise.resolve(this.licensePlateList);
},
//响应选择事件,接收选中的数据
selectItemD(data) {
console.log('收到数据了:', data);
},
getCarsById() {
let params = {
method: getCarsById,
data: {
userId: this.userId
}
};
callbackRequest(params).then(res => {
console.log("车牌号", res)
if (res.data.returnCode == 1) {
var licensePlateList = res.data.returnData;
this.licensePlateList = [];
for (var i = 0; i < licensePlateList.length; i++) {
this.licensePlateList.push(licensePlateList[i].CAR_NUM)
}
}
});
},
getPlaceData() {
let params = {
method: getPlaceData,
data: {
userId: this.userId
}
};
callbackRequest(params).then(res => {
if (res.data.returnCode == 1) {
var places = res.data.returnData.placeList;
this.places = [];
for (var i = 0; i < places.length; i++) {
this.places.push(places[i].data_value)
}
// var licensePlateList = res.data.returnData.licensePlateList;
// this.licensePlateList = [];
// for (var i = 0; i < licensePlateList.length; i++) {
// this.licensePlateList.push(licensePlateList[i].licenseplate)
// }
this.initData();
}
});
},
cancleWashCar(item) {
let params = {
method: cancleWashCar,
data: {
id: item.detailId,
intStatus: 1
}
};
callbackRequest(params).then(res => {
if (res.data.returnCode == 1) {
alertTip("已成功取消预约!");
this.page = 1;
this.loadingType = 0;
this.getReservationRecord();
} else {
alertTip(res.data.returnMsg);
}
});
},
initData() {
let params = {
method: initWashCar,
data: {
applyDate: this.date[this.chooseDateIndex].tiems,
applyPlace: this.places[this.placeIndex] || '',
userId: this.userId
}
};
callbackRequest(params).then(res => {
if (res.data.returnCode == 1) {
this.times = res.data.returnData.timeList;
for (var i = 0; i < this.times.length; i++) {
var compareTime = this.compareTime(this.times[i].time);
this.times[i].compareTime = compareTime;
}
console.log('时间段', this.times)
// var places = res.data.returnData.placeList;
// this.places=[];
// for(var i=0;i<places.length;i++){
// this.places.push(places[i].data_value)
// }
// var licensePlateList = res.data.returnData.licensePlateList;
// this.licensePlateList=[];
// for(var i=0;i<licensePlateList.length;i++){
// this.licensePlateList.push(licensePlateList[i].licenseplate)
// }
}
});
},
//获取部门列表
getDepartment() {
let data = {
method: getAllDept,
data: {}
};
callbackRequest(data).then(res => {
if (res.data.returnCode == 1) {
this.deptList = res.data.returnData;
}
});
},
//获取预约记录列表
getReservationRecord() {
let params = {
method: getMyWashCarList,
data: {
pageSize: this.pageSize,
pageNum: this.page,
userId: this.userId
}
};
callbackRequest(params).then(res => {
if (res.data.returnCode == 1) {
if (this.page == 1) {
this.reservationList = res.data.returnData;
} else {
if (res.data.returnData.length > 0) {
this.reservationList = [...this.reservationList, ...res.data.returnData];
this.loadingType = 0;
} else {
this.loadingType = 2;
}
}
for (var i = 0; i < this.reservationList.length; i++) {
var compareTime = this.compareTimeForRecord(this.reservationList[i].apply_date, this
.reservationList[i].apply_time_interval);
var compareTimeCancle = this.compareTimeForCancle(this.reservationList[i].apply_date,
this.reservationList[i].apply_time_interval);
this.reservationList[i].compareTime = compareTime;
this.reservationList[i].compareTimeCancle = compareTimeCancle;
}
}
});
},
//选择日期
switchTab(index) {
this.chooseTimeIndex = null;
this.chooseDateIndex = index;
this.initData();
},
//选择时间段
chooseTime(index, num) {
if (num == 0) {
alertTip('该时间段已约满,请选择其它时间段');
this.chooseTimeIndex = null;
return false;
} else {
this.chooseTimeIndex = index;
}
},
changePlace(e) {
this.placeIndex = e.detail.value;
this.initData();
},
radioChange(item, index) {
this.moveCarItemIndex = index
this.moveCarItemCheck = item.value;
},
changeLicensePlateList(e) {
this.licensePlateListIndex = e.detail.value;
},
//提交预约
submit() {
if (this.chooseTimeIndex == null) {
alertTip('请选择预约时间段');
return false;
}
if (!this.applyPersonName) {
alertTip('请输入预约人姓名');
return false;
}
if (!regPhone.test(this.applyPersonMobile)) {
alertTip('请输入正确的手机号');
return false;
}
// if (this.placeIndex) {
// alertTip('请选择洗车地点');
// return false;
// }
var licensePlateReg = new RegExp(
/^(([\u4eac\u6d25\u6caa\u6e1d\u5180\u8c6b\u4e91\u8fbd\u9ed1\u6e58\u7696\u9c81\u65b0\u82cf\u6d59\u8d63\u9102\u6842\u7518\u664b\u8499\u9655\u5409\u95fd\u8d35\u7ca4\u9752\u85cf\u5ddd\u5b81\u743c\u4f7f\u9886][A-Z](([0-9]{6}[DF])|([DF]([A-HJ-NP-Z0-9])[0-9]{4})))|([\u4eac\u6d25\u6caa\u6e1d\u5180\u8c6b\u4e91\u8fbd\u9ed1\u6e58\u7696\u9c81\u65b0\u82cf\u6d59\u8d63\u9102\u6842\u7518\u664b\u8499\u9655\u5409\u95fd\u8d35\u7ca4\u9752\u85cf\u5ddd\u5b81\u743c\u4f7f\u9886][A-Z][A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9\u6302\u5b66\u8b66\u6e2f\u6fb3\u4f7f\u9886]))$/
);;
// // if(data.isCar==1 ){
if (this.carId == "") {
alertTip("请输入车牌号");
return false;
}
// else {
// if (licensePlateReg.test(this.carId) === false) {
// alertTip("车牌号格式不正确");
// return;
// }
// if (this.licensePlateList.includes(this.carId)) {
// if (licensePlateReg.test(this.carId) === false) {
// alertTip("车牌号格式不正确");
// return;
// }
// } else {
// alertTip("车牌号未配置");
// return;
// }
// }
let params = {
method: applyWashCar,
data: {
userId: this.userId,
applyDate: this.date[this.chooseDateIndex].tiems,
applyTime: this.times[this.chooseTimeIndex].time,
applyTimeId: this.times[this.chooseTimeIndex].timeId,
deptId: this.deptList[this.departmentIndex].id,
deptName: this.deptList[this.departmentIndex].name,
concatUserName: this.applyPersonName,
concatPhone: this.applyPersonMobile,
applyPlace: this.places[this.placeIndex],
//licensePlate:this.licensePlateList[this.licensePlateListIndex]
licensePlate: this.carId,
moveCar: this.moveCarItemCheck
}
};
callbackRequest(params).then(res => {
if (res.data.returnCode == 1) {
alertTip('预约成功');
this.page = 1;
this.loadingType = 0;
setTimeout(_ => {
// this.applyPersonName = '';
// this.applyPersonMobile = '';
this.chooseTimeIndex = null;
this.currentTabIndex = 1;
}, 2000);
} else {
alertTip(res.data.returnMsg);
}
});
},
//去评价页面
goEvaluatePage(id) {
uni.navigateTo({
url: `/pages/order-form/evaluate?type=5&typeId=${id}`
});
}
},
onReachBottom() {
if (this.loadingType !== 0 || this.currentTabIndex != 1) {
return;
}
this.loadingType = 1;
this.page = this.page + 1;
this.getReservationRecord();
}
};
</script>
<style lang="scss">
@import '@/static/css/common.scss';
.hzIndex {
background-color: #f0f5fa;
}
.container {
padding: 22upx;
margin-top: 150upx;
// background: #f8f8f8;
.banner-box {
width: 100%;
height: 240upx;
position: absolute;
top: 0;
left: 0;
image {
width: 100%;
height: 100%;
}
}
.main {
.tab-box {
width: 80%;
display: flex;
font-size: 36upx;
color: #555555;
.active_tab {
font-weight: 800;
}
.tab-item {
width: 40%;
.tabBottom {
width: 28%;
height: 6upx;
border-radius: 5px;
background-image: linear-gradient(to right, #64E182, #1CA7B2);
}
}
}
.reservation-box {
// background: #fff;
.selectTime {
width: 100%;
padding: 20upx;
background-color: #fff;
border-radius: 20upx;
margin-top: 24upx;
}
.dateTit {
width: 100%;
display: flex;
align-items: center;
image {
width: 35upx;
height: 35upx;
margin-right: 10upx;
}
.leftIcon {
width: 8upx;
height: 30upx;
background-image: linear-gradient(to bottom, #82E7B3, #94B8EF);
border-radius: 5px;
margin-right: 10upx;
}
}
.time-box {
display: flex;
flex-wrap: wrap;
justify-content: start;
padding-top: 24upx;
.bg-gray {
opacity: 0.6;
color: #999999 !important;
background-color: #F2F6FA !important;
}
.time-item {
width: 30%;
margin-top: 20upx;
padding: 15upx 20upx;
// background: #F2F6FA;
border-radius: 9upx;
font-weight: 400;
font-size: 28upx;
// color: #999999;
margin-left: 5%;
background: #EDFCF7;
color: #0DB0A7;
border: 1px solid rgba(0, 0, 0, 0);
}
.time-item:nth-of-type(3n-2) {
margin-left: 0;
}
.active {
background: #EDFCF7;
color: #0DB0A7;
border: 1px solid #0DB0A7;
}
}
.form-box {
// padding: 20upx 30upx 50upx;
background: #fff;
.form-item {
overflow: hidden;
border-bottom: 1px solid #eee;
padding: 30upx;
.label {
float: left;
width: 150upx;
font-size: 28upx;
color: #333;
font-weight: bold;
line-height: 50upx;
}
.ipt-box {
input {
width: 100%;
height: 50upx;
line-height: 50upx;
font-size: 26upx;
color: #666;
}
.AUTO {
width: 100%;
height: 30upx;
line-height: 30upx;
font-size: 26upx;
color: #666;
}
}
.select {
display: flex;
flex-direction: row;
align-items: center;
.arrow {
float: right;
width: 16upx;
height: 29upx;
margin-top: 10upx;
}
.picker {
height: 50upx;
line-height: 50upx;
font-size: 26upx;
color: #666;
z-index: 999;
}
.selectQC {
display: flex;
flex-direction: row;
align-items: center;
.radio {
width: 40upx;
height: 40upx;
}
.text_2 {
margin-left: 10upx;
font-size: 28upx;
color: #555555;
}
}
.selectQC:nth-of-type(2) {
margin-left: 70upx;
}
}
}
.form-item:last-child {
border-bottom: 0px;
}
}
.tips {
width: 100%;
padding: 20upx;
background-color: #fff;
border-radius: 20upx;
margin-top: 20upx;
color: #FB8107;
font-size: 28upx;
.tipsTit {
width: 100%;
display: flex;
align-items: center;
}
.tipsCont {
margin-left: 38upx;
display: flex;
flex-direction: column;
}
.clock {
width: 36upx;
height: 36upx;
}
}
/* 评论 */
.evaluate {
padding-top: 30upx;
border-top: 1px solid #eee;
}
.evaluate .title {
font-size: 28upx;
color: #333;
font-weight: bold;
line-height: 40upx;
padding: 0 30rpx 30rpx;
}
.evaluate .evaluate_item {
border-bottom: 1px solid #eeeeee;
padding: 0 0 30upx 50upx;
}
.evaluate .evaluate_item:last-child {
border: none;
}
.evaluate .evaluate_item .user {
padding: 20upx 0;
}
.evaluate .evaluate_item .user .username {
font-size: 28rpx;
color: #666;
display: inline-block;
vertical-align: top;
padding-right: 20upx;
}
.evaluate .evaluate_item .user span image {
width: 40upx;
height: 40upx;
margin-right: 5upx;
}
.evaluate .evaluate_item .text {
font-size: 28upx;
color: #666;
line-height: 40upx;
}
}
}
.scroll-view {
margin-top: 34upx;
padding-top: 30upx;
white-space: nowrap;
width: 100%;
height: 120upx;
border-radius: 20upx;
background-color: #fff;
.time-item-box {
padding: 0 10upx;
margin: 0 16upx;
display: inline-block;
.time {
display: block;
width: 100%;
font-size: 28upx;
color: #999;
}
.week {
display: block;
width: 100%;
font-size: 28upx;
color: #999;
}
}
.time-active {
.time {
color: #0DB0A7;
font-weight: bold;
}
.week {
color: #0DB0A7;
font-weight: bold;
}
}
}
}
.list-box {
margin: unset;
margin-top: 36upx;
.detail {
// margin-top: 10upx;
margin-bottom: 24upx;
background: #ffffff;
border-radius: 20upx;
padding: 24upx;
}
.detail_header {
padding: 15upx 0upx;
border-bottom: 1px solid #eee;
display: flex;
flex-direction: row;
align-items: center;
position: relative;
}
.detail_header .blueSign {
width: 48upx;
height: 48upx;
}
.detail_header .font-tilte {
display: inline-block;
font-weight: bold;
font-size: 18px;
color: #333333;
margin-left: 16upx;
}
.detail_header .font-result {
display: inline-block;
position: absolute;
width: 80*2upx;
height: 28*2upx;
right: 0upx;
background: #C1EFEA;
border-radius: 15px 15px 15px 15px;
font-size: 28upx;
color: #0DB0A7;
text-align: center;
line-height: 28*2upx;
}
.detail_msg {
display: grid;
margin-top: 20upx;
}
.detail_msg .info-item {
font-size: 28upx;
color: #999999;
margin-bottom: 10upx;
font-size: 28upx;
line-height: 50upx;
text {
display: inline-block;
width: 140upx;
}
.infoSpan {
width: auto;
font-size: 28upx;
color: #666;
float: right;
}
}
.detail_msg .info-item:nth-of-type(3) {
padding-bottom: 24upx;
border-bottom: 1px solid #EBEFF7;
}
.detail_msg .info-item:last-child {
padding-bottom: 24upx;
border-bottom: 0px solid #000;
}
.comment-btn {
margin-top: 24upx;
width: 84*2upx;
height: 32*2upx;
border-radius: 16*2upx;
border: 1px solid #0DB0A7;
font-size: 28upx;
color: #0DB0A7;
line-height: 32*2upx;
text-align: center;
min-width: 140upx;
justify-self: end;
}
.bg-ccc {
border-color: #CACACA;
color: #CACACA;
background-color: #fff !important;
}
}
</style>