patrolRecords.vue 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. <template>
  2. <div class="main">
  3. <template v-if="!isLook">
  4. <div class="search">
  5. <el-input placeholder="请输入巡更路线/人员" class="search-input" clearable v-model="mixins_query.partolName"></el-input>
  6. <el-select class="width90" placeholder="请选择巡更状态" v-model="mixins_query.patrolStatus" clearable>
  7. <el-option label="待执行" :value="1"></el-option>
  8. <el-option label="执行中" :value="2"></el-option>
  9. <el-option label="已完成" :value="3"></el-option>
  10. <el-option label="已完成(超时)" :value="4"></el-option>
  11. <el-option label="已逾期" :value="5"></el-option>
  12. </el-select>
  13. <el-date-picker
  14. v-model="times"
  15. value-format="yyyy-MM-dd"
  16. type="daterange"
  17. range-separator="至"
  18. start-placeholder="开始日期"
  19. end-placeholder="结束日期"
  20. @change="effectiveDateToggle"
  21. ></el-date-picker>
  22. <el-button type="primary" class="search-btn" @click="mixins_search" icon="el-icon-search">查询</el-button>
  23. </div>
  24. <zz-table
  25. :cols="cols"
  26. :settings="{ showIndex: true, stripe: true }"
  27. :loading="mixins_onQuery"
  28. :data="mixins_list"
  29. :pageset="mixins_pageset"
  30. @page-change="pageChange"
  31. >
  32. <template slot-scope="scope" slot="patrolDate"> {{ checkDateType(scope.row.patrolDate) }}</template>
  33. <template slot-scope="scope" slot="opt">
  34. <div class="opt">
  35. <el-tooltip effect="light" placement="bottom" content="详情">
  36. <i class="zoniot_font zoniot-icon-xiangqing" @click="lookDetails(scope.row)"></i>
  37. </el-tooltip>
  38. </div>
  39. </template>
  40. </zz-table>
  41. </template>
  42. <patrol-details v-else @initPage="initPage" :thisObj="thisObj"></patrol-details>
  43. </div>
  44. </template>
  45. <script>
  46. import list from '@utils/list.js';
  47. import patrolDetails from './popups/patrolDetails';
  48. export default {
  49. mixins: [list],
  50. name: 'workOrdersRecords',
  51. components: {
  52. patrolDetails
  53. },
  54. data() {
  55. return {
  56. communityArr: [],
  57. cols: [
  58. {
  59. label: '所属社区',
  60. prop: 'communityName'
  61. },
  62. {
  63. label: '巡更路线',
  64. prop: 'routeName'
  65. },
  66. {
  67. label: '巡更人员',
  68. prop: 'partolName'
  69. },
  70. {
  71. label: '巡更日期',
  72. prop: 'patrolDate',
  73. slot: 'patrolDate'
  74. },
  75. {
  76. label: '巡更时间',
  77. prop: 'patrolTime'
  78. },
  79. {
  80. label: '状态',
  81. prop: 'patrolStatus',
  82. format(val) {
  83. if (val == 1) {
  84. return '待执行';
  85. } else if (val == 2) {
  86. return '执行中';
  87. } else if (val == 3) {
  88. return '已完成';
  89. } else if (val == 4) {
  90. return '已完成(超时)';
  91. } else if (val == 5) {
  92. return '已逾期';
  93. }
  94. return '--';
  95. }
  96. },
  97. {
  98. label: '操作',
  99. prop: 'id',
  100. slot: 'opt'
  101. }
  102. ],
  103. times: [],
  104. thisObj: {},
  105. isLook: false,
  106. mixins_post: 'post'
  107. };
  108. },
  109. created() {
  110. this.mixins_dataUrl = '/sc-community/patrolRecord/page';
  111. this.mixins_query = {};
  112. this.mixins_search();
  113. },
  114. mounted() {},
  115. methods: {
  116. effectiveDateToggle(va) {
  117. let arr = va;
  118. if (!arr) {
  119. arr = ['', ''];
  120. }
  121. this.mixins_query.startTime = arr[0];
  122. this.mixins_query.endTime = arr[1];
  123. },
  124. lookDetails(row) {
  125. this.thisObj = row;
  126. this.isLook = true;
  127. },
  128. initPage() {
  129. this.isLook = false;
  130. this.thisObj = {};
  131. },
  132. checkDateType(time) {
  133. return !!time ? this.$moment(new Date(time)).format('YYYY-MM-DD') : '--';
  134. }
  135. }
  136. };
  137. </script>
  138. <style scoped lang='scss'>
  139. .imgVdio img {
  140. width: 64px;
  141. }
  142. </style>