Procházet zdrojové kódy

personalized_configuration

personalized_configuration取消后值还在
Liao před 1 rokem
rodič
revize
2b8e3becc5

+ 236 - 0
src/pages/index/components/personalized_configuration.vue

@@ -0,0 +1,236 @@
1
+<template xmlns:piechart="http://www.w3.org/1999/html">
2
+  <div class="body-wrapper">
3
+    <div class="search-card">
4
+      <h5>车主停车欠费情况</h5>
5
+    </div>
6
+    <el-table :data="tableData" style="background: #2a2a2a;border-color: #333;">
7
+      <el-table-column v-for="(item, index) in columns" :key="index" :label="item.label" :prop="item.key">
8
+      </el-table-column>
9
+      <el-table-column
10
+        label="操作"
11
+        width="200">
12
+        <template slot-scope="scope" style="display: inline-block">
13
+          <el-button @click="handleEdit(scope.row)" type="primary" size="mini">配置</el-button>
14
+        </template>
15
+      </el-table-column>
16
+    </el-table>
17
+    <div class="table-pagination">
18
+      <el-pagination :background="false" layout="total, prev, pager, next" :total="total"
19
+                     @current-change="handlePageChange"
20
+                     :current-page.sync="pageNum" :page-size.sync="pageSize">
21
+      </el-pagination>
22
+    </div>
23
+    <br>
24
+
25
+    <el-dialog
26
+      :title="title"
27
+      :visible.sync="dialogVisible"
28
+      width="60%"
29
+      custom-class="audit-dialog">
30
+      <div style="height: 600px">
31
+        <el-form label-position="left" label-width="80px" :model="formLabelAlign">
32
+          <el-form-item label="车场名称">
33
+            <el-input v-model="formLabelAlign.name"></el-input>
34
+          </el-form-item>
35
+          <br>
36
+          <el-form-item label="所在区域">
37
+            <el-input v-model="formLabelAlign.place"></el-input>
38
+          </el-form-item>
39
+          <br>
40
+          <el-form-item label="停车编号">
41
+            <el-input v-model="formLabelAlign.breath_number"></el-input>
42
+          </el-form-item>
43
+          <br>
44
+          <el-form-item label="停车状态">
45
+            <el-input v-model="formLabelAlign.parking_state"></el-input>
46
+          </el-form-item>
47
+          <br>
48
+          <el-form-item label="开放时间">
49
+            <el-input v-model="formLabelAlign.open_time"></el-input>
50
+          </el-form-item>
51
+          <br>
52
+          <el-form-item label="结束时间">
53
+            <el-input v-model="formLabelAlign.end_time"></el-input>
54
+          </el-form-item>
55
+          <br>
56
+          <el-form-item label="是否可预约车位">
57
+            <el-input v-model="formLabelAlign.sfkyycw"></el-input>
58
+          </el-form-item>
59
+          <br>
60
+          <el-form-item label="是否安装智能车锁">
61
+            <el-input v-model="formLabelAlign.sfazzncs"></el-input>
62
+          </el-form-item>
63
+          <br>
64
+          <el-form-item label="邮箱地址">
65
+            <el-input v-model="formLabelAlign.email"></el-input>
66
+          </el-form-item>
67
+          <br>
68
+        </el-form>
69
+      </div>
70
+      <span slot="footer" class="dialog-footer">
71
+        <el-button @click="dialogVisible = false">取 消</el-button>
72
+        <el-button type="primary" @click="handleConfirm">确 定</el-button>
73
+      </span>
74
+    </el-dialog>
75
+
76
+
77
+  </div>
78
+</template>
79
+<script>
80
+import api from "@/api/audit.js";
81
+
82
+export default {
83
+  components: {},
84
+  data() {
85
+    return {
86
+      columns: [
87
+        {
88
+          label: '车场名称',
89
+          key: 'name'
90
+        },
91
+        {
92
+          label: '所在区域',
93
+          key: 'place'
94
+        },
95
+        {
96
+          label: '停车编号',
97
+          key: 'breath_number'
98
+        }, {
99
+          label: '停车状态',
100
+          key: 'parking_state'
101
+        }, {
102
+          label: '开放时间',
103
+          key: 'open_time'
104
+        }, {
105
+          label: '结束时间',
106
+          key: 'end_time'
107
+        }, {
108
+          label: '是否可预约车位',
109
+          key: 'sfkyycw'
110
+        }, {
111
+          label: '是否安装智能车锁',
112
+          key: 'sfazzncs'
113
+        }, {
114
+          label: '邮箱地址',
115
+          key: 'email'
116
+        }
117
+      ],
118
+      title: '',
119
+      formLabelAlign: {
120
+        name: '',
121
+        place: '',
122
+        breath_number: '',
123
+        parking_state: '',
124
+        open_time: '',
125
+        end_time: '',
126
+        sfkyycw: '',
127
+        sfazzncs: '',
128
+        email: ''
129
+
130
+      },
131
+      tableData: [],
132
+      total: 0,
133
+      pageSize: 10,
134
+      dialogVisible: false,
135
+      pageNum: 1
136
+    }
137
+  },
138
+  mounted() {
139
+    this.getTableData()
140
+  },
141
+  methods: {
142
+    handlePageChange() {
143
+      this.getTableData()
144
+    },
145
+    handleEdit(row) {
146
+      this.title = '配置'
147
+      this.formLabelAlign = row
148
+      this.dialogVisible = true
149
+    },
150
+    handleConfirm() {
151
+      if (this.title === '配置') {
152
+        api.addWhiteIp({
153
+          ipAddr: this.formLabelAlign.name,
154
+          place: this.formLabelAlign.place,
155
+          breath_number: this.formLabelAlign.breath_number,
156
+          parking_state: this.formLabelAlign.parking_state,
157
+          open_time: this.formLabelAlign.open_time,
158
+          end_time: this.formLabelAlign.end_time,
159
+          sfkyycw: this.formLabelAlign.sfkyycw,
160
+          sfazzncs: this.formLabelAlign.sfazzncs,
161
+          email: this.formLabelAlign.email
162
+        }).then(res => {
163
+          if (res.code === 200) {
164
+            this.dialogVisible = false
165
+            this.$message({
166
+              message: '修改成功!',
167
+              type: 'success'
168
+            })
169
+            this.getTableData()
170
+          }
171
+        })
172
+      }
173
+    },
174
+    getTableData() {
175
+      const {pageNum, pageSize} = this
176
+      api.czxyjgListByPage({current: pageNum, size: pageSize}).then(res => {
177
+        this.tableData = res.data.records || []
178
+        this.total = res.data.total
179
+      })
180
+    }
181
+  }
182
+}
183
+</script>
184
+<style lang="scss" scoped>
185
+.body-wrapper {
186
+  padding: 20px;
187
+  background: #0c0c0c;
188
+
189
+  .button-block {
190
+    text-align: right;
191
+    margin-bottom: 20px;
192
+  }
193
+
194
+  .table-pagination {
195
+    text-align: right;
196
+  }
197
+
198
+  .search-card {
199
+    font-size: 24px;
200
+    font-weight: bold;
201
+    color: #3498db;
202
+    margin-bottom: 20px;
203
+
204
+    .input-wrapper {
205
+      width: 36%;
206
+    }
207
+  }
208
+}
209
+
210
+.audit-dialog {
211
+  .mg-bt {
212
+    margin-bottom: 24px;
213
+  }
214
+
215
+  .label {
216
+    text-align: right;
217
+  }
218
+
219
+  .form-div {
220
+    /deep/ .el-input__inner {
221
+      height: 35px;
222
+      width: 90%;
223
+      border: 1px solid #a6a5a5;
224
+      color: #fff;
225
+      background: #2d3744;
226
+    }
227
+  }
228
+}
229
+
230
+/deep/ .el-input__inner {
231
+  background: #2d3744;
232
+  border: none;
233
+  border-radius: 0;
234
+}
235
+
236
+</style>

+ 1 - 0
src/pages/index/layouts/indexLayout.vue

@@ -110,6 +110,7 @@ export default {
110 110
         {name: '客单价分析 ', url: '/customer_price_analysis'},
111 111
         {name: '设备运行统计 ', url: '/device_report'},
112 112
         {name: '停车分析 ', url: '/parking'},
113
+        {name: '停车概览页配 ', url: '/personalized_configuration'},
113 114
       ]
114 115
     }
115 116
   },

+ 5 - 0
src/router/index.js

@@ -388,6 +388,11 @@ export default new Router({
388 388
           path: "/parking",
389 389
           component: () => import("../pages/index/components/parking.vue")
390 390
         },
391
+        {
392
+          name: "personalized_configuration",
393
+          path: "/personalized_configuration",
394
+          component: () => import("../pages/index/components/personalized_configuration.vue")
395
+        },
391 396
       ]
392 397
     }
393 398
   ]