jiangping
2023-10-30 6e78d2b1b00eceac3ee6222b713f749e21428f9a
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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
<template>
  <TableLayout :permissions="['business:memberrides:query']">
    <!-- 搜索表单 -->
    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
 
      <el-form-item label="用户" prop="openid">
        <el-input v-model="searchForm.openid" placeholder="请输入" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="车辆编码" prop="bikeCode">
        <el-input v-model="searchForm.bikeCode" placeholder="请输入车辆编码" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="结算状态" prop="closeStatus">
        <el-select v-model="searchForm.closeStatus" placeholder="请选择">
          <el-option
            label="未结算"
            :value="0">
          </el-option>
          <el-option
            label="已结算"
            :value="1">
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="租借时间" prop="rentDate">
        <el-date-picker
          v-model="value1"
          type="daterange"
          @change="selectDate"
          format="yyyy-MM-dd"
          value-format="yyyy-MM-dd HH:mm:ss"
          range-separator="至"
          start-placeholder="开始日期"
          end-placeholder="结束日期">
        </el-date-picker>
      </el-form-item>
 
      <section>
        <el-button type="primary" @click="search">搜索</el-button>
        <el-button type="primary" :loading="isWorking.export" v-permissions="['business:memberrides:exportExcel']" @click="exportExcel">导出</el-button>
        <el-button @click="reset">重置</el-button>
      </section>
    </el-form>
    <!-- 表格和分页 -->
    <template v-slot:table-wrap>
      <el-table
        v-loading="isWorking.search"
        :data="tableData.list"
        stripe
        border
      >
        <el-table-column prop="openid" label="用户" min-width="180px" align="center"></el-table-column>
        <el-table-column prop="bikeCode" label="车辆编码" min-width="100px" align="center"></el-table-column>
        <el-table-column prop="bikeType" label="车辆类型" min-width="100px" align="center"></el-table-column>
        <el-table-column prop="rideTime" label="借出时长(分)" min-width="100px" align="center"></el-table-column>
        <el-table-column prop="duration" label="计费时长(分)" min-width="100px" align="center"></el-table-column>
        <el-table-column prop="rentDate" label="借出时间" min-width="100px" align="center"></el-table-column>
        <el-table-column prop="backDate" label="还车时间" min-width="100px" align="center"></el-table-column>
        <el-table-column prop="closeStatus" label="结算状态" min-width="100px" align="center">
          <!-- 0未结算 1已结束 -->
          <template slot-scope="{row}">
            <div v-if="row.closeStatus==0" style="color: red;">未结算</div>
            <div v-else>已结算</div>
          </template>
        </el-table-column>
 
        <!-- <el-table-column prop="creator" label="创建人" min-width="100px"></el-table-column>
        <el-table-column prop="editDate" label="编辑时间" min-width="100px"></el-table-column>
        <el-table-column prop="editor" label="编辑人" min-width="100px"></el-table-column>
        <el-table-column prop="isdeleted" label="是否已删除 0未删除 1已删除" min-width="100px"></el-table-column>
        <el-table-column prop="info" label="备注" min-width="100px"></el-table-column>
        <el-table-column prop="balance" label="当前账户余额" min-width="100px"></el-table-column>
        <el-table-column prop="rentSiteId" label="租车站点编码" min-width="100px"></el-table-column>
        <el-table-column prop="rentLockId" label="租车锁头编码" min-width="100px"></el-table-column>
        <el-table-column prop="rentCommondD" label="租车指令编码" min-width="100px"></el-table-column>
        <el-table-column prop="backSiteId" label="还车站点编码" min-width="100px"></el-table-column>
        <el-table-column prop="backLockId" label="还车锁头编码" min-width="100px"></el-table-column>
        <el-table-column prop="backCommondId" label="还车指令编码" min-width="100px"></el-table-column>
        <el-table-column prop="basePrice" label="起步价" min-width="100px"></el-table-column>
        <el-table-column prop="baseTime" label="起步价时间" min-width="100px"></el-table-column>
        <el-table-column prop="unitPrice" label="超出单价" min-width="100px"></el-table-column>
        <el-table-column prop="unitTime" label="超出时间单位" min-width="100px"></el-table-column>
        <el-table-column prop="price" label="骑行价格" min-width="100px"></el-table-column>
        <el-table-column prop="actualPrice" label="骑行实际价格" min-width="100px"></el-table-column>
        <el-table-column prop="closeDate" label="结算时间" min-width="100px"></el-table-column>
        <el-table-column prop="ordreId" label="关联订单编码(关联goodsorder)" min-width="100px"></el-table-column>
        <el-table-column prop="isStandard" label="是否结算计费车型 0否 1是" min-width="100px"></el-table-column>
        <el-table-column prop="pricingDetailId" label="计价方案编码(关联pricing_detail)" min-width="100px"></el-table-column>
        <el-table-column prop="isHoliday" label="是否节假日 0不是 1是" min-width="100px"></el-table-column>
        <el-table-column prop="status" label="状态 0请求开锁中 1骑行中 2已还车  3开锁失败" min-width="100px"></el-table-column>
        <el-table-column prop="backType" label="还车类型 0正常还车 1强制还车" min-width="100px"></el-table-column>
        <el-table-column prop="backReason" label="还车原因" min-width="100px"></el-table-column>
        <el-table-column prop="backInfo" label="还车备注" min-width="100px"></el-table-column>
        <el-table-column prop="backUserid" label="强制还车操作人(关联system_user)" min-width="100px"></el-table-column> -->
      </el-table>
      <pagination
        @size-change="handleSizeChange"
        @current-change="handlePageChange"
        :pagination="tableData.pagination"
      >
      </pagination>
    </template>
  </TableLayout>
</template>
 
<script>
import BaseTable from '@/components/base/BaseTable'
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
import { formatDateTime } from '@/utils/util'
export default {
  name: 'MemberRides',
  extends: BaseTable,
  components: { TableLayout, Pagination },
  data () {
    return {
      // 搜索
      searchForm: {
        id: '',
        createDate: '',
        creator: '',
        editDate: '',
        editor: '',
        isdeleted: '',
        info: '',
        openid: '',
        bikeCode: '',
        balance: '',
        paramId: '',
        rentSiteId: '',
        rentLockId: '',
        rentDate: '',
        rentCommondD: '',
        backSiteId: '',
        backLockId: '',
        backDate: '',
        backCommondId: '',
        basePrice: '',
        baseTime: '',
        unitPrice: '',
        unitTime: '',
        price: '',
        actualPrice: '',
        duration: '',
        closeDate: '',
        closeStatus: '',
        ordreId: '',
        isStandard: '',
        pricingDetailId: '',
        isHoliday: '',
        status: '',
        backType: '',
        backReason: '',
        backInfo: '',
        startDate: '',
        endDate: '',
        backUserid: ''
      },
      value1: [new Date(), new Date()]
    }
  },
  created () {
    this.config({
      module: '用户骑行记录表',
      api: '/business/memberRides',
      'field.id': 'id',
      'field.main': 'id'
    })
    this.searchForm.startDate = formatDateTime(new Date(), 'yyyy-MM-dd') + ' 00:00:00'
    this.searchForm.endDate = formatDateTime(new Date(), 'yyyy-MM-dd') + ' 23:59:59'
    this.search()
  },
  methods: {
    reset() {
      this.value1 = []
      this.searchForm.startDate = ''
      this.searchForm.endDate = ''
      this.$refs.searchForm.resetFields()
      this.search()
    },
    selectDate(v) {
      this.searchForm.startDate = ''
      this.searchForm.endDate = ''
      if (v) {
        this.searchForm.startDate = v[0]
        this.searchForm.endDate = v[1]
      }
      this.search()
    },
  },
}
</script>