personalized_configuration.vue 6.0 KB

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