enter.vue 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. <template>
  2. <div>
  3. <el-form inline>
  4. <el-form-item label="车牌:">
  5. <el-input v-model="licensePlate"/>
  6. </el-form-item>
  7. <!-- <el-form-item label="ID:">-->
  8. <!-- <el-input v-model="enterId" />-->
  9. <!-- </el-form-item>-->
  10. <el-form-item>
  11. <el-button type="primary" @click="conditionEnterList">搜索</el-button>
  12. </el-form-item>
  13. </el-form>
  14. <el-row>
  15. <el-col :span="24">
  16. <el-table :data="enterList" height="605">
  17. <el-table-column label="车牌">
  18. </el-table-column>
  19. <el-table-column label="车牌识别号码">
  20. </el-table-column>
  21. <el-table-column label="入场时间">
  22. </el-table-column>
  23. <el-table-column label="入场岗亭">
  24. </el-table-column>
  25. <el-table-column label="入场通道">
  26. </el-table-column>
  27. <el-table-column label="出场时间">
  28. </el-table-column>
  29. <el-table-column label="出场岗亭">
  30. </el-table-column>
  31. <el-table-column label="出场通道">
  32. </el-table-column>
  33. <el-table-column label="操作">
  34. <template #default="scope">
  35. <el-button type="primary" text icon="View" @click="openEnter(scope.row)">查看</el-button>
  36. </template>
  37. </el-table-column>
  38. </el-table>
  39. <div style="width: 100%;display: flex;justify-content: end">
  40. <el-pagination
  41. :current-page="enterCondition.page"
  42. :page-size="enterCondition.page_size"
  43. :page-sizes="[10, 30, 50, 100]"
  44. :total="enterTotal"
  45. layout="total, sizes, prev, pager, next, jumper"
  46. @current-change="handleCurrentChange"
  47. @size-change="handleSizeChange"
  48. style="padding-right: 10px"
  49. />
  50. </div>
  51. </el-col>
  52. </el-row>
  53. <el-dialog title="进出记录" v-model="enterShow">
  54. <el-form>
  55. <el-form-item label="车牌:">
  56. </el-form-item>
  57. <el-form-item label="到期日期:"></el-form-item>
  58. <el-form-item label="车主名称:"></el-form-item>
  59. <el-form-item label="手机:"></el-form-item>
  60. </el-form>
  61. <el-form inline label-position="top">
  62. <el-form-item label="入场识别照片">
  63. <el-image></el-image>
  64. </el-form-item>
  65. <el-form-item label="入场抓拍相机照片">
  66. <el-image></el-image>
  67. </el-form-item>
  68. </el-form>
  69. <el-form inline label-position="top">
  70. <el-form-item label="出场识别照片">
  71. <el-image></el-image>
  72. </el-form-item>
  73. <el-form-item label="出场抓拍相机照片">
  74. <el-image></el-image>
  75. </el-form-item>
  76. </el-form>
  77. <template #footer>
  78. <div class="dialog-footer">
  79. <el-button @click="enterShow = false">取消</el-button>
  80. <el-button type="primary" @click="enterShow = false">
  81. 确定
  82. </el-button>
  83. </div>
  84. </template>
  85. </el-dialog>
  86. </div>
  87. </template>
  88. <script setup>
  89. import { reactive, ref, onMounted } from "vue"
  90. import { obtainEnterList, obtainEnterNumber } from "@/api/enter"
  91. const enterList = reactive([])
  92. const enterShow = ref(false)
  93. const enterCondition = reactive({
  94. page:1,
  95. page_size: 10
  96. })
  97. const licensePlate = ref('')
  98. // const enterId = ref(0)
  99. const enterTotal = ref(0)
  100. const openEnter = (data) => {
  101. console.log(data)
  102. enterShow.value = true
  103. }
  104. const getEnterList = async () => {
  105. await obtainEnterList(enterCondition).then(res => {
  106. if (res.code === 0) {
  107. enterList.length = 0
  108. enterTotal.value = res.data.total
  109. enterList.push(...res.data.list)
  110. }
  111. })
  112. }
  113. const handleCurrentChange = (data) => {
  114. enterCondition.page = data
  115. getEnterList()
  116. }
  117. const handleSizeChange = (data) => {
  118. enterCondition.page_size = data
  119. getEnterList()
  120. }
  121. // 条件检索
  122. const conditionEnterList = () => {
  123. obtainEnterNumber(licensePlate.value).then(res => {
  124. if (res.code === 0) {
  125. enterList.length = 0
  126. enterList.push(...res.data.list)
  127. enterTotal.value = res.data.total
  128. }
  129. })
  130. }
  131. onMounted(() => {
  132. getEnterList()
  133. })
  134. </script>
  135. <style scoped lang="scss">
  136. </style>