From 2c760b978dd3fcc8f758ef3f5b063cb7017f74f1 Mon Sep 17 00:00:00 2001 From: wuxw <928255095@qq.com> Date: Mon, 9 Jun 2025 23:01:44 +0800 Subject: [PATCH] 完成停车功能 --- src/api/car/addParkingSpaceApplyApi.js | 46 ++++++++++++++++++++++++++++++++++++++++++++++ src/api/car/auditParkingSpaceApplyApi.js | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/api/car/parkingSpaceApplyManageApi.js | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/api/car/remainingParkingSpaceApi.js | 25 +++++++++++++++++++++++++ src/api/car/tempCarPaymentApi.js | 41 +++++++++++++++++++++++++++++++++++++++++ src/components/car/chooseParkingSpace.vue | 136 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/components/car/deleteParkingSpaceApply.vue | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/components/car/editParkingSpaceApply.vue | 206 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/components/car/searchOwner.vue | 181 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/components/car/searchOwnerLang.js | 28 ++++++++++++++++++++++++++++ src/i18n/index.js | 15 +++++++++++++++ src/router/index.js | 35 ++++++++++++++++++++++++++++++----- src/views/car/addParkingSpaceApply.vue | 215 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/car/addParkingSpaceApplyLang.js | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/car/auditParkingSpaceApply.vue | 248 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/car/auditParkingSpaceApplyLang.js | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/car/parkingSpaceApplyManageLang.js | 138 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/car/parkingSpaceApplyManageList.vue | 264 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/car/remainingParkingSpaceLang.js | 26 ++++++++++++++++++++++++++ src/views/car/remainingParkingSpaceList.vue | 141 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/car/tempCarPaymentLang.js | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/car/tempCarPaymentList.vue | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 22 files changed, 2407 insertions(+), 5 deletions(-) create mode 100644 src/api/car/addParkingSpaceApplyApi.js create mode 100644 src/api/car/auditParkingSpaceApplyApi.js create mode 100644 src/api/car/parkingSpaceApplyManageApi.js create mode 100644 src/api/car/remainingParkingSpaceApi.js create mode 100644 src/api/car/tempCarPaymentApi.js create mode 100644 src/components/car/chooseParkingSpace.vue create mode 100644 src/components/car/deleteParkingSpaceApply.vue create mode 100644 src/components/car/editParkingSpaceApply.vue create mode 100644 src/components/car/searchOwner.vue create mode 100644 src/components/car/searchOwnerLang.js create mode 100644 src/views/car/addParkingSpaceApply.vue create mode 100644 src/views/car/addParkingSpaceApplyLang.js create mode 100644 src/views/car/auditParkingSpaceApply.vue create mode 100644 src/views/car/auditParkingSpaceApplyLang.js create mode 100644 src/views/car/parkingSpaceApplyManageLang.js create mode 100644 src/views/car/parkingSpaceApplyManageList.vue create mode 100644 src/views/car/remainingParkingSpaceLang.js create mode 100644 src/views/car/remainingParkingSpaceList.vue create mode 100644 src/views/car/tempCarPaymentLang.js create mode 100644 src/views/car/tempCarPaymentList.vue diff --git a/src/api/car/addParkingSpaceApplyApi.js b/src/api/car/addParkingSpaceApplyApi.js new file mode 100644 index 0000000..10a7676 --- /dev/null +++ b/src/api/car/addParkingSpaceApplyApi.js @@ -0,0 +1,46 @@ +import request from '@/utils/request' + +// 查询业主列表 +export function queryOwners(params) { + return new Promise((resolve, reject) => { + request({ + url: '/owner.queryOwners', + method: 'get', + params + }).then(response => { + const res = response.data + if (res.code === 0) { + resolve({ + data: res.data, + total: res.records, + currentPage: params.page, + pageSize: params.row + }) + } else { + reject(new Error(res.msg || 'Failed to query owners')) + } + }).catch(error => { + reject(error) + }) + }) +} + +// 保存车位申请 +export function saveParkingSpaceApply(data) { + return new Promise((resolve, reject) => { + request({ + url: '/parkingSpaceApply.saveParkingSpaceApply', + method: 'post', + data + }).then(response => { + const res = response.data + if (res.code === 0) { + resolve(res) + } else { + reject(new Error(res.msg || 'Failed to save parking space apply')) + } + }).catch(error => { + reject(error) + }) + }) +} \ No newline at end of file diff --git a/src/api/car/auditParkingSpaceApplyApi.js b/src/api/car/auditParkingSpaceApplyApi.js new file mode 100644 index 0000000..82f0a8c --- /dev/null +++ b/src/api/car/auditParkingSpaceApplyApi.js @@ -0,0 +1,81 @@ +import request from '@/utils/request' + +// 查询停车位申请详情 +export function getParkingSpaceApplyDetail(params) { + return new Promise((resolve, reject) => { + request({ + url: '/parkingSpaceApply.listParkingSpaceApply', + method: 'get', + params + }).then(response => { + const res = response.data + if (res.code == 0) { + resolve(res) + } else { + reject(new Error(res.msg || '获取申请详情失败')) + } + }).catch(error => { + reject(error) + }) + }) +} + +// 审核停车位申请 +export function auditParkingSpaceApply(data) { + return new Promise((resolve, reject) => { + request({ + url: '/parkingSpaceApply.auditParkingSpaceApply', + method: 'post', + data + }).then(response => { + const res = response.data + if (res.code == 0) { + resolve(res) + } else { + reject(new Error(res.msg || '审核失败')) + } + }).catch(error => { + reject(error) + }) + }) +} + +// 查询停车位列表 +export function queryParkingSpaces(params) { + return new Promise((resolve, reject) => { + request({ + url: '/parkingSpace.queryParkingSpaces', + method: 'get', + params + }).then(response => { + const res = response.data + if (res.code == 0) { + resolve(res) + } else { + reject(new Error(res.msg || '查询停车位失败')) + } + }).catch(error => { + reject(error) + }) + }) +} + +// 查询停车场列表 +export function listParkingAreas(params) { + return new Promise((resolve, reject) => { + request({ + url: '/parkingArea.listParkingAreas', + method: 'get', + params + }).then(response => { + const res = response.data + if (res.code == 0) { + resolve(res) + } else { + reject(new Error(res.msg || '查询停车场失败')) + } + }).catch(error => { + reject(error) + }) + }) +} \ No newline at end of file diff --git a/src/api/car/parkingSpaceApplyManageApi.js b/src/api/car/parkingSpaceApplyManageApi.js new file mode 100644 index 0000000..fb3dce8 --- /dev/null +++ b/src/api/car/parkingSpaceApplyManageApi.js @@ -0,0 +1,65 @@ +import request from '@/utils/request' +import { getCommunityId } from '@/api/community/communityApi' + +// 获取车位申请列表 +export function listParkingSpaceApply(params) { + return new Promise((resolve, reject) => { + params.communityId = getCommunityId() + request({ + url: '/parkingSpaceApply.listParkingSpaceApply', + method: 'get', + params + }).then(response => { + const res = response.data + if (res.code === 0) { + resolve(res) + } else { + reject(new Error(res.msg || '获取车位申请列表失败')) + } + }).catch(error => { + reject(error) + }) + }) +} + +// 更新车位申请 +export function updateParkingSpaceApply(data) { + return new Promise((resolve, reject) => { + data.communityId = getCommunityId() + request({ + url: '/parkingSpaceApply.updateParkingSpaceApply', + method: 'post', + data + }).then(response => { + const res = response.data + if (res.code === 0) { + resolve(res) + } else { + reject(new Error(res.msg || '更新车位申请失败')) + } + }).catch(error => { + reject(error) + }) + }) +} + +// 删除车位申请 +export function deleteParkingSpaceApply(data) { + return new Promise((resolve, reject) => { + data.communityId = getCommunityId() + request({ + url: '/parkingSpaceApply.deleteParkingSpaceApply', + method: 'post', + data + }).then(response => { + const res = response.data + if (res.code === 0) { + resolve(res) + } else { + reject(new Error(res.msg || '删除车位申请失败')) + } + }).catch(error => { + reject(error) + }) + }) +} \ No newline at end of file diff --git a/src/api/car/remainingParkingSpaceApi.js b/src/api/car/remainingParkingSpaceApi.js new file mode 100644 index 0000000..d4be237 --- /dev/null +++ b/src/api/car/remainingParkingSpaceApi.js @@ -0,0 +1,25 @@ +import request from '@/utils/request' + +/** + * 获取剩余车位信息 + * @param {Object} params 请求参数 + * @returns {Promise} Promise对象 + */ +export function getRemainingParkingSpace(params) { + return new Promise((resolve, reject) => { + request({ + url: '/iot.getOpenApi', + method: 'get', + params + }).then(response => { + const res = response.data + if (res.code === 0) { + resolve(res) + } else { + reject(new Error(res.msg || 'Failed to get remaining parking space')) + } + }).catch(error => { + reject(error) + }) + }) +} \ No newline at end of file diff --git a/src/api/car/tempCarPaymentApi.js b/src/api/car/tempCarPaymentApi.js new file mode 100644 index 0000000..1e55a42 --- /dev/null +++ b/src/api/car/tempCarPaymentApi.js @@ -0,0 +1,41 @@ +import request from '@/utils/request' + +// 获取停车区域列表 +export function listParkingAreas(params) { + return new Promise((resolve, reject) => { + request({ + url: '/parkingArea.listParkingAreas', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 获取车辆进出支付列表 +export function getCarInoutPaymentList(params) { + return new Promise((resolve, reject) => { + request({ + url: '/iot.getOpenApi', + method: 'get', + params + }).then(response => { + const res = response.data + if (res.code === 0) { + resolve({ + data: res.data, + total: res.total, + records: res.records + }) + } else { + reject(new Error(res.msg || '获取车辆进出支付列表失败')) + } + }).catch(error => { + reject(error) + }) + }) +} \ No newline at end of file diff --git a/src/components/car/chooseParkingSpace.vue b/src/components/car/chooseParkingSpace.vue new file mode 100644 index 0000000..04a742f --- /dev/null +++ b/src/components/car/chooseParkingSpace.vue @@ -0,0 +1,136 @@ + + + + + \ No newline at end of file diff --git a/src/components/car/deleteParkingSpaceApply.vue b/src/components/car/deleteParkingSpaceApply.vue new file mode 100644 index 0000000..869363f --- /dev/null +++ b/src/components/car/deleteParkingSpaceApply.vue @@ -0,0 +1,61 @@ + + + \ No newline at end of file diff --git a/src/components/car/editParkingSpaceApply.vue b/src/components/car/editParkingSpaceApply.vue new file mode 100644 index 0000000..ddd3a38 --- /dev/null +++ b/src/components/car/editParkingSpaceApply.vue @@ -0,0 +1,206 @@ + + + \ No newline at end of file diff --git a/src/components/car/searchOwner.vue b/src/components/car/searchOwner.vue new file mode 100644 index 0000000..7f32ef8 --- /dev/null +++ b/src/components/car/searchOwner.vue @@ -0,0 +1,181 @@ + + + \ No newline at end of file diff --git a/src/components/car/searchOwnerLang.js b/src/components/car/searchOwnerLang.js new file mode 100644 index 0000000..de06633 --- /dev/null +++ b/src/components/car/searchOwnerLang.js @@ -0,0 +1,28 @@ +export default { + en: { + searchOwner: { + title: 'Select Owner', + placeholderRoom: 'Enter room number (building-unit-room)', + placeholderOwner: 'Enter owner name', + memberId: 'Owner ID', + name: 'Name', + personType: 'Person Type', + personRole: 'Person Role', + idCard: 'ID Card', + link: 'Contact' + } + }, + zh: { + searchOwner: { + title: '选择业主', + placeholderRoom: '输入房屋编号楼栋-单元-房屋', + placeholderOwner: '输入业主名称', + memberId: '业主编号', + name: '名称', + personType: '人员类型', + personRole: '人员角色', + idCard: '证件号', + link: '联系方式' + } + } +} \ No newline at end of file diff --git a/src/i18n/index.js b/src/i18n/index.js index 2c86ad9..7e200c8 100644 --- a/src/i18n/index.js +++ b/src/i18n/index.js @@ -153,6 +153,11 @@ import { messages as carAddParkingSpaceMessages } from '../views/car/carAddParki import { messages as buyCarMonthCardMessages } from '../views/fee/buyCarMonthCardLang' import { messages as carInoutManageMessages } from '../views/car/carInoutManageLang' import { messages as carInManageMessages } from '../views/car/carInManageLang' +import { messages as remainingParkingSpaceMessages } from '../views/car/remainingParkingSpaceLang' +import { messages as tempCarPaymentMessages } from '../views/car/tempCarPaymentLang' +import { messages as parkingSpaceApplyManageMessages } from '../views/car/parkingSpaceApplyManageLang' +import { messages as addParkingSpaceApplyMessages } from '../views/car/addParkingSpaceApplyLang' +import { messages as auditParkingSpaceApplyMessages } from '../views/car/auditParkingSpaceApplyLang' Vue.use(VueI18n) @@ -310,6 +315,11 @@ const messages = { ...buyCarMonthCardMessages.en, ...carInoutManageMessages.en, ...carInManageMessages.en, + ...remainingParkingSpaceMessages.en, + ...tempCarPaymentMessages.en, + ...parkingSpaceApplyManageMessages.en, + ...addParkingSpaceApplyMessages.en, + ...auditParkingSpaceApplyMessages.en, }, zh: { ...loginMessages.zh, @@ -463,6 +473,11 @@ const messages = { ...buyCarMonthCardMessages.zh, ...carInoutManageMessages.zh, ...carInManageMessages.zh, + ...remainingParkingSpaceMessages.zh, + ...tempCarPaymentMessages.zh, + ...parkingSpaceApplyManageMessages.zh, + ...addParkingSpaceApplyMessages.zh, + ...auditParkingSpaceApplyMessages.zh, } } diff --git a/src/router/index.js b/src/router/index.js index 03c6429..c52b3eb 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -752,15 +752,40 @@ const routes = [ component: () => import('@/views/fee/buyCarMonthCardList.vue') }, { - path:'/pages/property/carInoutManage', - name:'/pages/property/carInoutManage', + path: '/pages/property/carInoutManage', + name: '/pages/property/carInoutManage', component: () => import('@/views/car/carInoutManageList.vue') + }, + { + path: '/pages/property/carInManage', + name: '/pages/property/carInManage', + component: () => import('@/views/car/carInManageList.vue') + }, + { + path: '/pages/property/remainingParkingSpace', + name: '/pages/property/remainingParkingSpace', + component: () => import('@/views/car/remainingParkingSpaceList.vue') + }, + { + path:'/pages/car/tempCarPayment', + name:'/pages/car/tempCarPayment', + component: () => import('@/views/car/tempCarPaymentList.vue') }, { - path:'/pages/property/carInManage', - name:'/pages/property/carInManage', - component: () => import('@/views/car/carInManageList.vue') + path:'/pages/property/parkingSpaceApplyManage', + name:'/pages/property/parkingSpaceApplyManage', + component: () => import('@/views/car/parkingSpaceApplyManageList.vue') }, + { + path:'/views/car/addParkingSpaceApply', + name:'/views/car/addParkingSpaceApply', + component: () => import('@/views/car/addParkingSpaceApply.vue') + }, + { + path:'/views/car/auditParkingSpaceApply', + name:'/views/car/auditParkingSpaceApply', + component: () => import('@/views/car/auditParkingSpaceApply.vue') + }, // 其他子路由可以在这里添加 ] }, diff --git a/src/views/car/addParkingSpaceApply.vue b/src/views/car/addParkingSpaceApply.vue new file mode 100644 index 0000000..72ed885 --- /dev/null +++ b/src/views/car/addParkingSpaceApply.vue @@ -0,0 +1,215 @@ + + + + + \ No newline at end of file diff --git a/src/views/car/addParkingSpaceApplyLang.js b/src/views/car/addParkingSpaceApplyLang.js new file mode 100644 index 0000000..e5495a5 --- /dev/null +++ b/src/views/car/addParkingSpaceApplyLang.js @@ -0,0 +1,66 @@ +export const messages = { + en: { + addParkingSpaceApply: { + title: 'Parking Space Application', + carNum: 'License Plate', + carBrand: 'Car Brand', + carType: 'Vehicle Type', + carColor: 'Color', + applyPersonName: 'Applicant', + applyPersonLink: 'Applicant Phone', + remark: 'Remarks', + requiredCarNum: 'License plate is required', + invalidCarNum: 'Invalid license plate format', + requiredCarBrand: 'Car brand is required', + maxCarBrand: 'Car brand max 50 characters', + requiredCarType: 'Vehicle type is required', + requiredCarColor: 'Color is required', + maxCarColor: 'Color max 12 characters', + requiredApplyPersonName: 'Applicant name is required', + maxApplyPersonName: 'Applicant name max 64 characters', + requiredApplyPersonLink: 'Applicant phone is required', + maxApplyPersonLink: 'Applicant phone max 11 characters', + maxRemark: 'Remarks max 300 characters', + placeholderCarNum: 'Required, please enter license plate', + placeholderCarBrand: 'Required, please enter car brand', + placeholderCarType: 'Required, please select vehicle type', + placeholderCarColor: 'Required, please enter color', + placeholderApplyPersonName: 'Required, please enter applicant', + placeholderApplyPersonLink: 'Required, please enter applicant phone', + placeholderRemark: 'Optional, please enter remarks', + selectOwner: 'Select Owner', + } + }, + zh: { + addParkingSpaceApply: { + title: '车位申请', + carNum: '车牌号', + carBrand: '汽车品牌', + carType: '车辆类型', + carColor: '颜色', + applyPersonName: '申请人', + applyPersonLink: '申请人电话', + remark: '备注', + requiredCarNum: '车牌号不能为空', + invalidCarNum: '车牌号格式错误', + requiredCarBrand: '汽车品牌不能为空', + maxCarBrand: '汽车品牌不能超过50位', + requiredCarType: '车辆类型不能为空', + requiredCarColor: '颜色不能为空', + maxCarColor: '颜色不能超过12位', + requiredApplyPersonName: '申请人不能为空', + maxApplyPersonName: '申请人名称不能超过64位', + requiredApplyPersonLink: '申请人电话不能为空', + maxApplyPersonLink: '申请人电话不能超过11位', + maxRemark: '备注不能超过300位', + placeholderCarNum: '必填,请填写车牌号', + placeholderCarBrand: '必填,请填写汽车品牌', + placeholderCarType: '必填,请选择车辆类型', + placeholderCarColor: '必填,请填写颜色', + placeholderApplyPersonName: '必填,请填写申请人', + placeholderApplyPersonLink: '必填,请填写申请人电话', + placeholderRemark: '选填,请填写备注', + selectOwner: '选择车主', + } + } +} \ No newline at end of file diff --git a/src/views/car/auditParkingSpaceApply.vue b/src/views/car/auditParkingSpaceApply.vue new file mode 100644 index 0000000..671f31b --- /dev/null +++ b/src/views/car/auditParkingSpaceApply.vue @@ -0,0 +1,248 @@ + + + + + \ No newline at end of file diff --git a/src/views/car/auditParkingSpaceApplyLang.js b/src/views/car/auditParkingSpaceApplyLang.js new file mode 100644 index 0000000..4059e73 --- /dev/null +++ b/src/views/car/auditParkingSpaceApplyLang.js @@ -0,0 +1,88 @@ +export const messages = { + en: { + auditParkingSpaceApply: { + applyInfo: 'Application Information', + back: 'Back', + licensePlate: 'License Plate', + carBrand: 'Car Brand', + carType: 'Car Type', + color: 'Color', + startRentTime: 'Start Rent Time', + endRentTime: 'End Rent Time', + applicant: 'Applicant', + applicantPhone: 'Applicant Phone', + applicantId: 'Applicant ID', + remark: 'Remark', + auditInfo: 'Audit Information', + auditResult: 'Audit Result', + selectResult: 'Please select audit result', + pass: 'Pass', + reject: 'Reject', + selectParkingSpace: 'Select Parking Space', + select: 'Select', + auditOpinion: 'Audit Opinion', + optional: 'Optional', + submit: 'Submit', + requiredField: 'Required field', + parkingLot: 'Parking Lot', + parkingSpace: 'Parking Space', + parkingStatus: 'Parking Status', + parkingType: 'Parking Type', + area: 'Area', + operation: 'Operation', + choose: 'Choose', + parkingLotCode: 'Parking Lot Code', + parkingSpaceCode: 'Parking Space Code', + parkingLotType: 'Parking Lot Type', + groundParking: 'Ground Parking', + undergroundParking: 'Underground Parking', + free: 'Free', + sold: 'Sold', + rented: 'Rented', + unknown: 'Unknown' + } + }, + zh: { + auditParkingSpaceApply: { + applyInfo: '申请信息', + back: '返回', + licensePlate: '车牌号', + carBrand: '汽车品牌', + carType: '车辆类型', + color: '颜色', + startRentTime: '起租时间', + endRentTime: '结租时间', + applicant: '申请人', + applicantPhone: '申请人电话', + applicantId: '申请人ID', + remark: '备注', + auditInfo: '审核信息', + auditResult: '审核结果', + selectResult: '请选择审核结果', + pass: '通过', + reject: '不通过', + selectParkingSpace: '选择车位', + select: '选择', + auditOpinion: '审核意见', + optional: '选填', + submit: '提交', + requiredField: '必填', + parkingLot: '停车场', + parkingSpace: '车位', + parkingStatus: '车位状态', + parkingType: '车位类型', + area: '面积', + operation: '操作', + choose: '选择', + parkingLotCode: '停车场编码', + parkingSpaceCode: '停车位编码', + parkingLotType: '停车场类型', + groundParking: '地上停车位', + undergroundParking: '地下停车位', + free: '空闲', + sold: '已售卖', + rented: '已出租', + unknown: '未知' + } + } +} \ No newline at end of file diff --git a/src/views/car/parkingSpaceApplyManageLang.js b/src/views/car/parkingSpaceApplyManageLang.js new file mode 100644 index 0000000..ea5df5b --- /dev/null +++ b/src/views/car/parkingSpaceApplyManageLang.js @@ -0,0 +1,138 @@ +export const messages = { + en: { + parkingSpaceApplyManage: { + searchCondition: 'Search Condition', + licensePlate: 'License Plate', + carBrand: 'Car Brand', + applicantName: 'Applicant Name', + applicantPhone: 'Applicant Phone', + status: 'Status', + selectStatus: 'Select Status', + pendingReview: 'Pending Review', + pendingPayment: 'Pending Payment', + completed: 'Completed', + applicationFailed: 'Application Failed', + search: 'Search', + reset: 'Reset', + parkingSpaceApplication: 'Parking Space Application', + applyForSpace: 'Apply for Space', + applicationId: 'Application ID', + parkingSpace: 'Parking Space', + vehicleType: 'Vehicle Type', + color: 'Color', + startTime: 'Start Time', + endTime: 'End Time', + applicant: 'Applicant', + phoneNumber: 'Phone Number', + reviewResult: 'Review Result', + operation: 'Operation', + audit: 'Audit', + edit: 'Edit', + delete: 'Delete', + homeCar: 'Home Car', + bus: 'Bus', + truck: 'Truck', + abnormalVehicle: 'Abnormal Vehicle', + statusAbnormal: 'Status Abnormal' + }, + editParkingSpaceApply: { + editApplication: 'Edit Parking Space Application', + licensePlate: 'License Plate', + carBrand: 'Car Brand', + vehicleType: 'Vehicle Type', + color: 'Color', + startTime: 'Start Time', + endTime: 'End Time', + applicant: 'Applicant', + applicantPhone: 'Applicant Phone', + remarks: 'Remarks', + required: 'Required', + optional: 'Optional', + save: 'Save', + cancel: 'Cancel', + fillLicensePlate: 'Please fill in license plate', + fillCarBrand: 'Please fill in car brand', + selectVehicleType: 'Please select vehicle type', + fillColor: 'Please fill in color', + fillStartTime: 'Please fill in start time', + fillEndTime: 'Please fill in end time', + fillApplicant: 'Please fill in applicant', + fillApplicantPhone: 'Please fill in applicant phone' + }, + deleteParkingSpaceApply: { + confirmOperation: 'Please confirm your operation', + confirmDelete: 'Confirm delete parking space application', + cancel: 'Cancel', + confirmDeleteAction: 'Confirm Delete', + deletePrompt: 'Are you sure you want to delete this parking space application?' + } + }, + zh: { + parkingSpaceApplyManage: { + searchCondition: '查询条件', + licensePlate: '车牌号', + carBrand: '车辆品牌', + applicantName: '申请人名称', + applicantPhone: '申请人电话', + status: '状态', + selectStatus: '请选择状态', + pendingReview: '待审核', + pendingPayment: '待缴费', + completed: '完成', + applicationFailed: '申请失败', + search: '查询', + reset: '重置', + parkingSpaceApplication: '车位申请', + applyForSpace: '申请车位', + applicationId: '申请ID', + parkingSpace: '停车位', + vehicleType: '车辆类型', + color: '颜色', + startTime: '起租时间', + endTime: '结租时间', + applicant: '申请人', + phoneNumber: '手机号', + reviewResult: '审核结果', + operation: '操作', + audit: '审核', + edit: '修改', + delete: '删除', + homeCar: '家用小汽车', + bus: '客车', + truck: '货车', + abnormalVehicle: '异常车辆', + statusAbnormal: '状态异常' + }, + editParkingSpaceApply: { + editApplication: '修改车位申请', + licensePlate: '车牌号', + carBrand: '汽车品牌', + vehicleType: '车辆类型', + color: '颜色', + startTime: '起租时间', + endTime: '结租时间', + applicant: '申请人', + applicantPhone: '申请人电话', + remarks: '备注', + required: '必填', + optional: '选填', + save: '保存', + cancel: '取消', + fillLicensePlate: '请填写车牌号', + fillCarBrand: '请填写汽车品牌', + selectVehicleType: '请选择车辆类型', + fillColor: '请填写颜色', + fillStartTime: '请填写起租时间', + fillEndTime: '请填写结租时间', + fillApplicant: '请填写申请人', + fillApplicantPhone: '请填写申请人电话' + }, + deleteParkingSpaceApply: { + confirmOperation: '请确认您的操作', + confirmDelete: '确定删除车位申请', + cancel: '点错了', + confirmDeleteAction: '确认删除', + deletePrompt: '确定删除车位申请吗?' + } + } +} \ No newline at end of file diff --git a/src/views/car/parkingSpaceApplyManageList.vue b/src/views/car/parkingSpaceApplyManageList.vue new file mode 100644 index 0000000..5dbac6a --- /dev/null +++ b/src/views/car/parkingSpaceApplyManageList.vue @@ -0,0 +1,264 @@ + + + + + \ No newline at end of file diff --git a/src/views/car/remainingParkingSpaceLang.js b/src/views/car/remainingParkingSpaceLang.js new file mode 100644 index 0000000..53a54a1 --- /dev/null +++ b/src/views/car/remainingParkingSpaceLang.js @@ -0,0 +1,26 @@ +export const messages = { + en: { + remainingParkingSpace: { + title: 'Remaining Parking Space', + total: 'Total Parking Spaces', + freeCount: 'Remaining Spaces', + createTime: 'Collection Time', + operation: 'Operation', + refresh: 'Refresh', + unit: 'units', + fetchError: 'Failed to fetch parking space data' + } + }, + zh: { + remainingParkingSpace: { + title: '剩余车位', + total: '总车位数', + freeCount: '剩余车位数', + createTime: '采集时间', + operation: '操作', + refresh: '刷新', + unit: '位', + fetchError: '获取车位数据失败' + } + } +} \ No newline at end of file diff --git a/src/views/car/remainingParkingSpaceList.vue b/src/views/car/remainingParkingSpaceList.vue new file mode 100644 index 0000000..c160885 --- /dev/null +++ b/src/views/car/remainingParkingSpaceList.vue @@ -0,0 +1,141 @@ + + + + + \ No newline at end of file diff --git a/src/views/car/tempCarPaymentLang.js b/src/views/car/tempCarPaymentLang.js new file mode 100644 index 0000000..dd7e460 --- /dev/null +++ b/src/views/car/tempCarPaymentLang.js @@ -0,0 +1,56 @@ +export const messages = { + en: { + tempCarPayment: { + searchTitle: 'Search Conditions', + inParkingTitle: 'Parking Vehicles', + carNumPlaceholder: 'Please enter license plate number', + carStatusPlaceholder: 'Please select vehicle status', + selectCarStatus: 'Select vehicle status', + inStatus: 'Entry Status', + paidStatus: 'Payment Completed', + outStatus: 'Exit Status', + repayStatus: 'Re-payment due to timeout', + entryStartTime: 'Entry start time', + entryEndTime: 'Entry end time', + search: 'Search', + reset: 'Reset', + inoutId: 'In/Out ID', + carStatus: 'Vehicle Status', + carNum: 'License Plate', + inTime: 'Entry Time', + payType: 'Payment Type', + payableAmount: 'Payable Amount', + paidAmount: 'Paid Amount', + payTime: 'Payment Time', + loadParkingAreaError: 'Failed to load parking areas', + queryError: 'Query failed' + } + }, + zh: { + tempCarPayment: { + searchTitle: '查询条件', + inParkingTitle: '在场车辆', + carNumPlaceholder: '请输入车牌号', + carStatusPlaceholder: '请选择车辆状态', + selectCarStatus: '请选择车辆状态', + inStatus: '进场状态', + paidStatus: '支付完成', + outStatus: '离场状态', + repayStatus: '支付超时重新支付', + entryStartTime: '进场开始时间', + entryEndTime: '进场结束时间', + search: '查询', + reset: '重置', + inoutId: '进出场编号', + carStatus: '车辆状态', + carNum: '车牌号', + inTime: '进场时间', + payType: '收费类型', + payableAmount: '应收金额', + paidAmount: '实收金额', + payTime: '支付时间', + loadParkingAreaError: '加载停车区域失败', + queryError: '查询失败' + } + } +} \ No newline at end of file diff --git a/src/views/car/tempCarPaymentList.vue b/src/views/car/tempCarPaymentList.vue new file mode 100644 index 0000000..c55202c --- /dev/null +++ b/src/views/car/tempCarPaymentList.vue @@ -0,0 +1,250 @@ + + + + + \ No newline at end of file -- libgit2 0.21.4