Commit e1a80dac authored by youjj's avatar youjj

车辆管理,收车,还车

parent a8f75796
......@@ -32,18 +32,21 @@ module.exports = {
proxyTable: {
'/jwt': {
target: 'http://10.5.52.3:8765',
// target: 'http://localhost:8765',
pathRewrite: {
'^/jwt': '/jwt'
},
},
'/api':{
target: 'http://10.5.52.3:8765',
// target: 'http://localhost:8765',
pathRewrite: {
'^/api': '/api'
},
},
'/vehicle': {
target: 'http://10.5.52.3:8765'
// target: 'http://localhost:8765'
},
},
// CSS Sourcemaps off by default because relative paths are "buggy"
......
......@@ -3587,6 +3587,7 @@
"resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
"integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
"dev": true,
"optional": true,
"requires": {
"inherits": "~2.0.0"
}
......@@ -3596,6 +3597,7 @@
"resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
"integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
"dev": true,
"optional": true,
"requires": {
"hoek": "2.x.x"
}
......@@ -3614,7 +3616,8 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz",
"integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=",
"dev": true
"dev": true,
"optional": true
},
"caseless": {
"version": "0.12.0",
......@@ -3634,7 +3637,8 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
"integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
"dev": true
"dev": true,
"optional": true
},
"combined-stream": {
"version": "1.0.5",
......@@ -3656,13 +3660,15 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
"integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
"dev": true
"dev": true,
"optional": true
},
"core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
"dev": true
"dev": true,
"optional": true
},
"cryptiles": {
"version": "2.0.5",
......@@ -3745,7 +3751,8 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz",
"integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=",
"dev": true
"dev": true,
"optional": true
},
"forever-agent": {
"version": "0.6.1",
......@@ -3936,6 +3943,7 @@
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
"dev": true,
"optional": true,
"requires": {
"number-is-nan": "1.0.1"
}
......@@ -3951,7 +3959,8 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
"dev": true
"dev": true,
"optional": true
},
"isstream": {
"version": "0.1.2",
......@@ -4192,7 +4201,8 @@
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
"integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
"dev": true
"dev": true,
"optional": true
},
"punycode": {
"version": "1.4.1",
......@@ -4235,6 +4245,7 @@
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.9.tgz",
"integrity": "sha1-z3jsb0ptHrQ9JkiMrJfwQudLf8g=",
"dev": true,
"optional": true,
"requires": {
"buffer-shims": "~1.0.0",
"core-util-is": "~1.0.0",
......@@ -4289,7 +4300,8 @@
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz",
"integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=",
"dev": true
"dev": true,
"optional": true
},
"semver": {
"version": "5.3.0",
......@@ -4354,6 +4366,7 @@
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
"dev": true,
"optional": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
......@@ -4365,6 +4378,7 @@
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
"integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
"dev": true,
"optional": true,
"requires": {
"safe-buffer": "^5.0.1"
}
......@@ -4397,6 +4411,7 @@
"resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
"integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
"dev": true,
"optional": true,
"requires": {
"block-stream": "*",
"fstream": "^1.0.2",
......@@ -4458,7 +4473,8 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
"dev": true
"dev": true,
"optional": true
},
"uuid": {
"version": "3.0.1",
......
import fetch from 'utils/fetch';
export function departureVehicle(param) {
return fetch({
url: '/vehicle/active/departure',
method: 'post',
data: param
});
}
export function arrivalVehicle(param) {
return fetch({
url: '/vehicle/active/arrival',
method: 'post',
data: param
})
}
......@@ -62,6 +62,10 @@ const baseInfo = {
3: {
code: 3,
val: '报废'
},
4: {
code: 4,
val: '出车'
}
},
codeAndBranchCompany: {},
......
......@@ -15,6 +15,9 @@ export default {
103001: "车辆预定申请状态已被修改,请刷新后继续操作",
102001: "车牌已存在",
102003: "车辆编码已存在",
103002: "车辆预定申请状态已变更,请刷新后继续操作"
103002: "车辆预定申请状态已变更,请刷新后继续操作",
104001: "车辆不存在",
104002: "车辆不可用",
104003: "车辆未出车",
}
}
......@@ -263,10 +263,14 @@
</template>
</el-table-column>
<el-table-column align="center" label="操作" width="250">
<el-table-column align="center" label="操作" width="500">
<template scope="scope">
<el-button v-if="vehicleInfo_btn_edit " size="small" type="success" @click="handleUpdate(scope.row)">编辑
<el-button v-if="vehicleInfo_btn_edit" size="small" type="success" @click="handleUpdate(scope.row)">编辑
</el-button>
<el-button v-if="scope.row.status == 1" size="small" type="success" @click="departureHandler(scope.row)">出车</el-button>
<el-button v-if="scope.row.status == 4" size="small" type="success" @click="arrivalHandler(scope.row)">收车</el-button>
<el-button v-if="vehicleInfo_btn_apply && checkIfRuning(scope.row) " size="small" type="success"
@click="handleApply(scope.row)">申请预订
</el-button>
......@@ -543,6 +547,58 @@
<book-info-viewer ref="bookInfoViewer"></book-info-viewer>
<acc-item-selector v-on:select="accItemSelected" :selectedAccItem="form4Apply.selectedAccItem"
v-on:clear="accItemClear" ref="accItemSelector"></acc-item-selector>
<!-- 出车信息弹窗 -->
<el-dialog title="出车" :visible.sync="departureDialogVisible">
<el-form :model="departureForm" :rules="rules" ref="form" label-width="90px">
<el-form-item label="车牌号">
<el-input v-model="departureForm.numberPlate" disabled="false"></el-input>
</el-form-item>
<el-form-item label="用途" prop="use">
<el-input v-model="departureForm.use" placeholder="请输入出车用途"></el-input>
</el-form-item>
<el-form-item label="使用人" prop="user">
<el-input v-model="departureForm.user" placeholder="请输入出车使用人"></el-input>
</el-form-item>
<el-form-item label="使用人联系方式" prop="userTel">
<el-input v-model="departureForm.userTel" placeholder="请输入出车使用人联系方式"></el-input>
</el-form-item>
<el-form-item label="验车人" prop="checkMan">
<el-input v-model="departureForm.checkMan" placeholder="请输入出车验车人"></el-input>
</el-form-item>
<el-form-item label="验车人联系方式" prop="checkManTel">
<el-input v-model="departureForm.checkManTel" placeholder="请输入出车验车人联系方式"></el-input>
</el-form-item>
<el-form-item label="公里数" prop="mileage">
<el-input v-model="departureForm.mileage" placeholder="请输入出车时公里数"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancelDeparture">取 消</el-button>
<el-button type="primary" @click="departureVehicleHandler">确 定</el-button>
</div>
</el-dialog>
<!-- 收车信息弹窗 -->
<el-dialog title="收车" :visible.sync="arrivalDialogVisible">
<el-form :model="arrivalForm" :rules="rules" ref="form" label-width="90px">
<el-form-item label="车牌号">
<el-input v-model="arrivalForm.numberPlate" disabled="false"></el-input>
</el-form-item>
<el-form-item label="收车人" prop="checkMan">
<el-input v-model="arrivalForm.recycleMan" placeholder="请输入收车人"></el-input>
</el-form-item>
<el-form-item label="收车人联系方式" prop="checkManTel">
<el-input v-model="arrivalForm.recycleManTel" placeholder="请输入收车人联系方式"></el-input>
</el-form-item>
<el-form-item label="公里数" prop="mileage">
<el-input v-model="arrivalForm.mileage" placeholder="请输入收车时公里数"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancelArrival">取 消</el-button>
<el-button type="primary" @click="arrivalVehicleHandler">确 定</el-button>
</div>
</el-dialog>
</div>
</template>
......@@ -566,6 +622,11 @@
getInsuranceCompany
} from 'api/base_info/constant/';
import {
departureVehicle,
arrivalVehicle
} from 'api/vehicle/active';
import {
getSonRegionByCodes,
getRegionByCodes,
......@@ -604,11 +665,13 @@
import bookInfoViewer from '../bookInfoViewer';
import accItemSelector from '../accompanyingItem/accItemSelector.vue';
import Element from "../../admin/menu/components/element";
export default {
name: 'vehicleInfo',
components: {
Element,
bookInfoViewer,
accItemSelector
},
......@@ -849,7 +912,26 @@
create: '创建',
apply: '预定申请'
},
tableKey: 0
tableKey: 0,
departureDialogVisible: false,
departureForm: {
vehicleId: null,
numberPlate: null,
use: null,
user: null,
userTel: null,
checkMan: null,
checkManTel: null,
mileage: null
},
arrivalDialogVisible: false,
arrivalForm: {
vehicleId: null,
numberPlate: null,
recycleMan: null,
recycleManTel: null,
mileage: null
}
}
},
created() {
......@@ -968,6 +1050,89 @@
}
},
methods: {
arrivalHandler(row) {
// open dialog
this.arrivalDialogVisible = true;
this.clearArrivalForm();
this.arrivalForm.vehicleId = row.id;
this.arrivalForm.numberPlate = row.numberPlate;
},
cancelArrival() {
this.arrivalDialogVisible = false;
this.clearArrivalForm();
},
arrivalVehicleHandler() {
arrivalVehicle(this.arrivalForm).then(response => {
if (response.code === rsCode.RS_CODE_SUC) {
this.arrivalDialogVisible = false;
this.$notify({
title: '成功',
message: '收车成功',
type: 'success',
duration: 2000
});
} else {
this.$notify({
title: '失败',
message: rsCode.msg[response.code] ? rsCode.msg[response.code] : '操作失败!',
type: 'error',
duration: 2000
});
}
});
},
clearArrivalForm() {
this.arrivalForm = {
vehicleId: null,
numberPlate: null,
recycleMan: null,
recycleManTel: null,
mileage: null
};
},
departureHandler(row) {
// open dialog
this.departureDialogVisible = true;
this.clearDepartureForm();
this.departureForm.vehicleId = row.id;
this.departureForm.numberPlate = row.numberPlate;
},
cancelDeparture() {
this.departureDialogVisible = false;
this.clearDepartureForm();
},
clearDepartureForm() {
this.departureForm = {
vehicleId: null,
numberPlate: null,
use: null,
user: null,
userTel: null,
checkMan: null,
checkManTel: null,
mileage: null
}
},
departureVehicleHandler() {
departureVehicle(this.departureForm).then(response => {
if (response.code === rsCode.RS_CODE_SUC) {
this.departureDialogVisible = false;
this.$notify({
title: '成功',
message: '出车成功',
type: 'success',
duration: 2000
});
} else {
this.$notify({
title: '失败',
message: rsCode.msg[response.code] ? rsCode.msg[response.code] : '操作失败!',
type: 'error',
duration: 2000
});
}
});
},
getAllBelong2Type: function () {
return this.belong2Type;
},
......
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