<template> <section> <!--工具条--> <el-col :span="24" class="toolbar" style="padding-bottom: 0px;"> <el-form :inline="true" :model="filters"> <el-form-item> <el-input v-model="filters.repairsname" placeholder="报修人名称"></el-input> </el-form-item> <el-form-item> <el-button type="primary" v-on:click="getMaintainList()">查询</el-button> </el-form-item> <el-form-item> <el-button type="primary" @click="companyAdd">新增</el-button> </el-form-item> </el-form> </el-col> <!--列表--> <el-table :data="securityInspectionList" highlight-current-row v-loading="listLoading" @selection-change="selsChange" style="width: 100%;"> <el-table-column type="selection" width="55"> </el-table-column> <el-table-column type="index"> </el-table-column> <el-table-column prop="id" v-if="false" label="ID" sortable> </el-table-column> <el-table-column prop="repairsdate" label="日期" sortable> </el-table-column> <el-table-column prop="repairscontent" label="报修内容" sortable> </el-table-column> <el-table-column prop="reflectway" label="反映途径" sortable> </el-table-column> <el-table-column prop="repairsdept" label="维修部门" sortable> </el-table-column> <el-table-column prop="answerthephonename" label="接电话人员" sortable> </el-table-column> <el-table-column prop="repairsname" label="报修人" sortable> </el-table-column> <el-table-column prop="repairsphone" label="报修电话" sortable> </el-table-column> <el-table-column prop="maintaindate" label="维修日期" sortable> </el-table-column> <el-table-column prop="maintaincase" label="维修情况" sortable> </el-table-column> <el-table-column prop="cooperatemaintainname" label="配合维修人员" sortable> </el-table-column> <el-table-column prop="meno" label="备注" sortable> </el-table-column> <el-table-column label="操作" min-width="150"> <template slot-scope="scope"> <el-button size="small" @click="handleEdit(scope.$index, scope.row)">编辑</el-button> <el-button type="danger" size="small" @click="handleDel(scope.$index, scope.row)">删除</el-button> </template> </el-table-column> </el-table> <!--工具条--> <el-col :span="24" class="toolbar"> <el-button type="danger" @click="batchRemove" :disabled="this.sels.length===0">批量删除</el-button> <el-pagination layout="total, prev, pager, next" @current-change="handleCurrentChange" :page-size="5" :total="total" style="float:right;"> </el-pagination> </el-col> <!--编辑界面--> <el-dialog title="编辑" :visible.sync="editFormVisible" :close-on-click-modal="false"> <el-form :model="editForm" label-width="80px" :rules="editFormRules" ref="editForm"> <el-form-item label="ID"> <span>{{editForm.id}}</span> </el-form-item> <el-form-item label="日期" prop="repairsdate"> <el-date-picker v-model="editForm.repairsdate" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择日期时间"> </el-date-picker> </el-form-item> <el-form-item label="报修内容" prop="repairscontent"> <el-input v-model="editForm.repairscontent" auto-complete="off" placeholder="请输入报修内容"></el-input> </el-form-item> <el-form-item label="反映途径" prop="reflectway"> <el-input v-model="editForm.reflectway" auto-complete="off" placeholder="请输入反映途径"></el-input> </el-form-item> <el-form-item label="维修部门" prop="repairsdept"> <el-input v-model="editForm.repairsdept" auto-complete="off" placeholder="请输入维修部门"></el-input> </el-form-item> <el-form-item label="接电话人员" prop="answerthephonename"> <el-input v-model="editForm.answerthephonename" auto-complete="off" placeholder="请输入接电话人员"></el-input> </el-form-item> <el-form-item label="报修人" prop="repairsname"> <el-input v-model="editForm.repairsname" auto-complete="off" placeholder="请输入报修人"></el-input> </el-form-item> <el-form-item label="报修电话" prop="repairsphone"> <el-input v-model="editForm.repairsphone" auto-complete="off" placeholder="请输报修电话"></el-input> </el-form-item> <el-form-item label="维修时间" prop="maintaindate"> <el-date-picker v-model="editForm.maintaindate" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" placeholder="选择日期时间"> </el-date-picker> </el-form-item> <el-form-item label="维修情况" prop="maintaincase"> <el-input v-model="editForm.maintaincase" auto-complete="off" placeholder="请输入维修情况"></el-input> </el-form-item> <el-form-item label="配合维修人员" prop="cooperatemaintainname"> <el-input v-model="editForm.cooperatemaintainname" auto-complete="off" placeholder="请输入配合维修人员"></el-input> </el-form-item> <el-form-item label="备注" prop="meno"> <el-input v-model="editForm.meno" auto-complete="off" placeholder="请输入备注"></el-input> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> <el-button @click.native="editFormVisible = false">取消</el-button> <el-button type="primary" @click.native="editSubmit" :loading="editLoading">提交</el-button> </div> </el-dialog> <!--新增界面--> <el-dialog title="新增" :visible.sync="addFormVisible" :close-on-click-modal="false"> <el-form :model="addForm" label-width="80px" :rules="addFormRules" ref="addForm"> <el-form-item label="日期" prop="repairsdate"> <el-date-picker v-model="addForm.repairsdate" type="datetime" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择日期时间"> </el-date-picker> </el-form-item> <el-form-item label="报修内容" prop="repairscontent"> <el-input v-model="addForm.repairscontent" auto-complete="off" placeholder="请输入报修内容"></el-input> </el-form-item> <el-form-item label="反映途径" prop="reflectway"> <el-input v-model="addForm.reflectway" auto-complete="off" placeholder="请输入反映途径"></el-input> </el-form-item> <el-form-item label="维修部门" prop="repairsdept"> <el-input v-model="addForm.repairsdept" auto-complete="off" placeholder="请输入维修部门"></el-input> </el-form-item> <el-form-item label="接电话人员" prop="answerthephonename"> <el-input v-model="addForm.answerthephonename" auto-complete="off" placeholder="请输入接电话人员"></el-input> </el-form-item> <el-form-item label="报修人" prop="repairsname"> <el-input v-model="addForm.repairsname" auto-complete="off" placeholder="请输入报修人"></el-input> </el-form-item> <el-form-item label="报修电话" prop="repairsphone"> <el-input v-model="addForm.repairsphone" auto-complete="off" placeholder="请输报修电话"></el-input> </el-form-item> <el-form-item label="维修日期" prop="maintaindate"> <el-date-picker v-model="addForm.maintaindate" type="datetime" format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" placeholder="选择日期时间"> </el-date-picker> </el-form-item> <el-form-item label="维修情况" prop="maintaincase"> <el-input v-model="addForm.maintaincase" auto-complete="off" placeholder="请输入维修情况"></el-input> </el-form-item> <el-form-item label="配合维修人员" prop="cooperatemaintainname"> <el-input v-model="addForm.cooperatemaintainname" auto-complete="off" placeholder="请输入配合维修人员"></el-input> </el-form-item> <el-form-item label="备注" prop="meno"> <el-input v-model="addForm.meno" auto-complete="off" placeholder="请输入备注"></el-input> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> <el-button @click.native="addFormVisible = false">取消</el-button> <el-button type="primary" @click.native="addSubmit" :loading="addLoading">提交</el-button> </div> </el-dialog> </section> </template> <script> import util from '../../common/js/util' import NProgress from 'nprogress' import { getList, remove, batchRemove, edit, add } from '../../api/staff/maintain'; import moment from 'moment' export default { data() { return { filters: { repairsname: '' }, createby: '', securityInspectionList: [], total: 0, pageNum: 1, pageSize: 5, listLoading: false, sels: [],//列表选中列 //编辑界面是否显示 editFormVisible: false, editLoading: false, editFormRules: { repairscontent: [ { required: true, message: '不能为空!!!', trigger: 'blur' } ], reflectway: [ { required: true, message: '不能为空!!!', trigger: 'blur' } ], repairsdept: [ { required: true, message: '不能为空!!!', trigger: 'blur' } ], repairsname: [ { required: true, message: '不能为空!!!', trigger: 'blur' } ], answerthephonename: [ { required: true, message: '不能为空!!!', trigger: 'blur' } ], repairsphone: [ { required: true, message: '不能为空!!!', trigger: 'blur' } ], maintaincase: [ { required: true, message: '不能为空!!!', trigger: 'blur' } ], cooperatemaintainname: [ { required: true, message: '不能为空!!!', trigger: 'blur' } ], meno: [ { required: true, message: '不能为空!!!', trigger: 'blur' } ], }, //编辑界面数据 editForm: { repairsdate: '', repairscontent: '', reflectway: '', repairsdept: '', repairsname: '', answerthephonename: '', repairsphone: '', maintaindate: '', maintaincase: '', cooperatemaintainname: '', meno:"" }, //新增界面是否显示 addFormVisible: false, addLoading: false, addFormRules: { repairscontent: [ { required: true, message: '不能为空!!!', trigger: 'blur' } ], reflectway: [ { required: true, message: '不能为空!!!', trigger: 'blur' } ], repairsdept: [ { required: true, message: '不能为空!!!', trigger: 'blur' } ], repairsname: [ { required: true, message: '不能为空!!!', trigger: 'blur' } ], answerthephonename: [ { required: true, message: '不能为空!!!', trigger: 'blur' } ], repairsphone: [ { required: true, message: '不能为空!!!', trigger: 'blur' } ], maintaincase: [ { required: true, message: '不能为空!!!', trigger: 'blur' } ], cooperatemaintainname: [ { required: true, message: '不能为空!!!', trigger: 'blur' } ], meno: [ { required: true, message: '不能为空!!!', trigger: 'blur' } ], }, //新增界面数据 addForm: { repairsdate: '', repairscontent: '', reflectway: '', repairsdept: '', repairsname: '', answerthephonename: '', repairsphone: '', maintaindate: '', maintaincase: '', cooperatemaintainname: '', meno:"", createby: this.createby } } }, mounted() { this.createby = JSON.parse(sessionStorage.getItem('user')).userId; this.getMaintainList(); }, methods: { handleCurrentChange(val) { this.pageNum = val; this.getMaintainList(); }, //获取公司列表 getMaintainList() { let para = { pageNum: this.pageNum, pageSize: this.pageSize, repairsname: this.filters.repairsname }; this.listLoading = true; getList(para).then((res) => { this.total = res.data.total; this.securityInspectionList = res.data.list; this.listLoading = false; //NProgress.done(); }).catch((error) => { this.listLoading = false; if(null!= error.response && error.response!==undefined){ let status= error.response.status; let msg = error.response.statusText; alert(status+msg); }else { alert(error); } }); }, //删除 handleDel: function (index, row) { this.$confirm('确认删除该记录吗?', '提示', { type: 'warning' }).then(() => { this.listLoading = true; //NProgress.start(); let para = { id: row.id }; remove(para).then((res) => { this.listLoading = false; //NProgress.done(); this.$message({ message: '删除成功', type: 'success' }); this.getMaintainList(); }).catch((error) => { this.listLoading = false; alert(error); }); }).catch(); }, /** * 显示编辑界面 * @param index * @param row 为这行的数据对象 */ handleEdit: function (index, row) { this.editFormVisible = true; this.editForm = Object.assign({}, row); this.getMaintainList(); }, //显示新增界面,每次点开初始化数据 companyAdd: function () { this.addFormVisible = true; this.addForm = { createby: this.createby }; this.getMaintainList(); }, //新增 addSubmit: function () { this.$refs.addForm.validate((valid) => { if (valid) { this.$confirm('确认提交吗?', '提示', {}).then(() => { //NProgress.start(); this.listLoading = true; let para = Object.assign({}, this.addForm); add(para).then((res) => { this.addLoading = false; //NProgress.done(); this.$message({ message: '提交成功', type: 'success' }); this.$refs['addForm'].resetFields(); this.addFormVisible = false; this.getMaintainList(); }).catch(error => alert(error)); }); } }); }, //编辑 editSubmit: function () { this.$refs.editForm.validate((valid) => { if (valid) { this.$confirm('确认提交吗?', '提示', {}).then(() => { this.editLoading = true; let para = Object.assign({}, this.editForm); this.editLoading = true; edit(para).then((res) => { this.$message({ message: '提交成功', type: 'success' }); this.$refs['editForm'].resetFields(); this.editFormVisible = false; this.getMaintainList(); }).catch(error => alert(error)); }); } }); }, selsChange: function (sels) { this.sels = sels; }, //批量删除 batchRemove: function () { var ids = this.sels.map(item => item.id).toString(); this.$confirm('确认删除选中记录吗?', '提示', { type: 'warning' }).then(() => { this.listLoading = true; //NProgress.start(); let para = { ids: ids }; batchRemove(para).then((res) => { this.listLoading = false; //NProgress.done(); this.$message({ message: '删除成功', type: 'success' }); this.getMaintainList(); }); }).catch(() => { }); } }, } </script>