diff --git a/src/api/report/dataReportApi.js b/src/api/report/dataReportApi.js new file mode 100644 index 0000000..cdfb49d --- /dev/null +++ b/src/api/report/dataReportApi.js @@ -0,0 +1,241 @@ +import request from '@/utils/request' + +// 查询费用统计数据 +export function queryFeeDataReport(params) { + return new Promise((resolve, reject) => { + request({ + url: '/dataReport.queryFeeDataReport', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询工单统计数据 +export function queryOrderDataReport(params) { + return new Promise((resolve, reject) => { + request({ + url: '/dataReport.queryOrderDataReport', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询出入统计数据 +export function queryInoutDataReport(params) { + return new Promise((resolve, reject) => { + request({ + url: '/dataReport.queryInoutDataReport', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询其他统计数据 +export function queryOthersDataReport(params) { + return new Promise((resolve, reject) => { + request({ + url: '/dataReport.queryOthersDataReport', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询实收统计数据 +export function queryReceivedStatistics(params) { + return new Promise((resolve, reject) => { + request({ + url: '/dataReport.queryReceivedStatistics', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询实收明细统计数据 +export function queryReceivedDetailStatistics(params) { + return new Promise((resolve, reject) => { + request({ + url: '/dataReport.queryReceivedDetailStatistics', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询收款方式统计数据 +export function queryReceivedWayStatistics(params) { + return new Promise((resolve, reject) => { + request({ + url: '/dataReport.queryReceivedWayStatistics', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询欠费统计数据 +export function queryOweStatistics(params) { + return new Promise((resolve, reject) => { + request({ + url: '/dataReport.queryOweStatistics', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询欠费明细统计数据 +export function queryOweDetailStatistics(params) { + return new Promise((resolve, reject) => { + request({ + url: '/dataReport.queryOweDetailStatistics', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询收缴情况统计数据 +export function queryDataReportFeeStatistics(params) { + return new Promise((resolve, reject) => { + request({ + url: '/dataReport.queryDataReportFeeStatistics', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询月实收明细数据 +export function queryMonthReceivedDetail(params) { + return new Promise((resolve, reject) => { + request({ + url: '/dataReport.queryMonthReceivedDetail', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询月欠费明细数据 +export function queryMonthOweDetail(params) { + return new Promise((resolve, reject) => { + request({ + url: '/dataReport.queryMonthOweDetail', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询楼栋列表 +export function queryFloors(params) { + return new Promise((resolve, reject) => { + request({ + url: '/floor.queryFloors', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询我入驻的小区列表 +export function listMyEnteredCommunitys(params) { + return new Promise((resolve, reject) => { + request({ + url: '/community.listMyEnteredCommunitys', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 导出数据 +export function exportData(params) { + return new Promise((resolve, reject) => { + request({ + url: '/export.exportData', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} \ No newline at end of file diff --git a/src/api/report/feeRemindApi.js b/src/api/report/feeRemindApi.js new file mode 100644 index 0000000..c956bad --- /dev/null +++ b/src/api/report/feeRemindApi.js @@ -0,0 +1,81 @@ +import request from '@/utils/request' + +// 查询预缴费提醒列表 +export function queryPrePayment(params) { + return new Promise((resolve, reject) => { + request({ + url: '/reportFeeMonthStatistics.queryPrePayment', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询到期提醒列表 +export function queryDeadlineFee(params) { + return new Promise((resolve, reject) => { + request({ + url: '/reportFeeMonthStatistics.queryDeadlineFee', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 导出数据 +export function exportData(params) { + return new Promise((resolve, reject) => { + request({ + url: '/export.exportData', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询费用项列表 +export function listFeeConfigs(params) { + return new Promise((resolve, reject) => { + request({ + url: '/feeConfig.listFeeConfigs', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询已入驻小区列表 +export function listMyEnteredCommunitys(params) { + return new Promise((resolve, reject) => { + request({ + url: '/community.listMyEnteredCommunitys', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} \ No newline at end of file diff --git a/src/api/report/reportFeeDetailApi.js b/src/api/report/reportFeeDetailApi.js new file mode 100644 index 0000000..9ca7901 --- /dev/null +++ b/src/api/report/reportFeeDetailApi.js @@ -0,0 +1,156 @@ +import request from '@/utils/request' + +// 查询房屋费用明细 +export function queryReportFeeDetailRoom(params) { + return new Promise((resolve, reject) => { + request({ + url: '/reportFeeMonthStatistics.queryReportFeeDetailRoom', + method: 'get', + params + }).then(response => { + const res = response.data + resolve({ + data: res.data, + total: res.total + }) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询业主费用明细 +export function queryReportFeeDetailOwner(params) { + return new Promise((resolve, reject) => { + request({ + url: '/reportFeeMonthStatistics.queryReportFeeDetailOwner', + method: 'get', + params + }).then(response => { + const res = response.data + resolve({ + data: res.data, + total: res.total + }) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询合同费用明细 +export function queryReportFeeDetailContract(params) { + return new Promise((resolve, reject) => { + request({ + url: '/reportFeeMonthStatistics.queryReportFeeDetailContract', + method: 'get', + params + }).then(response => { + const res = response.data + resolve({ + data: res.data, + total: res.total + }) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询车辆费用明细 +export function queryReportFeeDetailCar(params) { + return new Promise((resolve, reject) => { + request({ + url: '/reportFeeMonthStatistics.queryReportFeeDetailCar', + method: 'get', + params + }).then(response => { + const res = response.data + resolve({ + data: res.data, + total: res.total + }) + }).catch(error => { + reject(error) + }) + }) +} + +// 导出房屋费用明细 +export function exportReportFeeDetailRoom(params) { + return new Promise((resolve, reject) => { + request({ + url: '/export.exportData', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 导出业主费用明细 +export function exportReportFeeDetailOwner(params) { + return new Promise((resolve, reject) => { + request({ + url: '/export.exportData', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 导出合同费用明细 +export function exportReportFeeDetailContract(params) { + return new Promise((resolve, reject) => { + request({ + url: '/export.exportData', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 导出车辆费用明细 +export function exportReportFeeDetailCar(params) { + return new Promise((resolve, reject) => { + request({ + url: '/export.exportData', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +export function loadStaffCommunitys(params) { + return new Promise((resolve, reject) => { + request({ + url: '/community.listMyEnteredCommunitys', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} \ No newline at end of file diff --git a/src/api/report/reportFeeSummaryApi.js b/src/api/report/reportFeeSummaryApi.js new file mode 100644 index 0000000..7c3622c --- /dev/null +++ b/src/api/report/reportFeeSummaryApi.js @@ -0,0 +1,137 @@ +import request from '@/utils/request' + +/** + * 查询费用汇总数据 + * @param {Object} params 查询参数 + */ +export function queryReportFeeSummary(params) { + return new Promise((resolve, reject) => { + request({ + url: '/reportFeeMonthStatistics.queryReportFeeSummary', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +/** + * 查询楼栋费用汇总数据 + * @param {Object} params 查询参数 + */ +export function queryReportFloorFeeSummary(params) { + return new Promise((resolve, reject) => { + request({ + url: '/reportFeeMonthStatistics.queryReportFloorFeeSummary', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +/** + * 查询费用项汇总数据 + * @param {Object} params 查询参数 + */ +export function queryReportConfigFeeSummary(params) { + return new Promise((resolve, reject) => { + request({ + url: '/reportFeeMonthStatistics.queryReportConfigFeeSummary', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +/** + * 导出数据 + * @param {Object} params 导出参数 + */ +export function exportData(params) { + return new Promise((resolve, reject) => { + request({ + url: '/export.exportData', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +/** + * 查询楼栋列表 + * @param {Object} params 查询参数 + */ +export function queryFloors(params) { + return new Promise((resolve, reject) => { + request({ + url: '/floor.queryFloors', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +/** + * 查询费用配置列表 + * @param {Object} params 查询参数 + */ +export function queryFeeConfigs(params) { + return new Promise((resolve, reject) => { + request({ + url: '/feeConfig.listFeeConfigs', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +/** + * 查询用户关联的小区列表 + */ +export function queryCommunitys() { + return new Promise((resolve, reject) => { + request({ + url: '/community.listMyEnteredCommunitys', + method: 'get', + params: { + _uid: '123mlkdinkldldijdhuudjdjkkd', + page: 1, + row: 100 + } + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} \ No newline at end of file diff --git a/src/components/report/DataMonthOweStatistics.vue b/src/components/report/DataMonthOweStatistics.vue new file mode 100644 index 0000000..3e7e842 --- /dev/null +++ b/src/components/report/DataMonthOweStatistics.vue @@ -0,0 +1,245 @@ + + + + + \ No newline at end of file diff --git a/src/components/report/DataMonthReceivedStatistics.vue b/src/components/report/DataMonthReceivedStatistics.vue new file mode 100644 index 0000000..f70afc1 --- /dev/null +++ b/src/components/report/DataMonthReceivedStatistics.vue @@ -0,0 +1,247 @@ + + + + + \ No newline at end of file diff --git a/src/components/report/DataReportEarnedDetailStatistics.vue b/src/components/report/DataReportEarnedDetailStatistics.vue new file mode 100644 index 0000000..779ad89 --- /dev/null +++ b/src/components/report/DataReportEarnedDetailStatistics.vue @@ -0,0 +1,181 @@ + + + + + \ No newline at end of file diff --git a/src/components/report/DataReportEarnedStatistics.vue b/src/components/report/DataReportEarnedStatistics.vue new file mode 100644 index 0000000..f361011 --- /dev/null +++ b/src/components/report/DataReportEarnedStatistics.vue @@ -0,0 +1,140 @@ + + + + + \ No newline at end of file diff --git a/src/components/report/DataReportEarnedWayStatistics.vue b/src/components/report/DataReportEarnedWayStatistics.vue new file mode 100644 index 0000000..75c8cb0 --- /dev/null +++ b/src/components/report/DataReportEarnedWayStatistics.vue @@ -0,0 +1,89 @@ + + + + + \ No newline at end of file diff --git a/src/components/report/DataReportFeeStatistics.vue b/src/components/report/DataReportFeeStatistics.vue new file mode 100644 index 0000000..91e36f1 --- /dev/null +++ b/src/components/report/DataReportFeeStatistics.vue @@ -0,0 +1,221 @@ + + + + + \ No newline at end of file diff --git a/src/components/report/DataReportOweDetailStatistics.vue b/src/components/report/DataReportOweDetailStatistics.vue new file mode 100644 index 0000000..2352072 --- /dev/null +++ b/src/components/report/DataReportOweDetailStatistics.vue @@ -0,0 +1,191 @@ + + + + + \ No newline at end of file diff --git a/src/components/report/DataReportOweStatistics.vue b/src/components/report/DataReportOweStatistics.vue new file mode 100644 index 0000000..743559d --- /dev/null +++ b/src/components/report/DataReportOweStatistics.vue @@ -0,0 +1,139 @@ + + + + + \ No newline at end of file diff --git a/src/components/report/configFeeSummary.vue b/src/components/report/configFeeSummary.vue new file mode 100644 index 0000000..bb82723 --- /dev/null +++ b/src/components/report/configFeeSummary.vue @@ -0,0 +1,108 @@ + + + + + \ No newline at end of file diff --git a/src/components/report/floorFeeSummary.vue b/src/components/report/floorFeeSummary.vue new file mode 100644 index 0000000..12ea39e --- /dev/null +++ b/src/components/report/floorFeeSummary.vue @@ -0,0 +1,108 @@ + + + + + \ No newline at end of file diff --git a/src/components/report/reportDeadlineFee.vue b/src/components/report/reportDeadlineFee.vue new file mode 100644 index 0000000..f1ec68f --- /dev/null +++ b/src/components/report/reportDeadlineFee.vue @@ -0,0 +1,154 @@ + + + + + \ No newline at end of file diff --git a/src/components/report/reportFeeDetailCar.vue b/src/components/report/reportFeeDetailCar.vue new file mode 100644 index 0000000..ade37fb --- /dev/null +++ b/src/components/report/reportFeeDetailCar.vue @@ -0,0 +1,170 @@ + + + + + \ No newline at end of file diff --git a/src/components/report/reportFeeDetailContract.vue b/src/components/report/reportFeeDetailContract.vue new file mode 100644 index 0000000..981d6fe --- /dev/null +++ b/src/components/report/reportFeeDetailContract.vue @@ -0,0 +1,170 @@ + + + + + \ No newline at end of file diff --git a/src/components/report/reportFeeDetailOwner.vue b/src/components/report/reportFeeDetailOwner.vue new file mode 100644 index 0000000..6f3dfd4 --- /dev/null +++ b/src/components/report/reportFeeDetailOwner.vue @@ -0,0 +1,173 @@ + + + + + \ No newline at end of file diff --git a/src/components/report/reportFeeDetailRoom.vue b/src/components/report/reportFeeDetailRoom.vue new file mode 100644 index 0000000..0881bae --- /dev/null +++ b/src/components/report/reportFeeDetailRoom.vue @@ -0,0 +1,197 @@ + + + + + \ No newline at end of file diff --git a/src/components/report/reportPrePaymentFee.vue b/src/components/report/reportPrePaymentFee.vue new file mode 100644 index 0000000..53e1b9d --- /dev/null +++ b/src/components/report/reportPrePaymentFee.vue @@ -0,0 +1,119 @@ + + + + + \ No newline at end of file diff --git a/src/components/report/selectCommunityFloor.vue b/src/components/report/selectCommunityFloor.vue new file mode 100644 index 0000000..6753bcc --- /dev/null +++ b/src/components/report/selectCommunityFloor.vue @@ -0,0 +1,114 @@ + + + + + \ No newline at end of file diff --git a/src/i18n/reportI18n.js b/src/i18n/reportI18n.js index 39fb5e1..9d61011 100644 --- a/src/i18n/reportI18n.js +++ b/src/i18n/reportI18n.js @@ -5,6 +5,12 @@ import { messages as reportCustomComponentManageMessages } from '../views/report import { messages as reportCustomComponentRelManageMessages } from '../views/report/reportCustomComponentRelManageLang' import { messages as componentConditionManageMessages } from '../views/report/componentConditionManageLang' import { messages as reportCustomComponentFooterManageMessages } from '../views/report/reportCustomComponentFooterManageLang' + +import { messages as reportFeeSummaryMessages } from '../views/report/reportFeeSummaryLang' +import { messages as reportFeeDetailMessages } from '../views/report/reportFeeDetailLang' +import { messages as feeRemindMessages } from '../views/report/feeRemindLang' +import { messages as dataReportMessages } from '../views/report/dataReportLang' + export const messages = { en: { @@ -14,6 +20,10 @@ export const messages = { ...reportCustomManageMessages.en, ...reportCustomComponentManageMessages.en, ...reportProficientMessages.en, + ...reportFeeSummaryMessages.en, + ...reportFeeDetailMessages.en, + ...feeRemindMessages.en, + ...dataReportMessages.en, }, zh: { ...reportCustomComponentRelManageMessages.zh, @@ -22,5 +32,9 @@ export const messages = { ...reportCustomManageMessages.zh, ...reportCustomComponentManageMessages.zh, ...reportProficientMessages.zh, + ...reportFeeSummaryMessages.zh, + ...reportFeeDetailMessages.zh, + ...feeRemindMessages.zh, + ...dataReportMessages.zh, } } \ No newline at end of file diff --git a/src/router/reportRouter.js b/src/router/reportRouter.js index fffe3d3..9cd4a63 100644 --- a/src/router/reportRouter.js +++ b/src/router/reportRouter.js @@ -4,5 +4,25 @@ export default [ name: '/pages/property/reportProficient', component: () => import('@/views/report/reportProficientList.vue') }, + { + path: '/pages/property/reportFeeSummary', + name: '/pages/property/reportFeeSummary', + component: () => import('@/views/report/reportFeeSummaryList.vue') + }, + { + path: '/pages/property/reportFeeDetail', + name: '/pages/property/reportFeeDetail', + component: () => import('@/views/report/reportFeeDetailList.vue') + }, + { + path: '/pages/report/feeRemind', + name: '/pages/report/feeRemind', + component: () => import('@/views/report/feeRemindList.vue') + }, + { + path:'/pages/report/dataReport', + name:'/pages/report/dataReport', + component: () => import('@/views/report/dataReportList.vue') + }, ] \ No newline at end of file diff --git a/src/views/report/dataReportLang.js b/src/views/report/dataReportLang.js new file mode 100644 index 0000000..f70251f --- /dev/null +++ b/src/views/report/dataReportLang.js @@ -0,0 +1,110 @@ +export const messages = { + en: { + dataReport: { + timeRange: 'Time Range', + startDate: 'Start Date', + endDate: 'End Date', + to: 'to', + selectCommunity: 'Select Community', + today: 'Today', + yesterday: 'Yesterday', + last7Days: 'Last 7 Days', + last30Days: 'Last 30 Days', + feeStatistics: 'Fee Statistics', + orderStatistics: 'Order Statistics', + inoutStatistics: 'In/Out Statistics', + otherStatistics: 'Other Statistics', + building: 'Building', + roomCount: 'Room Count', + feeRoomCount: 'Fee Room Count', + receivedFee: 'Received Fee', + totalReceived: 'Total Received', + export: 'Export', + roomNumber: 'Room Number', + ownerName: 'Owner Name', + phoneNumber: 'Phone Number', + search: 'Search', + reset: 'Reset', + room: 'Room', + owner: 'Owner', + oweFee: 'Owe Fee', + totalOwe: 'Total Owe', + historyOwe: 'History Owe', + todayPaidCount: 'Today Paid Count', + todayPaidAmount: 'Today Paid Amount', + historyPaidCount: 'History Paid Count', + historyPaidAmount: 'History Paid Amount', + monthPaidCount: 'Month Paid Count', + remainingCount: 'Remaining Count', + paidRatio: 'Paid Ratio', + monthPaidAmount: 'Month Paid Amount', + monthRemaining: 'Month Remaining', + collectionRate: 'Collection Rate', + feeName: 'Fee Name', + receivedPeriod: 'Received Period', + cashier: 'Cashier', + paymentTime: 'Payment Time', + owePeriod: 'Owe Period', + oweAmount: 'Owe Amount', + receivedAmount: 'Received Amount', + selectBuilding: 'Select Building', + feeStartDate: 'Fee Start Date', + feeEndDate: 'Fee End Date', + noExportData: 'No data to export' + } + }, + zh: { + dataReport: { + timeRange: '统计时间', + startDate: '开始日期', + endDate: '结束日期', + to: '至', + selectCommunity: '请选择小区', + today: '今日', + yesterday: '昨日', + last7Days: '近7日', + last30Days: '近30日', + feeStatistics: '费用类统计', + orderStatistics: '工单类统计', + inoutStatistics: '出入统计', + otherStatistics: '其他统计', + building: '楼栋', + roomCount: '户数', + feeRoomCount: '收费户数', + receivedFee: '实收', + totalReceived: '总实收', + export: '导出', + roomNumber: '房屋编号', + ownerName: '业主名称', + phoneNumber: '手机号', + search: '查询', + reset: '重置', + room: '房屋', + owner: '业主', + oweFee: '欠费', + totalOwe: '总欠费', + historyOwe: '历史欠费', + todayPaidCount: '本日已交户数', + todayPaidAmount: '本日已交金额', + historyPaidCount: '历史欠费清缴户', + historyPaidAmount: '历史欠费清缴金额', + monthPaidCount: '本月已收户数', + remainingCount: '剩余户数', + paidRatio: '已收户占比', + monthPaidAmount: '当月已收金额', + monthRemaining: '当月剩余未收', + collectionRate: '收费率', + feeName: '费用名称', + receivedPeriod: '实收时间段', + cashier: '收银员', + paymentTime: '交费时间', + owePeriod: '欠费时间段', + oweAmount: '欠费金额', + receivedAmount: '实收', + selectBuilding: '请选择楼栋', + feeStartDate: '费用开始时间', + feeEndDate: '费用结束时间', + noExportData: '没有可以导出的数据' + } + } +} \ No newline at end of file diff --git a/src/views/report/dataReportList.vue b/src/views/report/dataReportList.vue new file mode 100644 index 0000000..fcbc22d --- /dev/null +++ b/src/views/report/dataReportList.vue @@ -0,0 +1,315 @@ + + + + + \ No newline at end of file diff --git a/src/views/report/feeRemindLang.js b/src/views/report/feeRemindLang.js new file mode 100644 index 0000000..5bb87d1 --- /dev/null +++ b/src/views/report/feeRemindLang.js @@ -0,0 +1,70 @@ +export const messages = { + en: { + feeRemind: { + queryCondition: 'Query Conditions', + hide: 'Hide', + more: 'More', + objNamePlaceholder: 'Please enter room number/contract name/license plate', + ownerNamePlaceholder: 'Please enter owner name', + linkPlaceholder: 'Please enter owner phone', + feeConfigPlaceholder: 'Please select fee item', + communityPlaceholder: 'Please select community', + query: 'Query', + reset: 'Reset', + prePaymentRemind: 'Pre-payment Reminder', + deadlineRemind: 'Expiration Reminder' + }, + reportPrePaymentFee: { + export: 'Export', + feeId: 'Fee ID', + objName: 'Room/Vehicle/Contract', + feeName: 'Fee Item', + startTime: 'Fee Start Time', + oweDay: 'Days Until Start', + tip: 'Note: This table shows fees starting within 7 days' + }, + reportDeadlineFee: { + export: 'Export', + feeId: 'Fee ID', + objName: 'Room/Vehicle/Contract', + feeName: 'Fee Item', + deadlineTime: 'Fee End Time', + oweDay: 'Days Until End', + tip: 'Note: This table shows fees ending within 7 days' + } + }, + zh: { + feeRemind: { + queryCondition: '查询条件', + hide: '隐藏', + more: '更多', + objNamePlaceholder: '请填写房屋编号/合同名称/车牌号', + ownerNamePlaceholder: '请填写业主名称', + linkPlaceholder: '请填写业主手机号', + feeConfigPlaceholder: '请选择费用项', + communityPlaceholder: '请选择小区', + query: '查询', + reset: '重置', + prePaymentRemind: '预缴费提醒', + deadlineRemind: '到期提醒' + }, + reportPrePaymentFee: { + export: '导出', + feeId: '费用编号', + objName: '房号/车辆/合同', + feeName: '费用项', + startTime: '费用开始时间', + oweDay: '距离开始时间(天)', + tip: '温馨提示:此表反馈7天内开始缴费的费用' + }, + reportDeadlineFee: { + export: '导出', + feeId: '费用编号', + objName: '房号/车辆/合同', + feeName: '费用项', + deadlineTime: '费用结束时间', + oweDay: '距离结束时间(天)', + tip: '温馨提示:此表反馈7天内缴费结束的费用' + } + } +} \ No newline at end of file diff --git a/src/views/report/feeRemindList.vue b/src/views/report/feeRemindList.vue new file mode 100644 index 0000000..6a8e1e4 --- /dev/null +++ b/src/views/report/feeRemindList.vue @@ -0,0 +1,183 @@ + + + + + \ No newline at end of file diff --git a/src/views/report/reportFeeDetailLang.js b/src/views/report/reportFeeDetailLang.js new file mode 100644 index 0000000..ca8f1cf --- /dev/null +++ b/src/views/report/reportFeeDetailLang.js @@ -0,0 +1,126 @@ +export const messages = { + en: { + reportFeeDetail: { + search: { + title: 'Search Conditions', + startDate: 'Start Date', + endDate: 'End Date', + objName: 'Room No/Contract/Car No', + ownerName: 'Owner Name', + link: 'Owner Phone', + community: 'Community' + }, + placeholder: { + startDate: 'Please select start date', + endDate: 'Please select end date', + objName: 'Please enter room no/contract name/car no', + ownerName: 'Please enter owner name', + link: 'Please enter owner phone', + community: 'Please select community' + }, + hide: 'Hide', + more: 'More', + tabs: { + room: 'Room Fee Details', + owner: 'Owner Fee Details', + contract: 'Contract Fee Details', + car: 'Car Fee Details' + } + }, + reportFeeDetailRoom: { + all: 'All', + room: 'Room', + owner: 'Owner', + oweFee: 'Owe Fee', + receivedFee: 'Received Fee', + owe: ' (Owe)', + received: ' (Received)' + }, + reportFeeDetailOwner: { + owner: 'Owner', + room: 'Room', + oweFee: 'Owe Fee', + receivedFee: 'Received Fee', + owe: ' (Owe)', + received: ' (Received)' + }, + reportFeeDetailContract: { + contract: 'Contract', + owner: 'Owner', + oweFee: 'Owe Fee', + receivedFee: 'Received Fee', + owe: ' (Owe)', + received: ' (Received)' + }, + reportFeeDetailCar: { + car: 'Car', + owner: 'Owner', + oweFee: 'Owe Fee', + receivedFee: 'Received Fee', + owe: ' (Owe)', + received: ' (Received)' + } + }, + zh: { + reportFeeDetail: { + search: { + title: '查询条件', + startDate: '开始日期', + endDate: '结束日期', + objName: '房屋编号/合同/车牌号', + ownerName: '业主名称', + link: '业主手机号', + community: '小区' + }, + placeholder: { + startDate: '请选择开始日期', + endDate: '请选择结束日期', + objName: '请输入房屋编号/合同名称/车牌号', + ownerName: '请输入业主名称', + link: '请输入业主手机号', + community: '请选择小区' + }, + hide: '隐藏', + more: '更多', + tabs: { + room: '房屋费用明细', + owner: '业主费用明细', + contract: '合同费用明细', + car: '车辆费用明细' + } + }, + reportFeeDetailRoom: { + all: '全部', + room: '房屋', + owner: '业主', + oweFee: '欠费', + receivedFee: '实收', + owe: ' (欠费)', + received: ' (实收)' + }, + reportFeeDetailOwner: { + owner: '业主', + room: '房屋', + oweFee: '欠费', + receivedFee: '实收', + owe: ' (欠费)', + received: ' (实收)' + }, + reportFeeDetailContract: { + contract: '合同', + owner: '业主', + oweFee: '欠费', + receivedFee: '实收', + owe: ' (欠费)', + received: ' (实收)' + }, + reportFeeDetailCar: { + car: '车辆', + owner: '业主', + oweFee: '欠费', + receivedFee: '实收', + owe: ' (欠费)', + received: ' (实收)' + } + } +} \ No newline at end of file diff --git a/src/views/report/reportFeeDetailList.vue b/src/views/report/reportFeeDetailList.vue new file mode 100644 index 0000000..9f08024 --- /dev/null +++ b/src/views/report/reportFeeDetailList.vue @@ -0,0 +1,213 @@ + + + + + \ No newline at end of file diff --git a/src/views/report/reportFeeSummaryLang.js b/src/views/report/reportFeeSummaryLang.js new file mode 100644 index 0000000..af9bdaa --- /dev/null +++ b/src/views/report/reportFeeSummaryLang.js @@ -0,0 +1,78 @@ +export const messages = { + en: { + reportFeeSummary: { + queryCondition: 'Query Conditions', + selectStartDate: 'Select start date', + selectEndDate: 'Select end date', + inputRoomNumber: 'Input room number', + inputOwnerName: 'Input owner name', + inputOwnerPhone: 'Input owner phone', + selectFeeType: 'Select fee type', + selectCommunity: 'Select community', + feeSummaryTable: 'Fee Summary Table', + updateDaily: 'Updated daily', + totalRooms: 'Total Rooms', + chargeRooms: 'Charge Rooms', + arrearsRooms: 'Arrears Rooms', + arrearsFormula: 'History Arrears + Current Arrears = Total Arrears', + historyArrears: 'History Arrears', + currentArrears: 'Current Arrears', + totalArrears: 'Total Arrears', + actualPaymentFormula: 'Arrears Recovery + Current Partial + Advance = Actual Payment', + arrearsRecovery: 'Arrears Recovery', + currentPartial: 'Current Partial', + advancePayment: 'Advance Payment', + actualPayment: 'Actual Payment', + currentReceivable: 'Current Receivable', + currentActual: 'Current Actual', + roomChargeRate: 'Room Charge Rate', + chargeRate: 'Charge Rate', + clearanceRate: 'Clearance Rate', + floorFeeSummary: 'Floor Fee Summary', + configFeeSummary: 'Config Fee Summary', + floorFeeRateStatistics: 'Floor Charge Rate Statistics', + configFeeRateStatistics: 'Config Charge Rate Statistics', + dateError: 'Start date must be earlier than end date', + exportSuccess: 'Export success', + exportFailed: 'Export failed' + } + }, + zh: { + reportFeeSummary: { + queryCondition: '查询条件', + selectStartDate: '请选择开始日期', + selectEndDate: '请选择结束日期', + inputRoomNumber: '请填写房屋编号', + inputOwnerName: '请填写业主名称', + inputOwnerPhone: '请填写业主手机号', + selectFeeType: '请选择费用大类', + selectCommunity: '请选择小区', + feeSummaryTable: '费用汇总表', + updateDaily: '按天更新', + totalRooms: '总户数', + chargeRooms: '收费户', + arrearsRooms: '欠费户', + arrearsFormula: '历史欠费+当期欠费=欠费', + historyArrears: '历史欠费', + currentArrears: '当期欠费', + totalArrears: '总欠费', + actualPaymentFormula: '欠费追回+当期部分+预交=实缴', + arrearsRecovery: '欠费追回', + currentPartial: '当期部分', + advancePayment: '预交', + actualPayment: '实缴', + currentReceivable: '当期应收', + currentActual: '当期实收', + roomChargeRate: '户收费率', + chargeRate: '收费率', + clearanceRate: '清缴率', + floorFeeSummary: '楼栋费用汇总', + configFeeSummary: '费用项汇总', + floorFeeRateStatistics: '楼栋收费率统计', + configFeeRateStatistics: '费用项收费率统计', + dateError: '开始日期必须早于结束日期', + exportSuccess: '导出成功', + exportFailed: '导出失败' + } + } +} \ No newline at end of file diff --git a/src/views/report/reportFeeSummaryList.vue b/src/views/report/reportFeeSummaryList.vue new file mode 100644 index 0000000..8e4286c --- /dev/null +++ b/src/views/report/reportFeeSummaryList.vue @@ -0,0 +1,340 @@ + + + + + \ No newline at end of file