Commit d7bd4569 authored by guoyou's avatar guoyou

租车订单管理

parents 52871959 5f50dbbf
......@@ -8,5 +8,6 @@ test/unit/coverage
test/e2e/reports
selenium-debug.log
.idea
config/dev.env.js
config/**
**/dev.env.js
/*.json
module.exports = {
NODE_ENV: '"development"',
<<<<<<< HEAD
BASE_API: '"https://xxtest.upyuns.com"',//'"https://xxtest.upyuns.com"',//'"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://xxtest.upyuns.com"',//'"https://dev.dfangche.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(小威)
>>>>>>> base-modify
APP_ORIGIN: '"https://wallstreetcn.com"'
}
......@@ -295,7 +295,11 @@
},
"async-validator": {
"version": "1.6.9",
<<<<<<< HEAD
"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",
>>>>>>> base-modify
"integrity": "sha1-qDCdqouDQhzb1GKOAm1quyUZLTQ="
},
"asynckit": {
......@@ -2938,7 +2942,11 @@
"element-ui": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/element-ui/-/element-ui-1.4.1.tgz",
<<<<<<< HEAD
"integrity": "sha1-9EccrbQ9x3nDCY3HNjSuqU0D8lU=",
=======
"integrity": "sha512-4jZu41iMuV8Semz0MG7nd8HIicyXlMJY923NvuIXoM3Q3llnwpwBVBqaPAgL3VrRnwzLKxyR/GjxxQDBqf/bvQ==",
>>>>>>> base-modify
"requires": {
"async-validator": "1.6.9",
"babel-helper-vue-jsx-merge-props": "^2.0.0",
......
......@@ -17,7 +17,11 @@
"codemirror": "5.26.0",
"dropzone": "5.1.0",
"echarts": "3.6.2",
<<<<<<< HEAD
"element-ui": "1.4.1",
=======
"element-ui": "^1.4.1",
>>>>>>> base-modify
"file-saver": "1.3.3",
"jquery": "^3.4.0",
"js-cookie": "2.1.4",
......
import fetch from 'utils/fetch';
/**
* 获取消息列表
* @param query
*/
export function page(query) {
return fetch({
url: '/api/im/msg/bg/app/unauth/list',
method: 'post',
data: query
});
}
/**
* 获取更新
* @param query
*/
export function updateMsg(params) {
return fetch({
url: '/api/im/msg/bg/app/unauth/update',
method: 'post',
data: params
});
}
/**
* 删除消息
*/
export function delMsg(query) {
return fetch({
url: '/api/im/msg/bg/app/unauth/delete',
method: 'get',
params: query
});
}
/**
* 获取问答列表
*/
export function geImQuestionList(query) {
return fetch({
url: '/api/im/imQuestion/list',
method: 'get',
params: query
});
}
/**
* 更新问答
* @param query
*/
export function updateImQuestion(params) {
return fetch({
url: '/api/im/imQuestion/bg/app/unauth/update',
method: 'post',
data: params
});
}
/**
* 删除消息
*/
export function delQuestion(query) {
return fetch({
url: '/api/im/imQuestion/bg/app/unauth/delete',
method: 'get',
params: query
});
}
......@@ -31,7 +31,6 @@ export function getOneGoodsById(query) {
}
/**
* 获取bannerList
// url: '/api/tour/admin/tourBanner/page',
*/
export function getBannerList(query) {
return fetch({
......@@ -41,7 +40,7 @@ export function getBannerList(query) {
});
}
/**
* 添加banner '/api/tour/admin/tourBanner',
* 添加banner
*/
export function addBanner(params) {
return fetch({
......
......@@ -309,6 +309,33 @@ export const asyncRouterMap = [{
}
]
},
{
path: '/discoveryModule',
component: Layout,
name: '发现模块',
icon: 'setting',
authority: 'discoveryModule',
children: [
{
path: 'clapIndex',
component: _import('discoveryModule/clapIndex'),
name: '拍拍',
authority: 'clapIndex'
},
{
path: 'shortVideo',
component: _import('discoveryModule/shortVideo'),
name: '短视频',
authority: 'shortVideo'
},
{
path: 'questionsAndAnswers',
component: _import('discoveryModule/questionsAndAnswers'),
name: '问答',
authority: 'questionsAndAnswers'
}
]
},
{
path: '/campsiteManage',
component: Layout,
......
......@@ -268,3 +268,15 @@
}
return targetObj;
}
/**
* 深拷贝
*/
export function objDeepCopy(source) {
const sourceCopy = source instanceof Array ? [] : {};
for (const item in source) {
sourceCopy[item] = typeof source[item] === 'object' ? objDeepCopy(source[item]) : source[item];
}
return sourceCopy;
}
......@@ -62,7 +62,7 @@
<span>{{scope.row.crtTimeStr}}</span>
</template>
</el-table-column>
<el-table-column align="center" width="150" label="操作" fixed="right">
<el-table-column align="center" width="150" label="操作">
<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>
......
......@@ -39,6 +39,7 @@
<span v-if="scope.row.channel==1">租车</span>
<span v-if="scope.row.channel==2">旅游</span>
<span v-if="scope.row.channel==3">营地</span>
<span v-if="scope.row.channel==4">会员</span>
</template>
</el-table-column>
<el-table-column align="center" label="金额">
......@@ -119,6 +120,7 @@
<el-radio-group v-model="formdata.valid_type_name" size="medium">
<el-radio-button label="绝对时效" :disabled="formdata.valid_type_name=='相对时效'&&isUpdate"></el-radio-button>
<el-radio-button label="相对时效" :disabled="formdata.valid_type_name=='绝对时效'&&isUpdate"></el-radio-button>
<el-radio-button label="永久时效" :disabled="formdata.valid_type_name=='永久时效'&&isUpdate"></el-radio-button>
</el-radio-group>
<div style="display:inline-block" v-show="formdata.valid_type_name=='绝对时效'">
<el-date-picker v-model="formdata.validStartTimeStr" type = "date" placeholder = "开始时间" :disabled="isUpdate" :picker-options="pickerOptionsStart"></el-date-picker>
......@@ -328,6 +330,10 @@
{
id:3,
val:'营地'
},
{
id:4,
val:'会员'
}
],
BASE_API: process.env.BASE_API,
......@@ -448,7 +454,7 @@
console.log(response)
var item = response.data;
item.user_type_name = item.userType==0?'普通用户':'会员用户';
item.valid_type_name = item.validType==1?'绝对时效':'相对时效';
item.valid_type_name = item.validType==1?'绝对时效':item.validType==2?'相对时效':'永久时效';
//相对时效的时间
if(item.validStartTime>0){
item.validStartTimeStr = getYMD(item.validStartTime);
......@@ -517,7 +523,7 @@
set[formName].validate(valid => {
if (valid) {
that.formdata.userType = that.formdata.user_type_name=='普通用户'?0:1;
that.formdata.validType = that.formdata.valid_type_name=='绝对时效'?1:2;
that.formdata.validType = that.formdata.valid_type_name=='绝对时效'?1:that.formdata.valid_type_name=='相对时效'?2:3;
if(that.formdata.valid_type_name=='绝对时效'){
that.formdata.validStartTime = new Date(this.formdata.validStartTimeStr).getTime();
that.formdata.validEndTime = new Date(this.formdata.validEndTimeStr).getTime();
......@@ -582,7 +588,7 @@
set[formName].validate(valid => {
if (valid) {
that.formdata.userType = that.formdata.user_type_name=='普通用户'?0:1;
that.formdata.validType = that.formdata.valid_type_name=='绝对时效'?1:2;
that.formdata.validType = that.formdata.valid_type_name=='绝对时效'?1:that.formdata.valid_type_name=='相对时效'?2:3;
if(that.formdata.valid_type_name=='绝对时效'){
that.formdata.validStartTime = new Date(that.formdata.validStartTimeStr).getTime();
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
<template>
<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-col :span="8">
<el-form-item label="订单号:">
......@@ -8,28 +8,36 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="支付时间:">
<el-form-item label="创建订单时间:">
<span>{{form.crtTime}}</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="订单状态:">
<span>{{form.ststusName}}</span>
<el-form-item label="实际支付时间:">
<span>{{!!form.payTime ? timestamp(new Date(form.payTime)) : '无'}}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="姓名:">
<span>{{form.realName}}</span>
<el-form-item label="订单状态:">
<span>{{form.ststusName}}</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="手机号:">
<span>{{form.telephone}}</span>
<el-form-item label="姓名/手机号:">
<span v-if="form.realName">{{form.realName}}/{{form.telephone}}</span>
<span v-else></span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="会员等级/身份:">
<span v-if='form.memberName'>{{form.memberName}}/{{form. jobTitle}}</span>
<span v-else></span>
</el-form-item>
</el-col>
<!-- <el-col :span="8">
<el-form-item label="配车:">
<span
style="margin-right: 10px;"
......@@ -42,9 +50,9 @@
@click="resetCar"
>重新配车</el-button>
</el-form-item>
</el-col>
</el-col>-->
</el-row>
<el-row>
<!-- <el-row>
<el-col :span="8">
<el-form-item label="取车:">
<span>{{form.orderRentVehicleDetail.startTime}}</span>
......@@ -60,8 +68,8 @@
<span>{{form.startCompanyName}}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
</el-row>-->
<!-- <el-row>
<el-col :span="8">
<el-form-item label="还车:">
<span>{{form.orderRentVehicleDetail.endTime}}</span>
......@@ -75,45 +83,153 @@
<el-col :span="8">
<el-form-item label="还车公司:">
<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-col>
</el-row>
</el-row>-->
<table class="orderDetail">
<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>
<td>{{form.name}}{{rentCostDetail}}</td>
<td>{{form.orderRentVehicleDetail.dayNum}}</td>
<td>{{rentCostDetail}}</td>
<td>{{form.name}}{{form.vehicleNumberPlat}}<span v-if="form.vehicleCode">({{form.vehicleCode}})</span><span v-else></span></td>
<td>
<p>取:{{form.orderRentVehicleDetail.startTime}}</p>
<p>还:{{form.orderRentVehicleDetail.endTime}}</p>
<p v-show="form.orderRentVehicleDetail.dayNum">租借天数{{form.orderRentVehicleDetail.dayNum}}</p>
</td>
<td>{{form.startCompanyName}}</td>
<td>{{form.endCompanyName}}</td>
<td>
<p v-if="form.rentVehiclePriceVO">
<span v-if="form.rentVehiclePriceVO.freeDayNum == 0">
</span>
<span v-else>
会员特权{{form.rentVehiclePriceVO.freeDayNum}}
</span>
</p>
<p v-else>
{{orderInfo('免费天数')}}
</p>
</td>
<td>
<p v-if="form.rentVehiclePriceVO && form.rentVehiclePriceVO.vehicleDayNum > 0">
¥{{form.rentVehiclePriceVO.modelAmount}}*{{form.rentVehiclePriceVO.vehicleNum}}/{{form.rentVehiclePriceVO.vehicleDayNum}}
</p>
<p v-else>
{{orderInfo('车辆租赁费')}}
</p>
</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>
<p v-if="form.rentVehiclePriceVO && form.damageSafeAmount > 0">
¥{{form.rentVehiclePriceVO.damageSafePrice}}/{{form.rentVehiclePriceVO.dayNum}}
</p>
<p v-else>
{{orderInfo('不计免赔')}}
</p>
</td>
<td>
<p v-if='form.rentVehiclePriceVO'>
{{form.rentVehiclePriceVO.deposit}}
</p>
<p v-else>
{{orderInfo('租房车押金')}}
</p>
</td>
<td>
<p v-if='form.rentVehiclePriceVO && form.driverAmount > 0'>
¥{{form.rentVehiclePriceVO.driverPrice}}*{{form.rentVehiclePriceVO.driverNum}}/{{form.rentVehiclePriceVO.dayNum}}
</p>
<p v-else>
{{orderInfo('专职司机服务费')}}
</p>
</td>
</tr>
<tr>
<td>
<el-button size="small" type="text" v-if="form.status==4" @click="resetCar">重新配车</el-button>
</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="6">{{form.payWay == 1 ? '微信支付' : form.payWay == 2 ? '支付宝支付' : form.payWay == 3 ? '银联支付' : '微信支付'}} 共计:¥{{form.realAmount}}</td>
</tr>
</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>
</div>
<table class="orderDetail" v-if="form.orderVehicleCrosstownDto">
</div>-->
<!-- <table class="orderDetail" v-if="form.orderVehicleCrosstownDto">
<tr>
<th>姓名</th>
<th>手机号</th>
<th>身份证号</th>
<!-- <th>驾照</th>-->
</tr>
<tr>
<td>{{form.orderVehicleCrosstownDto.licenseName}}</td>
<td>{{form.orderVehicleCrosstownDto.licensePhone}}</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>
</table>
</table>-->
</el-form>
<div class="modal_modal" v-show="resetCarVisible"></div>
<!-- 重新配车 -->
......@@ -171,6 +287,7 @@ export default {
updateNumberPlat: false, //是否重新配车
dialogVisible: false,
resetCarVisible: false,
goods: [],
resetCarForm: {
no: '',
numberPlate: '' //重新配车车牌号
......@@ -204,7 +321,7 @@ export default {
}
},
mounted() {
console.log(this.form)
this.dialogVisible = true
if (this.form.status == 2) {
this.form.ststusName = '取消'
......@@ -224,6 +341,40 @@ export default {
this.getAllFn()
},
methods: {
orderInfo(val){
let info = this.form.detailsOfExpenses.filter(item=>item.key == val)
if (info == '' || info < 0) {
return '无'
}else{
return info[0].detail || info[0].val
}
},
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() {
let _this = this
getAll().then(data => {
......@@ -252,10 +403,9 @@ export default {
type: 'success',
duration: 3000
})
this.resetReturn = false;
this.dialogVisible = false;
this.resetReturn = false
this.dialogVisible = false
this.$emit('rentOrderDetailDialogEvent', true)
} else {
this.$notify({
title: '失败',
......@@ -345,6 +495,9 @@ export default {
width: 50px;
height: 50px;
}
.order-details .el-dialog--small{
width: 1100px !important;
}
.order-details .el-form-item {
margin-bottom: 10px !important;
}
......
<template>
<el-dialog title="违章查询" :visible.sync="isVisible">
<el-form>
<el-row>
<!-- <el-row>
<el-col :span="24">
<el-form-item label="订单号">
<span>{{row.no}}</span>
......@@ -23,7 +23,8 @@
<el-row>
<el-col :span="24">
<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-col>
</el-row>
......@@ -48,11 +49,13 @@
</el-col>
<el-col :span="16">
<el-form-item label="收车公司">
<span><span>{{row.endCompanyName}}</span>
<span>({{row.orderRentVehicleDetail.endCityName}}{{row.orderRentVehicleDetail.endAddr}})</span></span>
<span>
<span>{{row.endCompanyName}}</span>
<span>({{row.orderRentVehicleDetail.endCityName}}{{row.orderRentVehicleDetail.endAddr}})</span>
</span>
</el-form-item>
</el-col>
</el-row>
</el-row>-->
<el-row>
<el-col>
<el-form-item label="违章截图" :style="{display:'block'}">
......@@ -74,7 +77,8 @@
:on-remove="handleRemove"
:file-list="fileList2"
:on-success="handleSuccess"
list-type="picture-card">
list-type="picture-card"
>
<!--<div slot="tip" class="el-upload__tip">最多上传5张</div>-->
<i class="el-icon-plus"></i>
</el-upload>
......@@ -82,8 +86,9 @@
</el-col>
</el-row>
<el-row>
<el-form-item label="违章罚款" style="display: inline-block;">
<el-input v-model="price" type="number" placeholder="请输入违章罚款金额"></el-input>
<el-form-item label="违章罚款" style="display: inline-block;width:100%">
<el-input style="width:300px" v-model="price" type="number" placeholder="请输入违章罚款金额"></el-input>
<span style="margin-left:10px"></span>
</el-form-item>
</el-row>
</el-form>
......@@ -95,27 +100,18 @@
</el-dialog>
</template>
<script>
import {
page,
saveOrderViolation
} from 'api/order/rentVehicle';
import {mapGetters} from 'vuex';
import {
formatDate
} from '../../../utils/dateFormattor';
import {
getToken
} from '../../../utils/auth';
import {
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"],
import { page, saveOrderViolation } from 'api/order/rentVehicle'
import { mapGetters } from 'vuex'
import { formatDate } from '../../../utils/dateFormattor'
import { getToken } from '../../../utils/auth'
import { 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',
components: {
ElForm,
......@@ -127,64 +123,62 @@
data() {
return {
BASE_API: process.env.BASE_API,
price: undefined,//违章罚款金额
price: undefined, //违章罚款金额
isVisible: false,
fileList2:[],//违章截图
fileList2: [] //违章截图
}
},
created() {
},
created() {},
watch: {
isVisible(newValue, oldValue){
if(!newValue){
this.$emit('illegalEvent', false);
isVisible(newValue, oldValue) {
if (!newValue) {
this.$emit('illegalEvent', false)
}
}
},
},
mounted() {
let that = this;
// if(that.row.refundStatus == 3) {
let that = this
// if(that.row.refundStatus == 3) {
//refundStatus退款状态 0、未退款 1、已退还所有(取消订单时)2、 已退还部分(保留违章预备金)3、已退还所有押金(扣除该扣除的)
that.getOne(that.row.detailId);
// }
this.isVisible = true;
that.getOne(that.row.detailId)
// }
this.isVisible = true
},
computed: {
...mapGetters([
'elements',
]),
...mapGetters(['elements']),
getHeaderWithToken() {
return {Authorization: getToken()};
return { Authorization: getToken() }
}
},
methods: {
/**
* 根据id查询一条记录
* */
getOne(id){
let t = this;
getOne(id) {
let t = this
getOneIllegalRow(id).then(response => {
if(response.status == 200){
let arr = response.data.picture.split(",");
let fileList2 = [];
let p = {};
arr.map(function(item){
if (response.status == 200) {
if (response.data) {
let arr = response.data.picture.split(',')
let fileList2 = []
let p = {}
arr.map(function(item) {
p = {
url: item
};
fileList2.push(p);
});
t.price = parseFloat(response.data.price);
t.fileList2 = fileList2;
t.id = response.data.id?response.data.id: undefined;
}
fileList2.push(p)
})
t.price = parseFloat(response.data.price)
t.fileList2 = fileList2
t.id = response.data.id ? response.data.id : undefined
}
} else {
this.$notify({
title: '失败',
message: response.menu,
type: 'error',
duration: 2000
});
})
}
})
},
......@@ -192,30 +186,30 @@
* 上传成功
* */
handleSuccess(res, file) {
let c = {url: res.data};
this.fileList2.push(c);
this.showLoadingBody = false;
let c = { url: res.data }
this.fileList2.push(c)
this.showLoadingBody = false
},
/**
* 删除违章图片
* */
handleRemove(file, fileList){
this.fileList2 = fileList;
handleRemove(file, fileList) {
this.fileList2 = fileList
},
/**
* 确定
* */
okHandler() {
let arr = [];
this.fileList2.map(function(item){
arr.push(item.url);
});
let arr = []
this.fileList2.map(function(item) {
arr.push(item.url)
})
let params = {
picture:arr.join(","),
price:this.price,
picture: arr.join(','),
price: this.price,
detailId: this.row.detailId,
id: this.id
};
}
saveOrderViolation(params).then(response => {
if (response.status === 200) {
this.$notify({
......@@ -223,23 +217,23 @@
message: '创建成功',
type: 'success',
duration: 2000
});
this.$emit('illegalEvent', false);
})
this.$emit('illegalEvent', false)
} else {
this.$notify({
title: '创建失败',
message: '操作失败!',
type: 'error',
duration: 2000
});
})
}
});
})
},
/**
* 弹框-取消
* */
cancel() {
this.$emit('illegalEvent', false);
this.$emit('illegalEvent', false)
},
/**
* 格式化时间
......@@ -247,14 +241,14 @@
* @returns {*}
*/
dateFormat(timestamp) {
let date = new Date(timestamp);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
return formatDate(date, 'yyyy-MM-dd hh:mm:ss');
},
let date = new Date(timestamp) //时间戳为10位需*1000,时间戳为13位的话不需乘1000
return formatDate(date, 'yyyy-MM-dd hh:mm:ss')
}
}
}
</script>
<style>
.el-form-item__content{
.el-form-item__content {
display: inline-block;
}
}
</style>
This diff is collapsed.
......@@ -51,27 +51,27 @@
</el-table-column>
<el-table-column width="200" align="center" label="总提现">
<el-table-column align="center" label="总提现">
<template scope="scope">
<span>{{scope.row.withdrawals}}</span>
</template>
</el-table-column>
<el-table-column width="200" align="center" label="提现中">
<el-table-column align="center" label="提现中">
<template scope="scope">
<span>{{scope.row.withdrawaling}}</span>
</template>
</el-table-column>
<el-table-column width="200" align="center" label="未入账">
<el-table-column align="center" label="未入账">
<template scope="scope">
<span>{{scope.row.unbooked}}</span>
</template>
</el-table-column>
<el-table-column align="center" label="当前余额">
<!-- <el-table-column align="center" label="当前余额">
<template scope="scope">
<span>{{scope.row.balance}}</span>
</template>
</el-table-column>
</el-table-column> -->
<!-- <el-table-column align="center" label="操作" fixed="right">
<template scope="scope">
<el-button
......
......@@ -208,16 +208,16 @@
</template>
<script>
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 { getOne, update, add, activityIds } from 'src/api/summit/activity'
import { getToken } from 'src/utils/auth'
import { mapGetters } from 'vuex'
import UE from '../../modal/Ueditor' // 百度ue富文本
import { formatDate } from 'utils/dateFormattor'
export default {
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 { getOne, update, add, activityIds } from 'src/api/summit/activity'
import { getToken } from 'src/utils/auth'
import { mapGetters } from 'vuex'
import UE from '../../modal/Ueditor' // 百度ue富文本
import { formatDate } from 'utils/dateFormattor'
export default {
props: ['popupShow', 'popupRow', 'titleNme'],
name: 'summitPopup',
components: {
......@@ -584,72 +584,72 @@ export default {
}
}
}
}
}
</script>
<style>
.label-text {
.label-text {
margin-left: 10px;
margin-right: 20px;
}
}
.label-title {
.label-title {
margin-top: 10px;
}
}
.orderDetail tr th {
.orderDetail tr th {
background: #eef1f6;
}
}
.orderDetail tr td,
.orderDetail tr th {
.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 {
.label-value {
margin-left: 80px;
margin-right: 100px;
}
}
#license-img {
#license-img {
width: 50px;
height: 50px;
}
}
.order-details .el-form-item {
.order-details .el-form-item {
margin-bottom: 10px !important;
}
}
.el-dialog__footer .dialog-footer1 {
.el-dialog__footer .dialog-footer1 {
position: relative;
text-align: center;
}
}
.fhjj {
.fhjj {
width: 500px;
}
}
.content {
.content {
margin-left: 4%;
}
}
.height {
.height {
margin-bottom: 2%;
}
}
/* . el-form-item__content {
/* . el-form-item__content {
margin-left: 5% !important;
} */
} */
.status {
.status {
margin-top: 4%;
}
.steLine .el-row {
}
.steLine .el-row {
margin-bottom: 10px;
}
}
</style>
......@@ -6,6 +6,9 @@
<el-form-item label="手机号">
<el-input v-model.number="listQuery.mobile" placeholder="请输入手机号"></el-input>
</el-form-item>
<el-form-item label="姓名">
<el-input v-model.number="listQuery.realName" placeholder="请输入姓名"></el-input>
</el-form-item>
<el-form-item label="注册终端">
<el-select class="filter-item" v-model="listQuery.channel" placeholder="请选注册终端">
<el-option :key="undefined" label="全部" :value="undefined"></el-option>
......@@ -757,6 +760,7 @@
registrationTimeEnd: undefined,
registrationTimeBegin: undefined,
postionState: undefined,
realName:undefined,
},
sexObj: {
1: '女',
......
......@@ -38,7 +38,6 @@
</el-col>
</el-row>
<el-row>
</el-col>
<el-col :span="5">
<el-form-item label="所属大区">
<el-select
......@@ -133,12 +132,16 @@
</el-table-column>
<el-table-column align="center" label="预定取/还时间" width="200">
<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>
</el-table-column>
<el-table-column align="center" label="实际取/还时间" width="200">
<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>
</el-table-column>
<!-- <el-table-column align="center" label="预定时间" width="220">
......@@ -421,7 +424,11 @@
</el-col>
</el-row>
<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"
v-for="(item, index) in departurePicList"
:key="index"
......@@ -431,7 +438,7 @@
<el-card>
<img :src="item" class="image" />
</el-card>
</el-col>
</el-col> -->
</el-row>
<hr />
<el-row>
......@@ -470,7 +477,10 @@
</el-col>
</el-row>
<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"
v-for="(item, index) in arrivalPicList"
:key="index"
......@@ -480,7 +490,7 @@
<el-card>
<img :src="item" class="image" />
</el-card>
</el-col>
</el-col> -->
</el-row>
<hr />
<el-row>
......@@ -710,7 +720,7 @@
</template>
<script>
import {
import {
page,
prove,
reject,
......@@ -722,33 +732,33 @@ import {
saveOrderViolation,
departureVehicle,
arrivalVehicle
} from 'api/vehicle/bookRecord'
} from 'api/vehicle/bookRecord'
import {
import {
getAllCompany,
getAll,
updateById
} from 'api/base_info/branch_company/'
import { getAllZone } from 'api/base_info/constant/'
import { getAllBranchCompanyByZoneId } from 'api/order/rentVehicle'
import { formatDate } from 'utils/dateFormattor'
} from 'api/base_info/branch_company/'
import { getAllZone } from 'api/base_info/constant/'
import { getAllBranchCompanyByZoneId } from 'api/order/rentVehicle'
import { formatDate } from 'utils/dateFormattor'
import rsCode from '../../../utils/rsCode'
import rsCode from '../../../utils/rsCode'
import { mapGetters } from 'vuex'
import { mapGetters } from 'vuex'
import { toEast8Date, deepCopyDate, newEast8Date } from 'utils/dateUtils'
import { getToken } from '../../../utils/auth'
import {
import { toEast8Date, deepCopyDate, newEast8Date } from 'utils/dateUtils'
import { getToken } from '../../../utils/auth'
import {
BOOK_RECORD_STATUS_APPLY,
BOOK_RECORD_STATUS_PROVED,
BOOK_RECORD_STATUS_LIFT
} from '../../../store/modules/baseInfo'
} from '../../../store/modules/baseInfo'
import bookInfoViewer from '../bookInfoViewer'
import accItemSelector from '../accompanyingItem/accItemSelector.vue'
import bookInfoViewer from '../bookInfoViewer'
import accItemSelector from '../accompanyingItem/accItemSelector.vue'
export default {
export default {
name: 'bookRecord',
components: {
bookInfoViewer,
......@@ -1899,30 +1909,30 @@ export default {
})
}
}
}
}
</script>
<style scoped>
.order-details .el-form-item {
.order-details .el-form-item {
margin-bottom: 0px !important;
}
.order-details hr {
}
.order-details hr {
height: 1px;
background-color: #ccc;
border: none;
}
.image {
}
.image {
width: 100%;
height: 110px;
display: block;
}
.el-card__body,
.el-card {
}
.el-card__body,
.el-card {
padding: 0px !important;
width: 150px;
text-align: center;
}
.modal_modal {
}
.modal_modal {
position: fixed;
left: 0;
top: 0;
......@@ -1931,5 +1941,5 @@ export default {
opacity: 0.5;
background: #000;
z-index: 2001;
}
}
</style>
......@@ -127,7 +127,7 @@
<el-select
v-if="setForm.type ==3 && setForm.isGlobal == 1"
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-select>
......@@ -277,6 +277,21 @@ export default {
if (this.chooseData == '') {
this.$message.error('请选择要设置的日期')
return false
} 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 => {
let defaults = {}
......@@ -298,6 +313,7 @@ export default {
})
}
} else {
//特殊设置
this.dayListData.forEach(element => {
if (this.setForm.type == 1) {
if (!!element.multiple || !!element.freeDays) {
......@@ -310,10 +326,11 @@ export default {
vehicleModelId: element.vehicleModelId,
type: this.setForm.type
})
} else {
this.$message.error('请设置不同车型不同价格')
return false
}
// else {
// this.$message.error('请设置不同车型不同价格1')
// return false
// }
} else if (this.setForm.type == 2) {
if (!!element.price || !!element.freeDays) {
params.push({
......@@ -325,10 +342,11 @@ export default {
vehicleModelId: element.vehicleModelId,
type: this.setForm.type
})
} else {
this.$message.error('请设置不同车型不同价格')
return false
}
// else {
// this.$message.error('请设置不同车型不同价格2')
// return false
// }
} else {
if (!!element.level || !!element.freeDays) {
params.push({
......@@ -340,20 +358,23 @@ export default {
vehicleModelId: element.vehicleModelId,
type: this.setForm.type
})
} else {
this.$message.error('请设置不同车型不同价格')
return false
}
// else {
// this.$message.error('请设置不同车型不同价格3')
// return false
// }
}
})
}
if (params == '') {
this.$message.error('请设置不同车型不同价格')
this.$message.error('请设置不同车型不同价格4')
return false
} else {
add_edit(params).then(data => {
if (data.status == 200) {
this.$message.success('设置成功')
this.chooseData = []
this.getList()
} else {
this.$message.error(data.message)
......@@ -375,10 +396,10 @@ export default {
if (this.calendarStatus == 1 && this.setForm.isGlobal == 0) {
dayList(val).then(data => {
data.data.forEach(element => {
element.multiple = ''
element.price = ''
element.level = ''
element.freeDays = ''
element.multiple = element.multiple || ''
element.price = element.price || ''
element.level = element.level||''
element.freeDays = element.freeDays||''
})
this.dayListData = data.data
this.setMultiplePop = true
......@@ -403,8 +424,6 @@ export default {
matching(val) {
let diploid = ''
this.dataList.forEach(element => {
console.log(element)
if (element.vehicleModelDay == val) {
if (element.isGlobal == false) {
diploid = '特殊设置'
......@@ -459,8 +478,6 @@ export default {
this.currentMonth.toString().length == 1
? '0' + this.currentMonth
: this.currentMonth
console.log(month)
priceList(this.currentYear + '-' + month + '-01').then(data => {
if (data.status == 200) {
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