2545307760@qq.com 4 mesi fa
parent
commit
9036b171a2
3 ha cambiato i file con 91 aggiunte e 76 eliminazioni
  1. 26 0
      web/src/api/enter.js
  2. 42 67
      web/src/view/parking/pricing.vue
  3. 23 9
      web/src/view/report/enter.vue

+ 26 - 0
web/src/api/enter.js

@@ -0,0 +1,26 @@
+import service from '@/utils/request'
+
+// 根据ID获取车辆记录
+export const obtainEnterId = () => {
+    return service({
+        url: '/vehicle/record/get',
+        method: 'GET'
+    })
+}
+
+// 根据车牌号获取车辆记录列表
+export const obtainEnterNumber = (num) => {
+    return service({
+        url: '/vehicle/record/list-by-plate?plate_number=' + num,
+        method: 'GET'
+    })
+}
+
+// 获取所有车辆记录列表
+export const obtainEnterList = (params) => {
+    return service({
+        url: '/vehicle/record/list',
+        method: 'GET',
+        params
+    })
+}

+ 42 - 67
web/src/view/parking/pricing.vue

@@ -9,28 +9,7 @@
         </el-input>
       </el-form-item>
       <el-form-item>
-        <el-button icon="Plus" @click="openCarOwner('新增车主','')">新增</el-button>
-      </el-form-item>
-      <el-form-item>
-        <el-button icon="Edit">编辑</el-button>
-      </el-form-item>
-      <el-form-item>
-        <el-button icon="Delete">删除</el-button>
-      </el-form-item>
-      <el-form-item>
-        <el-button icon="Download">导入</el-button>
-      </el-form-item>
-      <el-form-item>
-        <el-button icon="Download">导入模板</el-button>
-      </el-form-item>
-      <el-form-item>
-        <el-button icon="Upload">导出</el-button>
-      </el-form-item>
-      <el-form-item>
-        <el-button icon="Memo">操作记录</el-button>
-      </el-form-item>
-      <el-form-item>
-        <el-button icon="ChatLineRound">其他</el-button>
+        <el-button icon="Plus" @click="openPricing('新增收费配置','')">新增</el-button>
       </el-form-item>
     </el-form>
     <el-table :data="pricingList">
@@ -43,39 +22,44 @@
       <el-table-column label="操作" align="center">
         <template #default="scope">
           <el-button text type="primary" icon="MessageBox">备注</el-button>
-          <el-button @click="openCarOwner('编辑车主', scope.row)" icon="edit" text type="primary">编辑</el-button>
-          <el-button @click="deleteCarOwner(scope.row)" icon="delete" text type="primary">删除</el-button>
+          <el-button @click="openPricing('编辑车主', scope.row)" icon="edit" text type="primary">编辑</el-button>
+          <el-button @click="deletePricing(scope.row)" icon="delete" text type="primary">删除</el-button>
         </template>
       </el-table-column>
     </el-table>
-    <el-dialog v-model="carOwnerShow" :title="carOwnerTitle" width="650">
-      <el-form label-width="100" size="large">
-        <el-form-item label="名称:">
-          <el-input v-model="carOwnerData.owner_name"/>
+    <el-dialog v-model="pricingShow" :title="pricingTitle" width="650">
+      <el-form label-width="120" size="large">
+        <el-form-item label="车辆类型:">
+          <el-input v-model="pricingData.vehicle_type"/>
+        </el-form-item>
+        <el-form-item label="开始时间:">
+          <el-input v-model="pricingData.start_time"/>
         </el-form-item>
-        <el-form-item label="姓氏:">
-          <el-input v-model="carOwnerData.owner_surname"/>
+        <el-form-item label="起始费用:">
+          <el-input v-model="pricingData.start_fee"/>
         </el-form-item>
-        <el-form-item label="手机:">
-          <el-input v-model="carOwnerData.owner_phone"/>
+        <el-form-item label="单位费用:">
+          <el-input v-model="pricingData.unit_time"/>
         </el-form-item>
-        <el-form-item label="vip:">
-          <el-radio-group v-model="carOwnerData.is_vip" size="large" fill="#409eff">
+        <el-form-item label="每日最大费用:">
+          <el-input v-model="pricingData.daily_max_fee"/>
+        </el-form-item>
+        <el-form-item label="是否vip费用:">
+          <el-radio-group v-model="pricingData.is_vip_free" size="large" fill="#409eff">
             <el-radio-button label="否" :value="false" />
             <el-radio-button label="是" :value="true" />
           </el-radio-group>
         </el-form-item>
-        <el-form-item label="vip过期时间:">
-          <el-date-picker
-              v-model="carOwnerData.vip_expire_time"
-              type="date"
-              placeholder="当前日期"
-          />
+        <el-form-item label="vip折扣:">
+          <el-input v-model="pricingData.vip_discount"/>
+        </el-form-item>
+        <el-form-item label="描述:">
+          <el-input v-model="pricingData.description"></el-input>
         </el-form-item>
       </el-form>
       <template #footer>
-        <el-button @click="carOwnerShow = false" size="large">取消</el-button>
-        <el-button @click="carOwnerOperation" type="primary" size="large">确认</el-button>
+        <el-button @click="pricingShow = false" size="large">取消</el-button>
+        <el-button @click="pricingOperation" type="primary" size="large">确认</el-button>
       </template>
     </el-dialog>
   </div>
@@ -109,7 +93,7 @@ const getPricingList = () => {
   })
 }
 
-const deleteCarOwner = (data) => {
+const deletePricing = (data) => {
   ElMessageBox.confirm(
       '确定要删除该车主信息吗?',
       '提示',
@@ -120,13 +104,13 @@ const deleteCarOwner = (data) => {
       }
   )
       .then(() => {
-        removeCarOwner(data.ID).then(res => {
+        removePricing(data.ID).then(res => {
           if (res.code === 0) {
             ElMessage({
               type: 'success',
               message: '删除成功',
             })
-            getCarOwnerList()
+            getPricingList()
           } else {
             ElMessage({
               type: 'error',
@@ -143,42 +127,33 @@ const deleteCarOwner = (data) => {
       })
 }
 
-const openCarOwner = (head, data) => {
-  carOwnerShow.value = true
-  carOwnerTitle.value = head
+const openPricing = (head, data) => {
+  pricingShow.value = true
+  pricingTitle.value = head
   if (head === '新增车主') {
-    carOwnerData.is_vip = false
-    carOwnerData.owner_surname = ''
-    carOwnerData.owner_name = ''
-    carOwnerData.owner_phone = ''
-    carOwnerData.vip_expire_time = ''
+    pricingData.vehicle_type = ''
   } else {
-    carOwnerData.id = data.ID
-    carOwnerData.is_vip = data.is_vip
-    carOwnerData.owner_surname = data.owner_surname
-    carOwnerData.owner_phone = data.owner_phone
-    carOwnerData.owner_name = data.owner_name
-    carOwnerData.vip_expire_time = data.vip_expire_time
+    pricingData.vehicle_type = data.vehicle_type
   }
 }
 
-const carOwnerOperation = async () => {
-  if (carOwnerTitle.value === '新增车主') {
-    await addCarOwner(carOwnerData).then(res => {
+const pricingOperation = async () => {
+  if (pricingTitle.value === '新增收费配置') {
+    await addPricing(pricingData).then(res => {
       if (res.code === 0) {
         ElMessage.success('添加成功')
-        carOwnerShow.value = false
-        getCarOwnerList()
+        pricingShow.value = false
+        getPricingList()
       } else {
         ElMessage.error('添加失败')
       }
     })
   } else {
-    await editCarOwner(carOwnerData).then(res => {
+    await editPricing(pricingData).then(res => {
       if (res.code === 0) {
         ElMessage.success('更新成功')
-        carOwnerShow.value = false
-        getCarOwnerList()
+        pricingShow.value = false
+        getPricingList()
       } else {
         ElMessage.error('更新失败')
       }

+ 23 - 9
web/src/view/report/enter.vue

@@ -4,13 +4,16 @@
       <el-form-item label="车牌:">
         <el-input />
       </el-form-item>
+      <el-form-item label="ID:">
+        <el-input />
+      </el-form-item>
       <el-form-item>
         <el-button type="primary">搜索</el-button>
       </el-form-item>
     </el-form>
     <el-row>
       <el-col :span="24">
-        <el-table :data="recordList">
+        <el-table :data="enterList">
           <el-table-column label="车牌">
 
           </el-table-column>
@@ -37,16 +40,15 @@
           </el-table-column>
           <el-table-column label="操作">
             <template #default="scope">
-              <el-button type="primary" text icon="View" @click="openRecord(scope.row)">查看</el-button>
+              <el-button type="primary" text icon="View">查看</el-button>
             </template>
           </el-table-column>
         </el-table>
       </el-col>
     </el-row>
-    <el-dialog title="进出记录" v-model="recordShow">
+    <el-dialog title="进出记录" v-model="enterShow">
       <el-form>
         <el-form-item label="车牌:">
-
         </el-form-item>
         <el-form-item label="到期日期:"></el-form-item>
         <el-form-item label="车主名称:"></el-form-item>
@@ -81,13 +83,25 @@
 </template>
 
 <script setup>
-import { reactive, ref } from "vue"
-const recordList = reactive([0])
-const recordShow = ref(false)
-const openRecord = (data) => {
+import { reactive, ref, onMounted } from "vue"
+import { obtainEnterList } from "@/api/enter"
+const enterList = reactive([])
+const enterShow = ref(false)
+const openEnter = (data) => {
   console.log(data)
-  recordShow.value = true
+  enterShow.value = true
+}
+const getEnterList = async () => {
+  await obtainEnterList().then(res => {
+    if (res.code === 0) {
+      enterList.length = 0
+      enterList.push(...res.data.list)
+    }
+  })
 }
+onMounted(() => {
+  getEnterList()
+})
 </script>
 
 <style scoped lang="scss">