<template>
|
<div>
|
<div style="padding: 10px 10px 0px 10px;">
|
<el-form :inline="true" :model="searchForm">
|
<el-form-item label="车牌号">
|
<el-input v-model="searchForm.carNo"></el-input>
|
</el-form-item>
|
<el-form-item label="是否手动添加">
|
<el-select v-model="searchForm.isActive" clearable>
|
<el-option v-for="item in table1" :key="item.value" :label="item.label" :value="item.value" ></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item>
|
<el-button type="primary" size="small" @click="onSearch" icon="el-icon-search">查询</el-button>
|
<el-button type="primary" size="small" @click="onAdd" icon="el-icon-plus">增加</el-button>
|
</el-form-item>
|
</el-form>
|
</div>
|
|
<el-table :data="pageData.rows" v-loading="pageData.isLoading" border style="width:60%;border:1px solid #bcbec2;">
|
<el-table-column type="index" width="50" label="序号" align="center"> </el-table-column>
|
<el-table-column prop="carNo" label="车牌号" align="center" ></el-table-column>
|
<el-table-column prop="color" label="车辆颜色" align="center" width="80"></el-table-column>
|
<el-table-column prop="carType" label="车辆类型" align="center" ></el-table-column>
|
<el-table-column prop="violationCount" label="违章次数" align="center" width="80"></el-table-column>
|
<el-table-column prop="isActive" label="手动添加" align="center" width="80">
|
<template slot-scope="scope">
|
<p v-if="scope.row.isActive==0">否</p>
|
<p v-if="scope.row.isActive==1">是</p>
|
<p v-if="scope.row.isActive==null">否</p>
|
</template>
|
</el-table-column>
|
<el-table-column v-if="items==2" label="操作" fixed="right" width="250" align="center">
|
<template slot-scope="scope">
|
<el-button size="mini" @click="onEdit(scope.$index, scope.row)">编辑</el-button>
|
<el-button size="mini" type="danger" @click="onDelete(scope.$index, scope.row)">删除</el-button>
|
</template>
|
</el-table-column>
|
</el-table>
|
<el-pagination class="pageFoot" background @size-change="onPageSizeChange" @current-change="onCurrentPageChange" :current-page="pageData.currentPage" :page-size="pageData.pageSize" :total="pageData.total" style="padding: 10px 10px 600px 600px;"></el-pagination>
|
|
<el-dialog title="编辑" :visible.sync="flag" width="30%">
|
<el-form :model="formData" ref="formData" label-width="100px">
|
<el-form-item label="车牌号" prop="carNo" :rules="[{required: true, message: '请输入车牌号名称', trigger: 'blur'}]">
|
<el-input v-model="formData.carNo" style="width: 210px"></el-input>
|
</el-form-item>
|
<el-form-item label="车辆颜色" prop="color">
|
<el-select v-model="formData.color" >
|
<el-option label="白色" value='白色'></el-option>
|
<el-option label="黑色" value='黑色'></el-option>
|
<el-option label="灰色" value='灰色'></el-option>
|
<el-option label="银色" value='银色'></el-option>
|
<el-option label="红色" value='红色'></el-option>
|
<el-option label="蓝色" value='蓝色'></el-option>
|
<el-option label="绿色" value='绿色'></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="车辆类型" prop="carType">
|
<el-select v-model="formData.carType" >
|
<el-option label="小型汽车" value='小型汽车'></el-option>
|
<el-option label="小型新能源" value='小型新能源'></el-option>
|
<el-option label="客车" value='客车'></el-option>
|
<el-option label="货车" value='货车'></el-option>
|
</el-select>
|
</el-form-item>
|
</el-form>
|
<div slot="footer" class="dialog-footer">
|
<el-button @click="flag = false">取 消</el-button>
|
<el-button type="primary" @click="onSave">确 定</el-button>
|
</div>
|
</el-dialog>
|
|
</div>
|
</template>
|
|
<script>
|
import {mapState} from "vuex";
|
|
export default {
|
name: "index",
|
components:{
|
},
|
data: function () {
|
return {
|
flag:false,
|
flag2:false,
|
searchForm: {
|
name: ''
|
},
|
pageData: this.$byutil.defaultPageData(),
|
formData: {
|
carNo: '',
|
color: '',
|
carType: '',
|
},
|
table1:[
|
{'label':"是",value:1},{'label':"否",value:0}
|
],
|
urlPath:this.$systemconfig.basePath + '/ffzf/ticketblack/',
|
id:null,
|
}
|
},
|
computed: {
|
...mapState({
|
items:'roles'
|
}),
|
},
|
mounted() {
|
this.loadData();
|
},
|
methods: {
|
onSave(){
|
this.$refs['formData'].validate((valid) => {
|
if (valid) {
|
this.$byutil.postData(this, this.urlPath+'save', this.formData, res => {
|
this.$refs['formData'].resetFields();
|
this.flag=false;
|
this.$message({message: '保存成功', type: 'success'});
|
this.loadData();
|
})
|
} else {
|
return false;
|
}
|
});
|
},
|
loadData() {
|
this.$byutil.loadPageData(this, this.urlPath+'findPage', this.searchForm);
|
},
|
onSearch() {
|
this.pageData = this.$byutil.defaultPageData();
|
this.loadData();
|
},
|
onAdd() {
|
this.flag=true;
|
this.$refs['formData'].resetFields();
|
this.formData = {
|
name: '',
|
loginName: '',
|
phone: '',
|
type: '',
|
}
|
},
|
onEdit(index, row) {
|
this.flag=true;
|
this.formData = row;
|
},
|
onDelete(index, row) {
|
this.$confirm('是否确定删除?','提示',{
|
confirmButtonText:'确定',
|
cancelButtonText:'取消',
|
type:'warning'
|
}).then(() => {
|
this.$byutil.postData(this, this.$systemconfig.basePath + '/ffzf/ticketblack/delete', {id:row.id}, res => {
|
if(res.code===0){
|
this.$message({message: '删除成功', type: 'success'});
|
this.loadData();
|
}else {
|
this.$message({message: res.message, type: 'error'});
|
}
|
})
|
}).catch(() => {
|
this.$message({
|
type:'info',
|
message:"已取消"
|
})
|
})
|
|
},
|
onPageSizeChange(val) {
|
this.pageData.pageSize = val;
|
this.loadData();
|
},
|
onCurrentPageChange(val) {
|
this.pageData.page = val;
|
this.loadData();
|
},
|
|
daoZha(index,row){
|
this.id = row.id;
|
this.flag2 = true;
|
}
|
}
|
}
|
</script>
|
|
<style lang="scss" scoped>
|
.pageFoot{
|
width: 60%;
|
padding: 0!important;
|
display: flex;
|
flex-direction: row-reverse;
|
margin-top: 5px;
|
}
|
</style>
|