作者 shenhailong

职工公寓来访人员,车辆 值班巡视 增删改查

  1 +import axios from 'axios'
  2 +
  3 +let base = '/hqpt-user-center/come_car';
  4 +
  5 +
  6 +
  7 +export const getList = params => { return axios.get(`${base}/list`, { params: params }); };
  8 +
  9 +
  10 +export const remove = params => { return axios({
  11 + method: 'DELETE',
  12 + url: `${base}/del`,
  13 + data: params,
  14 + headers: {
  15 + 'Content-Type': 'application/json;charset=UTF-8'
  16 + }
  17 +})};
  18 +
  19 +//批量删除
  20 +export const batchRemove = params => { return axios.get(`${base}/batchremove`, { params: params }); };
  21 +
  22 +export const edit = params => { return axios({
  23 + method: 'PUT',
  24 + url: `${base}/edit`,
  25 + data: params,
  26 + headers: {
  27 + 'Content-Type': 'application/json;charset=UTF-8'
  28 + }
  29 +})};
  30 +
  31 +export const add = params => { return axios({
  32 + method: 'POST',
  33 + url: `${base}/add`,
  34 + data: params,
  35 + headers: {
  36 + 'Content-Type': 'application/json;charset=UTF-8'
  37 + }
  38 +})};
  1 +import axios from 'axios'
  2 +
  3 +let base = '/hqpt-user-center/on_duty';
  4 +
  5 +
  6 +
  7 +export const getList = params => { return axios.get(`${base}/list`, { params: params }); };
  8 +
  9 +
  10 +export const remove = params => { return axios({
  11 + method: 'DELETE',
  12 + url: `${base}/del`,
  13 + data: params,
  14 + headers: {
  15 + 'Content-Type': 'application/json;charset=UTF-8'
  16 + }
  17 +})};
  18 +
  19 +//批量删除
  20 +export const batchRemove = params => { return axios.get(`${base}/batchremove`, { params: params }); };
  21 +
  22 +export const edit = params => { return axios({
  23 + method: 'PUT',
  24 + url: `${base}/edit`,
  25 + data: params,
  26 + headers: {
  27 + 'Content-Type': 'application/json;charset=UTF-8'
  28 + }
  29 +})};
  30 +
  31 +export const add = params => { return axios({
  32 + method: 'POST',
  33 + url: `${base}/add`,
  34 + data: params,
  35 + headers: {
  36 + 'Content-Type': 'application/json;charset=UTF-8'
  37 + }
  38 +})};
@@ -20,6 +20,8 @@ import echarts from './views/charts/echarts.vue' @@ -20,6 +20,8 @@ import echarts from './views/charts/echarts.vue'
20 import SecrityInspection from './views/staff/security_inspection.vue' 20 import SecrityInspection from './views/staff/security_inspection.vue'
21 import Key from './views/staff/key.vue' 21 import Key from './views/staff/key.vue'
22 import Maintain from './views/staff/maintain.vue' 22 import Maintain from './views/staff/maintain.vue'
  23 +import ComeCar from './views/staff/come_car.vue'
  24 +import OnDuty from './views/staff/on_duty.vue'
23 25
24 let routes = [ 26 let routes = [
25 { 27 {
@@ -69,6 +71,8 @@ let routes = [ @@ -69,6 +71,8 @@ let routes = [
69 { path: '/security_inspection', component: SecrityInspection, name: '职工公寓安全巡视管理' }, 71 { path: '/security_inspection', component: SecrityInspection, name: '职工公寓安全巡视管理' },
70 { path: '/key', component: Key, name: '职工公寓备用钥匙使用登记管理' }, 72 { path: '/key', component: Key, name: '职工公寓备用钥匙使用登记管理' },
71 { path: '/maintain', component: Maintain, name: '职工公寓设施设备维修记录管理' }, 73 { path: '/maintain', component: Maintain, name: '职工公寓设施设备维修记录管理' },
  74 + { path: '/come_car', component: ComeCar, name: '职工公寓外来人员车辆登记管理' },
  75 + { path: '/on_duty', component: OnDuty, name: '职工公寓值班巡视记录管理' },
72 ] 76 ]
73 }, 77 },
74 { 78 {
@@ -70,7 +70,7 @@ @@ -70,7 +70,7 @@
70 <el-form-item label="父目录ID" prop="parentId"> 70 <el-form-item label="父目录ID" prop="parentId">
71 <el-input v-model="editForm.parentId" auto-complete="off" placeholder="请输入父目录ID:例如:123"></el-input> 71 <el-input v-model="editForm.parentId" auto-complete="off" placeholder="请输入父目录ID:例如:123"></el-input>
72 </el-form-item> 72 </el-form-item>
73 - <el-form-item label="是否ismenu" prop="ismenu"> 73 + <el-form-item label="ismenu" prop="ismenu">
74 <el-switch 74 <el-switch
75 v-model="editForm.ismenu" 75 v-model="editForm.ismenu"
76 active-color="#13ce66" 76 active-color="#13ce66"
@@ -109,7 +109,7 @@ @@ -109,7 +109,7 @@
109 <el-form-item label="父目录ID" prop="parentId"> 109 <el-form-item label="父目录ID" prop="parentId">
110 <el-input v-model="addForm.parentId" auto-complete="off" placeholder="请输入父目录ID:例如:123"></el-input> 110 <el-input v-model="addForm.parentId" auto-complete="off" placeholder="请输入父目录ID:例如:123"></el-input>
111 </el-form-item> 111 </el-form-item>
112 - <el-form-item label="是否ismenu" prop="ismenu"> 112 + <el-form-item label="ismenu" prop="ismenu">
113 <el-switch 113 <el-switch
114 v-model="addForm.ismenu" 114 v-model="addForm.ismenu"
115 active-color="#13ce66" 115 active-color="#13ce66"
  1 +<template>
  2 + <section>
  3 + <!--工具条-->
  4 + <el-col :span="24" class="toolbar" style="padding-bottom: 0px;">
  5 + <el-form :inline="true" :model="filters">
  6 + <el-form-item>
  7 + <el-input v-model="filters.cometovisitname" placeholder="报修人名称"></el-input>
  8 + </el-form-item>
  9 + <el-form-item>
  10 + <el-button type="primary" v-on:click="getMaintainList()">查询</el-button>
  11 + </el-form-item>
  12 + <el-form-item>
  13 + <el-button type="primary" @click="companyAdd">新增</el-button>
  14 + </el-form-item>
  15 + </el-form>
  16 + </el-col>
  17 +
  18 + <!--列表-->
  19 + <el-table :data="securityInspectionList" highlight-current-row v-loading="listLoading" @selection-change="selsChange" style="width: 100%;">
  20 + <el-table-column type="selection" width="55">
  21 + </el-table-column>
  22 + <el-table-column type="index">
  23 + </el-table-column>
  24 + <el-table-column prop="id" v-if="false" label="ID" sortable>
  25 + </el-table-column>
  26 + <el-table-column prop="datetime" label="日期" sortable>
  27 + </el-table-column>
  28 + <el-table-column prop="cometovisitdate" label="来访时间" sortable>
  29 + </el-table-column>
  30 + <el-table-column prop="leavedate" label="离开时间" sortable>
  31 + </el-table-column>
  32 + <el-table-column prop="cometovisitname" label="姓名" sortable>
  33 + </el-table-column>
  34 + <el-table-column prop="carnumber" label="车辆牌号" sortable>
  35 + </el-table-column>
  36 + <el-table-column prop="phone" label="联系电话" sortable>
  37 + </el-table-column>
  38 + <el-table-column prop="comematter" label="来访事由" sortable>
  39 + </el-table-column>
  40 + <el-table-column prop="warchkeeper" label="值班人员" sortable>
  41 + </el-table-column>
  42 + <el-table-column label="操作" min-width="150">
  43 + <template slot-scope="scope">
  44 + <el-button size="small" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
  45 + <el-button type="danger" size="small" @click="handleDel(scope.$index, scope.row)">删除</el-button>
  46 + </template>
  47 + </el-table-column>
  48 + </el-table>
  49 +
  50 + <!--工具条-->
  51 + <el-col :span="24" class="toolbar">
  52 + <el-button type="danger" @click="batchRemove" :disabled="this.sels.length===0">批量删除</el-button>
  53 + <el-pagination layout="total, prev, pager, next" @current-change="handleCurrentChange" :page-size="5" :total="total" style="float:right;">
  54 + </el-pagination>
  55 + </el-col>
  56 +
  57 + <!--编辑界面-->
  58 + <el-dialog title="编辑" :visible.sync="editFormVisible" :close-on-click-modal="false">
  59 + <el-form :model="editForm" label-width="80px" :rules="editFormRules" ref="editForm">
  60 + <el-form-item label="ID">
  61 + <span>{{editForm.id}}</span>
  62 + </el-form-item>
  63 + <el-form-item label="日期" prop="datetime">
  64 + <el-date-picker
  65 + v-model="editForm.datetime"
  66 + type="date"
  67 + format="yyyy-MM-dd"
  68 + value-format="yyyy-MM-dd"
  69 + placeholder="选择日期时间">
  70 + </el-date-picker>
  71 + </el-form-item>
  72 + <el-form-item label="来访时间" prop="cometovisitdate">
  73 + <el-date-picker
  74 + v-model="editForm.cometovisitdate"
  75 + type="date"
  76 + format="yyyy-MM-dd HH:mm:ss"
  77 + value-format="yyyy-MM-dd HH:mm:ss"
  78 + placeholder="选择日期时间">
  79 + </el-date-picker>
  80 + </el-form-item>
  81 + <el-form-item label="离开时间" prop="leavedate">
  82 + <el-date-picker
  83 + v-model="editForm.leavedate"
  84 + type="date"
  85 + format="yyyy-MM-dd HH:mm:ss"
  86 + value-format="yyyy-MM-dd HH:mm:ss"
  87 + placeholder="选择日期时间">
  88 + </el-date-picker>
  89 + </el-form-item>
  90 + <el-form-item label="姓名" prop="cometovisitname">
  91 + <el-input v-model="editForm.cometovisitname" auto-complete="off" placeholder="请输入姓名"></el-input>
  92 + </el-form-item>
  93 + <el-form-item label="车辆牌号" prop="carnumber">
  94 + <el-input v-model="editForm.carnumber" auto-complete="off" placeholder="请输入车辆牌号"></el-input>
  95 + </el-form-item>
  96 + <el-form-item label="联系电话" prop="phone">
  97 + <el-input v-model="editForm.phone" auto-complete="off" placeholder="请输入联系电话"></el-input>
  98 + </el-form-item>
  99 + <el-form-item label="来访事由" prop="comematter">
  100 + <el-input v-model="editForm.comematter" auto-complete="off" placeholder="请输入来访事由"></el-input>
  101 + </el-form-item>
  102 + <el-form-item label="值班人员" prop="warchkeeper">
  103 + <el-input v-model="editForm.warchkeeper" auto-complete="off" placeholder="请输值班人员"></el-input>
  104 + </el-form-item>
  105 + </el-form>
  106 + <div slot="footer" class="dialog-footer">
  107 + <el-button @click.native="editFormVisible = false">取消</el-button>
  108 + <el-button type="primary" @click.native="editSubmit" :loading="false">提交</el-button>
  109 + </div>
  110 + </el-dialog>
  111 +
  112 + <!--新增界面-->
  113 + <el-dialog title="新增" :visible.sync="addFormVisible" :close-on-click-modal="false">
  114 + <el-form :model="addForm" label-width="80px" :rules="addFormRules" ref="addForm">
  115 + <el-form-item label="日期" prop="datetime">
  116 + <el-date-picker
  117 + v-model="addForm.datetime"
  118 + type="date"
  119 + format="yyyy-MM-dd"
  120 + value-format="yyyy-MM-dd"
  121 + placeholder="选择日期时间">
  122 + </el-date-picker>
  123 + </el-form-item>
  124 + <el-form-item label="来访时间" prop="cometovisitdate">
  125 + <el-date-picker
  126 + v-model="addForm.cometovisitdate"
  127 + type="date"
  128 + format="yyyy-MM-dd HH:mm:ss"
  129 + value-format="yyyy-MM-dd HH:mm:ss"
  130 + placeholder="选择日期时间">
  131 + </el-date-picker>
  132 + </el-form-item>
  133 + <el-form-item label="离开时间" prop="leavedate">
  134 + <el-date-picker
  135 + v-model="addForm.leavedate"
  136 + type="date"
  137 + format="yyyy-MM-dd HH:mm:ss"
  138 + value-format="yyyy-MM-dd HH:mm:ss"
  139 + placeholder="选择日期时间">
  140 + </el-date-picker>
  141 + </el-form-item>
  142 + <el-form-item label="姓名" prop="cometovisitname">
  143 + <el-input v-model="addForm.cometovisitname" auto-complete="off" placeholder="请输入姓名"></el-input>
  144 + </el-form-item>
  145 + <el-form-item label="车辆牌号" prop="carnumber">
  146 + <el-input v-model="addForm.carnumber" auto-complete="off" placeholder="请输入车辆牌号"></el-input>
  147 + </el-form-item>
  148 + <el-form-item label="联系电话" prop="phone">
  149 + <el-input v-model="addForm.phone" auto-complete="off" placeholder="请输入联系电话"></el-input>
  150 + </el-form-item>
  151 + <el-form-item label="来访事由" prop="comematter">
  152 + <el-input v-model="addForm.comematter" auto-complete="off" placeholder="请输入来访事由"></el-input>
  153 + </el-form-item>
  154 + <el-form-item label="值班人员" prop="warchkeeper">
  155 + <el-input v-model="addForm.warchkeeper" auto-complete="off" placeholder="请输值班人员"></el-input>
  156 + </el-form-item>
  157 + </el-form>
  158 + <div slot="footer" class="dialog-footer">
  159 + <el-button @click.native="addFormVisible = false">取消</el-button>
  160 + <el-button type="primary" @click.native="addSubmit" :loading="addLoading">提交</el-button>
  161 + </div>
  162 + </el-dialog>
  163 + </section>
  164 +</template>
  165 +
  166 +<script>
  167 + import util from '../../common/js/util'
  168 + import NProgress from 'nprogress'
  169 + import { getList, remove, batchRemove, edit, add } from '../../api/staff/come_car';
  170 + import moment from 'moment'
  171 +
  172 + export default {
  173 + data() {
  174 + return {
  175 + filters: {
  176 + cometovisitname: ''
  177 + },
  178 + userid: '',
  179 + securityInspectionList: [],
  180 + total: 0,
  181 + pageNum: 1,
  182 + pageSize: 5,
  183 + listLoading: false,
  184 + sels: [],//列表选中列
  185 + //编辑界面是否显示
  186 + editFormVisible: false,
  187 + editLoading: false,
  188 + editFormRules: {
  189 + repairscontent: [
  190 + { required: true, message: '不能为空!!!', trigger: 'blur' }
  191 + ],
  192 + reflectway: [
  193 + { required: true, message: '不能为空!!!', trigger: 'blur' }
  194 + ],
  195 + repairsdept: [
  196 + { required: true, message: '不能为空!!!', trigger: 'blur' }
  197 + ],
  198 + repairsname: [
  199 + { required: true, message: '不能为空!!!', trigger: 'blur' }
  200 + ],
  201 + answerthephonename: [
  202 + { required: true, message: '不能为空!!!', trigger: 'blur' }
  203 + ],
  204 + repairsphone: [
  205 + { required: true, message: '不能为空!!!', trigger: 'blur' }
  206 + ],
  207 + maintaincase: [
  208 + { required: true, message: '不能为空!!!', trigger: 'blur' }
  209 + ],
  210 + cooperatemaintainname: [
  211 + { required: true, message: '不能为空!!!', trigger: 'blur' }
  212 + ],
  213 + meno: [
  214 + { required: true, message: '不能为空!!!', trigger: 'blur' }
  215 + ],
  216 + },
  217 + //编辑界面数据
  218 + editForm: {
  219 + id:'',
  220 + datetime:'',
  221 + cometovisitdate:'',
  222 + leavedate:'',
  223 + cometovisitname: '',
  224 + carnumber: '',
  225 + phone: '',
  226 + comematter: '',
  227 + warchkeeper: ''
  228 +
  229 + },
  230 + //新增界面是否显示
  231 + addFormVisible: false,
  232 + addLoading: false,
  233 + addFormRules: {
  234 + repairscontent: [
  235 + { required: true, message: '不能为空!!!', trigger: 'blur' }
  236 + ],
  237 + reflectway: [
  238 + { required: true, message: '不能为空!!!', trigger: 'blur' }
  239 + ],
  240 + repairsdept: [
  241 + { required: true, message: '不能为空!!!', trigger: 'blur' }
  242 + ],
  243 + repairsname: [
  244 + { required: true, message: '不能为空!!!', trigger: 'blur' }
  245 + ],
  246 + answerthephonename: [
  247 + { required: true, message: '不能为空!!!', trigger: 'blur' }
  248 + ],
  249 + repairsphone: [
  250 + { required: true, message: '不能为空!!!', trigger: 'blur' }
  251 + ],
  252 + maintaincase: [
  253 + { required: true, message: '不能为空!!!', trigger: 'blur' }
  254 + ],
  255 + cooperatemaintainname: [
  256 + { required: true, message: '不能为空!!!', trigger: 'blur' }
  257 + ],
  258 + meno: [
  259 + { required: true, message: '不能为空!!!', trigger: 'blur' }
  260 + ],
  261 + },
  262 +
  263 + //新增界面数据
  264 + addForm: {
  265 + datetime:'',
  266 + cometovisitdate:'',
  267 + leavedate:'',
  268 + cometovisitname: '',
  269 + carnumber: '',
  270 + phone: '',
  271 + comematter: '',
  272 + warchkeeper: '',
  273 + userid: this.userid
  274 + }
  275 + }
  276 + },
  277 + mounted() {
  278 + this.userid = JSON.parse(sessionStorage.getItem('user')).userId;
  279 + this.getMaintainList();
  280 +
  281 + },
  282 + methods: {
  283 +
  284 + handleCurrentChange(val) {
  285 + this.pageNum = val;
  286 + this.getMaintainList();
  287 + },
  288 + //获取列表
  289 + getMaintainList() {
  290 + let para = {
  291 + pageNum: this.pageNum,
  292 + pageSize: this.pageSize,
  293 + cometovisitname: this.filters.cometovisitname
  294 + };
  295 + this.listLoading = true;
  296 + getList(para).then((res) => {
  297 + this.total = res.data.total;
  298 + this.securityInspectionList = res.data.list;
  299 + this.listLoading = false;
  300 + //NProgress.done();
  301 + }).catch((error) => {
  302 +
  303 + this.listLoading = false;
  304 + if(null!= error.response && error.response!==undefined){
  305 + let status= error.response.status;
  306 + let msg = error.response.statusText;
  307 + alert(status+msg);
  308 + }else {
  309 + alert(error);
  310 + }
  311 +
  312 + });
  313 +
  314 + },
  315 +
  316 +
  317 + //删除
  318 + handleDel: function (index, row) {
  319 + this.$confirm('确认删除该记录吗?', '提示', {
  320 + type: 'warning'
  321 + }).then(() => {
  322 + this.listLoading = true;
  323 + //NProgress.start();
  324 + let para = { id: row.id };
  325 + remove(para).then((res) => {
  326 + this.listLoading = false;
  327 + //NProgress.done();
  328 + this.$message({
  329 + message: '删除成功',
  330 + type: 'success'
  331 + });
  332 + this.getMaintainList();
  333 + }).catch((error) => {
  334 + this.listLoading = false;
  335 + alert(error);
  336 + });
  337 + }).catch();
  338 + },
  339 + /**
  340 + * 显示编辑界面
  341 + * @param index
  342 + * @param row 为这行的数据对象
  343 + */
  344 + handleEdit: function (index, row) {
  345 + this.editFormVisible = true;
  346 + this.editForm = Object.assign({}, row);
  347 + this.getMaintainList();
  348 + },
  349 + //显示新增界面,每次点开初始化数据
  350 + companyAdd: function () {
  351 + this.addFormVisible = true;
  352 + this.addForm = {
  353 + userid: this.userid
  354 + };
  355 + this.getMaintainList();
  356 + },
  357 +
  358 + //新增
  359 + addSubmit: function () {
  360 + this.$refs.addForm.validate((valid) => {
  361 + if (valid) {
  362 + this.$confirm('确认提交吗?', '提示', {}).then(() => {
  363 + //NProgress.start();
  364 + this.listLoading = true;
  365 + let para = Object.assign({}, this.addForm);
  366 + add(para).then((res) => {
  367 + this.addLoading = false;
  368 + //NProgress.done();
  369 + this.$message({
  370 + message: '提交成功',
  371 + type: 'success'
  372 + });
  373 + this.$refs['addForm'].resetFields();
  374 + this.addFormVisible = false;
  375 + this.getMaintainList();
  376 + }).catch(error => alert(error));
  377 + });
  378 + }
  379 + });
  380 + },
  381 + //编辑
  382 + editSubmit: function () {
  383 + this.$refs.editForm.validate((valid) => {
  384 + if (valid) {
  385 + this.$confirm('确认提交吗?', '提示', {}).then(() => {
  386 + this.editLoading = true;
  387 + let para = Object.assign({}, this.editForm);
  388 + this.editLoading = true;
  389 + edit(para).then((res) => {
  390 +
  391 + this.$message({
  392 + message: '提交成功',
  393 + type: 'success'
  394 + });
  395 + this.$refs['editForm'].resetFields();
  396 + this.editFormVisible = false;
  397 + this.getMaintainList();
  398 + }).catch(error => alert(error));
  399 + });
  400 + }
  401 + });
  402 + },
  403 +
  404 + selsChange: function (sels) {
  405 + this.sels = sels;
  406 + },
  407 + //批量删除
  408 + batchRemove: function () {
  409 + var ids = this.sels.map(item => item.id).toString();
  410 + this.$confirm('确认删除选中记录吗?', '提示', {
  411 + type: 'warning'
  412 + }).then(() => {
  413 + this.listLoading = true;
  414 + //NProgress.start();
  415 + let para = { ids: ids };
  416 + batchRemove(para).then((res) => {
  417 + this.listLoading = false;
  418 + //NProgress.done();
  419 + this.$message({
  420 + message: '删除成功',
  421 + type: 'success'
  422 + });
  423 + this.getMaintainList();
  424 + });
  425 + }).catch(() => {
  426 +
  427 + });
  428 + }
  429 + },
  430 +
  431 + }
  432 +</script>
@@ -218,7 +218,7 @@ @@ -218,7 +218,7 @@
218 }, 218 },
219 //新增界面是否显示 219 //新增界面是否显示
220 addFormVisible: false, 220 addFormVisible: false,
221 - addLoading: false, 221 + addLoading: true,
222 addFormRules: { 222 addFormRules: {
223 223
224 roomnum: [ 224 roomnum: [
  1 +<template>
  2 + <section>
  3 + <!--工具条-->
  4 + <el-col :span="24" class="toolbar" style="padding-bottom: 0px;">
  5 + <el-form :inline="true" :model="filters">
  6 + <el-form-item>
  7 + <el-input v-model="filters.warchkeeper" placeholder="值班人员名称"></el-input>
  8 + </el-form-item>
  9 + <el-form-item>
  10 + <el-button type="primary" v-on:click="getMaintainList()">查询</el-button>
  11 + </el-form-item>
  12 + <el-form-item>
  13 + <el-button type="primary" @click="companyAdd">新增</el-button>
  14 + </el-form-item>
  15 + </el-form>
  16 + </el-col>
  17 +
  18 + <!--列表-->
  19 + <el-table :data="securityInspectionList" highlight-current-row v-loading="listLoading" @selection-change="selsChange" style="width: 100%;">
  20 + <el-table-column type="selection" width="55">
  21 + </el-table-column>
  22 + <el-table-column type="index">
  23 + </el-table-column>
  24 + <el-table-column prop="id" v-if="false" label="ID" sortable>
  25 + </el-table-column>
  26 + <el-table-column prop="warchkeeper" label="值班人员" sortable>
  27 + </el-table-column>
  28 + <el-table-column prop="handovershifttime" label="交班时间" sortable>
  29 + </el-table-column>
  30 + <el-table-column prop="publiclighting" label="公共照明" sortable>
  31 + </el-table-column>
  32 + <el-table-column prop="carpark" label="车辆停放" sortable>
  33 + </el-table-column>
  34 + <el-table-column prop="campusafforestation" label="院区绿化" sortable>
  35 + </el-table-column>
  36 + <el-table-column prop="firefightingequipment" label="消防设备" sortable>
  37 + </el-table-column>
  38 + <el-table-column prop="equipmentfacilities" label="设施设备" sortable>
  39 + </el-table-column>
  40 + <el-table-column prop="publicsanitation" label="公共卫生" sortable>
  41 + </el-table-column>
  42 + <el-table-column prop="property" label="物业" sortable>
  43 + </el-table-column>
  44 + <el-table-column prop="securitydanger" label="安全隐患" sortable>
  45 + </el-table-column>
  46 + <el-table-column prop="rests" label="其他" sortable>
  47 + </el-table-column>
  48 + <el-table-column prop="handovermatters" label="交班事项" sortable>
  49 + </el-table-column>
  50 + <el-table-column label="操作" min-width="150">
  51 + <template slot-scope="scope">
  52 + <el-button size="small" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
  53 + <el-button type="danger" size="small" @click="handleDel(scope.$index, scope.row)">删除</el-button>
  54 + </template>
  55 + </el-table-column>
  56 + </el-table>
  57 +
  58 + <!--工具条-->
  59 + <el-col :span="24" class="toolbar">
  60 + <el-button type="danger" @click="batchRemove" :disabled="this.sels.length===0">批量删除</el-button>
  61 + <el-pagination layout="total, prev, pager, next" @current-change="handleCurrentChange" :page-size="5" :total="total" style="float:right;">
  62 + </el-pagination>
  63 + </el-col>
  64 +
  65 + <!--编辑界面-->
  66 + <el-dialog title="编辑" :visible.sync="editFormVisible" :close-on-click-modal="false">
  67 + <el-form :model="editForm" label-width="80px" :rules="editFormRules" ref="editForm">
  68 + <el-form-item label="ID">
  69 + <span>{{editForm.id}}</span>
  70 + </el-form-item>
  71 + <el-form-item label="值班人员" prop="warchkeeper">
  72 + <el-input v-model="editForm.warchkeeper" auto-complete="off" placeholder="请输入值班人员"></el-input>
  73 + </el-form-item>
  74 + <el-form-item label="交班时间" prop="handovershifttime">
  75 + <el-date-picker
  76 + v-model="editForm.handovershifttime"
  77 + type="date"
  78 + format="yyyy-MM-dd HH:mm:ss"
  79 + value-format="yyyy-MM-dd HH:mm:ss"
  80 + placeholder="选择日期时间">
  81 + </el-date-picker>
  82 + </el-form-item>
  83 + <el-form-item label="公共照明" prop="publiclighting">
  84 + <el-input v-model="editForm.publiclighting" auto-complete="off" placeholder="请输入公共照明"></el-input>
  85 + </el-form-item>
  86 + <el-form-item label="车辆停放" prop="carpark">
  87 + <el-input v-model="editForm.carpark" auto-complete="off" placeholder="请输入车辆停放"></el-input>
  88 + </el-form-item>
  89 + <el-form-item label="院区绿化" prop="campusafforestation">
  90 + <el-input v-model="editForm.campusafforestation" auto-complete="off" placeholder="请输入院区绿化"></el-input>
  91 + </el-form-item>
  92 + <el-form-item label="消防设备" prop="firefightingequipment">
  93 + <el-input v-model="editForm.firefightingequipment" auto-complete="off" placeholder="请输入消防设备"></el-input>
  94 + </el-form-item>
  95 + <el-form-item label="设施设备" prop="equipmentfacilities">
  96 + <el-input v-model="editForm.equipmentfacilities" auto-complete="off" placeholder="请输入设施设备"></el-input>
  97 + </el-form-item>
  98 + <el-form-item label="公共卫生" prop="publicsanitation">
  99 + <el-input v-model="editForm.publicsanitation" auto-complete="off" placeholder="请输入公共卫生"></el-input>
  100 + </el-form-item>
  101 + <el-form-item label="物业" prop="property">
  102 + <el-input v-model="editForm.property" auto-complete="off" placeholder="请输入物业"></el-input>
  103 + </el-form-item>
  104 + <el-form-item label="安全隐患" prop="securitydanger">
  105 + <el-input v-model="editForm.securitydanger" auto-complete="off" placeholder="请输入安全隐患"></el-input>
  106 + </el-form-item>
  107 + <el-form-item label="其他" prop="rests">
  108 + <el-input v-model="editForm.rests" auto-complete="off" placeholder="请输入其他"></el-input>
  109 + </el-form-item>
  110 + <el-form-item label="交接事项" prop="handovermatters">
  111 + <el-input v-model="editForm.handovermatters" auto-complete="off" placeholder="请输入交接事项"></el-input>
  112 + </el-form-item>
  113 + </el-form>
  114 + <div slot="footer" class="dialog-footer">
  115 + <el-button @click.native="editFormVisible = false">取消</el-button>
  116 + <el-button type="primary" @click.native="editSubmit" :loading="false">提交</el-button>
  117 + </div>
  118 + </el-dialog>
  119 +
  120 + <!--新增界面-->
  121 + <el-dialog title="新增" :visible.sync="addFormVisible" :close-on-click-modal="false">
  122 + <el-form :model="addForm" label-width="80px" :rules="addFormRules" ref="addForm">
  123 + <el-form-item label="值班人员" prop="warchkeeper">
  124 + <el-input v-model="addForm.warchkeeper" auto-complete="off" placeholder="请输入值班人员"></el-input>
  125 + </el-form-item>
  126 + <el-form-item label="交班时间" prop="handovershifttime">
  127 + <el-date-picker
  128 + v-model="addForm.handovershifttime"
  129 + type="date"
  130 + format="yyyy-MM-dd HH:mm:ss"
  131 + value-format="yyyy-MM-dd HH:mm:ss"
  132 + placeholder="选择日期时间">
  133 + </el-date-picker>
  134 + </el-form-item>
  135 + <el-form-item label="公共照明" prop="publiclighting">
  136 + <el-input v-model="addForm.publiclighting" auto-complete="off" placeholder="请输入公共照明"></el-input>
  137 + </el-form-item>
  138 + <el-form-item label="车辆停放" prop="carpark">
  139 + <el-input v-model="addForm.carpark" auto-complete="off" placeholder="请输入车辆停放"></el-input>
  140 + </el-form-item>
  141 + <el-form-item label="院区绿化" prop="campusafforestation">
  142 + <el-input v-model="addForm.campusafforestation" auto-complete="off" placeholder="请输入院区绿化"></el-input>
  143 + </el-form-item>
  144 + <el-form-item label="消防设备" prop="firefightingequipment">
  145 + <el-input v-model="addForm.firefightingequipment" auto-complete="off" placeholder="请输入消防设备"></el-input>
  146 + </el-form-item>
  147 + <el-form-item label="设施设备" prop="equipmentfacilities">
  148 + <el-input v-model="addForm.equipmentfacilities" auto-complete="off" placeholder="请输入设施设备"></el-input>
  149 + </el-form-item>
  150 + <el-form-item label="公共卫生" prop="publicsanitation">
  151 + <el-input v-model="addForm.publicsanitation" auto-complete="off" placeholder="请输入公共卫生"></el-input>
  152 + </el-form-item>
  153 + <el-form-item label="物业" prop="property">
  154 + <el-input v-model="addForm.property" auto-complete="off" placeholder="请输入物业"></el-input>
  155 + </el-form-item>
  156 + <el-form-item label="安全隐患" prop="securitydanger">
  157 + <el-input v-model="addForm.securitydanger" auto-complete="off" placeholder="请输入安全隐患"></el-input>
  158 + </el-form-item>
  159 + <el-form-item label="其他" prop="rests">
  160 + <el-input v-model="addForm.rests" auto-complete="off" placeholder="请输入其他"></el-input>
  161 + </el-form-item>
  162 + <el-form-item label="交接事项" prop="handovermatters">
  163 + <el-input v-model="addForm.handovermatters" auto-complete="off" placeholder="请输入交接事项"></el-input>
  164 + </el-form-item>
  165 + </el-form>
  166 + <div slot="footer" class="dialog-footer">
  167 + <el-button @click.native="addFormVisible = false">取消</el-button>
  168 + <el-button type="primary" @click.native="addSubmit" :loading="addLoading">提交</el-button>
  169 + </div>
  170 + </el-dialog>
  171 + </section>
  172 +</template>
  173 +
  174 +<script>
  175 + import util from '../../common/js/util'
  176 + import NProgress from 'nprogress'
  177 + import { getList, remove, batchRemove, edit, add } from '../../api/staff/on_duty';
  178 + import moment from 'moment'
  179 +
  180 + export default {
  181 + data() {
  182 + return {
  183 + filters: {
  184 + warchkeeper: ''
  185 + },
  186 + userid: '',
  187 + securityInspectionList: [],
  188 + total: 0,
  189 + pageNum: 1,
  190 + pageSize: 5,
  191 + listLoading: false,
  192 + sels: [],//列表选中列
  193 + //编辑界面是否显示
  194 + editFormVisible: false,
  195 + editLoading: false,
  196 + editFormRules: {
  197 + repairscontent: [
  198 + { required: true, message: '不能为空!!!', trigger: 'blur' }
  199 + ],
  200 + reflectway: [
  201 + { required: true, message: '不能为空!!!', trigger: 'blur' }
  202 + ],
  203 + repairsdept: [
  204 + { required: true, message: '不能为空!!!', trigger: 'blur' }
  205 + ],
  206 + repairsname: [
  207 + { required: true, message: '不能为空!!!', trigger: 'blur' }
  208 + ],
  209 + answerthephonename: [
  210 + { required: true, message: '不能为空!!!', trigger: 'blur' }
  211 + ],
  212 + repairsphone: [
  213 + { required: true, message: '不能为空!!!', trigger: 'blur' }
  214 + ],
  215 + maintaincase: [
  216 + { required: true, message: '不能为空!!!', trigger: 'blur' }
  217 + ],
  218 + cooperatemaintainname: [
  219 + { required: true, message: '不能为空!!!', trigger: 'blur' }
  220 + ],
  221 + meno: [
  222 + { required: true, message: '不能为空!!!', trigger: 'blur' }
  223 + ],
  224 + },
  225 + //编辑界面数据
  226 + editForm: {
  227 + id:'',
  228 + warchkeeper: '',
  229 + handovershifttime: '',
  230 + publiclighting: '',
  231 + carpark: '',
  232 + campusafforestation: '',
  233 + firefightingequipment: '',
  234 + equipmentfacilities: '',
  235 + publicsanitation: '',
  236 + property: '',
  237 + securitydanger: '',
  238 + rests:"",
  239 + handovermatters:""
  240 +
  241 + },
  242 + //新增界面是否显示
  243 + addFormVisible: false,
  244 + addLoading: false,
  245 + addFormRules: {
  246 + repairscontent: [
  247 + { required: true, message: '不能为空!!!', trigger: 'blur' }
  248 + ],
  249 + reflectway: [
  250 + { required: true, message: '不能为空!!!', trigger: 'blur' }
  251 + ],
  252 + repairsdept: [
  253 + { required: true, message: '不能为空!!!', trigger: 'blur' }
  254 + ],
  255 + repairsname: [
  256 + { required: true, message: '不能为空!!!', trigger: 'blur' }
  257 + ],
  258 + answerthephonename: [
  259 + { required: true, message: '不能为空!!!', trigger: 'blur' }
  260 + ],
  261 + repairsphone: [
  262 + { required: true, message: '不能为空!!!', trigger: 'blur' }
  263 + ],
  264 + maintaincase: [
  265 + { required: true, message: '不能为空!!!', trigger: 'blur' }
  266 + ],
  267 + cooperatemaintainname: [
  268 + { required: true, message: '不能为空!!!', trigger: 'blur' }
  269 + ],
  270 + meno: [
  271 + { required: true, message: '不能为空!!!', trigger: 'blur' }
  272 + ],
  273 + },
  274 +
  275 + //新增界面数据
  276 + addForm: {
  277 + warchkeeper: '',
  278 + handovershifttime: '',
  279 + publiclighting: '',
  280 + carpark: '',
  281 + campusafforestation: '',
  282 + firefightingequipment: '',
  283 + equipmentfacilities: '',
  284 + publicsanitation: '',
  285 + property: '',
  286 + securitydanger: '',
  287 + rests:"",
  288 + handovermatters:"",
  289 + userid: this.userid
  290 + }
  291 + }
  292 + },
  293 + mounted() {
  294 + this.userid = JSON.parse(sessionStorage.getItem('user')).userId;
  295 + this.getMaintainList();
  296 +
  297 + },
  298 + methods: {
  299 +
  300 + handleCurrentChange(val) {
  301 + this.pageNum = val;
  302 + this.getMaintainList();
  303 + },
  304 + //获取公司列表
  305 + getMaintainList() {
  306 + let para = {
  307 + pageNum: this.pageNum,
  308 + pageSize: this.pageSize,
  309 + warchkeeper: this.filters.warchkeeper
  310 + };
  311 + this.listLoading = true;
  312 + getList(para).then((res) => {
  313 + this.total = res.data.total;
  314 + this.securityInspectionList = res.data.list;
  315 + this.listLoading = false;
  316 + //NProgress.done();
  317 + }).catch((error) => {
  318 +
  319 + this.listLoading = false;
  320 + if(null!= error.response && error.response!==undefined){
  321 + let status= error.response.status;
  322 + let msg = error.response.statusText;
  323 + alert(status+msg);
  324 + }else {
  325 + alert(error);
  326 + }
  327 +
  328 + });
  329 +
  330 + },
  331 +
  332 +
  333 + //删除
  334 + handleDel: function (index, row) {
  335 + this.$confirm('确认删除该记录吗?', '提示', {
  336 + type: 'warning'
  337 + }).then(() => {
  338 + this.listLoading = true;
  339 + //NProgress.start();
  340 + let para = { id: row.id };
  341 + remove(para).then((res) => {
  342 + this.listLoading = false;
  343 + //NProgress.done();
  344 + this.$message({
  345 + message: '删除成功',
  346 + type: 'success'
  347 + });
  348 + this.getMaintainList();
  349 + }).catch((error) => {
  350 + this.listLoading = false;
  351 + alert(error);
  352 + });
  353 + }).catch();
  354 + },
  355 + /**
  356 + * 显示编辑界面
  357 + * @param index
  358 + * @param row 为这行的数据对象
  359 + */
  360 + handleEdit: function (index, row) {
  361 + this.editFormVisible = true;
  362 + this.editForm = Object.assign({}, row);
  363 + this.getMaintainList();
  364 + },
  365 + //显示新增界面,每次点开初始化数据
  366 + companyAdd: function () {
  367 + this.addFormVisible = true;
  368 + this.addForm = {
  369 + userid: this.userid
  370 + };
  371 + this.getMaintainList();
  372 + },
  373 +
  374 + //新增
  375 + addSubmit: function () {
  376 + this.$refs.addForm.validate((valid) => {
  377 + if (valid) {
  378 + this.$confirm('确认提交吗?', '提示', {}).then(() => {
  379 + //NProgress.start();
  380 + this.listLoading = true;
  381 + let para = Object.assign({}, this.addForm);
  382 + add(para).then((res) => {
  383 + this.addLoading = false;
  384 + //NProgress.done();
  385 + this.$message({
  386 + message: '提交成功',
  387 + type: 'success'
  388 + });
  389 + this.$refs['addForm'].resetFields();
  390 + this.addFormVisible = false;
  391 + this.getMaintainList();
  392 + }).catch(error => alert(error));
  393 + });
  394 + }
  395 + });
  396 + },
  397 + //编辑
  398 + editSubmit: function () {
  399 + this.$refs.editForm.validate((valid) => {
  400 + if (valid) {
  401 + this.$confirm('确认提交吗?', '提示', {}).then(() => {
  402 + this.editLoading = true;
  403 + let para = Object.assign({}, this.editForm);
  404 + this.editLoading = true;
  405 + edit(para).then((res) => {
  406 +
  407 + this.$message({
  408 + message: '提交成功',
  409 + type: 'success'
  410 + });
  411 + this.$refs['editForm'].resetFields();
  412 + this.editFormVisible = false;
  413 + this.getMaintainList();
  414 + }).catch(error => alert(error));
  415 + });
  416 + }
  417 + });
  418 + },
  419 +
  420 + selsChange: function (sels) {
  421 + this.sels = sels;
  422 + },
  423 + //批量删除
  424 + batchRemove: function () {
  425 + var ids = this.sels.map(item => item.id).toString();
  426 + this.$confirm('确认删除选中记录吗?', '提示', {
  427 + type: 'warning'
  428 + }).then(() => {
  429 + this.listLoading = true;
  430 + //NProgress.start();
  431 + let para = { ids: ids };
  432 + batchRemove(para).then((res) => {
  433 + this.listLoading = false;
  434 + //NProgress.done();
  435 + this.$message({
  436 + message: '删除成功',
  437 + type: 'success'
  438 + });
  439 + this.getMaintainList();
  440 + });
  441 + }).catch(() => {
  442 +
  443 + });
  444 + }
  445 + },
  446 +
  447 + }
  448 +</script>