Commit cf29874b authored by 164003836@qq.con's avatar 164003836@qq.con

增加车辆信息相关字段

parent 263a260a
...@@ -42,6 +42,8 @@ const getters = { ...@@ -42,6 +42,8 @@ const getters = {
bookRecordStatus: state => state.baseInfo.bookRecordStatusAndCode, bookRecordStatus: state => state.baseInfo.bookRecordStatusAndCode,
getAllCompany: state => state.baseInfo.codeAndBranchCompany, getAllCompany: state => state.baseInfo.codeAndBranchCompany,
allAccItem: state => state.baseInfo.allAccItem, allAccItem: state => state.baseInfo.allAccItem,
allAccItemIdAndName: state => state.baseInfo.allAccItemIdAndName allAccItemIdAndName: state => state.baseInfo.allAccItemIdAndName,
belong2Type: state => state.baseInfo.belong2Type,
companyStatusAndCode: state => state.baseInfo.companyStatusAndCode
}; };
export default getters export default getters
...@@ -18,6 +18,8 @@ export const BOOK_RECORD_STATUS_LIFT = 7; // 预定记录状态 - 已提车 ...@@ -18,6 +18,8 @@ export const BOOK_RECORD_STATUS_LIFT = 7; // 预定记录状态 - 已提车
export const ACCOMPANYING_ITEM_AMOUNT_INFINITY = -1; // 随车物品余量 - 不作限制 export const ACCOMPANYING_ITEM_AMOUNT_INFINITY = -1; // 随车物品余量 - 不作限制
export const BELONG_TO_TYPE_OWN = 1; // 车辆所属类型 - 自有
import XEUtils from 'xe-utils';// 加入常用工具类 import XEUtils from 'xe-utils';// 加入常用工具类
import VXEUtils from 'vxe-utils';// 加入常用工具类 import VXEUtils from 'vxe-utils';// 加入常用工具类
...@@ -92,6 +94,42 @@ const baseInfo = { ...@@ -92,6 +94,42 @@ const baseInfo = {
code: 7, code: 7,
val: '已提车' val: '已提车'
} }
},
companyStatusAndCode: {
1: {
code: 1,
val: '筹备中'
},
2: {
code: 2,
val: '试业中'
},
3: {
code: 3,
val: '选址中'
},
4: {
code: 3,
val: '已开业'
},
5: {
code: 5,
val: '装修中'
}
},
belong2Type: {
1: {
code: 1,
val: '欣新房车有限公司'
},
2: {
code: 2,
val: '托管'
},
3: {
code: 3,
val: '租赁'
}
} }
}, },
mutations: { mutations: {
......
...@@ -14,12 +14,6 @@ ...@@ -14,12 +14,6 @@
<el-option v-for="item in cityRegions4Query" :key="item.id" :label="item.name" :value="item.id"></el-option> <el-option v-for="item in cityRegions4Query" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="镇(县)" prop="addrTown">
<el-select class="filter-item" v-model="listQuery.addrTown" placeholder="请选择镇(县)">
<el-option :key="undefined" label="无" :value="undefined"></el-option>
<el-option v-for="item in townRegions4Query" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
<el-button class="filter-item" type="primary" v-waves icon="search" @click="handleFilter">搜索</el-button> <el-button class="filter-item" type="primary" v-waves icon="search" @click="handleFilter">搜索</el-button>
<el-button class="filter-item" v-if="branchCompany_btn_add" style="margin-left: 10px;" @click="handleCreate" <el-button class="filter-item" v-if="branchCompany_btn_add" style="margin-left: 10px;" @click="handleCreate"
...@@ -42,6 +36,24 @@ ...@@ -42,6 +36,24 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column width="80" align="center" label="状态">
<template scope="scope">
<span>{{getStatusName(scope.row.status)}}</span>
</template>
</el-table-column>
<el-table-column width="80" align="center" label="负责人">
<template scope="scope">
<span>{{scope.row.leader}}</span>
</template>
</el-table-column>
<el-table-column width="200" align="center" label="负责人联系方式">
<template scope="scope">
<span>{{scope.row.leaderContactInfo}}</span>
</template>
</el-table-column>
<el-table-column width="300" align="center" label="地址"> <el-table-column width="300" align="center" label="地址">
<template scope="scope"> <template scope="scope">
<span>{{getAddrStr(scope.row) + scope.row.addrDetail}}</span> <span>{{getAddrStr(scope.row) + scope.row.addrDetail}}</span>
...@@ -78,24 +90,39 @@ ...@@ -78,24 +90,39 @@
<el-input v-model="form.name" placeholder="输入名称"></el-input> <el-input v-model="form.name" placeholder="输入名称"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model.number="form.status" placeholder="请选择省份(直辖市)">
<el-option v-for="(val, key, index) in companyStatusAndCode " :key="val.code" :label="val.val"
:value="val.code"></el-option>
</el-select>
</el-form-item>
<el-form-item label="省份" prop="addrProvince"> <el-form-item label="省份" prop="addrProvince">
<el-select v-model="form.addrProvince" placeholder="请选择省份(直辖市)"> <el-select v-model.number="form.addrProvince" placeholder="请选择省份(直辖市)">
<el-option v-for="item in provinceRegions" :key="item.id" :label="item.name" :value="item.id"></el-option> <el-option v-for="item in provinceRegions" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="城市" prop="addrCity"> <el-form-item label="城市" prop="addrCity">
<el-select v-model="form.addrCity" placeholder="请选择城市"> <el-select v-model.number="form.addrCity" placeholder="请选择城市">
<el-option v-for="item in cityRegions" :key="item.id" :label="item.name" :value="item.id"></el-option> <el-option v-for="item in cityRegions" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="镇(县)" prop="addrTown"> <el-form-item label="镇(县)" prop="addrTown">
<el-select v-model="form.addrTown" placeholder="请选择镇(县)"> <el-select v-model.number="form.addrTown" placeholder="请选择镇(县)">
<el-option v-for="item in townRegions" :key="item.id" :label="item.name" :value="item.id"></el-option> <el-option v-for="item in townRegions" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="负责人" prop="leader">
<el-input v-model="form.leader" placeholder="请输入负责人"></el-input>
</el-form-item>
<el-form-item label="负责人联系方式" prop="leaderContactInfo">
<el-input v-model="form.leaderContactInfo" placeholder="请输入负责人联系方式"></el-input>
</el-form-item>
<el-form-item label="地址" prop="addrDetail"> <el-form-item label="地址" prop="addrDetail">
<el-input v-model="form.addrDetail" placeholder="请输入详细地址"></el-input> <el-input v-model="form.addrDetail" placeholder="请输入详细地址"></el-input>
</el-form-item> </el-form-item>
...@@ -128,19 +155,30 @@ ...@@ -128,19 +155,30 @@
export default { export default {
name: 'brachCompany', name: 'branchCompany',
data() { data() {
return { return {
form: { form: {
id: undefined, id: undefined,
name: undefined, name: undefined,
status: undefined,
addrProvince: undefined, addrProvince: undefined,
addrCity: undefined, addrCity: undefined,
addrTown: undefined, addrTown: undefined,
addrDetail: undefined, addrDetail: undefined,
leader: undefined,
leaderContactInfo: undefined,
updateTime: undefined updateTime: undefined
}, },
rules: { rules: {
status: [
{
type: 'integer',
required: true,
message: '请输名称',
trigger: 'blur'
}
],
name: [ name: [
{ {
required: true, required: true,
...@@ -216,26 +254,17 @@ ...@@ -216,26 +254,17 @@
addrCity: [ addrCity: [
{ {
validator: (rule, value, callback) => { validator: (rule, value, callback) => {
if (this.$utils.isUndefined(value)) {
return callback();
}
if (this.$utils.isInteger(this.listQuery.addrProvince) && if (this.$utils.isInteger(this.listQuery.addrProvince) &&
value.toString().substr(0, 2) != this.listQuery.addrProvince.toString().substr(0, 2)) { value.toString().substr(0, 2) !== this.listQuery.addrProvince.toString().substr(0, 2)) {
return callback(new Error('请选择省份下相应城市')); return callback(new Error('请选择省份下相应城市'));
} }
callback(); callback();
}, },
trigger: 'blur' trigger: 'blur'
} }
],
addrTown: [
{
validator: (rule, value, callback) => {
if (this.$utils.isInteger(this.listQuery.addrCity) &&
value.toString().substr(0, 4) !== this.listQuery.addrCity.toString().substr(0, 4)) {
return callback(new Error('请选择城市下相应镇(县)'));
}
callback();
},
trigger: 'blur'
}
] ]
}, },
list: null, list: null,
...@@ -245,7 +274,6 @@ ...@@ -245,7 +274,6 @@
page: 1, page: 1,
limit: 20, limit: 20,
addrProvince: undefined, addrProvince: undefined,
addrCity: undefined,
addrTown: undefined addrTown: undefined
}, },
inline: true, inline: true,
...@@ -269,7 +297,8 @@ ...@@ -269,7 +297,8 @@
}, },
computed: { computed: {
...mapGetters([ ...mapGetters([
'elements' 'elements',
'companyStatusAndCode'
]), ]),
provinceRegions() { provinceRegions() {
return getSonRegionByCodes(1); return getSonRegionByCodes(1);
...@@ -300,6 +329,12 @@ ...@@ -300,6 +329,12 @@
} }
}, },
methods: { methods: {
getStatusName(code) {
if (!this.$utils.isInteger(code)) {
return '未知';
}
return this.companyStatusAndCode[code].val;
},
getList() { getList() {
this.listLoading = true; this.listLoading = true;
page(this.listQuery) page(this.listQuery)
...@@ -425,10 +460,13 @@ ...@@ -425,10 +460,13 @@
this.form = { this.form = {
id: undefined, id: undefined,
name: undefined, name: undefined,
status: undefined,
addrProvince: undefined, addrProvince: undefined,
addrCity: undefined, addrCity: undefined,
addrTown: undefined, addrTown: undefined,
addrDetail: undefined, addrDetail: undefined,
leader: undefined,
leaderContactInfo: undefined,
updateTime: undefined updateTime: undefined
}; };
} }
......
...@@ -153,6 +153,25 @@ ...@@ -153,6 +153,25 @@
</el-table-column> </el-table-column>
<el-table-column align="center" label="提车里程数" width="100">
<template scope="scope">
<span>{{scope.row.mileageLift}}</span>
</template>
</el-table-column>
<el-table-column align="center" label="还车里程数" width="100">
<template scope="scope">
<span>{{scope.row.mileageRet}}</span>
</template>
</el-table-column>
<el-table-column width="65" align="center" label="是否违章">
<template scope="scope">
<span>{{scope.row.haveViolation?'是':'否'}}</span>
</template>
</el-table-column>
<el-table-column align="center" label="操作" width="250"> <el-table-column align="center" label="操作" width="250">
<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>
...@@ -198,11 +217,15 @@ ...@@ -198,11 +217,15 @@
<el-option v-for="item in allCompanies" :key="item.id" :label="item.name" :value="item.id"></el-option> <el-option v-for="item in allCompanies" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="提车里程数" prop="mileageLift">
<el-input v-model.number="form4Lift.mileageLift" placeholder="请输入当前车辆里程数"></el-input>
</el-form-item>
<el-form-item label="提车备注" prop="liftRemark"> <el-form-item label="提车备注" prop="liftRemark">
<el-input v-model="form4Lift.liftRemark" placeholder="请输入备注信息"></el-input> <el-input v-model="form4Lift.liftRemark" placeholder="请输入备注信息"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="cancelDialog4Lift('form4Lift')">取 消</el-button> <el-button @click="cancelDialog4Lift('form4Lift')">取 消</el-button>
...@@ -221,6 +244,18 @@ ...@@ -221,6 +244,18 @@
<el-option v-for="item in allCompanies" :key="item.id" :label="item.name" :value="item.id"></el-option> <el-option v-for="item in allCompanies" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="还车里程数" prop="mileageRet">
<el-input v-model.number="form4Ret.mileageRet" placeholder="请输入当前车辆里程数"></el-input>
</el-form-item>
<el-form-item label="是否违章" prop="haveViolation">
<el-select class="filter-item" v-model="form4Ret.haveViolation" placeholder="请选择是否违章">
<el-option key="1" label="是" value="1"></el-option>
<el-option key="0" label="否" value="0"></el-option>
</el-select>
</el-form-item>
<el-form-item label="还车备注" prop="retRemark"> <el-form-item label="还车备注" prop="retRemark">
<el-input v-model="form4Ret.retRemark" placeholder="请输入备注信息"></el-input> <el-input v-model="form4Ret.retRemark" placeholder="请输入备注信息"></el-input>
</el-form-item> </el-form-item>
...@@ -322,6 +357,7 @@ ...@@ -322,6 +357,7 @@
tableKey: 0, tableKey: 0,
form4Lift: { form4Lift: {
id: undefined, id: undefined,
mileageLift: undefined,
liftCompany: undefined, liftCompany: undefined,
liftRemark: undefined liftRemark: undefined
}, },
...@@ -334,6 +370,29 @@ ...@@ -334,6 +370,29 @@
type: 'integer' 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();
},
trigger: 'blur'
}
],
retRemark: [ retRemark: [
{ {
min: 0, min: 0,
...@@ -345,6 +404,8 @@ ...@@ -345,6 +404,8 @@
}, },
form4Ret: { form4Ret: {
id: undefined, id: undefined,
mileageRet: undefined,
haveViolation: undefined,
retCompany: undefined, retCompany: undefined,
retRemark: undefined retRemark: undefined
}, },
...@@ -357,6 +418,29 @@ ...@@ -357,6 +418,29 @@
type: 'integer' type: 'integer'
} }
], ],
mileageRet: [
{
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();
},
trigger: 'blur'
}
],
retRemark: [ retRemark: [
{ {
min: 0, min: 0,
...@@ -681,6 +765,7 @@ ...@@ -681,6 +765,7 @@
resetTemp4Lift() { resetTemp4Lift() {
this.form4Lift = { this.form4Lift = {
id: undefined, id: undefined,
mileageLift: undefined,
liftCompany: undefined, liftCompany: undefined,
liftRemark: undefined liftRemark: undefined
}; };
...@@ -688,6 +773,8 @@ ...@@ -688,6 +773,8 @@
resetTemp4Ret() { resetTemp4Ret() {
this.form4Ret = { this.form4Ret = {
id: undefined, id: undefined,
mileageRet: undefined,
haveViolation: undefined,
retCompany: undefined, retCompany: undefined,
retRemark: undefined retRemark: undefined
}; };
......
This diff is collapsed.
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409EFF;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 350px;
height: 350px;
line-height: 350px;
text-align: center;
}
.avatar {
width: 350px;
height: 350px;
display: block;
}
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