<template>
|
<div class="mod-config" style="padding: 10px 10px 0px 10px;">
|
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
|
<el-form-item label="停车场">
|
<el-select v-model="searchForm.parkId" clearable>
|
<el-option v-for="item in table1" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item>
|
<el-button type="primary" size="small" @click="getDataList" 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 class="avue-crud">
|
<el-table :height="tableHeight" :data="pageData.rows" border v-loading="pageData.isLoading">
|
<el-table-column type="index" width="50" label="序号" align="center">
|
</el-table-column>
|
<el-table-column prop="repairUser" header-align="center" align="center" label="维保人">
|
</el-table-column>
|
<el-table-column prop="parkName" header-align="center" align="center" label="停车场">
|
</el-table-column>
|
<el-table-column prop="status" header-align="center" align="center" label="状态">
|
<template slot-scope="scope">
|
<p v-if="scope.row.status == 0">维修</p>
|
<p v-if="scope.row.status == 1">保养</p>
|
<p v-if="scope.row.status == 2">更换</p>
|
</template>
|
</el-table-column>
|
<el-table-column prop="barrierName" header-align="center" align="center" label="道闸">
|
</el-table-column>
|
<el-table-column prop="repairContent" header-align="center" align="center" label="维保详情">
|
</el-table-column>
|
<el-table-column label="操作" fixed="right" width="150" align="center">
|
<template slot-scope="scope">
|
<el-button size="mini" type="danger" @click="handleDelete(scope.$index, scope.row)">删除</el-button>
|
</template>
|
</el-table-column>
|
</el-table>
|
<el-pagination background @size-change="onPageSizeChange" @current-change="onCurrentPageChange"
|
:current-page="pageData.currentPage" :page-size="pageData.pageSize" :total="pageData.total"
|
style="float: right"></el-pagination>
|
</div>
|
|
<el-dialog title="编辑" :visible.sync="flag" width="40%">
|
<el-form :model="formData" ref="formData" label-width="100px">
|
<el-form-item label="维保人" prop="repairUser" :rules="[{ required: true, message: '请输入维保人', trigger: 'blur' }]">
|
<el-input v-model="formData.repairUser" placeholder="请输入维保人"></el-input>
|
</el-form-item>
|
|
<el-form-item label="停车场" prop="parkId" :rules="[{ required: true, message: '请选择停车场', trigger: 'blur' }]">
|
<el-select v-model="formData.parkId" clearable @change="handlePark">
|
<el-option v-for="item in table1" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
</el-select>
|
</el-form-item>
|
|
<el-form-item label="道闸" prop="barrierId" :rules="[{ required: true, message: '请选择道闸', trigger: 'blur' }]">
|
<el-select v-model="formData.barrierId" clearable>
|
<el-option v-for="item in barryList" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
</el-select>
|
</el-form-item>
|
|
<el-form-item label="维保时间" prop="repairTime">
|
<el-date-picker v-model="formData.repairTime" type="datetime" format="yyyy-MM-dd HH:mm:ss"
|
value-format="yyyy-MM-dd HH:mm:ss" placeholder="选择日期时间">
|
</el-date-picker>
|
</el-form-item>
|
|
<el-form-item label="维保状态" prop="status">
|
<el-radio-group v-model="formData.status">
|
<el-radio :label="0">维修</el-radio>
|
<el-radio :label="1">保养</el-radio>
|
<el-radio :label="2">更换</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
|
<el-form-item label="维保详情" prop="repairContent"
|
:rules="[{ required: true, message: '请输入维保详情', trigger: 'blur' }]">
|
<el-input v-model="formData.repairContent" placeholder="请输入维保详情"></el-input>
|
</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>
|
export default {
|
data() {
|
return {
|
tableHeight: 500,
|
dataForm: {
|
key: ''
|
},
|
table1: [],
|
pageData: this.$byutil.defaultPageData(),
|
searchForm: {
|
current: this.pageIndex,
|
size: this.pageSize,
|
carNo: '',
|
parkId: '',
|
date: new Date,
|
},
|
dataList: [],
|
pageIndex: 1,
|
pageSize: 100,
|
totalPage: 0,
|
dataListLoading: false,
|
addOrUpdateVisible: false,
|
|
// 新增
|
flag: false,
|
formData: {},
|
barryList: [], // 道闸
|
}
|
},
|
components: {
|
},
|
created() {
|
this.getAllPark()
|
this.getDataList()
|
this.tableHeight = window.innerHeight - 260
|
},
|
computed: {
|
},
|
methods: {
|
// 获取数据列表
|
getDataList() {
|
this.dataListLoading = true
|
this.searchForm.current = this.pageIndex
|
this.searchForm.size = this.pageSize
|
this.$byutil.loadPageData(this, this.$systemconfig.basePath + '/ffzf/repair/findPage', this.searchForm);
|
this.dataListLoading = false
|
},
|
getAllPark() {
|
this.$byutil.postData(this, this.$systemconfig.basePath + '/ffzf/park/findAll', this.formData, res => {
|
this.table1 = res.data;
|
})
|
},
|
onPageSizeChange(val) {
|
this.pageData.pageSize = val;
|
this.getDataList();
|
},
|
onCurrentPageChange(val) {
|
this.pageData.page = val;
|
this.getDataList();
|
},
|
|
// 根据停车场获取道闸
|
getBarryList() {
|
this.$byutil.loadPageData(this, this.$systemconfig.basePath + '/ffzf/barrier/findPage', { parkId: this.formData.parkId });
|
},
|
|
// 选择停车场
|
handlePark(e) {
|
this.$byutil.postData4(this, this.$systemconfig.basePath + '/ffzf/barrier/findPage', { parkId: this.formData.parkId, size: 100 }, res => {
|
this.barryList = res.data.records
|
});
|
},
|
|
// 新增弹框
|
onAdd() {
|
this.flag = true;
|
this.$refs['formData'].resetFields();
|
this.formData = {
|
name: '',
|
loginName: '',
|
phone: '',
|
type: '',
|
}
|
},
|
|
// 新增保存
|
onSave() {
|
this.$refs['formData'].validate((valid) => {
|
if (valid) {
|
this.$byutil.postData(this, this.$systemconfig.basePath + '/ffzf/repair/save', this.formData, res => {
|
this.$refs['formData'].resetFields();
|
this.flag = false;
|
this.$message({ message: '保存成功', type: 'success' });
|
this.getDataList()
|
})
|
} else {
|
return false;
|
}
|
});
|
},
|
|
handleDelete(index, row) {
|
this.$byutil.deleteData(this, this.$systemconfig.basePath + "/ffzf/repair/delete", { id: row.id }, res => {
|
this.$message({ message: '删除成功', type: 'success' });
|
this.getDataList();
|
})
|
}
|
}
|
}
|
</script>
|
|
<style lang="scss" scoped>
|
.fenye-box {
|
width: calc(70% - 20px);
|
}
|
</style>
|