Commit d9528a91 authored by guoyou's avatar guoyou

后台优化

parent 7b612e12
<template> <template>
<div class="app-container calendar-list-container" v-loading.body="showLoadingBody"> <div class="app-container calendar-list-container" v-loading.body="showLoadingBody">
<div class="filter-container" ref="filter-container"> <div class="filter-container" ref="filter-container">
<el-button class="filter-item" style="margin-left: 10px;" @click="handleCreate" <el-button
type="primary" icon="edit">添加 class="filter-item"
</el-button> style="margin-left: 10px;"
</div> @click="handleCreate"
<el-table :key='tableKey' :data="list" border fit highlight-current-row type="primary"
style="width: 600px"> icon="edit"
<el-table-column >添加</el-button>
type="index" </div>
align="center" label="序号" width="98"> <el-table :key="tableKey" :data="list" border fit highlight-current-row style="width: 600px">
</el-table-column> <el-table-column type="index" align="center" label="序号" width="98"></el-table-column>
<el-table-column width="250" align="center" label="标题"> <el-table-column width="250" align="center" label="标题">
<template scope="scope"> <template scope="scope">
<span>{{scope.row.title}}</span> <span>{{scope.row.title}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column width="100" align="center" label="标识"> <el-table-column width="100" align="center" label="标识">
<template scope="scope"> <template scope="scope">
<span>{{scope.row.type}}</span> <span>{{scope.row.type}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" width="150" label="操作"> <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)">编辑 <el-button
</el-button> size="small"
<el-button class="el-button el-button--text el-button--small" style="color: red;" v-if="scope.row.type!=88" size="small" @click="deleteHandler(scope.row)">删除</el-button> class="el-button el-button--text el-button--small"
<!--<el-button size="small" type="danger" @click="deleteHandler(scope.row)">删除--> @click="handleUpdate(scope.row)"
<!--</el-button>--> >编辑</el-button>
</template> <el-button
</el-table-column> class="el-button el-button--text el-button--small"
</el-table> style="color: red;"
<div v-show="!listLoading" class="pagination-container"> v-if="scope.row.type!=88"
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" size="small"
:current-page.sync="listQuery.page" :page-sizes="[10,20,30, 50]" :page-size="listQuery.limit" @click="deleteHandler(scope.row)"
layout="total, sizes, prev, pager, next, jumper" :total="total"></el-pagination> >删除</el-button>
</div> <!--<el-button size="small" type="danger" @click="deleteHandler(scope.row)">删除-->
<!-- banner modal弹窗 --> <!--</el-button>-->
<el-dialog :title="modalTitle" :visible.sync="dialogVisible" :before-close="handleDialogClose"> </template>
<el-form :model="dialogFrom" :rules="rules" ref="dialogFrom" label-width="130px"> </el-table-column>
<el-form-item label="标题" prop="title"> </el-table>
<el-input v-model="dialogFrom.title" placeholder="请输入标题"></el-input> <div v-show="!listLoading" class="pagination-container">
</el-form-item> <el-pagination
<el-form-item label="标识" prop="type"> @size-change="handleSizeChange"
<el-input type="number" v-model.number="dialogFrom.type" placeholder="1,2,3……"></el-input> @current-change="handleCurrentChange"
</el-form-item> :current-page.sync="listQuery.page"
<el-row v-if="dialogFrom.type==88"> :page-sizes="[10,20,30, 50]"
<el-col :span="12"> :page-size="listQuery.limit"
<el-form-item label="最低提现金额" prop="minAmount"> layout="total, sizes, prev, pager, next, jumper"
<el-input v-model="dialogFrom.minAmount" placeholder="请输入最低提现金额" ></el-input> :total="total"
<span style="color:#bfcbd9;">钱包余额,最低提现额度,达到此金额后才能提现</span> ></el-pagination>
</el-form-item> </div>
</el-col> <!-- banner modal弹窗 -->
</el-row> <el-dialog :title="modalTitle" :visible.sync="dialogVisible" :before-close="handleDialogClose">
<el-row v-if="dialogFrom.type==88" > <el-form :model="dialogFrom" :rules="rules" ref="dialogFrom" label-width="130px">
<el-col :span="12"> <el-form-item label="标题" prop="title">
<el-form-item label="提现手续费" prop="proceduReates"> <el-input v-model="dialogFrom.title" placeholder="请输入标题"></el-input>
<el-input v-model="dialogFrom.proceduReates" placeholder="请输入提现手续费" ></el-input> </el-form-item>
<span style="color:#bfcbd9;">提现收取的手续费</span> <el-form-item label="标识" prop="type">
</el-form-item> <el-input type="number" v-model.number="dialogFrom.type" placeholder="1,2,3……"></el-input>
</el-col> </el-form-item>
</el-row> <el-form-item label="参数" prop="params" v-show="dialogFrom.type != '88'">
<el-row v-if="dialogFrom.type==88" > <el-input v-model="dialogFrom.params" placeholder="请输入标题"></el-input>
<el-col :span="12"> </el-form-item>
<el-form-item label="月额度" prop="amountOfMonth"> <el-row v-if="dialogFrom.type==88">
<el-input v-model="dialogFrom.amountOfMonth" placeholder="请输入月额度" ></el-input> <el-col :span="12">
</el-form-item> <el-form-item label="最低提现金额" prop="minAmount">
</el-col> <el-input v-model="dialogFrom.minAmount" placeholder="请输入最低提现金额"></el-input>
</el-row> <span style="color:#bfcbd9;">钱包余额,最低提现额度,达到此金额后才能提现</span>
<el-row v-if="dialogFrom.type==88" > </el-form-item>
<el-col :span="12"> </el-col>
<el-form-item label="日额度" prop="amountOfDay"> </el-row>
<el-input v-model="dialogFrom.amountOfDay" placeholder="请输入日额度" ></el-input> <el-row v-if="dialogFrom.type==88">
</el-form-item> <el-col :span="12">
</el-col> <el-form-item label="提现手续费" prop="proceduReates">
</el-row> <el-input v-model="dialogFrom.proceduReates" placeholder="请输入提现手续费"></el-input>
<el-row v-if="dialogFrom.type==88" > <span style="color:#bfcbd9;">提现收取的手续费</span>
<el-col :span="12"> </el-form-item>
<el-form-item label="最多提现次数(月)" prop="maxNumberOfMonth"> </el-col>
<el-input v-model="dialogFrom.maxNumberOfMonth" placeholder="请输入最多提现次数(月)" ></el-input> </el-row>
</el-form-item> <el-row v-if="dialogFrom.type==88">
</el-col> <el-col :span="12">
</el-row> <el-form-item label="月额度" prop="amountOfMonth">
<el-row v-if="dialogFrom.type==88" > <el-input v-model="dialogFrom.amountOfMonth" placeholder="请输入月额度"></el-input>
<el-col :span="12"> </el-form-item>
<el-form-item label="最多提现次数(日)" prop="maxNumberOfDay"> </el-col>
<el-input v-model="dialogFrom.maxNumberOfDay" placeholder="请输入最多提现次数(日)" ></el-input> </el-row>
</el-form-item> <el-row v-if="dialogFrom.type==88">
</el-col> <el-col :span="12">
</el-row> <el-form-item label="日额度" prop="amountOfDay">
<el-row v-if="dialogFrom.type==88" > <el-input v-model="dialogFrom.amountOfDay" placeholder="请输入日额度"></el-input>
<el-col :span="12"> </el-form-item>
<el-form-item label="提现方式" prop="withdrawWay"> </el-col>
<el-radio v-model="dialogFrom.withdrawWay" label="1">线上</el-radio> </el-row>
<el-radio v-model="dialogFrom.withdrawWay" label="2">线下</el-radio> <el-row v-if="dialogFrom.type==88">
</el-form-item> <el-col :span="12">
</el-col> <el-form-item label="最多提现次数(月)" prop="maxNumberOfMonth">
</el-row> <el-input v-model="dialogFrom.maxNumberOfMonth" placeholder="请输入最多提现次数(月)"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="dialogFrom.type==88">
<el-col :span="12">
<el-form-item label="最多提现次数(日)" prop="maxNumberOfDay">
<el-input v-model="dialogFrom.maxNumberOfDay" placeholder="请输入最多提现次数(日)"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="dialogFrom.type==88">
<el-col :span="12">
<el-form-item label="提现方式" prop="withdrawWay">
<el-radio v-model="dialogFrom.withdrawWay" label="1">线上</el-radio>
<el-radio v-model="dialogFrom.withdrawWay" label="2">线下</el-radio>
</el-form-item>
</el-col>
</el-row>
<el-tabs v-model="activeName2" type="card"> <el-tabs v-model="activeName2" type="card">
<el-tab-pane label="详情" name="first"> <el-tab-pane label="详情" name="first">
<!--<Editor v-if="activeName2=='first'" @input="handelContentIncrease" :value="form.content" :myQuillEditor="'myQuillEditorContent'" :activeName2="activeName2"></Editor>--> <!--<Editor v-if="activeName2=='first'" @input="handelContentIncrease" :value="form.content" :myQuillEditor="'myQuillEditorContent'" :activeName2="activeName2"></Editor>-->
<div class="editor-container" v-if="activeName2=='first'"> <div class="editor-container" v-if="activeName2=='first'">
<UE :editorId="activeName2" :defaultMsg="dialogFrom.value" :config=config ref="ue" @ready="editorReadyEvent"></UE> <UE
</div> :editorId="activeName2"
</el-tab-pane> :defaultMsg="dialogFrom.value"
</el-tabs> :config="config"
<!--<el-form-item label="详情">--> ref="ue"
<!--<Editor @input="handelIncrease" :value="dialogFrom.value" :myQuillEditor="'myQuillEditorContent'"></Editor>--> @ready="editorReadyEvent"
<!--</el-form-item>--> ></UE>
</el-form> </div>
<div slot="footer" class="dialog-footer"> </el-tab-pane>
<el-button @click="cancelHandel">取 消</el-button> </el-tabs>
<el-button v-if="modalTitle=='创建'" type="primary" @click="create('dialogFrom')">确 定</el-button> <!--<el-form-item label="详情">-->
<el-button v-else type="primary" @click="update('dialogFrom')">确 定</el-button> <!--<Editor @input="handelIncrease" :value="dialogFrom.value" :myQuillEditor="'myQuillEditorContent'"></Editor>-->
</div> <!--</el-form-item>-->
</el-dialog> </el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancelHandel">取 消</el-button>
<el-button v-if="modalTitle=='创建'" type="primary" @click="create('dialogFrom')">确 定</el-button>
<el-button v-else type="primary" @click="update('dialogFrom')">确 定</el-button>
</div>
</el-dialog>
<!--多图上传-->
<!--多图上传--> <!--<el-upload-->
<!--<el-upload--> <!--:multiple="multiple"-->
<!--:multiple="multiple"--> <!--action="${pageContext.request.contextPath}/lookup/editEvidence/123"-->
<!--action="${pageContext.request.contextPath}/lookup/editEvidence/123"--> <!--list-type="picture-card"-->
<!--list-type="picture-card"--> <!--:auto-upload="false"-->
<!--:auto-upload="false"--> <!--:http-request="uploadFile"-->
<!--:http-request="uploadFile"--> <!--ref="upload"-->
<!--ref="upload"--> <!--&gt;-->
<!--&gt;--> <!--<i class="el-icon-plus"></i>-->
<!--<i class="el-icon-plus"></i>--> <!--</el-upload>-->
<!--</el-upload>--> <!--<el-button @click="subPicForm">提交上传</el-button>-->
<!--<el-button @click="subPicForm">提交上传</el-button>--> </div>
</div>
</template> </template>
<style> <style>
.el-table__header{ .el-table__header {
width: 100% !important; width: 100% !important;
} }
</style> </style>
<script> <script>
import 'static/css/uploadImg.css';// 引入图片上传组件对话框 import 'static/css/uploadImg.css' // 引入图片上传组件对话框
// import Editor from "../modal/editorTool";//富文本 // import Editor from "../modal/editorTool";//富文本
import UE from '../modal/Ueditor';//百度ue富文本 import UE from '../modal/Ueditor' //百度ue富文本
import { import { formatDate } from 'utils/dateFormattor'
formatDate
} from 'utils/dateFormattor';
import {
toEast8Date,
deepCopyDate,
newEast8Date,
convertDate2Str
} from 'utils/dateUtils';
import { import {
page, toEast8Date,
addGeneral, deepCopyDate,
editGeneral, newEast8Date,
delGeneral, convertDate2Str
uploadFiles } from 'utils/dateUtils'
} from 'api/base_info/general';
import rsCode from '../../utils/rsCode'; import {
page,
addGeneral,
editGeneral,
delGeneral,
uploadFiles
} from 'api/base_info/general'
import {mapGetters} from 'vuex'; import rsCode from '../../utils/rsCode'
import {
getToken
} from '../../utils/auth';
import Element1 from "../admin/menu/components/element"; import { mapGetters } from 'vuex'
import ElRow from "element-ui/packages/row/src/row"; import { getToken } from '../../utils/auth'
import ElCol from "element-ui/packages/col/src/col";
export default {
name: 'tourManage',
components: {
ElCol,
ElRow,
Element1,
UE
// Editor
},
data() {
return {
multiple:true,
formDate:"",
listQuery: {
page: 1,
limit: 20
},
config: {
initialFrameWidth: null,
initialFrameHeight: 350
},
tableKey:0,
activeName2: "",
modalTitle: "创建",
BASE_API: process.env.BASE_API,
dialogVisible: false,//添加、编辑弹框
showLoadingBody: false,
dialogFrom:{
title: "",
type: undefined,
value:"",
minAmount: 100,
proceduReates:0.001,
amountOfMonth:'',
amountOfDay:'',
maxNumberOfMonth:'',
maxNumberOfDay:'',
withdrawWay:1
},
rules: {
title: {
type: 'string',
required: true,
message: '请输入标题',
trigger: 'blur'
},
type: {
required: true,
message: '请输入数字标识',
},
proceduReates: {
required: true,
message: '请输入提现手续费',
},
minAmount: {
required: true,
message: '请输入最低提现金额',
},
amountOfMonth: {
required: true,
message: '请输入月额度',
},
amountOfDay: {
required: true,
message: '请输入日额度',
},
maxNumberOfMonth: {
required: true,
message: '请输入最多提现次数(月)',
},
maxNumberOfDay: {
required: true,
message: '请输入最多提现次数(日)',
},
withdrawWay: {
required: true,
message: '请选择提现方式',
}
},
list: null,
total: null,
listLoading: true,
inline: true,
}
},
created() {
this.getList();
},
computed: {
...mapGetters([
'elements',
'belong2Type'
])
},
methods: {
/**
* 添加
* */
handleCreate() {
this.cleanDialogFrom();
this.modalTitle = '创建';
this.activeName2 = "first";
this.dialogVisible = true;
},
/**
* 操作-删除
* */
deleteHandler(row) {
this.$confirm('确定删除吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
delGeneral(row.id).then(response => {
if (response.status === 200) {
this.$notify({
title: '成功',
message: '删除成功',
type: 'success',
duration: 2000
});
this.getList();
} else {
this.$notify({
title: '删除失败',
message: rsCode.msg[response.code] ? rsCode.msg[response.code] : '操作失败!',
type: 'error',
duration: 2000
});
}
});
})
}, import Element1 from '../admin/menu/components/element'
/** import ElRow from 'element-ui/packages/row/src/row'
* 点击 X 关闭对话框的回调 import ElCol from 'element-ui/packages/col/src/col'
**/
handleDialogClose() {
this.activeName2 = "";
this.dialogVisible = false;
},
/**
* 操作-编辑
* */
handleUpdate(row) {
this.modalTitle = '编辑';
this.dialogVisible = true;
this.cleanDialogFrom();
this.dialogFrom = row;
this.activeName2 = "first";
},
/**
* 弹框-取消
* */
cancelHandel(){
this.cleanDialogFrom();
this.dialogVisible = false;
this.activeName2 = "";
},
/**
* 新建、编辑清空表单
* */
cleanDialogFrom(){
this.dialogFrom = {
title: "",
type: undefined,
value:"",
minAmount: 100,
proceduReates:0.001,
amountOfMonth:'',
amountOfDay:'',
maxNumberOfMonth:'',
maxNumberOfDay:'',
withdrawWay:1
};
this.activeName2 = "";
},
handleSizeChange(val) {
this.listQuery.limit = val;
this.getList();
},
handleCurrentChange(val) {
this.listQuery.page = val;
this.getList();
},
/**
* 获取通用设置列表数据
* */
getList() {
this.listLoading = true;
page(this.listQuery).then(response => {
let totalCountRs = undefined;
let listRs = undefined;
if (!this.$utils.isEmpty(response.data.rows) && this.$utils.isInteger(response.data.total)) {
response.data.rows.map(function(item){
item.visible2 = false;
if(item.type == 88){
//提现规则
item.params = JSON.parse(item.params);
item.minAmount = item.params.minAmount;
item.proceduReates = item.params.proceduReates;
item.amountOfMonth = item.params.amountOfMonth;
item.amountOfDay = item.params.amountOfDay;
item.maxNumberOfMonth = item.params.maxNumberOfMonth;
item.maxNumberOfDay = item.params.maxNumberOfDay;
item.withdrawWay = item.params.withdrawWay;
}
});
listRs = response.data.rows;
totalCountRs = response.data.total;
}
// "{"minAmount":"11","proceduReates":"0.02"}"
this.listLoading = false;
this.list = listRs;
this.total = totalCountRs;
});
},
/**
* 创建
* */
create(formName) {
this.$refs.dialogFrom.validate(valid => {
if (valid) {
let params = {
title: this.dialogFrom.title,
type: this.dialogFrom.type,
value: this.dialogFrom.value,
}; export default {
if(this.dialogFrom.type == 88){ name: 'tourManage',
//提现规则 components: {
let p = { ElCol,
minAmount: this.dialogFrom.minAmount, ElRow,
proceduReates:this.dialogFrom.proceduReates, Element1,
amountOfMonth:this.dialogFrom.amountOfMonth, UE
amountOfDay:this.dialogFrom.amountOfDay, // Editor
maxNumberOfMonth:this.dialogFrom.maxNumberOfMonth, },
maxNumberOfDay:this.dialogFrom.maxNumberOfDay, data() {
withdrawWay:this.dialogFrom.withdrawWay return {
}; multiple: true,
params.params = JSON.stringify(p); formDate: '',
} listQuery: {
addGeneral(params).then(response => { page: 1,
if (response.status === 200) { limit: 20
this.cleanDialogFrom(); },
this.dialogVisible = false; config: {
this.$notify({ initialFrameWidth: null,
title: '成功', initialFrameHeight: 350
message: '添加成功', },
type: 'success', tableKey: 0,
duration: 2000 activeName2: '',
}); modalTitle: '创建',
this.getList(); BASE_API: process.env.BASE_API,
} else { dialogVisible: false, //添加、编辑弹框
this.$notify({ showLoadingBody: false,
title: '添加失败', dialogFrom: {
message: rsCode.msg[response.code] ? rsCode.msg[response.code] : '操作失败!', title: '',
type: 'error', type: undefined,
duration: 2000 value: '',
}); minAmount: 100,
} proceduReates: 0.001,
}); amountOfMonth: '',
} else { amountOfDay: '',
return false; maxNumberOfMonth: '',
} maxNumberOfDay: '',
}); withdrawWay: 1,
}, params: ''
/** },
* 编辑-更新 rules: {
* */ title: {
update(formName) { type: 'string',
this.$refs.dialogFrom.validate(valid => { required: true,
if (valid) { message: '请输入标题',
let params = { trigger: 'blur'
id: this.dialogFrom.id, },
title: this.dialogFrom.title, type: {
type: this.dialogFrom.type, required: true,
value: this.dialogFrom.value message: '请输入数字标识'
}; },
if(this.dialogFrom.type == 88){ proceduReates: {
//提现规则 required: true,
let p = { message: '请输入提现手续费'
minAmount: this.dialogFrom.minAmount, },
proceduReates:this.dialogFrom.proceduReates, minAmount: {
amountOfMonth:this.dialogFrom.amountOfMonth, required: true,
amountOfDay:this.dialogFrom.amountOfDay, message: '请输入最低提现金额'
maxNumberOfMonth:this.dialogFrom.maxNumberOfMonth, },
maxNumberOfDay:this.dialogFrom.maxNumberOfDay, amountOfMonth: {
withdrawWay:this.dialogFrom.withdrawWay required: true,
}; message: '请输入月额度'
params.params = JSON.stringify(p); },
} amountOfDay: {
editGeneral(params).then(response => { required: true,
if (response.status === 200) { message: '请输入日额度'
this.cleanDialogFrom(); },
this.dialogVisible = false; maxNumberOfMonth: {
this.$notify({ required: true,
title: '成功', message: '请输入最多提现次数(月)'
message: '编辑成功', },
type: 'success', maxNumberOfDay: {
duration: 2000 required: true,
}); message: '请输入最多提现次数(日)'
this.getList(); },
} else { withdrawWay: {
this.$notify({ required: true,
title: '编辑失败', message: '请选择提现方式'
message: rsCode.msg[response.code] ? rsCode.msg[response.code] : '操作失败!', }
type: 'error', },
duration: 2000 list: null,
}); total: null,
} listLoading: true,
inline: true
}
},
created() {
this.getList()
},
computed: {
...mapGetters(['elements', 'belong2Type'])
},
methods: {
/**
* 添加
* */
handleCreate() {
this.cleanDialogFrom()
this.modalTitle = '创建'
this.activeName2 = 'first'
this.dialogVisible = true
},
/**
* 操作-删除
* */
deleteHandler(row) {
this.$confirm('确定删除吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
delGeneral(row.id).then(response => {
if (response.status === 200) {
this.$notify({
title: '成功',
message: '删除成功',
type: 'success',
duration: 2000
})
this.getList()
} else {
this.$notify({
title: '删除失败',
message: rsCode.msg[response.code]
? rsCode.msg[response.code]
: '操作失败!',
type: 'error',
duration: 2000
})
}
})
})
},
/**
* 点击 X 关闭对话框的回调
**/
handleDialogClose() {
this.activeName2 = ''
this.dialogVisible = false
},
/**
* 操作-编辑
* */
handleUpdate(row) {
this.modalTitle = '编辑'
this.dialogVisible = true
this.cleanDialogFrom()
typeof row.params == 'object' ? delete row.params : row
this.dialogFrom = row
this.activeName2 = 'first'
},
/**
* 弹框-取消
* */
cancelHandel() {
this.cleanDialogFrom()
this.dialogVisible = false
this.activeName2 = ''
},
/**
* 新建、编辑清空表单
* */
cleanDialogFrom() {
this.dialogFrom = {
title: '',
type: undefined,
value: '',
minAmount: 100,
proceduReates: 0.001,
amountOfMonth: '',
amountOfDay: '',
maxNumberOfMonth: '',
maxNumberOfDay: '',
withdrawWay: 1,
params: ''
}
this.activeName2 = ''
},
handleSizeChange(val) {
this.listQuery.limit = val
this.getList()
},
handleCurrentChange(val) {
this.listQuery.page = val
this.getList()
},
/**
* 获取通用设置列表数据
* */
getList() {
this.listLoading = true
page(this.listQuery).then(response => {
let totalCountRs = undefined
let listRs = undefined
if (
!this.$utils.isEmpty(response.data.rows) &&
this.$utils.isInteger(response.data.total)
) {
response.data.rows.map(function(item) {
item.visible2 = false
if (item.type == 88) {
//提现规则
item.params = JSON.parse(item.params)
item.minAmount = item.params.minAmount
item.proceduReates = item.params.proceduReates
item.amountOfMonth = item.params.amountOfMonth
item.amountOfDay = item.params.amountOfDay
item.maxNumberOfMonth = item.params.maxNumberOfMonth
item.maxNumberOfDay = item.params.maxNumberOfDay
item.withdrawWay = item.params.withdrawWay
}
})
listRs = response.data.rows
totalCountRs = response.data.total
}
// "{"minAmount":"11","proceduReates":"0.02"}"
this.listLoading = false
this.list = listRs
this.total = totalCountRs
})
},
/**
* 创建
* */
create(formName) {
this.$refs.dialogFrom.validate(valid => {
if (valid) {
let params = {
title: this.dialogFrom.title,
type: this.dialogFrom.type,
value: this.dialogFrom.value,
params: this.dialogFrom.params
}
if (this.dialogFrom.type == 88) {
//提现规则
let p = {
minAmount: this.dialogFrom.minAmount,
proceduReates: this.dialogFrom.proceduReates,
amountOfMonth: this.dialogFrom.amountOfMonth,
amountOfDay: this.dialogFrom.amountOfDay,
maxNumberOfMonth: this.dialogFrom.maxNumberOfMonth,
maxNumberOfDay: this.dialogFrom.maxNumberOfDay,
withdrawWay: this.dialogFrom.withdrawWay
}
params.params = JSON.stringify(p)
} else {
params.params = this.dialogFrom.params
}
addGeneral(params).then(response => {
if (response.status === 200) {
this.cleanDialogFrom()
this.dialogVisible = false
this.$notify({
title: '成功',
message: '添加成功',
type: 'success',
duration: 2000
})
this.getList()
} else {
this.$notify({
title: '添加失败',
message: rsCode.msg[response.code]
? rsCode.msg[response.code]
: '操作失败!',
type: 'error',
duration: 2000
})
}
})
} else {
return false
}
})
},
/**
* 编辑-更新
* */
update(formName) {
this.$refs.dialogFrom.validate(valid => {
if (valid) {
}); let params = {
} else { id: this.dialogFrom.id,
return false; title: this.dialogFrom.title,
} type: this.dialogFrom.type,
}); value: this.dialogFrom.value,
}, params: this.dialogVisible.params
/** }
* 富文本 营地详情 if (this.dialogFrom.type == 88) {
* */ //提现规则
editorReadyEvent(instance){ let p = {
let t = this; minAmount: this.dialogFrom.minAmount,
instance.addListener('contentChange', () => { proceduReates: this.dialogFrom.proceduReates,
if(t.activeName2 == "first"){ amountOfMonth: this.dialogFrom.amountOfMonth,
t.dialogFrom.value = instance.getContent(); amountOfDay: this.dialogFrom.amountOfDay,
} maxNumberOfMonth: this.dialogFrom.maxNumberOfMonth,
}); maxNumberOfDay: this.dialogFrom.maxNumberOfDay,
}, withdrawWay: this.dialogFrom.withdrawWay
uploadFile(file){ }
this.formDate.append('files', file.file); params.params = JSON.stringify(p)
}, } else {
subPicForm(){ params.params = this.dialogFrom.params
this.formDate = new FormData()
this.$refs.upload.submit();
this.formDate.append('WS_CODE', "12133");
let config = {
headers: {
'Content-Type': 'multipart/form-data'
} }
}
uploadFiles(this.formDate).then( res => {
console.log(res) editGeneral(params).then(response => {
}).catch( res => { if (response.status === 200) {
console.log(res) this.cleanDialogFrom()
}) this.dialogVisible = false
} this.$notify({
} title: '成功',
} message: '编辑成功',
type: 'success',
duration: 2000
})
this.getList()
} else {
this.$notify({
title: '编辑失败',
message: rsCode.msg[response.code]
? rsCode.msg[response.code]
: '操作失败!',
type: 'error',
duration: 2000
})
}
})
} else {
return false
}
})
},
/**
* 富文本 营地详情
* */
editorReadyEvent(instance) {
let t = this
instance.addListener('contentChange', () => {
if (t.activeName2 == 'first') {
t.dialogFrom.value = instance.getContent()
}
})
},
uploadFile(file) {
this.formDate.append('files', file.file)
},
subPicForm() {
this.formDate = new FormData()
this.$refs.upload.submit()
this.formDate.append('WS_CODE', '12133')
let config = {
headers: {
'Content-Type': 'multipart/form-data'
}
}
uploadFiles(this.formDate)
.then(res => {
})
.catch(res => {
})
}
}
}
</script> </script>
<style> <style>
.v-modal{ .v-modal {
z-index: 1000 !important; z-index: 1000 !important;
} }
.el-dialog__wrapper{ .el-dialog__wrapper {
z-index: 1008 !important; z-index: 1008 !important;
} }
</style> </style>
<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="12"> <el-col :span="12">
<el-form-item label="订单号"> <el-form-item label="订单号">
<span>{{row.no}}</span> <span>{{row.no}}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="支付时间"> <el-form-item label="支付时间">
<span>{{row.updTime}}</span> <span>{{row.updTime}}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="订单状态"> <el-form-item label="订单状态">
<span v-if="row.status == '2'">取消</span> <span v-if="row.status == '2'">取消</span>
<span v-if="row.status == '3'">待付款</span> <span v-if="row.status == '3'">待付款</span>
<span v-if="row.status == '4'">待出行</span> <span v-if="row.status == '4'">待出行</span>
<span v-if="row.status == '5'">出行中</span> <span v-if="row.status == '5'">出行中</span>
<span v-if="row.status == '6'">已完成</span> <span v-if="row.status == '6'">已完成</span>
<span v-if="row.status == '-1'">定损中</span> <span v-if="row.status == '-1'">定损中</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<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>/
</el-form-item> <span>{{row.username}}</span>
</el-col> </el-form-item>
</el-row> </el-col>
<el-row> </el-row>
<el-col :span="24"> <el-row>
<el-form-item label="配车"> <el-col :span="24">
<span>{{row.vehicleNumberPlat}}</span> <el-form-item label="配车">
</el-form-item> <span>{{row.vehicleNumberPlat}}</span>
</el-col> </el-form-item>
</el-row> </el-col>
<el-row> </el-row>
<el-col :span="24"> <el-row>
<el-form-item label="取车"> <el-col :span="24">
<span>{{dateFormat(row.orderRentVehicleDetail.startTime)}}</span> <el-form-item label="取车">
<span>{{row.orderRentVehicleDetail.startCityName}}{{row.orderRentVehicleDetail.startAddr}}</span> <span>{{dateFormat(row.orderRentVehicleDetail.startTime)}}</span>
</el-form-item> <span>{{row.orderRentVehicleDetail.startCityName}}{{row.orderRentVehicleDetail.startAddr}}</span>
</el-col> </el-form-item>
</el-row> </el-col>
<el-row> </el-row>
<el-col :span="24"> <el-row>
<el-form-item label="交车公司"> <el-col :span="24">
<span>{{row.startCompanyName}}</span> <el-form-item label="交车公司">
<span>({{row.orderRentVehicleDetail.startCityName}}{{row.orderRentVehicleDetail.startAddr}})</span> <span>{{row.startCompanyName}}</span>
</el-form-item> <span>({{row.orderRentVehicleDetail.startCityName}}{{row.orderRentVehicleDetail.startAddr}})</span>
</el-col> </el-form-item>
</el-row> </el-col>
<el-row> </el-row>
<el-col :span="24"> <el-row>
<el-form-item label="还车"> <el-col :span="24">
<span>{{dateFormat(row.orderRentVehicleDetail.endTime)}}</span> <el-form-item label="还车">
<span>{{row.orderRentVehicleDetail.endCityName}}{{row.orderRentVehicleDetail.endAddr}}</span> <span>{{dateFormat(row.orderRentVehicleDetail.endTime)}}</span>
</el-form-item> <span>{{row.orderRentVehicleDetail.endCityName}}{{row.orderRentVehicleDetail.endAddr}}</span>
</el-col> </el-form-item>
</el-row> </el-col>
<el-row> </el-row>
<el-col :span="24"> <el-row>
<el-form-item label="收车公司"> <el-col :span="24">
<span>{{row.endCompanyName}}</span> <el-form-item label="收车公司">
<!--<span>({{row.orderRentVehicleDetail.endCityName}}{{row.orderRentVehicleDetail.endAddr}})</span></span>--> <span>{{row.endCompanyName}}</span>
</el-form-item> <!--<span>({{row.orderRentVehicleDetail.endCityName}}{{row.orderRentVehicleDetail.endAddr}})</span></span>-->
</el-col> </el-form-item>
</el-row> </el-col>
<!--<el-table :data="tableData" border fit highlight-current-row style="width: 100%"> </el-row>
<!--<el-table :data="tableData" border fit highlight-current-row style="width: 100%">
<el-table-column width="200" align="center" label="房车"> <el-table-column width="200" align="center" label="房车">
<template scope="scope"> <template scope="scope">
<span>{{scope.no}}</span> <span>{{scope.no}}</span>
</template> </template>
</el-table-column> </el-table-column>
</el-table>--> </el-table>-->
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="cancel">取 消</el-button> <el-button @click="cancel">取 消</el-button>
<el-button type="primary" @click="sure">确 定</el-button> <el-button type="primary" @click="sure">确 定</el-button>
</div> </div>
</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 name: 'illegalDialog',
} from 'api/order/rentVehicle'; components: {
import ElRow from "element-ui/packages/row/src/row"; ElForm,
import ElInput from "../../../../node_modules/element-ui/packages/input/src/input.vue"; ElFormItem,
import ElCol from "element-ui/packages/col/src/col"; ElCol,
import ElFormItem from "../../../../node_modules/element-ui/packages/form/src/form-item.vue"; ElInput,
import ElForm from "../../../../node_modules/element-ui/packages/form/src/form.vue"; ElRow
export default { },
props: ["row"], data() {
name: 'illegalDialog', return {
components: { isVisible: false,
ElForm, tableData: []
ElFormItem, }
ElCol, },
ElInput, created() {
ElRow console.log(JSON.stringify(this.row))
}, },
data() { watch: {
return { isVisible(newValue, oldValue) {
isVisible: false, if (!newValue) {
tableData:[], this.$emit('detailEvent', false)
} }
}, }
created() { },
console.log(JSON.stringify(this.row)) mounted() {
let that = this
}, this.isVisible = true
watch: { },
isVisible(newValue, oldValue){ computed: {
if(!newValue){ ...mapGetters(['elements']),
this.$emit('detailEvent', false); getHeaderWithToken() {
} return { Authorization: getToken() }
}, }
}, },
mounted() { methods: {
let that = this; /**
this.isVisible = true; * 弹框-取消
}, * */
computed: { cancel() {
...mapGetters([ this.$emit('detailEvent', false)
'elements', },
]), sure: function() {
getHeaderWithToken() { this.$emit('detailEvent', false)
return {Authorization: getToken()}; },
} /**
}, * 格式化时间
methods: { * @param timestamp
/** * @returns {*}
* 弹框-取消 */
* */ dateFormat(timestamp) {
cancel() { let date = new Date(timestamp) //时间戳为10位需*1000,时间戳为13位的话不需乘1000
this.$emit('detailEvent', false); return formatDate(date, 'yyyy-MM-dd hh:mm')
}, }
sure:function(){ }
this.$emit('detailEvent', false); }
},
/**
* 格式化时间
* @param timestamp
* @returns {*}
*/
dateFormat(timestamp) {
let date = new Date(timestamp);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
return formatDate(date, 'yyyy-MM-dd hh:mm');
},
}
}
</script> </script>
<style> <style>
.el-form-item__content{ .el-form-item__content {
display: inline-block; display: inline-block;
} }
</style> </style>
<template> <template>
<div class="app-container calendar-list-container"> <div class="app-container calendar-list-container">
<div class="filter-container" ref="filter-container"> <div class="filter-container" ref="filter-container">
<el-form ref="queryForm" :model="listQuery" label-width="100px"> <el-form ref="queryForm" :model="listQuery" label-width="100px">
<el-row> <el-row>
<el-col :span="5"> <el-col :span="5">
<el-form-item label="所属地区" prop="zoneId"> <el-form-item label="所属地区" prop="zoneId">
<el-select <el-select
class="filter-item" class="filter-item"
v-model="listQuery.zoneId" v-model="listQuery.zoneId"
placeholder="请选择" placeholder="请选择"
@change="getProvinceRegions" @change="getProvinceRegions"
> >
<el-option :key="undefined" label="无" :value="undefined"></el-option> <el-option :key="undefined" label="无" :value="undefined"></el-option>
<el-option <el-option v-for="val in getAllZoneList" :key="val.id" :label="val.name" :value="val.id"></el-option>
v-for="val in getAllZoneList" </el-select>
:key="val.id" </el-form-item>
:label="val.name" </el-col>
:value="val.id" <el-col :span="5">
></el-option> <el-form-item label="所属公司" prop="startCompanyId">
</el-select> <el-select
</el-form-item> class="filter-item"
</el-col> v-model="listQuery.startCompanyId"
<el-col :span="5"> placeholder="请选择"
<el-form-item label="所属公司" prop="startCompanyId"> @change="getAllBranchCompanyChange"
<el-select >
class="filter-item" <el-option :key="undefined" label="无" :value="undefined"></el-option>
v-model="listQuery.startCompanyId" <el-option v-for="val in allBranchCompany" :key="val.id" :label="val.name" :value="val.id"></el-option>
placeholder="请选择" </el-select>
@change="getAllBranchCompanyChange" </el-form-item>
> </el-col>
<el-option :key="undefined" label="无" :value="undefined"></el-option> <el-col :span="5">
<el-option <el-form-item label="手机号">
v-for="val in allBranchCompany" <el-input v-model="listQuery.phone" placeholder="请输入手机号"></el-input>
:key="val.id" </el-form-item>
:label="val.name" </el-col>
:value="val.id" <el-col :span="5">
></el-option> <el-form-item label="姓名">
</el-select> <el-input v-model="listQuery.realName" placeholder="请输入客户姓名"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="5"> </el-row>
<el-form-item label="手机号"> <el-row>
<el-input v-model="listQuery.phone" placeholder="请输入手机号"></el-input> <el-col :span="5">
</el-form-item> <el-form-item label="车牌号">
</el-col> <el-input v-model="listQuery.plateNumber" placeholder="请输入车牌号"></el-input>
<el-col :span="5"> </el-form-item>
<el-form-item label="姓名"> </el-col>
<el-input v-model="listQuery.realName" placeholder="请输入客户姓名"></el-input> <el-col :span="5">
</el-form-item> <el-form-item label="订单号">
</el-col> <el-input v-model="listQuery.no" placeholder="请输入订单号"></el-input>
</el-row> </el-form-item>
<el-row> </el-col>
<el-col :span="5"> <el-col :span="5">
<el-form-item label="车牌号"> <el-form-item label="订单状态">
<el-input v-model="listQuery.plateNumber" placeholder="请输入车牌号"></el-input> <el-select class="filter-item" v-model="listQuery.status" placeholder="请选择状态">
</el-form-item> <!--"0--删除"+"1--创建订单" +"2--取消" +"3--待付款" +"4--待出行" +"5--出行中(进行中)" +"6--已完成"-->
</el-col> <el-option :key="null" label="全部订单" :value="null"></el-option>
<el-col :span="5"> <el-option :key="3" label="待付款" :value="3"></el-option>
<el-form-item label="订单号"> <el-option :key="4" label="待出行" :value="4"></el-option>
<el-input v-model="listQuery.no" placeholder="请输入订单号"></el-input> <el-option :key="5" label="出行中" :value="5"></el-option>
</el-form-item> <el-option :key="6" label="已完成" :value="6"></el-option>
</el-col> <el-option :key="2" label="已取消" :value="2"></el-option>
<el-col :span="5">
<el-form-item label="订单状态">
<el-select class="filter-item" v-model="listQuery.status" placeholder="请选择状态">
<!--"0--删除"+"1--创建订单" +"2--取消" +"3--待付款" +"4--待出行" +"5--出行中(进行中)" +"6--已完成"-->
<el-option :key="null" label="全部订单" :value="null"></el-option>
<el-option :key="3" label="待付款" :value="3"></el-option>
<el-option :key="4" label="待出行" :value="4"></el-option>
<el-option :key="5" label="出行中" :value="5"></el-option>
<el-option :key="6" label="已完成" :value="6"></el-option>
<el-option :key="2" label="已取消" :value="2"></el-option>
<el-option :key="-1" label="定损中" :value="-1"></el-option> <el-option :key="-1" label="定损中" :value="-1"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="5"> <el-col :span="5">
<el-form-item label="车辆编号"> <el-form-item label="车辆编号">
<el-input v-model="listQuery.vehicleCode" placeholder="请输入车辆编号"></el-input> <el-input v-model="listQuery.vehicleCode" placeholder="请输入车辆编号"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </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>
</div> </div>
<el-table <el-table
:key="tableKey" :key="tableKey"
:data="list" :data="list"
v-loading.body="listLoading" v-loading.body="listLoading"
border border
fit fit
highlight-current-row highlight-current-row
style="width: 100%" style="width: 100%"
> >
<el-table-column align="center" label="ID" width="70"> <el-table-column align="center" label="ID" width="70">
<template scope="scope"> <template scope="scope">
<span>{{scope.row.id}}</span> <span>{{scope.row.id}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column width="200" align="center" label="订单号/下单时间"> <el-table-column width="200" align="center" label="订单号/下单时间">
<template scope="scope"> <template scope="scope">
<span>{{scope.row.no}}</span> <span>{{scope.row.no}}</span>
<br /> <br />
<span>{{scope.row.crtTime}}</span> <span>{{scope.row.crtTime}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="status" label="订单状态" width="100" align="center"> <el-table-column prop="status" label="订单状态" width="100" align="center">
<template scope="scope"> <template scope="scope">
<span>{{scope.row.ststusName}}</span> <span>{{scope.row.ststusName}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column min-width="250" align="center" label="名称/车牌号"> <el-table-column min-width="250" align="center" label="名称/车牌号">
<template scope="scope"> <template scope="scope">
<span>{{scope.row.name}}</span> <span>{{scope.row.name}}</span>
<br /> <br />
<span>{{scope.row.vehicleNumberPlat}}</span> <span>{{scope.row.vehicleNumberPlat}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column width="150" align="center" label="姓名/手机号"> <el-table-column width="150" align="center" label="姓名/手机号">
<template scope="scope"> <template scope="scope">
<span>{{scope.row.realName}}</span>/ <span>{{scope.row.realName}}</span>/
<span>{{scope.row.telephone}}</span> <span>{{scope.row.telephone}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column width="200" align="center" label="取车时间/还车时间"> <el-table-column width="200" align="center" label="取车时间/还车时间">
<template scope="scope"> <template scope="scope">
取: 取:
<span>{{dateFormat(scope.row.orderRentVehicleDetail.startTime)}}</span> <span>{{dateFormat(scope.row.orderRentVehicleDetail.startTime)}}</span>
<br />还: <br />还:
<span>{{dateFormat(scope.row.orderRentVehicleDetail.endTime)}}</span> <span>{{dateFormat(scope.row.orderRentVehicleDetail.endTime)}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column width="200" align="center" label="交车公司"> <el-table-column width="200" align="center" label="交车公司">
<template scope="scope"> <template scope="scope">
<span>{{scope.row.startCompanyName}}</span> <span>{{scope.row.startCompanyName}}</span>
<br /> <br />
<span>({{scope.row.orderRentVehicleDetail.startAddr}})</span> <span>({{scope.row.orderRentVehicleDetail.startAddr}})</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column width="200" align="center" label="收车公司"> <el-table-column width="200" align="center" label="收车公司">
<template scope="scope"> <template scope="scope">
<span>{{scope.row.endCompanyName}}</span> <span>{{scope.row.endCompanyName}}</span>
<br /> <br />
<span>({{scope.row.orderRentVehicleDetail.endAddr}})</span> <span>({{scope.row.orderRentVehicleDetail.endAddr}})</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column width="110" align="center" label="订单金额"> <el-table-column width="110" align="center" label="订单金额">
<template scope="scope"> <template scope="scope">
<span>{{scope.row.orderAmount}}</span> <span>{{scope.row.orderAmount}}</span>
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column align="center" label="订单状态">--> <!-- <el-table-column align="center" label="订单状态">-->
<!-- <template scope="scope">--> <!-- <template scope="scope">-->
<!-- <span v-if="scope.row.status == '2'">取消</span>--> <!-- <span v-if="scope.row.status == '2'">取消</span>-->
<!-- <span v-if="scope.row.status == '3'">待付款</span>--> <!-- <span v-if="scope.row.status == '3'">待付款</span>-->
<!-- <span v-if="scope.row.status == '4'">待出行</span>--> <!-- <span v-if="scope.row.status == '4'">待出行</span>-->
<!-- <span v-if="scope.row.status == '5'">出行中</span>--> <!-- <span v-if="scope.row.status == '5'">出行中</span>-->
<!-- <span v-if="scope.row.status == '6'">已完成</span>--> <!-- <span v-if="scope.row.status == '6'">已完成</span>-->
<!-- </template>--> <!-- </template>-->
<!-- </el-table-column>--> <!-- </el-table-column>-->
<el-table-column width="100" align="center" label="订单详情" fixed="right"> <el-table-column width="100" align="center" label="订单详情" fixed="right">
<template scope="scope"> <template scope="scope">
<span style="color: #13CE66;cursor: pointer;" @click="handleOrderDetail(scope.row)">订单详情</span> <span style="color: #13CE66;cursor: pointer;" @click="handleOrderDetail(scope.row)">订单详情</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="操作" width="300" fixed="right"> <el-table-column align="center" label="操作" width="300" fixed="right">
<template scope="scope"> <template scope="scope">
<el-button <el-button
size="small" size="small"
v-if="scope.row.status >=4" v-if="scope.row.status >=4"
class="el-button el-button--text el-button--small" class="el-button el-button--text el-button--small"
@click="handleHandoverOrderVehicle(scope.row)" @click="handleHandoverOrderVehicle(scope.row)"
>交车记录</el-button> >交车记录</el-button>
<el-button <el-button
size="small" size="small"
v-if="scope.row.status == 6" v-if="scope.row.status == 6"
class="el-button el-button--text el-button--small" class="el-button el-button--text el-button--small"
@click="handleReturnOrderVehicle(scope.row)" @click="handleReturnOrderVehicle(scope.row)"
>还车记录</el-button> >还车记录</el-button>
<el-button <el-button
size="small" size="small"
v-if="scope.row.status!=5&&scope.row.status > 3" v-if="scope.row.status!=5&&scope.row.status > 3"
class="el-button el-button--text el-button--small" class="el-button el-button--text el-button--small"
@click="handleRefundVehicle(scope.row)" @click="handleRefundVehicle(scope.row)"
>押金记录</el-button> >押金记录</el-button>
<el-button <el-button
size="small" size="small"
v-if="scope.row.status == 6&&order_btn_order_violcation_save" v-if="scope.row.status == 6&&order_btn_order_violcation_save"
class="el-button el-button--text el-button--small" class="el-button el-button--text el-button--small"
@click="illegalInquiry(scope.row)" @click="illegalInquiry(scope.row)"
>违章查询</el-button> >违章查询</el-button>
<el-button <el-button
size="small" size="small"
v-if="scope.row.status == 3 || scope.row.status == 4" v-if="scope.row.status == 3 || scope.row.status == 4"
class="el-button el-button--text el-button--small" class="el-button el-button--text el-button--small"
@click="cancel(scope.row)" @click="cancel(scope.row)"
>取消订单</el-button> >取消订单</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!--违章查询弹框--> <!--违章查询弹框-->
<Illegal :row="currentRow" v-if="illegalVisible" v-on:illegalEvent="illegalEvent"></Illegal> <Illegal :row="currentRow" v-if="illegalVisible" v-on:illegalEvent="illegalEvent"></Illegal>
<!--查看详情弹框--> <!--查看详情弹框-->
<Detail :row="currentRow" v-if="detailVisible" v-on:detailEvent="detailEvent"></Detail> <Detail :row="currentRow" v-if="detailVisible" v-on:detailEvent="detailEvent"></Detail>
<div v-show="!listLoading" class="pagination-container"> <div v-show="!listLoading" class="pagination-container">
<el-pagination <el-pagination
@size-change="handleSizeChange" @size-change="handleSizeChange"
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
:current-page.sync="listQuery.page" :current-page.sync="listQuery.page"
:page-sizes="[10,20,30, 50]" :page-sizes="[10,20,30, 50]"
:page-size="listQuery.limit" :page-size="listQuery.limit"
layout="total, sizes, prev, pager, next, jumper" layout="total, sizes, prev, pager, next, jumper"
:total="total" :total="total"
></el-pagination> ></el-pagination>
</div> </div>
<!-- 订单详情 --> <!-- 订单详情 -->
<rentOrderDetailModal <rentOrderDetailModal
:form="form" :form="form"
:rentCostDetail="tourCostDetail" :rentCostDetail="tourCostDetail"
v-if="rentDialogVisible" v-if="rentDialogVisible"
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 class="label-title">
<span>订单号:</span> <span>订单号:</span>
<span class="label-text">{{form.no}}</span> <span class="label-text">{{form.no}}</span>
<span>支付时间:</span> <span>支付时间:</span>
<span class="label-text">{{form.crtTime}}</span> <span class="label-text">{{form.crtTime}}</span>
</div> </div>
<div class="label-title"> <div class="label-title">
<span>订单状态:</span> <span>订单状态:</span>
<span class="label-text">{{form.ststusName}}</span> <span class="label-text">{{form.ststusName}}</span>
</div> </div>
<div class="label-title"> <div class="label-title">
<span>姓名/手机号:</span> <span>姓名/手机号:</span>
<span class="label-text"> <span class="label-text">
<span>{{form.realName}}</span>/ <span>{{form.realName}}</span>/
<span>{{form.telephone}}</span> <span>{{form.telephone}}</span>
</span> </span>
</div> </div>
<div class="label-title"> <div class="label-title">
<span>取车:</span> <span>取车:</span>
<span class="label-text">{{form.orderRentVehicleDetail.startTime}}</span> <span class="label-text">{{form.orderRentVehicleDetail.startTime}}</span>
<span class="label-text">{{form.orderRentVehicleDetail.startAddr}}</span> <span class="label-text">{{form.orderRentVehicleDetail.startAddr}}</span>
<span class="label-text">交车公司:</span> <span class="label-text">交车公司:</span>
<span>{{form.startCompanyName}}</span> <span>{{form.startCompanyName}}</span>
</div> </div>
<div class="label-title"> <div class="label-title">
<span>还车:</span> <span>还车:</span>
<span class="label-text">{{form.orderRentVehicleDetail.endTime}}</span> <span class="label-text">{{form.orderRentVehicleDetail.endTime}}</span>
<span class="label-text">{{form.orderRentVehicleDetail.endAddr}}</span> <span class="label-text">{{form.orderRentVehicleDetail.endAddr}}</span>
<span class="label-text">交车公司:</span> <span class="label-text">交车公司:</span>
<span>{{form.endCompanyName}}</span> <span>{{form.endCompanyName}}</span>
</div> </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 <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 <img class="activeImg" v-if="item.iscomplete" src="../../../assets/images/active.png" alt />
class="activeImg" <img class="activeImg" v-if="!item.iscomplete" src="../../../assets/images/doing.png" alt />
v-if="item.iscomplete" <p class="stepTitle">
src="../../../assets/images/active.png" <template v-if="item.status==1">
alt <div class="picBox">
/> <div style="flex: 1">{{item.restAmount}}押金退还已申请</div>
<img <div style="font-size: 10px;color: #999">{{item.updTimeStr}}</div>
class="activeImg" </div>
v-if="!item.iscomplete" </template>
src="../../../assets/images/doing.png" <template v-if="item.status==2">
alt <div class="picBox">
/> <div style="flex: 1">{{item.restAmount}}元押金退还到账</div>
<p class="stepTitle"> <div style="font-size: 10px;color: #999">{{item.updTimeStr}}</div>
<template v-if="item.status==1"> </div>
<div class="picBox"> </template>
<div style="flex: 1">{{item.restAmount}}押金退还已申请</div> <template v-if="item.status==3">
<div style="font-size: 10px;color: #999">{{item.updTimeStr}}</div> <div class="picBox">
</div> <div style="flex: 1">{{item.restAmount}}元房车违章押金到账</div>
</template> <div style="font-size: 10px;color: #999">{{item.updTimeStr}}</div>
<template v-if="item.status==2"> </div>
<div class="picBox"> </template>
<div style="flex: 1">{{item.restAmount}}元押金退还到账</div> <template v-if="item.status==4">
<div style="font-size: 10px;color: #999">{{item.updTimeStr}}</div> <div class="picBox">
</div> <div style="flex: 1">房车定损评定中</div>
</template> <div style="font-size: 10px;color: #999">{{item.updTimeStr}}</div>
<template v-if="item.status==3"> </div>
<div class="picBox"> </template>
<div style="flex: 1">{{item.restAmount}}元房车违章押金到账</div> <template v-if="item.status==5">
<div style="font-size: 10px;color: #999">{{item.updTimeStr}}</div> <div class="picBox">
</div> <div style="flex: 1">完成定损,退还剩余押金</div>
</template> <div style="font-size: 10px;color: #999">{{item.updTimeStr}}</div>
<template v-if="item.status==4"> </div>
<div class="picBox"> </template>
<div style="flex: 1">房车定损评定中</div> <template v-if="item.status==6">
<div style="font-size: 10px;color: #999">{{item.updTimeStr}}</div> <div class="picBox">
</div> <div style="flex: 1">押金退还到账</div>
</template> <div style="font-size: 10px;color: #999">{{item.updTimeStr}}</div>
<template v-if="item.status==5"> </div>
<div class="picBox"> </template>
<div style="flex: 1">完成定损,退还剩余押金</div> </p>
<div style="font-size: 10px;color: #999">{{item.updTimeStr}}</div> <p class="tip">
</div> <template v-if="item.status==1">成功还车,退还15000租车押金</template>
</template> <template v-if="item.status==2">{{item.updTimeStr}} 到账</template>
<template v-if="item.status==6"> <template v-if="item.status==3">预计{{item.endTimeStr}}之前到账</template>
<div class="picBox"> <template v-if="item.status==4">押金将在定损后退还,请耐心等待...</template>
<div style="flex: 1">押金退还到账</div> <template v-if="item.status==5">
<div style="font-size: 10px;color: #999">{{item.updTimeStr}}</div> 定损流程有疑问可联系滴房车 客服
</div> <a :href="'tel://'+Tel" style="color: #666666;">{{Tel}}</a>
</template> </template>
</p> <template v-if="item.status==6">
<p class="tip"> 定损流程有疑问可联系滴房车 客服
<template v-if="item.status==1">成功还车,退还15000租车押金</template> <a :href="'tel://'+Tel" style="color: #666666;">{{Tel}}</a>
<template v-if="item.status==2">{{item.updTimeStr}} 到账</template> </template>
<template v-if="item.status==3">预计{{item.endTimeStr}}之前到账</template> </p>
<template v-if="item.status==4">押金将在定损后退还,请耐心等待...</template> <p
<template v-if="item.status==5"> class="detailTitle"
定损流程有疑问可联系滴房车 客服 v-if="item.orderViolation && item.status==3"
<a :href="'tel://'+Tel" style="color: #666666;">{{Tel}}</a> style="margin-top: 15px"
</template> >违章罚款</p>
<template v-if="item.status==6"> <p class="detailTitle" v-if="item.orderViolation && item.status==3">违章截图:</p>
定损流程有疑问可联系滴房车 客服 <div class="picBox" v-if="dedDetail.length>0">
<a :href="'tel://'+Tel" style="color: #666666;">{{Tel}}</a> <img class="picItem" :src="itm" alt v-for="(itm,idx) in item.pictureList" :key="idx" />
</template> </div>
</p> <p
<p class="detailTitle"
class="detailTitle" v-if="item.orderViolation && item.status==3"
v-if="item.orderViolation && item.status==3" style="color: #666666;font-size: 13px"
style="margin-top: 15px" >
>违章罚款</p> 如有疑问,可联系滴房车客服
<p class="detailTitle" v-if="item.orderViolation && item.status==3">违章截图:</p> <a :href="'tel://'+Tel" style="color: #666666;">{{Tel}}</a>
<div class="picBox" v-if="dedDetail.length>0"> </p>
<img <p
class="picItem" class="detailTitle"
:src="itm" v-if="dedDetail.length>0 && item.status==5"
alt style="margin-top: 15px"
v-for="(itm,idx) in item.pictureList" >定损总罚款{{dedTotal}}元</p>
:key="idx" <p class="detailTitle" v-if="dedDetail.length>0 && item.status==5">明细</p>
/> <div v-if="dedDetail.length>0 && item.status==5" v-for="(itm,idx) in dedDetail" :key="idx">
</div> <p class="detailTitle">{{itm.id}}、{{itm.statusName}}扣{{itm.cost}}元</p>
<p <div class="picBox">
class="detailTitle" <img class="picItem" :src="it" alt v-for="(it,ix) in itm.picList" :key="ix" />
v-if="item.orderViolation && item.status==3" </div>
style="color: #666666;font-size: 13px" </div>
> </li>
如有疑问,可联系滴房车客服 </ul>
<a :href="'tel://'+Tel" style="color: #666666;">{{Tel}}</a> </div>
</p> <div v-if="vehicleDetail" style="border: 1px solid;">
<p <div style="border-bottom: 1px solid;">
class="detailTitle" <span class="label-text">交车交接人:</span>
v-if="dedDetail.length>0 && item.status==5" <span class="label-text">{{orderReturnVehicleCrosstown.username}}</span>
style="margin-top: 15px" </div>
>定损总罚款{{dedTotal}}元</p> <div>
<p class="detailTitle" v-if="dedDetail.length>0 && item.status==5">明细</p> <span class="label-text">上传驾驶证*:</span>
<div <span class="label-text">{{orderReturnVehicleCrosstown.licenseName}}</span>
v-if="dedDetail.length>0 && item.status==5" <span class="label-text">{{orderReturnVehicleCrosstown.licensePhone}}</span>
v-for="(itm,idx) in dedDetail" <br />
:key="idx" <span style="margin-left:110px;">身份证号:</span>
> <span class="label-text">{{orderReturnVehicleCrosstown.licenseIdCard}}</span>
<p class="detailTitle">{{itm.id}}、{{itm.statusName}}扣{{itm.cost}}元</p> <br />
<div class="picBox"> <img
<img class="picItem" :src="it" alt v-for="(it,ix) in itm.picList" :key="ix" /> :src="orderReturnVehicleCrosstown.licenseImg"
</div> style="width: 100px; height: 100px;margin-left:110px;"
</div> @click="lookPic(orderReturnVehicleCrosstown.licenseImg)"
</li> />
</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;"
/>
</div>
<div> <div>
<span class="label-text">拍照取证*:</span> <span class="label-text">拍照取证*:</span>
<br /> <br />
<img <img
v-for="(item,index) in otherImg" v-for="(item,index) in otherImg"
:src="item" :src="item"
:key="index" :key="index"
style="width: 100px; height: 100px;margin-left:110px;" style="width: 100px; height: 100px;margin-left:110px;"
/> @click="lookPic(item)"
<!-- <img src="../../../../dist/static/img/success.8304acb.png" style="width: 100px; height: 100px;margin-left:110px;"/> />
<!-- <img src="../../../../dist/static/img/success.8304acb.png" style="width: 100px; height: 100px;margin-left:110px;"/>
<img src="../../../../dist/static/img/success.8304acb.png" style="width: 100px; height: 100px;margin-left:110px;"/> <img src="../../../../dist/static/img/success.8304acb.png" style="width: 100px; height: 100px;margin-left:110px;"/>
<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>
<div v-if="handover"> <div v-if="handover">
<span class="label-text">房车公里数*:</span> <span class="label-text">房车公里数*:</span>
<span class="label-text">当前公里数:</span> <span class="label-text">当前公里数:</span>
<span class="label-text">{{orderReturnVehicleCrosstown.mileage}}Km</span> <span class="label-text">{{orderReturnVehicleCrosstown.mileage}}Km</span>
<br /> <br />
<img <img
:src="orderReturnVehicleCrosstown.mileageImg" :src="orderReturnVehicleCrosstown.mileageImg"
style="width: 100px; height: 100px;margin-left:110px;" style="width: 100px; height: 100px;margin-left:110px;"
/> @click="lookPic(orderReturnVehicleCrosstown.mileageImg)"
</div> />
<div v-if="returnVehicle"> </div>
<span class="label-text">钥匙照片*:</span> <div v-if="returnVehicle">
<br /> <span class="label-text">钥匙照片*:</span>
<img <br />
:src="orderReturnVehicleCrosstown.vehicleKey" <img
style="width: 100px; height: 100px;margin-left:110px;" :src="orderReturnVehicleCrosstown.vehicleKey"
/> style="width: 100px; height: 100px;margin-left:110px;"
</div> @click="lookPic(orderReturnVehicleCrosstown.vehicleKey)"
<div v-if="returnVehicle"> />
<span class="label-text">押金扣除项*:</span> </div>
<span>{{orderReturnVehicleCrosstown.deduction?'有扣除项':'没有扣除项'}}</span> <div v-if="returnVehicle">
<br /> <span class="label-text">押金扣除项*:</span>
</div> <span>{{orderReturnVehicleCrosstown.deduction?'有扣除项':'没有扣除项'}}</span>
<div> <br />
<span class="label-text">备注:</span> </div>
<span class="label-text">{{orderReturnVehicleCrosstown.remak}}</span> <div>
</div> <span class="label-text">备注:</span>
<div></div> <span class="label-text">{{orderReturnVehicleCrosstown.remak}}</span>
</div> </div>
</el-form> <div></div>
</el-dialog> </div>
</div> </el-form>
</el-dialog>
<el-dialog
:title="bigPicTitle"
:visible.sync="bigPicPop"
:append-to-body="true"
:modal="false"
top="0"
>
<img :src="priceUrl" alt style="width:100%" />
</el-dialog>
</div>
</template> </template>
<script> <script>
import Illegal from "./illegalModal"; //违章查询 import Illegal from './illegalModal' //违章查询
import Detail from "./detail"; //违章查询 import Detail from './detail' //违章查询
import rentOrderDetailModal from "../modal/rentOrderDetailModal"; //租车订单详情 import rentOrderDetailModal from '../modal/rentOrderDetailModal' //租车订单详情
import { formatDate } from "../../../utils/dateFormattor"; import { formatDate } from '../../../utils/dateFormattor'
import { import {
page, page,
getAllBranchCompany, getAllBranchCompany,
getAllBranchCompanyByZoneId, getAllBranchCompanyByZoneId,
getOrderVehicleCrosstown, getOrderVehicleCrosstown,
getStep, getStep,
calculate calculate
} from "api/order/rentVehicle"; } from 'api/order/rentVehicle'
import { timestamp2Date } from "utils/dateUtils"; import { 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/'
import { getAllZone } from "api/base_info/constant/"; import { getAllZone } from 'api/base_info/constant/'
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 ElButton from "../../../../node_modules/element-ui/packages/button/src/button.vue"; import ElButton from '../../../../node_modules/element-ui/packages/button/src/button.vue'
export default { export default {
name: "branchCompanyStock", name: 'branchCompanyStock',
components: { components: {
ElButton, ElButton,
ElCol, ElCol,
ElRow, ElRow,
Illegal, Illegal,
Detail, Detail,
rentOrderDetailModal rentOrderDetailModal
}, },
data() { data() {
return { return {
pictureList: [], bigPicTitle: '查看',
dedDetail: [], bigPicPop: false,
depositRefundRecord: [], priceUrl: '',
dedTotal: "", pictureList: [],
Tel: "", dedDetail: [],
form: { depositRefundRecord: [],
couponAmount: undefined, dedTotal: '',
crtHost: undefined, Tel: '',
crtName: undefined, form: {
crtTime: undefined, couponAmount: undefined,
crtUser: undefined, crtHost: undefined,
detailId: undefined, crtName: undefined,
endCompanyName: undefined, crtTime: undefined,
goodsAmount: undefined, crtUser: undefined,
hasDiscount: undefined, detailId: undefined,
hasMemberRight: undefined, endCompanyName: undefined,
hasPay: undefined, goodsAmount: undefined,
id: undefined, hasDiscount: undefined,
name: undefined, hasMemberRight: undefined,
realName: undefined, hasPay: undefined,
no: undefined, id: undefined,
orderAmount: undefined, name: undefined,
orderOrigin: undefined, realName: undefined,
orderVehicleCrosstownDto: { no: undefined,
licenseIdCard: "", orderAmount: undefined,
licenseImg: "", orderOrigin: undefined,
licenseName: "", orderVehicleCrosstownDto: {
licensePhone: "" licenseIdCard: '',
}, licenseImg: '',
orderRentVehicleDetail: { licenseName: '',
bookRecordId: undefined, licensePhone: ''
costDetail: undefined, },
crtTime: undefined, orderRentVehicleDetail: {
dayNum: undefined, bookRecordId: undefined,
deposit: undefined, costDetail: undefined,
driverType: undefined, crtTime: undefined,
endAddr: undefined, dayNum: undefined,
endCity: undefined, deposit: undefined,
endCityName: undefined, driverType: undefined,
endCompanyId: undefined, endAddr: undefined,
endTime: undefined, endCity: undefined,
freeDays: undefined, endCityName: undefined,
handelViolation: undefined, endCompanyId: undefined,
id: undefined, endTime: undefined,
modelId: undefined, freeDays: undefined,
myDriverIds: undefined, handelViolation: undefined,
orderId: undefined, id: undefined,
score: undefined, modelId: undefined,
startAddr: undefined, myDriverIds: undefined,
startCity: undefined, orderId: undefined,
startCityName: undefined, score: undefined,
startCompanyId: undefined, startAddr: undefined,
startTime: undefined, startCity: undefined,
stime: undefined, startCityName: undefined,
suserid: undefined, startCompanyId: undefined,
updTime: undefined, startTime: undefined,
vehicleId: undefined stime: undefined,
}, suserid: undefined,
payOrigin: undefined, updTime: undefined,
picture: undefined, vehicleId: undefined
realAmount: undefined, },
refundStatus: undefined, payOrigin: undefined,
startCompanyName: undefined, picture: undefined,
status: undefined, realAmount: undefined,
ststusName: undefined, refundStatus: undefined,
telephone: undefined, startCompanyName: undefined,
type: undefined, status: undefined,
updTime: undefined, ststusName: undefined,
userId: undefined, telephone: undefined,
username: undefined, type: undefined,
vehicleNumberPlat: undefined, updTime: undefined,
version: undefined userId: undefined,
}, username: undefined,
orderVehicleCrosstownVisible: false, vehicleNumberPlat: undefined,
rentDialogVisible: false, //租车详情弹框 version: undefined
modalTitle: "订单详情", },
illegalVisible: false, //违章查询弹框 orderVehicleCrosstownVisible: false,
detailVisible: false, rentDialogVisible: false, //租车详情弹框
rules: { modalTitle: '订单详情',
// companyName: [ illegalVisible: false, //违章查询弹框
// { detailVisible: false,
// required: true, rules: {
// message: '请输入用户', // companyName: [
// trigger: 'blur' // {
// } // required: true,
// ], // message: '请输入用户',
}, // trigger: 'blur'
list: null, // }
total: null, // ],
listLoading: true, },
listQuery: { list: null,
page: 1, total: null,
limit: 20, listLoading: true,
type: 1, listQuery: {
no: null, page: 1,
status: null, limit: 20,
startTime: undefined, type: 1,
endTime: undefined, no: null,
zoneId: undefined, status: null,
startCompanyId: undefined, startTime: undefined,
plateNumber: undefined, endTime: undefined,
realName: undefined, zoneId: undefined,
vehicleCode: undefined startCompanyId: undefined,
}, plateNumber: undefined,
baranchQuery: { realName: undefined,
zoneId: null vehicleCode: undefined
}, },
orderVehicleQuery: { baranchQuery: {
orderId: null, zoneId: null
type: undefined },
}, orderVehicleQuery: {
dialogFormVisible: false, orderId: null,
dialogStatus: "", type: undefined
btn_del: true, },
btn_buy: true, dialogFormVisible: false,
btn_cancel: true, dialogStatus: '',
allZoneArr: [], //全部片区 btn_del: true,
allBranchCompany: [], btn_buy: true,
tourCostDetail: "", btn_cancel: true,
damageSafe: "", allZoneArr: [], //全部片区
serviceCost: 0, allBranchCompany: [],
orderReturnVehicleCrosstown: { tourCostDetail: '',
crtTime: undefined, damageSafe: '',
deduction: undefined, serviceCost: 0,
id: undefined, orderReturnVehicleCrosstown: {
imgs: undefined, crtTime: undefined,
isDel: undefined, deduction: undefined,
mileage: undefined, id: undefined,
mileageImg: undefined, imgs: undefined,
orderId: undefined, isDel: undefined,
orderNo: undefined, mileage: undefined,
orperaterId: undefined, mileageImg: undefined,
remak: undefined, orderId: undefined,
status: undefined, orderNo: undefined,
statusId: undefined, orperaterId: undefined,
statusTime: undefined, remak: undefined,
type: undefined, status: undefined,
updTime: undefined, statusId: undefined,
userLicenseId: undefined, statusTime: undefined,
username: undefined, type: undefined,
licenseIdCard: undefined, updTime: undefined,
licenseImg: undefined, userLicenseId: undefined,
licenseName: undefined, username: undefined,
licensePhone: undefined licenseIdCard: undefined,
}, //还车记录 licenseImg: undefined,
tableKey: 0, licenseName: undefined,
otherImg: [], licensePhone: undefined
handover: false, }, //还车记录
returnVehicle: false, tableKey: 0,
refundshow: false, //退款信息 otherImg: [],
vehicleDetail: false, //交还车信息,默认全部显示 handover: false,
order_btn_order_violcation_save: false, returnVehicle: false,
depositDetail: false, refundshow: false, //退款信息
costDetail: { vehicleDetail: false, //交还车信息,默认全部显示
key: undefined, order_btn_order_violcation_save: false,
val: undefined, depositDetail: false,
children: [ costDetail: {
{ key: undefined,
key: undefined, val: undefined,
detail: undefined, children: [
val: undefined {
} key: undefined,
] detail: undefined,
} val: undefined
}; }
}, ]
created() { }
let t = this; }
let query = localStorage.getItem("rentVehicleInfo"); },
this.listQuery.no = this.$route.query.id || null created() {
if(query !="null" && query){ let t = this
let queryJson = JSON.parse(query); let query = localStorage.getItem('rentVehicleInfo')
if(queryJson.type){ this.listQuery.no = this.$route.query.id || null
t.listQuery.type = queryJson.type; if (query != 'null' && query) {
} let queryJson = JSON.parse(query)
if(queryJson.vehicleCode){ if (queryJson.type) {
t.listQuery.vehicleCode = queryJson.vehicleCode; t.listQuery.type = queryJson.type
} }
if(queryJson.page){ if (queryJson.vehicleCode) {
t.listQuery.page = queryJson.page; t.listQuery.vehicleCode = queryJson.vehicleCode
} }
if(queryJson.limit){ if (queryJson.page) {
t.listQuery.limit = queryJson.limit; t.listQuery.page = queryJson.page
} }
if(queryJson.no){ if (queryJson.limit) {
t.listQuery.no = queryJson.no; t.listQuery.limit = queryJson.limit
} }
if(queryJson.status){ if (queryJson.no) {
t.listQuery.status = queryJson.status; t.listQuery.no = queryJson.no
} }
if(queryJson.startTime){ if (queryJson.status) {
t.listQuery.startTime = queryJson.startTime; t.listQuery.status = queryJson.status
} }
if(queryJson.endTime){ if (queryJson.startTime) {
t.listQuery.endTime = queryJson.endTime; t.listQuery.startTime = queryJson.startTime
} }
if(queryJson.realName){ if (queryJson.endTime) {
t.listQuery.realName = queryJson.realName; t.listQuery.endTime = queryJson.endTime
} }
if(queryJson.plateNumber){ if (queryJson.realName) {
t.listQuery.plateNumber = queryJson.plateNumber; t.listQuery.realName = queryJson.realName
} }
} if (queryJson.plateNumber) {
this.getList(); t.listQuery.plateNumber = queryJson.plateNumber
this.btn_del = this.elements["branchCompany/stockApply:btn_delete"]; }
this.order_btn_order_violcation_save = this.elements[ }
"order:btn_order_violcation_save" this.getList()
]; this.btn_del = this.elements['branchCompany/stockApply:btn_delete']
}, this.order_btn_order_violcation_save = this.elements[
computed: { 'order:btn_order_violcation_save'
...mapGetters(["elements"]), ]
provinceRegions() { },
return getSonRegionByCodes(1); computed: {
}, ...mapGetters(['elements']),
//获取大区列表 provinceRegions() {
getAllZoneList() { return getSonRegionByCodes(1)
return getAllZone(); },
}, //获取大区列表
cityRegions() { getAllZoneList() {
if (!this.$utils.isInteger(this.form.addrProvince)) { return getAllZone()
return null; },
} cityRegions() {
return getSonRegionByCodes(this.form.addrProvince); if (!this.$utils.isInteger(this.form.addrProvince)) {
} return null
}, }
methods: { return getSonRegionByCodes(this.form.addrProvince)
//取消订单 }
cancel(row) { },
this.$confirm("此操作将取消该订单, 是否继续?", "提示", { methods: {
confirmButtonText: "确定", //取消订单
cancelButtonText: "取消", cancel(row) {
type: "warning" this.$confirm('此操作将取消该订单, 是否继续?', '提示', {
}).then(() => { confirmButtonText: '确定',
let params = { cancelButtonText: '取消',
cancelReason: "后台取消", type: 'warning'
appUserId: row.userId }).then(() => {
}; let params = {
calculate(row.no, params).then(data => { cancelReason: '后台取消',
if (data.status == 200) { appUserId: row.userId
this.$notify({ }
title: "成功", calculate(row.no, params).then(data => {
message: '取消订单成功', if (data.status == 200) {
type: "success", this.$notify({
duration: 2000 title: '成功',
}); message: '取消订单成功',
this.getList(); type: 'success',
} else { duration: 2000
this.$notify({ })
title: "失败", this.getList()
message: '取消订单失败', } else {
type: "success", this.$notify({
duration: 2000 title: '失败',
}); message: '取消订单失败',
} type: 'success',
}); duration: 2000
}); })
}, }
handleOrderDetail(row) { })
this.form = row; })
if (this.form.status == 2) { },
this.form.ststusName = "取消"; handleOrderDetail(row) {
} this.form = row
if (this.form.status == 3) { if (this.form.status == 2) {
this.form.ststusName = "待付款"; this.form.ststusName = '取消'
} }
if (this.form.status == 4) { if (this.form.status == 3) {
this.form.ststusName = "待出行"; this.form.ststusName = '待付款'
} }
if (this.form.status == 5) { if (this.form.status == 4) {
this.form.ststusName = "出行中"; this.form.ststusName = '待出行'
} }
if (this.form.status == 6) { if (this.form.status == 5) {
this.form.ststusName = "已完成"; this.form.ststusName = '出行中'
} }
if (this.form.status == -1) { if (this.form.status == 6) {
this.form.ststusName = "定损中"; this.form.ststusName = '已完成'
}
if (this.form.status == -1) {
this.form.ststusName = '定损中'
}
this.form.orderRentVehicleDetail.startTime = this.form
.orderRentVehicleDetail.startTime
? timestamp2Date(this.form.orderRentVehicleDetail.startTime)
: ''
this.form.orderRentVehicleDetail.endTime = this.form
.orderRentVehicleDetail.endTime
? timestamp2Date(this.form.orderRentVehicleDetail.endTime)
: ''
if (this.form.orderRentVehicleDetail.costDetail) {
try {
this.costDetail = JSON.parse(
this.form.orderRentVehicleDetail.costDetail
)
var cost = ''
if (this.costDetail.children) {
this.costDetail.children.forEach(function(a) {
var detail = a.detail == undefined ? '' : a.detail
cost += a.key + ':' + detail + ' '
})
}
} catch (e) {
this.templateModel()
}
}
this.tourCostDetail = cost
if (this.form.orderRentVehicleDetail.driverType == 1) {
this.serviceCost = this.form.orderRentVehicleDetail.dayNum * 600
}
this.rentDialogVisible = true
},
/**
* 租车订单详情弹框关闭
* */
rentOrderDetailDialogEvent(e) {
this.rentDialogVisible = false
if (e) {
this.getList()
}
},
/**
* 操作-违章查询按钮,显示违章弹框
*/
illegalInquiry(row) {
this.currentRow = row
this.illegalVisible = true
},
/**
* 操作-查看详情按钮,显示详情弹框
*/
detailInquiry(row) {
this.currentRow = row
this.detailVisible = true
},
/**
* 关闭违章查询弹框
* */
illegalEvent(params) {
this.illegalVisible = false
if (params) {
// console.log(params);
}
},
/**
* 关闭违章查询弹框
* */
detailEvent(params) {
this.detailVisible = false
if (params) {
// console.log(params);
}
},
handleHandoverOrderVehicle(row) {
// console.log(row);
this.modalTitle = '交车记录'
this.form = row
if (this.form.status == 2) {
this.form.ststusName = '取消'
}
if (this.form.status == 3) {
this.form.ststusName = '待付款'
}
if (this.form.status == 4) {
this.form.ststusName = '待出行'
}
if (this.form.status == 5) {
this.form.ststusName = '出行中'
}
if (this.form.status == 6) {
this.form.ststusName = '已完成'
}
if (this.form.status == -1) {
this.form.ststusName = '定损中'
} }
this.form.orderRentVehicleDetail.startTime = this.form this.form.orderRentVehicleDetail.startTime = timestamp2Date(
.orderRentVehicleDetail.startTime this.form.orderRentVehicleDetail.startTime
? timestamp2Date(this.form.orderRentVehicleDetail.startTime) )
: ""; this.form.orderRentVehicleDetail.endTime = timestamp2Date(
this.form.orderRentVehicleDetail.endTime = this.form this.form.orderRentVehicleDetail.endTime
.orderRentVehicleDetail.endTime )
? timestamp2Date(this.form.orderRentVehicleDetail.endTime) this.costDetail = JSON.parse(
: ""; this.form.orderRentVehicleDetail.costDetail
if (this.form.orderRentVehicleDetail.costDetail) { )
try { var cost = ''
this.costDetail = JSON.parse( if (this.costDetail.children) {
this.form.orderRentVehicleDetail.costDetail this.costDetail.children.forEach(function(a) {
); var detail = a.detail == undefined ? '' : a.detail
var cost = ""; cost += a.key + ':' + detail + ' '
if (this.costDetail.children) { })
this.costDetail.children.forEach(function(a) {
var detail = a.detail == undefined ? "" : a.detail;
cost += a.key + ":" + detail + " ";
});
}
} catch (e) {
this.templateModel();
}
}
this.tourCostDetail = cost;
if (this.form.orderRentVehicleDetail.driverType == 1) {
this.serviceCost = this.form.orderRentVehicleDetail.dayNum * 600;
}
this.rentDialogVisible = true;
},
/**
* 租车订单详情弹框关闭
* */
rentOrderDetailDialogEvent(e) {
this.rentDialogVisible = false;
if (e) {
this.getList();
}
},
/**
* 操作-违章查询按钮,显示违章弹框
*/
illegalInquiry(row) {
this.currentRow = row;
this.illegalVisible = true;
},
/**
* 操作-查看详情按钮,显示详情弹框
*/
detailInquiry(row) {
this.currentRow = row;
this.detailVisible = true;
},
/**
* 关闭违章查询弹框
* */
illegalEvent(params) {
this.illegalVisible = false;
if (params) {
// console.log(params);
}
},
/**
* 关闭违章查询弹框
* */
detailEvent(params) {
this.detailVisible = false;
if (params) {
// console.log(params);
}
},
handleHandoverOrderVehicle(row) {
// console.log(row);
this.modalTitle = "交车记录";
this.form = row;
if (this.form.status == 2) {
this.form.ststusName = "取消";
}
if (this.form.status == 3) {
this.form.ststusName = "待付款";
}
if (this.form.status == 4) {
this.form.ststusName = "待出行";
}
if (this.form.status == 5) {
this.form.ststusName = "出行中";
}
if (this.form.status == 6) {
this.form.ststusName = "已完成";
}
if (this.form.status == -1) {
this.form.ststusName = "定损中";
} }
this.form.orderRentVehicleDetail.startTime = timestamp2Date( this.tourCostDetail = cost
this.form.orderRentVehicleDetail.startTime if (this.form.orderRentVehicleDetail.driverType == 1) {
); this.serviceCost = this.form.orderRentVehicleDetail.dayNum * 600
this.form.orderRentVehicleDetail.endTime = timestamp2Date( }
this.form.orderRentVehicleDetail.endTime this.orderVehicleQuery.orderId = this.form.id
); this.orderVehicleQuery.type = 1
this.costDetail = JSON.parse(this.form.orderRentVehicleDetail.costDetail); this.getAllOrderVehicleCrosstown()
var cost = ""; this.handover = true
if (this.costDetail.children) { this.returnVehicle = false
this.costDetail.children.forEach(function(a) { this.vehicleDetail = true
var detail = a.detail == undefined ? "" : a.detail; this.depositDetail = false
cost += a.key + ":" + detail + " "; },
}); //查看大图
} lookPic(val) {
this.tourCostDetail = cost; if (!!val) {
if (this.form.orderRentVehicleDetail.driverType == 1) { this.priceUrl = val
this.serviceCost = this.form.orderRentVehicleDetail.dayNum * 600; this.bigPicPop = true
} }
this.orderVehicleQuery.orderId = this.form.id; },
this.orderVehicleQuery.type = 1; getAllOrderVehicleCrosstown() {
this.getAllOrderVehicleCrosstown(); getOrderVehicleCrosstown(this.orderVehicleQuery).then(response => {
this.handover = true; // console.log(response);
this.returnVehicle = false; if (response.data.length <= 0) {
this.vehicleDetail = true; alert('交还车记录不存在')
this.depositDetail = false; } else {
}, this.orderVehicleCrosstownVisible = true
getAllOrderVehicleCrosstown() { this.orderReturnVehicleCrosstown = response.data[0]
getOrderVehicleCrosstown(this.orderVehicleQuery).then(response => { if (response.data[0].imgs) {
// console.log(response); this.otherImg = response.data[0].imgs.split(',')
if (response.data.length <= 0) { }
alert("交还车记录不存在"); }
} else { })
this.orderVehicleCrosstownVisible = true; },
this.orderReturnVehicleCrosstown = response.data[0];
if (response.data[0].imgs) {
this.otherImg = response.data[0].imgs.split(",");
}
}
});
},
handleReturnOrderVehicle(row) { handleReturnOrderVehicle(row) {
// console.log(row); // console.log(row);
this.modalTitle = "还车记录"; this.modalTitle = '还车记录'
this.form = row; this.form = row
if (this.form.status == 2) { if (this.form.status == 2) {
this.form.ststusName = "取消"; this.form.ststusName = '取消'
} }
if (this.form.status == 3) { if (this.form.status == 3) {
this.form.ststusName = "待付款"; this.form.ststusName = '待付款'
} }
if (this.form.status == 4) { if (this.form.status == 4) {
this.form.ststusName = "待出行"; this.form.ststusName = '待出行'
} }
if (this.form.status == 5) { if (this.form.status == 5) {
this.form.ststusName = "出行中"; this.form.ststusName = '出行中'
} }
if (this.form.status == 6) { if (this.form.status == 6) {
this.form.ststusName = "已完成"; this.form.ststusName = '已完成'
} }
if (this.form.status == -1) { if (this.form.status == -1) {
this.form.ststusName = "定损中"; this.form.ststusName = '定损中'
} }
this.form.orderRentVehicleDetail.startTime = timestamp2Date( this.form.orderRentVehicleDetail.startTime = timestamp2Date(
this.form.orderRentVehicleDetail.startTime this.form.orderRentVehicleDetail.startTime
); )
this.form.orderRentVehicleDetail.endTime = timestamp2Date( this.form.orderRentVehicleDetail.endTime = timestamp2Date(
this.form.orderRentVehicleDetail.endTime this.form.orderRentVehicleDetail.endTime
); )
this.costDetail = JSON.parse(this.form.orderRentVehicleDetail.costDetail); this.costDetail = JSON.parse(
var cost = ""; this.form.orderRentVehicleDetail.costDetail
if (this.costDetail.children) { )
this.costDetail.children.forEach(function(a) { var cost = ''
var detail = a.detail == undefined ? "" : a.detail; if (this.costDetail.children) {
cost += a.key + ":" + detail + " "; this.costDetail.children.forEach(function(a) {
}); var detail = a.detail == undefined ? '' : a.detail
} cost += a.key + ':' + detail + ' '
this.tourCostDetail = cost; })
if (this.form.orderRentVehicleDetail.driverType == 1) { }
this.serviceCost = this.form.orderRentVehicleDetail.dayNum * 600; this.tourCostDetail = cost
} if (this.form.orderRentVehicleDetail.driverType == 1) {
this.orderVehicleQuery.orderId = this.form.id; this.serviceCost = this.form.orderRentVehicleDetail.dayNum * 600
this.orderVehicleQuery.type = 2; }
this.getAllOrderVehicleCrosstown(); this.orderVehicleQuery.orderId = this.form.id
this.returnVehicle = true; this.orderVehicleQuery.type = 2
this.handover = false; this.getAllOrderVehicleCrosstown()
this.vehicleDetail = true; this.returnVehicle = true
this.depositDetail = false; this.handover = false
}, this.vehicleDetail = true
handleRefundVehicle(row) { this.depositDetail = false
// console.log(row); },
var that = this; handleRefundVehicle(row) {
that.pictureList = []; // console.log(row);
that.dedDetail = []; var that = this
that.depositRefundRecord = []; that.pictureList = []
that.dedTotal = 0; that.dedDetail = []
that.Tel = ""; that.depositRefundRecord = []
getStep(row.no).then(response => { that.dedTotal = 0
response.data.forEach(function(item) { that.Tel = ''
if (item.type != 1) { getStep(row.no).then(response => {
that.Tel = item.customerPhone; response.data.forEach(function(item) {
that.type = item.type; if (item.type != 1) {
if (item.dedDetail) { that.Tel = item.customerPhone
var dedTotal = 0; that.type = item.type
var dedDetail = JSON.parse(item.dedDetail); if (item.dedDetail) {
that.dedDetail = dedDetail; var dedTotal = 0
dedDetail.forEach(function(item) { var dedDetail = JSON.parse(item.dedDetail)
dedTotal += Number(item.cost); that.dedDetail = dedDetail
}); dedDetail.forEach(function(item) {
that.dedTotal = dedTotal.toFixed(2); dedTotal += Number(item.cost)
} })
item.depositRefundRecord.forEach(function(itm) { that.dedTotal = dedTotal.toFixed(2)
itm.updTimeStr = timestamp2Date(itm.updTime); }
if (itm.status == 3) { item.depositRefundRecord.forEach(function(itm) {
itm.endTimeStr = timestamp2Date( itm.updTimeStr = timestamp2Date(itm.updTime)
Number(itm.updTime) + 2592000000 if (itm.status == 3) {
); itm.endTimeStr = timestamp2Date(
if (itm.orderViolation) { Number(itm.updTime) + 2592000000
if (itm.orderViolation.picture) { )
var Arr = itm.orderViolation.picture.split(","); if (itm.orderViolation) {
var arrivalPicList = []; if (itm.orderViolation.picture) {
Arr.map(function(it) { var Arr = itm.orderViolation.picture.split(
arrivalPicList.push(it); ','
}); )
itm.pictureList = arrivalPicList; var arrivalPicList = []
} Arr.map(function(it) {
} arrivalPicList.push(it)
} })
}); itm.pictureList = arrivalPicList
if (item.type == 3) { }
var arr = item.depositRefundRecord; }
var item = arr.shift(); }
arr.push(item); })
} else { if (item.type == 3) {
var arr = item.depositRefundRecord; var arr = item.depositRefundRecord
} var item = arr.shift()
arr.push(item)
} else {
var arr = item.depositRefundRecord
}
that.depositRefundRecord = arr; that.depositRefundRecord = arr
// console.log(that.depositRefundRecord); // console.log(that.depositRefundRecord);
} }
}); })
}); })
this.modalTitle = "押金记录"; this.modalTitle = '押金记录'
this.form = row; this.form = row
if (this.form.status == 2) { if (this.form.status == 2) {
this.form.ststusName = "取消"; this.form.ststusName = '取消'
} }
if (this.form.status == 3) { if (this.form.status == 3) {
this.form.ststusName = "待付款"; this.form.ststusName = '待付款'
} }
if (this.form.status == 4) { if (this.form.status == 4) {
this.form.ststusName = "待出行"; this.form.ststusName = '待出行'
} }
if (this.form.status == 5) { if (this.form.status == 5) {
this.form.ststusName = "出行中"; this.form.ststusName = '出行中'
}
if (this.form.status == 6) {
this.form.ststusName = "已完成";
}
if (this.form.status == -1) {
this.form.ststusName = "定损中";
} }
this.form.orderRentVehicleDetail.startTime = timestamp2Date( if (this.form.status == 6) {
this.form.orderRentVehicleDetail.startTime this.form.ststusName = '已完成'
); }
this.form.orderRentVehicleDetail.endTime = timestamp2Date( if (this.form.status == -1) {
this.form.orderRentVehicleDetail.endTime this.form.ststusName = '定损中'
); }
this.orderVehicleCrosstownVisible = true; this.form.orderRentVehicleDetail.startTime = timestamp2Date(
this.vehicleDetail = false; this.form.orderRentVehicleDetail.startTime
this.depositDetail = true; )
}, this.form.orderRentVehicleDetail.endTime = timestamp2Date(
//监听change事件 this.form.orderRentVehicleDetail.endTime
getProvinceRegions(item) { )
this.listQuery.zoneId = item; this.orderVehicleCrosstownVisible = true
this.baranchQuery.zoneId = item; this.vehicleDetail = false
this.listQuery.startCompanyId = undefined; this.depositDetail = true
getAllBranchCompanyByZoneId(this.baranchQuery).then(response => { },
this.allBranchCompany = response.data; //监听change事件
}); getProvinceRegions(item) {
}, this.listQuery.zoneId = item
getAllBranchCompanyChange(item) { this.baranchQuery.zoneId = item
this.listQuery.startCompanyId = item; this.listQuery.startCompanyId = undefined
}, getAllBranchCompanyByZoneId(this.baranchQuery).then(response => {
handleCancel(row) { this.allBranchCompany = response.data
this.$confirm("此操作将放弃购买, 是否继续?", "提示", { })
confirmButtonText: "确定", },
cancelButtonText: "取消", getAllBranchCompanyChange(item) {
type: "warning" this.listQuery.startCompanyId = item
}).then(() => { },
cancelApply(row.id).then(() => { handleCancel(row) {
this.$notify({ this.$confirm('此操作将放弃购买, 是否继续?', '提示', {
title: "成功", confirmButtonText: '确定',
message: "操作成功", cancelButtonText: '取消',
type: "success", type: 'warning'
duration: 2000 }).then(() => {
}); cancelApply(row.id).then(() => {
this.getList(); this.$notify({
}); title: '成功',
}); message: '操作成功',
}, type: 'success',
duration: 2000
})
this.getList()
})
})
},
handleDelete(row) { handleDelete(row) {
this.$confirm("此操作将永久删除, 是否继续?", "提示", { this.$confirm('此操作将永久删除, 是否继续?', '提示', {
confirmButtonText: "确定", confirmButtonText: '确定',
cancelButtonText: "取消", cancelButtonText: '取消',
type: "warning" type: 'warning'
}).then(() => { }).then(() => {
delObj(row.id).then(() => { delObj(row.id).then(() => {
this.$notify({ this.$notify({
title: "成功", title: '成功',
message: "删除成功", message: '删除成功',
type: "success", type: 'success',
duration: 2000 duration: 2000
}); })
const index = this.list.indexOf(row); const index = this.list.indexOf(row)
this.list.splice(index, 1); this.list.splice(index, 1)
}); })
}); })
}, },
handleFilter() { handleFilter() {
this.listQuery.page = 1; this.listQuery.page = 1
this.$refs.queryForm.validate(valid => { this.$refs.queryForm.validate(valid => {
if (valid) { if (valid) {
this.getList(); this.getList()
} else { } else {
return false; return false
} }
}); })
}, },
clearSearch() { clearSearch() {
this.listQuery = { this.listQuery = {
page: 1, page: 1,
limit: 20, limit: 20,
type: 1, type: 1,
no: null, no: null,
status: null, status: null,
startTime: undefined, startTime: undefined,
endTime: undefined, endTime: undefined,
zoneId: undefined, zoneId: undefined,
startCompanyId: undefined startCompanyId: undefined
}; }
this.getList(); this.getList()
}, },
/** /**
* 获取订单列表 * 获取订单列表
*/ */
getList() { getList() {
this.listLoading = true; this.listLoading = true
// if(this.listQuery.startTime){ // if(this.listQuery.startTime){
// this.listQuery.startTime = this.listQuery.startTime.getTime(); // this.listQuery.startTime = this.listQuery.startTime.getTime();
// } // }
// if(this.listQuery.endTime){ // if(this.listQuery.endTime){
// this.listQuery.endTime = this.listQuery.endTime.getTime(); // this.listQuery.endTime = this.listQuery.endTime.getTime();
// } // }
if(this.listQuery){ if (this.listQuery) {
localStorage.setItem("rentVehicleInfo", JSON.stringify(this.listQuery)); localStorage.setItem(
} 'rentVehicleInfo',
page(this.listQuery).then(response => { JSON.stringify(this.listQuery)
if (response.data.data) { )
response.data.data.map(function(el) { }
// console.log(el); page(this.listQuery).then(response => {
if (el.status == 2) { if (response.data.data) {
el.ststusName = "取消"; response.data.data.map(function(el) {
} // console.log(el);
if (el.status == 3) { if (el.status == 2) {
el.ststusName = "待付款"; el.ststusName = '取消'
}
if (el.status == 4) {
el.ststusName = "待出行";
}
if (el.status == 5) {
el.ststusName = "出行中";
}
if (el.status == 6) {
el.ststusName = "已完成";
}
if (el.status == -1) {
el.ststusName = "定损中";
} }
}); if (el.status == 3) {
} el.ststusName = '待付款'
this.list = response.data.data; }
if (el.status == 4) {
this.total = response.data.totalCount; el.ststusName = '待出行'
this.listLoading = false; }
}); if (el.status == 5) {
}, el.ststusName = '出行中'
handleSizeChange(val) { }
this.listQuery.limit = val; if (el.status == 6) {
if(this.listQuery){ el.ststusName = '已完成'
localStorage.setItem("rentVehicleInfo", JSON.stringify(this.listQuery)); }
} if (el.status == -1) {
this.getList(); el.ststusName = '定损中'
}, }
dateFormat(timestamp) { })
let date = new Date(timestamp); //时间戳为10位需*1000,时间戳为13位的话不需乘1000 }
return formatDate(date, "yyyy-MM-dd hh:mm:ss"); this.list = response.data.data
},
handleCurrentChange(val) {
this.listQuery.page = val;
if(this.listQuery){
localStorage.setItem("rentVehicleInfo", JSON.stringify(this.listQuery));
}
this.getList();
}, this.total = response.data.totalCount
templateModel() { this.listLoading = false
this.costDetail = { })
key: undefined, },
val: undefined, handleSizeChange(val) {
children: [ this.listQuery.limit = val
{ if (this.listQuery) {
key: undefined, localStorage.setItem(
detail: undefined, 'rentVehicleInfo',
val: undefined JSON.stringify(this.listQuery)
} )
] }
}; this.getList()
} },
} dateFormat(timestamp) {
}; let date = new Date(timestamp) //时间戳为10位需*1000,时间戳为13位的话不需乘1000
return formatDate(date, 'yyyy-MM-dd hh:mm:ss')
},
handleCurrentChange(val) {
this.listQuery.page = val
if (this.listQuery) {
localStorage.setItem(
'rentVehicleInfo',
JSON.stringify(this.listQuery)
)
}
this.getList()
},
templateModel() {
this.costDetail = {
key: undefined,
val: undefined,
children: [
{
key: undefined,
detail: undefined,
val: undefined
}
]
}
}
}
}
</script> </script>
<style scpoed> <style scpoed>
.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;
} }
.stepBox { .stepBox {
background-color: #fff; background-color: #fff;
width: 100%; width: 100%;
margin-top: 10px; margin-top: 10px;
} }
.title { .title {
font-size: 17px; font-size: 17px;
color: #171413; color: #171413;
border-bottom: 1px solid #cccccc; border-bottom: 1px solid #cccccc;
margin-bottom: 10px; margin-bottom: 10px;
font-weight: 400; font-weight: 400;
padding: 10px; padding: 10px;
} }
.stepBox ul { .stepBox ul {
margin-left: 10px; margin-left: 10px;
padding-left: 10px; padding-left: 10px;
padding-top: 20px; padding-top: 20px;
} }
.stepBox li { .stepBox li {
position: relative; position: relative;
padding: 0 20px 20px 20px; padding: 0 20px 20px 20px;
list-style: none; list-style: none;
min-height: 40px; min-height: 40px;
border-left: 1px solid #ccc; border-left: 1px solid #ccc;
margin-top: -15px; margin-top: -15px;
} }
.stepBox li.active { .stepBox li.active {
border-color: #47e270; border-color: #47e270;
} }
.stepBox ul li:last-child { .stepBox ul li:last-child {
border: none; border: none;
} }
.activeImg, .activeImg,
.doingImg { .doingImg {
position: absolute; position: absolute;
width: 28px; width: 28px;
top: -18px; top: -18px;
left: -14px; left: -14px;
background: #fff; background: #fff;
} }
.stepTitle { .stepTitle {
font-size: 15px; font-size: 15px;
color: #171413; color: #171413;
padding-bottom: 5px; padding-bottom: 5px;
} }
.tip { .tip {
font-size: 10px; font-size: 10px;
color: #999999; color: #999999;
} }
.detailTitle { .detailTitle {
font-size: 10px; font-size: 10px;
color: #171413; color: #171413;
} }
.orderBox { .orderBox {
width: 100%; width: 100%;
padding: 0 10px; padding: 0 10px;
background: #fff; background: #fff;
} }
.orderItem { .orderItem {
display: flex; display: flex;
display: -webkit-box; display: -webkit-box;
display: -webkit-flex; display: -webkit-flex;
align-items: center; align-items: center;
padding-bottom: 5px; padding-bottom: 5px;
} }
.orderItemLeft { .orderItemLeft {
font-size: 13px; font-size: 13px;
color: #171413; color: #171413;
} }
.orderItemRight { .orderItemRight {
font-size: 13px; font-size: 13px;
color: #666666; color: #666666;
} }
.detailBox { .detailBox {
display: flex; display: flex;
display: -webkit-box; display: -webkit-box;
display: -webkit-flex; display: -webkit-flex;
padding: 0 10px 10px 10px; padding: 0 10px 10px 10px;
align-items: center; align-items: center;
} }
.detailBoxLeft { .detailBoxLeft {
width: 80px; width: 80px;
height: 80px; height: 80px;
border-radius: 3px; border-radius: 3px;
margin-right: 7px; margin-right: 7px;
} }
.detailBoxRight { .detailBoxRight {
flex: 1; flex: 1;
} }
.copy { .copy {
font-size: 10px; font-size: 10px;
color: #666666; color: #666666;
background: #eeeeee; background: #eeeeee;
border-radius: 3px; border-radius: 3px;
padding: 3px; padding: 3px;
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);
margin-right: 10px; margin-right: 10px;
margin-bottom: 10px; margin-bottom: 10px;
} }
.bag { .bag {
background: #171413; background: #171413;
border-radius: 3px; border-radius: 3px;
padding: 0 2px; padding: 0 2px;
color: #fff; color: #fff;
font-size: 10px; font-size: 10px;
margin-right: 5px; margin-right: 5px;
} }
</style> </style>
...@@ -38,26 +38,26 @@ ...@@ -38,26 +38,26 @@
<el-option :key="undefined" label="全部" :value="undefined"></el-option> <el-option :key="undefined" label="全部" :value="undefined"></el-option>
<el-option v-for="val in getAllZoneList" :key="val.id" :label="val.name" :value="val.id"></el-option> <el-option v-for="val in getAllZoneList" :key="val.id" :label="val.name" :value="val.id"></el-option>
</el-select> </el-select>
</el-form-item> --> </el-form-item>-->
<el-form-item label="提车公司" prop="subordinateBranch"> <el-form-item label="提车公司" prop="subordinateBranch">
<el-autocomplete <el-autocomplete
class="inline-input" class="inline-input"
v-model="listQuery.liftCompanyName" v-model="listQuery.liftCompanyName"
:fetch-suggestions="querySearch" :fetch-suggestions="querySearch"
placeholder="请输入内容" placeholder="请输入内容"
@select="handleSelect" @select="handleSelect"
></el-autocomplete> ></el-autocomplete>
</el-form-item> </el-form-item>
<!--<el-form-item label="提车公司">--> <!--<el-form-item label="提车公司">-->
<!--<el-select--> <!--<el-select-->
<!--class="filter-item"--> <!--class="filter-item"-->
<!--v-model="listQuery.liftCompany"--> <!--v-model="listQuery.liftCompany"-->
<!--placeholder="请选择"--> <!--placeholder="请选择"-->
<!--@change="getAllBranchCompanyChange"--> <!--@change="getAllBranchCompanyChange"-->
<!--&gt;--> <!--&gt;-->
<!--<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="val in allBranchCompany" :key="val.id" :label="val.name" :value="val.id"></el-option>-->
<!--</el-select>--> <!--</el-select>-->
<!--</el-form-item>--> <!--</el-form-item>-->
<el-form-item label="预订月份" prop="selectedMonth4Query"> <el-form-item label="预订月份" prop="selectedMonth4Query">
<el-date-picker <el-date-picker
...@@ -69,7 +69,7 @@ ...@@ -69,7 +69,7 @@
></el-date-picker> ></el-date-picker>
</el-form-item> </el-form-item>
<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 @click="reloadPage">重置</el-button> <el-button class="filter-item" type="primary" v-waves @click="reloadPage">重置</el-button>
</el-form> </el-form>
</div> </div>
...@@ -115,13 +115,17 @@ ...@@ -115,13 +115,17 @@
</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>
</template> <br />
<span>{{scope.row.actualEndDate}}</span>
</template>
</el-table-column> </el-table-column>
<!-- <el-table-column align="center" label="预定时间" width="220"> <!-- <el-table-column align="center" label="预定时间" width="220">
<template scope="scope"> <template scope="scope">
...@@ -411,7 +415,7 @@ ...@@ -411,7 +415,7 @@
style="margin-bottom:10px" style="margin-bottom:10px"
> >
<el-card> <el-card>
<img :src="item" class="image" /> <img :src="item" class="image" @click="lookPic(item)" />
</el-card> </el-card>
</el-col> </el-col>
</el-row> </el-row>
...@@ -425,7 +429,14 @@ ...@@ -425,7 +429,14 @@
type="primary" type="primary"
style="padding: 7px 9px;" style="padding: 7px 9px;"
@click="resetReturn = true" @click="resetReturn = true"
v-show="detailItem.status == 2 || detailItem.status == 5" v-if="detailItem.status == 2 && !detailItem.vehicleDepartureLogVo"
>更换</el-button>
<el-button
size="mini"
type="primary"
style="padding: 7px 9px;"
@click="resetReturn = true"
v-if="detailItem.status == 2 && !!detailItem.vehicleDepartureLogVo && detailItem.vehicleDepartureLogVo.state == 0"
>更换</el-button> >更换</el-button>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -460,7 +471,7 @@ ...@@ -460,7 +471,7 @@
style="margin-bottom:10px" style="margin-bottom:10px"
> >
<el-card> <el-card>
<img :src="item" class="image" /> <img :src="item" class="image" @click="lookPic(item)" />
</el-card> </el-card>
</el-col> </el-col>
</el-row> </el-row>
...@@ -484,6 +495,10 @@ ...@@ -484,6 +495,10 @@
</div> </div>
</el-dialog> </el-dialog>
<el-dialog :title="bigPicTitle" :visible.sync="bigPicPop" :append-to-body="true" :modal="false" top='0'>
<img :src="priceUrl" alt style='width:100%'/>
</el-dialog>
<!-- 更改还车地点 --> <!-- 更改还车地点 -->
<div class="modal_modal" v-show="resetReturn"></div> <div class="modal_modal" v-show="resetReturn"></div>
<el-dialog title="更改还车地点" :visible.sync="resetReturn" :append-to-body="true" :modal="false"> <el-dialog title="更改还车地点" :visible.sync="resetReturn" :append-to-body="true" :modal="false">
...@@ -738,6 +753,9 @@ export default { ...@@ -738,6 +753,9 @@ export default {
}, },
data() { data() {
return { return {
priceUrl: '',
bigPicPop: false,
bigPicTitle: '',
returnForm: { returnForm: {
retCompany: '' retCompany: ''
}, },
...@@ -929,7 +947,7 @@ export default { ...@@ -929,7 +947,7 @@ export default {
flag: false, flag: false,
zoneId: undefined, zoneId: undefined,
liftCompany: undefined, liftCompany: undefined,
liftCompanyName: "", liftCompanyName: '',
numberPlate: undefined, numberPlate: undefined,
selectedMonth: undefined, selectedMonth: undefined,
status: undefined, status: undefined,
...@@ -1061,56 +1079,56 @@ export default { ...@@ -1061,56 +1079,56 @@ export default {
} }
}, },
created() { created() {
let t = this; let t = this
getAll().then(response => { getAll().then(response => {
this.allCompaniesArr = response.data; this.allCompaniesArr = response.data
let query = localStorage.getItem("bookRecord"); let query = localStorage.getItem('bookRecord')
if(query !="null" && query){ if (query != 'null' && query) {
let queryJson = JSON.parse(query); let queryJson = JSON.parse(query)
if(queryJson.page){ if (queryJson.page) {
t.listQuery.page = queryJson.page; t.listQuery.page = queryJson.page
} }
if(queryJson.limit){ if (queryJson.limit) {
t.listQuery.limit = queryJson.limit; t.listQuery.limit = queryJson.limit
} }
if(queryJson.flag){ if (queryJson.flag) {
t.listQuery.flag = queryJson.flag; t.listQuery.flag = queryJson.flag
} }
if(queryJson.zoneId){ if (queryJson.zoneId) {
t.listQuery.zoneId = queryJson.zoneId; t.listQuery.zoneId = queryJson.zoneId
} }
if(queryJson.liftCompany){ if (queryJson.liftCompany) {
t.listQuery.liftCompany = queryJson.liftCompany; t.listQuery.liftCompany = queryJson.liftCompany
} }
if(queryJson.liftCompanyName){ if (queryJson.liftCompanyName) {
t.listQuery.liftCompanyName = queryJson.liftCompanyName; t.listQuery.liftCompanyName = queryJson.liftCompanyName
} }
if(queryJson.numberPlate){ if (queryJson.numberPlate) {
t.listQuery.numberPlate = queryJson.numberPlate; t.listQuery.numberPlate = queryJson.numberPlate
} }
if(queryJson.selectedMonth){ if (queryJson.selectedMonth) {
t.listQuery.selectedMonth = queryJson.selectedMonth; t.listQuery.selectedMonth = queryJson.selectedMonth
} }
if(queryJson.status){ if (queryJson.status) {
t.listQuery.status = queryJson.status; t.listQuery.status = queryJson.status
} }
if(queryJson.bookType){ if (queryJson.bookType) {
t.listQuery.bookType = queryJson.bookType; t.listQuery.bookType = queryJson.bookType
} }
// if(queryJson.liftCompany){ // if(queryJson.liftCompany){
// t.allCompaniesArr.map(function (item) { // t.allCompaniesArr.map(function (item) {
// if(item.id == queryJson.liftCompany){ // if(item.id == queryJson.liftCompany){
// t.listQuery.liftCompanyName = item.name; // t.listQuery.liftCompanyName = item.name;
// } // }
// }); // });
// } // }
} }
this.getList() this.getList()
}); })
getAllCompany(codeAndBranchCompany => { getAllCompany(codeAndBranchCompany => {
//初始化公司列表 //初始化公司列表
this.allCompanies = codeAndBranchCompany this.allCompanies = codeAndBranchCompany
}); })
this.bookRecord_btn_prove = this.elements['bookRecord:btn_prove'] this.bookRecord_btn_prove = this.elements['bookRecord:btn_prove']
this.bookRecord_btn_reject = this.elements['bookRecord:btn_reject'] this.bookRecord_btn_reject = this.elements['bookRecord:btn_reject']
this.bookRecord_btn_unbook = this.elements['bookRecord:btn_unbook'] this.bookRecord_btn_unbook = this.elements['bookRecord:btn_unbook']
...@@ -1146,27 +1164,36 @@ export default { ...@@ -1146,27 +1164,36 @@ export default {
} }
}, },
methods: { methods: {
/** //查看大图
* 重置 lookPic(val) {
* */ this.priceUrl = val;
reloadPage() { this.bigPicPop = true;
this.listQuery = { this.bigPicTitle = '图片放大'
page: 1, },
limit: 20, /**
flag: false, * 重置
zoneId: undefined, * */
liftCompany: undefined, reloadPage() {
liftCompanyName: "", this.listQuery = {
numberPlate: undefined, page: 1,
selectedMonth: undefined, limit: 20,
status: undefined, flag: false,
bookType: undefined zoneId: undefined,
}; liftCompany: undefined,
if(this.listQuery){ liftCompanyName: '',
localStorage.setItem("bookRecord", JSON.stringify(this.listQuery)); numberPlate: undefined,
} selectedMonth: undefined,
this.getList(); status: undefined,
}, bookType: undefined
}
if (this.listQuery) {
localStorage.setItem(
'bookRecord',
JSON.stringify(this.listQuery)
)
}
this.getList()
},
confirm() { confirm() {
if (this.returnForm.retCompany == '') { if (this.returnForm.retCompany == '') {
this.$notify({ this.$notify({
...@@ -1185,9 +1212,9 @@ export default { ...@@ -1185,9 +1212,9 @@ export default {
type: 'success', type: 'success',
duration: 2000 duration: 2000
}) })
this.resetReturn = false; this.resetReturn = false
this.dialogDetailVisible = false; this.dialogDetailVisible = false
this.getList(); this.getList()
} else { } else {
this.$notify({ this.$notify({
title: '失败', title: '失败',
...@@ -1348,10 +1375,10 @@ export default { ...@@ -1348,10 +1375,10 @@ export default {
getProvinceRegions(item) { getProvinceRegions(item) {
this.listQuery.zoneId = item this.listQuery.zoneId = item
this.baranchQuery.zoneId = item this.baranchQuery.zoneId = item
// this.listQuery.liftCompany = undefined // this.listQuery.liftCompany = undefined
// getAllBranchCompanyByZoneId(this.baranchQuery).then(response => { // getAllBranchCompanyByZoneId(this.baranchQuery).then(response => {
// this.allBranchCompany = response.data // this.allBranchCompany = response.data
// }) // })
}, },
getAllBranchCompanyChange(item) { getAllBranchCompanyChange(item) {
this.listQuery.liftCompany = item this.listQuery.liftCompany = item
...@@ -1383,12 +1410,12 @@ export default { ...@@ -1383,12 +1410,12 @@ export default {
* 提车分公司 * 提车分公司
* */ * */
handleSelect(item) { handleSelect(item) {
if (item.value == "全部") { if (item.value == '全部') {
this.listQuery.liftCompany = undefined; this.listQuery.liftCompany = undefined
} else { } else {
this.listQuery.liftCompany = item.id; this.listQuery.liftCompany = item.id
} }
console.log(item); console.log(item)
}, },
cancelDialog4Lift(formName) { cancelDialog4Lift(formName) {
this.dialogForm4LiftVisible = false this.dialogForm4LiftVisible = false
...@@ -1597,9 +1624,12 @@ export default { ...@@ -1597,9 +1624,12 @@ export default {
this.listQuery.page = 1 this.listQuery.page = 1
this.$refs.queryForm.validate(valid => { this.$refs.queryForm.validate(valid => {
if (valid) { if (valid) {
if(this.listQuery){ if (this.listQuery) {
localStorage.setItem("bookRecord", JSON.stringify(this.listQuery)); localStorage.setItem(
} 'bookRecord',
JSON.stringify(this.listQuery)
)
}
this.getList() this.getList()
} else { } else {
return false return false
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -130,7 +130,7 @@ ...@@ -130,7 +130,7 @@
<div style="color: #bfcbd9;font-size: 14px;"> <div style="color: #bfcbd9;font-size: 14px;">
现在位置:{{scope.row.parkCompanyName}} 现在位置:{{scope.row.parkCompanyName}}
</div> </div>
<div>{{scope.row.numberPlate}}<img src="../../../assets/images/detail.png" style="width: 15px;margin-left: 10px;"/></div> <div>{{scope.row.numberPlate}}<span style='color:red'>({{scope.row.code}})</span><img src="../../../assets/images/detail.png" style="width: 15px;margin-left: 10px;"/></div>
<div style="color: #bfcbd9;font-size: 14px;">{{scope.row.vehicleModel?scope.row.vehicleModel.name:''}}</div> <div style="color: #bfcbd9;font-size: 14px;">{{scope.row.vehicleModel?scope.row.vehicleModel.name:''}}</div>
</div> </div>
</template> </template>
......
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