jiangping
2024-02-27 eaf169bd3379554b5f5b9052c76f7d82e5dcae17
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
<template>
    <TableLayout :permissions="['business:member:query']">
        <!-- 搜索表单 -->
        <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="120px" inline>
            <el-form-item label="车牌号" prop="code">
                <el-input v-model="searchForm.code" placeholder="请输入车牌号" @keypress.enter.native="search"></el-input>
            </el-form-item>
            <el-form-item label="员工姓名/手机号" prop="memberName">
                <el-input v-model="searchForm.memberName" placeholder="请输入员工姓名/手机号" @keypress.enter.native="search"></el-input>
            </el-form-item>
            <el-form-item label="部门" prop="companyName">
                <el-input v-model="searchForm.companyName" placeholder="请输入部门" @keypress.enter.native="search"></el-input>
            </el-form-item>
            <section>
                <el-button type="primary" @click="search">搜索</el-button>
                <el-button @click="reset">重置</el-button>
            </section>
        </el-form>
        <!-- 表格和分页 -->
        <template v-slot:table-wrap>
            <ul class="toolbar" v-permissions="['business:member:create', 'business:member:delete']">
<!--
                <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:cars:delete']">删除</el-button></li>
-->
            </ul>
            <el-table
                v-loading="isWorking.search"
                :data="tableData.list"
                stripe
                @selection-change="handleSelectionChange"
            >
                <el-table-column type="selection" width="55"></el-table-column>
                <el-table-column prop="carCode" label="车牌号" min-width="100px"></el-table-column>
                <el-table-column prop="parksName" label="停车场" min-width="100px"></el-table-column>
                <el-table-column label="用户类型" min-width="100px">
                    <template slot-scope="{row}">
                        <span v-if="row.memberType === 0">劳务访客</span>
                        <span v-if="row.memberType === 1">普通访客</span>
                        <span v-if="row.memberType === 2">内部人员</span>
                    </template>
                </el-table-column>
                <el-table-column prop="memberName" label="姓名" min-width="100px"></el-table-column>
                <el-table-column prop="memberPhone" label="手机号" min-width="100px"></el-table-column>
                <el-table-column prop="companyName" label="部门/公司" min-width="100px"></el-table-column>
                <el-table-column prop="startTime" label="有效期" min-width="100px">
                    <template slot-scope="{row}">
                        <span>{{validity(row.startTime, row.endTime)}}</span>
<!--                        <span v-if="!row.startTime || !row.endTime">长期</span>-->
<!--                        <span v-else>{{row.startTime}} 至 {{row.endTime}}</span>-->
                    </template>
                </el-table-column>
              <el-table-column prop="startTime" label="状态" min-width="100px">
                <template slot-scope="{row}">
                  <div v-if="row.isdeleted==1"  style="color: red">已删除</div>
                  <div v-else style="color: green">
                      <span v-if="row.hkStatus==0"  style="color: #435EBE">待下发</span>
                      <span v-if="row.hkStatus==1"  style="color: green">下发成功</span>
                     <span v-if="row.hkStatus==2"  style="color: red">下发失败</span>
                   </div>
                </template>
              </el-table-column>
              <el-table-column prop="remark" label="备注" min-width="100px">
                <template slot-scope="{row}">
                  <span v-if="row.isdeleted !=2">{{row.remark}}</span>
                </template>
              </el-table-column>
                <el-table-column prop="createDate" label="创建时间" min-width="100px"></el-table-column>
                <el-table-column
                    v-if="containPermissions(['business:member:update', 'business:member:delete'])"
                    label="操作"
                    min-width="120"
                    fixed="right"
                >
                    <template slot-scope="{row}">
<!--                        <el-button type="text" @click="$refs.operaCarsWindow.open('编辑车辆信息表', row)" icon="el-icon-edit" v-permissions="['business:member:update']">编辑</el-button>-->
                        <el-button type="text" @click="deleteById(row)" v-if="row.isdeleted !=1" icon="el-icon-delete" v-permissions="['business:parkbook:delete']">删除</el-button>
<!--
                        <el-button type="text" @click="reUpdate(row)" v-if="row.isdeleted !=1 && row.hkStatus ==0" icon="el-icon-edit" v-permissions="['business:parkbook:update']">立刻下发</el-button>
-->
                    </template>
                </el-table-column>
            </el-table>
            <pagination
                @size-change="handleSizeChange"
                @current-change="handlePageChange"
                :pagination="tableData.pagination"
            >
            </pagination>
        </template>
        <!-- 新建/修改 -->
        <OperaCarsWindow ref="operaCarsWindow" @success="handlePageChange"/>
    </TableLayout>
</template>
 
<script>
import BaseTable from '@/components/base/BaseTable'
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
import OperaCarsWindow from '@/components/business/OperaCarsWindow'
import { validity } from '@/utils/util'
import { sync } from '@/api/business/cars'
import { batchLoss } from '@/api/business/memberCard'
import {reUpdate} from "@/api/business/parkBook";
export default {
  name: 'parkBook',
  extends: BaseTable,
  components: { TableLayout, Pagination, OperaCarsWindow },
  data () {
    return {
      // 搜索
      searchForm: {
        code: '',
        memberName: '',
        companyName: ''
      }
    }
  },
  created () {
    this.config({
      module: '车辆信息表',
      api: '/business/parkBook',
      'field.id': 'id',
      'field.main': 'id'
    })
    this.search()
  },
  methods: {
    validity (startTime, endTime) {
      return validity(startTime, endTime)
    },
    reUpdate (row) {
      reUpdate({ id: row.id })
        .then(res => {
          this.$message.success('操作成功')
          this.search()
        })
    }
  }
}
</script>