Commit c0244bcb authored by jiaorz's avatar jiaorz

Merge branch 'base-modify' of http://113.105.137.151:22280/youjj/cloud-platform-ui into base-modify

parents f7ae515b d6ad630e
...@@ -155,7 +155,22 @@ export function stockSearchPage(query) { ...@@ -155,7 +155,22 @@ export function stockSearchPage(query) {
}); });
} }
// 修改订单还车公司
export function updateEndCompany(params) {
return fetch({
url: '/api/order/baseOrder/updateEndCompany',
method: 'post',
data: params
});
}
// 修改预定订单还车公司
export function updateById(params) {
return fetch({
url: '/vehicle/vehicleInfo/bookRecord/updateById',
method: 'post',
data: params
});
}
export function delObj(id) { export function delObj(id) {
return fetch({ return fetch({
url: '/vehicle/branchCompany/' + id, url: '/vehicle/branchCompany/' + id,
...@@ -184,6 +199,7 @@ export function getDetail(id) { ...@@ -184,6 +199,7 @@ export function getDetail(id) {
method: 'get' method: 'get'
}) })
} }
/** /**
* 获取所有公司信息 * 获取所有公司信息
* @returns {null|*} * @returns {null|*}
......
<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="90px">
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="订单号:"> <el-form-item label="订单号:">
<span>{{form.no}}</span> <span>{{form.no}}</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.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.ststusName}}</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.realName}}</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.telephone}}</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 style="margin-right: 10px;">{{form.vehicleNumberPlat?form.vehicleNumberPlat:form.vehicalNumberPlat}}</span><el-button size="small" type="primary" icon="edit" v-if="form.status==4" @click="resetCar">重新配车</el-button> <span
</el-form-item> style="margin-right: 10px;"
</el-col> >{{form.vehicleNumberPlat?form.vehicleNumberPlat:form.vehicalNumberPlat}}</span>
</el-row> <el-button
<el-row> size="small"
<el-col :span="8"> type="primary"
<el-form-item label="取车:"> icon="edit"
<span>{{form.orderRentVehicleDetail.startTime}}</span> v-if="form.status==4"
</el-form-item> @click="resetCar"
</el-col> >重新配车</el-button>
<el-col :span="8"> </el-form-item>
<el-form-item label="" label-width="10px"> </el-col>
<span>{{form.orderRentVehicleDetail.startAddr}}</span> </el-row>
</el-form-item> <el-row>
</el-col> <el-col :span="8">
<el-col :span="8"> <el-form-item label="取车:">
<el-form-item label="交车公司:"> <span>{{form.orderRentVehicleDetail.startTime}}</span>
<span>{{form.startCompanyName}}</span> </el-form-item>
</el-form-item> </el-col>
</el-col> <el-col :span="8">
</el-row> <el-form-item label label-width="10px">
<el-row> <span>{{form.orderRentVehicleDetail.startAddr}}</span>
<el-col :span="8"> </el-form-item>
<el-form-item label="还车:"> </el-col>
<span>{{form.orderRentVehicleDetail.endTime}}</span> <el-col :span="8">
</el-form-item> <el-form-item label="交车公司:">
</el-col> <span>{{form.startCompanyName}}</span>
<el-col :span="8"> </el-form-item>
<el-form-item label="" label-width="10px"> </el-col>
<span>{{form.orderRentVehicleDetail.endAddr}}</span> </el-row>
</el-form-item> <el-row>
</el-col> <el-col :span="8">
<el-col :span="8"> <el-form-item label="还车:">
<el-form-item label="交车公司:"> <span>{{form.orderRentVehicleDetail.endTime}}</span>
<span>{{form.endCompanyName}}</span> </el-form-item>
</el-form-item> </el-col>
</el-col> <el-col :span="8">
</el-row> <el-form-item label label-width="10px">
<table class="orderDetail"> <span>{{form.orderRentVehicleDetail.endAddr}}</span>
<tr><th>房车</th><th>租借天数</th><th>费用明细</th> </el-form-item>
</tr> </el-col>
<tr> <el-col :span="8">
<td>{{form.name}}{{rentCostDetail}}</td> <el-form-item label="还车公司:">
<td>{{form.orderRentVehicleDetail.dayNum}}</td> <span>{{form.endCompanyName}}</span>
<td>{{rentCostDetail}}</td> <el-button size="mini" type="primary" style="padding: 7px 9px;" @click="resetReturn = true">更换</el-button>
</tr> </el-form-item>
<tr> </el-col>
<td ></td> </el-row>
<td ></td> <table class="orderDetail">
<td >共计:¥{{form.realAmount}}</td> <tr>
</tr> <th>房车</th>
</table> <th>租借天数</th>
<div v-if="form.orderVehicleCrosstownDto" style="margin: 20px 0;"><span style="font-size: 18px;font-weight: bold;">驾驶人信息</span></div> <th>费用明细</th>
<table class="orderDetail" v-if="form.orderVehicleCrosstownDto"> </tr>
<tr><th>姓名</th><th>手机号</th><th>身份证号</th><!-- <th>驾照</th>--></tr> <tr>
<td>{{form.name}}{{rentCostDetail}}</td>
<td>{{form.orderRentVehicleDetail.dayNum}}</td>
<td>{{rentCostDetail}}</td>
</tr>
<tr>
<td></td>
<td></td>
<td>共计:¥{{form.realAmount}}</td>
</tr>
</table>
<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">
<tr>
<th>姓名</th>
<th>手机号</th>
<th>身份证号</th>
<!-- <th>驾照</th>-->
</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>--> <!-- <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>
<!-- 重新配车 --> <!-- 重新配车 -->
<el-dialog title="重新配车" :visible.sync="resetCarVisible" :append-to-body='true' :modal="false"> <el-dialog title="重新配车" :visible.sync="resetCarVisible" :append-to-body="true" :modal="false">
<el-form :model="resetCarForm" ref="carForm" :rules="rules" label-width="90px"> <el-form :model="resetCarForm" ref="carForm" :rules="rules" label-width="90px">
<el-form-item label="车牌号:" prop="numberPlate"> <el-form-item label="车牌号:" prop="numberPlate">
<el-input v-model="resetCarForm.numberPlate" placeholder="请输入重配的车牌号"></el-input> <el-input v-model="resetCarForm.numberPlate" placeholder="请输入重配的车牌号"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="cancelResetCar">取消</el-button> <el-button @click="cancelResetCar">取消</el-button>
<el-button type="primary" @click="update('carForm')">确定</el-button> <el-button type="primary" @click="update('carForm')">确定</el-button>
</div> </div>
</el-dialog> </el-dialog>
</el-dialog>
<!-- 更改还车地点 -->
<div class="modal_modal" v-show="resetReturn"></div>
<el-dialog title="更改还车地点" :visible.sync="resetReturn" :append-to-body="true" :modal="false">
<el-form :model="returnForm" ref="returnForm" label-width="90px">
<el-form-item label="还车地点:" prop="endCompanyId">
<el-select clearable v-model="returnForm.endCompanyId" filterable placeholder="请选择/搜索还车地点">
<el-option v-for="item in allCompaniesArr" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
<el-button style="margin-top:20px" type="primary" @click="confirm('returnForm')">确定</el-button>
</el-form>
</el-dialog>
</el-dialog>
</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 ElForm from "../../../../node_modules/element-ui/packages/form/src/form.vue"; import ElForm from '../../../../node_modules/element-ui/packages/form/src/form.vue'
import {editObj} from 'api/vehicle/vehicleInfo'; import { editObj } from 'api/vehicle/vehicleInfo'
export default { import { getAll, updateEndCompany } from 'api/base_info/branch_company'
props: ["form", "rentCostDetail"], export default {
name: 'rentOrderDetailModal', props: ['form', 'rentCostDetail'],
components: { name: 'rentOrderDetailModal',
ElFormItem, components: {
ElCol, ElFormItem,
ElInput, ElCol,
ElRow ElInput,
}, ElRow
data() { },
return { data() {
updateNumberPlat:false,//是否重新配车 return {
dialogVisible: false, returnForm: {
resetCarVisible:false, endCompanyId: ''
resetCarForm:{ },
no:'', allCompaniesArr: [],
numberPlate:'',//重新配车车牌号 resetReturn: false, //更改换成地点loading
}, updateNumberPlat: false, //是否重新配车
rules: { dialogVisible: false,
numberPlate: [ resetCarVisible: false,
{ resetCarForm: {
type: 'string', no: '',
required: true, numberPlate: '' //重新配车车牌号
message: '请输入车牌号', },
trigger: 'blur' rules1: {
} endCompanyId: [
] {
}, required: true,
} message: '请选择更换地点',
}, trigger: 'change'
watch: { }
dialogVisible(newValue, oldValue){ ]
if(!newValue){ },
this.$emit("rentOrderDetailDialogEvent", this.updateNumberPlat); rules: {
} numberPlate: [
}, {
}, type: 'string',
mounted() { required: true,
this.dialogVisible = true; message: '请输入车牌号',
if (this.form.status == 2) { trigger: 'blur'
this.form.ststusName = '取消'; }
} ]
if (this.form.status == 3) { }
this.form.ststusName = '待付款'; }
} },
if (this.form.status == 4) { watch: {
this.form.ststusName = '待出行'; dialogVisible(newValue, oldValue) {
} if (!newValue) {
if (this.form.status == 5) { this.$emit('rentOrderDetailDialogEvent', this.updateNumberPlat)
this.form.ststusName = '出行中'; }
} }
if (this.form.status == 6) { },
this.form.ststusName = '已完成'; mounted() {
} console.log(this.form)
},
methods: { this.dialogVisible = true
resetCar(){ if (this.form.status == 2) {
this.clearFrom(); this.form.ststusName = '取消'
this.resetCarVisible = true }
this.resetCarForm.no = this.form.no if (this.form.status == 3) {
}, this.form.ststusName = '待付款'
cancelResetCar(){ }
this.resetCarVisible = false if (this.form.status == 4) {
}, this.form.ststusName = '待出行'
clearFrom(){ }
this.resetCarForm = { if (this.form.status == 5) {
no:'', this.form.ststusName = '出行中'
numberPlate:'',//重新配车车牌号 }
} if (this.form.status == 6) {
}, this.form.ststusName = '已完成'
/** }
* 重新配车 this.getAllFn()
* */ },
update(formName) { methods: {
let that = this; getAllFn() {
const set = this.$refs; let _this = this
set[formName].validate(valid => { getAll().then(data => {
if (valid) { _this.allCompaniesArr = []
editObj(this.resetCarForm).then(response => { data.data.map(function(item) {
if (response.status === 200) { item.value = item.name
this.$notify({ _this.allCompaniesArr.push(item)
title: '成功', })
message: '修改成功', })
type: 'success', },
duration: 2000 confirm(formName) {
}); if (this.returnForm.endCompanyId == '') {
this.resetCarVisible = false this.$notify({
this.form.vehicleNumberPlat = this.resetCarForm.numberPlate title: '失败',
this.updateNumberPlat = true message: '还车地点不能为空',
} else { type: 'error',
this.$notify({ duration: 2000
title: '失败', })
message: response.message, } else {
type: 'error', this.returnForm.id = this.form.detailId
duration: 2000 updateEndCompany(this.returnForm).then(data => {
}); console.log(data.status);
}
}); if (data.status == 200) {
} else { this.$notify({
return false; title: '成功',
message: '修改还车地点成功',
type: 'success',
duration: 3000
})
this.resetReturn = false
}else{
this.$notify({
title: '失败',
message: data.message,
type: 'error',
duration:3000
})
} }
}); })
}, }
} },
} resetCar() {
this.clearFrom()
this.resetCarVisible = true
this.resetCarForm.no = this.form.no
},
cancelResetCar() {
this.resetCarVisible = false
},
clearFrom() {
this.resetCarForm = {
no: '',
numberPlate: '' //重新配车车牌号
}
},
/**
* 重新配车
* */
update(formName) {
let that = this
const set = this.$refs
set[formName].validate(valid => {
if (valid) {
editObj(this.resetCarForm).then(response => {
if (response.status === 200) {
this.$notify({
title: '成功',
message: '修改成功',
type: 'success',
duration: 2000
})
this.resetCarVisible = false
this.form.vehicleNumberPlat = this.resetCarForm.numberPlate
this.updateNumberPlat = true
} else {
this.$notify({
title: '失败',
message: response.message,
type: 'error',
duration: 2000
})
}
})
} else {
return false
}
})
}
}
}
</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 th{ .orderDetail tr td,
width: 500px; .orderDetail tr th {
text-align: center; width: 500px;
border: 1px solid #dfe6ec; text-align: center;
margin-left: 100px; border: 1px solid #dfe6ec;
margin-right: 100px; margin-left: 100px;
padding: 10px; margin-right: 100px;
} padding: 10px;
.label-value{ }
margin-left: 80px; .label-value {
margin-right: 100px; margin-left: 80px;
} margin-right: 100px;
#license-img{ }
width: 50px; #license-img {
height: 50px; width: 50px;
} height: 50px;
.order-details .el-form-item{ }
margin-bottom: 10px !important; .order-details .el-form-item {
} margin-bottom: 10px !important;
.modal_modal{ }
position: fixed; .modal_modal {
left: 0; position: fixed;
top: 0; left: 0;
width: 100%; top: 0;
height: 100%; width: 100%;
opacity: .5; height: 100%;
background: #000; opacity: 0.5;
z-index: 2000; background: #000;
} z-index: 2000;
}
</style> </style>
...@@ -697,7 +697,6 @@ export default { ...@@ -697,7 +697,6 @@ export default {
}); });
}, },
handleOrderDetail(row) { handleOrderDetail(row) {
debugger
this.form = row; this.form = row;
if (this.form.status == 2) { if (this.form.status == 2) {
this.form.ststusName = "取消"; this.form.ststusName = "取消";
......
...@@ -165,12 +165,21 @@ ...@@ -165,12 +165,21 @@
<el-form-item label="峰会流程:"> <el-form-item label="峰会流程:">
<el-row class="height" v-for="(item, index) in processJson" :key="index"> <el-row class="height" v-for="(item, index) in processJson" :key="index">
<el-col :span="6"> <el-col :span="6">
<el-date-picker <!-- <el-date-picker
v-model="item.time" v-model="item.time"
type="datetime" type="datetime"
format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择时间" placeholder="请选择时间"
></el-date-picker> ></el-date-picker>-->
<el-time-select
v-model="item.time"
:picker-options="{
start: '06:00',
step: '00:15',
end: '23:59'
}"
placeholder="选择/输入时间"
></el-time-select>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-input class="content" v-model="item.content" placeholder="请输入内容"></el-input> <el-input class="content" v-model="item.content" placeholder="请输入内容"></el-input>
...@@ -256,6 +265,7 @@ export default { ...@@ -256,6 +265,7 @@ export default {
longitude: undefined, longitude: undefined,
latitude: undefined, latitude: undefined,
state: '默认', state: '默认',
status: 0,
rid: undefined, rid: undefined,
content: '', // 峰会主题 content: '', // 峰会主题
contentFirm: '', contentFirm: '',
...@@ -303,12 +313,12 @@ export default { ...@@ -303,12 +313,12 @@ export default {
getOne(this.popupRow.id).then(res => { getOne(this.popupRow.id).then(res => {
res.data.state = this.getState(res.data.status) res.data.state = this.getState(res.data.status)
this.form = res.data this.form = res.data
this.form.bmCloseTime = Number(res.data.bmCloseTime) this.form.bmCloseTime = Number(res.data.bmCloseTime)
let introduce = this.form.vehicleImgs.split(','); let introduce = this.form.vehicleImgs.split(',')
introduce.forEach(element => { introduce.forEach(element => {
this.fileList2.push({name:'峰会介绍',url:element}) this.fileList2.push({ name: '峰会介绍', url: element })
}); })
if (res.data.processJson) { if (res.data.processJson) {
this.processJson = JSON.parse(res.data.processJson) this.processJson = JSON.parse(res.data.processJson)
} }
...@@ -378,7 +388,7 @@ export default { ...@@ -378,7 +388,7 @@ export default {
}, },
addTag() { addTag() {
const t = { const t = {
time: undefined, time: null,
content: '' content: ''
} }
this.processJson.push(t) this.processJson.push(t)
...@@ -388,43 +398,98 @@ export default { ...@@ -388,43 +398,98 @@ export default {
* *
* */ * */
update1() { update1() {
this.dataProcessing() if (!this.form.title) {
update(this.form).then(res => { this.$notify({
this.responseResult(res) title: '失败',
}) message: '标题不能为空',
type: 'error',
duration: 2000
})
return false
} else if (!this.form.startTime) {
this.$notify({
title: '失败',
message: '开始时间不能为空',
type: 'error',
duration: 2000
})
} else if (!this.form.endTime) {
this.$notify({
title: '失败',
message: '结束时间不能为空',
type: 'error',
duration: 2000
})
} else if (!this.form.bmCloseTime) {
this.$notify({
title: '失败',
message: '报名截止时间不能为空',
type: 'error',
duration: 2000
})
} else {
typeof(this.form.endTime) == 'number' ? this.form.endTime = this.form.endTime : this.form.endTime = this.form.endTime.getTime();
typeof(this.form.startTime) == 'number' ? this.form.startTime = this.form.startTime : this.form.startTime = this.form.startTime.getTime();
typeof(this.form.bmCloseTime) == 'number' ? this.form.bmCloseTime = this.form.bmCloseTime : this.form.bmCloseTime = this.form.bmCloseTime.getTime();
let pic = []
if (!!this.form.vehicleImgs) {
this.form.vehicleImgs.forEach(element => {
pic.push(element.url)
})
this.form.vehicleImgs = pic.join(',')
}
this.form.processJson = this.processJson
update(this.form).then(res => {
this.responseResult(res)
})
this.dataProcessing()
}
}, },
create(formName) { create() {
if ( if (!this.form.title) {
!this.form.title ||
!this.form.startTime ||
!this.form.endTime
) {
this.$notify({ this.$notify({
title: '失败', title: '失败',
message: '必填项不能为空', message: '标题不能为空',
type: 'error', type: 'error',
duration: 2000 duration: 2000
}) })
return false return false
} else if (!this.form.startTime) {
this.$notify({
title: '失败',
message: '开始时间不能为空',
type: 'error',
duration: 2000
})
} else if (!this.form.endTime) {
this.$notify({
title: '失败',
message: '结束时间不能为空',
type: 'error',
duration: 2000
})
} else if (!this.form.bmCloseTime) {
this.$notify({
title: '失败',
message: '报名截止时间不能为空',
type: 'error',
duration: 2000
})
} else { } else {
this.form.endTime = this.form.endTime.getTime() this.form.endTime = this.form.endTime.getTime()
this.form.startTime = this.form.startTime.getTime() this.form.startTime = this.form.startTime.getTime()
this.form.bmCloseTime = this.form.bmCloseTime.getTime() this.form.bmCloseTime = this.form.bmCloseTime.getTime()
let pic = [] let pic = []
this.form.vehicleImgs.forEach(element => { if (!!this.form.vehicleImgs) {
pic.push(element.url) this.form.vehicleImgs.forEach(element => {
}) pic.push(element.url)
this.form.vehicleImgs = pic.join(',')
let demo = []
this.processJson.forEach(element => {
demo.push({
time:
formatDate(element.time, 'yyyy-MM-dd hh') +
':00:00',
content: element.content
}) })
}) this.form.vehicleImgs = pic.join(',')
this.form.processJson = demo }
this.form.processJson = this.processJson
add(this.form).then(res => { add(this.form).then(res => {
this.responseResult(res) this.responseResult(res)
......
This source diff could not be displayed because it is too large. You can view the blob instead.
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