Commit 04e21fba authored by guoyou's avatar guoyou

租车价格日历,筛选样式调整

parent 27ae43ee
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div class="filter-container" ref="filter-container"> <div class="filter-container" ref="filter-container">
<el-form ref="queryForm" :inline="inline" :model="listQuery" label-width="60px"> <el-form ref="queryForm" :inline="inline" :model="listQuery" label-width="60px">
<el-row> <el-row>
<el-col :span="4"> <el-col :span="6">
<el-form-item label="描述"> <el-form-item label="描述">
<el-input v-model.number="listQuery.popupName" placeholder="请输入描述"></el-input> <el-input v-model.number="listQuery.popupName" placeholder="请输入描述"></el-input>
</el-form-item> </el-form-item>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div class="filter-container" ref="filter-container"> <div class="filter-container" ref="filter-container">
<el-form ref="queryForm" :inline="inline" :model="listQuery" label-width="60px"> <el-form ref="queryForm" :inline="inline" :model="listQuery" label-width="60px">
<el-row> <el-row>
<el-col :span="4"> <el-col :span="6">
<el-form-item label="描述"> <el-form-item label="描述">
<el-input v-model.number="listQuery.activitiesName" placeholder="请输入描述"></el-input> <el-input v-model.number="listQuery.activitiesName" placeholder="请输入描述"></el-input>
</el-form-item> </el-form-item>
......
<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> <div>
<div class="filter-container" ref="filter-container"> <div class="filter-container" ref="filter-container">
<el-form ref="queryForm" :inline="inline" :model="listQuery" label-width="60px"> <el-form ref="queryForm" :inline="inline" :model="listQuery" label-width="60px">
<el-row> <el-row>
<el-col :span="4"> <el-form-item label="手机号">
<el-form-item label="手机号"> <el-input v-model.number="listQuery.phone" placeholder="请输入手机号"></el-input>
<el-input v-model.number="listQuery.phone" placeholder="请输入手机号"></el-input> </el-form-item>
</el-form-item> <el-form-item label="优惠券">
</el-col> <el-select class="filter-item" v-model="listQuery.couponId" placeholder="请选择优惠券标题">
<el-col :span="3"> <el-option key label value></el-option>
<el-form-item label=""> <el-option
<el-select class="filter-item" v-model="listQuery.couponId" placeholder="请选择优惠券标题"> v-for="(item,index) in titleList"
<el-option key="" label="" value=""> </el-option> :key="index"
<el-option v-for="(item,index) in titleList" :key="index" :label="item.title" :value="item.id"> </el-option> :label="item.title"
</el-select> :value="item.id"
</el-form-item> ></el-option>
</el-col> </el-select>
<el-col :span="4"> </el-form-item>
<el-form-item label="金额"> <el-form-item label="金额">
<el-input v-model.number="listQuery.usedAmount" placeholder="请输入金额"></el-input> <el-input v-model.number="listQuery.usedAmount" placeholder="请输入金额"></el-input>
</el-form-item> </el-form-item>
</el-col> <el-form-item label="状态">
<el-col :span="4"> <el-select class="filter-item" v-model="listQuery.status" placeholder="请输入状态">
<el-form-item label=""> <el-option
<el-select class="filter-item" v-model="listQuery.status" placeholder="请输入状态"> v-for="(item,index) in typeOptions"
<el-option v-for="(item,index) in typeOptions" :key="index" :label="item.name" :value="item.val"> </el-option> :key="index"
</el-select> :label="item.name"
</el-form-item> :value="item.val"
</el-col> ></el-option>
<el-button class="filter-item" type="primary" v-waves icon="search" @click="handleFilter">搜索</el-button> </el-select>
<el-button class="filter-item" type="primary" @click="giveCunpon" style="float: right;">+ 发券</el-button> </el-form-item>
<!-- <el-button class="filter-item" type="primary" style="float: right;">+ 批量发券</el-button> --> <!-- <el-col :span="4"></el-col>
</el-row> <el-col :span="3"></el-col>
</el-form> <el-col :span="4"></el-col>
</div> <el-col :span="4"></el-col> -->
<el-table :key='tableKey' :data="list" border fit highlight-current-row <el-button class="filter-item" type="primary" v-waves icon="search" @click="handleFilter">搜索</el-button>
style="width: 100%;"> <el-button class="filter-item" type="primary" @click="giveCunpon" style="float: right;">+ 发券</el-button>
<el-table-column type="index" align="center" label="ID" width="200"> <!-- <el-button class="filter-item" type="primary" style="float: right;">+ 批量发券</el-button> -->
<template scope="scope"> </el-row>
<span>{{scope.row.id}}</span> </el-form>
</template> </div>
</el-table-column> <el-table :key="tableKey" :data="list" border fit highlight-current-row style="width: 100%;">
<el-table-column type="index" align="center" label="ID" width="200">
<template scope="scope">
<span>{{scope.row.id}}</span>
</template>
</el-table-column>
<el-table-column align="center" label="手机号"> <el-table-column align="center" label="手机号">
<template scope="scope"> <template scope="scope">
<span>{{scope.row.phone}}</span> <span>{{scope.row.phone}}</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>{{scope.row.title}}</span> <span>{{scope.row.title}}</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>{{scope.row.usedAmount}}</span> <span>{{scope.row.usedAmount}}</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>{{scope.row.crtTimeStr}}</span> <span>{{scope.row.crtTimeStr}}</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>{{scope.row.validType == 3 ? '永久' : scope.row.expireTimeStr}}</span> <span>{{scope.row.validType == 3 ? '永久' : scope.row.expireTimeStr}}</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.isUse==1">已使用</span> <span v-if="scope.row.isUse==1">已使用</span>
<span v-if="scope.row.isUse==0">未使用</span> <span v-if="scope.row.isUse==0">未使用</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="操作" width="150" fixed="right"> <el-table-column align="center" label="操作" width="150" fixed="right">
<template scope="scope"> <template scope="scope">
<el-button class="el-button el-button--text el-button--small" style="color:red;" size="small" @click="deleteHandler(scope.row)">删除</el-button> <el-button
</template> class="el-button el-button--text el-button--small"
</el-table-column> style="color:red;"
</el-table> size="small"
<div v-show="!listLoading" class="pagination-container"> @click="deleteHandler(scope.row)"
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" >删除</el-button>
:current-page.sync="listQuery.page" :page-sizes="[10,20,30,40,50]" :page-size="listQuery.limit" </template>
layout="total, sizes, prev, pager, next, jumper" :total="total"></el-pagination> </el-table-column>
</div> </el-table>
</div> <div v-show="!listLoading" class="pagination-container">
<el-dialog title="发券" :visible.sync="giveDialogVisible"> <el-pagination
<el-form :model="formdata" :rules="rules" ref="form" label-width="110px"> @size-change="handleSizeChange"
<el-row> @current-change="handleCurrentChange"
<el-col :span="12"> :current-page.sync="listQuery.page"
<el-form-item label="手机号" prop="phone"> :page-sizes="[10,20,30,40,50]"
<el-input v-model="formdata.phone" placeholder="请输入手机号"></el-input> :page-size="listQuery.limit"
</el-form-item> layout="total, sizes, prev, pager, next, jumper"
</el-col> :total="total"
</el-row> ></el-pagination>
<el-row> </div>
<el-col :span="12"> </div>
<el-form-item label="选择优惠券" prop="couponId"> <el-dialog title="发券" :visible.sync="giveDialogVisible">
<el-select class="filter-item" v-model="formdata.couponId" placeholder="请选择优惠券"> <el-form :model="formdata" :rules="rules" ref="form" label-width="110px">
<el-option key="" label="" value=""> </el-option> <el-row>
<el-option v-for="(item,index) in titleList" :key="index" :label="item.title" :value="item.id"> </el-option> <el-col :span="12">
</el-select> <el-form-item label="手机号" prop="phone">
</el-form-item> <el-input v-model="formdata.phone" placeholder="请输入手机号"></el-input>
</el-col> </el-form-item>
</el-row> </el-col>
<el-row> </el-row>
<el-col :span="12"> <el-row>
<el-form-item label="添加张数" prop="couponNum"> <el-col :span="12">
<el-input v-model="formdata.couponNum" placeholder="请输入添加张数"></el-input> <el-form-item label="选择优惠券" prop="couponId">
</el-form-item> <el-select class="filter-item" v-model="formdata.couponId" placeholder="请选择优惠券">
</el-col> <el-option key label value></el-option>
</el-row> <el-option
</el-form> v-for="(item,index) in titleList"
<div slot="footer" class="dialog-footer"> :key="index"
<el-button type="primary" @click="add('form')">确认添加</el-button> :label="item.title"
</div> :value="item.id"
</el-dialog> ></el-option>
</div> </el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="添加张数" prop="couponNum">
<el-input v-model="formdata.couponNum" placeholder="请输入添加张数"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="add('form')">确认添加</el-button>
</div>
</el-dialog>
</div>
</template> </template>
<script> <script>
import { import { formatDate } from 'utils/dateFormattor'
formatDate
} from 'utils/dateFormattor';
import { import {
toEast8Date, toEast8Date,
deepCopyDate, deepCopyDate,
newEast8Date, newEast8Date,
convertDate2Str, convertDate2Str,
timestamp2Date timestamp2Date
} from 'utils/dateUtils'; } from 'utils/dateUtils'
import rsCode from '../../utils/rsCode'; import rsCode from '../../utils/rsCode'
import {mapGetters} from 'vuex'; import { mapGetters } from 'vuex'
import { import { getToken } from 'utils/auth'
getToken import {
} from 'utils/auth'; getTitle,
import { getCouponList,
getTitle, giveObj,
getCouponList, delObjOne
giveObj, } from 'api/cunponManagements'
delObjOne import Element1 from '../admin/menu/components/element'
} from 'api/cunponManagements'; import ElRow from 'element-ui/packages/row/src/row'
import Element1 from "../admin/menu/components/element"; import ElCol from 'element-ui/packages/col/src/col'
import ElRow from "element-ui/packages/row/src/row";
import ElCol from "element-ui/packages/col/src/col";
export default { export default {
name: 'conponList', name: 'conponList',
components: { components: {
ElCol, ElCol,
ElRow, ElRow,
Element1, Element1
}, },
data() { data() {
return { return {
titleList:[], titleList: [],
rules:{ rules: {
phone: [ phone: [
{ {
type: 'string', type: 'string',
required: true, required: true,
message: '请输入手机号', message: '请输入手机号',
trigger: 'blur' trigger: 'blur'
}, },
{ pattern: /^1[3456789]\d{9}$/, message: '手机号码错误' } { pattern: /^1[3456789]\d{9}$/, message: '手机号码错误' }
], ],
couponNum: { couponNum: {
type: 'string', type: 'string',
required: true, required: true,
message: '请输入添加张数', message: '请输入添加张数',
trigger: 'blur' trigger: 'blur'
}, },
couponId:{ couponId: {
required: true, required: true,
message: '请选择优惠券', message: '请选择优惠券'
} }
}, },
giveDialogVisible:false, giveDialogVisible: false,
typeOptions: [ typeOptions: [
{ {
"name":'已使用', name: '已使用',
"val":'1' val: '1'
}, },
{ {
"name":'未使用', name: '未使用',
"val":'0' val: '0'
}, }
], ],
BASE_API: process.env.BASE_API, BASE_API: process.env.BASE_API,
showLoadingBody: false, showLoadingBody: false,
list: null, list: null,
total: null, total: null,
listLoading: true, listLoading: true,
listQuery: { listQuery: {
page: 1, page: 1,
limit: 20, limit: 20,
couponId:'',//优惠券id couponId: '', //优惠券id
phone: '',//手机号 phone: '', //手机号
usedAmount: '',//金额 usedAmount: '', //金额
status:'0',//状态 status: '0' //状态
}, },
inline: true, inline: true,
tableKey: 0, tableKey: 0,
formdata:{ formdata: {
phone:'', phone: '',
couponNum:'', couponNum: '',
couponId:'' couponId: ''
} }
} }
}, },
created() { created() {
this.getList(); this.getList()
this.get_title(); this.get_title()
}, },
computed: { computed: {
...mapGetters([ ...mapGetters(['elements'])
'elements' },
]) methods: {
}, get_title() {
methods: { getTitle().then(response => {
get_title(){ this.titleList = response.data
getTitle().then(response => { })
this.titleList = response.data; },
}) /**
}, * 获取列表
/** * */
* 获取列表 getList() {
* */ this.listLoading = true
getList() { getCouponList(this.listQuery).then(response => {
this.listLoading = true; let totalCountRs = undefined
getCouponList(this.listQuery).then(response => { let listRs = undefined
let totalCountRs = undefined; if (
let listRs = undefined; !this.$utils.isEmpty(response.data.data) &&
if (!this.$utils.isEmpty(response.data.data) && this.$utils.isInteger(response.data.totalCount)) { this.$utils.isInteger(response.data.totalCount)
listRs = response.data.data; ) {
totalCountRs = response.data.totalCount; listRs = response.data.data
listRs.map(function(item){ totalCountRs = response.data.totalCount
item.crtTimeStr = timestamp2Date(item.crtTime); listRs.map(function(item) {
item.expireTimeStr = timestamp2Date(item.expireTime); item.crtTimeStr = timestamp2Date(item.crtTime)
}); item.expireTimeStr = timestamp2Date(item.expireTime)
} })
this.listLoading = false; }
this.list = listRs; this.listLoading = false
this.total = totalCountRs; this.list = listRs
}) this.total = totalCountRs
})
}, },
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
} }
}); })
}, },
handleSizeChange(val) { handleSizeChange(val) {
this.listQuery.limit = val; this.listQuery.limit = val
this.getList(); this.getList()
}, },
handleCurrentChange(val) { handleCurrentChange(val) {
this.listQuery.page = val; this.listQuery.page = val
this.getList(); this.getList()
}, },
add(formName) { add(formName) {
var that = this; var that = this
const set = this.$refs; const set = this.$refs
set[formName].validate(valid => { set[formName].validate(valid => {
if (valid) { if (valid) {
giveObj(that.formdata) giveObj(that.formdata).then(response => {
.then(response => { if (response.status === 200) {
if (response.status === 200) { this.giveDialogVisible = false
this.giveDialogVisible = false; this.getList()
this.getList(); this.$notify({
this.$notify({ title: '成功',
title: '成功', message: '发券成功',
message: '发券成功', type: 'success',
type: 'success', duration: 2000
duration: 2000 })
}); } else {
} else { this.$notify({
this.$notify({ title: '失败',
title: '失败', message: rsCode.msg[response.code]
message: rsCode.msg[response.code] ? rsCode.msg[response.code] : '操作失败!', ? rsCode.msg[response.code]
type: 'error', : '操作失败!',
duration: 2000 type: 'error',
}); duration: 2000
} })
}); }
} else { })
return false; } else {
} return false
}); }
}, })
deleteHandler(row){ },
this.$confirm('确定删除吗?', '提示', { deleteHandler(row) {
confirmButtonText: '确定', this.$confirm('确定删除吗?', '提示', {
cancelButtonText: '取消', confirmButtonText: '确定',
type: 'warning' cancelButtonText: '取消',
}).then(() => { type: 'warning'
delObjOne(row.id).then(response => { }).then(() => {
if (response.status == 200) { delObjOne(row.id).then(response => {
this.$notify({ if (response.status == 200) {
title: '成功', this.$notify({
message: '删除成功', title: '成功',
type: 'success', message: '删除成功',
duration: 2000 type: 'success',
}); duration: 2000
this.getList(); })
}else{ this.getList()
this.$notify({ } else {
title: '失败', this.$notify({
message: response.message, title: '失败',
type: 'error', message: response.message,
duration: 2000 type: 'error',
}); duration: 2000
} })
}); }
}) })
}, })
giveCunpon(){ },
this.giveDialogVisible = true; giveCunpon() {
} this.giveDialogVisible = true
} }
} }
}
</script> </script>
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="5"> <el-col :span="6">
<el-form-item label="创建时间"> <el-form-item label="创建时间">
<el-date-picker <el-date-picker
v-model="createTime" v-model="createTime"
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
<!-- <el-date-picker v-model="createTime" type="datetimerange" placeholder="选择时间范围" @change="changeCreate"></el-date-picker> --> <!-- <el-date-picker v-model="createTime" type="datetimerange" placeholder="选择时间范围" @change="changeCreate"></el-date-picker> -->
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="5"> <el-col :span="6">
<el-form-item label="支付时间"> <el-form-item label="支付时间">
<!-- <el-date-picker v-model="aplyTime" type="datetimerange" placeholder="选择支付时间范围" @change="changePay"></el-date-picker> --> <!-- <el-date-picker v-model="aplyTime" type="datetimerange" placeholder="选择支付时间范围" @change="changePay"></el-date-picker> -->
<el-date-picker <el-date-picker
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<div class="filter-container"> <div class="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="6">
<el-form-item label="统计时间:"> <el-form-item label="统计时间:">
<el-date-picker <el-date-picker
v-model="listQuery.time" v-model="listQuery.time"
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
></el-date-picker> ></el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="5"> <el-col :span="6">
<el-form-item label="统计方式:" class="wayMsg"> <el-form-item label="统计方式:" class="wayMsg">
<span <span
v-for="(item,index) in way" v-for="(item,index) in way"
......
...@@ -4,16 +4,14 @@ ...@@ -4,16 +4,14 @@
<div class="filter-container" ref="filter-container"> <div class="filter-container" ref="filter-container">
<el-form ref="queryForm" :inline="inline" :model="listQuery" label-width="100px"> <el-form ref="queryForm" :inline="inline" :model="listQuery" label-width="100px">
<el-row> <el-row>
<el-col :span="5"> <el-form-item label="姓名">
<el-form-item label="姓名"> <el-input v-model="listQuery.username" placeholder="请输入姓名"></el-input>
<el-input v-model="listQuery.username" placeholder="请输入姓名"></el-input> </el-form-item>
</el-form-item> <el-form-item label="手机号">
</el-col> <el-input v-model.number="listQuery.phone" placeholder="请输入手机号"></el-input>
<el-col :span="5"> </el-form-item>
<el-form-item label="手机号"> <el-col :span="5"></el-col>
<el-input v-model.number="listQuery.phone" placeholder="请输入手机号"></el-input> <el-col :span="5"></el-col>
</el-form-item>
</el-col>
<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="search" @click="clearFilter">清除搜索</el-button> <el-button class="filter-item" type="primary" v-waves icon="search" @click="clearFilter">清除搜索</el-button>
</el-row> </el-row>
...@@ -32,11 +30,11 @@ ...@@ -32,11 +30,11 @@
</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.commissionRate+'%'}}</span> <span>{{scope.row.commissionRate+'%'}}</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">
...@@ -44,19 +42,18 @@ ...@@ -44,19 +42,18 @@
</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.balance}}</span> <span>{{scope.row.balance}}</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>{{scope.row.withdrawals}}</span> <span>{{scope.row.withdrawals}}</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>{{scope.row.withdrawaling}}</span> <span>{{scope.row.withdrawaling}}</span>
...@@ -71,7 +68,7 @@ ...@@ -71,7 +68,7 @@
<template scope="scope"> <template scope="scope">
<span>{{scope.row.balance}}</span> <span>{{scope.row.balance}}</span>
</template> </template>
</el-table-column> --> </el-table-column>-->
<!-- <el-table-column align="center" label="操作" fixed="right"> <!-- <el-table-column align="center" label="操作" fixed="right">
<template scope="scope"> <template scope="scope">
<el-button <el-button
...@@ -80,7 +77,7 @@ ...@@ -80,7 +77,7 @@
@click="deposit(scope.row)" @click="deposit(scope.row)"
>{{scope.row.isFrozen == 0 ? '禁止提现' : '允许提现'}}</el-button> >{{scope.row.isFrozen == 0 ? '禁止提现' : '允许提现'}}</el-button>
</template> </template>
</el-table-column> --> </el-table-column>-->
</el-table> </el-table>
<div v-show="!listLoading" class="pagination-container"> <div v-show="!listLoading" class="pagination-container">
<el-pagination <el-pagination
...@@ -151,8 +148,8 @@ export default { ...@@ -151,8 +148,8 @@ export default {
}, },
methods: { methods: {
//清除搜索 //清除搜索
clearFilter(){ clearFilter() {
this.listQuery.username = this.listQuery.phone = null; this.listQuery.username = this.listQuery.phone = null
this.getList() this.getList()
}, },
//提现 //提现
......
...@@ -3,12 +3,12 @@ ...@@ -3,12 +3,12 @@
<div class="filter-container"> <div class="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="4"> <el-col :span="6">
<el-form-item label="手机号"> <el-form-item label="手机号">
<el-input v-model.number="listQuery.username" placeholder="请输入手机号"></el-input> <el-input v-model.number="listQuery.username" placeholder="请输入手机号"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="16">
<el-form-item label="导入时间"> <el-form-item label="导入时间">
<el-date-picker <el-date-picker
v-model="listQuery.startTime" v-model="listQuery.startTime"
......
...@@ -861,6 +861,9 @@ ...@@ -861,6 +861,9 @@
if(queryJson.mobile){ if(queryJson.mobile){
t.listQuery.mobile = queryJson.mobile; t.listQuery.mobile = queryJson.mobile;
} }
if(queryJson.realName){
t.listQuery.realName = queryJson.realName;
}
if(queryJson.memberLevel){ if(queryJson.memberLevel){
t.listQuery.memberLevel = queryJson.memberLevel; t.listQuery.memberLevel = queryJson.memberLevel;
} }
......
...@@ -3,87 +3,79 @@ ...@@ -3,87 +3,79 @@
<div class="filter-container" ref="filter-container"> <div class="filter-container" ref="filter-container">
<el-form :rules="rules4Query" ref="queryForm" :inline="inline" :model="listQuery"> <el-form :rules="rules4Query" ref="queryForm" :inline="inline" :model="listQuery">
<el-row> <el-row>
<el-col :span="5"> <el-form-item label="用途">
<el-form-item label="用途"> <el-select class="filter-item" v-model="listQuery.bookType" placeholder="请选择">
<el-select class="filter-item" v-model="listQuery.bookType" placeholder="请选择"> <el-option :key="undefined" label="全部" :value="undefined"></el-option>
<el-option :key="undefined" label="全部" :value="undefined"></el-option> <el-option v-for="val in bookTypeList" :key="val.id" :label="val.name" :value="val.id"></el-option>
<el-option v-for="val in bookTypeList" :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="车辆编码">
</el-col> <el-input type="number" v-model.number="listQuery.code" placeholder="请输入车辆编码"></el-input>
<el-col :span="5"> </el-form-item>
<el-form-item label="车辆编码"> <el-form-item label="车牌号">
<el-input type="number" v-model.number="listQuery.code" placeholder="请输入车辆编码"></el-input> <el-input v-model="listQuery.numberPlate" placeholder="请输入车牌号"></el-input>
</el-form-item> </el-form-item>
</el-col> <el-form-item label="申请状态">
<el-col :span="5"> <el-select class="filter-item" v-model="listQuery.status" placeholder="请选择申请状态">
<el-form-item label="车牌号"> <el-option :key="undefined" label="全部" :value="undefined"></el-option>
<el-input v-model="listQuery.numberPlate" placeholder="请输入车牌号"></el-input> <!-- <el-option v-for="(val, key, index) in statusList " :key="val.code" :label="val.val"
</el-form-item> :value="val.code"></el-option>-->
</el-col> <el-option
<el-col :span="5"> v-for="(val, index) in statusList "
<el-form-item label="申请状态"> :key="index"
<el-select class="filter-item" v-model="listQuery.status" placeholder="请选择申请状态"> :label="val.val"
<el-option :key="undefined" label="全部" :value="undefined"></el-option> :value="val.code"
<!-- <el-option v-for="(val, key, index) in statusList " :key="val.code" :label="val.val" ></el-option>
:value="val.code"></el-option>--> </el-select>
<el-option </el-form-item>
v-for="(val, index) in statusList " <!-- <el-col :span="5"></el-col>
:key="index" <el-col :span="5"></el-col>
:label="val.val" <el-col :span="5"></el-col>
:value="val.code" <el-col :span="5"></el-col> -->
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="5"> <el-form-item label="所属大区">
<el-form-item label="所属大区"> <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 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-col> <el-autocomplete
<el-col :span="5"> class="inline-input"
<el-form-item label="提车公司" prop="subordinateBranch"> v-model="listQuery.liftCompanyName"
<el-autocomplete :fetch-suggestions="querySearch"
class="inline-input" placeholder="请输入内容"
v-model="listQuery.liftCompanyName" @select="handleSelect"
:fetch-suggestions="querySearch" ></el-autocomplete>
placeholder="请输入内容" </el-form-item>
@select="handleSelect" <el-form-item label="提车时间" prop="bookStartDate4Query">
></el-autocomplete> <el-date-picker
</el-form-item> v-model="bookStartDate4Query"
</el-col> type="month"
<el-col :span="5"> :editable="true"
<el-form-item label="提车时间" prop="bookStartDate4Query"> format="yyyy-MM"
<el-date-picker placeholder="请选择预约提车时间"
v-model="bookStartDate4Query" ></el-date-picker>
type="month" </el-form-item>
:editable="true" <el-form-item label="还车时间" prop="bookEndDate4Query">
format="yyyy-MM" <el-date-picker
placeholder="请选择预约提车时间" v-model="bookEndDate4Query"
></el-date-picker> type="month"
</el-form-item> :editable="true"
</el-col> format="yyyy-MM"
<el-col :span="5"> placeholder="请选择预约还车时间"
<el-form-item label="还车时间" prop="bookEndDate4Query"> ></el-date-picker>
<el-date-picker </el-form-item>
v-model="bookEndDate4Query" <!-- <el-col :span="5"></el-col>
type="month" <el-col :span="5"></el-col>
:editable="true" <el-col :span="5"></el-col>
format="yyyy-MM" <el-col :span="5"></el-col> -->
placeholder="请选择预约还车时间"
></el-date-picker>
</el-form-item>
</el-col>
</el-row> </el-row>
<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>
...@@ -91,13 +83,13 @@ ...@@ -91,13 +83,13 @@
</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="车牌号" width="110"> <el-table-column align="center" label="车牌号" width="110">
<template scope="scope"> <template scope="scope">
...@@ -247,47 +239,47 @@ ...@@ -247,47 +239,47 @@
<template scope="scope"> <template scope="scope">
<!-- <el-button size="small" type="success" @click="handleBookInfo(scope.row)">预订信息</el-button> --> <!-- <el-button size="small" type="success" @click="handleBookInfo(scope.row)">预订信息</el-button> -->
<el-button <el-button
size="small" size="small"
class="el-button el-button--text el-button--small" class="el-button el-button--text el-button--small"
v-if="scope.row.status==3" v-if="scope.row.status==3"
@click="illegalInquiry(scope.row)" @click="illegalInquiry(scope.row)"
>违章记录</el-button> >违章记录</el-button>
<el-button <el-button
v-if="bookRecord_btn_prove&&scope.row.status==1&&scope.row.bookType !=1" v-if="bookRecord_btn_prove&&scope.row.status==1&&scope.row.bookType !=1"
size="small" size="small"
class="el-button el-button--text el-button--small" class="el-button el-button--text el-button--small"
@click="handleProve(scope.row)" @click="handleProve(scope.row)"
>通过</el-button> >通过</el-button>
<el-button <el-button
v-if="bookRecord_btn_reject&&scope.row.status==1&&scope.row.bookType !=1" v-if="bookRecord_btn_reject&&scope.row.status==1&&scope.row.bookType !=1"
size="small" size="small"
class="el-button el-button--text el-button--small" class="el-button el-button--text el-button--small"
style="color: red;" style="color: red;"
@click="handleReject(scope.row)" @click="handleReject(scope.row)"
>驳回</el-button> >驳回</el-button>
<template v-if="scope.row.vehicleDepartureLogVo==undefined"> <template v-if="scope.row.vehicleDepartureLogVo==undefined">
<el-button <el-button
v-if="bookRecord_btn_lift&&scope.row.liftStatus==1&&scope.row.status==2&&scope.row.bookType !=1" v-if="bookRecord_btn_lift&&scope.row.liftStatus==1&&scope.row.status==2&&scope.row.bookType !=1"
size="small" size="small"
class="el-button el-button--text el-button--small" class="el-button el-button--text el-button--small"
@click="handleLift(scope.row)" @click="handleLift(scope.row)"
>出车</el-button> >出车</el-button>
</template> </template>
<template v-if="scope.row.vehicleDepartureLogVo!=undefined"> <template v-if="scope.row.vehicleDepartureLogVo!=undefined">
<el-button <el-button
v-if="bookRecord_btn_ret&&scope.row.vehicleDepartureLogVo.state==0&&scope.row.retStatus==1&&scope.row.bookType !=1" v-if="bookRecord_btn_ret&&scope.row.vehicleDepartureLogVo.state==0&&scope.row.retStatus==1&&scope.row.bookType !=1"
size="small" size="small"
class="el-button el-button--text el-button--small" class="el-button el-button--text el-button--small"
@click="handleRet(scope.row)" @click="handleRet(scope.row)"
>收车</el-button> >收车</el-button>
</template> </template>
<template v-if="scope.row.vehicleDepartureLogVo==undefined"> <template v-if="scope.row.vehicleDepartureLogVo==undefined">
<el-button <el-button
v-if="bookRecord_btn_unbook&&scope.row.status==2&&scope.row.bookType !=1" v-if="bookRecord_btn_unbook&&scope.row.status==2&&scope.row.bookType !=1"
size="small" size="small"
class="el-button el-button--text el-button--small" class="el-button el-button--text el-button--small"
style="color: red;" style="color: red;"
@click="handleUnbook(scope.row)" @click="handleUnbook(scope.row)"
>取消预定</el-button> >取消预定</el-button>
</template> </template>
</template> </template>
...@@ -296,13 +288,13 @@ ...@@ -296,13 +288,13 @@
<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,40,50]" :page-sizes="[10,20,30,40,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>
...@@ -409,7 +401,7 @@ ...@@ -409,7 +401,7 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item label="操作时间"> <el-form-item label="操作时间">
<span <span
v-if="detailItem.vehicleDepartureLogVo" v-if="detailItem.vehicleDepartureLogVo"
>{{detailItem.vehicleDepartureLogVo.departureTime}}</span> >{{detailItem.vehicleDepartureLogVo.departureTime}}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -418,7 +410,7 @@ ...@@ -418,7 +410,7 @@
<el-col :span="24"> <el-col :span="24">
<el-form-item label="提车公里数"> <el-form-item label="提车公里数">
<span <span
v-if="detailItem.vehicleDepartureLogVo" v-if="detailItem.vehicleDepartureLogVo"
>{{detailItem.vehicleDepartureLogVo.mileageStart?detailItem.vehicleDepartureLogVo.mileageStart+'KM':''}}</span> >{{detailItem.vehicleDepartureLogVo.mileageStart?detailItem.vehicleDepartureLogVo.mileageStart+'KM':''}}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -438,7 +430,7 @@ ...@@ -438,7 +430,7 @@
<el-card> <el-card>
<img :src="item" class="image" /> <img :src="item" class="image" />
</el-card> </el-card>
</el-col> --> </el-col>-->
</el-row> </el-row>
<hr /> <hr />
<el-row> <el-row>
...@@ -446,11 +438,11 @@ ...@@ -446,11 +438,11 @@
<el-form-item label="还车分公司"> <el-form-item label="还车分公司">
<span>{{detailItem.retCompanyName}}</span> <span>{{detailItem.retCompanyName}}</span>
<el-button <el-button
size="mini" size="mini"
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-show="detailItem.status == 2 || detailItem.status == 5"
>更换</el-button> >更换</el-button>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -462,7 +454,7 @@ ...@@ -462,7 +454,7 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item label="操作时间"> <el-form-item label="操作时间">
<span <span
v-if="detailItem.vehicleDepartureLogVo" v-if="detailItem.vehicleDepartureLogVo"
>{{detailItem.vehicleDepartureLogVo.arrivalTime}}</span> >{{detailItem.vehicleDepartureLogVo.arrivalTime}}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -471,7 +463,7 @@ ...@@ -471,7 +463,7 @@
<el-col :span="24"> <el-col :span="24">
<el-form-item label="还车公里数"> <el-form-item label="还车公里数">
<span <span
v-if="detailItem.vehicleDepartureLogVo" v-if="detailItem.vehicleDepartureLogVo"
>{{detailItem.vehicleDepartureLogVo.mileageEnd?detailItem.vehicleDepartureLogVo.mileageEnd+'KM':''}}</span> >{{detailItem.vehicleDepartureLogVo.mileageEnd?detailItem.vehicleDepartureLogVo.mileageEnd+'KM':''}}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -490,7 +482,7 @@ ...@@ -490,7 +482,7 @@
<el-card> <el-card>
<img :src="item" class="image" /> <img :src="item" class="image" />
</el-card> </el-card>
</el-col> --> </el-col>-->
</el-row> </el-row>
<hr /> <hr />
<el-row> <el-row>
...@@ -539,39 +531,39 @@ ...@@ -539,39 +531,39 @@
<!-- 出车对话框相关html元素 --> <!-- 出车对话框相关html元素 -->
<el-dialog title="出车" :visible.sync="dialogForm4LiftVisible"> <el-dialog title="出车" :visible.sync="dialogForm4LiftVisible">
<el-form <el-form
:model="departureForm" :model="departureForm"
:rules="departureFormrules" :rules="departureFormrules"
ref="departureForm" ref="departureForm"
label-width="120px" label-width="120px"
> >
<el-form-item label="车牌号"> <el-form-item label="车牌号">
<el-input v-model="departureForm.numberPlate" disabled></el-input> <el-input v-model="departureForm.numberPlate" disabled></el-input>
</el-form-item> </el-form-item>
<el-form-item label="出车时间"> <el-form-item label="出车时间">
<el-date-picker <el-date-picker
v-model="departureForm.departureDate" v-model="departureForm.departureDate"
type="date" type="date"
disabled disabled
format="yyyy-MM-dd" format="yyyy-MM-dd"
placeholder="选择日期" placeholder="选择日期"
></el-date-picker> ></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="出车分公司"> <el-form-item label="出车分公司">
<el-autocomplete <el-autocomplete
class="inline-input" class="inline-input"
v-model="departureForm.departureBranchCompanyName" v-model="departureForm.departureBranchCompanyName"
:fetch-suggestions="querySearch" :fetch-suggestions="querySearch"
placeholder="请输入内容" placeholder="请输入内容"
disabled disabled
></el-autocomplete> ></el-autocomplete>
</el-form-item> </el-form-item>
<el-form-item label="目的地分公司" prop="expectArrivalBranchCompanyName"> <el-form-item label="目的地分公司" prop="expectArrivalBranchCompanyName">
<el-autocomplete <el-autocomplete
class="inline-input" class="inline-input"
v-model="departureForm.expectArrivalBranchCompanyName" v-model="departureForm.expectArrivalBranchCompanyName"
:fetch-suggestions="querySearch" :fetch-suggestions="querySearch"
placeholder="请输入内容" placeholder="请输入内容"
disabled disabled
></el-autocomplete> ></el-autocomplete>
</el-form-item> </el-form-item>
<el-form-item label="用途"> <el-form-item label="用途">
...@@ -599,13 +591,13 @@ ...@@ -599,13 +591,13 @@
<el-col> <el-col>
<el-form-item label="出车截图" :style="{display:'block'}" required> <el-form-item label="出车截图" :style="{display:'block'}" required>
<el-upload <el-upload
class="upload-demo" class="upload-demo"
:headers="getHeaderWithToken" :headers="getHeaderWithToken"
:action="BASE_API+'/api/universal/file/app/unauth/admin/upload'" :action="BASE_API+'/api/universal/file/app/unauth/admin/upload'"
:on-remove="handleDepartureRemove" :on-remove="handleDepartureRemove"
:file-list="departurePicList" :file-list="departurePicList"
:on-success="handleDepartureSuccess" :on-success="handleDepartureSuccess"
list-type="picture-card" list-type="picture-card"
> >
<i class="el-icon-plus"></i> <i class="el-icon-plus"></i>
</el-upload> </el-upload>
...@@ -627,20 +619,20 @@ ...@@ -627,20 +619,20 @@
</el-form-item> </el-form-item>
<el-form-item label="收车时间"> <el-form-item label="收车时间">
<el-date-picker <el-date-picker
v-model="arrivalForm.arrivalDate" v-model="arrivalForm.arrivalDate"
type="date" type="date"
disabled disabled
format="yyyy-MM-dd" format="yyyy-MM-dd"
placeholder="选择日期" placeholder="选择日期"
></el-date-picker> ></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="还车分公司"> <el-form-item label="还车分公司">
<el-autocomplete <el-autocomplete
class="inline-input" class="inline-input"
v-model="arrivalForm.arrivalBranchCompanyName" v-model="arrivalForm.arrivalBranchCompanyName"
:fetch-suggestions="querySearch" :fetch-suggestions="querySearch"
placeholder="请输入内容" placeholder="请输入内容"
disabled disabled
></el-autocomplete> ></el-autocomplete>
</el-form-item> </el-form-item>
<el-form-item label="收车人" prop="recycleMan"> <el-form-item label="收车人" prop="recycleMan">
...@@ -659,13 +651,13 @@ ...@@ -659,13 +651,13 @@
<el-col> <el-col>
<el-form-item label="收车截图" :style="{display:'block'}" required> <el-form-item label="收车截图" :style="{display:'block'}" required>
<el-upload <el-upload
class="upload-demo" class="upload-demo"
:headers="getHeaderWithToken" :headers="getHeaderWithToken"
:action="BASE_API+'/api/universal/file/app/unauth/admin/upload'" :action="BASE_API+'/api/universal/file/app/unauth/admin/upload'"
:on-remove="handleArrivalRemove" :on-remove="handleArrivalRemove"
:file-list="arrivalPicList" :file-list="arrivalPicList"
:on-success="handleArrivalSuccess" :on-success="handleArrivalSuccess"
list-type="picture-card" list-type="picture-card"
> >
<i class="el-icon-plus"></i> <i class="el-icon-plus"></i>
</el-upload> </el-upload>
...@@ -685,13 +677,13 @@ ...@@ -685,13 +677,13 @@
<el-col> <el-col>
<el-form-item label="违章截图" :style="{display:'block'}"> <el-form-item label="违章截图" :style="{display:'block'}">
<el-upload <el-upload
class="upload-demo" class="upload-demo"
:headers="getHeaderWithToken" :headers="getHeaderWithToken"
:action="BASE_API+'/api/universal/file/app/unauth/admin/upload'" :action="BASE_API+'/api/universal/file/app/unauth/admin/upload'"
:on-remove="handleRemove" :on-remove="handleRemove"
:file-list="fileList2" :file-list="fileList2"
:on-success="handleSuccess" :on-success="handleSuccess"
list-type="picture-card" list-type="picture-card"
> >
<i class="el-icon-plus"></i> <i class="el-icon-plus"></i>
</el-upload> </el-upload>
...@@ -702,10 +694,10 @@ ...@@ -702,10 +694,10 @@
<el-col> <el-col>
<el-form-item label="违章罚款"> <el-form-item label="违章罚款">
<el-input <el-input
v-model="price" v-model="price"
type="number" type="number"
placeholder="请输入违章罚款金额" placeholder="请输入违章罚款金额"
style="width: 50%;margin-right:10px" style="width: 50%;margin-right:10px"
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -720,1230 +712,1236 @@ ...@@ -720,1230 +712,1236 @@
</template> </template>
<script> <script>
import { import {
page, page,
prove, prove,
reject, reject,
getObj, getObj,
lift, lift,
ret, ret,
unbook, unbook,
getOneIllegalRow, getOneIllegalRow,
saveOrderViolation, saveOrderViolation,
departureVehicle, departureVehicle,
arrivalVehicle arrivalVehicle
} from 'api/vehicle/bookRecord' } from 'api/vehicle/bookRecord'
import { import {
getAllCompany, getAllCompany,
getAll, getAll,
updateById updateById
} from 'api/base_info/branch_company/' } from 'api/base_info/branch_company/'
import { getAllZone } from 'api/base_info/constant/' import { getAllZone } from 'api/base_info/constant/'
import { getAllBranchCompanyByZoneId } from 'api/order/rentVehicle' import { getAllBranchCompanyByZoneId } from 'api/order/rentVehicle'
import { formatDate } from 'utils/dateFormattor' import { formatDate } from 'utils/dateFormattor'
import rsCode from '../../../utils/rsCode' import rsCode from '../../../utils/rsCode'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { toEast8Date, deepCopyDate, newEast8Date } from 'utils/dateUtils' import { toEast8Date, deepCopyDate, newEast8Date } from 'utils/dateUtils'
import { getToken } from '../../../utils/auth' import { getToken } from '../../../utils/auth'
import { import {
BOOK_RECORD_STATUS_APPLY, BOOK_RECORD_STATUS_APPLY,
BOOK_RECORD_STATUS_PROVED, BOOK_RECORD_STATUS_PROVED,
BOOK_RECORD_STATUS_LIFT BOOK_RECORD_STATUS_LIFT
} from '../../../store/modules/baseInfo' } from '../../../store/modules/baseInfo'
import bookInfoViewer from '../bookInfoViewer' import bookInfoViewer from '../bookInfoViewer'
import accItemSelector from '../accompanyingItem/accItemSelector.vue' import accItemSelector from '../accompanyingItem/accItemSelector.vue'
export default { export default {
name: 'bookRecord', name: 'bookRecord',
components: { components: {
bookInfoViewer, bookInfoViewer,
accItemSelector accItemSelector
}, },
data() { data() {
return { return {
returnForm: { returnForm: {
retCompany: '' retCompany: ''
}, },
allCompaniesArr: [], allCompaniesArr: [],
resetReturn: false, //更改换成地点loading resetReturn: false, //更改换成地点loading
rejectVisible: false, rejectVisible: false,
rejectFrom: { rejectFrom: {
vehicleBookRecordId: '', vehicleBookRecordId: '',
rejectRemark: '' rejectRemark: ''
},
rejectRules: {
rejectRemark: {
type: 'string',
required: true,
message: '请输入拒绝原因',
trigger: 'blur'
}
},
BASE_API: process.env.BASE_API,
departureFormrules: {
checkMan: {
required: true,
message: '请输入验车人',
trigger: 'blur'
}, },
rejectRules: { checkManTel: [
rejectRemark: { {
type: 'string',
required: true, required: true,
message: '请输入拒绝原因', message: '请输入验车人联系方式',
trigger: 'blur' trigger: 'blur'
},
{
pattern: /^1[3456789]\d{9}$/,
message: '请输入正确的手机号'
} }
],
mileage: {
type: 'number',
required: true,
message: '请输入公里数',
trigger: 'blur'
}
},
departureForm: {
vehicleId: null,
departureBranchCompanyId: null, //出发地分公司id
departureBranchCompanyName: '', //出发地分公司名称
use: null,
user: null,
userTel: null,
checkMan: null,
checkManTel: null,
mileage: null,
numberPlate: null,
expectArrivalBranchCompanyId: null, //目的地分公司id
expectArrivalBranchCompanyName: '', //目的地分公司名称
bookRecordId: null,
departurePic: '',
remark: null,
bookStartDate: null
},
departurePicList: [],
arrivalPicList: [],
arrivalForm: {
vehicleId: null,
numberPlate: null,
arrivalDate: null,
recycleMan: null,
recycleManTel: null,
mileage: null,
arrivalBranchCompanyId: null,
arrivalBranchCompanyName: '',
arrivalPic: '',
remark: '',
bookRecordId: null
},
arrivalFormrules: {
recycleMan: {
required: true,
message: '请输入收车人',
trigger: 'blur'
}, },
BASE_API: process.env.BASE_API, recycleManTel: [
departureFormrules: { {
checkMan: {
required: true, required: true,
message: '请输入验车人', message: '请输入收车人联系方式',
trigger: 'blur' trigger: 'blur'
}, },
checkManTel: [ {
{ pattern: /^1[3456789]\d{9}$/,
required: true, message: '请输入正确的手机号'
message: '请输入验车人联系方式',
trigger: 'blur'
},
{
pattern: /^1[3456789]\d{9}$/,
message: '请输入正确的手机号'
}
],
mileage: {
type: 'number',
required: true,
message: '请输入公里数',
trigger: 'blur'
} }
],
mileage: {
type: 'number',
required: true,
message: '请输入收车公里数',
trigger: 'blur'
}
},
statusList: [
{
code: '1',
val: '申请中'
}, },
departureForm: { {
vehicleId: null, code: '3',
departureBranchCompanyId: null, //出发地分公司id val: '待出行'
departureBranchCompanyName: '', //出发地分公司名称
use: null,
user: null,
userTel: null,
checkMan: null,
checkManTel: null,
mileage: null,
numberPlate: null,
expectArrivalBranchCompanyId: null, //目的地分公司id
expectArrivalBranchCompanyName: '', //目的地分公司名称
bookRecordId: null,
departurePic: '',
remark: null,
bookStartDate: null
}, },
departurePicList: [], {
arrivalPicList: [], code: '4',
arrivalForm: { val: '驳回'
vehicleId: null,
numberPlate: null,
arrivalDate: null,
recycleMan: null,
recycleManTel: null,
mileage: null,
arrivalBranchCompanyId: null,
arrivalBranchCompanyName: '',
arrivalPic: '',
remark: '',
bookRecordId: null
}, },
arrivalFormrules: { {
recycleMan: { code: '5',
required: true, val: '出行中'
message: '请输入收车人',
trigger: 'blur'
},
recycleManTel: [
{
required: true,
message: '请输入收车人联系方式',
trigger: 'blur'
},
{
pattern: /^1[3456789]\d{9}$/,
message: '请输入正确的手机号'
}
],
mileage: {
type: 'number',
required: true,
message: '请输入收车公里数',
trigger: 'blur'
}
}, },
statusList: [ {
{ code: '6',
code: '1', val: '取消预订'
val: '申请中' },
}, {
{ code: '7',
code: '3', val: '已完成'
val: '待出行' }
}, ],
{ activeId: '',
code: '4', bookTypeList: [
val: '驳回' {
}, id: '1',
{ name: '租车'
code: '5', },
val: '出行中' {
}, id: '2',
{ name: '用户租赁'
code: '6', },
val: '取消预订' {
}, id: '3',
name: '维修'
},
{
id: '4',
name: '展览'
},
{
id: '5',
name: '旅游'
},
{
id: '6',
name: '保养'
},
{
id: '7',
name: '预约中'
},
{
id: '8',
name: '禁用'
},
{
id: '9',
name: '客户用车'
},
{
id: '10',
name: '其他'
}
],
detailId: '',
illegalVisible: false,
price: undefined, //违章罚款金额
fileList2: [], //违章截图
detailItem: {},
dialogDetailVisible: false,
baranchQuery: {
zoneId: null
},
allZoneArr: [], //全部片区
allBranchCompany: [],
state2: '', //搜索-分公司名称
rules4Query: {},
list: null,
total: null,
listLoading: true,
listQuery: {
page: 1,
limit: 20,
flag: false,
zoneId: undefined,
liftCompany: undefined,
liftCompanyName: '',
numberPlate: undefined,
selectedMonth: undefined,
status: undefined,
bookType: undefined,
bookStartDate: undefined,
bookEndDate: undefined
},
inline: true,
dialogFormVisible: false,
dialogStatus: '',
bookRecord_btn_prove: false,
bookRecord_btn_unbook: false,
bookRecord_btn_reject: false,
bookRecord_btn_lift: false,
bookRecord_btn_ret: false,
dialogForm4LiftVisible: false,
dialogForm4RetVisible: false,
allCompanies: {},
tableKey: 0,
form4Lift: {
state1: '',
id: undefined,
mileageLift: undefined,
liftCompany: undefined,
liftRemark: undefined
},
rules4Lift: {
liftCompany: [
{ {
code: '7', required: true,
val: '已完成' message: '请选择提车分公司',
trigger: 'blur',
type: 'integer'
} }
], ],
activeId: '', mileageLift: [
bookTypeList: [
{ {
id: '1', required: true,
name: '租车' message: '请输入当前里程数',
}, trigger: 'blur',
{ type: 'integer'
id: '2',
name: '用户租赁'
},
{
id: '3',
name: '维修'
},
{
id: '4',
name: '展览'
},
{
id: '5',
name: '旅游'
}, },
{ {
id: '6', validator: (rule, value, callback) => {
name: '保养' if (
}, this.$utils.isUndefined(value) ||
this.$utils.isNull(value)
) {
return callback()
}
if (!this.$utils.isInteger(value)) {
return callback(new Error('里程数必须为整数'))
}
if (value < 0 || value > 9999999999) {
return callback(
new Error(
'里程数合法范围:[0 - 9999999999]'
)
)
}
callback()
},
trigger: 'blur'
}
],
retRemark: [
{ {
id: '7', min: 0,
name: '预约中' max: 2000,
}, message: '长度小于 2000 个字符',
trigger: 'blur'
}
]
},
form4Ret: {
id: undefined,
mileageRet: undefined,
haveViolation: undefined,
retCompany: undefined,
retRemark: undefined
},
rules4Ret: {
retCompany: [
{ {
id: '8', required: true,
name: '禁用' message: '请选择提车分公司',
}, trigger: 'blur',
type: 'integer'
}
],
mileageRet: [
{ {
id: '9', required: true,
name: '客户用车' message: '请输入当前里程数',
trigger: 'blur',
type: 'integer'
}, },
{ {
id: '10', validator: (rule, value, callback) => {
name: '其他' if (
} this.$utils.isUndefined(value) ||
], this.$utils.isNull(value)
detailId: '', ) {
illegalVisible: false, return callback()
price: undefined, //违章罚款金额 }
fileList2: [], //违章截图 if (!this.$utils.isInteger(value)) {
detailItem: {}, return callback(new Error('里程数必须为整数'))
dialogDetailVisible: false, }
baranchQuery: { if (value < 0 || value > 9999999999) {
zoneId: null return callback(
}, new Error(
allZoneArr: [], //全部片区 '里程数合法范围:[0 - 9999999999]'
allBranchCompany: [],
state2: '', //搜索-分公司名称
rules4Query: {},
list: null,
total: null,
listLoading: true,
listQuery: {
page: 1,
limit: 20,
flag: false,
zoneId: undefined,
liftCompany: undefined,
liftCompanyName: "",
numberPlate: undefined,
selectedMonth: undefined,
status: undefined,
bookType: undefined,
bookStartDate: undefined,
bookEndDate: undefined
},
inline: true,
dialogFormVisible: false,
dialogStatus: '',
bookRecord_btn_prove: false,
bookRecord_btn_unbook: false,
bookRecord_btn_reject: false,
bookRecord_btn_lift: false,
bookRecord_btn_ret: false,
dialogForm4LiftVisible: false,
dialogForm4RetVisible: false,
allCompanies: {},
tableKey: 0,
form4Lift: {
state1: '',
id: undefined,
mileageLift: undefined,
liftCompany: undefined,
liftRemark: undefined
},
rules4Lift: {
liftCompany: [
{
required: true,
message: '请选择提车分公司',
trigger: 'blur',
type: 'integer'
}
],
mileageLift: [
{
required: true,
message: '请输入当前里程数',
trigger: 'blur',
type: 'integer'
},
{
validator: (rule, value, callback) => {
if (
this.$utils.isUndefined(value) ||
this.$utils.isNull(value)
) {
return callback()
}
if (!this.$utils.isInteger(value)) {
return callback(new Error('里程数必须为整数'))
}
if (value < 0 || value > 9999999999) {
return callback(
new Error(
'里程数合法范围:[0 - 9999999999]'
)
) )
} )
callback() }
}, callback()
trigger: 'blur'
}
],
retRemark: [
{
min: 0,
max: 2000,
message: '长度小于 2000 个字符',
trigger: 'blur'
}
]
},
form4Ret: {
id: undefined,
mileageRet: undefined,
haveViolation: undefined,
retCompany: undefined,
retRemark: undefined
},
rules4Ret: {
retCompany: [
{
required: true,
message: '请选择提车分公司',
trigger: 'blur',
type: 'integer'
}
],
mileageRet: [
{
required: true,
message: '请输入当前里程数',
trigger: 'blur',
type: 'integer'
}, },
{ trigger: 'blur'
validator: (rule, value, callback) => {
if (
this.$utils.isUndefined(value) ||
this.$utils.isNull(value)
) {
return callback()
}
if (!this.$utils.isInteger(value)) {
return callback(new Error('里程数必须为整数'))
}
if (value < 0 || value > 9999999999) {
return callback(
new Error(
'里程数合法范围:[0 - 9999999999]'
)
)
}
callback()
},
trigger: 'blur'
}
],
retRemark: [
{
min: 0,
max: 2000,
message: '长度小于 2000 个字符',
trigger: 'blur'
}
]
},
selectedAccItem: undefined
}
},
created() {
let t = this;
getAll().then(response => {
this.allCompaniesArr = response.data;
let query = localStorage.getItem("bookRecord");
if(query !="null" && query){
let queryJson = JSON.parse(query);
if(queryJson.page){
t.listQuery.page = queryJson.page;
}
if(queryJson.limit){
t.listQuery.limit = queryJson.limit;
}
if(queryJson.flag){
t.listQuery.flag = queryJson.flag;
}
if(queryJson.zoneId){
t.listQuery.zoneId = queryJson.zoneId;
}
if(queryJson.liftCompany){
t.listQuery.liftCompany = queryJson.liftCompany;
}
if(queryJson.liftCompanyName){
t.listQuery.liftCompanyName = queryJson.liftCompanyName;
}
if(queryJson.numberPlate){
t.listQuery.numberPlate = queryJson.numberPlate;
}
if(queryJson.selectedMonth){
t.listQuery.selectedMonth = queryJson.selectedMonth;
}
if(queryJson.status){
t.listQuery.status = queryJson.status;
} }
if(queryJson.bookType){ ],
t.listQuery.bookType = queryJson.bookType; retRemark: [
{
min: 0,
max: 2000,
message: '长度小于 2000 个字符',
trigger: 'blur'
} }
// if(queryJson.liftCompany){ ]
// t.allCompaniesArr.map(function (item) { },
// if(item.id == queryJson.liftCompany){ selectedAccItem: undefined
// t.listQuery.liftCompanyName = item.name; }
// } },
// }); created() {
// } let t = this
getAll().then(response => {
this.allCompaniesArr = response.data
let query = localStorage.getItem('bookRecord')
if (query != 'null' && query) {
let queryJson = JSON.parse(query)
if (queryJson.page) {
t.listQuery.page = queryJson.page
} }
this.getList() if (queryJson.limit) {
}); t.listQuery.limit = queryJson.limit
getAllCompany(codeAndBranchCompany => { }
//初始化公司列表 if (queryJson.flag) {
this.allCompanies = codeAndBranchCompany t.listQuery.flag = queryJson.flag
}); }
this.bookRecord_btn_prove = this.elements['bookRecord:btn_prove'] if (queryJson.zoneId) {
this.bookRecord_btn_reject = this.elements['bookRecord:btn_reject'] t.listQuery.zoneId = queryJson.zoneId
this.bookRecord_btn_unbook = this.elements['bookRecord:btn_unbook'] }
this.bookRecord_btn_lift = this.elements['bookRecord:btn_lift'] if (queryJson.liftCompany) {
this.bookRecord_btn_ret = this.elements['bookRecord:btn_ret'] t.listQuery.liftCompany = queryJson.liftCompany
}
if (queryJson.liftCompanyName) {
t.listQuery.liftCompanyName = queryJson.liftCompanyName
}
if (queryJson.numberPlate) {
t.listQuery.numberPlate = queryJson.numberPlate
}
if (queryJson.selectedMonth) {
t.listQuery.selectedMonth = queryJson.selectedMonth
}
if (queryJson.status) {
t.listQuery.status = queryJson.status
}
if (queryJson.bookType) {
t.listQuery.bookType = queryJson.bookType
}
// if(queryJson.liftCompany){
// t.allCompaniesArr.map(function (item) {
// if(item.id == queryJson.liftCompany){
// t.listQuery.liftCompanyName = item.name;
// }
// });
// }
}
this.getList()
})
getAllCompany(codeAndBranchCompany => {
//初始化公司列表
this.allCompanies = codeAndBranchCompany
})
this.bookRecord_btn_prove = this.elements['bookRecord:btn_prove']
this.bookRecord_btn_reject = this.elements['bookRecord:btn_reject']
this.bookRecord_btn_unbook = this.elements['bookRecord:btn_unbook']
this.bookRecord_btn_lift = this.elements['bookRecord:btn_lift']
this.bookRecord_btn_ret = this.elements['bookRecord:btn_ret']
},
computed: {
...mapGetters(['elements', 'bookRecordStatus']),
getHeaderWithToken() {
return { Authorization: getToken() }
}, },
computed: { //获取大区列表
...mapGetters(['elements', 'bookRecordStatus']), getAllZoneList() {
getHeaderWithToken() { return getAllZone()
return { Authorization: getToken() } },
}, selectedMonth4Query: {
//获取大区列表 get: function() {
getAllZoneList() { if (
return getAllZone() this.$utils.isString(this.listQuery.selectedMonth) &&
}, this.listQuery.selectedMonth !== ''
selectedMonth4Query: { ) {
get: function() { return toEast8Date(this.listQuery.selectedMonth)
if (
this.$utils.isString(this.listQuery.selectedMonth) &&
this.listQuery.selectedMonth !== ''
) {
return toEast8Date(this.listQuery.selectedMonth)
}
return undefined
},
set: function(date) {
if (this.$utils.isDate(date)) {
this.listQuery.selectedMonth = formatDate(date, 'yyyy-MM')
} else {
this.listQuery.selectedMonth = undefined
}
} }
return undefined
}, },
bookStartDate4Query: { set: function(date) {
get: function() { if (this.$utils.isDate(date)) {
if ( this.listQuery.selectedMonth = formatDate(date, 'yyyy-MM')
this.$utils.isString(this.listQuery.bookStartDate) && } else {
this.listQuery.bookStartDate !== '' this.listQuery.selectedMonth = undefined
) { }
return toEast8Date(this.listQuery.bookStartDate) }
} },
return undefined bookStartDate4Query: {
}, get: function() {
set: function(date) { if (
if (this.$utils.isDate(date)) { this.$utils.isString(this.listQuery.bookStartDate) &&
this.listQuery.bookStartDate = formatDate(date, 'yyyy-MM') this.listQuery.bookStartDate !== ''
} else { ) {
this.listQuery.bookStartDate = undefined return toEast8Date(this.listQuery.bookStartDate)
}
} }
return undefined
}, },
bookEndDate4Query: { set: function(date) {
get: function() { if (this.$utils.isDate(date)) {
if ( this.listQuery.bookStartDate = formatDate(date, 'yyyy-MM')
this.$utils.isString(this.listQuery.bookEndDate) && } else {
this.listQuery.bookEndDate !== '' this.listQuery.bookStartDate = undefined
) {
return toEast8Date(this.listQuery.bookEndDate)
}
return undefined
},
set: function(date) {
if (this.$utils.isDate(date)) {
this.listQuery.bookEndDate = formatDate(date, 'yyyy-MM')
} else {
this.listQuery.bookEndDate = undefined
}
} }
} }
}, },
methods: { bookEndDate4Query: {
/** get: function() {
* 重置 if (
* */ this.$utils.isString(this.listQuery.bookEndDate) &&
reloadPage() { this.listQuery.bookEndDate !== ''
this.listQuery = { ) {
page: 1, return toEast8Date(this.listQuery.bookEndDate)
limit: 20,
flag: false,
zoneId: undefined,
liftCompany: undefined,
liftCompanyName: "",
numberPlate: undefined,
selectedMonth: undefined,
status: undefined,
bookType: undefined,
bookStartDate: undefined,
bookEndDate: undefined
};
if(this.listQuery){
localStorage.setItem("bookRecord", JSON.stringify(this.listQuery));
} }
this.getList(); return undefined
}, },
confirm() { set: function(date) {
if (this.returnForm.retCompany == '') { if (this.$utils.isDate(date)) {
this.$notify({ this.listQuery.bookEndDate = formatDate(date, 'yyyy-MM')
title: '失败',
message: '还车地点不能为空',
type: 'error',
duration: 2000
})
} else { } else {
this.returnForm.id = this.activeId this.listQuery.bookEndDate = undefined
updateById(this.returnForm).then(data => {
if (data.status == 200) {
this.$notify({
title: '成功',
message: '修改还车地点成功',
type: 'success',
duration: 2000
})
this.resetReturn = false;
this.dialogDetailVisible = false;
this.getList();
} else {
this.$notify({
title: '失败',
message: data.message,
type: 'error',
duration: 2000
})
}
})
} }
}, }
/** }
* 确定 },
* */ methods: {
okHandler() { /**
let arr = [] * 重置
this.fileList2.map(function(item) { * */
arr.push(item.url) reloadPage() {
this.listQuery = {
page: 1,
limit: 20,
flag: false,
zoneId: undefined,
liftCompany: undefined,
liftCompanyName: '',
numberPlate: undefined,
selectedMonth: undefined,
status: undefined,
bookType: undefined,
bookStartDate: undefined,
bookEndDate: undefined
}
if (this.listQuery) {
localStorage.setItem(
'bookRecord',
JSON.stringify(this.listQuery)
)
}
this.getList()
},
confirm() {
if (this.returnForm.retCompany == '') {
this.$notify({
title: '失败',
message: '还车地点不能为空',
type: 'error',
duration: 2000
}) })
let params = { } else {
illegalPic: arr.join(','), this.returnForm.id = this.activeId
illegalAmount: this.price, updateById(this.returnForm).then(data => {
id: this.detailId if (data.status == 200) {
}
saveOrderViolation(params).then(response => {
if (response.status === 200) {
this.$notify({ this.$notify({
title: '成功', title: '成功',
message: '创建成功', message: '修改还车地点成功',
type: 'success', type: 'success',
duration: 2000 duration: 2000
}) })
this.illegalVisible = false this.resetReturn = false
this.dialogDetailVisible = false
this.getList() this.getList()
} else { } else {
this.$notify({ this.$notify({
title: '创建失败', title: '失败',
message: '操作失败!', message: data.message,
type: 'error', type: 'error',
duration: 2000 duration: 2000
}) })
} }
}) })
}, }
/** },
* 上传成功 /**
* */ * 确定
handleSuccess(res, file) { * */
let c = { url: res.data } okHandler() {
this.fileList2.push(c) let arr = []
this.showLoadingBody = false this.fileList2.map(function(item) {
}, arr.push(item.url)
/** })
* 删除违章图片 let params = {
* */ illegalPic: arr.join(','),
handleRemove(file, fileList1) { illegalAmount: this.price,
this.fileList2 = fileList1 id: this.detailId
}, }
/** saveOrderViolation(params).then(response => {
* 出车上传成功 if (response.status === 200) {
* */ this.$notify({
handleDepartureSuccess(res, file) { title: '成功',
let c = { url: res.data } message: '创建成功',
this.departurePicList.push(c) type: 'success',
this.showLoadingBody = false duration: 2000
}, })
/** this.illegalVisible = false
* 删除出车图片 this.getList()
* */ } else {
handleDepartureRemove(file, fileList2) { this.$notify({
this.departurePicList = fileList2 title: '创建失败',
}, message: '操作失败!',
/** type: 'error',
* 上传成功 duration: 2000
* */
handleArrivalSuccess(res, file) {
let c = { url: res.data }
this.arrivalPicList.push(c)
this.showLoadingBody = false
},
/**
* 删除违章图片
* */
handleArrivalRemove(file, fileList3) {
this.arrivalPicList = fileList3
},
/**
* 操作-违章查询按钮,显示违章弹框
*/
illegalInquiry(row) {
var t = this
this.fileList2 = []
this.price = ''
if (row.vehicleDepartureLogVo.illegalPic) {
let arr = row.vehicleDepartureLogVo.illegalPic.split(',')
let fileList2 = []
let p = {}
arr.map(function(item) {
p = {
url: item
}
fileList2.push(p)
}) })
t.fileList2 = fileList2
}
if (row.vehicleDepartureLogVo.illegalAmount) {
t.price = parseFloat(row.vehicleDepartureLogVo.illegalAmount)
} }
this.detailId = row.vehicleDepartureLogVo.id })
this.illegalVisible = true },
}, /**
/** * 上传成功
* 弹框-取消 * */
* */ handleSuccess(res, file) {
cancel() { let c = { url: res.data }
this.illegalVisible = false this.fileList2.push(c)
}, this.showLoadingBody = false
handleDetail(row) { },
this.activeId = row.id /**
var t = this * 删除违章图片
this.detailItem = row * */
if (row.vehicleDepartureLogVo != undefined) { handleRemove(file, fileList1) {
if ( this.fileList2 = fileList1
row.vehicleDepartureLogVo.departurePic != undefined && },
row.vehicleDepartureLogVo.departurePic != '' /**
) { * 出车上传成功
let arr = row.vehicleDepartureLogVo.departurePic.split(',') * */
let departurePicList = [] handleDepartureSuccess(res, file) {
let p = {} let c = { url: res.data }
arr.map(function(item) { this.departurePicList.push(c)
departurePicList.push(item) this.showLoadingBody = false
}) },
t.departurePicList = departurePicList /**
} else { * 删除出车图片
t.departurePicList = [] * */
} handleDepartureRemove(file, fileList2) {
if ( this.departurePicList = fileList2
row.vehicleDepartureLogVo.arrivalPic != undefined && },
row.vehicleDepartureLogVo.arrivalPic != '' /**
) { * 上传成功
let Arr = row.vehicleDepartureLogVo.arrivalPic.split(',') * */
let arrivalPicList = [] handleArrivalSuccess(res, file) {
let p = {} let c = { url: res.data }
Arr.map(function(item) { this.arrivalPicList.push(c)
arrivalPicList.push(item) this.showLoadingBody = false
}) },
t.arrivalPicList = arrivalPicList /**
} else { * 删除违章图片
t.arrivalPicList = [] * */
handleArrivalRemove(file, fileList3) {
this.arrivalPicList = fileList3
},
/**
* 操作-违章查询按钮,显示违章弹框
*/
illegalInquiry(row) {
var t = this
this.fileList2 = []
this.price = ''
if (row.vehicleDepartureLogVo.illegalPic) {
let arr = row.vehicleDepartureLogVo.illegalPic.split(',')
let fileList2 = []
let p = {}
arr.map(function(item) {
p = {
url: item
} }
fileList2.push(p)
})
t.fileList2 = fileList2
}
if (row.vehicleDepartureLogVo.illegalAmount) {
t.price = parseFloat(row.vehicleDepartureLogVo.illegalAmount)
}
this.detailId = row.vehicleDepartureLogVo.id
this.illegalVisible = true
},
/**
* 弹框-取消
* */
cancel() {
this.illegalVisible = false
},
handleDetail(row) {
this.activeId = row.id
var t = this
this.detailItem = row
if (row.vehicleDepartureLogVo != undefined) {
if (
row.vehicleDepartureLogVo.departurePic != undefined &&
row.vehicleDepartureLogVo.departurePic != ''
) {
let arr = row.vehicleDepartureLogVo.departurePic.split(',')
let departurePicList = []
let p = {}
arr.map(function(item) {
departurePicList.push(item)
})
t.departurePicList = departurePicList
} else { } else {
t.departurePicList = [] t.departurePicList = []
t.arrivalPicList = []
}
this.dialogDetailVisible = true
},
//监听change事件
getProvinceRegions(item) {
this.listQuery.zoneId = item
this.baranchQuery.zoneId = item
// this.listQuery.liftCompany = undefined
// getAllBranchCompanyByZoneId(this.baranchQuery).then(response => {
// this.allBranchCompany = response.data
// })
},
getAllBranchCompanyChange(item) {
this.listQuery.liftCompany = item
},
querySearch(queryString, cb) {
let selectArry = []
let iitem = {
value: '全部',
name: '全部'
}
selectArry.push(iitem)
this.allCompaniesArr.map(function(item) {
item.value = item.name
selectArry.push(item)
})
this.selectArry = selectArry
var results = queryString
? selectArry.filter(this.createFilter(queryString))
: selectArry
// 调用 callback 返回建议列表的数据
cb(results)
},
createFilter(queryString) {
return restaurant => {
return restaurant.name.indexOf(queryString.toLowerCase()) != -1
} }
}, if (
/** row.vehicleDepartureLogVo.arrivalPic != undefined &&
* 提车分公司 row.vehicleDepartureLogVo.arrivalPic != ''
* */ ) {
handleSelect(item) { let Arr = row.vehicleDepartureLogVo.arrivalPic.split(',')
if (item.value == "全部") { let arrivalPicList = []
this.listQuery.liftCompany = undefined; let p = {}
Arr.map(function(item) {
arrivalPicList.push(item)
})
t.arrivalPicList = arrivalPicList
} else { } else {
this.listQuery.liftCompany = item.id; t.arrivalPicList = []
} }
}, } else {
cancelDialog4Lift(formName) { t.departurePicList = []
this.dialogForm4LiftVisible = false t.arrivalPicList = []
this.$refs[formName].resetFields() }
}, this.dialogDetailVisible = true
cancelDialog4Ret(formName) { },
this.dialogForm4RetVisible = false //监听change事件
this.$refs[formName].resetFields() getProvinceRegions(item) {
}, this.listQuery.zoneId = item
/** this.baranchQuery.zoneId = item
* 出车弹框-确定 // this.listQuery.liftCompany = undefined
* */ // getAllBranchCompanyByZoneId(this.baranchQuery).then(response => {
liftOk(formName) { // this.allBranchCompany = response.data
const set = this.$refs // })
set[formName].validate(valid => { },
if (valid) { getAllBranchCompanyChange(item) {
if (Number(this.departureForm.mileage) > 999999) { this.listQuery.liftCompany = item
},
querySearch(queryString, cb) {
let selectArry = []
let iitem = {
value: '全部',
name: '全部'
}
selectArry.push(iitem)
this.allCompaniesArr.map(function(item) {
item.value = item.name
selectArry.push(item)
})
this.selectArry = selectArry
var results = queryString
? selectArry.filter(this.createFilter(queryString))
: selectArry
// 调用 callback 返回建议列表的数据
cb(results)
},
createFilter(queryString) {
return restaurant => {
return restaurant.name.indexOf(queryString.toLowerCase()) != -1
}
},
/**
* 提车分公司
* */
handleSelect(item) {
if (item.value == '全部') {
this.listQuery.liftCompany = undefined
} else {
this.listQuery.liftCompany = item.id
}
},
cancelDialog4Lift(formName) {
this.dialogForm4LiftVisible = false
this.$refs[formName].resetFields()
},
cancelDialog4Ret(formName) {
this.dialogForm4RetVisible = false
this.$refs[formName].resetFields()
},
/**
* 出车弹框-确定
* */
liftOk(formName) {
const set = this.$refs
set[formName].validate(valid => {
if (valid) {
if (Number(this.departureForm.mileage) > 999999) {
this.$notify({
title: '警告',
message: '公里数不能大于999999',
type: 'warning',
duration: 2000
})
return false
}
var arr = []
this.departurePicList.map(function(item) {
arr.push(item.url)
})
this.departureForm.departurePic = arr.join(',')
departureVehicle(this.departureForm).then(response => {
if (response.status == 200) {
this.dialogForm4LiftVisible = false
this.$notify({ this.$notify({
title: '警告', title: '成功',
message: '公里数不能大于999999', message: '出车成功',
type: 'warning', type: 'success',
duration: 2000
})
this.cleanDepartureForm()
this.getList()
} else {
this.$notify({
title: '失败',
message: response.message,
type: 'error',
duration: 2000 duration: 2000
}) })
return false
} }
var arr = [] })
this.departurePicList.map(function(item) { } else {
arr.push(item.url) return false
}) }
this.departureForm.departurePic = arr.join(',') })
departureVehicle(this.departureForm).then(response => { },
if (response.status == 200) { handleBookInfo(row) {
this.dialogForm4LiftVisible = false this.$refs.bookInfoViewer.handleBookInfo(row.vehicle)
this.$notify({ },
title: '成功', handleAccItemInfo(row) {
message: '出车成功', this.selectedAccItem = row.accItemAndAmount
type: 'success', this.$refs.accItemSelector.show()
duration: 2000 },
}) checkIfBooked(bookedDate, [startDateStr, endDateStr]) {
this.cleanDepartureForm() if (
this.getList() this.$utils.isInteger(bookedDate) &&
} else { this.$utils.isString(startDateStr) &&
this.$notify({ startDateStr !== '' &&
title: '失败', this.$utils.isString(endDateStr) &&
message: response.message, endDateStr !== ''
type: 'error', ) {
duration: 2000 let startDate = toEast8Date(startDateStr)
}) let endDate = toEast8Date(endDateStr)
} for (
}) ;
} else { this.$utils.toDateString(startDate, 'yyyy-MM-dd') <=
return false this.$utils.toDateString(endDate, 'yyyy-MM-dd');
} startDate.setDate(startDate.getDate() + 1)
})
},
handleBookInfo(row) {
this.$refs.bookInfoViewer.handleBookInfo(row.vehicle)
},
handleAccItemInfo(row) {
this.selectedAccItem = row.accItemAndAmount
this.$refs.accItemSelector.show()
},
checkIfBooked(bookedDate, [startDateStr, endDateStr]) {
if (
this.$utils.isInteger(bookedDate) &&
this.$utils.isString(startDateStr) &&
startDateStr !== '' &&
this.$utils.isString(endDateStr) &&
endDateStr !== ''
) { ) {
let startDate = toEast8Date(startDateStr) if ((bookedDate & (1 << (startDate.getDate() - 1))) !== 0) {
let endDate = toEast8Date(endDateStr) return true
for (
;
this.$utils.toDateString(startDate, 'yyyy-MM-dd') <=
this.$utils.toDateString(endDate, 'yyyy-MM-dd');
startDate.setDate(startDate.getDate() + 1)
) {
if ((bookedDate & (1 << (startDate.getDate() - 1))) !== 0) {
return true
}
} }
} }
return false }
}, return false
checkIfApply(code) { },
return code === BOOK_RECORD_STATUS_APPLY checkIfApply(code) {
}, return code === BOOK_RECORD_STATUS_APPLY
checkIfProved(code) { },
return code === BOOK_RECORD_STATUS_PROVED checkIfProved(code) {
}, return code === BOOK_RECORD_STATUS_PROVED
checkIfLift(code) { },
return code === BOOK_RECORD_STATUS_LIFT checkIfLift(code) {
}, return code === BOOK_RECORD_STATUS_LIFT
getList() { },
this.listLoading = true getList() {
for (var key in this.listQuery) { this.listLoading = true
if (this.listQuery[key] === '') { for (var key in this.listQuery) {
this.listQuery[key] = undefined if (this.listQuery[key] === '') {
} this.listQuery[key] = undefined
} }
page(this.listQuery).then(response => { }
this.list = response.data.data page(this.listQuery).then(response => {
this.total = response.data.totalCount this.list = response.data.data
this.listLoading = false this.total = response.data.totalCount
}) this.listLoading = false
}, })
getBookRecordStatus: function(data) { },
this.bookRecordStatus['3'].val = '待出行' getBookRecordStatus: function(data) {
this.bookRecordStatus['4'].val = '驳回' this.bookRecordStatus['3'].val = '待出行'
this.bookRecordStatus['5'].val = '出行中' this.bookRecordStatus['4'].val = '驳回'
this.bookRecordStatus['7'].val = '已完成' this.bookRecordStatus['5'].val = '出行中'
if (data) { this.bookRecordStatus['7'].val = '已完成'
if (!this.$utils.isInteger(data.status)) { if (data) {
return '未知' if (!this.$utils.isInteger(data.status)) {
} return '未知'
if (
data.status == 2 &&
(data.vehicleDepartureLogVo == undefined ||
data.vehicleDepartureLogVo == null)
) {
return this.bookRecordStatus['3'].val
}
if (
data.status == 2 &&
data.vehicleDepartureLogVo != undefined &&
data.vehicleDepartureLogVo != null &&
data.vehicleDepartureLogVo.state == 0
) {
return this.bookRecordStatus['5'].val
}
if (
data.status == 2 &&
data.vehicleDepartureLogVo != undefined &&
data.vehicleDepartureLogVo != null &&
data.vehicleDepartureLogVo.state == 1
) {
return this.bookRecordStatus['7'].val
}
return this.bookRecordStatus[data.status + ''].val
} }
return ''
},
getAllBookRecordStatus: function() {
console.log(this.bookRecordStatus)
return this.bookRecordStatus
},
getDatePeriodStr([startDate, endDate]) {
if ( if (
this.$utils.isString(startDate) && data.status == 2 &&
startDate !== '' && (data.vehicleDepartureLogVo == undefined ||
this.$utils.isString(endDate) && data.vehicleDepartureLogVo == null)
endDate !== ''
) { ) {
return ( return this.bookRecordStatus['3'].val
formatDate(toEast8Date(startDate), 'yyyy-MM-dd') +
' 至 ' +
formatDate(toEast8Date(endDate), 'yyyy-MM-dd')
)
} }
return '未知' if (
}, data.status == 2 &&
/** data.vehicleDepartureLogVo != undefined &&
* 清空出车弹框数据 data.vehicleDepartureLogVo != null &&
*/ data.vehicleDepartureLogVo.state == 0
cleanDepartureForm() { ) {
this.departureForm = { return this.bookRecordStatus['5'].val
vehicleId: null,
departureBranchCompanyId: null, //出发地分公司id
departureBranchCompanyName: '', //出发地分公司名称
use: null,
user: null,
userTel: null,
checkMan: null,
checkManTel: null,
mileage: null,
numberPlate: null,
expectArrivalBranchCompanyId: null, //目的地分公司id
expectArrivalBranchCompanyName: '', //目的地分公司名称
bookRecordId: null,
departurePic: '',
remark: null,
bookStartDate: null
} }
}, if (
cleanArrivalForm() { data.status == 2 &&
this.arrivalForm = { data.vehicleDepartureLogVo != undefined &&
vehicleId: null, data.vehicleDepartureLogVo != null &&
numberPlate: null, data.vehicleDepartureLogVo.state == 1
arrivalDate: null, ) {
recycleMan: null, return this.bookRecordStatus['7'].val
recycleManTel: null,
mileage: null,
arrivalBranchCompanyId: null,
arrivalBranchCompanyName: '',
arrivalPic: '',
remark: '',
bookRecordId: null
} }
}, return this.bookRecordStatus[data.status + ''].val
/** }
* 搜索按钮 return ''
* */ },
handleFilter() { getAllBookRecordStatus: function() {
this.listQuery.page = 1 console.log(this.bookRecordStatus)
this.$refs.queryForm.validate(valid => {
if (valid) { return this.bookRecordStatus
if(this.listQuery){ },
localStorage.setItem("bookRecord", JSON.stringify(this.listQuery)); getDatePeriodStr([startDate, endDate]) {
if (
this.$utils.isString(startDate) &&
startDate !== '' &&
this.$utils.isString(endDate) &&
endDate !== ''
) {
return (
formatDate(toEast8Date(startDate), 'yyyy-MM-dd') +
' 至 ' +
formatDate(toEast8Date(endDate), 'yyyy-MM-dd')
)
}
return '未知'
},
/**
* 清空出车弹框数据
*/
cleanDepartureForm() {
this.departureForm = {
vehicleId: null,
departureBranchCompanyId: null, //出发地分公司id
departureBranchCompanyName: '', //出发地分公司名称
use: null,
user: null,
userTel: null,
checkMan: null,
checkManTel: null,
mileage: null,
numberPlate: null,
expectArrivalBranchCompanyId: null, //目的地分公司id
expectArrivalBranchCompanyName: '', //目的地分公司名称
bookRecordId: null,
departurePic: '',
remark: null,
bookStartDate: null
}
},
cleanArrivalForm() {
this.arrivalForm = {
vehicleId: null,
numberPlate: null,
arrivalDate: null,
recycleMan: null,
recycleManTel: null,
mileage: null,
arrivalBranchCompanyId: null,
arrivalBranchCompanyName: '',
arrivalPic: '',
remark: '',
bookRecordId: null
}
},
/**
* 搜索按钮
* */
handleFilter() {
this.listQuery.page = 1
this.$refs.queryForm.validate(valid => {
if (valid) {
if (this.listQuery) {
localStorage.setItem(
'bookRecord',
JSON.stringify(this.listQuery)
)
}
this.getList()
} else {
return false
}
})
},
handleSizeChange(val) {
this.listQuery.limit = val
this.getList()
},
handleCurrentChange(val) {
this.listQuery.page = val
this.getList()
},
handleProve(row) {
this.$confirm('确定批准申请?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
prove(row.id).then(response => {
if (
response.code ===
rsCode.code.VEHICLE_BOOKED_INFO_ALREADY_CHANGED
) {
this.$notify({
title: '失败',
message:
rsCode.msg[
rsCode.code
.VEHICLE_BOOKED_INFO_ALREADY_CHANGED
],
type: 'error',
duration: 2000
})
} else if (
response.code ===
rsCode.code.VEHICLE_BOOKED_RECORD_ALREADY_CHANGED
) {
this.$notify({
title: '失败',
message:
rsCode.msg[
rsCode.code
.VEHICLE_BOOKED_RECORD_ALREADY_CHANGED
],
type: 'error',
duration: 2000
})
} else if (response.code === rsCode.RS_CODE_SUC) {
this.$notify({
title: '成功',
message: '操作成功',
type: 'success',
duration: 2000
})
if (this.dialogDetailVisible) {
this.dialogDetailVisible = false
} }
this.getList()
} else {
return false
} }
this.getList()
}) })
}, })
handleSizeChange(val) { },
this.listQuery.limit = val rejectBtn(formName) {
this.getList() const set = this.$refs
}, set[formName].validate(valid => {
handleCurrentChange(val) { if (valid) {
this.listQuery.page = val reject(this.rejectFrom).then(response => {
this.getList() if (response.code == 1) {
},
handleProve(row) {
this.$confirm('确定批准申请?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
prove(row.id).then(response => {
if (
response.code ===
rsCode.code.VEHICLE_BOOKED_INFO_ALREADY_CHANGED
) {
this.$notify({
title: '失败',
message:
rsCode.msg[
rsCode.code
.VEHICLE_BOOKED_INFO_ALREADY_CHANGED
],
type: 'error',
duration: 2000
})
} else if (
response.code ===
rsCode.code.VEHICLE_BOOKED_RECORD_ALREADY_CHANGED
) {
this.$notify({
title: '失败',
message:
rsCode.msg[
rsCode.code
.VEHICLE_BOOKED_RECORD_ALREADY_CHANGED
],
type: 'error',
duration: 2000
})
} else if (response.code === rsCode.RS_CODE_SUC) {
this.$notify({ this.$notify({
title: '成功', title: '成功',
message: '操作成功', message: '操作成功',
type: 'success', type: 'success',
duration: 2000 duration: 2000
}) })
this.getList()
if (this.rejectVisible) {
this.rejectVisible = false
}
if (this.dialogDetailVisible) { if (this.dialogDetailVisible) {
this.dialogDetailVisible = false this.dialogDetailVisible = false
} }
} else {
this.$notify({
title: '失败',
message: response.message,
type: 'error',
duration: 2000
})
} }
this.getList()
}) })
}) } else {
}, return false
rejectBtn(formName) { }
const set = this.$refs })
set[formName].validate(valid => { },
if (valid) { handleReject(row) {
reject(this.rejectFrom).then(response => { this.rejectVisible = true
if (response.code == 1) { this.rejectFrom.vehicleBookRecordId = row.id
this.$notify({ this.rejectFrom.rejectRemark = ''
title: '成功', },
message: '操作成功', /**
type: 'success', * 操作-出车
duration: 2000 * @param row
}) */
this.getList() handleLift(row) {
if (this.rejectVisible) { this.cleanDepartureForm()
this.rejectVisible = false this.departurePicList = []
} if (row.bookType == 1) {
if (this.dialogDetailVisible) { this.departureForm.use = '租车'
this.dialogDetailVisible = false } else if (row.bookType == 2) {
} this.departureForm.use = '用户租赁'
} else { } else if (row.bookType == 3) {
this.$notify({ this.departureForm.use = '维修'
title: '失败', } else if (row.bookType == 4) {
message: response.message, this.departureForm.use = '展览'
type: 'error', } else if (row.bookType == 5) {
duration: 2000 this.departureForm.use = '旅游'
}) } else if (row.bookType == 6) {
} this.departureForm.use = '保养'
} else if (row.bookType == 7) {
this.departureForm.use = '预约中'
} else if (row.bookType == 8) {
this.departureForm.use = '禁用'
} else if (row.bookType == 9) {
this.departureForm.use = '客户用车'
} else if (row.bookType == 10) {
this.departureForm.use = '其他'
}
this.departureForm.bookRecordId = row.id
this.departureForm.vehicleId = row.vehicleId
this.departureForm.numberPlate = row.numberPlate
this.departureForm.departureDate = Date()
this.departureForm.departureBranchCompanyId = row.liftCompany
this.departureForm.departureBranchCompanyName = row.liftCompanyName
this.departureForm.user = row.vehicleUsername
this.departureForm.userTel = row.vehicleUserPhone
// if(row.vehicleDepartureLogVo!=undefined){
// this.departureForm.user = row.vehicleDepartureLogVo.user?row.vehicleDepartureLogVo.user:''
// this.departureForm.userTel = row.vehicleDepartureLogVo.userTel?row.vehicleDepartureLogVo.userTel:''
// }else{
// this.departureForm.user = ''
// this.departureForm.userTel = ''
// }
this.departureForm.expectArrivalBranchCompanyId = row.retCompany
this.departureForm.expectArrivalBranchCompanyName =
row.retCompanyName
this.dialogForm4LiftVisible = true
},
/**
* 操作-收车
* @param row
*/
handleRet(row) {
this.arrivalPicList = []
this.arrivalForm.bookRecordId = row.id
this.arrivalForm.vehicleId = row.vehicleId
this.arrivalForm.numberPlate = row.numberPlate
this.arrivalForm.arrivalDate = Date()
this.arrivalForm.arrivalBranchCompanyId = row.retCompany
this.arrivalForm.arrivalBranchCompanyName = row.retCompanyName
this.dialogForm4RetVisible = true
},
ret(formName) {
const set = this.$refs
set[formName].validate(valid => {
if (valid) {
if (Number(this.arrivalForm.mileage) > 999999) {
this.$notify({
title: '警告',
message: '公里数不能大于999999',
type: 'warning',
duration: 2000
}) })
} else {
return false return false
} }
}) var arr = []
}, this.arrivalPicList.map(function(item) {
handleReject(row) { arr.push(item.url)
this.rejectVisible = true })
this.rejectFrom.vehicleBookRecordId = row.id this.arrivalForm.arrivalPic = arr.join(',')
this.rejectFrom.rejectRemark = '' arrivalVehicle(this.arrivalForm).then(response => {
}, if (response.status == 200) {
/** this.dialogForm4RetVisible = false
* 操作-出车 this.$notify({
* @param row title: '成功',
*/ message: '收车成功',
handleLift(row) { type: 'success',
this.cleanDepartureForm() duration: 2000
this.departurePicList = [] })
if (row.bookType == 1) { this.cleanArrivalForm()
this.departureForm.use = '租车' this.getList()
} else if (row.bookType == 2) { } else {
this.departureForm.use = '用户租赁'
} else if (row.bookType == 3) {
this.departureForm.use = '维修'
} else if (row.bookType == 4) {
this.departureForm.use = '展览'
} else if (row.bookType == 5) {
this.departureForm.use = '旅游'
} else if (row.bookType == 6) {
this.departureForm.use = '保养'
} else if (row.bookType == 7) {
this.departureForm.use = '预约中'
} else if (row.bookType == 8) {
this.departureForm.use = '禁用'
} else if (row.bookType == 9) {
this.departureForm.use = '客户用车'
} else if (row.bookType == 10) {
this.departureForm.use = '其他'
}
this.departureForm.bookRecordId = row.id
this.departureForm.vehicleId = row.vehicleId
this.departureForm.numberPlate = row.numberPlate
this.departureForm.departureDate = Date()
this.departureForm.departureBranchCompanyId = row.liftCompany
this.departureForm.departureBranchCompanyName = row.liftCompanyName
this.departureForm.user = row.vehicleUsername
this.departureForm.userTel = row.vehicleUserPhone
// if(row.vehicleDepartureLogVo!=undefined){
// this.departureForm.user = row.vehicleDepartureLogVo.user?row.vehicleDepartureLogVo.user:''
// this.departureForm.userTel = row.vehicleDepartureLogVo.userTel?row.vehicleDepartureLogVo.userTel:''
// }else{
// this.departureForm.user = ''
// this.departureForm.userTel = ''
// }
this.departureForm.expectArrivalBranchCompanyId = row.retCompany
this.departureForm.expectArrivalBranchCompanyName =
row.retCompanyName
this.dialogForm4LiftVisible = true
},
/**
* 操作-收车
* @param row
*/
handleRet(row) {
this.arrivalPicList = []
this.arrivalForm.bookRecordId = row.id
this.arrivalForm.vehicleId = row.vehicleId
this.arrivalForm.numberPlate = row.numberPlate
this.arrivalForm.arrivalDate = Date()
this.arrivalForm.arrivalBranchCompanyId = row.retCompany
this.arrivalForm.arrivalBranchCompanyName = row.retCompanyName
this.dialogForm4RetVisible = true
},
ret(formName) {
const set = this.$refs
set[formName].validate(valid => {
if (valid) {
if (Number(this.arrivalForm.mileage) > 999999) {
this.$notify({ this.$notify({
title: '警告', title: '失败',
message: '公里数不能大于999999', message: response.message,
type: 'warning', type: 'error',
duration: 2000 duration: 2000
}) })
return false
} }
var arr = [] })
this.arrivalPicList.map(function(item) { } else {
arr.push(item.url) return false
}) }
this.arrivalForm.arrivalPic = arr.join(',') })
arrivalVehicle(this.arrivalForm).then(response => { },
if (response.status == 200) { handleUnbook(row) {
this.dialogForm4RetVisible = false this.$confirm('确定取消预定?', '提示', {
this.$notify({ confirmButtonText: '确定',
title: '成功', cancelButtonText: '取消',
message: '收车成功', type: 'warning'
type: 'success', }).then(() => {
duration: 2000 var obj = {
}) vehicleBookRecordId: row.id
this.cleanArrivalForm() }
this.getList()
} else {
this.$notify({
title: '失败',
message: response.message,
type: 'error',
duration: 2000
})
}
})
} else {
return false
}
})
},
handleUnbook(row) {
this.$confirm('确定取消预定?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
var obj = {
vehicleBookRecordId: row.id
}
unbook(obj) unbook(obj)
.then(response => { .then(response => {
if (response.code == 1) { if (response.code == 1) {
this.$notify({ this.$notify({
title: '成功', title: '成功',
message: '操作成功', message: '操作成功',
type: 'success', type: 'success',
duration: 2000 duration: 2000
})
this.getList()
} else {
this.$notify({
title: '失败',
message: response.message,
type: 'error',
duration: 2000
})
}
}) })
.catch(response => { this.getList()
console.log(response) } else {
this.$notify({
title: '失败',
message: response.message,
type: 'error',
duration: 2000
}) })
}) }
} })
.catch(response => {
console.log(response)
})
})
} }
} }
}
</script> </script>
<style scoped> <style scoped>
.order-details .el-form-item { .order-details .el-form-item {
margin-bottom: 0px !important; margin-bottom: 0px !important;
} }
.order-details hr { .order-details hr {
height: 1px; height: 1px;
background-color: #ccc; background-color: #ccc;
border: none; border: none;
} }
.image { .image {
width: 100%; width: 100%;
height: 110px; height: 110px;
display: block; display: block;
} }
.el-card__body, .el-card__body,
.el-card { .el-card {
padding: 0px !important; padding: 0px !important;
width: 150px; width: 150px;
text-align: center; text-align: center;
} }
.modal_modal { .modal_modal {
position: fixed; position: fixed;
left: 0; left: 0;
top: 0; top: 0;
width: 100%; width: 100%;
height: 100%; height: 100%;
opacity: 0.5; opacity: 0.5;
background: #000; background: #000;
z-index: 2001; z-index: 2001;
} }
.voucher{ .voucher {
width: 100px; width: 100px;
height: 100px; height: 100px;
} }
</style> </style>
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
@click="setVal(GMTToStrs(dayobject.day),index,dayobject.day.getMonth()+1 != currentMonth)" @click="setVal(GMTToStrs(dayobject.day),index,dayobject.day.getMonth()+1 != currentMonth)"
> >
<!-- 选中的状态 --> <!-- 选中的状态 -->
<span ref="activeDay"></span> <span ref="activeDay" v-show="dayobject.day.getMonth()+1 == currentMonth"></span>
<!-- <span :class="{isChosse:isChosses}" ref="activeDay"></span> --> <!-- <span :class="{isChosse:isChosses}" ref="activeDay"></span> -->
<!--本月--> <!--本月-->
...@@ -77,7 +77,7 @@ ...@@ -77,7 +77,7 @@
>{{ dayobject.day.getDate() }}</span> >{{ dayobject.day.getDate() }}</span>
<!--如果是本月 还需要判断是不是这一天--> <!--如果是本月 还需要判断是不是这一天-->
<span v-else ref="allDays"> <span v-else>
<span <span
v-if="dayobject.day.getFullYear() == new Date().getFullYear() && dayobject.day.getMonth() == new Date().getMonth() && dayobject.day.getDate() == new Date().getDate()" v-if="dayobject.day.getFullYear() == new Date().getFullYear() && dayobject.day.getMonth() == new Date().getMonth() && dayobject.day.getDate() == new Date().getDate()"
class="active" class="active"
...@@ -229,6 +229,7 @@ export default { ...@@ -229,6 +229,7 @@ export default {
this.levelsFn() this.levelsFn()
}, },
methods: { methods: {
//通用规则设置
submitForm(formName) { submitForm(formName) {
this.$refs[formName].validate(valid => { this.$refs[formName].validate(valid => {
if (valid) { if (valid) {
...@@ -249,8 +250,9 @@ export default { ...@@ -249,8 +250,9 @@ export default {
} }
}) })
}, },
//清空设置样式
changeIsGlobal(val) { changeIsGlobal(val) {
let activeStatus = this.$refs.activeDay let activeStatus = this.$refs.activeDay || ''
if (val == 0) { if (val == 0) {
for (let index = 0; index < activeStatus.length; index++) { for (let index = 0; index < activeStatus.length; index++) {
activeStatus[index].className = '' activeStatus[index].className = ''
...@@ -353,7 +355,6 @@ export default { ...@@ -353,7 +355,6 @@ export default {
}) })
} else { } else {
// console.log(params); // console.log(params);
add_edit(params, this.activeTime).then(data => { add_edit(params, this.activeTime).then(data => {
if (data.status == 200) { if (data.status == 200) {
this.$message.success('设置成功') this.$message.success('设置成功')
...@@ -439,6 +440,8 @@ export default { ...@@ -439,6 +440,8 @@ export default {
let date = new Date(time) let date = new Date(time)
let year = date.getFullYear() let year = date.getFullYear()
let month = date.getMonth() + 1 let month = date.getMonth() + 1
month = month.toString().length == 1 ? '0' + month : month
// console.log(month);
let datas = let datas =
date.getDate().toString().length == 1 date.getDate().toString().length == 1
? '0' + date.getDate() ? '0' + date.getDate()
...@@ -450,6 +453,7 @@ export default { ...@@ -450,6 +453,7 @@ export default {
let date = new Date(time) let date = new Date(time)
let year = date.getFullYear() let year = date.getFullYear()
let month = date.getMonth() + 1 let month = date.getMonth() + 1
month = month.toString().length == 1 ? '0' + month : month
let datas = let datas =
date.getDate().toString().length == 1 date.getDate().toString().length == 1
? '0' + date.getDate() ? '0' + date.getDate()
...@@ -559,6 +563,7 @@ export default { ...@@ -559,6 +563,7 @@ export default {
} }
}, },
pickPre: function(year, month) { pickPre: function(year, month) {
var activeStatus = this.$refs.activeDay || ''
// setDate(0); 上月最后一天 // setDate(0); 上月最后一天
// setDate(-1); 上月倒数第二天 // setDate(-1); 上月倒数第二天
// setDate(dx) 参数dx为 上月最后一天的前后dx天 // setDate(dx) 参数dx为 上月最后一天的前后dx天
...@@ -567,33 +572,49 @@ export default { ...@@ -567,33 +572,49 @@ export default {
this.initData(this.formatDate(d.getFullYear(), d.getMonth() + 1, 1)) this.initData(this.formatDate(d.getFullYear(), d.getMonth() + 1, 1))
this.getList() this.getList()
this.changeIsGlobal(0) if (this.calendarStatus == 1) {
this.chooseData = [] this.changeIsGlobal(0)
for (let index = 0; index < this.days.length; index++) {
if (
this.GMTToStr(
this.days[index] == this.chooseData[index]
)
) {
if (this.chooseData[index]) {
const indexs = this.days.findIndex(
item =>
this.GMTToStrs(item.day) ==
this.chooseData[index]
)
if (activeStatus[indexs]) activeStatus[indexs].className = 'isChosse'
}
}
}
}
}, },
pickNext: function(year, month) { pickNext: function(year, month) {
var activeStatus = this.$refs.activeDay || ''
var d = new Date(this.formatDate(year, month, 1)) var d = new Date(this.formatDate(year, month, 1))
d.setDate(35) d.setDate(35)
this.initData(this.formatDate(d.getFullYear(), d.getMonth() + 1, 1)) this.initData(this.formatDate(d.getFullYear(), d.getMonth() + 1, 1))
this.getList() this.getList()
this.changeIsGlobal(0) this.changeIsGlobal(0)
this.chooseData = [] for (let index = 0; index < this.days.length; index++) {
// this.reset() if (this.GMTToStr(this.days[index] == this.chooseData[index])) {
if (this.chooseData[index]) {
const indexs = this.days.findIndex(
item =>
this.GMTToStrs(item.day) ==
this.chooseData[index]
)
if (activeStatus[indexs]) activeStatus[indexs].className = 'isChosse'
// activeStatus[indexs].className = 'isChosse'
}
}
}
}, },
// reset() {
// if ((this.calendarStatus = 1)) {
// let activeStatus = this.$refs.activeDay
// let allDays = this.$refs.allDays
// for (let index = 0; index < activeStatus.length; index++) {
// if (
// this.days[index].day.getMonth() + 1 !=
// this.currentMonth
// ) {
// activeStatus[index].className = '';
// }
// }
// }
// },
// 返回 类似 2016-01-02 格式的字符串 // 返回 类似 2016-01-02 格式的字符串
formatDate: function(year, month, day) { formatDate: function(year, month, day) {
var y = year var y = year
......
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