Commit 70f6ce63 authored by hanfeng's avatar hanfeng

Merge remote-tracking branch 'origin/base-modify' into base-modify-hf

parents 39f0089b 9937b50c
module.exports = { module.exports = {
NODE_ENV: '"development"', NODE_ENV: '"development"',
BASE_API:'"https://xxtest.upyuns.com"',//'"https://dev.dfangche.com"',//'"https://xxfcmgmt.upyuns.com"(正)',//http://10.1.37.192:9527(何), //https://xxtest.upyuns.com(测),10.1.37.246:9527(韩), 10.1.37.244(李斌)10.1.37.248:8765(小威) BASE_API:'"https://dev.dfangche.com"',//'"https://xxtest.upyuns.com"',//'"https://xxtest.upyuns.com"',//'"https://xxtest.upyuns.com"',//'"https://xxfcmgmt.upyuns.com"(正)',//http://10.1.37.192:9527(何), //https://xxtest.upyuns.com(测),10.1.37.246:9527(韩), 10.1.37.244(李斌)10.1.37.248:8765(小威)
APP_ORIGIN: '"https://wallstreetcn.com"' APP_ORIGIN: '"https://wallstreetcn.com"'
} }
module.exports = { module.exports = {
NODE_ENV: '"sit"', NODE_ENV: '"sit"',
BASE_API: '"https://dev.dfangche.com"', BASE_API: '"https://xxtest.upyuns.com"',
APP_ORIGIN: '"https://wallstreetcn.com"' APP_ORIGIN: '"https://wallstreetcn.com"'
}; };
...@@ -295,7 +295,7 @@ ...@@ -295,7 +295,7 @@
}, },
"async-validator": { "async-validator": {
"version": "1.6.9", "version": "1.6.9",
"resolved": "https://registry.npm.taobao.org/async-validator/download/async-validator-1.6.9.tgz", "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-1.6.9.tgz",
"integrity": "sha1-qDCdqouDQhzb1GKOAm1quyUZLTQ=" "integrity": "sha1-qDCdqouDQhzb1GKOAm1quyUZLTQ="
}, },
"asynckit": { "asynckit": {
...@@ -575,9 +575,9 @@ ...@@ -575,9 +575,9 @@
} }
}, },
"babel-helper-vue-jsx-merge-props": { "babel-helper-vue-jsx-merge-props": {
"version": "2.0.2", "version": "2.0.3",
"resolved": "https://registry.npm.taobao.org/babel-helper-vue-jsx-merge-props/download/babel-helper-vue-jsx-merge-props-2.0.2.tgz", "resolved": "https://registry.npmjs.org/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz",
"integrity": "sha1-rOscNzWIJ54nVeoc/TXCI5T9M/g=" "integrity": "sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg=="
}, },
"babel-helpers": { "babel-helpers": {
"version": "6.24.1", "version": "6.24.1",
...@@ -2646,7 +2646,7 @@ ...@@ -2646,7 +2646,7 @@
"deepmerge": { "deepmerge": {
"version": "1.5.2", "version": "1.5.2",
"resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz",
"integrity": "sha1-EEmdhohEza1P7ghC34x/bwyVp1M=" "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ=="
}, },
"define-property": { "define-property": {
"version": "2.0.2", "version": "2.0.2",
...@@ -2938,7 +2938,7 @@ ...@@ -2938,7 +2938,7 @@
"element-ui": { "element-ui": {
"version": "1.4.1", "version": "1.4.1",
"resolved": "https://registry.npmjs.org/element-ui/-/element-ui-1.4.1.tgz", "resolved": "https://registry.npmjs.org/element-ui/-/element-ui-1.4.1.tgz",
"integrity": "sha1-9EccrbQ9x3nDCY3HNjSuqU0D8lU=", "integrity": "sha512-4jZu41iMuV8Semz0MG7nd8HIicyXlMJY923NvuIXoM3Q3llnwpwBVBqaPAgL3VrRnwzLKxyR/GjxxQDBqf/bvQ==",
"requires": { "requires": {
"async-validator": "1.6.9", "async-validator": "1.6.9",
"babel-helper-vue-jsx-merge-props": "^2.0.0", "babel-helper-vue-jsx-merge-props": "^2.0.0",
...@@ -10806,9 +10806,9 @@ ...@@ -10806,9 +10806,9 @@
"dev": true "dev": true
}, },
"throttle-debounce": { "throttle-debounce": {
"version": "1.0.1", "version": "1.1.0",
"resolved": "https://registry.npm.taobao.org/throttle-debounce/download/throttle-debounce-1.0.1.tgz", "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-1.1.0.tgz",
"integrity": "sha1-2tD+Ew+drzcZ/eoz3Dao5rp/MLU=" "integrity": "sha512-XH8UiPCQcWNuk2LYePibW/4qL97+ZQ1AN3FNXwZRBNPPowo/NRU5fAlDCSNBJIYCKbioZfuYtMhG4quqoJhVzg=="
}, },
"through": { "through": {
"version": "2.3.8", "version": "2.3.8",
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
"codemirror": "5.26.0", "codemirror": "5.26.0",
"dropzone": "5.1.0", "dropzone": "5.1.0",
"echarts": "3.6.2", "echarts": "3.6.2",
"element-ui": "1.4.1", "element-ui": "^1.4.1",
"file-saver": "1.3.3", "file-saver": "1.3.3",
"jquery": "^3.4.0", "jquery": "^3.4.0",
"js-cookie": "2.1.4", "js-cookie": "2.1.4",
......
...@@ -132,6 +132,17 @@ export function updateVehicleModel(params) { ...@@ -132,6 +132,17 @@ export function updateVehicleModel(params) {
}); });
} }
/**
* App是否展示
* @param {Object} params
*/
export function updateAppShow(params) {
return fetch({
url: '/vehicle/vehicleModel/bg/updateAppShow',
method: 'post',
data: params
});
}
/* /*
* 新建一条车型数据 * 新建一条车型数据
* */ * */
......
...@@ -62,7 +62,7 @@ ...@@ -62,7 +62,7 @@
<span>{{scope.row.crtTimeStr}}</span> <span>{{scope.row.crtTimeStr}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" width="150" label="操作" fixed="right"> <el-table-column align="center" width="150" label="操作">
<template scope="scope"> <template scope="scope">
<el-button size="small" class="el-button el-button--text el-button--small" @click="handleUpdate(scope.row)">{{campsiteshop_btn_update?"编辑":"查看"}} <el-button size="small" class="el-button el-button--text el-button--small" @click="handleUpdate(scope.row)">{{campsiteshop_btn_update?"编辑":"查看"}}
</el-button> </el-button>
......
<template> <template>
<el-dialog title="租车订单详情" :visible.sync="dialogVisible" class="order-details"> <el-dialog title="租车订单详情" :visible.sync="dialogVisible" class="order-details">
<el-form :model="form" ref="form" label-width="90px"> <el-form :model="form" ref="form" label-width="110px">
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="订单号:"> <el-form-item label="订单号:">
...@@ -8,28 +8,34 @@ ...@@ -8,28 +8,34 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="支付时间:"> <el-form-item label="创建订单时间:">
<span>{{form.crtTime}}</span> <span>{{form.crtTime}}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="订单状态:"> <el-form-item label="实际支付时间:">
<span>{{form.ststusName}}</span> <span>{{!!form.payTime ? timestamp(new Date(form.payTime)) : '无'}}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="姓名:"> <el-form-item label="订单状态:">
<span>{{form.realName}}</span> <span>{{form.ststusName}}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="手机号:"> <el-form-item label="姓名/手机号:">
<span>{{form.telephone}}</span> <span>{{form.realName}}/{{form.telephone}}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="会员等级/身份:">
<span>{{form.memberName}}/{{form. jobTitle}}</span>
</el-form-item>
</el-col>
<!-- <el-col :span="8">
<el-form-item label="配车:"> <el-form-item label="配车:">
<span <span
style="margin-right: 10px;" style="margin-right: 10px;"
...@@ -42,9 +48,9 @@ ...@@ -42,9 +48,9 @@
@click="resetCar" @click="resetCar"
>重新配车</el-button> >重新配车</el-button>
</el-form-item> </el-form-item>
</el-col> </el-col>-->
</el-row> </el-row>
<el-row> <!-- <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="取车:"> <el-form-item label="取车:">
<span>{{form.orderRentVehicleDetail.startTime}}</span> <span>{{form.orderRentVehicleDetail.startTime}}</span>
...@@ -60,8 +66,8 @@ ...@@ -60,8 +66,8 @@
<span>{{form.startCompanyName}}</span> <span>{{form.startCompanyName}}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>-->
<el-row> <!-- <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="还车:"> <el-form-item label="还车:">
<span>{{form.orderRentVehicleDetail.endTime}}</span> <span>{{form.orderRentVehicleDetail.endTime}}</span>
...@@ -75,45 +81,112 @@ ...@@ -75,45 +81,112 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item label="还车公司:"> <el-form-item label="还车公司:">
<span>{{form.endCompanyName}}</span> <span>{{form.endCompanyName}}</span>
<el-button v-show="form.status == 4 || form.status == 5" size="mini" type="primary" style="padding: 7px 9px;" @click="resetReturn = true">更换</el-button> <el-button
v-show="form.status == 4 || form.status == 5"
size="mini"
type="primary"
style="padding: 7px 9px;"
@click="resetReturn = true"
>更换</el-button>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>-->
<table class="orderDetail"> <table class="orderDetail">
<tr> <tr>
<th>房车</th> <th>房车</th>
<th>租借天数</th> <th>取/还时间</th>
<th>费用明细</th> <th>交车公司</th>
<th>还车公司</th>
<th>免费天数</th>
<th>车辆租赁费</th>
<th>优惠券</th>
<th>不计免赔</th>
<th>租房车押金</th>
</tr> </tr>
<tr> <tr>
<td>{{form.name}}{{rentCostDetail}}</td> <td>{{form.name}}</td>
<td>{{form.orderRentVehicleDetail.dayNum}}</td> <td>
<td>{{rentCostDetail}}</td> <p>取:{{form.orderRentVehicleDetail.startTime}}</p>
<p>还:{{form.orderRentVehicleDetail.endTime}}</p>
</td>
<td>{{form.startCompanyName}}</td>
<td>{{form.endCompanyName}}</td>
<td></td>
<td></td>
<td>
<p v-if="form.couponList">
优惠券:
<span
v-for="(item,index) in form.couponList"
:key="index"
>{{item.title}}-{{item.usedAmount}}</span>
</p>
<p v-else>优惠券:无</p>
</td>
<td></td>
<td>
<!-- {{form.orderRentVehicleDetail.costDetail.children}} -->
<!-- <div v-show="form.orderRentVehicleDetail.costDetail">
<p
v-for="(item,index) in JSON.parse(form.orderRentVehicleDetail.costDetail).children"
:key="index"
>{{item.key}}:{{item.detail || '无'}}</p>
</div> -->
</td>
</tr> </tr>
<tr> <tr>
<td>
<el-button size="small" type="text" v-if="form.status==4" @click="resetCar">重新配车</el-button>
</td>
<td></td> <td></td>
<td></td> <td></td>
<td>共计:¥{{form.realAmount}}</td> <td>
<el-button
v-show="form.status == 4 || form.status == 5"
size="mini"
type="text"
@click="resetReturn = true"
>更换</el-button>
</td>
<td colspan="5">{{form.payWay == 1 ? '微信公众号支付' : form.payWay == 2 ? '支付宝即时支付' : form.payWay == 3 ? '银联支付' : ''}} 共计:¥{{form.realAmount}}</td>
</tr> </tr>
</table> </table>
<div v-if="form.orderVehicleCrosstownDto" style="margin: 20px 0;">
<p>
<b>额外随车物品:</b>
<span
v-for="(item,index) in JSON.parse(this.form.carArticlesJson)"
:key="index"
style="margin-right:10px"
>{{item.name || '无'}}</span>
</p>
<p>
<b>内部邀请人:</b>
<span>{{form.facilitatePhone || '无'}}</span>
</p>
<p>
<b>驾驶证:</b>
<span
v-if="form.orderVehicleCrosstownDto"
>{{form.orderVehicleCrosstownDto.licenseName}} {{form.orderVehicleCrosstownDto.licensePhone}} {{form.orderVehicleCrosstownDto.licenseIdCard}}</span>
<span v-else></span>
</p>
<!-- <div v-if="form.orderVehicleCrosstownDto" style="margin: 20px 0;">
<span style="font-size: 18px;font-weight: bold;">驾驶人信息</span> <span style="font-size: 18px;font-weight: bold;">驾驶人信息</span>
</div> </div>-->
<table class="orderDetail" v-if="form.orderVehicleCrosstownDto"> <!-- <table class="orderDetail" v-if="form.orderVehicleCrosstownDto">
<tr> <tr>
<th>姓名</th> <th>姓名</th>
<th>手机号</th> <th>手机号</th>
<th>身份证号</th> <th>身份证号</th>
<!-- <th>驾照</th>-->
</tr> </tr>
<tr> <tr>
<td>{{form.orderVehicleCrosstownDto.licenseName}}</td> <td>{{form.orderVehicleCrosstownDto.licenseName}}</td>
<td>{{form.orderVehicleCrosstownDto.licensePhone}}</td> <td>{{form.orderVehicleCrosstownDto.licensePhone}}</td>
<td>{{form.orderVehicleCrosstownDto.licenseIdCard}}</td> <td>{{form.orderVehicleCrosstownDto.licenseIdCard}}</td>
<!-- <td><img style="width: 140px;height: 140px;" :src="form.orderVehicleCrosstownDto?form.orderVehicleCrosstownDto.licenseImg:'https://xxtest.upyuns.com/image/app/default_%20avatar.png'"></td>-->
</tr> </tr>
</table> </table>-->
</el-form> </el-form>
<div class="modal_modal" v-show="resetCarVisible"></div> <div class="modal_modal" v-show="resetCarVisible"></div>
<!-- 重新配车 --> <!-- 重新配车 -->
...@@ -171,6 +244,7 @@ export default { ...@@ -171,6 +244,7 @@ export default {
updateNumberPlat: false, //是否重新配车 updateNumberPlat: false, //是否重新配车
dialogVisible: false, dialogVisible: false,
resetCarVisible: false, resetCarVisible: false,
goods: [],
resetCarForm: { resetCarForm: {
no: '', no: '',
numberPlate: '' //重新配车车牌号 numberPlate: '' //重新配车车牌号
...@@ -204,7 +278,7 @@ export default { ...@@ -204,7 +278,7 @@ export default {
} }
}, },
mounted() { mounted() {
console.log(this.form)
this.dialogVisible = true this.dialogVisible = true
if (this.form.status == 2) { if (this.form.status == 2) {
this.form.ststusName = '取消' this.form.ststusName = '取消'
...@@ -224,6 +298,32 @@ export default { ...@@ -224,6 +298,32 @@ export default {
this.getAllFn() this.getAllFn()
}, },
methods: { methods: {
timestamp(now) {
var year = now.getFullYear()
var month = now.getMonth() + 1
var date = now.getDate()
var Hours = now.getHours()
var Minutes = now.getMinutes()
var Seconds = now.getSeconds()
month = month.toString().length == 1 ? '0' + month : month
date = date.toString().length == 1 ? '0' + date : date
Hours = Hours.toString().length == 1 ? '0' + Hours : Hours
Minutes = Minutes.toString().length == 1 ? '0' + Minutes : Minutes
Seconds = Seconds.toString().length == 1 ? '0' + Seconds : Seconds
return (
year +
'-' +
month +
'-' +
date +
' ' +
Hours +
':' +
Minutes +
':' +
Seconds
)
},
getAllFn() { getAllFn() {
let _this = this let _this = this
getAll().then(data => { getAll().then(data => {
...@@ -252,10 +352,9 @@ export default { ...@@ -252,10 +352,9 @@ export default {
type: 'success', type: 'success',
duration: 3000 duration: 3000
}) })
this.resetReturn = false; this.resetReturn = false
this.dialogVisible = false; this.dialogVisible = false
this.$emit('rentOrderDetailDialogEvent', true) this.$emit('rentOrderDetailDialogEvent', true)
} else { } else {
this.$notify({ this.$notify({
title: '失败', title: '失败',
......
<template> <template>
<el-dialog title="违章查询" :visible.sync="isVisible"> <el-dialog title="违章查询" :visible.sync="isVisible">
<el-form> <el-form>
<el-row> <!-- <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="订单号"> <el-form-item label="订单号">
<span>{{row.no}}</span> <span>{{row.no}}</span>
...@@ -23,7 +23,8 @@ ...@@ -23,7 +23,8 @@
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="用户ID/实名"> <el-form-item label="用户ID/实名">
<span>{{row.userId}}</span>/<span>{{row.username}}</span> <span>{{row.userId}}</span>/
<span>{{row.username}}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -48,11 +49,13 @@ ...@@ -48,11 +49,13 @@
</el-col> </el-col>
<el-col :span="16"> <el-col :span="16">
<el-form-item label="收车公司"> <el-form-item label="收车公司">
<span><span>{{row.endCompanyName}}</span> <span>
<span>({{row.orderRentVehicleDetail.endCityName}}{{row.orderRentVehicleDetail.endAddr}})</span></span> <span>{{row.endCompanyName}}</span>
<span>({{row.orderRentVehicleDetail.endCityName}}{{row.orderRentVehicleDetail.endAddr}})</span>
</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row> -->
<el-row> <el-row>
<el-col> <el-col>
<el-form-item label="违章截图" :style="{display:'block'}"> <el-form-item label="违章截图" :style="{display:'block'}">
...@@ -74,7 +77,8 @@ ...@@ -74,7 +77,8 @@
:on-remove="handleRemove" :on-remove="handleRemove"
:file-list="fileList2" :file-list="fileList2"
:on-success="handleSuccess" :on-success="handleSuccess"
list-type="picture-card"> list-type="picture-card"
>
<!--<div slot="tip" class="el-upload__tip">最多上传5张</div>--> <!--<div slot="tip" class="el-upload__tip">最多上传5张</div>-->
<i class="el-icon-plus"></i> <i class="el-icon-plus"></i>
</el-upload> </el-upload>
...@@ -82,8 +86,8 @@ ...@@ -82,8 +86,8 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-form-item label="违章罚款" style="display: inline-block;"> <el-form-item label="违章罚款" style="display: inline-block;width:100%">
<el-input v-model="price" type="number" placeholder="请输入违章罚款金额"></el-input> <el-input style="width:300px" v-model="price" type="number" placeholder="请输入违章罚款金额"></el-input><span style="margin-left:10px"></span>
</el-form-item> </el-form-item>
</el-row> </el-row>
</el-form> </el-form>
...@@ -95,27 +99,18 @@ ...@@ -95,27 +99,18 @@
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
import { import { page, saveOrderViolation } from 'api/order/rentVehicle'
page, import { mapGetters } from 'vuex'
saveOrderViolation import { formatDate } from '../../../utils/dateFormattor'
} from 'api/order/rentVehicle'; import { getToken } from '../../../utils/auth'
import {mapGetters} from 'vuex'; import { getOneIllegalRow } from 'api/order/rentVehicle'
import { import ElRow from 'element-ui/packages/row/src/row'
formatDate import ElInput from '../../../../node_modules/element-ui/packages/input/src/input.vue'
} from '../../../utils/dateFormattor'; import ElCol from 'element-ui/packages/col/src/col'
import { import ElFormItem from '../../../../node_modules/element-ui/packages/form/src/form-item.vue'
getToken import ElForm from '../../../../node_modules/element-ui/packages/form/src/form.vue'
} from '../../../utils/auth'; export default {
import { props: ['row'],
getOneIllegalRow
} from 'api/order/rentVehicle';
import ElRow from "element-ui/packages/row/src/row";
import ElInput from "../../../../node_modules/element-ui/packages/input/src/input.vue";
import ElCol from "element-ui/packages/col/src/col";
import ElFormItem from "../../../../node_modules/element-ui/packages/form/src/form-item.vue";
import ElForm from "../../../../node_modules/element-ui/packages/form/src/form.vue";
export default {
props: ["row"],
name: 'illegalDialog', name: 'illegalDialog',
components: { components: {
ElForm, ElForm,
...@@ -127,64 +122,60 @@ ...@@ -127,64 +122,60 @@
data() { data() {
return { return {
BASE_API: process.env.BASE_API, BASE_API: process.env.BASE_API,
price: undefined,//违章罚款金额 price: undefined, //违章罚款金额
isVisible: false, isVisible: false,
fileList2:[],//违章截图 fileList2: [] //违章截图
} }
}, },
created() { created() {},
},
watch: { watch: {
isVisible(newValue, oldValue){ isVisible(newValue, oldValue) {
if(!newValue){ if (!newValue) {
this.$emit('illegalEvent', false); this.$emit('illegalEvent', false)
}
} }
},
}, },
mounted() { mounted() {
let that = this; let that = this
// if(that.row.refundStatus == 3) { // if(that.row.refundStatus == 3) {
//refundStatus退款状态 0、未退款 1、已退还所有(取消订单时)2、 已退还部分(保留违章预备金)3、已退还所有押金(扣除该扣除的) //refundStatus退款状态 0、未退款 1、已退还所有(取消订单时)2、 已退还部分(保留违章预备金)3、已退还所有押金(扣除该扣除的)
that.getOne(that.row.detailId); that.getOne(that.row.detailId)
// } // }
this.isVisible = true; this.isVisible = true
}, },
computed: { computed: {
...mapGetters([ ...mapGetters(['elements']),
'elements',
]),
getHeaderWithToken() { getHeaderWithToken() {
return {Authorization: getToken()}; return { Authorization: getToken() }
} }
}, },
methods: { methods: {
/** /**
* 根据id查询一条记录 * 根据id查询一条记录
* */ * */
getOne(id){ getOne(id) {
let t = this; let t = this
getOneIllegalRow(id).then(response => { getOneIllegalRow(id).then(response => {
if(response.status == 200){ if (response.status == 200) {
let arr = response.data.picture.split(","); let arr = response.data.picture.split(',')
let fileList2 = []; let fileList2 = []
let p = {}; let p = {}
arr.map(function(item){ arr.map(function(item) {
p = { p = {
url: item url: item
}; }
fileList2.push(p); fileList2.push(p)
}); })
t.price = parseFloat(response.data.price); t.price = parseFloat(response.data.price)
t.fileList2 = fileList2; t.fileList2 = fileList2
t.id = response.data.id?response.data.id: undefined; t.id = response.data.id ? response.data.id : undefined
} else { } else {
this.$notify({ this.$notify({
title: '失败', title: '失败',
message: response.menu, message: response.menu,
type: 'error', type: 'error',
duration: 2000 duration: 2000
}); })
} }
}) })
}, },
...@@ -192,30 +183,30 @@ ...@@ -192,30 +183,30 @@
* 上传成功 * 上传成功
* */ * */
handleSuccess(res, file) { handleSuccess(res, file) {
let c = {url: res.data}; let c = { url: res.data }
this.fileList2.push(c); this.fileList2.push(c)
this.showLoadingBody = false; this.showLoadingBody = false
}, },
/** /**
* 删除违章图片 * 删除违章图片
* */ * */
handleRemove(file, fileList){ handleRemove(file, fileList) {
this.fileList2 = fileList; this.fileList2 = fileList
}, },
/** /**
* 确定 * 确定
* */ * */
okHandler() { okHandler() {
let arr = []; let arr = []
this.fileList2.map(function(item){ this.fileList2.map(function(item) {
arr.push(item.url); arr.push(item.url)
}); })
let params = { let params = {
picture:arr.join(","), picture: arr.join(','),
price:this.price, price: this.price,
detailId: this.row.detailId, detailId: this.row.detailId,
id: this.id id: this.id
}; }
saveOrderViolation(params).then(response => { saveOrderViolation(params).then(response => {
if (response.status === 200) { if (response.status === 200) {
this.$notify({ this.$notify({
...@@ -223,23 +214,23 @@ ...@@ -223,23 +214,23 @@
message: '创建成功', message: '创建成功',
type: 'success', type: 'success',
duration: 2000 duration: 2000
}); })
this.$emit('illegalEvent', false); this.$emit('illegalEvent', false)
} else { } else {
this.$notify({ this.$notify({
title: '创建失败', title: '创建失败',
message: '操作失败!', message: '操作失败!',
type: 'error', type: 'error',
duration: 2000 duration: 2000
}); })
} }
}); })
}, },
/** /**
* 弹框-取消 * 弹框-取消
* */ * */
cancel() { cancel() {
this.$emit('illegalEvent', false); this.$emit('illegalEvent', false)
}, },
/** /**
* 格式化时间 * 格式化时间
...@@ -247,14 +238,14 @@ ...@@ -247,14 +238,14 @@
* @returns {*} * @returns {*}
*/ */
dateFormat(timestamp) { dateFormat(timestamp) {
let date = new Date(timestamp);//时间戳为10位需*1000,时间戳为13位的话不需乘1000 let date = new Date(timestamp) //时间戳为10位需*1000,时间戳为13位的话不需乘1000
return formatDate(date, 'yyyy-MM-dd hh:mm:ss'); return formatDate(date, 'yyyy-MM-dd hh:mm:ss')
},
} }
} }
}
</script> </script>
<style> <style>
.el-form-item__content{ .el-form-item__content {
display: inline-block; display: inline-block;
} }
</style> </style>
...@@ -19,13 +19,18 @@ ...@@ -19,13 +19,18 @@
<el-col :span="5"> <el-col :span="5">
<el-form-item label="所属公司" prop="startCompanyId"> <el-form-item label="所属公司" prop="startCompanyId">
<el-select <el-select
class="filter-item"
v-model="listQuery.startCompanyId" v-model="listQuery.startCompanyId"
filterable
placeholder="请选择" placeholder="请选择"
@change="getAllBranchCompanyChange" getAllBranchCompanyChange
> >
<el-option :key="undefined" label="无" :value="undefined"></el-option> <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="item in allBranchCompany"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -71,6 +76,30 @@ ...@@ -71,6 +76,30 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row>
<el-col :span="5">
<el-form-item label="开始时间" prop="bookStartDate4Query">
<el-date-picker
v-model="bookStartDate4Query"
type="date"
:editable="true"
format="yyyy-MM-dd"
placeholder="请选择订单开始时间"
></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="结束时间" prop="bookEndDate4Query">
<el-date-picker
v-model="bookEndDate4Query"
type="date"
:editable="true"
format="yyyy-MM-dd"
placeholder="请选择订单结束时间"
></el-date-picker>
</el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
<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="search" @click="handleFilter">搜索</el-button>
<el-button class="filter-item" type="primary" v-waves icon="delete" @click="clearSearch">清除搜索</el-button> <el-button class="filter-item" type="primary" v-waves icon="delete" @click="clearSearch">清除搜索</el-button>
...@@ -218,88 +247,185 @@ ...@@ -218,88 +247,185 @@
v-on:rentOrderDetailDialogEvent="rentOrderDetailDialogEvent" v-on:rentOrderDetailDialogEvent="rentOrderDetailDialogEvent"
></rentOrderDetailModal> ></rentOrderDetailModal>
<!-- 交车记录,还车记录,押金记录 -->
<el-dialog :title="modalTitle" :visible.sync="orderVehicleCrosstownVisible"> <el-dialog :title="modalTitle" :visible.sync="orderVehicleCrosstownVisible">
<el-form :model="form" :rules="rules" ref="form" label-width="90px"> <el-form :model="form" :rules="rules" ref="form" label-width="90px">
<div class="label-title"> <div v-if="modalTitle=='交车记录'">
<span>订单号:</span> <el-row :gutter="20">
<span class="label-text">{{form.no}}</span> <el-col :span="10">
<span>支付时间:</span> <el-form-item label="客户姓名:">
<span class="label-text">{{form.crtTime}}</span> <span>{{form.realName}}</span>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="手机号:">
<span class="label-text">{{form.telephone}}</span>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="驾驶证:">
<viewer>
<img :src="form.userLicenseImg" class="voucher" />
</viewer>
</el-form-item>
<el-row :gutter="20">
<el-col :span="10">
<el-form-item label="交车操作人:">
<span class="label-text">{{orderReturnVehicleCrosstown.operatorName}} {{orderReturnVehicleCrosstown.operatorPhone}}</span>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="交车时间:">
<span class="label-text">{{orderReturnVehicleCrosstown.operatorTime ? dateFormat(orderReturnVehicleCrosstown.operatorTime) : ''}}</span>
</el-form-item>
</el-col>
</el-row>
</div> </div>
<div class="label-title">
<span>订单状态:</span> <div v-else-if="modalTitle=='还车记录'">
<span class="label-text">{{form.ststusName}}</span> <el-form-item label="实退押金:">
<span>{{orderReturnVehicleCrosstown.restDeposit}}</span>
</el-form-item>
<el-form-item label="消费超额:">
<span
v-for="(item,index) in orderReturnVehicleCrosstown.violateDetailList"
:key="index"
>{{item.excessCost}}</span>
</el-form-item>
<el-form-item label="违约类型:">
<span
v-for="(item,index) in orderReturnVehicleCrosstown.violateDetailList"
:key="index"
>{{item.statusName}}</span>
</el-form-item>
<el-form-item label="赔款备注:">
<span
v-for="(item,index) in orderReturnVehicleCrosstown.violateDetailList"
:key="index"
>{{item.deductions}}</span>
</el-form-item>
<el-form-item label="优惠券返还:">
<span
v-for="(item,index) in orderReturnVehicleCrosstown.backCoupons"
:key="index"
>{{item.title}} {{item.usedAmount}}</span>
</el-form-item>
</div> </div>
<div class="label-title">
<span>姓名/手机号:</span> <div v-show="modalTitle=='还车记录' || modalTitle=='交车记录'">
<span class="label-text"> <el-form-item label="公里数:">
<span>{{form.realName}}</span>/ <p
<span>{{form.telephone}}</span> style="line-height: 1;position: relative;top: -3px;"
</span> >{{orderReturnVehicleCrosstown.mileage}}km/h</p>
<viewer>
<img :src="orderReturnVehicleCrosstown.mileageImg" class="voucher" />
</viewer>
</el-form-item>
<el-form-item label="车辆取证:">
<viewer :images="otherImg">
<img v-for="src in otherImg" :src="src" :key="src" class="voucher" />
</viewer>
</el-form-item>
<el-form-item label="备注:">
<span>{{form.remak}}</span>
</el-form-item>
</div> </div>
<div class="label-title">
<span>取车:</span> <div v-show="modalTitle=='还车记录'">
<span class="label-text">{{form.orderRentVehicleDetail.startTime}}</span> <div v-show="orderReturnVehicleCrosstown.type == 3">
<span class="label-text">{{form.orderRentVehicleDetail.startAddr}}</span> <el-form-item label="定损类型:">
<span class="label-text">交车公司:</span> <span></span>
<span>{{form.startCompanyName}}</span> </el-form-item>
<el-form-item label="定损总赔:">
<span>{{dedDetailDTOListAll}}</span>
</el-form-item>
<el-form-item label="赔偿事项:">
<div v-for="(item,index) in orderReturnVehicleCrosstown.dedDetailDTOList" :key="index">
<p
style="line-height: 1;position: relative;top: -3px;"
>事项{{index+1}} {{item.deductions}} {{item.cost}}</p>
<viewer :images="item.picList">
<img v-for="src in item.picList" :src="src" :key="src" class="voucher" />
</viewer>
</div> </div>
<div class="label-title"> </el-form-item>
<span>还车:</span> <el-form-item label="定损时间:">
<span class="label-text">{{form.orderRentVehicleDetail.endTime}}</span> <span>{{dateFormat(orderReturnVehicleCrosstown.statusTime)}}</span>
<span class="label-text">{{form.orderRentVehicleDetail.endAddr}}</span> </el-form-item>
<span class="label-text">交车公司:</span>
<span>{{form.endCompanyName}}</span>
</div> </div>
<el-row :gutter="20">
<el-col :span="10">
<el-form-item label="收车操作人:">
<span
class="label-text"
>{{orderReturnVehicleCrosstown.operatorName}} {{orderReturnVehicleCrosstown.operatorPhone}}</span>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="收车时间:">
<span class="label-text">{{dateFormat(orderReturnVehicleCrosstown.operatorTime)}}</span>
</el-form-item>
</el-col>
</el-row>
</div>
<div class="stepBox" v-if="depositDetail"> <div class="stepBox" v-if="depositDetail">
<div class="title" v-if="depositRefundRecord.length>0">押金退还进度</div> <div class="title" v-if="depositRefundRecord.length>0">押金退还进度</div>
<ul> <ul>
<li >
<p class="inline successInline"></p>
<p>
成功收车
<br />
<span>{{dateFormat(crtTimeIndex)}}</span>
</p>
</li>
<li <li
v-for="(item,index) in depositRefundRecord" v-for="(item,index) in depositRefundRecord"
:class="{'active':item.iscomplete}" :class="{'active':item.iscomplete}"
:key="index" :key="index"
> >
<img class="activeImg" v-if="item.iscomplete" src="../../../assets/images/active.png" alt /> <p :class="{successInline:item.iscomplete}" class="inline"></p>
<img class="activeImg" v-if="!item.iscomplete" src="../../../assets/images/doing.png" alt />
<p class="stepTitle"> <p class="stepTitle">
<template v-if="item.status==1"> <template v-if="item.status==1">
<div class="picBox"> <div class="picBox">
<div style="flex: 1">{{item.restAmount}}押金退还已申请</div> <div>{{item.restAmount}}押金退还已申请</div>
<div style="font-size: 10px;color: #999">{{item.updTimeStr}}</div> <div style="color: #999">{{item.updTimeStr}}</div>
</div> </div>
</template> </template>
<template v-if="item.status==2"> <template v-if="item.status==2">
<div class="picBox"> <div class="picBox">
<div style="flex: 1">{{item.restAmount}}元押金退还到账</div> <div v-show="item.iscomplete">退还押金{{item.restAmount}}(扣除{{item.amount}}元)</div>
<div style="font-size: 10px;color: #999">{{item.updTimeStr}}</div> <div v-show='!item.iscomplete'>退还押金15000元</div>
<div style="color: #999" v-show="item.iscomplete">{{item.updTimeStr}}</div>
<button v-if="item.iscomplete">详情</button>
</div> </div>
</template> </template>
<template v-if="item.status==3"> <template v-if="item.status==3">
<div class="picBox"> <div class="picBox">
<div style="flex: 1">{{item.restAmount}}元房车违章押金到账</div> <div v-show="item.iscomplete">退还违章保证金{{item.restAmount}}元(扣除{{item.amount}}元)</div>
<div style="font-size: 10px;color: #999">{{item.updTimeStr}}</div> <div v-show="!item.iscomplete">退还押金5000元</div>
</div> <div style="color: #999" v-show="item.iscomplete">{{item.updTimeStr}}</div>
</template> <div v-if="item.iscomplete">详情</div>
<template v-if="item.status==4">
<div class="picBox">
<div style="flex: 1">房车定损评定中</div>
<div style="font-size: 10px;color: #999">{{item.updTimeStr}}</div>
</div> </div>
</template> </template>
<template v-if="item.status==5"> <template v-if="item.status==5">
<div class="picBox"> <div class="picBox">
<div style="flex: 1">完成定损,退还剩余押金</div> <div>定损中</div>
<div style="font-size: 10px;color: #999">{{item.updTimeStr}}</div> <div style="color: #999" v-if="item.iscomplete">{{item.updTimeStr}}</div>
</div> </div>
</template> </template>
<template v-if="item.status==6"> <template v-if="item.status==6">
<div class="picBox"> <div class="picBox">
<div style="flex: 1">押金退还到账</div> <div v-show="item.iscomplete">退还押金{{item.restAmount}}(扣除{{item.amount}}元)</div>
<div style="font-size: 10px;color: #999">{{item.updTimeStr}}</div> <div v-show='!item.iscomplete'>退还押金15000元</div>
<div style="color: #999" v-show="item.iscomplete">{{item.updTimeStr}}</div>
<button v-if="item.iscomplete">详情</button>
</div> </div>
</template> </template>
</p> </p>
<p class="tip"> <!-- <p class="tip">
<template v-if="item.status==1">成功还车,退还15000租车押金</template> <template v-if="item.status==1">成功还车,退还15000租车押金</template>
<template v-if="item.status==2">{{item.updTimeStr}} 到账</template> <template v-if="item.status==2">{{item.updTimeStr}} 到账</template>
<template v-if="item.status==3">预计{{item.endTimeStr}}之前到账</template> <template v-if="item.status==3">预计{{item.endTimeStr}}之前到账</template>
...@@ -312,8 +438,8 @@ ...@@ -312,8 +438,8 @@
定损流程有疑问可联系滴房车 客服 定损流程有疑问可联系滴房车 客服
<a :href="'tel://'+Tel" style="color: #666666;">{{Tel}}</a> <a :href="'tel://'+Tel" style="color: #666666;">{{Tel}}</a>
</template> </template>
</p> </p> -->
<p <!-- <p
class="detailTitle" class="detailTitle"
v-if="item.orderViolation && item.status==3" v-if="item.orderViolation && item.status==3"
style="margin-top: 15px" style="margin-top: 15px"
...@@ -341,103 +467,10 @@ ...@@ -341,103 +467,10 @@
<div class="picBox"> <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>
</div> </div> -->
</li> </li>
</ul> </ul>
</div> </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>
</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;"
@click="lookPic(orderReturnVehicleCrosstown.licenseImg)"
/>-->
<viewer>
<img
:src="orderReturnVehicleCrosstown.licenseImg"
style="width: 100px; height: 100px;margin-left:110px;"
/>
</viewer>
</div>
<div>
<span class="label-text">拍照取证*:</span>
<br />
<!-- <img
v-for="(item,index) in otherImg"
:src="item"
:key="index"
style="width: 100px; height: 100px;margin-left:110px;"
@click="lookPic(item)"
/>-->
<viewer :images="otherImg">
<img
v-for="src in otherImg"
:src="src"
:key="src"
style="width: 100px; height: 100px;margin-left:110px;"
/>
</viewer>
<!-- <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;"
@click="lookPic(orderReturnVehicleCrosstown.mileageImg)"
/>-->
<viewer>
<img
:src="orderReturnVehicleCrosstown.mileageImg"
style="width: 100px; height: 100px;margin-left:110px;"
/>
</viewer>
</div>
<div v-if="returnVehicle">
<span class="label-text">钥匙照片*:</span>
<br />
<!-- <img
:src="orderReturnVehicleCrosstown.vehicleKey"
style="width: 100px; height: 100px;margin-left:110px;"
@click="lookPic(orderReturnVehicleCrosstown.vehicleKey)"
/>-->
<viewer>
<img
:src="orderReturnVehicleCrosstown.vehicleKey"
style="width: 100px; height: 100px;margin-left:110px;"
/>
</viewer>
</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>
</div>
<div></div>
</div>
</el-form> </el-form>
</el-dialog> </el-dialog>
...@@ -478,7 +511,7 @@ import { ...@@ -478,7 +511,7 @@ import {
calculate, calculate,
getViolatePrice getViolatePrice
} from 'api/order/rentVehicle' } from 'api/order/rentVehicle'
import { timestamp2Date } from 'utils/dateUtils' import { toEast8Date, deepCopyDate, newEast8Date,timestamp2Date } from 'utils/dateUtils'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import rsCode from '../../../utils/rsCode' import rsCode from '../../../utils/rsCode'
import { getSysRegionByIds } from 'api/vehicle/vehicleInfo/' import { getSysRegionByIds } from 'api/vehicle/vehicleInfo/'
...@@ -499,6 +532,7 @@ export default { ...@@ -499,6 +532,7 @@ export default {
}, },
data() { data() {
return { return {
isInline:false,
pictureList: [], pictureList: [],
dedDetail: [], dedDetail: [],
depositRefundRecord: [], depositRefundRecord: [],
...@@ -606,8 +640,11 @@ export default { ...@@ -606,8 +640,11 @@ export default {
startCompanyId: undefined, startCompanyId: undefined,
plateNumber: undefined, plateNumber: undefined,
realName: undefined, realName: undefined,
vehicleCode: undefined vehicleCode: undefined,
orderStartTime: undefined,
orderEndTime: undefined
}, },
crtTimeIndex:null,
baranchQuery: { baranchQuery: {
zoneId: null zoneId: null
}, },
...@@ -650,6 +687,7 @@ export default { ...@@ -650,6 +687,7 @@ export default {
licensePhone: undefined licensePhone: undefined
}, //还车记录 }, //还车记录
tableKey: 0, tableKey: 0,
dedDetailDTOListAll: undefined,
otherImg: [], otherImg: [],
handover: false, handover: false,
returnVehicle: false, returnVehicle: false,
...@@ -722,6 +760,42 @@ export default { ...@@ -722,6 +760,42 @@ export default {
getAllZoneList() { getAllZoneList() {
return getAllZone() return getAllZone()
}, },
bookStartDate4Query: {
get: function() {
if (
this.$utils.isString(this.listQuery.orderStartTime) &&
this.listQuery.orderStartTime !== ''
) {
return toEast8Date(this.listQuery.orderStartTime)
}
return undefined
},
set: function(date) {
if (this.$utils.isDate(date)) {
this.listQuery.orderStartTime = formatDate(date, 'yyyy-MM-dd')
} else {
this.listQuery.orderStartTime = undefined
}
}
},
bookEndDate4Query: {
get: function() {
if (
this.$utils.isString(this.listQuery.orderEndTime) &&
this.listQuery.orderEndTime !== ''
) {
return toEast8Date(this.listQuery.orderEndTime)
}
return undefined
},
set: function(date) {
if (this.$utils.isDate(date)) {
this.listQuery.orderEndTime = formatDate(date, 'yyyy-MM-dd')
} else {
this.listQuery.orderEndTime = undefined
}
}
},
cityRegions() { cityRegions() {
if (!this.$utils.isInteger(this.form.addrProvince)) { if (!this.$utils.isInteger(this.form.addrProvince)) {
return null return null
...@@ -881,6 +955,7 @@ export default { ...@@ -881,6 +955,7 @@ export default {
this.form.orderRentVehicleDetail.costDetail this.form.orderRentVehicleDetail.costDetail
) )
var cost = '' var cost = ''
// console.log(this.costDetail.children);
if (this.costDetail.children) { if (this.costDetail.children) {
this.costDetail.children.forEach(function(a) { this.costDetail.children.forEach(function(a) {
var detail = a.detail == undefined ? '' : a.detail var detail = a.detail == undefined ? '' : a.detail
...@@ -891,6 +966,7 @@ export default { ...@@ -891,6 +966,7 @@ export default {
this.templateModel() this.templateModel()
} }
} }
// console.log(cost);
this.tourCostDetail = cost this.tourCostDetail = cost
if (this.form.orderRentVehicleDetail.driverType == 1) { if (this.form.orderRentVehicleDetail.driverType == 1) {
this.serviceCost = this.form.orderRentVehicleDetail.dayNum * 600 this.serviceCost = this.form.orderRentVehicleDetail.dayNum * 600
...@@ -982,6 +1058,7 @@ export default { ...@@ -982,6 +1058,7 @@ export default {
} }
this.orderVehicleQuery.orderId = this.form.id this.orderVehicleQuery.orderId = this.form.id
this.orderVehicleQuery.type = 1 this.orderVehicleQuery.type = 1
this.orderVehicleQuery.types = null
this.getAllOrderVehicleCrosstown() this.getAllOrderVehicleCrosstown()
this.handover = true this.handover = true
this.returnVehicle = false this.returnVehicle = false
...@@ -996,6 +1073,16 @@ export default { ...@@ -996,6 +1073,16 @@ export default {
} else { } else {
this.orderVehicleCrosstownVisible = true this.orderVehicleCrosstownVisible = true
this.orderReturnVehicleCrosstown = response.data[0] this.orderReturnVehicleCrosstown = response.data[0]
var sum = 0
if (this.orderReturnVehicleCrosstown.dedDetailDTOList) {
this.orderReturnVehicleCrosstown.dedDetailDTOList.forEach(
element => {
sum += element.cost
}
)
this.dedDetailDTOListAll = sum
}
if (response.data[0].imgs) { if (response.data[0].imgs) {
this.otherImg = response.data[0].imgs.split(',') this.otherImg = response.data[0].imgs.split(',')
} }
...@@ -1046,7 +1133,8 @@ export default { ...@@ -1046,7 +1133,8 @@ export default {
this.serviceCost = this.form.orderRentVehicleDetail.dayNum * 600 this.serviceCost = this.form.orderRentVehicleDetail.dayNum * 600
} }
this.orderVehicleQuery.orderId = this.form.id this.orderVehicleQuery.orderId = this.form.id
this.orderVehicleQuery.type = 2 this.orderVehicleQuery.types = '2,3'
this.orderVehicleQuery.type = null
this.getAllOrderVehicleCrosstown() this.getAllOrderVehicleCrosstown()
this.returnVehicle = true this.returnVehicle = true
this.handover = false this.handover = false
...@@ -1061,11 +1149,12 @@ export default { ...@@ -1061,11 +1149,12 @@ export default {
that.depositRefundRecord = [] that.depositRefundRecord = []
that.dedTotal = 0 that.dedTotal = 0
that.Tel = '' that.Tel = ''
getStep(row.no).then(response => { getStep(row.no+'&address=1').then(response => {
response.data.forEach(function(item) { response.data.forEach(function(item) {
if (item.type != 1) { if (item.type != 1) {
that.Tel = item.customerPhone that.Tel = item.customerPhone
that.type = item.type that.type = item.type
that.crtTimeIndex = item.crtTime
if (item.dedDetail) { if (item.dedDetail) {
var dedTotal = 0 var dedTotal = 0
var dedDetail = JSON.parse(item.dedDetail) var dedDetail = JSON.parse(item.dedDetail)
...@@ -1103,6 +1192,8 @@ export default { ...@@ -1103,6 +1192,8 @@ export default {
var arr = item.depositRefundRecord var arr = item.depositRefundRecord
} }
that.depositRefundRecord = arr that.depositRefundRecord = arr
// console.log(that.depositRefundRecord); // console.log(that.depositRefundRecord);
} }
...@@ -1206,6 +1297,8 @@ export default { ...@@ -1206,6 +1297,8 @@ export default {
startTime: undefined, startTime: undefined,
endTime: undefined, endTime: undefined,
zoneId: undefined, zoneId: undefined,
orderEndTime: undefined,
orderStartTime:undefined,
startCompanyId: undefined startCompanyId: undefined
} }
this.getList() this.getList()
...@@ -1215,13 +1308,12 @@ export default { ...@@ -1215,13 +1308,12 @@ export default {
*/ */
getList() { getList() {
this.listLoading = true this.listLoading = true
if (this.listQuery.orderStartTime) {
// if(this.listQuery.startTime){ this.listQuery.startTime = toEast8Date(this.listQuery.orderStartTime).getTime()
// this.listQuery.startTime = this.listQuery.startTime.getTime(); }
// } if(this.listQuery.orderEndTime){
// if(this.listQuery.endTime){ this.listQuery.endTime = toEast8Date(this.listQuery.orderEndTime).getTime() + 1000*3600*24 - 1;
// this.listQuery.endTime = this.listQuery.endTime.getTime(); }
// }
if (this.listQuery) { if (this.listQuery) {
localStorage.setItem( localStorage.setItem(
'rentVehicleInfo', 'rentVehicleInfo',
...@@ -1300,13 +1392,21 @@ export default { ...@@ -1300,13 +1392,21 @@ export default {
</script> </script>
<style scpoed> <style scpoed>
.voucher {
width: 100px;
height: 100px;
border: 1px solid #d9d9d9;
}
.label-text { .label-text {
margin-left: 10px; margin-left: 10px;
margin-right: 20px; margin-right: 20px;
} }
.label-title { .label-title {
margin-top: 10px; margin-top: 15px;
display: inline-block;
width: 49%;
color: #333;
} }
.orderDetail tr th { .orderDetail tr th {
...@@ -1338,11 +1438,55 @@ export default { ...@@ -1338,11 +1438,55 @@ export default {
} }
.stepBox { .stepBox {
background-color: #fff; /* border:1px solid red; */
width: 100%; }
margin-top: 10px; .stepBox li {
list-style: none;
margin-bottom: 40px;
/* position: absolute; */
}
.stepBox li p {
display: inline-block;
font-size: 14px;
color: #333;
}
.stepBox li p span {
color: #999;
} }
.successInline{
background: rgb(0, 153, 255) !important;
}
.successInline::before{
background: rgb(0, 153, 255) !important;
}
.stepBox li .inline:nth-child(1) {
width: 20px;
height: 20px;
border-radius: 50%;
/* background: rgb(0, 153, 255); */
background: #999;
position: relative;
}
.stepBox li .inline:nth-child(1)::before {
content: '';
position: absolute;
left: -40px;
top: -43px;
width: 100px;
height: 1px;
/* background: rgb(0, 153, 255); */
background: #999;
transform: rotate(90deg);
}
.stepBox li:first-child .inline::before {
background: transparent !important;
}
.stepBox li p:nth-child(2) {
margin-left: 30px;
position: relative;
top: -3px;
}
.title { .title {
font-size: 17px; font-size: 17px;
color: #171413; color: #171413;
...@@ -1352,29 +1496,6 @@ export default { ...@@ -1352,29 +1496,6 @@ export default {
padding: 10px; padding: 10px;
} }
.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.active {
border-color: #47e270;
}
.stepBox ul li:last-child {
border: none;
}
.activeImg, .activeImg,
.doingImg { .doingImg {
position: absolute; position: absolute;
...@@ -1452,13 +1573,13 @@ export default { ...@@ -1452,13 +1573,13 @@ export default {
margin-left: 10px; margin-left: 10px;
} }
.picBox { /* .picBox {
display: flex; display: flex;
display: -webkit-box; display: -webkit-box;
display: -webkit-flex; display: -webkit-flex;
align-items: center; align-items: center;
flex-wrap: wrap; flex-wrap: wrap;
} } */
.picItem { .picItem {
width: calc(33.3% - 10px); width: calc(33.3% - 10px);
...@@ -1474,4 +1595,7 @@ export default { ...@@ -1474,4 +1595,7 @@ export default {
font-size: 10px; font-size: 10px;
margin-right: 5px; margin-right: 5px;
} }
.el-form-item__content {
display: block !important;
}
</style> </style>
...@@ -91,15 +91,15 @@ ...@@ -91,15 +91,15 @@
</template> </template>
<script> <script>
import ElRow from 'element-ui/packages/row/src/row' import ElRow from 'element-ui/packages/row/src/row'
import ElInput from '../../../../node_modules/element-ui/packages/input/src/input.vue' import ElInput from '../../../../node_modules/element-ui/packages/input/src/input.vue'
import ElCol from 'element-ui/packages/col/src/col' import ElCol from 'element-ui/packages/col/src/col'
import ElFormItem from '../../../../node_modules/element-ui/packages/form/src/form-item.vue' import ElFormItem from '../../../../node_modules/element-ui/packages/form/src/form-item.vue'
import { getToken } from 'src/utils/auth' import { getToken } from 'src/utils/auth'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { one, save } from 'src/api/summit/activityShow' import { one, save } from 'src/api/summit/activityShow'
export default { export default {
props: ['reviewRow'], props: ['reviewRow'],
name: 'reviewPopup', name: 'reviewPopup',
components: { components: {
...@@ -301,69 +301,69 @@ ...@@ -301,69 +301,69 @@
} }
} }
} }
} }
</script> </script>
<style> <style>
.label-text { .label-text {
margin-left: 10px; margin-left: 10px;
margin-right: 20px; margin-right: 20px;
} }
.label-title { .label-title {
margin-top: 10px; margin-top: 10px;
} }
.orderDetail tr th { .orderDetail tr th {
background: #eef1f6; background: #eef1f6;
} }
.orderDetail tr td, .orderDetail tr td,
.orderDetail tr th { .orderDetail tr th {
width: 500px; width: 500px;
text-align: center; text-align: center;
border: 1px solid #dfe6ec; border: 1px solid #dfe6ec;
margin-left: 100px; margin-left: 100px;
margin-right: 100px; margin-right: 100px;
padding: 10px; padding: 10px;
} }
.label-value { .label-value {
margin-left: 80px; margin-left: 80px;
margin-right: 100px; margin-right: 100px;
} }
#license-img { #license-img {
width: 50px; width: 50px;
height: 50px; height: 50px;
} }
.order-details .el-form-item { .order-details .el-form-item {
margin-bottom: 10px !important; margin-bottom: 10px !important;
} }
.el-dialog__footer .dialog-footer1 { .el-dialog__footer .dialog-footer1 {
position: relative; position: relative;
text-align: center; text-align: center;
} }
.fhjj { .fhjj {
width: 500px; width: 500px;
} }
.content { .content {
margin-left: 4%; margin-left: 4%;
} }
.height { .height {
margin-bottom: 2%; margin-bottom: 2%;
} }
. el-form-item__content { . el-form-item__content {
margin-left: 5% !important; margin-left: 5% !important;
} }
.status { .status {
margin-top: 4%; margin-top: 4%;
} }
</style> </style>
...@@ -38,7 +38,6 @@ ...@@ -38,7 +38,6 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
</el-col>
<el-col :span="5"> <el-col :span="5">
<el-form-item label="所属大区"> <el-form-item label="所属大区">
<el-select <el-select
...@@ -133,12 +132,16 @@ ...@@ -133,12 +132,16 @@
</el-table-column> </el-table-column>
<el-table-column align="center" label="预定取/还时间" width="200"> <el-table-column align="center" label="预定取/还时间" width="200">
<template scope="scope"> <template scope="scope">
<span>{{scope.row.bookStartDate}}</span> <br/><span>{{scope.row.bookEndDate}}</span> <span>{{scope.row.bookStartDate}}</span>
<br />
<span>{{scope.row.bookEndDate}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="实际取/还时间" width="200"> <el-table-column align="center" label="实际取/还时间" width="200">
<template scope="scope"> <template scope="scope">
<span>{{scope.row.actualStartDate}}</span> <br/><span>{{scope.row.actualEndDate}}</span> <span>{{scope.row.actualStartDate}}</span>
<br />
<span>{{scope.row.actualEndDate}}</span>
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column align="center" label="预定时间" width="220"> <!-- <el-table-column align="center" label="预定时间" width="220">
...@@ -421,7 +424,11 @@ ...@@ -421,7 +424,11 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row style="margin-left: 20px;" v-if="departurePicList.length>0"> <el-row style="margin-left: 20px;" v-if="departurePicList.length>0">
<el-col <viewer :images="departurePicList">
<img v-for="src in departurePicList" :src="src" :key="src" class="voucher" />
</viewer>
<!-- <el-col
:span="3" :span="3"
v-for="(item, index) in departurePicList" v-for="(item, index) in departurePicList"
:key="index" :key="index"
...@@ -431,7 +438,7 @@ ...@@ -431,7 +438,7 @@
<el-card> <el-card>
<img :src="item" class="image" /> <img :src="item" class="image" />
</el-card> </el-card>
</el-col> </el-col> -->
</el-row> </el-row>
<hr /> <hr />
<el-row> <el-row>
...@@ -470,7 +477,10 @@ ...@@ -470,7 +477,10 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row style="margin-left: 20px;" v-if="arrivalPicList.length>0"> <el-row style="margin-left: 20px;" v-if="arrivalPicList.length>0">
<el-col <viewer :images="arrivalPicList">
<img v-for="src in arrivalPicList" :src="src" :key="src" class="voucher" />
</viewer>
<!-- <el-col
:span="3" :span="3"
v-for="(item, index) in arrivalPicList" v-for="(item, index) in arrivalPicList"
:key="index" :key="index"
...@@ -480,7 +490,7 @@ ...@@ -480,7 +490,7 @@
<el-card> <el-card>
<img :src="item" class="image" /> <img :src="item" class="image" />
</el-card> </el-card>
</el-col> </el-col> -->
</el-row> </el-row>
<hr /> <hr />
<el-row> <el-row>
......
...@@ -925,11 +925,11 @@ ...@@ -925,11 +925,11 @@
</template> </template>
<script> <script>
import axios from 'axios' import axios from 'axios'
import upkeepDialog from '../../modal/upkeepDialogVisible' // 保养弹框 import upkeepDialog from '../../modal/upkeepDialogVisible' // 保养弹框
import departureDialog from '../../modal/departureDialog' // 出车弹框 import departureDialog from '../../modal/departureDialog' // 出车弹框
import 'static/css/uploadImg.css' // 引入图片上传组件对话框 import 'static/css/uploadImg.css' // 引入图片上传组件对话框
import { import {
page, page,
addObj, addObj,
getObj, getObj,
...@@ -944,65 +944,65 @@ ...@@ -944,65 +944,65 @@
checkVin, checkVin,
checkEngineNum, checkEngineNum,
getArea getArea
} from '../../../api/vehicle/vehicleInfo/' } from '../../../api/vehicle/vehicleInfo/'
import { import {
getAllVehicleModelList, getAllVehicleModelList,
getAllVehicleList getAllVehicleList
} from '../../../api/vehicleType' } from '../../../api/vehicleType'
import { import {
getConstantByTypeAndCode, getConstantByTypeAndCode,
getConstantListByType, getConstantListByType,
getAllInsuranceCompany, getAllInsuranceCompany,
getInsuranceCompany getInsuranceCompany
} from 'api/base_info/constant/' } from 'api/base_info/constant/'
import { import {
departureVehicle, departureVehicle,
arrivalVehicle, arrivalVehicle,
upkeepVehicle, upkeepVehicle,
upkeepEndVehicle upkeepEndVehicle
} from 'api/vehicle/active' } from 'api/vehicle/active'
import { getAllUpkeepItem, getUpkeepAll } from 'api/vehicle/upkeep' import { getAllUpkeepItem, getUpkeepAll } from 'api/vehicle/upkeep'
import { getSonRegionByCodes, getRegionByCodes } from 'api/base_info/region/' import { getSonRegionByCodes, getRegionByCodes } from 'api/base_info/region/'
import { import {
VEHICLE_CONSTANT_VEHICLE_BRAND, VEHICLE_CONSTANT_VEHICLE_BRAND,
VEHICLE_CONSTANT_VEHICLE_USE, VEHICLE_CONSTANT_VEHICLE_USE,
VEHICLE_CONSTANT_BRAND_CODE_UNKOWN, VEHICLE_CONSTANT_BRAND_CODE_UNKOWN,
BELONG_TO_TYPE_OWN, BELONG_TO_TYPE_OWN,
VEHICLE_CONSTANT_USE_TYPE_UNKOWN, VEHICLE_CONSTANT_USE_TYPE_UNKOWN,
VEHICLE_CONSTANT_STATUS_NORMAL VEHICLE_CONSTANT_STATUS_NORMAL
} from '../../../store/modules/baseInfo' } from '../../../store/modules/baseInfo'
import { getAllCompany, getAll } from 'api/base_info/branch_company/' import { getAllCompany, getAll } from 'api/base_info/branch_company/'
import { formatDate } from 'utils/dateFormattor' import { formatDate } from 'utils/dateFormattor'
import { import {
toEast8Date, toEast8Date,
deepCopyDate, deepCopyDate,
newEast8Date, newEast8Date,
convertDate2Str convertDate2Str
} from 'utils/dateUtils' } from 'utils/dateUtils'
import rsCode from '../../../utils/rsCode' import rsCode from '../../../utils/rsCode'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { getToken } from 'utils/auth' import { getToken } from 'utils/auth'
import bookInfoViewer from '../bookInfoViewer' import bookInfoViewer from '../bookInfoViewer'
import accItemSelector from '../accompanyingItem/accItemSelector.vue' import accItemSelector from '../accompanyingItem/accItemSelector.vue'
import Element1 from '../../admin/menu/components/element' import Element1 from '../../admin/menu/components/element'
import ElRow from 'element-ui/packages/row/src/row' import ElRow from 'element-ui/packages/row/src/row'
import ElCol from 'element-ui/packages/col/src/col' import ElCol from 'element-ui/packages/col/src/col'
import { getAllZone } from 'api/base_info/constant/' import { getAllZone } from 'api/base_info/constant/'
import ElFormItem from '../../../../node_modules/element-ui/packages/form/src/form-item.vue' import ElFormItem from '../../../../node_modules/element-ui/packages/form/src/form-item.vue'
export default { export default {
name: 'vehicleInfo', name: 'vehicleInfo',
components: { components: {
ElFormItem, ElFormItem,
...@@ -3057,5 +3057,5 @@ ...@@ -3057,5 +3057,5 @@
} }
} }
} }
} }
</script> </script>
...@@ -84,10 +84,12 @@ ...@@ -84,10 +84,12 @@
<template scope="scope"> <template scope="scope">
<el-button size="small" class="el-button el-button--text el-button--small" @click="handleUpdate(scope.row)">{{vehicleTypeList_btn_edit?'编辑':'查看'}} <el-button size="small" class="el-button el-button--text el-button--small" @click="handleUpdate(scope.row)">{{vehicleTypeList_btn_edit?'编辑':'查看'}}
</el-button> </el-button>
<el-button size="small"class="el-button el-button--text el-button--small" style="color: #6ce26c;" v-if="scope.row.status==2|| scope.row.status==0" @click="upStatus(scope.row)">上架 <el-button size="small" class="el-button el-button--text el-button--small" style="color: #6ce26c;" v-if="scope.row.status==2|| scope.row.status==0" @click="upStatus(scope.row)">上架
</el-button> </el-button>
<el-button size="small" class="el-button el-button--text el-button--small" style="color: #1d90e6" v-if="scope.row.status==1" @click="upStatus(scope.row)">下架 <el-button size="small" class="el-button el-button--text el-button--small" style="color: #1d90e6" v-if="scope.row.status==1" @click="upStatus(scope.row)">下架
</el-button> </el-button>
<el-button class="el-button el-button--text el-button--small" style="color:#1d90e6;" size="small" @click="handlerAppShow(scope.row)" v-if="scope.row.appShow==1">APP展示</el-button>
<el-button class="el-button el-button--text el-button--small" style="color:#1d90e6;" size="small" @click="handlerAppShow(scope.row)" v-if="scope.row.appShow==0">APP不展示</el-button>
<el-button class="el-button el-button--text el-button--small" style="color:red;" size="small" @click="deleteHandler(scope.row)" v-if="vehicleTypeList_btn_del">删除</el-button> <el-button class="el-button el-button--text el-button--small" style="color:red;" size="small" @click="deleteHandler(scope.row)" v-if="vehicleTypeList_btn_del">删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
...@@ -150,7 +152,8 @@ ...@@ -150,7 +152,8 @@
getLabelList, getLabelList,
getLabelByParentId, getLabelByParentId,
upStatusChange, upStatusChange,
updateVehicleModel updateVehicleModel,
updateAppShow
} from 'api/vehicleType'; } from 'api/vehicleType';
import Element1 from "../admin/menu/components/element"; import Element1 from "../admin/menu/components/element";
...@@ -257,6 +260,48 @@ ...@@ -257,6 +260,48 @@
}); });
} }
}); });
},
/**
* 是否在App展示
* @param {Object} row
*/
handlerAppShow(row) {
var text = "";
if (row.appShow == 0) {
text = "确定设置为在App展示吗?";
} else {
text = "确定设置为不在App展示吗?";
}
var status = row.appShow == 0 ? 1 : 0;
var param = {
"id" : row.id,
"appShow" : status
}
this.$confirm(text, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
updateAppShow(param).then(response => {
if (response.status === 200) {
this.$notify({
title: '成功',
message: '设置成功',
type: 'success',
duration: 2000
});
this.bannerDialogVisible = false;
this.getList();
} else {
this.$notify({
title: '设置失败',
message: rsCode.msg[response.code] ? rsCode.msg[response.code] : '操作失败!',
type: 'error',
duration: 2000
});
}
});
})
}, },
/** /**
* 删除 * 删除
......
...@@ -127,7 +127,7 @@ ...@@ -127,7 +127,7 @@
<el-select <el-select
v-if="setForm.type ==3 && setForm.isGlobal == 1" v-if="setForm.type ==3 && setForm.isGlobal == 1"
v-model="setForm.level" v-model="setForm.level"
placeholder="请选择" placeholder="请选择会员等级"
> >
<el-option v-for="item in options" :key="item.id" :label="item.name" :value="item.level"></el-option> <el-option v-for="item in options" :key="item.id" :label="item.name" :value="item.level"></el-option>
</el-select> </el-select>
...@@ -273,11 +273,25 @@ export default { ...@@ -273,11 +273,25 @@ export default {
setPrice() { setPrice() {
let params = [] let params = []
//全局设置 //全局设置
console.log(this.setForm.isGlobal);
if (this.setForm.isGlobal == 1) { if (this.setForm.isGlobal == 1) {
if (this.chooseData == '') { if (this.chooseData == '') {
this.$message.error('请选择要设置的日期') this.$message.error('请选择要设置的日期')
return false return false
} else { } else if(this.setForm.type == 1 && this.setForm.multiple == ''){
this.$message.error('请输入倍数')
return false
}else if(this.setForm.type == 2 && !this.setForm.price){
this.$message.error('请输入绝对值')
return false
}else if(this.setForm.type == 3 && this.setForm.level == ''){
this.$message.error('请选择会员等级')
return false
}else if(this.setForm.freeDays == ''){
this.$message.error('请设置天数')
return false
}else{
this.chooseData.forEach(element => { this.chooseData.forEach(element => {
let defaults = {} let defaults = {}
defaults.date = element defaults.date = element
...@@ -403,8 +417,6 @@ export default { ...@@ -403,8 +417,6 @@ export default {
matching(val) { matching(val) {
let diploid = '' let diploid = ''
this.dataList.forEach(element => { this.dataList.forEach(element => {
console.log(element)
if (element.vehicleModelDay == val) { if (element.vehicleModelDay == val) {
if (element.isGlobal == false) { if (element.isGlobal == false) {
diploid = '特殊设置' diploid = '特殊设置'
...@@ -459,8 +471,6 @@ export default { ...@@ -459,8 +471,6 @@ export default {
this.currentMonth.toString().length == 1 this.currentMonth.toString().length == 1
? '0' + this.currentMonth ? '0' + this.currentMonth
: this.currentMonth : this.currentMonth
console.log(month)
priceList(this.currentYear + '-' + month + '-01').then(data => { priceList(this.currentYear + '-' + month + '-01').then(data => {
if (data.status == 200) { if (data.status == 200) {
this.dataList = data.data this.dataList = data.data
......
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