2.23(车商租车,买车订单列表

This commit is contained in:
Hong
2024-02-23 18:55:23 +08:00
parent 62c7a5c985
commit 85ed2f86a8
12 changed files with 377 additions and 550 deletions

View File

@@ -152,3 +152,18 @@ export function getInformationOrderList(data) {
params:data
})
}
//租车订单详情 /api/front/car/information/user/order/list
export function getInformationOrderDealer(id) {
return request({
url: `/api/front/car/information/user/order/info/${id}`,
method: 'get',
})
}
//申请提前还车 /api/front/car/information/user/order/list
export function getInformationGiveCar(data) {
return request({
url: `/api/front/car/information/user/give/car`,
method: 'post',
data
})
}

View File

@@ -1,31 +1,31 @@
export const carRentelList = [{
name: '全部',
value: 1
value: -1
}, {
name: '未提车',
value: 2
value: 0
}, {
name: '租赁期',
value: 3
value: 1
}, {
name: '已完成',
value: 4
value: 2
}, {
name: '已到期',
value: 5
}]
export const carSellList = [{
name: '全部',
value: 1
value: -1
}, {
name: '未提车',
value: 2
value: 0
}, {
name: '已完成',
value: 4
value: 1
}, {
name: '已取消',
value: 5
value: 2
}]
export const reportTypeList = [{

View File

@@ -13,38 +13,57 @@
<view class="user-data f-jcsb f-a-i">
<view class="f-a-i">
<view class="user-data-image">
<image src="@/static/images/logo/logo.png" mode=""></image>
<image :src="item.userAvatar" mode=""></image>
</view>
<view class="user-data-name">用户昵称</view>
<view class="user-data-name">{{item.nickname}}</view>
</view>
<view class="user-data-state">
<text v-if="item.status==0">待支付</text>
<text v-if="item.status==1">未提车</text>
<text v-if="item.status==2">
<text v-if="item.giveStatus==0">租赁期</text>
<text v-if="item.giveStatus==1">司机申请提前还车</text>
<text v-if="item.giveStatus==2">提前还车申请通过</text>
<text v-if="item.giveStatus==3">提前还车申请未通过</text>
</text>
<text v-if="item.status==3">已完成</text>
<text v-if="item.status==4">已取消</text>
</view>
<view class="user-data-state">已完成</view>
</view>
<view :class="['f-a-i','car-rental']">
<image src="@/static/images/logo/logo.png" mode=""></image>
<image :src="item.image" mode=""></image>
<view class="car-rental-cont">
<view class="car-rental-cont-name">汽车标题</view>
<view class="car-rental-cont-auto-age">车龄 1 | 租期 1</view>
<view class="car-rental-cont-price">198.00~3500<text
<view class="car-rental-cont-name">{{item.title}}</view>
<view class="car-rental-cont-auto-age">车龄 {{item.carAge}} | 租期 {{item.monthRent}}</view>
<view class="car-rental-cont-price">{{item.rentalPrice}}<text
class="car-rental-cont-price-tit">/</text>
</view>
</view>
</view>
<view class="f-jce f-a-i order-price">
<view>支付押金</view>
<text>¥5500</text>
<text>¥{{item.payPrice}}</text>
</view>
<view class="order-list-butt f-a-i justify-end">
<view class="f-a-i">
<view class="butt-list" @click.stop="">
<view class="butt-list" v-if="item.status!=1&&item.status!=0" @click.stop="">
<u-button type="primary" text="查看合同" plain color="#13AFA8" shape="circle"
:customStyle="{height:'56rpx'}"></u-button>
</view>
<view class="butt-list" @click.stop="navCarSubmitFn(item)">
<u-button type="primary" text="提车" plain color="#13AFA8" shape="circle"
<view class="butt-list" v-if="item.status==1" @click.stop="navAdvancedFn(item)">
<u-button type="primary" text="查看原因" plain color="#13AFA8" shape="circle"
:customStyle="{height:'56rpx'}"></u-button>
</view>
<view class="butt-list" @click.stop="navAdvancedFn(item)">
<u-button type="primary" text="查看原因" plain color="#13AFA8" shape="circle"
<view class="butt-list" v-if="item.isExpire" @click.stop="navAdvancedFn(item)">
<u-button type="primary" text="是否还车" plain color="#13AFA8" shape="circle"
:customStyle="{height:'56rpx'}"></u-button>
</view>
<view class="butt-list" v-if="!item.isExpire&&item.giveStatus==2" @click.stop="navAdvancedFn(item)">
<u-button type="primary" text="是否还车" plain color="#13AFA8" shape="circle"
:customStyle="{height:'56rpx'}"></u-button>
</view>
<view class="butt-list" v-if="item.status==1" @click.stop="navCarSubmitFn(item)">
<u-button type="primary" text="提车" plain color="#13AFA8" shape="circle"
:customStyle="{height:'56rpx'}"></u-button>
</view>
</view>
@@ -59,19 +78,22 @@
import {
carRentelList
} from "@/data/carShoptabs.js"
import {
getInformationOrderList
} from "@/api/carShop/order/order.js"
import config from '@/config';
export default {
data() {
return {
config,
carRentelList,
actTab: 1,
actTab: -1,
dataList: [],
};
},
methods: {
//提车
navCarSubmitFn(item){
navCarSubmitFn(item) {
uni.navigateTo({
url: `/pages/carShop/order/car_rental/car_submit?id=${item.id}`
})
@@ -98,14 +120,13 @@
let obj = {
page: pageNo,
limit: pageSize,
type: this.type
type: this.actTab
}
this.$refs.paging.complete([{
id: 1
}, {
id: 2
}]);
// this.$refs.paging.complete([{}, {}, {}, {}]);
getInformationOrderList(obj).then(res => {
console.log(res);
this.$refs.paging.complete(res.data.list);
})
},
}
}
@@ -153,6 +174,7 @@
image {
width: 100%;
height: 100%;
border-radius: 50%;
}
}

View File

@@ -7,26 +7,10 @@
<u-form labelPosition="left" :model="formData" ref="uForm" label-width='190rpx'>
<u-form-item label="租赁人" border-bottom='true'>
<view class="lr">
<u--input placeholder="请填写租赁人" v-model="formData.ownerName"
<u--input placeholder="请填写租赁人" v-model="formData.realName" disabled
placeholderStyle=" color: #999999 " border='none' inputAlign='right'></u--input>
</view>
</u-form-item>
<u-form-item label="品牌/车系" border-bottom='true'>
<view class="lr">
<u--input placeholder="请填写品牌/车系" v-model="formData.ownerName"
placeholderStyle=" color: #999999 " border='none' inputAlign='right'></u--input>
</view>
</u-form-item>
<u-form-item label="车型" border-bottom='true'>
<view class="lr" v-if="carInfo.modelName">
{{carInfo.modelName?carInfo.modelName:'--'}}
</view>
<view class="lr" v-else @click="showModelName=true">
<u--input placeholder="请选择车型(非必选)" v-model="formData.modelName" :readonly='true'
placeholderStyle=" color: #999999 " suffixIcon="arrow-right"
suffixIconStyle="color: #999999" border='none' inputAlign='right'></u--input>
</view>
</u-form-item>
<u-form-item label="车牌号码" border-bottom='true' prop="carNo"
:rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
<view class="fcar_letter" @click="keyboardShow=true">
@@ -64,25 +48,26 @@
</u-form-item>
<u-form-item label="租赁时间" border-bottom='true'>
<view class="lr">
6个月
{{formData.monthRent}}个月
</view>
</u-form-item>
<u-form-item label="租赁期限" prop="dataTime" @click="datetimeShow=true" border-bottom='false'>
<view class="lr" v-if="carInfo.unbindTime">
{{carInfo.unbindTime?carInfo.unbindTime:'--'}}
<u-form-item label="租赁期限" prop="dataTime" border-bottom='false'>
<view class="lr" v-if="formData.takeTime">
{{formData.takeTime?formData.takeTime:'--'}}
</view>
<view class="lr" v-else>
<u--input v-model="dataTime" placeholder="请选择开始日期" :readonly='true'
<u--input v-model="formData.takeTime" placeholder="请选择开始日期" :readonly='true'
suffixIcon="arrow-right" suffixIconStyle="color: #999999"
placeholderStyle=" color: #999999 " border="none" inputAlign='right'></u--input>
</view>
</u-form-item>
<u-form-item label="" prop="dataTime" @click="datetimeShow=true" border-bottom='true'>
<view class="lr" v-if="carInfo.unbindTime">
{{carInfo.unbindTime?carInfo.unbindTime:'--'}}
<!-- @click="datetimeShow=true" -->
<u-form-item label="" prop="dataTime" border-bottom='true'>
<view class="lr" v-if="formData.giveTime">
{{formData.giveTime?formData.giveTime:'--'}}
</view>
<view class="lr" v-else>
<u--input v-model="dataTime" placeholder="请选择结束日期" :readonly='true'
<u--input v-model="formData.giveTime" placeholder="请选择结束日期" :readonly='true'
suffixIcon="arrow-right" suffixIconStyle="color: #999999"
placeholderStyle=" color: #999999 " border="none" inputAlign='right'></u--input>
</view>
@@ -90,158 +75,62 @@
<u-form-item label="上传合同" border-bottom='true'>
<view class="form-item">
<view class="image-box rel">
<image class="upload-bg" v-show="formData.driveLicense" :src="formData.driveLicense"
<image class="upload-bg" v-show="formData.contractUrl" :src="formData.contractUrl"
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"
<image v-show="!formData.contractUrl" class="upload-bg"
src="@/static/images/icon/plus_box.png" mode=""
@click="upload('image', 'contractUrl')"></image>
<image v-show="formData.contractUrl" class="reduce abs"
src="@/static/images/app/serve/realname_clea.png" mode=""
@click="DelPic('driveLicense')"></image>
@click="DelPic('contractUrl')"></image>
</view>
</view>
</u-form-item>
</u-form>
</view>
</view>
<u-button @click="submit" :color='isFormDataEmpty ?"#84D2CF":"#13AFA8"' shape="circle">提交</u-button>
<u-button @click="submit" color="#13AFA8" shape="circle">提交</u-button>
<!-- 车牌号 -->
<u-keyboard mode="car" @change="keyboardChange" @confirm='keyboardConfirmBtn' :show="keyboardShow"
@backspace="backspace" safeAreaInsetBottom autoChange @cancel="cancel" @close="carClose">
<u-keyboard mode="car" @change="keyboardChange" :show="keyboardShow" @backspace="backspace"
safeAreaInsetBottom autoChange @cancel="cancel" @close="carClose" @confirm="carConfirm">
</u-keyboard>
<!-- 日期 -->
<u-datetime-picker ref="datetimePicker" :show="datetimeShow" v-model="datetimeValue" mode="date" title='请选择'
:formatter="formatter" @change="datetimeChange" @confirm='datetimeConfirmBtn'
@cancel="datetimeShow=false">
</u-datetime-picker>
<!-- 车型 -->
<u-popup :show="showModelName" mode="right" @close="showModelName=false">
<view class="model_view">
<view class="view_txt"> 请选择车型 </view>
<view class="list_view">
<u-list @scrolltolower="scrolltolower" height="400">
<u-list-item v-for="(item, index) in modelNameList" :key="index">
<u-cell :title="`${item.brandName} —— ${item.name}`" @click="clickCell(item)"></u-cell>
</u-list-item>
</u-list>
</view>
</view>
</u-popup>
<!-- 车辆类型 -->
<!-- <u-picker :show="showCategory" :columns="columnsCategory" keyName="category" @confirm='confirmCategoryBtn'
@cancel='showCategory=false'></u-picker> -->
<!-- 使用性质 -->
<!-- <u-picker :show="showType" :columns="columnsType" keyName="type" @confirm='confirmTypeBtn'
@cancel='showType=false'></u-picker> -->
<!-- <popup ref="popupRef" :content='content' @sureBtn='sureBtn' @cancel='cancelBtn'></popup> -->
</view>
</view>
</template>
<script>
// import popup from './popup';
import {
userBindAPI,
getCarInfoAPI,
modelListAPI,
getMineInfoAPI,
realNameDetaiNowlAPI
} from '@/api/serve/repair'
getProductOrderInfo,
getProductOrderCar
} from "@/api/carShop/order/order.js"
import config from '@/config';
export default {
// components: { popup },
data() {
return {
content: '',
title: '',
whoBtn: null,
config,
screenHeight: wx.getSystemInfoSync().screenHeight,
datetimeShow: false,
datetimeValue: Number(new Date()),
keyboardShow: false,
alltime: '',
datetimeShow: false,
datetimeValue: '',
// 车型-车辆-性质
formData: {
carNo: "",
category: null,
company: "",
driveLicense: "",
ownerName: "",
type: null,
unbindTime: "",
modelName: ''
unbindTime: ''
},
carInfo: {},
noneInfo: true,
dataTime: '',
// 车型
modelData: {
page: 1,
limit: 20,
},
modelTotal: 0,
modelTotalPage: 0,
showModelName: false,
modelNameList: [],
nameList: [],
// 车辆类型
category: '',
showCategory: false,
columnsCategory: [
// ['公户', '私户']
[{
category: '公户',
id: 1
},
{
category: '私户',
id: 2
}
]
],
// 使用性质
type: '',
showType: false,
columnsType: [
// ['预约出租客运', '非营运租赁','租赁']
[{
type: '预约出租客运',
id: 1
},
{
type: '非营运租赁',
id: 2
},
{
type: '租赁',
id: 3
}
]
],
// 用户信息
mineInfo: {}
carInfo: {}
}
},
computed: {
isFormDataEmpty() {
const {
ownerName,
carNo,
category,
carType,
company,
driveLicense,
type,
unbindTime,
} = this.formData;
return !carNo && !driveLicense && !unbindTime;
}
},
onShow() {
this.modelList()
computed: {},
onShow() {},
onLoad(options) {
getProductOrderInfo(options.id).then(res => {
console.log(res.data);
res.data.carNo = ''
this.formData = res.data
})
},
watch: {
formData: {
@@ -265,88 +154,30 @@
this.$refs.datetimePicker.setFormatter(this.formatter)
},
methods: {
// 使用性质
confirmTypeBtn(e) {
this.formData.type = e.value[0].id
this.type = e.value[0].type
this.showType = false
},
// 车辆类型
confirmCategoryBtn(e) {
this.formData.category = e.value[0].id
this.category = e.value[0].category
this.showCategory = false
},
// 车型
scrolltolower() {
if (this.modelData.page < this.modelTotalPage) {
this.modelData.page += 1
}
this.modelList()
},
clickCell(item) {
this.formData.modelName = item.name
this.showModelName = false
},
// 车辆型号
modelList() {
// 车辆型号
modelListAPI(this.modelData).then(res => {
this.nameList = res.data.list
this.modelTotal = res.data.total
this.modelTotalPage = res.data.totalPage
if (this.modelNameList.length == 0) {
this.modelNameList = res.data.list
}
}).catch(err => {
this.$toast(err)
})
// 用户信息
getMineInfoAPI().then(res => {
this.mineInfo = res.data
}).catch(err => {
console.log(err);
})
},
sureBtn() {
console.log('弹弹确认');
uni.navigateTo({
url: "/pages/serve/repair/realname",
});
},
cancelBtn() {
console.log('弹弹取消');
},
// 提交
submit() {
console.log('提交');
submit() {
let obj={
id:this.formData.id,
contractUrl:this.formData.contractUrl,
carNo:this.formData.carNo,
}
getProductOrderCar(obj).then(res=>{
uni.redirectTo({
url:`/pages/carShop/order/car_rental/rental_particulars?id=${this.formData.id}`
})
})
},
cancel() {
this.carClose()
this.formData.carNo = ''
},
carClose() {
carClose(e) {
console.log(e);
this.keyboardShow = false
},
// 点击确认
keyboardConfirmBtn() {
getCarInfoAPI({
carNo: this.formData.carNo
}).then(res => {
if (res.data) {
this.carInfo = res.data
this.$store.dispatch('CarNo', this.formData.carNo)
} else {
// this.$u.toast('车辆信息不存在')
this.carInfo = {}
this.noneInfo = false
}
}).finally(() => {
this.keyboardShow = false
// this.$store.dispatch('CarNo', this.formData.carNo)
})
carConfirm(e) {
console.log(e);
this.keyboardShow = false
},
// 退格
backspace() {

View File

@@ -3,18 +3,29 @@
<u-navbar title="" safeAreaInsetTop placeholder>
<view class="u-nav-slot f-a-i" slot="left">
<u-icon name="arrow-left" size="19"></u-icon>
<view class="state">代付款</view>
<view class="state">
<text v-if="formData.status==0">待支付</text>
<text v-if="formData.status==1">未提车</text>
<text v-if="formData.status==2">
<text v-if="formData.giveStatus==0">租赁期</text>
<text v-if="formData.giveStatus==1">司机申请提前还车</text>
<text v-if="formData.giveStatus==2">提前还车申请通过</text>
<text v-if="formData.giveStatus==3">提前还车申请未通过</text>
</text>
<text v-if="formData.status==3">已完成</text>
<text v-if="formData.status==4">已取消</text>
</view>
</view>
</u-navbar>
<view class="cont car-info flex">
<view class="car-info-cont">
<view class="car-info-cont-name">
汽车标题
{{formData.title}}
</view>
<view class="car-info-cont-label">
<view class="f-a-i" v-for="(item,index) in 7">
<text>BYD</text>
<u-line v-if="index!=7-1" direction="col" length="10" margin="0 12rpx"></u-line>
<view class="f-a-i" v-for="(item,index) in formData.tags">
<text>{{item.name}}</text>
<u-line v-if="index!=formData.tags.length-1" direction="col" length="10" margin="0 12rpx"></u-line>
</view>
</view>
</view>
@@ -26,51 +37,52 @@
<view class="buy-info">
<view class="f-jcsb cont-list">
<view class="c444 f-28">车主姓名</view>
<view class="f-28 c111">张春</view>
<view class="f-28 c111">{{formData.realName}}</view>
</view>
<view class="f-jcsb cont-list cont-ma48">
<view class="c444 f-28">身份证</view>
<view class="f-28 c111">266625116728899065</view>
<view class="f-28 c111">{{formData.idCard}}</view>
</view>
<view class="f-jcsb cont-list cont-ma48">
<view class="c444 f-28">手机号码</view>
<view class="f-28 c111">13566568926</view>
<view class="f-28 c111">{{formData.phone}}</view>
</view>
</view>
<view class="title">接单信息</view>
<view class="buy-info">
<view class="f-jcsb cont-list">
<view class="c444 f-28">租赁费用</view>
<view class="f-28 c111">¥320,000</view>
<view class="f-28 c111">¥{{formData.price}}</view>
</view>
<view class="f-jcsb cont-list cont-ma48">
<view class="c444 f-28">租赁年限</view>
<view class="f-28 c111">6个月</view>
<view class="f-28 c111">{{formData.monthRent}}个月</view>
</view>
<view class="f-jcsb cont-list cont-ma48">
<view class="c444 f-28">租赁押金</view>
<view class="f-28 c111">20000</view>
<view class="f-28 c111">{{formData.payPrice}}</view>
</view>
<view class="f-jcsb cont-list cont-ma48">
<view class="c444 f-28">租赁期间</view>
<view class="f-28 c111">2023-01-01 至2023-06-30 </view>
<view class="f-28 c111">{{formData.takeTime}} {{formData.giveTime}} </view>
</view>
<view class="f-jcsb cont-list cont-ma48">
<view class="c444 f-28">下单时间</view>
<view class="f-28 c111">2023-10-10 12:01:32</view>
<view class="f-28 c111">{{formData.createTime}}</view>
</view>
<view class="f-jcsb cont-list cont-ma48">
<view class="c444 f-28">提车时间</view>
<view class="f-28 c111">2023-10-10 12:01:32</view>
<view class="f-28 c111">{{formData.takeTime}}</view>
</view>
<view class="f-jcsb cont-list cont-ma48">
<view class="f-jcsb cont-list cont-ma48" v-if="formData.status==3">
<view class="c444 f-28">还车时间</view>
<view class="f-28 c111">2023-11-10 12:01:32</view>
</view>
<view class="f-jcsb cont-list cont-ma48">
<view class="f-jcsb cont-list cont-ma48" v-if="formData.status==3&&formData.giveStatus==2">
<view class="c444 f-28">还车原因</view>
<view class="f-28 c111">
{{formData.giveCause}}
<image style="width: 100rpx;height: 100rpx;" src="@/static/htz-image-upload/play.png" mode="">
</image>
</view>
@@ -90,15 +102,18 @@
</template>
<script>
import {getProductOrderInfo} from "@/api/carShop/order/order.js"
export default {
data() {
return {}
return {
formData:{}
}
},
methods: {
//提车
navCarSubmitFn(item){
uni.navigateTo({
url: `/pages/carShop/order/car_rental/car_submit?id=${item.id}`
url: `/pages/carShop/order/car_rental/car_submit?id=${this.formData.id}`
})
},
//提前还车
@@ -109,8 +124,11 @@
}
},
onLoad(options) {
console.log(options);
}
getProductOrderInfo(options.id).then(res => {
console.log(res.data);
this.formData = res.data
})
},
}
</script>

View File

@@ -13,34 +13,47 @@
<view class="user-data f-jcsb f-a-i">
<view class="f-a-i">
<view class="user-data-image">
<image src="@/static/images/logo/logo.png" mode=""></image>
<image :src="item.avator" mode=""></image>
</view>
<view class="user-data-name">浙江元江之星</view>
<view class="user-data-name">{{item.nickName}}</view>
</view>
<view class="user-data-state">
<text v-if="item.refundStatus!=0">
<text v-if="item.refundStatus==1">申请中</text>
<text v-if="item.refundStatus==2">退款中</text>
<text v-if="item.refundStatus==3">已退款</text>
<text v-if="item.refundStatus==4">退款拒绝</text>
</text>
<text v-else>
<text v-if="item.status==0">待支付</text>
<text v-if="item.status==1">未提车</text>
<text v-if="item.status==3">已完成</text>
<text v-if="item.status==4">已取消</text>
</text>
</view>
<view class="user-data-state">已完成</view>
</view>
<view :class="['f-a-i','car-rental']">
<image src="@/static/images/logo/logo.png" mode=""></image>
<image :src="item.mainImage" mode=""></image>
<view class="car-rental-cont">
<view class="car-rental-cont-name">汽车标题</view>
<view class="car-rental-cont-name">{{item.title}}</view>
<view class="f-a-i">
<text class="car-rental-cont-total-payment">全款价格</text>
<view class="car-rental-cont-price" style="margin-left: 8rpx;">35</view>
<view class="car-rental-cont-price" style="margin-left: 8rpx;">{{item.fullPrice}}</view>
</view>
</view>
</view>
<view class="f-jce f-a-i order-price">
<view>支付定金</view>
<text>¥5500</text>
<text>¥{{item.depositPrice}}</text>
</view>
<view class="order-list-butt">
<view class="f-a-i justify-end">
<view class="f-a-i">
<view class="butt-list" @click.stop="">
<view class="butt-list" v-if="item.status==2" @click.stop="">
<u-button type="primary" text="联系客服" plain color="#13AFA8" shape="circle"
:customStyle="{height:'56rpx'}"></u-button>
</view>
<view class="butt-list" @click.stop="navCarSubmitFn(item)">
<view class="butt-list" v-if="item.status==1&&item.refundStatus==0" @click.stop="navCarSubmitFn(item)">
<u-button type="primary" text="提车" plain color="#13AFA8" shape="circle"
:customStyle="{height:'56rpx'}"></u-button>
</view>
@@ -57,13 +70,14 @@
import {
carSellList
} from "@/data/carShoptabs.js"
import {getProductOrderList} from "@/api/carShop/order/order.js"
import config from '@/config';
export default {
data() {
return {
config,
carSellList,
actTab: 1,
actTab: -1,
dataList: [],
};
},
@@ -90,14 +104,12 @@
let obj = {
page: pageNo,
limit: pageSize,
type: this.type
type: this.actTab
}
this.$refs.paging.complete([{
id: 1
}, {
id: 2
}]);
// this.$refs.paging.complete([{}, {}, {}, {}]);
getProductOrderList(obj).then(res=>{
console.log(res.data);
this.$refs.paging.complete(res.data.list);
})
},
}
}
@@ -143,6 +155,7 @@
background: #f5f5f5;
image {
border-radius: 50%;
width: 100%;
height: 100%;
}

View File

@@ -3,72 +3,97 @@
<u-navbar title="" safeAreaInsetTop placeholder>
<view class="u-nav-slot f-a-i" slot="left">
<u-icon name="arrow-left" size="19"></u-icon>
<view class="state">未提车</view>
<view class="state">
<text v-if="formData.refundStatus!=0">
<text v-if="formData.refundStatus==1">申请中</text>
<text v-if="formData.refundStatus==2">退款中</text>
<text v-if="formData.refundStatus==3">已退款</text>
<text v-if="formData.refundStatus==4">退款拒绝</text>
</text>
<text v-else>
<text v-if="formData.status==0">待支付</text>
<text v-if="formData.status==1">未提车</text>
<text v-if="formData.status==3">已完成</text>
<text v-if="formData.status==4">已取消</text>
</text>
</view>
</view>
</u-navbar>
<view class="cont car-info flex">
<view class="car-info-cont">
<view class="car-info-cont-name">
汽车标题
{{formData.title}}
</view>
<view class="car-info-cont-label">
<view class="f-a-i" v-for="(item,index) in 7">
<!-- <view class="f-a-i" v-for="(item,index) in 7">
<text>BYD</text>
<u-line v-if="index!=7-1" direction="col" length="10" margin="0 12rpx"></u-line>
</view> -->
<view class="f-a-i">
<text>{{formData.brandName}}</text>
<u-line direction="col" length="10" margin="0 12rpx"></u-line>
</view>
<view class="f-a-i">
<text>{{formData.modelName}}</text>
<u-line direction="col" length="10" margin="0 12rpx"></u-line>
</view>
<view class="f-a-i">
<text>{{formData.powerType==1?'油电':formData.powerType==0?'纯电':'油'}}</text>
<!-- <u-line direction="col" length="10" margin="0 12rpx"></u-line> -->
</view>
</view>
</view>
<view class="">
<image src="@/static/images/app/serve/serve_zuche.png" mode=""></image>
<image :src="formData.mainImage" mode=""></image>
</view>
</view>
<view class="title">购买信息</view>
<view class="buy-info">
<view class="f-jcsb cont-list">
<view>购买类型</view>
<view>个人购车</view>
<view>{{formData.useType}}</view>
</view>
<view class="f-jcsb cont-list cont-ma48">
<view>上牌城市</view>
<view>浙江 杭州</view>
<view>{{formData.province}} {{formData.city}}</view>
</view>
<view class="f-jcsb cont-list cont-ma48">
<view>交付中心</view>
<view>杭州xxxxx</view>
<view>{{formData.carDealerName}}</view>
</view>
</view>
<view class="title">车主信息</view>
<view class="buy-info">
<view class="f-jcsb cont-list">
<view>车主姓名</view>
<view>张春</view>
<view>{{formData.ownerName}}</view>
</view>
<view class="f-jcsb cont-list cont-ma48">
<view>身份证</view>
<view>266625116728899065</view>
<view>{{formData.idNumber}}</view>
</view>
<view class="f-jcsb cont-list cont-ma48">
<view>手机号码</view>
<view>13566568926</view>
<view>{{formData.phone}}</view>
</view>
</view>
<view class="title">价格明细</view>
<view class="buy-info">
<view class="f-jcsb cont-list">
<view>汽车标题</view>
<view>¥320,000</view>
<view>{{formData.title}}</view>
<view>¥{{formData.fullPrice}}</view>
</view>
<view class="f-jcsb cont-list cont-ma48">
<view>定金</view>
<view>¥320,000</view>
<view>¥{{formData.depositPrice}}</view>
</view>
<view class="f-jcsb cont-list cont-ma48">
<view>下单时间</view>
<view>2023-10-10 12:01:32</view>
<view>{{formData.createTime}}</view>
</view>
<view class="f-jcsb cont-list cont-ma48">
<view class="f-jcsb cont-list cont-ma48" v-if="formData.status==3">
<view>提车时间</view>
<view>2023-10-10 12:01:32</view>
<view>{{formData.finishTime}}</view>
</view>
</view>
<view class="bottom-butt-caozuo f-jce">
@@ -83,9 +108,14 @@
</template>
<script>
import {
getProductOrderDetail
} from "@/api/carShop/order/order.js"
export default {
data() {
return {}
return {
formData:{}
}
},
methods: {
//申请退款
@@ -96,7 +126,10 @@
}
},
onLoad(options) {
console.log(options);
getProductOrderDetail(options.id).then(res => {
console.log(res.data);
this.formData = res.data
})
}
}
</script>

View File

@@ -13,13 +13,13 @@
</u-form-item>
<u-form-item label="身份证号" border-bottom='true'>
<view class="lr">
<u--input placeholder="请填写身份证号" v-model="formData.ownerName"
<u--input placeholder="请填写身份证号" v-model="formData.idNumber"
placeholderStyle=" color: #999999 " border='none' inputAlign='right'></u--input>
</view>
</u-form-item>
<u-form-item label="品牌" border-bottom='true'>
<view class="lr">
<u--input placeholder="请填写品牌" v-model="formData.ownerName"
<u--input placeholder="请填写品牌" v-model="formData.brandName"
placeholderStyle=" color: #999999 " border='none' inputAlign='right'></u--input>
</view>
</u-form-item>
@@ -31,7 +31,7 @@
</u-form-item>
<u-form-item label="车型" border-bottom='true'>
<!-- @click="showModelName=true" -->
<view class="lr" >
<view class="lr">
<u--input placeholder="请选择车型(非必选)" v-model="formData.modelName" :readonly='true'
placeholderStyle=" color: #999999 " suffixIcon="arrow-right"
suffixIconStyle="color: #999999" border='none' inputAlign='right'></u--input>
@@ -39,234 +39,65 @@
</u-form-item>
<u-form-item label="车架号" border-bottom='true'>
<view class="lr">
<u--input placeholder="请填写车架号" v-model="formData.ownerName"
<u--input placeholder="请填写车架号" v-model="formData.vinId"
placeholderStyle=" color: #999999 " border='none' inputAlign='right'></u--input>
</view>
</u-form-item>
<u-form-item label="全款" border-bottom='true'>
<view class="lr">
6个月
{{formData.totalPrice}}
</view>
</u-form-item>
<u-form-item label="上传合同" border-bottom='true'>
<view class="form-item">
<view class="image-box rel">
<image class="upload-bg" v-show="formData.driveLicense" :src="formData.driveLicense"
<image class="upload-bg" v-show="formData.contractUrl" :src="formData.contractUrl"
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"
<image v-show="!formData.contractUrl" class="upload-bg"
src="@/static/images/icon/plus_box.png" mode=""
@click="upload('image', 'contractUrl')"></image>
<image v-show="formData.contractUrl" class="reduce abs"
src="@/static/images/app/serve/realname_clea.png" mode=""
@click="DelPic('driveLicense')"></image>
@click="DelPic('contractUrl')"></image>
</view>
</view>
</view>
</u-form-item>
</u-form>
</view>
</view>
<u-button @click="submit" :color='isFormDataEmpty ?"#84D2CF":"#13AFA8"' shape="circle">提交</u-button>
<!-- 车型 -->
<u-popup :show="showModelName" mode="right" @close="showModelName=false">
<view class="model_view">
<view class="view_txt"> 请选择车型 </view>
<view class="list_view">
<u-list @scrolltolower="scrolltolower" height="400">
<u-list-item v-for="(item, index) in modelNameList" :key="index">
<u-cell :title="`${item.brandName} —— ${item.name}`" @click="clickCell(item)"></u-cell>
</u-list-item>
</u-list>
</view>
</view>
</u-popup>
</view>
</view>
</template>
<script>
import {
getProductOrderDetail,
getProductOrderPicup
} from "@/api/carShop/order/order.js"
export default {
data() {
return {
content: '',
title: '',
whoBtn: null,
screenHeight: wx.getSystemInfoSync().screenHeight,
datetimeShow: false,
datetimeValue: Number(new Date()),
keyboardShow: false,
alltime: '',
// 车型-车辆-性质
formData: {
carNo: "",
category: null,
company: "",
driveLicense: "",
ownerName: "",
type: null,
unbindTime: "",
modelName: ''
},
carInfo: {},
noneInfo: true,
dataTime: '',
// 车型
modelData: {
page: 1,
limit: 20,
},
modelTotal: 0,
modelTotalPage: 0,
showModelName: false,
modelNameList: [],
nameList: [],
// 车辆类型
category: '',
showCategory: false,
columnsCategory: [
// ['公户', '私户']
[{
category: '公户',
id: 1
},
{
category: '私户',
id: 2
}
]
],
// 使用性质
type: '',
showType: false,
columnsType: [
// ['预约出租客运', '非营运租赁','租赁']
[{
type: '预约出租客运',
id: 1
},
{
type: '非营运租赁',
id: 2
},
{
type: '租赁',
id: 3
}
]
],
// 用户信息
mineInfo: {}
formData: {}
}
},
computed: {
isFormDataEmpty() {
const {
ownerName,
carNo,
category,
carType,
company,
driveLicense,
type,
unbindTime,
} = this.formData;
return !carNo && !driveLicense && !unbindTime;
}
},
methods: {
// 车辆类型
confirmCategoryBtn(e) {
this.formData.category = e.value[0].id
this.category = e.value[0].category
this.showCategory = false
},
// 车型
scrolltolower() {
if (this.modelData.page < this.modelTotalPage) {
this.modelData.page += 1
//提交
submit(){
let obj={
contractUrl:this.formData.contractUrl,
orderNo:this.formData.orderNo,
vinId:this.formData.vinId
}
this.modelList()
},
clickCell(item) {
this.formData.modelName = item.name
this.showModelName = false
},
// 车辆型号
modelList() {
// 车辆型号
modelListAPI(this.modelData).then(res => {
this.nameList = res.data.list
this.modelTotal = res.data.total
this.modelTotalPage = res.data.totalPage
if (this.modelNameList.length == 0) {
this.modelNameList = res.data.list
}
}).catch(err => {
this.$toast(err)
})
// 用户信息
getMineInfoAPI().then(res => {
this.mineInfo = res.data
}).catch(err => {
console.log(err);
getProductOrderPicup(obj).then(res=>{
uni.redirectTo({
url:`/pages/carShop/order/car_sell/sell_particulars?id=${this.formData.id}`
})
})
},
sureBtn() {
console.log('弹弹确认');
uni.navigateTo({
url: "/pages/serve/repair/realname",
});
},
cancelBtn() {
console.log('弹弹取消');
},
// 提交
submit() {
console.log('提交');
},
cancel() {
this.carClose()
this.formData.carNo = ''
},
carClose() {
this.keyboardShow = false
},
// 点击确认
keyboardConfirmBtn() {
getCarInfoAPI({
carNo: this.formData.carNo
}).then(res => {
if (res.data) {
this.carInfo = res.data
this.$store.dispatch('CarNo', this.formData.carNo)
} else {
// this.$u.toast('车辆信息不存在')
this.carInfo = {}
this.noneInfo = false
}
}).finally(() => {
this.keyboardShow = false
// this.$store.dispatch('CarNo', this.formData.carNo)
})
},
// 退格
backspace() {
if (this.formData.carNo) this.formData.carNo = this.formData.carNo.substring(0, this.formData.carNo
.length - 1)
},
datetimeChange(val) {
this.datetimeValue = val.value
},
// 上传
upload(name, key, type) {
this.formData.type = 1
@@ -290,6 +121,13 @@
this.formData[key] = ''
},
},
onLoad(options) {
console.log(options.id);
getProductOrderDetail(options.id).then(res => {
console.log(res.data);
this.formData = res.data
})
}
}
</script>

View File

@@ -7,46 +7,57 @@
</view>
</view>
</u-navbar>
<view class="user-order-type f-a-i f-jcsb" @click="navOrderListFn('/pages/carShop/order/car_rental/car_rental_order')" style="margin-top: 32rpx;">
<view class="c000 f-32">租车订单({{cardData.carRentalCount}})</view>
<view class="user-order-type f-a-i f-jcsb"
@click="navOrderListFn('/pages/carShop/order/car_rental/car_rental_order')" style="margin-top: 32rpx;">
<view class="c000 f-32">租车订单
<text v-if="information.orderQuantity">({{information.orderQuantity}})</text>
</view>
<u-icon name="arrow-right" color="#999" size="18"></u-icon>
</view>
<view class="car-rental-order" @click="navOrderListFn('/pages/carShop/order/car_rental/car_rental_order')">
<view v-if="information.title" class="car-rental-order"
@click="navOrderListFn('/pages/carShop/order/car_rental/car_rental_order')">
<view class="user-data f-a-i">
<view class="user-data-image">
<image src="@/static/images/app/serve/repair_fault.png" mode=""></image>
<image :src="information.userAvatar" mode=""></image>
</view>
<view class="user-data-name">浙江元江之星</view>
<view class="user-data-name">{{information.nickname}}</view>
</view>
<view :class="['f-a-i','car-rental']">
<image src="@/static/images/app/serve/repair_fault.png" mode=""></image>
<image :src="information.image" mode=""></image>
<view class="car-rental-cont">
<view class="car-rental-cont-name">汽车标题</view>
<view class="car-rental-cont-auto-age">车龄 1 | 租期 1</view>
<view class="car-rental-cont-price red">198.00~3500<text class="car-rental-cont-price-tit">/</text>
<view class="car-rental-cont-name">{{information.title}}</view>
<view class="car-rental-cont-auto-age">车龄 {{information.carAge}} | 租期 {{information.monthRent}}
</view>
<view class="car-rental-cont-price red">{{information.price}}<text
class="car-rental-cont-price-tit">/</text>
</view>
</view>
</view>
</view>
<view class="user-order-type f-a-i f-jcsb"
@click="navOrderListFn('/pages/carShop/order/car_sell/car_sell_order')">
<view>买车订单({{cardData.buyCardOrderCount}})</view>
<view>买车订单
<text v-if="product.orderQuantity">
({{product.orderQuantity}})
</text>
</view>
<u-icon name="arrow-right" color="#999" size="18"></u-icon>
</view>
<view class="buy-cars-order" @click="navOrderListFn('/pages/carShop/order/car_sell/car_sell_order')">
<view v-if="product.title" class="buy-cars-order"
@click="navOrderListFn('/pages/carShop/order/car_sell/car_sell_order')">
<view class="user-data f-a-i">
<view class="user-data-image">
<image src="@/static/images/app/serve/repair_fault.png" mode=""></image>
<image :src="product.avator" mode=""></image>
</view>
<view class="user-data-name">浙江元江之星</view>
<view class="user-data-name">{{product.nickName}}</view>
</view>
<view :class="['f-a-i','car-rental']">
<image src="@/static/images/app/serve/repair_fault.png" mode=""></image>
<image :src="product.mainImage" mode=""></image>
<view class="car-rental-cont">
<view class="car-rental-cont-name">汽车标题</view>
<view class="car-rental-cont-name">{{product.title}}</view>
<view class="f-a-i">
<text class="car-rental-cont-total-payment">全款价格</text>
<view class="car-rental-cont-price red" style="margin-left: 8rpx;">35</view>
<view class="car-rental-cont-price red" style="margin-left: 8rpx;">{{product.fullPrice}}</view>
</view>
</view>
</view>
@@ -57,24 +68,39 @@
</template>
<script>
import {
getProductMyOrder,
getInformationMyOrder
} from "@/api/carShop/order/order.js"
export default {
data() {
return {
cardData: {}
information: {},
product: {}
};
},
onLoad() {
},
onLoad() {},
methods: {
//返回
navBackFn() {
uni.navigateBack()
},
navOrderListFn(url) {
uni.navigateTo({
url: url
})
},
init() {
//买车
getProductMyOrder().then(res => {
console.log(res);
this.product = res.data
})
//租车
getInformationMyOrder().then(res => {
console.log(res);
this.information = res.data
})
}
},
onShow() {
this.init()
}
}
</script>

View File

@@ -14,23 +14,23 @@
<view class="in-adv-data">
<view class="in-adv-data-list f-a-i">
<view class="in-adv-data-title">司机姓名</view>
<view class="in-adv-data-cont">张晨</view>
<view class="in-adv-data-cont">{{orderData.realName}}</view>
</view>
<view class="in-adv-data-list f-a-i">
<view class="in-adv-data-title">车牌号码</view>
<view class="in-adv-data-cont">浙A·15J6R</view>
<view class="in-adv-data-cont">{{orderData.carNo}}</view>
</view>
<view class="in-adv-data-list f-a-i">
<view class="in-adv-data-title">租赁时间</view>
<view class="in-adv-data-cont">6个月</view>
<view class="in-adv-data-cont">{{orderData.monthRent}}个月</view>
</view>
<view class="in-adv-data-list f-a-i">
<view class="in-adv-data-title">租赁期间</view>
<view class="in-adv-data-cont">2023-01-01 至2023-06-30 </view>
<view class="in-adv-data-cont">{{orderData.takeTime}} {{orderData.giveTime}} </view>
</view>
<view class="in-adv-data-list">
<view class="in-adv-data-cause">提前还车原因</view>
<u--textarea border="none" height="125" v-model="cause" placeholder="请输入还车原因"
<u--textarea border="none" height="125" v-model="giveCause" placeholder="请输入还车原因"
:placeholderStyle="{paddingLift:'0',fontSize:'28rpx'}"></u--textarea>
</view>
<view class="in-adv-data-list">
@@ -54,24 +54,35 @@
</template>
<script>
import {
getInformationOrderDealer,
getInformationGiveCar
} from "@/api/myOrder/index.js"
export default {
data() {
return {
orderData:{},
//提交状态
isOkFlag: false,
cause: '',
giveCause: '',
imageList: [],
uploadIcon: 'https://qicheoss.oss-cn-shanghai.aliyuncs.com/static/images/images/order_upLoadbg.png',
clearIcon: 'https://qicheoss.oss-cn-shanghai.aliyuncs.com/static/images/images/order_close.png',
}
},
onLoad(options) {
getInformationOrderDealer(options.id).then(res => {
console.log(res.data, '详情');
this.orderData=res.data
})
},
methods: {
//租车订单
zuCarOrderFn() {
uni.redirectTo({
url: '/pages/driver/mine/my_order/rentCars/rent_order'
})
})
},
//返回首页
returnIndexFn() {
@@ -81,15 +92,22 @@
},
//提交
changeNickname() {
uni.showToast({
title: '提交成功',
duration: 2000,
success: res => {
this.isOkFlag = true
uni.setNavigationBarTitle({
title: '提交结果'
});
}
let obj={
orderId:this.orderData.id,
giveCause:this.giveCause
}
getInformationGiveCar(obj).then(res=>{
console.log(res.data);
uni.showToast({
title: '提交成功',
duration: 2000,
success: res => {
this.isOkFlag = true
uni.setNavigationBarTitle({
title: '申请成功'
});
}
})
})
},
//传图片

View File

@@ -37,7 +37,7 @@
<image :src="item.image" mode=""></image>
<view class="car-rental-cont">
<view class="car-rental-cont-name">{{item.title}}</view>
<view class="car-rental-cont-auto-age">车龄 1 | 租期 1</view>
<view class="car-rental-cont-auto-age">车龄 {{item.carAge}} | 租期 {{item.monthRent}}</view>
<view class="car-rental-cont-price">¥{{item.price}}<text
class="car-rental-cont-price-tit">/</text>
</view>
@@ -62,8 +62,12 @@
:customStyle="{width:'160rpx',height:'56rpx',marginLeft: '16rpx'}"></u-button>
<u-button type="primary" text="联系客服" plain color="#333333" shape="circle" @click=""
:customStyle="{width:'160rpx',height:'56rpx',marginLeft: '16rpx'}"></u-button>
<u-button v-if="item.status==2" type="primary" text="提前还车" plain color="#333333" shape="circle" @click=""
:customStyle="{width:'160rpx',height:'56rpx',marginLeft: '16rpx'}"></u-button>
<view @click.stop="navInAdvanceFn(item)">
<u-button v-if="item.status==2" type="primary" text="提前还车" plain color="#333333"
shape="circle"
:customStyle="{width:'160rpx',height:'56rpx',marginLeft: '16rpx'}"></u-button>
</view>
</view>
</view>
<view v-if="item.status==4" class="order-list-butt-refund">
@@ -94,6 +98,12 @@
};
},
methods: {
//提前还车
navInAdvanceFn(item) {
uni.navigateTo({
url: `/pages/driver/mine/my_order/rentCars/in_advance?id=${item.id}`
})
},
//我的评价
navMyevaluateFn() {
uni.navigateTo({

View File

@@ -50,13 +50,13 @@
</view>
<view class="item-box">
<u-form-item border-bottom label-width="80" label="司机姓名">
<u-input border="none" placeholder="请输入司机姓名" input-align="right"></u-input>
<u-input border="none" v-model="formProductData.realName" placeholder="请输入司机姓名" input-align="right"></u-input>
</u-form-item>
<u-form-item border-bottom label-width="80" label="身份证号">
<u-input border="none" placeholder="请输入身份证号" input-align="right"></u-input>
<u-input border="none" v-model="formProductData.idCard" placeholder="请输入身份证号" input-align="right"></u-input>
</u-form-item>
<u-form-item border-bottom label-width="80" label="手机号码">
<u-input border="none" placeholder="请输入手机号码" input-align="right"></u-input>
<u-input border="none" v-model="formProductData.phone" placeholder="请输入手机号码" input-align="right"></u-input>
</u-form-item>
</view>
<view class="title">
@@ -497,7 +497,10 @@
productId: this.formProductData.id,
userCouponId: this.cardmoney ? this.cardmoney.id : '', //优惠券编号
remark: this.formProductData.remark,
monthRent: this.formProductData.monthRent
monthRent: this.formProductData.monthRent,
realName:this.formProductData.realName,
idCard:this.formProductData.idCard,
phone:this.formProductData.phone,
}
console.log(obj);
informationCreate(obj).then(res => {
@@ -525,13 +528,13 @@
},
//支付成功
navPayOkFn(){
uni.navigateTo({
uni.redirectTo({
url: `/pages/driver/serve/coupons/payresult?resultType=res&type=buyCar`
})
},
//支付失败
navPayOnFn(){
uni.navigateTo({
uni.redirectTo({
url: `/pages/driver/serve/coupons/payresult?resultType=err&type=buyCar`
})
},