Commit b67ba90a authored by guoyou's avatar guoyou

创建租车订单

parent e13b129b
......@@ -116,3 +116,18 @@ export function deleteStaffs(id) {
});
}
//检测员工
export function checkStaffs(id) {
return fetch({
url: '/api/admin/api/app/unauth/check?phone='+id,
method: 'get'
});
}
export function username(id) {
return fetch({
url: 'api/admin/public/app/userinfo-by-username?name='+id,
method: 'get'
});
}
\ No newline at end of file
......@@ -71,3 +71,29 @@ export function getStep(orderNo) {
method: 'get'
});
}
export function inquire(query) {
return fetch({
url: '/vehicle/vehicleInfo/rent/usable-vehicle',
method: 'get',
params:query
});
}
//创建订单
export function addIndent(params) {
return fetch({
url: '/api/order/orderRentVehicle/back-stage/add',
method: 'post',
data:params
});
}
//删除订单
export function calculate(no, params) {
return fetch({
url: '/api/order/baseOrder/back-stage/cancel/'+ no,
method: 'post',
data:params
});
}
\ No newline at end of file
......@@ -432,6 +432,12 @@ export const asyncRouterMap = [{
component: _import('order/orderStatistics/index'),
name: '会员订单统计',
authority: 'orderStatistics'
},
{
path: 'createOrder',
component: _import('order/createOrder/index'),
name: '创建租车订单',
authority: 'createOrder'
}
]
},
......
<template>
<div class="app-container calendar-list-container">
<div class="filter-container">
<el-form ref="listQuery" :model="listQuery" :rules="rules" label-width="115px">
<el-form-item label="取/还车公司" required>
<el-col :span="3">
<el-form-item prop="startCompanyId">
<el-autocomplete
class="inline-input"
v-model="listQuery.startCompanyId"
:fetch-suggestions="querySearch"
placeholder="请输入取车公司"
@select="handleSelectPark"
></el-autocomplete>
</el-form-item>
</el-col>
<el-col class="line" :span="1" style="width:20px"></el-col>
<el-col :span="5">
<el-form-item prop="endCompanyId">
<el-autocomplete
class="inline-input"
v-model="listQuery.endCompanyId"
:fetch-suggestions="querySearch"
placeholder="请输入取车公司"
@select="returnCarSelect"
></el-autocomplete>
</el-form-item>
</el-col>
</el-form-item>
<el-form-item label="取/还车时间:" prop="time">
<el-date-picker
v-model="listQuery.time"
type="datetimerange"
range-separator="至"
start-placeholder="开始日期"
placeholder="请输入取/还车时间"
end-placeholder="结束日期"
value-format="timestamp"
@change="changeTime"
></el-date-picker>
<el-button
class="filter-item"
type="primary"
v-waves
@click="lookType('listQuery')"
style="margin:0 0 0 10px"
:loading="lookLoad"
>查看可用车型</el-button>
</el-form-item>
<div v-show="isHave">
<el-row>
<el-form-item label="选择车型:" :prop="isHave === true ? domains.modelId : ''">
<el-radio-group v-model="listQuery.modelId">
<el-radio-button
v-for="(item,index) in motorcycle"
:key="index"
:label="item.id"
>{{item.name}}</el-radio-button>
</el-radio-group>
</el-form-item>
<el-col :span="5">
<el-form-item label="手机号:" :prop="isHave === true ? domains.tel : ''">
<el-input v-model="listQuery.tel" placeholder="请输入手机号" @blur="lose"></el-input>
</el-form-item>
<el-form-item label="车损免赔:" :prop="isHave === true ? domains.damageSafe : ''">
<el-radio-group v-model="listQuery.damageSafe">
<el-radio-button label="需要"></el-radio-button>
<el-radio-button label="不需要"></el-radio-button>
</el-radio-group>
</el-form-item>
<el-form-item label="使用会员天数:" :prop="isHave === true ? domains.rentFreeDay : ''">
<el-radio-group v-model="listQuery.rentFreeDay">
<el-radio-button label="使用" :disabled="userFreeDay"></el-radio-button>
<el-radio-button label="不使用"></el-radio-button>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-button
class="filter-item"
type="primary"
v-waves
@click="createOrder('listQuery')"
>创建订单</el-button>
</div>
</el-form>
</div>
</div>
</template>
<script>
import { getAll } from "api/base_info/branch_company/";
import { inquire, addIndent } from "api/order/rentVehicle";
import { getYMD_hm, timestamp2Date } from "utils/dateUtils";
import { username } from "api/admin/userManagement";
export default {
created() {
getAll().then(response => {
this.allCompaniesArr = response.data;
});
},
data() {
return {
appUserId: null,
userFreeDay: true,
isPhone: true,
motorcycle: [],
isHave: false,
allCompaniesArr: [],
lookLoad: false,
listQuery: {
startCompanyId: null,
endCompanyId: null,
startCompanyIds: null,
endCompanyIds: null,
time: [],
limit: 100,
page: 1,
modelId: "",
radio1: "",
tel: "",
damageSafe: "",
rentFreeDay: ""
},
domains: {
modelId: "modelId",
tel: "tel",
damageSafe: "damageSafe",
rentFreeDay: "rentFreeDay"
},
rules: {
startCompanyId: [
{
required: true,
message: "请选择取车公司",
trigger: "change"
}
],
endCompanyId: [
{
required: true,
message: "请选择还车公司",
trigger: "change"
}
],
time: [
{
type: "array",
required: true,
message: "请选择时间",
trigger: "change"
}
],
modelId: [
{
type: "array",
required: true,
message: "请选择车型",
trigger: "change"
}
],
tel: [{ required: true, message: "请输入手机号码", trigger: "blur" }],
damageSafe: [
{
type: "array",
required: true,
message: "请选择是否购买免赔",
trigger: "change"
}
],
rentFreeDay: [
{ required: true, message: "请输入使用会员天数", trigger: "blur" }
]
}
};
},
methods: {
changeTime() {
!!this.listQuery.time[0] ? "" : (this.listQuery.time = []);
},
//创建订单
createOrder(formName) {
if (this.listQuery.startCompanyId == "") {
this.$notify({
title: "失败",
message: "请选择取/还车公司",
type: "error",
duration: 2000
});
return false;
} else if (this.listQuery.time == "") {
this.$notify({
title: "失败",
message: "请选择取/还车时间",
type: "error",
duration: 2000
});
return false;
} else if (this.listQuery.modelId == "") {
this.$notify({
title: "失败",
message: "请选择车型",
type: "error",
duration: 2000
});
return false;
} else if (this.listQuery.tel == "") {
this.$notify({
title: "失败",
message: "请选择输入手机号",
type: "error",
duration: 2000
});
return false;
} else if (this.isPhone == false) {
return false;
} else if (this.listQuery.damageSafe == "") {
this.$notify({
title: "失败",
message: "请选择车损免赔",
type: "error",
duration: 2000
});
return false;
} else if (this.listQuery.rentFreeDay == "") {
this.$notify({
title: "失败",
message: "请选择是否使用会员天数",
type: "error",
duration: 2000
});
return false;
} else {
var nTime =
this.listQuery.time[1].getTime() - this.listQuery.time[0].getTime();
let params = {
dayNum: nTime / (24 * 60 * 60 * 1000), //天数
endAddr: this.listQuery.startEndAddr, //还车地点
endCity: this.listQuery.startAddrCity, //还车城市编号
endCityName: this.listQuery.startCityName, //还车城市名称
endCompanyId: this.listQuery.startCompanyIds, //还车公司id
endTime: this.listQuery.time[1].getTime(), //结束时间
modelId: this.listQuery.modelId, //车型
startAddr: this.listQuery.endEndAddr, //取车地点
startCity: this.listQuery.endAddrCity, //取车城市编号
startCityName: this.listQuery.endtCityName, //取车城市名称
startCompanyId: this.listQuery.endCompanyIds, //出发公司id
startTime: this.listQuery.time[0].getTime(), //开始时间
damageSafe: this.listQuery.damageSafe == "需要" ? 1 : 0, //是否购买免赔
rentFreeDay: this.listQuery.rentFreeDay == "使用" ? 1 : 0, //是否使用出租免费天数
orderOrigin: 3, //订车来源
appUserId: 334
};
addIndent(params).then(data => {
console.log(data);
if (data.status == 200) {
this.$alert("创建订单成功", "标题名称", {
confirmButtonText: "确定",
callback: action => {
this.listQuery = {
startCompanyId: null,
endCompanyId: null,
startCompanyIds: null,
endCompanyIds: null,
time: [],
limit: 100,
page: 1,
modelId: "",
radio1: "",
tel: "",
damageSafe: "",
rentFreeDay: ""
};
}
});
} else {
this.$notify({
title: "失败",
message: data.message,
type: "error",
duration: 2000
});
}
});
}
},
//检车用户是否注册
lose() {
username(this.listQuery.tel).then(data => {
if (data.status == 200) {
if (!!data.data) {
console.log(!!data.data.rentFreeDays);
this.appUserId = data.data.userid;
if (!!data.data.rentFreeDays) {
if (data.data.rentFreeDays >= 1) {
this.userFreeDay = false;
}
} else {
this.userFreeDay = true;
}
this.isPhone = true;
}
} else if (data.status == 1009) {
this.$notify({
title: "失败",
message: "该手机号未注册",
type: "error",
duration: 2000
});
this.isPhone = false;
}
});
},
lookType(formName) {
this.$refs[formName].validate(valid => {
if (valid) {
let params = {
startCompanyIds: this.listQuery.startCompanyIds,
endCompanyIds: this.listQuery.endCompanyIds,
startDateTamp: this.listQuery.time[0].getTime(),
endDateTamp: this.listQuery.time[1].getTime(),
limit: 100,
page: 1,
parkBranchCompanyId: this.listQuery.startCompanyIds
};
this.lookLoad = true;
inquire(params).then(data => {
if (data.status == 200) {
let all = [];
let allCar = {};
data.data.data.forEach(element => {
if (element.hasVehicle == 1) {
if (all.indexOf(element.vehicleModel.name) == -1) {
all.push({
id: element.vehicleModel.id,
name: element.vehicleModel.name
});
}
}
});
all = all.reduce(function(item, next) {
allCar[next.id]
? ""
: (allCar[next.id] = true && item.push(next));
return item;
}, []);
this.motorcycle = all;
if (all.length < 1) {
this.$notify({
title: "失败",
message: "暂无可用车辆,修改取车公司或时间试试",
type: "error",
duration: 3000
});
} else {
this.isHave = true;
}
}
});
this.lookLoad = false;
} else {
console.log("error submit!!");
return false;
}
});
},
querySearch(queryString, cb) {
let selectArry = [];
this.allCompaniesArr.map(function(item) {
item.value = item.name;
selectArry.push(item);
});
this.selectArry = selectArry;
var results = queryString
? selectArry.filter(this.createFilter(queryString))
: selectArry;
// 调用 callback 返回建议列表的数据
cb(results);
},
returnCarSelect(item) {
//取车
this.listQuery.endEndAddr = item.addrDetail; //取车地点
this.listQuery.endAddrCity = item.addrCity; //还车城市编号
this.listQuery.endtCityName = item.cityName; //还车城市名称
this.listQuery.endCompanyIds = item.id;
this.listQuery.endCompanyId = item.name;
},
handleSelectPark(item) {
//还车
this.listQuery.startEndAddr = item.addrDetail; //换成地点
this.listQuery.startAddrCity = item.addrCity; //还车城市编号
this.listQuery.startCityName = item.cityName; //还车城市名称
this.listQuery.startCompanyIds = item.id; //公司id
this.listQuery.startCompanyId = item.name;
},
createFilter(queryString) {
return restaurant => {
return restaurant.name.indexOf(queryString.toLowerCase()) != -1;
};
}
}
};
</script>
\ No newline at end of file
......@@ -32,7 +32,7 @@
</el-row>
</el-form>
<el-table
<!-- <el-table
:key="tableKey"
:data="list"
border
......@@ -85,7 +85,7 @@
<span>{{scope.row.name}}</span>
</template>
</el-table-column>
</el-table>
</el-table> -->
</div>
</div>
</template>
......@@ -117,7 +117,7 @@ export default {
id: "3"
}
],
isactive: "全部"
isactive: "日统计"
};
},
methods: {
......
......@@ -5,18 +5,37 @@
<el-row>
<el-col :span="5">
<el-form-item label="所属地区" prop="zoneId">
<el-select class="filter-item" v-model="listQuery.zoneId" placeholder="请选择" @change="getProvinceRegions">
<el-select
class="filter-item"
v-model="listQuery.zoneId"
placeholder="请选择"
@change="getProvinceRegions"
>
<el-option :key="undefined" label="无" :value="undefined"></el-option>
<el-option v-for="val in getAllZoneList" :key="val.id" :label="val.name" :value="val.id"></el-option>
<el-option
v-for="val in getAllZoneList"
:key="val.id"
:label="val.name"
:value="val.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="所属公司" prop="startCompanyId">
<el-select class="filter-item" v-model="listQuery.startCompanyId" placeholder="请选择"
@change="getAllBranchCompanyChange">
<el-select
class="filter-item"
v-model="listQuery.startCompanyId"
placeholder="请选择"
@change="getAllBranchCompanyChange"
>
<el-option :key="undefined" label="无" :value="undefined"></el-option>
<el-option v-for="val in allBranchCompany" :key="val.id" :label="val.name" :value="val.id"></el-option>
<el-option
v-for="val in allBranchCompany"
:key="val.id"
:label="val.name"
:value="val.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
......@@ -65,9 +84,15 @@
<el-button class="filter-item" type="primary" v-waves icon="search" @click="handleFilter">搜索</el-button>
<el-button class="filter-item" type="primary" v-waves icon="delete" @click="clearSearch">清除搜索</el-button>
</div>
<el-table :key='tableKey' :data="list" v-loading.body="listLoading"
border fit highlight-current-row
style="width: 100%">
<el-table
:key="tableKey"
:data="list"
v-loading.body="listLoading"
border
fit
highlight-current-row
style="width: 100%"
>
<el-table-column align="center" label="ID" width="70">
<template scope="scope">
<span>{{scope.row.id}}</span>
......@@ -75,41 +100,48 @@
</el-table-column>
<el-table-column width="200" align="center" label="订单号/下单时间">
<template scope="scope">
<span>{{scope.row.no}}</span><br><span>{{scope.row.crtTime}}</span>
<span>{{scope.row.no}}</span>
<br />
<span>{{scope.row.crtTime}}</span>
</template>
</el-table-column>
<el-table-column
prop="status"
label="订单状态" width="100"align="center">
<el-table-column prop="status" label="订单状态" width="100" align="center">
<template scope="scope">
<span>{{scope.row.ststusName}}</span>
</template>
</el-table-column>
<el-table-column min-width="250" align="center" label="名称/车牌号">
<template scope="scope">
<span>{{scope.row.name}}</span><br/><span>{{scope.row.vehicleNumberPlat}}</span>
<span>{{scope.row.name}}</span>
<br />
<span>{{scope.row.vehicleNumberPlat}}</span>
</template>
</el-table-column>
<el-table-column width="150" align="center" label="姓名/手机号">
<template scope="scope">
<span>{{scope.row.realName}}</span>/<span>{{scope.row.telephone}}</span>
<span>{{scope.row.realName}}</span>/
<span>{{scope.row.telephone}}</span>
</template>
</el-table-column>
<el-table-column width="200" align="center" label="取车时间/还车时间">
<template scope="scope">
取:<span>{{dateFormat(scope.row.orderRentVehicleDetail.startTime)}}</span><br/>
还:<span>{{dateFormat(scope.row.orderRentVehicleDetail.endTime)}}</span>
取:
<span>{{dateFormat(scope.row.orderRentVehicleDetail.startTime)}}</span>
<br />还:
<span>{{dateFormat(scope.row.orderRentVehicleDetail.endTime)}}</span>
</template>
</el-table-column>
<el-table-column width="200" align="center" label="交车公司">
<template scope="scope">
<span>{{scope.row.startCompanyName}}</span><br/>
<span>{{scope.row.startCompanyName}}</span>
<br />
<span>({{scope.row.orderRentVehicleDetail.startCityName}}{{scope.row.orderRentVehicleDetail.startAddr}})</span>
</template>
</el-table-column>
<el-table-column width="200" align="center" label="收车公司">
<template scope="scope">
<span>{{scope.row.endCompanyName}}</span><br/>
<span>{{scope.row.endCompanyName}}</span>
<br />
<span>({{scope.row.orderRentVehicleDetail.endCityName}}{{scope.row.orderRentVehicleDetail.endAddr}})</span>
</template>
</el-table-column>
......@@ -119,15 +151,15 @@
</template>
</el-table-column>
<!-- <el-table-column align="center" label="订单状态">-->
<!-- <template scope="scope">-->
<!-- <span v-if="scope.row.status == '2'">取消</span>-->
<!-- <span v-if="scope.row.status == '3'">待付款</span>-->
<!-- <span v-if="scope.row.status == '4'">待出行</span>-->
<!-- <span v-if="scope.row.status == '5'">出行中</span>-->
<!-- <span v-if="scope.row.status == '6'">已完成</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column align="center" label="订单状态">-->
<!-- <template scope="scope">-->
<!-- <span v-if="scope.row.status == '2'">取消</span>-->
<!-- <span v-if="scope.row.status == '3'">待付款</span>-->
<!-- <span v-if="scope.row.status == '4'">待出行</span>-->
<!-- <span v-if="scope.row.status == '5'">出行中</span>-->
<!-- <span v-if="scope.row.status == '6'">已完成</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column width="100" align="center" label="订单详情" fixed="right">
<template scope="scope">
......@@ -136,18 +168,36 @@
</el-table-column>
<el-table-column align="center" label="操作" width="300" fixed="right">
<template scope="scope">
<el-button size="small" v-if="scope.row.status >=4" class="el-button el-button--text el-button--small"
@click="handleHandoverOrderVehicle(scope.row)">交车记录
</el-button>
<el-button size="small" v-if="scope.row.status == 6" class="el-button el-button--text el-button--small"
@click="handleReturnOrderVehicle(scope.row)">还车记录
</el-button>
<el-button size="small" v-if="scope.row.status!=5&&scope.row.status > 3" class="el-button el-button--text el-button--small"
@click="handleRefundVehicle(scope.row)">押金记录
</el-button>
<el-button size="small" v-if="scope.row.status == 6&&order_btn_order_violcation_save"
class="el-button el-button--text el-button--small" @click="illegalInquiry(scope.row)">违章查询
</el-button>
<el-button
size="small"
v-if="scope.row.status >=4"
class="el-button el-button--text el-button--small"
@click="handleHandoverOrderVehicle(scope.row)"
>交车记录</el-button>
<el-button
size="small"
v-if="scope.row.status == 6"
class="el-button el-button--text el-button--small"
@click="handleReturnOrderVehicle(scope.row)"
>还车记录</el-button>
<el-button
size="small"
v-if="scope.row.status!=5&&scope.row.status > 3"
class="el-button el-button--text el-button--small"
@click="handleRefundVehicle(scope.row)"
>押金记录</el-button>
<el-button
size="small"
v-if="scope.row.status == 6&&order_btn_order_violcation_save"
class="el-button el-button--text el-button--small"
@click="illegalInquiry(scope.row)"
>违章查询</el-button>
<el-button
size="small"
v-if="scope.row.status == 3 || scope.row.status == 4"
class="el-button el-button--text el-button--small"
@click="cancel(scope.row)"
>取消订单</el-button>
</template>
</el-table-column>
</el-table>
......@@ -158,43 +208,78 @@
<Detail :row="currentRow" v-if="detailVisible" v-on:detailEvent="detailEvent"></Detail>
<div v-show="!listLoading" class="pagination-container">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page.sync="listQuery.page" :page-sizes="[10,20,30, 50]" :page-size="listQuery.limit"
layout="total, sizes, prev, pager, next, jumper" :total="total"></el-pagination>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="listQuery.page"
:page-sizes="[10,20,30, 50]"
:page-size="listQuery.limit"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
></el-pagination>
</div>
<!-- 订单详情 -->
<rentOrderDetailModal :form="form" :rentCostDetail="tourCostDetail" v-if="rentDialogVisible"
v-on:rentOrderDetailDialogEvent="rentOrderDetailDialogEvent"></rentOrderDetailModal>
<rentOrderDetailModal
:form="form"
:rentCostDetail="tourCostDetail"
v-if="rentDialogVisible"
v-on:rentOrderDetailDialogEvent="rentOrderDetailDialogEvent"
></rentOrderDetailModal>
<el-dialog :title="modalTitle" :visible.sync="orderVehicleCrosstownVisible">
<el-form :model="form" :rules="rules" ref="form" label-width="90px">
<div class="label-title">
<span>订单号:</span><span class="label-text">{{form.no}}</span>
<span>支付时间:</span><span class="label-text">{{form.crtTime}}</span>
<span>订单号:</span>
<span class="label-text">{{form.no}}</span>
<span>支付时间:</span>
<span class="label-text">{{form.crtTime}}</span>
</div>
<div class="label-title">
<span>订单状态:</span><span class="label-text">{{form.ststusName}}</span>
<span>订单状态:</span>
<span class="label-text">{{form.ststusName}}</span>
</div>
<div class="label-title">
<span>姓名/手机号:</span> <span
class="label-text"><span>{{form.realName}}</span>/<span>{{form.telephone}}</span></span>
<span>姓名/手机号:</span>
<span class="label-text">
<span>{{form.realName}}</span>/
<span>{{form.telephone}}</span>
</span>
</div>
<div class="label-title">
<span>取车:</span> <span class="label-text">{{form.orderRentVehicleDetail.startTime}}</span><span
class="label-text">{{form.orderRentVehicleDetail.startAddr}}</span> <span
class="label-text">交车公司:</span><span>{{form.startCompanyName}}</span>
<span>取车:</span>
<span class="label-text">{{form.orderRentVehicleDetail.startTime}}</span>
<span class="label-text">{{form.orderRentVehicleDetail.startAddr}}</span>
<span class="label-text">交车公司:</span>
<span>{{form.startCompanyName}}</span>
</div>
<div class="label-title">
<span>还车:</span> <span class="label-text">{{form.orderRentVehicleDetail.endTime}}</span><span
class="label-text">{{form.orderRentVehicleDetail.endAddr}}</span> <span class="label-text">交车公司:</span><span>{{form.endCompanyName}}</span>
<span>还车:</span>
<span class="label-text">{{form.orderRentVehicleDetail.endTime}}</span>
<span class="label-text">{{form.orderRentVehicleDetail.endAddr}}</span>
<span class="label-text">交车公司:</span>
<span>{{form.endCompanyName}}</span>
</div>
<div class="stepBox" v-if="depositDetail">
<div class="title" v-if="depositRefundRecord.length>0">押金退还进度</div>
<ul>
<li v-for="(item,index) in depositRefundRecord" :class="{'active':item.iscomplete}" :key="index">
<img class="activeImg" v-if="item.iscomplete" src="../../../assets/images/active.png" alt="">
<img class="activeImg" v-if="!item.iscomplete" src="../../../assets/images/doing.png" alt="">
<li
v-for="(item,index) in depositRefundRecord"
:class="{'active':item.iscomplete}"
:key="index"
>
<img
class="activeImg"
v-if="item.iscomplete"
src="../../../assets/images/active.png"
alt
/>
<img
class="activeImg"
v-if="!item.iscomplete"
src="../../../assets/images/doing.png"
alt
/>
<p class="stepTitle">
<template v-if="item.status==1">
<div class="picBox">
......@@ -238,26 +323,52 @@
<template v-if="item.status==2">{{item.updTimeStr}} 到账</template>
<template v-if="item.status==3">预计{{item.endTimeStr}}之前到账</template>
<template v-if="item.status==4">押金将在定损后退还,请耐心等待...</template>
<template v-if="item.status==5">定损流程有疑问可联系滴房车 客服<a :href="'tel://'+Tel"
style="color: #666666;">{{Tel}}</a></template>
<template v-if="item.status==6">定损流程有疑问可联系滴房车 客服<a :href="'tel://'+Tel"
style="color: #666666;">{{Tel}}</a></template>
<template v-if="item.status==5">
定损流程有疑问可联系滴房车 客服
<a :href="'tel://'+Tel" style="color: #666666;">{{Tel}}</a>
</template>
<template v-if="item.status==6">
定损流程有疑问可联系滴房车 客服
<a :href="'tel://'+Tel" style="color: #666666;">{{Tel}}</a>
</template>
</p>
<p class="detailTitle" v-if="item.orderViolation && item.status==3" style="margin-top: 15px">违章罚款</p>
<p
class="detailTitle"
v-if="item.orderViolation && item.status==3"
style="margin-top: 15px"
>违章罚款</p>
<p class="detailTitle" v-if="item.orderViolation && item.status==3">违章截图:</p>
<div class="picBox" v-if="dedDetail.length>0">
<img class="picItem" :src="itm" alt="" v-for="(itm,idx) in item.pictureList" :key="idx">
<img
class="picItem"
:src="itm"
alt
v-for="(itm,idx) in item.pictureList"
:key="idx"
/>
</div>
<p class="detailTitle" v-if="item.orderViolation && item.status==3"
style="color: #666666;font-size: 13px">如有疑问,可联系滴房车客服 <a :href="'tel://'+Tel" style="color: #666666;">{{Tel}}</a>
<p
class="detailTitle"
v-if="item.orderViolation && item.status==3"
style="color: #666666;font-size: 13px"
>
如有疑问,可联系滴房车客服
<a :href="'tel://'+Tel" style="color: #666666;">{{Tel}}</a>
</p>
<p class="detailTitle" v-if="dedDetail.length>0 && item.status==5" style="margin-top: 15px">
定损总罚款{{dedTotal}}元</p>
<p
class="detailTitle"
v-if="dedDetail.length>0 && item.status==5"
style="margin-top: 15px"
>定损总罚款{{dedTotal}}元</p>
<p class="detailTitle" v-if="dedDetail.length>0 && item.status==5">明细</p>
<div v-if="dedDetail.length>0 && item.status==5" v-for="(itm,idx) in dedDetail" :key="idx">
<div
v-if="dedDetail.length>0 && item.status==5"
v-for="(itm,idx) in dedDetail"
:key="idx"
>
<p class="detailTitle">{{itm.id}}、{{itm.statusName}}扣{{itm.cost}}元</p>
<div class="picBox">
<img class="picItem" :src="it" alt="" v-for="(it,ix) in itm.picList" :key="ix">
<img class="picItem" :src="it" alt v-for="(it,ix) in itm.picList" :key="ix" />
</div>
</div>
</li>
......@@ -265,856 +376,911 @@
</div>
<div v-if="vehicleDetail" style="border: 1px solid;">
<div style="border-bottom: 1px solid;">
<span class="label-text">交车交接人:</span><span
class="label-text">{{orderReturnVehicleCrosstown.username}}</span>
<span class="label-text">交车交接人:</span>
<span class="label-text">{{orderReturnVehicleCrosstown.username}}</span>
</div>
<div>
<span class="label-text">上传驾驶证*:</span><span
class="label-text">{{orderReturnVehicleCrosstown.licenseName}}</span><span class="label-text">{{orderReturnVehicleCrosstown.licensePhone}}</span><br/>
<span style="margin-left:110px;">身份证号:</span> <span class="label-text">{{orderReturnVehicleCrosstown.licenseIdCard}}</span><br/>
<img :src="orderReturnVehicleCrosstown.licenseImg" style="width: 100px; height: 100px;margin-left:110px;"/>
<span class="label-text">上传驾驶证*:</span>
<span class="label-text">{{orderReturnVehicleCrosstown.licenseName}}</span>
<span class="label-text">{{orderReturnVehicleCrosstown.licensePhone}}</span>
<br />
<span style="margin-left:110px;">身份证号:</span>
<span class="label-text">{{orderReturnVehicleCrosstown.licenseIdCard}}</span>
<br />
<img
:src="orderReturnVehicleCrosstown.licenseImg"
style="width: 100px; height: 100px;margin-left:110px;"
/>
</div>
<div>
<span class="label-text">拍照取证*:</span><br/>
<img v-for="item in otherImg" :src="item" style="width: 100px; height: 100px;margin-left:110px;"/>
<span class="label-text">拍照取证*:</span>
<br />
<img
v-for="item in otherImg"
:src="item"
style="width: 100px; height: 100px;margin-left:110px;"
/>
<!-- <img src="../../../../dist/static/img/success.8304acb.png" style="width: 100px; height: 100px;margin-left:110px;"/>
<img src="../../../../dist/static/img/success.8304acb.png" style="width: 100px; height: 100px;margin-left:110px;"/>
<img src="../../../../dist/static/img/success.8304acb.png" style="width: 100px; height: 100px;margin-left:110px;"/> -->
<img src="../../../../dist/static/img/success.8304acb.png" style="width: 100px; height: 100px;margin-left:110px;"/>-->
</div>
<div v-if="handover">
<span class="label-text">房车公里数*:</span><span class="label-text">当前公里数:</span><span class="label-text">{{orderReturnVehicleCrosstown.mileage}}Km</span><br/>
<img :src="orderReturnVehicleCrosstown.mileageImg" style="width: 100px; height: 100px;margin-left:110px;"/>
<span class="label-text">房车公里数*:</span>
<span class="label-text">当前公里数:</span>
<span class="label-text">{{orderReturnVehicleCrosstown.mileage}}Km</span>
<br />
<img
:src="orderReturnVehicleCrosstown.mileageImg"
style="width: 100px; height: 100px;margin-left:110px;"
/>
</div>
<div v-if="returnVehicle">
<span class="label-text">钥匙照片*:</span><br/>
<img :src="orderReturnVehicleCrosstown.vehicleKey" style="width: 100px; height: 100px;margin-left:110px;"/>
<span class="label-text">钥匙照片*:</span>
<br />
<img
:src="orderReturnVehicleCrosstown.vehicleKey"
style="width: 100px; height: 100px;margin-left:110px;"
/>
</div>
<div v-if="returnVehicle">
<span class="label-text">押金扣除项*:</span><span>{{orderReturnVehicleCrosstown.deduction?'有扣除项':'没有扣除项'}}</span><br/>
</div>
<div>
<span class="label-text">备注:</span><span class="label-text">{{orderReturnVehicleCrosstown.remak}}</span>
<span class="label-text">押金扣除项*:</span>
<span>{{orderReturnVehicleCrosstown.deduction?'有扣除项':'没有扣除项'}}</span>
<br />
</div>
<div>
<span class="label-text">备注:</span>
<span class="label-text">{{orderReturnVehicleCrosstown.remak}}</span>
</div>
<div></div>
</div>
</el-form>
</el-dialog>
</div>
</template>
<script>
import Illegal from "./illegalModal";//违章查询
import Detail from "./detail";//违章查询
import rentOrderDetailModal from "../modal/rentOrderDetailModal";//租车订单详情
import {
formatDate
} from '../../../utils/dateFormattor';
import {
page,
getAllBranchCompany,
getAllBranchCompanyByZoneId,
getOrderVehicleCrosstown,
getStep
} from 'api/order/rentVehicle';
import {
timestamp2Date
} from 'utils/dateUtils';
import {mapGetters} from 'vuex';
import rsCode from '../../../utils/rsCode';
import {
getSysRegionByIds
} from 'api/vehicle/vehicleInfo/';
import {
getAllZone
} from 'api/base_info/constant/';
import ElRow from "element-ui/packages/row/src/row";
import ElCol from "element-ui/packages/col/src/col";
import ElButton from "../../../../node_modules/element-ui/packages/button/src/button.vue";
import Illegal from "./illegalModal"; //违章查询
import Detail from "./detail"; //违章查询
import rentOrderDetailModal from "../modal/rentOrderDetailModal"; //租车订单详情
import { formatDate } from "../../../utils/dateFormattor";
import {
page,
getAllBranchCompany,
getAllBranchCompanyByZoneId,
getOrderVehicleCrosstown,
getStep,
calculate
} from "api/order/rentVehicle";
import { timestamp2Date } from "utils/dateUtils";
import { mapGetters } from "vuex";
import rsCode from "../../../utils/rsCode";
import { getSysRegionByIds } from "api/vehicle/vehicleInfo/";
import { getAllZone } from "api/base_info/constant/";
import ElRow from "element-ui/packages/row/src/row";
import ElCol from "element-ui/packages/col/src/col";
import ElButton from "../../../../node_modules/element-ui/packages/button/src/button.vue";
export default {
name: 'branchCompanyStock',
components: {
ElButton,
ElCol,
ElRow,
Illegal,
Detail,
rentOrderDetailModal
},
data() {
return {
pictureList: [],
dedDetail: [],
depositRefundRecord: [],
dedTotal: '',
Tel: '',
form: {
couponAmount: undefined,
crtHost: undefined,
crtName: undefined,
crtTime: undefined,
crtUser: undefined,
detailId: undefined,
endCompanyName: undefined,
goodsAmount: undefined,
hasDiscount: undefined,
hasMemberRight: undefined,
hasPay: undefined,
id: undefined,
name: undefined,
realName:undefined,
no: undefined,
orderAmount: undefined,
orderOrigin: undefined,
orderVehicleCrosstownDto: {
licenseIdCard: "",
licenseImg: "",
licenseName: "",
licensePhone: ""
},
orderRentVehicleDetail: {
bookRecordId: undefined,
costDetail: undefined,
crtTime: undefined,
dayNum: undefined,
deposit: undefined,
driverType: undefined,
endAddr: undefined,
endCity: undefined,
endCityName: undefined,
endCompanyId: undefined,
endTime: undefined,
freeDays: undefined,
handelViolation: undefined,
id: undefined,
modelId: undefined,
myDriverIds: undefined,
orderId: undefined,
score: undefined,
startAddr: undefined,
startCity: undefined,
startCityName: undefined,
startCompanyId: undefined,
startTime: undefined,
stime: undefined,
suserid: undefined,
updTime: undefined,
vehicleId: undefined,
},
payOrigin: undefined,
picture: undefined,
realAmount: undefined,
refundStatus: undefined,
startCompanyName: undefined,
status: undefined,
ststusName: undefined,
telephone: undefined,
type: undefined,
updTime: undefined,
userId: undefined,
username: undefined,
vehicleNumberPlat: undefined,
version: undefined
},
orderVehicleCrosstownVisible: false,
rentDialogVisible: false,//租车详情弹框
modalTitle: '订单详情',
illegalVisible: false,//违章查询弹框
detailVisible: false,
rules: {
// companyName: [
// {
// required: true,
// message: '请输入用户',
// trigger: 'blur'
// }
// ],
},
list: null,
total: null,
listLoading: true,
listQuery: {
page: 1,
limit: 20,
type: 1,
no: null,
status: null,
startTime: undefined,
endTime: undefined,
zoneId: undefined,
startCompanyId: undefined,
plateNumber: undefined,
realName: undefined,
vehicleCode: undefined
},
baranchQuery: {
zoneId: null
export default {
name: "branchCompanyStock",
components: {
ElButton,
ElCol,
ElRow,
Illegal,
Detail,
rentOrderDetailModal
},
data() {
return {
pictureList: [],
dedDetail: [],
depositRefundRecord: [],
dedTotal: "",
Tel: "",
form: {
couponAmount: undefined,
crtHost: undefined,
crtName: undefined,
crtTime: undefined,
crtUser: undefined,
detailId: undefined,
endCompanyName: undefined,
goodsAmount: undefined,
hasDiscount: undefined,
hasMemberRight: undefined,
hasPay: undefined,
id: undefined,
name: undefined,
realName: undefined,
no: undefined,
orderAmount: undefined,
orderOrigin: undefined,
orderVehicleCrosstownDto: {
licenseIdCard: "",
licenseImg: "",
licenseName: "",
licensePhone: ""
},
orderVehicleQuery: {
orderId: null,
type: undefined
},
dialogFormVisible: false,
dialogStatus: '',
btn_del: true,
btn_buy: true,
btn_cancel: true,
allZoneArr: [],//全部片区
allBranchCompany: [],
tourCostDetail: '',
damageSafe: '',
serviceCost: 0,
orderReturnVehicleCrosstown: {
orderRentVehicleDetail: {
bookRecordId: undefined,
costDetail: undefined,
crtTime: undefined,
deduction: undefined,
dayNum: undefined,
deposit: undefined,
driverType: undefined,
endAddr: undefined,
endCity: undefined,
endCityName: undefined,
endCompanyId: undefined,
endTime: undefined,
freeDays: undefined,
handelViolation: undefined,
id: undefined,
imgs: undefined,
isDel: undefined,
mileage: undefined,
mileageImg: undefined,
modelId: undefined,
myDriverIds: undefined,
orderId: undefined,
orderNo: undefined,
orperaterId: undefined,
remak: undefined,
status: undefined,
statusId: undefined,
statusTime: undefined,
type: undefined,
score: undefined,
startAddr: undefined,
startCity: undefined,
startCityName: undefined,
startCompanyId: undefined,
startTime: undefined,
stime: undefined,
suserid: undefined,
updTime: undefined,
userLicenseId: undefined,
username: undefined,
licenseIdCard: undefined,
licenseImg: undefined,
licenseName: undefined,
licensePhone: undefined
},//还车记录
tableKey: 0,
otherImg: [],
handover: false,
returnVehicle: false,
refundshow: false,//退款信息
vehicleDetail: false, //交还车信息,默认全部显示
order_btn_order_violcation_save: false,
depositDetail: false,
costDetail:{
key:undefined,
val:undefined,
children:[
{
key:undefined,
detail:undefined,
val:undefined
}
]
vehicleId: undefined
},
payOrigin: undefined,
picture: undefined,
realAmount: undefined,
refundStatus: undefined,
startCompanyName: undefined,
status: undefined,
ststusName: undefined,
telephone: undefined,
type: undefined,
updTime: undefined,
userId: undefined,
username: undefined,
vehicleNumberPlat: undefined,
version: undefined
},
orderVehicleCrosstownVisible: false,
rentDialogVisible: false, //租车详情弹框
modalTitle: "订单详情",
illegalVisible: false, //违章查询弹框
detailVisible: false,
rules: {
// companyName: [
// {
// required: true,
// message: '请输入用户',
// trigger: 'blur'
// }
// ],
},
list: null,
total: null,
listLoading: true,
listQuery: {
page: 1,
limit: 20,
type: 1,
no: null,
status: null,
startTime: undefined,
endTime: undefined,
zoneId: undefined,
startCompanyId: undefined,
plateNumber: undefined,
realName: undefined,
vehicleCode: undefined
},
baranchQuery: {
zoneId: null
},
orderVehicleQuery: {
orderId: null,
type: undefined
},
dialogFormVisible: false,
dialogStatus: "",
btn_del: true,
btn_buy: true,
btn_cancel: true,
allZoneArr: [], //全部片区
allBranchCompany: [],
tourCostDetail: "",
damageSafe: "",
serviceCost: 0,
orderReturnVehicleCrosstown: {
crtTime: undefined,
deduction: undefined,
id: undefined,
imgs: undefined,
isDel: undefined,
mileage: undefined,
mileageImg: undefined,
orderId: undefined,
orderNo: undefined,
orperaterId: undefined,
remak: undefined,
status: undefined,
statusId: undefined,
statusTime: undefined,
type: undefined,
updTime: undefined,
userLicenseId: undefined,
username: undefined,
licenseIdCard: undefined,
licenseImg: undefined,
licenseName: undefined,
licensePhone: undefined
}, //还车记录
tableKey: 0,
otherImg: [],
handover: false,
returnVehicle: false,
refundshow: false, //退款信息
vehicleDetail: false, //交还车信息,默认全部显示
order_btn_order_violcation_save: false,
depositDetail: false,
costDetail: {
key: undefined,
val: undefined,
children: [
{
key: undefined,
detail: undefined,
val: undefined
}
]
}
};
},
created() {
this.getList();
this.btn_del = this.elements["branchCompany/stockApply:btn_delete"];
this.order_btn_order_violcation_save = this.elements[
"order:btn_order_violcation_save"
];
},
computed: {
...mapGetters(["elements"]),
provinceRegions() {
return getSonRegionByCodes(1);
},
created() {
this.getList();
this.btn_del = this.elements['branchCompany/stockApply:btn_delete'];
this.order_btn_order_violcation_save = this.elements['order:btn_order_violcation_save'];
//获取大区列表
getAllZoneList() {
return getAllZone();
},
computed: {
...mapGetters([
'elements'
]),
provinceRegions() {
return getSonRegionByCodes(1);
},
//获取大区列表
getAllZoneList() {
return getAllZone();
},
cityRegions() {
if (!this.$utils.isInteger(this.form.addrProvince)) {
return null;
}
return getSonRegionByCodes(this.form.addrProvince);
cityRegions() {
if (!this.$utils.isInteger(this.form.addrProvince)) {
return null;
}
return getSonRegionByCodes(this.form.addrProvince);
}
},
methods: {
//取消订单
cancel(row) {
this.$confirm("此操作将取消该订单, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
let params = {
cancelReason: "后台取消",
appUserId: row.userId
};
calculate(row.no, params).then(data => {
if (data.status == 200) {
this.$notify({
title: "成功",
message: '取消订单成功',
type: "success",
duration: 2000
});
this.getList();
} else {
this.$notify({
title: "失败",
message: '取消订单失败',
type: "success",
duration: 2000
});
}
});
});
},
methods: {
handleOrderDetail(row) {
this.form = row;
if (this.form.status == 2) {
this.form.ststusName = '取消';
}
if (this.form.status == 3) {
this.form.ststusName = '待付款';
}
if (this.form.status == 4) {
this.form.ststusName = '待出行';
}
if (this.form.status == 5) {
this.form.ststusName = '出行中';
}
if (this.form.status == 6) {
this.form.ststusName = '已完成';
}
this.form.orderRentVehicleDetail.startTime =this.form.orderRentVehicleDetail.startTime?timestamp2Date(this.form.orderRentVehicleDetail.startTime):''
this.form.orderRentVehicleDetail.endTime = this.form.orderRentVehicleDetail.endTime?timestamp2Date(this.form.orderRentVehicleDetail.endTime):''
if(this.form.orderRentVehicleDetail.costDetail){
try {
this.costDetail = JSON.parse(this.form.orderRentVehicleDetail.costDetail)
var cost = '';
if (this.costDetail.children) {
this.costDetail.children.forEach(function (a) {
var detail = a.detail == undefined ? '' : a.detail
cost += a.key + ":" + detail + " "
})
}
}catch (e) {
this.templateModel()
handleOrderDetail(row) {
this.form = row;
if (this.form.status == 2) {
this.form.ststusName = "取消";
}
if (this.form.status == 3) {
this.form.ststusName = "待付款";
}
if (this.form.status == 4) {
this.form.ststusName = "待出行";
}
if (this.form.status == 5) {
this.form.ststusName = "出行中";
}
if (this.form.status == 6) {
this.form.ststusName = "已完成";
}
this.form.orderRentVehicleDetail.startTime = this.form
.orderRentVehicleDetail.startTime
? timestamp2Date(this.form.orderRentVehicleDetail.startTime)
: "";
this.form.orderRentVehicleDetail.endTime = this.form
.orderRentVehicleDetail.endTime
? timestamp2Date(this.form.orderRentVehicleDetail.endTime)
: "";
if (this.form.orderRentVehicleDetail.costDetail) {
try {
this.costDetail = JSON.parse(
this.form.orderRentVehicleDetail.costDetail
);
var cost = "";
if (this.costDetail.children) {
this.costDetail.children.forEach(function(a) {
var detail = a.detail == undefined ? "" : a.detail;
cost += a.key + ":" + detail + " ";
});
}
} catch (e) {
this.templateModel();
}
this.tourCostDetail = cost
if (this.form.orderRentVehicleDetail.driverType == 1) {
this.serviceCost = this.form.orderRentVehicleDetail.dayNum * 600
}
this.rentDialogVisible = true;
},
/**
* 租车订单详情弹框关闭
* */
rentOrderDetailDialogEvent(e) {
this.rentDialogVisible = false;
if (e) {
this.getList()
}
},
/**
* 操作-违章查询按钮,显示违章弹框
*/
illegalInquiry(row) {
this.currentRow = row;
this.illegalVisible = true;
},
/**
* 操作-查看详情按钮,显示详情弹框
*/
detailInquiry(row) {
this.currentRow = row;
this.detailVisible = true;
},
/**
* 关闭违章查询弹框
* */
illegalEvent(params) {
this.illegalVisible = false;
if (params) {
console.log(params);
}
},
/**
* 关闭违章查询弹框
* */
detailEvent(params) {
this.detailVisible = false;
if (params) {
console.log(params);
}
},
handleHandoverOrderVehicle(row) {
console.log(row)
this.modalTitle = "交车记录"
this.form = row;
if (this.form.status == 2) {
this.form.ststusName = '取消';
}
if (this.form.status == 3) {
this.form.ststusName = '待付款';
}
if (this.form.status == 4) {
this.form.ststusName = '待出行';
}
if (this.form.status == 5) {
this.form.ststusName = '出行中';
}
if (this.form.status == 6) {
this.form.ststusName = '已完成';
}
this.form.orderRentVehicleDetail.startTime = timestamp2Date(this.form.orderRentVehicleDetail.startTime)
this.form.orderRentVehicleDetail.endTime = timestamp2Date(this.form.orderRentVehicleDetail.endTime)
this.costDetail = JSON.parse(this.form.orderRentVehicleDetail.costDetail)
var cost = '';
if (this.costDetail.children){
this.costDetail.children.forEach(function (a) {
var detail = a.detail == undefined ? '' : a.detail
cost += a.key + ":" + detail + " "
})
}
this.tourCostDetail = cost
if (this.form.orderRentVehicleDetail.driverType == 1) {
this.serviceCost = this.form.orderRentVehicleDetail.dayNum * 600
}
this.tourCostDetail = cost;
if (this.form.orderRentVehicleDetail.driverType == 1) {
this.serviceCost = this.form.orderRentVehicleDetail.dayNum * 600;
}
this.rentDialogVisible = true;
},
/**
* 租车订单详情弹框关闭
* */
rentOrderDetailDialogEvent(e) {
this.rentDialogVisible = false;
if (e) {
this.getList();
}
},
/**
* 操作-违章查询按钮,显示违章弹框
*/
illegalInquiry(row) {
this.currentRow = row;
this.illegalVisible = true;
},
/**
* 操作-查看详情按钮,显示详情弹框
*/
detailInquiry(row) {
this.currentRow = row;
this.detailVisible = true;
},
/**
* 关闭违章查询弹框
* */
illegalEvent(params) {
this.illegalVisible = false;
if (params) {
console.log(params);
}
},
/**
* 关闭违章查询弹框
* */
detailEvent(params) {
this.detailVisible = false;
if (params) {
console.log(params);
}
},
handleHandoverOrderVehicle(row) {
console.log(row);
this.modalTitle = "交车记录";
this.form = row;
if (this.form.status == 2) {
this.form.ststusName = "取消";
}
if (this.form.status == 3) {
this.form.ststusName = "待付款";
}
if (this.form.status == 4) {
this.form.ststusName = "待出行";
}
if (this.form.status == 5) {
this.form.ststusName = "出行中";
}
if (this.form.status == 6) {
this.form.ststusName = "已完成";
}
this.form.orderRentVehicleDetail.startTime = timestamp2Date(
this.form.orderRentVehicleDetail.startTime
);
this.form.orderRentVehicleDetail.endTime = timestamp2Date(
this.form.orderRentVehicleDetail.endTime
);
this.costDetail = JSON.parse(this.form.orderRentVehicleDetail.costDetail);
var cost = "";
if (this.costDetail.children) {
this.costDetail.children.forEach(function(a) {
var detail = a.detail == undefined ? "" : a.detail;
cost += a.key + ":" + detail + " ";
});
}
this.tourCostDetail = cost;
if (this.form.orderRentVehicleDetail.driverType == 1) {
this.serviceCost = this.form.orderRentVehicleDetail.dayNum * 600;
}
this.orderVehicleQuery.orderId = this.form.id;
this.orderVehicleQuery.type = 1;
this.getAllOrderVehicleCrosstown();
this.handover = true;
this.returnVehicle = false;
this.vehicleDetail = true;
this.depositDetail = false;
},
getAllOrderVehicleCrosstown() {
getOrderVehicleCrosstown(this.orderVehicleQuery).then(response => {
console.log(response);
if (response.data.length <= 0) {
alert("交还车记录不存在");
} else {
this.orderVehicleCrosstownVisible = true;
this.orderReturnVehicleCrosstown = response.data[0];
if (response.data[0].imgs) {
this.otherImg = response.data[0].imgs.split(",");
}
}
this.orderVehicleQuery.orderId = this.form.id
this.orderVehicleQuery.type = 1
this.getAllOrderVehicleCrosstown();
this.handover = true
this.returnVehicle = false
this.vehicleDetail = true
this.depositDetail = false
});
},
},
getAllOrderVehicleCrosstown() {
getOrderVehicleCrosstown(this.orderVehicleQuery)
.then(response => {
console.log(response)
if (response.data.length <= 0) {
alert("交还车记录不存在")
} else {
this.orderVehicleCrosstownVisible = true
this.orderReturnVehicleCrosstown = response.data[0];
if (response.data[0].imgs) {
this.otherImg = response.data[0].imgs.split(',')
}
handleReturnOrderVehicle(row) {
console.log(row);
this.modalTitle = "还车记录";
this.form = row;
if (this.form.status == 2) {
this.form.ststusName = "取消";
}
if (this.form.status == 3) {
this.form.ststusName = "待付款";
}
if (this.form.status == 4) {
this.form.ststusName = "待出行";
}
if (this.form.status == 5) {
this.form.ststusName = "出行中";
}
if (this.form.status == 6) {
this.form.ststusName = "已完成";
}
this.form.orderRentVehicleDetail.startTime = timestamp2Date(
this.form.orderRentVehicleDetail.startTime
);
this.form.orderRentVehicleDetail.endTime = timestamp2Date(
this.form.orderRentVehicleDetail.endTime
);
this.costDetail = JSON.parse(this.form.orderRentVehicleDetail.costDetail);
var cost = "";
if (this.costDetail.children) {
this.costDetail.children.forEach(function(a) {
var detail = a.detail == undefined ? "" : a.detail;
cost += a.key + ":" + detail + " ";
});
}
this.tourCostDetail = cost;
if (this.form.orderRentVehicleDetail.driverType == 1) {
this.serviceCost = this.form.orderRentVehicleDetail.dayNum * 600;
}
this.orderVehicleQuery.orderId = this.form.id;
this.orderVehicleQuery.type = 2;
this.getAllOrderVehicleCrosstown();
this.returnVehicle = true;
this.handover = false;
this.vehicleDetail = true;
this.depositDetail = false;
},
handleRefundVehicle(row) {
console.log(row);
var that = this;
that.pictureList = [];
that.dedDetail = [];
that.depositRefundRecord = [];
that.dedTotal = 0;
that.Tel = "";
getStep(row.no).then(response => {
response.data.forEach(function(item) {
if (item.type != 1) {
that.Tel = item.customerPhone;
that.type = item.type;
if (item.dedDetail) {
var dedTotal = 0;
var dedDetail = JSON.parse(item.dedDetail);
that.dedDetail = dedDetail;
dedDetail.forEach(function(item) {
dedTotal += Number(item.cost);
});
that.dedTotal = dedTotal.toFixed(2);
}
})
},
handleReturnOrderVehicle(row) {
console.log(row)
this.modalTitle = "还车记录"
this.form = row;
if (this.form.status == 2) {
this.form.ststusName = '取消';
}
if (this.form.status == 3) {
this.form.ststusName = '待付款';
}
if (this.form.status == 4) {
this.form.ststusName = '待出行';
}
if (this.form.status == 5) {
this.form.ststusName = '出行中';
}
if (this.form.status == 6) {
this.form.ststusName = '已完成';
}
this.form.orderRentVehicleDetail.startTime = timestamp2Date(this.form.orderRentVehicleDetail.startTime)
this.form.orderRentVehicleDetail.endTime = timestamp2Date(this.form.orderRentVehicleDetail.endTime)
this.costDetail = JSON.parse(this.form.orderRentVehicleDetail.costDetail)
var cost = '';
if (this.costDetail.children){
this.costDetail.children.forEach(function (a) {
var detail = a.detail == undefined ? '' : a.detail
cost += a.key + ":" + detail + " "
})
}
this.tourCostDetail = cost
if (this.form.orderRentVehicleDetail.driverType == 1) {
this.serviceCost = this.form.orderRentVehicleDetail.dayNum * 600
}
this.orderVehicleQuery.orderId = this.form.id
this.orderVehicleQuery.type = 2
this.getAllOrderVehicleCrosstown();
this.returnVehicle = true
this.handover = false
this.vehicleDetail = true
this.depositDetail = false
},
handleRefundVehicle(row) {
console.log(row)
var that = this;
that.pictureList = [];
that.dedDetail = [];
that.depositRefundRecord = [];
that.dedTotal = 0;
that.Tel = '';
getStep(row.no).then(response => {
response.data.forEach(function (item) {
if (item.type != 1) {
that.Tel = item.customerPhone
that.type = item.type
if (item.dedDetail) {
var dedTotal = 0
var dedDetail = JSON.parse(item.dedDetail);
that.dedDetail = dedDetail;
dedDetail.forEach(function (item) {
dedTotal += Number(item.cost)
})
that.dedTotal = dedTotal.toFixed(2);
}
item.depositRefundRecord.forEach(function (itm) {
itm.updTimeStr = timestamp2Date(itm.updTime);
if (itm.status == 3) {
itm.endTimeStr = timestamp2Date(Number(itm.updTime) + 2592000000)
if (itm.orderViolation) {
if (itm.orderViolation.picture) {
var Arr = itm.orderViolation.picture.split(",");
var arrivalPicList = [];
Arr.map(function (it) {
arrivalPicList.push(it);
});
itm.pictureList = arrivalPicList;
}
item.depositRefundRecord.forEach(function(itm) {
itm.updTimeStr = timestamp2Date(itm.updTime);
if (itm.status == 3) {
itm.endTimeStr = timestamp2Date(
Number(itm.updTime) + 2592000000
);
if (itm.orderViolation) {
if (itm.orderViolation.picture) {
var Arr = itm.orderViolation.picture.split(",");
var arrivalPicList = [];
Arr.map(function(it) {
arrivalPicList.push(it);
});
itm.pictureList = arrivalPicList;
}
}
})
if (item.type == 3) {
var arr = item.depositRefundRecord;
var item = arr.shift();
arr.push(item)
} else {
var arr = item.depositRefundRecord;
}
that.depositRefundRecord = arr
console.log(that.depositRefundRecord)
});
if (item.type == 3) {
var arr = item.depositRefundRecord;
var item = arr.shift();
arr.push(item);
} else {
var arr = item.depositRefundRecord;
}
that.depositRefundRecord = arr;
console.log(that.depositRefundRecord);
}
});
});
this.modalTitle = "押金记录";
this.form = row;
if (this.form.status == 2) {
this.form.ststusName = "取消";
}
if (this.form.status == 3) {
this.form.ststusName = "待付款";
}
if (this.form.status == 4) {
this.form.ststusName = "待出行";
}
if (this.form.status == 5) {
this.form.ststusName = "出行中";
}
if (this.form.status == 6) {
this.form.ststusName = "已完成";
}
this.form.orderRentVehicleDetail.startTime = timestamp2Date(
this.form.orderRentVehicleDetail.startTime
);
this.form.orderRentVehicleDetail.endTime = timestamp2Date(
this.form.orderRentVehicleDetail.endTime
);
this.orderVehicleCrosstownVisible = true;
this.vehicleDetail = false;
this.depositDetail = true;
},
//监听change事件
getProvinceRegions(item) {
this.listQuery.zoneId = item;
this.baranchQuery.zoneId = item;
this.listQuery.startCompanyId = undefined;
getAllBranchCompanyByZoneId(this.baranchQuery).then(response => {
this.allBranchCompany = response.data;
});
},
getAllBranchCompanyChange(item) {
this.listQuery.startCompanyId = item;
},
handleCancel(row) {
this.$confirm("此操作将放弃购买, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
cancelApply(row.id).then(() => {
this.$notify({
title: "成功",
message: "操作成功",
type: "success",
duration: 2000
});
})
this.modalTitle = "押金记录"
this.form = row;
if (this.form.status == 2) {
this.form.ststusName = '取消';
}
if (this.form.status == 3) {
this.form.ststusName = '待付款';
}
if (this.form.status == 4) {
this.form.ststusName = '待出行';
}
if (this.form.status == 5) {
this.form.ststusName = '出行中';
}
if (this.form.status == 6) {
this.form.ststusName = '已完成';
}
this.form.orderRentVehicleDetail.startTime = timestamp2Date(this.form.orderRentVehicleDetail.startTime)
this.form.orderRentVehicleDetail.endTime = timestamp2Date(this.form.orderRentVehicleDetail.endTime)
this.orderVehicleCrosstownVisible = true
this.vehicleDetail = false
this.depositDetail = true
},
//监听change事件
getProvinceRegions(item) {
this.listQuery.zoneId = item
this.baranchQuery.zoneId = item
this.listQuery.startCompanyId = undefined;
getAllBranchCompanyByZoneId(this.baranchQuery)
.then(response => {
this.allBranchCompany = response.data;
})
},
getAllBranchCompanyChange(item) {
this.listQuery.startCompanyId = item
},
handleCancel(row) {
this.$confirm('此操作将放弃购买, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
cancelApply(row.id)
.then(() => {
this.$notify({
title: '成功',
message: '操作成功',
type: 'success',
duration: 2000
});
this.getList();
});
});
},
this.getList();
});
});
},
handleDelete(row) {
this.$confirm('此操作将永久删除, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
delObj(row.id)
.then(() => {
this.$notify({
title: '成功',
message: '删除成功',
type: 'success',
duration: 2000
});
const index = this.list.indexOf(row);
this.list.splice(index, 1);
});
handleDelete(row) {
this.$confirm("此操作将永久删除, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
delObj(row.id).then(() => {
this.$notify({
title: "成功",
message: "删除成功",
type: "success",
duration: 2000
});
},
handleFilter() {
this.listQuery.page = 1;
this.$refs.queryForm.validate(valid => {
if (valid) {
this.getList();
} else {
return false;
}
const index = this.list.indexOf(row);
this.list.splice(index, 1);
});
},
clearSearch() {
this.listQuery = {
page: 1,
limit: 20,
type: 1,
no: null,
status: null,
startTime: undefined,
endTime: undefined,
zoneId: undefined,
startCompanyId: undefined
});
},
handleFilter() {
this.listQuery.page = 1;
this.$refs.queryForm.validate(valid => {
if (valid) {
this.getList();
} else {
return false;
}
this.getList()
},
/**
* 获取订单列表
*/
getList() {
this.listLoading = true;
});
},
clearSearch() {
this.listQuery = {
page: 1,
limit: 20,
type: 1,
no: null,
status: null,
startTime: undefined,
endTime: undefined,
zoneId: undefined,
startCompanyId: undefined
};
this.getList();
},
/**
* 获取订单列表
*/
getList() {
this.listLoading = true;
// if(this.listQuery.startTime){
// this.listQuery.startTime = this.listQuery.startTime.getTime();
// }
// if(this.listQuery.endTime){
// this.listQuery.endTime = this.listQuery.endTime.getTime();
// }
page(this.listQuery)
.then(response => {
if (response.data.data){
response.data.data.map(function (el) {
console.log(el)
if (el.status == 2) {
el.ststusName = '取消';
}
if (el.status == 3) {
el.ststusName = '待付款';
}
if (el.status == 4) {
el.ststusName = '待出行';
}
if (el.status == 5) {
el.ststusName = '出行中';
}
if (el.status == 6) {
el.ststusName = '已完成';
}
})
// if(this.listQuery.startTime){
// this.listQuery.startTime = this.listQuery.startTime.getTime();
// }
// if(this.listQuery.endTime){
// this.listQuery.endTime = this.listQuery.endTime.getTime();
// }
page(this.listQuery).then(response => {
if (response.data.data) {
response.data.data.map(function(el) {
console.log(el);
if (el.status == 2) {
el.ststusName = "取消";
}
this.list = response.data.data;
this.total = response.data.totalCount;
this.listLoading = false;
})
},
handleSizeChange(val) {
this.listQuery.limit = val;
this.getList();
},
dateFormat(timestamp) {
let date = new Date(timestamp);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
return formatDate(date, 'yyyy-MM-dd hh:mm:ss');
},
handleCurrentChange(val) {
this.listQuery.page = val;
this.getList();
},
templateModel(){
this.costDetail= {
key: undefined,
val: undefined,
children: [
{
key: undefined,
detail: undefined,
val: undefined
if (el.status == 3) {
el.ststusName = "待付款";
}
if (el.status == 4) {
el.ststusName = "待出行";
}
if (el.status == 5) {
el.ststusName = "出行中";
}
]
if (el.status == 6) {
el.ststusName = "已完成";
}
});
}
}
this.list = response.data.data;
this.total = response.data.totalCount;
this.listLoading = false;
});
},
handleSizeChange(val) {
this.listQuery.limit = val;
this.getList();
},
dateFormat(timestamp) {
let date = new Date(timestamp); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
return formatDate(date, "yyyy-MM-dd hh:mm:ss");
},
handleCurrentChange(val) {
this.listQuery.page = val;
this.getList();
},
templateModel() {
this.costDetail = {
key: undefined,
val: undefined,
children: [
{
key: undefined,
detail: undefined,
val: undefined
}
]
};
}
}
};
</script>
<style scpoed>
.label-text {
margin-left: 10px;
margin-right: 20px;
}
.label-text {
margin-left: 10px;
margin-right: 20px;
}
.label-title {
margin-top: 10px;
}
.label-title {
margin-top: 10px;
}
.orderDetail tr th {
background: #eef1f6;
}
.orderDetail tr th {
background: #eef1f6;
}
.orderDetail tr td, .orderDetail tr th {
width: 500px;
text-align: center;
border: 1px solid #dfe6ec;
margin-left: 100px;
margin-right: 100px;
padding: 10px;
}
.orderDetail tr td,
.orderDetail tr th {
width: 500px;
text-align: center;
border: 1px solid #dfe6ec;
margin-left: 100px;
margin-right: 100px;
padding: 10px;
}
.label-value {
margin-left: 80px;
margin-right: 100px;
}
.label-value {
margin-left: 80px;
margin-right: 100px;
}
#license-img {
width: 50px;
height: 50px;
}
#license-img {
width: 50px;
height: 50px;
}
.order-details .el-form-item {
margin-bottom: 10px !important;
}
.order-details .el-form-item {
margin-bottom: 10px !important;
}
.stepBox {
background-color: #fff;
width: 100%;
margin-top: 10px;
}
.stepBox {
background-color: #fff;
width: 100%;
margin-top: 10px;
}
.title {
font-size: 17px;
color: #171413;
border-bottom: 1px solid #CCCCCC;
margin-bottom: 10px;
font-weight: 400;
padding: 10px;
}
.title {
font-size: 17px;
color: #171413;
border-bottom: 1px solid #cccccc;
margin-bottom: 10px;
font-weight: 400;
padding: 10px;
}
.stepBox ul {
margin-left: 10px;
padding-left: 10px;
padding-top: 20px;
}
.stepBox ul {
margin-left: 10px;
padding-left: 10px;
padding-top: 20px;
}
.stepBox li {
position: relative;
padding: 0 20px 20px 20px;
list-style: none;
min-height: 40px;
border-left: 1px solid #ccc;
margin-top: -15px;
}
.stepBox li {
position: relative;
padding: 0 20px 20px 20px;
list-style: none;
min-height: 40px;
border-left: 1px solid #ccc;
margin-top: -15px;
}
.stepBox li.active {
border-color: #47E270;
}
.stepBox li.active {
border-color: #47e270;
}
.stepBox ul li:last-child {
border: none;
}
.stepBox ul li:last-child {
border: none;
}
.activeImg, .doingImg {
position: absolute;
width: 28px;
top: -18px;
left: -14px;
background: #fff
}
.activeImg,
.doingImg {
position: absolute;
width: 28px;
top: -18px;
left: -14px;
background: #fff;
}
.stepTitle {
font-size: 15px;
color: #171413;
padding-bottom: 5px
}
.stepTitle {
font-size: 15px;
color: #171413;
padding-bottom: 5px;
}
.tip {
font-size: 10px;
color: #999999;
}
.tip {
font-size: 10px;
color: #999999;
}
.detailTitle {
font-size: 10px;
color: #171413;
}
.detailTitle {
font-size: 10px;
color: #171413;
}
.orderBox {
width: 100%;
padding: 0 10px;
background: #fff;
}
.orderBox {
width: 100%;
padding: 0 10px;
background: #fff;
}
.orderItem {
display: flex;
display: -webkit-box;
display: -webkit-flex;
align-items: center;
padding-bottom: 5px
}
.orderItem {
display: flex;
display: -webkit-box;
display: -webkit-flex;
align-items: center;
padding-bottom: 5px;
}
.orderItemLeft {
font-size: 13px;
color: #171413
}
.orderItemLeft {
font-size: 13px;
color: #171413;
}
.orderItemRight {
font-size: 13px;
color: #666666
}
.orderItemRight {
font-size: 13px;
color: #666666;
}
.detailBox {
display: flex;
display: -webkit-box;
display: -webkit-flex;
padding: 0 10px 10px 10px;
align-items: center
}
.detailBox {
display: flex;
display: -webkit-box;
display: -webkit-flex;
padding: 0 10px 10px 10px;
align-items: center;
}
.detailBoxLeft {
width: 80px;
height: 80px;
border-radius: 3px;
margin-right: 7px
}
.detailBoxLeft {
width: 80px;
height: 80px;
border-radius: 3px;
margin-right: 7px;
}
.detailBoxRight {
flex: 1;
}
.detailBoxRight {
flex: 1;
}
.copy {
font-size: 10px;
color: #666666;
background: #EEEEEE;
border-radius: 3px;
padding: 3px;
margin-left: 10px
}
.copy {
font-size: 10px;
color: #666666;
background: #eeeeee;
border-radius: 3px;
padding: 3px;
margin-left: 10px;
}
.picBox {
display: flex;
display: -webkit-box;
display: -webkit-flex;
align-items: center;
flex-wrap: wrap
}
.picBox {
display: flex;
display: -webkit-box;
display: -webkit-flex;
align-items: center;
flex-wrap: wrap;
}
.picItem {
width: calc(33.3% - 10px);
margin-right: 10px;
margin-bottom: 10px;
}
.picItem {
width: calc(33.3% - 10px);
margin-right: 10px;
margin-bottom: 10px;
}
.bag {
background: #171413;
border-radius: 3px;
padding: 0 2px;
color: #fff;
font-size: 10px;
margin-right: 5px
}
.bag {
background: #171413;
border-radius: 3px;
padding: 0 2px;
color: #fff;
font-size: 10px;
margin-right: 5px;
}
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment