Commit 4a7325f2 authored by xiaosl's avatar xiaosl

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

Conflicts:
	config/dev.env.js
	src/views/summit/model/reviewPopup.vue
	src/views/summit/model/summitPopup.vue
	src/views/vehicle/bookRecord/index.vue
	src/views/vehicle/vehicleInfo/index.vue
parents 1915df9b ed66af1f
module.exports = { module.exports = {
NODE_ENV: '"development"', NODE_ENV: '"development"',
<<<<<<< HEAD
BASE_API:'"https://xxtest.upyuns.com"',//'"https://dev.dfangche.com"',//'"https://xxfcmgmt.upyuns.com"(正)',//http://10.1.37.192:9527(何), //https://xxtest.upyuns.com(测),10.1.37.246:9527(韩), 10.1.37.244(李斌)10.1.37.248:8765(小威) BASE_API:'"https://xxtest.upyuns.com"',//'"https://dev.dfangche.com"',//'"https://xxfcmgmt.upyuns.com"(正)',//http://10.1.37.192:9527(何), //https://xxtest.upyuns.com(测),10.1.37.246:9527(韩), 10.1.37.244(李斌)10.1.37.248:8765(小威)
=======
BASE_API:'"https://xxtest.upyuns.com"',//'"https://xxtest.upyuns.com"',//'"https://dev.dfangche.com"',//'"https://xxfcmgmt.upyuns.com"(正)',//http://10.1.37.192:9527(何), //https://xxtest.upyuns.com(测),10.1.37.246:9527(韩), 10.1.37.244(李斌)10.1.37.248:8765(小威)
>>>>>>> ed66af1f93f55e2551b0b09c15e1697c72ecb84b
APP_ORIGIN: '"https://wallstreetcn.com"' APP_ORIGIN: '"https://wallstreetcn.com"'
} }
module.exports = { module.exports = {
NODE_ENV: '"sit"', NODE_ENV: '"sit"',
BASE_API: '"https://xxtest.upyuns.com"', BASE_API: '"https://dev.dfangche.com"',
APP_ORIGIN: '"https://wallstreetcn.com"' APP_ORIGIN: '"https://wallstreetcn.com"'
}; };
...@@ -99,15 +99,32 @@ export function postions(obj) { ...@@ -99,15 +99,32 @@ export function postions(obj) {
}); });
} }
// 身份列表
export function jobs(obj) {
return fetch({
url: '/api/admin/postion/admin/jobs',
method: 'get',
data: obj
});
}
// 添加员工 // 添加员工
export function addEditor(obj) { export function addEditor(obj) {
return fetch({ return fetch({
url: '/api/admin/postion/admin/add', url: '/api/admin/postion/admin/addUserPostion',
method: 'post', method: 'post',
data: obj data: obj
}); });
} }
// 编辑员工
export function editorUpd(obj) {
return fetch({
url: '/api/admin/postion/admin/updUserPostion',
method: 'post',
data: obj
});
}
//删除员工 //删除员工
export function deleteStaffs(id) { export function deleteStaffs(id) {
return fetch({ return fetch({
......
...@@ -80,7 +80,6 @@ function loadFromServer(type) { ...@@ -80,7 +80,6 @@ function loadFromServer(type) {
}); });
} }
console.log(rs);
return rs; return rs;
} }
......
...@@ -80,7 +80,6 @@ export function getSonRegionByCodes(code) { ...@@ -80,7 +80,6 @@ export function getSonRegionByCodes(code) {
if (!actualCode) { if (!actualCode) {
actualCode = rsCode.REGION_CODE_CHAINA; actualCode = rsCode.REGION_CODE_CHAINA;
} }
let sonRegions = store.getters.sonRegions(actualCode); let sonRegions = store.getters.sonRegions(actualCode);
if (!sonRegions) { if (!sonRegions) {
let datas = loadSonsFromServer(actualCode); let datas = loadSonsFromServer(actualCode);
......
...@@ -98,3 +98,19 @@ export function checkCode(code, id) { ...@@ -98,3 +98,19 @@ export function checkCode(code, id) {
method: 'get' method: 'get'
}); });
} }
//检查车架号是否存在
export function checkVin(vin, id) {
return fetch({
url: '/vehicle/vehicleInfo/exist_vin/' + vin + '?id=' + id,
method: 'get'
});
}
//检查车辆发动机号是否存在
export function checkEngineNum(engineNum, id) {
return fetch({
url: '/vehicle/vehicleInfo/exist_engineNum/' + engineNum + '?id=' + id,
method: 'get'
});
}
\ No newline at end of file
...@@ -170,7 +170,10 @@ export default { ...@@ -170,7 +170,10 @@ export default {
beforeAvatarUpload(file) { beforeAvatarUpload(file) {
var index = file.name.lastIndexOf('.') var index = file.name.lastIndexOf('.')
var ext = file.name.substr(index + 1) var ext = file.name.substr(index + 1)
<<<<<<< HEAD
console.log(ext) console.log(ext)
=======
>>>>>>> ed66af1f93f55e2551b0b09c15e1697c72ecb84b
if (ext != 'zip') { if (ext != 'zip') {
this.$message.error('上传压缩包只能是 zip 格式!') this.$message.error('上传压缩包只能是 zip 格式!')
return false return false
...@@ -197,7 +200,11 @@ export default { ...@@ -197,7 +200,11 @@ export default {
cre() { cre() {
let zipPic = [] let zipPic = []
this.list.forEach(element => { this.list.forEach(element => {
<<<<<<< HEAD
zipPic.push(element.url) zipPic.push(element.url)
=======
zipPic.push(element.response.data)
>>>>>>> ed66af1f93f55e2551b0b09c15e1697c72ecb84b
}) })
let mp4Vadio = [] let mp4Vadio = []
this.vadio.forEach(element => { this.vadio.forEach(element => {
...@@ -219,6 +226,11 @@ export default { ...@@ -219,6 +226,11 @@ export default {
: zipPic.join(',') + ',' + this.oldList : zipPic.join(',') + ',' + this.oldList
: zipPic.join(',') : zipPic.join(',')
} }
<<<<<<< HEAD
=======
// console.log(params);
>>>>>>> ed66af1f93f55e2551b0b09c15e1697c72ecb84b
save(params).then(res => { save(params).then(res => {
this.responseResult(res) this.responseResult(res)
}) })
......
...@@ -105,12 +105,16 @@ ...@@ -105,12 +105,16 @@
<el-form-item label="活动id:"> <el-form-item label="活动id:">
<!-- <el-input v-model="form.rid" placeholder="请输入签到/抽奖活动的id"></el-input> --> <!-- <el-input v-model="form.rid" placeholder="请输入签到/抽奖活动的id"></el-input> -->
<el-select v-model="form.rid" placeholder="请选择签到/抽奖活动id"> <el-select v-model="form.rid" placeholder="请选择签到/抽奖活动id">
<<<<<<< HEAD
<el-option <el-option
v-for="(item,index) in optionsId" v-for="(item,index) in optionsId"
:key="index" :key="index"
:label="item" :label="item"
:value="item" :value="item"
></el-option> ></el-option>
=======
<el-option v-for="(item,index) in optionsId" :key="index" :label="item" :value="item"></el-option>
>>>>>>> ed66af1f93f55e2551b0b09c15e1697c72ecb84b
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -151,20 +155,20 @@ ...@@ -151,20 +155,20 @@
<div> <div>
<el-row> <el-row>
<el-col> <el-col>
<<<<<<< HEAD
<el-form-item label="房车介绍:"> <el-form-item label="房车介绍:">
=======
<el-form-item label="房车介绍:" style="margin-top:20px">
>>>>>>> ed66af1f93f55e2551b0b09c15e1697c72ecb84b
<el-upload <el-upload
class="upload-demo"
: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" list-type="picture-card"
:file-list="fileList2" :file-list="fileList2"
:on-success="handleBannerSuccess" :on-success="handleBannerSuccess"
list-type="picture" :on-remove="handleRemove"
:headers="getHeaderWithToken"
> >
<div slot="tip" class="el-upload__tip"> <i class="el-icon-plus"></i>
<span style="color: red;">建议尺寸:1080*644px</span>
</div>
<el-button size="small" type="primary">点击上传</el-button>
</el-upload> </el-upload>
</el-form-item> </el-form-item>
<el-form-item label="峰会流程:"> <el-form-item label="峰会流程:">
...@@ -205,8 +209,8 @@ ...@@ -205,8 +209,8 @@
<el-row> <el-row>
<el-col> <el-col>
<el-button class="button" @click="cancelHandel">取 消</el-button> <el-button class="button" @click="cancelHandel">取 消</el-button>
<el-button class="button" type="primary" v-if="titleNme=='创建峰会'" @click="create('form')"> </el-button> <el-button class="button" type="primary" v-if="titleNme=='创建峰会'" @click="create('form')">确定</el-button>
<el-button class="button" type="primary" v-if="titleNme=='编辑峰会'" @click="update1()"> </el-button> <el-button class="button" type="primary" v-if="titleNme=='编辑峰会'" @click="update1()">确定</el-button>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
...@@ -287,7 +291,11 @@ export default { ...@@ -287,7 +291,11 @@ export default {
created() { created() {
activityIds().then(data => { activityIds().then(data => {
if (data.status == 200) { if (data.status == 200) {
<<<<<<< HEAD
this.optionsId = data.data; this.optionsId = data.data;
=======
this.optionsId = data.data
>>>>>>> ed66af1f93f55e2551b0b09c15e1697c72ecb84b
} }
}) })
}, },
...@@ -306,11 +314,14 @@ export default { ...@@ -306,11 +314,14 @@ export default {
} }
}, },
methods: { methods: {
handleBannerSuccess(res, file) { handleBannerSuccess(res, file, fileList) {
this.fileList2.push({ url: res.data }) console.log(fileList);
this.form.vehicleImgs = this.fileList2 this.fileList2 = fileList
// this.form.vehicleImgs = this.fileList2
},
handleRemove(res, file, fileList) {
this.fileList2 = file
}, },
handleRemove() {},
getOrderInfo() { getOrderInfo() {
this.title = this.titleNme this.title = this.titleNme
if (this.title === '编辑峰会') { if (this.title === '编辑峰会') {
...@@ -384,7 +395,11 @@ export default { ...@@ -384,7 +395,11 @@ export default {
}, },
getState(status) { getState(status) {
if (this.$utils.isInteger(status)) { if (this.$utils.isInteger(status)) {
<<<<<<< HEAD
console.log(status); console.log(status);
=======
console.log(status)
>>>>>>> ed66af1f93f55e2551b0b09c15e1697c72ecb84b
if (status == 0) { if (status == 0) {
return '默认' return '默认'
} else { } else {
...@@ -450,10 +465,24 @@ export default { ...@@ -450,10 +465,24 @@ export default {
? (this.form.bmCloseTime = this.form.bmCloseTime) ? (this.form.bmCloseTime = this.form.bmCloseTime)
: (this.form.bmCloseTime = this.form.bmCloseTime.getTime()) : (this.form.bmCloseTime = this.form.bmCloseTime.getTime())
let pic = [] let pic = []
<<<<<<< HEAD
if (!!this.form.vehicleImgs) { if (!!this.form.vehicleImgs) {
this.form.vehicleImgs.forEach(element => { this.form.vehicleImgs.forEach(element => {
pic.push(element.url) pic.push(element.url)
}) })
=======
if (this.fileList2 != '') {
console.log(this.fileList2);
this.fileList2.forEach(element => {
if (!!element.response) {
pic.push(element.response.data)
}else{
pic.push(element.url);
}
});
console.log(pic);
>>>>>>> ed66af1f93f55e2551b0b09c15e1697c72ecb84b
this.form.vehicleImgs = pic.join(',') this.form.vehicleImgs = pic.join(',')
} }
...@@ -501,12 +530,27 @@ export default { ...@@ -501,12 +530,27 @@ export default {
this.form.startTime = this.form.startTime.getTime() this.form.startTime = this.form.startTime.getTime()
this.form.bmCloseTime = this.form.bmCloseTime.getTime() this.form.bmCloseTime = this.form.bmCloseTime.getTime()
let pic = [] let pic = []
<<<<<<< HEAD
if (!!this.form.vehicleImgs) { if (!!this.form.vehicleImgs) {
this.form.vehicleImgs.forEach(element => { this.form.vehicleImgs.forEach(element => {
pic.push(element.url) pic.push(element.url)
}) })
this.form.vehicleImgs = pic.join(',') this.form.vehicleImgs = pic.join(',')
} }
=======
if (this.fileList2 != '') {
this.fileList2.forEach(element => {
pic.push(element.response.data);
});
this.form.vehicleImgs = pic.join(',')
}
// if (!!this.form.vehicleImgs) {
// this.form.vehicleImgs.forEach(element => {
// pic.push(element.url)
// })
// this.form.vehicleImgs = pic.join(',')
// }
>>>>>>> ed66af1f93f55e2551b0b09c15e1697c72ecb84b
this.dataProcessing() this.dataProcessing()
add(this.form).then(res => { add(this.form).then(res => {
this.responseResult(res) this.responseResult(res)
...@@ -516,7 +560,11 @@ export default { ...@@ -516,7 +560,11 @@ export default {
dataProcessing() { dataProcessing() {
if (this.form.state === '默认') { if (this.form.state === '默认') {
this.form.status = '0' this.form.status = '0'
<<<<<<< HEAD
}else{ }else{
=======
} else {
>>>>>>> ed66af1f93f55e2551b0b09c15e1697c72ecb84b
this.form.status = this.statusRadio this.form.status = this.statusRadio
} }
this.form.processJson = JSON.stringify(this.processJson) this.form.processJson = JSON.stringify(this.processJson)
......
<template> <template>
<div class="app-container calendar-list-container"> <div class="app-container calendar-list-container">
<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="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-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item label="姓名"> <el-form-item label="姓名">
<el-input v-model.number="listQuery.name" placeholder="请输入姓名"></el-input> <el-input v-model.number="listQuery.name" placeholder="请输入姓名"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item label="状态"> <el-form-item label="状态">
<el-select class="filter-item" v-model="listQuery.status" placeholder="请选员工状态"> <el-select class="filter-item" v-model="listQuery.status" placeholder="请选员工状态">
<el-option :key="undefined" label="全部" :value="undefined"></el-option>
<el-option
v-for="(item,index) in statusList "
:key="index"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="分公司">
<el-autocomplete
class="inline-input"
v-model="listQuery.companyName"
:fetch-suggestions="querySearch"
placeholder="请选择分公司"
@select="handleSelectPark"
clearable
></el-autocomplete>
<!-- <el-select class="filter-item" v-model="listQuery.status" placeholder="请选分公司">
<el-option :key="undefined" label="全部" :value="undefined"></el-option> <el-option :key="undefined" label="全部" :value="undefined"></el-option>
<el-option <el-option
v-for="(item,index) in statusList " v-for="(item,index) in companyList "
:key="index" :key="index"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
></el-option> ></el-option>
</el-select> </el-select>-->
</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 <el-button class="filter-item" type="primary" v-waves icon="delete" @click="cleaningQuery">清除搜索条件</el-button>
class="filter-item"
type="primary" <el-button class="filter-item" type="primary" v-waves @click="addStaff">新增员工</el-button>
v-waves <el-button class="filter-item" type="primary" v-waves @click="toLoad">批量导入员工</el-button>
icon="delete"
@click="cleaningQuery"
>清除搜索条件</el-button>
<el-button class="filter-item" type="primary" v-waves @click="addStaff">新增员工</el-button> <el-table
<el-button class="filter-item" type="primary" v-waves @click="toLoad">批量导入员工</el-button> :key="tableKey"
:data="list"
v-loading="listLoading"
border
fit
highlight-current-row
style="width: 100%"
>
<el-table-column prop="name" label="姓名" width="180" align="center"></el-table-column>
<el-table-column prop="phone" label="手机号" align="center"></el-table-column>
<el-table-column prop="jobName" label="职位" align="center"></el-table-column>
<el-table-column prop="companyName" label="所属公司" align="center"></el-table-column>
<el-table-column prop="positionName" label="身份" align="center"></el-table-column>
<el-table-column label="状态" align="center">
<template scope="scope">
<span v-if="scope.row.status == 1">已核销</span>
<span v-else>未核销</span>
</template>
</el-table-column>
<el-table-column align="center" label="操作" width="400" fixed="right">
<template scope="scope">
<el-button
size="small"
class="el-button el-button--text el-button--small"
@click="editorStaff(scope.row)"
v-if="scope.row.status != 1"
>编辑</el-button>
<el-button
size="small"
class="el-button el-button--text el-button--small"
@click="deleteStaff(scope.row)"
v-if="scope.row.status != 1"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<el-table <el-pagination
:key="tableKey" @size-change="handleSizeChange"
:data="list" @current-change="handleCurrentChange"
v-loading="listLoading" :current-page.sync="listQuery.page"
border :page-sizes="[10,20,30, 50]"
fit :page-size="listQuery.limit"
highlight-current-row layout="total, sizes, prev, pager, next, jumper"
style="width: 100%" :total="total"
> style="margin-top:20px"
<el-table-column prop="name" label="姓名" width="180" align="center"></el-table-column> ></el-pagination>
<el-table-column prop="phone" label="手机号" align="center"></el-table-column>
<el-table-column prop="positionName" label="身份" align="center"></el-table-column>
<el-table-column label="状态" align="center">
<template scope="scope">
<span v-if="scope.row.status == 1">已核销</span>
<span v-else>未核销</span>
</template>
</el-table-column>
<el-table-column align="center" label="操作" width="400" fixed="right">
<template scope="scope">
<el-button
size="small"
class="el-button el-button--text el-button--small"
@click="editorStaff(scope.row)"
v-if="scope.row.status != 1"
>编辑</el-button>
<el-button
size="small"
class="el-button el-button--text el-button--small"
@click="deleteStaff(scope.row)"
v-if="scope.row.status != 1"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination <!-- 新增编辑员工 -->
@size-change="handleSizeChange" <el-dialog :title="staffTitle" :visible.sync="bulkUploadMember" class="member" @close="closeAdd">
@current-change="handleCurrentChange" <el-form :model="staffTitleFrom" ref="userMembership" :rules="rules" label-width="100px">
:current-page.sync="listQuery.page" <el-form-item label="员工姓名">
:page-sizes="[10,20,30, 50]" <el-input v-model.number="staffTitleFrom.name" placeholder="请输入姓名"></el-input>
:page-size="listQuery.limit" </el-form-item>
layout="total, sizes, prev, pager, next, jumper" <el-form-item label="手机号">
:total="total" <el-input v-model.number="staffTitleFrom.phone" placeholder="请输入手机号"></el-input>
style="margin-top:20px" </el-form-item>
></el-pagination> <el-form-item label="员工身份">
<el-select
class="filter-item"
v-model="staffTitleFrom.positionId"
placeholder="请选择员工身份"
style="width:100%"
>
<el-option :key="undefined" label="全部" :value="undefined"></el-option>
<el-option
v-for="(item,index) in postionsList "
:key="index"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<!-- 新增编辑员工 --> <el-form-item label="员工职位">
<el-dialog <el-select
:title="staffTitle" class="filter-item"
:visible.sync="bulkUploadMember" v-model="staffTitleFrom.jobId"
class="member" placeholder="请选择员工身份"
@close="closeAdd" style="width:100%"
> >
<el-form :model="staffTitleFrom" ref="userMembership" :rules="rules" label-width="100px"> <el-option :key="undefined" label="全部" :value="undefined"></el-option>
<el-form-item label="员工姓名"> <el-option
<el-input v-model.number="staffTitleFrom.name" placeholder="请输入姓名"></el-input> v-for="(item,index) in jobsList "
</el-form-item> :key="index"
<el-form-item label="手机号"> :label="item.name"
<el-input v-model.number="staffTitleFrom.phone" placeholder="请输入手机号"></el-input> :value="item.id"
</el-form-item> ></el-option>
<el-form-item label="员工身份"> </el-select>
<el-select </el-form-item>
class="filter-item"
v-model="staffTitleFrom.positionId"
placeholder="请选择员工身份"
style="width:100%"
>
<el-option :key="undefined" label="全部" :value="undefined"></el-option>
<el-option
v-for="(item,index) in postionsList "
:key="index"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<div style="text-align:center">
<el-button type="primary" @click="confirm">确 定</el-button>
<el-button type="primary" @click="bulkUploadMember = false">取消</el-button>
</div>
</el-form>
</el-dialog>
<!--批量导入会员窗口--> <el-form-item label="分公司">
<el-dialog title="导入会员" :visible.sync="tolead"> <el-autocomplete
<el-form :model="fileForm"> class="inline-input"
<el-form-item label="上传文件" label-width="80px"> v-model="staffTitleFrom.companyName"
<el-button type="primary" icon="el-icon-download"> :fetch-suggestions="querySearch"
<a placeholder="请选择分公司"
class="el-icon-download" style="width:100%"
href="https://mgmt.dfangche.com/axshare/userposition.xlsx" @select="handleSelectParks"
>下载模板</a> ></el-autocomplete>
</el-button> </el-form-item>
<div style="text-align:center">
<el-button type="primary" @click="confirm">确 定</el-button>
<el-button type="primary" @click="bulkUploadMember = false">取消</el-button>
</div>
</el-form>
</el-dialog>
<el-upload <!--批量导入会员窗口-->
ref="uploadExcel" <el-dialog title="导入会员" :visible.sync="tolead">
:limit="limitNum" <el-form :model="fileForm">
action="1111" <el-form-item label="上传文件" label-width="80px">
:headers="getHeaderWithToken" <el-button type="primary" icon="el-icon-download">
accept=".xlsx" <a class="el-icon-download" href="https://mgmt.dfangche.com/axshare/userposition.xlsx">下载模板</a>
:http-request="upLoad" </el-button>
:on-remove="handleRemove"
:before-remove="beforeRemove"
:before-upload="beforeUploadFile"
:on-change="fileChange"
:on-exceed="exceedFile"
:file-list="fileList"
>
<el-button size="small" type="primary" icon="el-icon-edit">
上传文件
<i class="el-icon-upload el-icon--right"></i>
</el-button>
<div slot="tip" class="el-upload__tip">只能上传xlsx(Excel2007以上版本)文件,且不超过10M</div>
</el-upload>
<el-button
size="small"
class="filter-item"
type="primary"
@click="cancelNotDeleteForm"
>取消</el-button>
</el-form-item>
</el-form>
</el-dialog>
<!-- 提示 --> <el-upload
<el-dialog title="上传提示" :visible.sync="uploadHiut"> ref="uploadExcel"
<p> :limit="limitNum"
上传成功: action="1111"
<b>{{uploadListHiut.success}}</b>条,上传失败: :headers="getHeaderWithToken"
<b>{{uploadListHiut.error}}</b> accept=".xlsx"
</p> :http-request="upLoad"
<ul class="defeated"> :on-remove="handleRemove"
<li v-for="(item,index) in uploadListHiut.uploadList" :key="index"> :before-remove="beforeRemove"
<p> :before-upload="beforeUploadFile"
失败行数: :on-change="fileChange"
<span>{{item.num}}</span>,失败原因: :on-exceed="exceedFile"
<span>{{item.msg}}</span> :file-list="fileList"
</p> >
</li> <el-button size="small" type="primary" icon="el-icon-edit">
</ul> 上传文件
</el-dialog> <i class="el-icon-upload el-icon--right"></i>
</div> </el-button>
</div> <div slot="tip" class="el-upload__tip">只能上传xlsx(Excel2007以上版本)文件,且不超过10M</div>
</el-upload>
<el-button size="small" class="filter-item" type="primary" @click="cancelNotDeleteForm">取消</el-button>
</el-form-item>
</el-form>
</el-dialog>
<!-- 提示 -->
<el-dialog title="上传提示" :visible.sync="uploadHiut">
<p>
上传成功:
<b>{{uploadListHiut.success}}</b>条,上传失败:
<b>{{uploadListHiut.error}}</b>
</p>
<ul class="defeated">
<li v-for="(item,index) in uploadListHiut.uploadList" :key="index">
<p>
失败行数:
<span>{{item.num}}</span>,失败原因:
<span>{{item.msg}}</span>
</p>
</li>
</ul>
</el-dialog>
</div>
</div>
</template> </template>
<script> <script>
import { import {
staffList, staffList,
postions, postions,
addEditor, addEditor,
deleteStaffs deleteStaffs,
} from "src/api/admin/userManagement/index"; jobs,editorUpd
import { getToken } from "src/utils/auth"; } from 'src/api/admin/userManagement/index'
import { mapGetters } from "vuex"; import { getToken } from 'src/utils/auth'
import { staffImport } from "src/api/admin/UserMember/index"; import { mapGetters } from 'vuex'
import { staffImport } from 'src/api/admin/UserMember/index'
import { getAll } from 'api/base_info/branch_company'
export default { export default {
created() { created() {
this.getList(); this.getList()
this.postionsFn(); this.postionsFn()
}, this.getAllFn()
computed: { this.jobsFn()
...mapGetters(["elements"]), },
/** computed: {
* 获取token ...mapGetters(['elements']),
*/ /**
* 获取token
*/
getHeaderWithToken() { getHeaderWithToken() {
return { Authorization: getToken() }; return { Authorization: getToken() }
} }
}, },
data() { data() {
return { return {
activeId: "", jobsList: [],
uploadListHiut: { activeId: '',
uploadList: [], uploadListHiut: {
success: "", uploadList: [],
error: "" success: '',
}, error: ''
uploadHiut: false, },
fileList: [], companyList: [],
BASE_API: process.env.BASE_API, uploadHiut: false,
limitNum: 1, fileList: [],
fileForm: { BASE_API: process.env.BASE_API,
file: "" limitNum: 1,
}, fileForm: {
tolead: false, file: ''
listQuery: { },
name: "", tolead: false,
phone: "", listQuery: {
status: null, name: '',
page: 1, phone: '',
limit: 10 status: null,
}, page: 1,
total: null, limit: 10,
tableKey: 0, companyId: '',
list: [], companyName: ''
listLoading: true, },
statusList: [ total: null,
{ tableKey: 0,
label: "未核销", list: [],
value: "0" listLoading: true,
}, statusList: [
{ {
label: "已核销", label: '未核销',
value: "1" value: '0'
} },
], {
postionsList: [], label: '已核销',
staffTitle: "新增员工", value: '1'
bulkUploadMember: false, }
staffTitleFrom: { ],
phone: "", postionsList: [],
name: "", staffTitle: '新增员工',
positionId: "" bulkUploadMember: false,
}, staffTitleFrom: {
rules: {} phone: '',
}; name: '',
}, positionId: '',
methods: { jobId: '',
//新增,编辑员工弹窗关闭 companyId: '',
closeAdd() { companyName: ''
this.staffTitleFrom = { },
phone: "", rules: {}
name: "", }
positionId: "" },
}; methods: {
}, handleSelectPark(item) {
upLoad(file) { this.listQuery.companyId = item.id
var form = new FormData(); },
// 文件对象 handleSelectParks(item) {
form.append("file", file.file); this.staffTitleFrom.companyId = item.id
staffImport(form).then(res => { this.staffTitleFrom.companyName = item.name
console.log(res); },
this.uploadHiut = true; createFilter(queryString) {
(this.uploadListHiut = { return restaurant => {
uploadList: res.data.data, return restaurant.name.indexOf(queryString.toLowerCase()) != -1
success: res.data.success, }
error: res.data.error },
}), querySearch(queryString, cb) {
this.getList(); let selectArry = []
}); this.companyList.map(function(item) {
}, item.value = item.name
//excel上传 selectArry.push(item)
handleRemove(file, fileList) { })
//console.log(file, fileList); this.selectArry = selectArry
}, var results = queryString
handlePreview(file) { ? selectArry.filter(this.createFilter(queryString))
//console.log(file); : selectArry
}, // 调用 callback 返回建议列表的数据
beforeRemove(file, fileList) { cb(results)
return this.$confirm(`确定移除 ${file.name}?`); },
}, //分公司
// 文件超出个数限制时的钩子 getAllFn() {
exceedFile(files, fileList) { getAll().then(data => {
this.$notify.warning({ if (data.status == 200) {
title: "警告", this.companyList = data.data;
message: `只能选择 ${ this.companyList.unshift({name:'全部',id:''})
this.limitNum console.log(this.companyList);
} 个文件,当前共选择了 ${files.length + fileList.length} 个`
}); }
}, })
// 文件状态改变时的钩子 },
fileChange(file, fileList) { //新增,编辑员工弹窗关闭
//console.log("change"); closeAdd() {
//console.log(file); this.staffTitleFrom = {
this.fileForm.file = file.raw; phone: '',
//console.log(this.fileForm.file); name: '',
// console.log(fileList); positionId: '',
}, jobId: '',
// 上传文件之前的钩子, 参数为上传的文件,若返回 false 或者返回 Promise 且被 reject,则停止上传 companyId: '',
beforeUploadFile(file) { companyName: ''
//console.log("before upload"); }
//console.log(file); },
let extension = file.name.substring(file.name.lastIndexOf(".") + 1); upLoad(file) {
let size = file.size / 1024 / 1024; var form = new FormData()
if (extension !== "xlsx") { // 文件对象
this.$notify.warning({ form.append('file', file.file)
title: "警告", staffImport(form).then(res => {
message: `只能上传Excel 2007以上版本(即后缀是.xlsx)的文件` console.log(res)
}); this.uploadHiut = true
} ;(this.uploadListHiut = {
if (size > 10) { uploadList: res.data.data,
this.$notify.warning({ success: res.data.success,
title: "警告", error: res.data.error
message: `文件大小不得超过10M` }),
}); this.getList()
} })
}, },
cancelNotDeleteForm() { //excel上传
this.tolead = false; handleRemove(file, fileList) {
this.$refs.uploadExcel.clearFiles(); //console.log(file, fileList);
}, },
//员工列表 handlePreview(file) {
getList() { //console.log(file);
staffList(this.listQuery).then(data => { },
this.listLoading = true; beforeRemove(file, fileList) {
if (data.status == 200) { return this.$confirm(`确定移除 ${file.name}?`)
console.log(data); },
this.list = data.data.data; // 文件超出个数限制时的钩子
this.total = data.data.totalCount; exceedFile(files, fileList) {
this.listLoading = false; this.$notify.warning({
} title: '警告',
}); message: `只能选择 ${
}, this.limitNum
handleSizeChange(val) { } 个文件,当前共选择了 ${files.length + fileList.length} 个`
this.listQuery.limit = val; })
this.getList(); },
}, // 文件状态改变时的钩子
handleCurrentChange(val) { fileChange(file, fileList) {
this.listQuery.page = val; //console.log("change");
this.getList(); //console.log(file);
}, this.fileForm.file = file.raw
//搜索 //console.log(this.fileForm.file);
handleFilter() { // console.log(fileList);
this.getList(); },
}, // 上传文件之前的钩子, 参数为上传的文件,若返回 false 或者返回 Promise 且被 reject,则停止上传
//清空搜索条件 beforeUploadFile(file) {
cleaningQuery() { //console.log("before upload");
this.listQuery.page = 1; //console.log(file);
this.listQuery.limit = 10; let extension = file.name.substring(file.name.lastIndexOf('.') + 1)
this.listQuery.name = ""; let size = file.size / 1024 / 1024
this.listQuery.phone = ""; if (extension !== 'xlsx') {
this.listQuery.status = ""; this.$notify.warning({
this.getList(); title: '警告',
}, message: `只能上传Excel 2007以上版本(即后缀是.xlsx)的文件`
//新增员工 })
addStaff() { }
this.staffTitle == "新增员工" if (size > 10) {
this.bulkUploadMember = true; this.$notify.warning({
}, title: '警告',
//批量导入员工 message: `文件大小不得超过10M`
toLoad() { })
this.tolead = true; }
}, },
//编辑员工 cancelNotDeleteForm() {
editorStaff(row) { this.tolead = false
this.activeId = row.id; this.$refs.uploadExcel.clearFiles()
this.staffTitle = "编辑员工"; },
this.bulkUploadMember = true; //员工列表
this.staffTitleFrom = { getList() {
phone: row.phone, staffList(this.listQuery).then(data => {
name: row.name, this.listLoading = true
positionId: row.positionId if (data.status == 200) {
}; console.log(data)
}, this.list = data.data.data
//删除员工 this.total = data.data.totalCount
deleteStaff(row) { this.listLoading = false
this.$confirm("确定删除吗?", "提示", { }
confirmButtonText: "确定", })
cancelButtonText: "取消", },
type: "warning" handleSizeChange(val) {
}).then(() => { this.listQuery.limit = val
deleteStaffs(row.id).then(data => { this.getList()
if (data.status == 200) { },
this.$notify({ handleCurrentChange(val) {
title: "成功", this.listQuery.page = val
message: "删除成功", this.getList()
type: "success", },
duration: 2000 //搜索
}); handleFilter() {
this.getList(); this.getList()
} else { },
this.$notify({ //清空搜索条件
title: "失败", cleaningQuery() {
message: "删除失败", this.listQuery.page = 1
type: "failed", this.listQuery.limit = 10
duration: 2000 this.listQuery.name = ''
}); this.listQuery.phone = ''
} this.listQuery.status = ''
}); this.listQuery.companyId = ''
}); this.listQuery.companyName = ''
}, this.getList()
//确定 },
confirm(formName) { //新增员工
if (this.staffTitle == "新增员工") { addStaff() {
addEditor(this.staffTitleFrom).then(data => { this.staffTitle = '新增员工'
if (data.status == 200) { this.bulkUploadMember = true
this.$notify({ },
title: "成功", //批量导入员工
message: "新增成功", toLoad() {
type: "success", this.tolead = true
duration: 2000 },
}); //编辑员工
this.bulkUploadMember = false; editorStaff(row) {
this.getList(); this.activeId = row.id
} this.staffTitle = '编辑员工'
}); this.bulkUploadMember = true
} else { this.staffTitleFrom = {
this.staffTitleFrom.id = this.activeId; phone: row.phone,
addEditor(this.staffTitleFrom).then(data => { name: row.name,
if (data.status == 200) { positionId: row.positionId,
this.$notify({ companyId:row.companyId,
title: "成功", companyName:row.companyName,
message: "编辑成功", }
type: "success", },
duration: 2000 //删除员工
}); deleteStaff(row) {
this.bulkUploadMember = false; this.$confirm('确定删除吗?', '提示', {
this.getList(); confirmButtonText: '确定',
} cancelButtonText: '取消',
}); type: 'warning'
} }).then(() => {
}, deleteStaffs(row.id).then(data => {
//身份列表 if (data.status == 200) {
postionsFn() { this.$notify({
postions().then(data => { title: '成功',
//console.log(data); message: '删除成功',
if (data.status == 200) { type: 'success',
this.postionsList = data.data; duration: 2000
} })
}); this.getList()
}, } else {
resetForm(formName) { this.$notify({
this.$refs[formName].resetFields(); title: '失败',
} message: '删除失败',
} type: 'failed',
}; duration: 2000
})
}
})
})
},
//确定
confirm(formName) {
if (this.staffTitle == '新增员工') {
addEditor(this.staffTitleFrom).then(data => {
if (data.status == 200) {
this.$notify({
title: '成功',
message: '新增成功',
type: 'success',
duration: 2000
})
this.bulkUploadMember = false
this.getList()
}else {
this.$notify({
title: '失败',
message: data.message,
type: 'failed',
duration: 2000
})
}
})
} else {
this.staffTitleFrom.id = this.activeId
editorUpd(this.staffTitleFrom).then(data => {
if (data.status == 200) {
this.$notify({
title: '成功',
message: '编辑成功',
type: 'success',
duration: 2000
})
this.bulkUploadMember = false
this.getList()
}else {
this.$notify({
title: '失败',
message: data.message,
type: 'failed',
duration: 2000
})
}
})
}
},
//身份列表
postionsFn() {
postions().then(data => {
//console.log(data);
if (data.status == 200) {
this.postionsList = data.data
}
})
},
jobsFn() {
jobs().then(data => {
//console.log(data);
if (data.status == 200) {
this.jobsList = data.data
}
})
},
resetForm(formName) {
this.$refs[formName].resetFields()
}
}
}
</script> </script>
<style> <style>
.member .el-dialog--small { .member .el-dialog--small {
width: 500px; width: 500px;
} }
.defeated { .defeated {
padding: 0; padding: 0;
} }
.defeated li { .defeated li {
list-style: none; list-style: none;
} }
</style> </style>
...@@ -104,11 +104,24 @@ ...@@ -104,11 +104,24 @@
<span v-if="scope.row.bookType==10">其他</span> <span v-if="scope.row.bookType==10">其他</span>
</template> </template>
</el-table-column> </el-table-column>
<<<<<<< HEAD
<el-table-column align="center" label="预定时间" width="220"> <el-table-column align="center" label="预定时间" width="220">
<template scope="scope"> <template scope="scope">
<span>{{scope.row.bookStartDate}}{{scope.row.bookEndDate}}</span> <span>{{scope.row.bookStartDate}}{{scope.row.bookEndDate}}</span>
</template> </template>
</el-table-column> </el-table-column>
=======
<el-table-column align="center" label="预定取/还时间" width="200">
<template scope="scope">
<span>{{scope.row.bookStartDate}}</span> <br/><span>{{scope.row.bookEndDate}}</span>
</template>
</el-table-column>
<el-table-column align="center" label="实际取/还时间" width="200">
<template scope="scope">
<span>{{scope.row.actualStartDate}}</span> <br/><span>{{scope.row.actualEndDate}}</span>
</template>
</el-table-column>
>>>>>>> ed66af1f93f55e2551b0b09c15e1697c72ecb84b
<!-- <el-table-column align="center" label="预定时间" width="220"> <!-- <el-table-column align="center" label="预定时间" width="220">
<template scope="scope"> <template scope="scope">
<span <span
...@@ -177,11 +190,7 @@ ...@@ -177,11 +190,7 @@
<span>{{scope.row.reviewerNameReturn}}</span> <span>{{scope.row.reviewerNameReturn}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="还车时间" width="120">
<template scope="scope">
<span>{{scope.row.actualEndDate}}</span>
</template>
</el-table-column>
<el-table-column align="center" label="随车物品" width="120"> <el-table-column align="center" label="随车物品" width="120">
<template scope="scope"> <template scope="scope">
...@@ -301,7 +310,11 @@ ...@@ -301,7 +310,11 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="车辆编号"> <el-form-item label="车辆编号">
<<<<<<< HEAD
<span>{{detailItem.vehicleId}}</span> <span>{{detailItem.vehicleId}}</span>
=======
<span>{{detailItem.code}}</span>
>>>>>>> ed66af1f93f55e2551b0b09c15e1697c72ecb84b
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- <el-col :span="7"> <!-- <el-col :span="7">
......
...@@ -4,29 +4,41 @@ ...@@ -4,29 +4,41 @@
<el-form> <el-form>
<el-row> <el-row>
<el-col :span="5"> <el-col :span="5">
<el-form-item> <el-form-item label="车辆编码" prop="code">
<el-date-picker
v-model="listQuery.time"
type="date"
:editable="false"
format="yyyy-MM-dd"
prop="time"
placeholder="请选择日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item>
<el-input type="number" style="width: 200px;" v-model.number="listQuery.code" <el-input type="number" style="width: 200px;" v-model.number="listQuery.code"
placeholder="请输入车辆编码"></el-input> placeholder="请输入车辆编码"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="5"> <el-col :span="5">
<el-form-item> <el-form-item label="车牌号" prop="code">
<el-input @keyup.enter.native="handleFilter" style="width: 200px;" class="filter-item" placeholder="车牌号" <el-input @keyup.enter.native="handleFilter" style="width: 200px;" class="filter-item" placeholder="车牌号"
v-model="listQuery.numberPlate"></el-input> v-model="listQuery.numberPlate"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="5">
<el-form-item label="出车日期" prop="startTime">
<el-date-picker
v-model="listQuery.startTime"
type="date"
:editable="false"
format="yyyy-MM-dd"
prop="startTime"
placeholder="请选择出车日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="还车日期" prop="endTime">
<el-date-picker
v-model="listQuery.endTime"
type="date"
:editable="false"
format="yyyy-MM-dd"
prop="endTime"
placeholder="请选择还车日期">
</el-date-picker>
</el-form-item>
</el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="5"> <el-col :span="5">
...@@ -79,8 +91,8 @@ ...@@ -79,8 +91,8 @@
label="编号" label="编号"
width="65"> width="65">
</el-table-column> </el-table-column>
<!--<el-table-column align="center" label="编号" width="65">--> <!-- <el-table-column align="center" label="编号" width="65">
<!--<template scope="scope">--> --> <!--<template scope="scope">-->
<!--<span>{{scope.row.id}}</span>--> <!--<span>{{scope.row.id}}</span>-->
<!--</template>--> <!--</template>-->
<!--</el-table-column>--> <!--</el-table-column>-->
...@@ -214,10 +226,10 @@ ...@@ -214,10 +226,10 @@
import { import {
toEast8Date, toEast8Date,
deepCopyDate, deepCopyDate,
newEast8Date newEast8Date,
getYMD_date
} from 'utils/dateUtils'; } from 'utils/dateUtils';
export default {
export default {
name: 'vehicleDepartureLog', name: 'vehicleDepartureLog',
data() { data() {
return { return {
...@@ -262,7 +274,8 @@ ...@@ -262,7 +274,8 @@
listQuery: { listQuery: {
page: 1, page: 1,
limit: 20, limit: 20,
time: "", startTime: undefined,
endTime:undefined,
numberPlate: undefined, numberPlate: undefined,
departureId:undefined, departureId:undefined,
}, },
...@@ -329,9 +342,12 @@ ...@@ -329,9 +342,12 @@
if (!this.listQuery.numberPlate) { if (!this.listQuery.numberPlate) {
this.statisticVisiable = false; this.statisticVisiable = false;
} }
if (this.listQuery.time) { if (this.listQuery.startTime) {
this.listQuery.time = this.dateToString(this.listQuery.time); this.listQuery.startTime = getYMD_date(new Date(this.listQuery.startTime));
} }
if(this.listQuery.endTime) {
this.listQuery.endTime = getYMD_date(new Date(this.listQuery.endTime));
}
if (!this.state1) { if (!this.state1) {
this.listQuery.departureId = undefined; this.listQuery.departureId = undefined;
} }
......
...@@ -35,44 +35,39 @@ ...@@ -35,44 +35,39 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col> <el-col :span="5">
<el-form-item label="区域" prop="zoneId"> <el-form-item label="区域" prop="zoneId">
<el-select class="filter-item" v-model="listQuery.zoneId" placeholder="请选择" @change="getProvinceRegions"> <el-select class="filter-item" v-model="listQuery.zoneId" placeholder="请选择" @change="getProvinceRegions()">
<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-select class="filter-item" v-model="listQuery.addrProvince" placeholder="请选择省份(直辖市)" </el-col>
@change='getValue'> <el-col :span="5">
<el-form-item label="省份" prop="addrProvince">
<el-select class="filter-item" v-model="listQuery.addrProvince" placeholder="请选择省份(直辖市)" @change="cityRegions4Query()">
<el-option v-for="item in provinceRegions" :key="item.id" :label="item.name" <el-option v-for="item in provinceRegions" :key="item.id" :label="item.name"
:value="item.id"></el-option> :value="item.id"></el-option>
</el-select> </el-select>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="城市" prop="addrCity">
<el-select class="filter-item" v-model="listQuery.addrCity" placeholder="请选择城市"> <el-select class="filter-item" v-model="listQuery.addrCity" placeholder="请选择城市">
<el-option v-for="item in cityRegions4Query" :key="item.id" :label="item.name" <el-option v-for="item in cityRegions4Query()" :key="item.id" :label="item.name"
:value="item.id"></el-option> :value="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> <el-col :span="5">
<el-row> <el-form-item label="车型" prop="modelId">
<el-col :span="8"> <el-autocomplete
<!-- <el-form-item label="车型"> class="inline-input"
<el-select class="filter-item" v-model="listQuery.modelId" placeholder="请选择车型"> v-model="vehicleArr"
<el-option :key="undefined" label="无" :value="undefined"></el-option> :fetch-suggestions="queryVehicleModelSearch"
<el-option v-for="item in allVehicleList" :key="item.id" :label="item.name" placeholder="请选择车型"
:value="item.id"></el-option> @select="handleVehicleModelSelect"
</el-select> ></el-autocomplete>
</el-form-item> </el-form-item>
-->
<el-form-item label="车型" prop="modelId">
<el-autocomplete
class="inline-input"
v-model="vehicleArr"
:fetch-suggestions="queryVehicleModelSearch"
placeholder="请选择车型"
@select="handleVehicleModelSelect"
></el-autocomplete>
</el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-button class="filter-item" type="primary" :icon=" showMoreQueryFilter ? 'caret-top' : 'caret-bottom' " <el-button class="filter-item" type="primary" :icon=" showMoreQueryFilter ? 'caret-top' : 'caret-bottom' "
...@@ -88,6 +83,11 @@ ...@@ -88,6 +83,11 @@
<el-input v-model="listQuery.vin" placeholder="请输入车架号"></el-input> <el-input v-model="listQuery.vin" placeholder="请输入车架号"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8">
<el-form-item label="托管人" prop="belongToName">
<el-input v-model="listQuery.belongToName" placeholder="请输入姓名"></el-input>
</el-form-item>
</el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="保险公司" prop="insuranceCompany"> <el-form-item label="保险公司" prop="insuranceCompany">
<el-select class="filter-item" v-model="listQuery.insuranceCompany" placeholder="请选择保险公司"> <el-select class="filter-item" v-model="listQuery.insuranceCompany" placeholder="请选择保险公司">
...@@ -97,6 +97,26 @@ ...@@ -97,6 +97,26 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8">
<el-form-item label="用途">
<el-select class="filter-item" v-model="listQuery.useType" placeholder="请选择用途">
<el-option :key="undefined" label="无" :value="undefined"></el-option>
<el-option v-for="(val,index) in getAllUseType() " :key="index" :label="val.val"
:value="val.code"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="保养日期" prop="mRange">
<el-date-picker
v-model="listQuery.mRange"
type="daterange"
:editable="true"
format="yyyy-MM-dd"
placeholder="请输入保养日期范围">
</el-date-picker>
</el-form-item>
</el-col>
<!-- <el-col :span="8"> <!-- <el-col :span="8">
<el-form-item label="保险结束日期" prop="insuranceDateRange"> <el-form-item label="保险结束日期" prop="insuranceDateRange">
<el-date-picker <el-date-picker
...@@ -122,17 +142,7 @@ ...@@ -122,17 +142,7 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col>--> </el-col>-->
<el-col :span="8">
<el-form-item label="保养日期" prop="mRange">
<el-date-picker
v-model="listQuery.mRange"
type="daterange"
:editable="true"
format="yyyy-MM-dd"
placeholder="请输入保养日期范围">
</el-date-picker>
</el-form-item>
</el-col>
</el-row> </el-row>
</div> </div>
</transition> </transition>
...@@ -201,6 +211,11 @@ ...@@ -201,6 +211,11 @@
<span>{{getUseType(scope.row.useType)}}</span> <span>{{getUseType(scope.row.useType)}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column width="120" align="center" label="托管人">
<template scope="scope">
<span>{{getBelongToNameStr(scope.row)}}</span>
</template>
</el-table-column>
<!-- <el-table-column align="center" label="备注"> <!-- <el-table-column align="center" label="备注">
<template scope="scope"> <template scope="scope">
...@@ -262,11 +277,7 @@ ...@@ -262,11 +277,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column width="120" align="center" v-if="showMoreMoreCol" label="所属人">
<template scope="scope">
<span>{{getBelongToNameStr(scope.row)}}</span>
</template>
</el-table-column>
<el-table-column width="80" align="center" v-if="showMoreMoreCol" label="行驶证"> <el-table-column width="80" align="center" v-if="showMoreMoreCol" label="行驶证">
...@@ -318,16 +329,19 @@ ...@@ -318,16 +329,19 @@
保养结束 保养结束
</el-button> --> </el-button> -->
<el-button v-if="vehicleInfo_btn_apply && checkIfRuning(scope.row) " size="small" <!-- <el-button v-if="vehicleInfo_btn_apply && checkIfRuning(scope.row) " size="small"
class="el-button el-button--text el-button--small" class="el-button el-button--text el-button--small"
@click="handleApply(scope.row)">申请预订 @click="handleApply(scope.row)">申请预订
</el-button> </el-button> -->
<!-- <el-button size="small" class="el-button el-button&#45;&#45;text el-button&#45;&#45;small" @click="handleBookInfo(scope.row)"> <!-- <el-button size="small" class="el-button el-button&#45;&#45;text el-button&#45;&#45;small" @click="handleBookInfo(scope.row)">
预订信息 预订信息
</el-button>--> </el-button>-->
<el-button size="small" class="el-button el-button--text el-button--small" <el-button size="small" class="el-button el-button--text el-button--small"
@click="handleDepartureLog(scope.row)">排班记录 @click="handleBookRecord(scope.row)">排班记录
</el-button> </el-button>
<el-button size="small" class="el-button el-button--text el-button--small"
@click="handleDepartureLog(scope.row)">出行记录
</el-button>
<el-button size="small" @click="deleteHandler(scope.row)" class="el-button el-button--text el-button--small" <el-button size="small" @click="deleteHandler(scope.row)" class="el-button el-button--text el-button--small"
style="color:red;" v-if="vehicleInfo_btn_ret">删除 style="color:red;" v-if="vehicleInfo_btn_ret">删除
</el-button> </el-button>
...@@ -733,7 +747,9 @@ ...@@ -733,7 +747,9 @@
putObj, putObj,
delObj, delObj,
getSysRegionByIds, getSysRegionByIds,
checkCode checkCode,
checkVin,
checkEngineNum
} from '../../../api/vehicle/vehicleInfo/'; } from '../../../api/vehicle/vehicleInfo/';
import { import {
...@@ -909,12 +925,51 @@ ...@@ -909,12 +925,51 @@
], ],
vin: [ vin: [
{ {
<<<<<<< HEAD
min: 0, min: 0,
max: 200, max: 200,
message: '长度小于 200 个字符', message: '长度小于 200 个字符',
trigger: 'blur', trigger: 'blur',
} }
], ],
=======
validator: (rule, value, callback) => {
//检验code码
if (this.$utils.isUndefined(value) || this.$utils.isNull(value) || this.$utils.isEmpty("" + value)) {
return callback(new Error("请输入车架号"));
}
if (value.length < 1 || value.length > 17) {
return callback(new Error('车架号长度小于17 个字符'));
}
checkVin(value, this.form.id).then(response => {
// console.log(response.data);
if (response.data === true) {
return callback(new Error("该车架号已经被占用,请重新输入"));
} else {
callback();
}
})
},
trigger: 'blur',
}
],
engineNum: [
{
validator: (rule, value, callback) => {
//检验code码
checkEngineNum(value, this.form.id).then(response => {
// console.log(response.data);
if (response.data === true) {
return callback(new Error("该发动机号已经被占用,请重新输入"));
} else {
callback();
}
})
},
trigger: 'blur',
}
],
>>>>>>> ed66af1f93f55e2551b0b09c15e1697c72ecb84b
numberPlate: [ numberPlate: [
{ {
min: 0, min: 0,
...@@ -1143,7 +1198,9 @@ ...@@ -1143,7 +1198,9 @@
notBookedStartDate: undefined, notBookedStartDate: undefined,
notBookedEndDate: undefined, notBookedEndDate: undefined,
code: undefined, code: undefined,
modelId: undefined modelId: undefined,
belongToName: undefined,
useType:undefined
}, },
showMoreQueryFilter: false, showMoreQueryFilter: false,
showMoreMoreCol: false, showMoreMoreCol: false,
...@@ -1192,6 +1249,7 @@ ...@@ -1192,6 +1249,7 @@
allUpkeepItems: null, allUpkeepItems: null,
allZoneArr: [],//全部片区 allZoneArr: [],//全部片区
provinceRegions: [],//片区下省份数据 provinceRegions: [],//片区下省份数据
cityList:[],
vehicleInfo_btn_edit: false,//编辑 vehicleInfo_btn_edit: false,//编辑
vehicleInfo_btn_add: false,//新增 vehicleInfo_btn_add: false,//新增
vehicleInfo_btn_apply: false,//申请预定 vehicleInfo_btn_apply: false,//申请预定
...@@ -1212,6 +1270,8 @@ ...@@ -1212,6 +1270,8 @@
getUpkeepAll().then(response => { getUpkeepAll().then(response => {
this.allUpkeepItems = response.data; this.allUpkeepItems = response.data;
}); });
this.getAllProvinceRegions();
this.getAllCities();
this.vehicleInfo_btn_edit = this.elements['vehicleInfo:btn_edit']; this.vehicleInfo_btn_edit = this.elements['vehicleInfo:btn_edit'];
this.vehicleInfo_btn_add = this.elements['vehicleInfo:btn_add']; this.vehicleInfo_btn_add = this.elements['vehicleInfo:btn_add'];
this.vehicleInfo_btn_apply = this.elements['vehicleInfo:btn_apply']; this.vehicleInfo_btn_apply = this.elements['vehicleInfo:btn_apply'];
...@@ -1236,17 +1296,17 @@ ...@@ -1236,17 +1296,17 @@
} }
return getSonRegionByCodes(this.form.addrCity); return getSonRegionByCodes(this.form.addrCity);
}, },
cityRegions4Query() {
if (!this.$utils.isInteger(this.listQuery.addrProvince)) {
return null;
}
return getSonRegionByCodes(this.listQuery.addrProvince);
},
getAllZoneList() { getAllZoneList() {
let that = this; let that = this;
<<<<<<< HEAD
that.allZoneArr = getAllZone(); that.allZoneArr = getAllZone();
=======
that.allZoneArr = getAllZone();
>>>>>>> ed66af1f93f55e2551b0b09c15e1697c72ecb84b
return getAllZone(); return getAllZone();
}, },
townRegions4Query() { townRegions4Query() {
if (!this.$utils.isInteger(this.listQuery.addrCity)) { if (!this.$utils.isInteger(this.listQuery.addrCity)) {
return null; return null;
...@@ -1362,7 +1422,7 @@ ...@@ -1362,7 +1422,7 @@
this.listQuery.addrCity = undefined; this.listQuery.addrCity = undefined;
this.listQuery.addrProvince = undefined; this.listQuery.addrProvince = undefined;
if (!this.$utils.isInteger(this.listQuery.zoneId)) { if (!this.$utils.isInteger(this.listQuery.zoneId)) {
return null; return that.getAllProvinceRegions();
} }
this.allZoneArr.map(function (item) { this.allZoneArr.map(function (item) {
if (item.id == that.listQuery.zoneId) { if (item.id == that.listQuery.zoneId) {
...@@ -1376,6 +1436,42 @@ ...@@ -1376,6 +1436,42 @@
} }
}); });
}, },
getAllProvinceRegions() {
let that = this;
var zoneStr = "";
getAllZone().map(function (item) {
zoneStr = zoneStr+item.provinceIds+",";
});
let listRs = undefined;
getSysRegionByIds(zoneStr).then(response => {
if (!that.$utils.isEmpty(response.data)) {
listRs = response.data;
}
that.provinceRegions = listRs;
});
return listRs;
},
cityRegions4Query() {
let that = this;
if (!this.$utils.isInteger(this.listQuery.addrProvince)) {
return that.getAllCities();
}
that.cityList = getSonRegionByCodes(this.listQuery.addrProvince);
return that.cityList;
},
getAllCities() {
var cityStr = [];
var provinceIds = this.provinceRegions;
for(var index in provinceIds) {
var sysregion = getSonRegionByCodes(provinceIds[index].id)
for(var i in sysregion) {
cityStr.push(sysregion[i]);
}
}
this.cityList = cityStr;
return cityStr;
},
getValue(e) { getValue(e) {
this.listQuery.addrCity = undefined; this.listQuery.addrCity = undefined;
}, },
...@@ -1622,13 +1718,21 @@ ...@@ -1622,13 +1718,21 @@
this.upkeepRow = row; this.upkeepRow = row;
this.upkeepDialogVisible = true; this.upkeepDialogVisible = true;
}, },
handleDepartureLog(row) { handleBookRecord(row) {
this.$router.push({ this.$router.push({
path: '/vehicle/vehicleSchedulManage', path: '/vehicle/vehicleSchedulManage',
query: { query: {
numberPlate: row.numberPlate numberPlate: row.numberPlate
} }
}); });
},
handleDepartureLog(row) {
this.$router.push({
path: '/vehicle/vehicleDepartureLog',
query: {
numberPlate: row.numberPlate
}
});
}, },
arrivalHandler(row) { arrivalHandler(row) {
// open dialog // open dialog
...@@ -1835,11 +1939,15 @@ ...@@ -1835,11 +1939,15 @@
4: { 4: {
code: 4, code: 4,
val: '出车' val: '出车'
}/*, },
5: { 6: {
code: 5, code: 6,
val: '上牌中' val: '维修中'
}*/ },
7: {
code: 7,
val: '保养中'
}
}; };
}, },
getBrand: function (code) { getBrand: function (code) {
......
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