From f61bd6e8e4c3243544baca8a00a4f0a334c5ea87 Mon Sep 17 00:00:00 2001 From: wuxw <928255095@qq.com> Date: Mon, 30 Jun 2025 22:53:44 +0800 Subject: [PATCH] 费用下功能基本搞定 --- src/api/fee/addOweFeeCallableApi.js | 101 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/api/fee/feeApi.js | 17 +++++++++++++++++ src/api/fee/feeSummaryApi.js | 33 +++++++++++++++++++++++++++++++++ src/api/fee/listOweFeeApi.js | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/api/fee/oweFeeCallableApi.js | 120 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/api/fee/payFeeBatchApi.js | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ src/api/fee/staffFeeManageApi.js | 33 +++++++++++++++++++++++++++++++++ src/components/fee/applyDeleteFeeBatch.vue | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/components/fee/audit.vue | 95 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------- src/components/fee/deleteOweFeeCallable.vue | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/components/fee/roomTreeDiv.vue | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/components/fee/searchFloor.vue | 187 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/components/fee/writeOweFeeCallable.vue | 97 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/i18n/feeI18n.js | 18 ++++++++++++++++++ src/router/feeRouter.js | 30 ++++++++++++++++++++++++++++++ src/views/fee/addOweFeeCallableLang.js | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ src/views/fee/addOweFeeCallableList.vue | 355 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/fee/feeComboMemberManageList.vue | 72 +++++++++++++----------------------------------------------------------- src/views/fee/feeSummaryLang.js | 32 ++++++++++++++++++++++++++++++++ src/views/fee/feeSummaryList.vue | 137 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/fee/listOweFeeLang.js | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/fee/listOweFeeList.vue | 417 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/fee/meterWaterManageList.vue | 2 +- src/views/fee/oweFeeCallableLang.js | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/fee/oweFeeCallableList.vue | 256 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/fee/payFeeBatchLang.js | 150 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/fee/payFeeBatchList.vue | 197 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/fee/staffFeeManageLang.js | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/fee/staffFeeManageList.vue | 194 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 29 files changed, 3224 insertions(+), 99 deletions(-) create mode 100644 src/api/fee/addOweFeeCallableApi.js create mode 100644 src/api/fee/feeApi.js create mode 100644 src/api/fee/feeSummaryApi.js create mode 100644 src/api/fee/listOweFeeApi.js create mode 100644 src/api/fee/oweFeeCallableApi.js create mode 100644 src/api/fee/payFeeBatchApi.js create mode 100644 src/api/fee/staffFeeManageApi.js create mode 100644 src/components/fee/applyDeleteFeeBatch.vue create mode 100644 src/components/fee/deleteOweFeeCallable.vue create mode 100644 src/components/fee/roomTreeDiv.vue create mode 100644 src/components/fee/searchFloor.vue create mode 100644 src/components/fee/writeOweFeeCallable.vue create mode 100644 src/views/fee/addOweFeeCallableLang.js create mode 100644 src/views/fee/addOweFeeCallableList.vue create mode 100644 src/views/fee/feeSummaryLang.js create mode 100644 src/views/fee/feeSummaryList.vue create mode 100644 src/views/fee/listOweFeeLang.js create mode 100644 src/views/fee/listOweFeeList.vue create mode 100644 src/views/fee/oweFeeCallableLang.js create mode 100644 src/views/fee/oweFeeCallableList.vue create mode 100644 src/views/fee/payFeeBatchLang.js create mode 100644 src/views/fee/payFeeBatchList.vue create mode 100644 src/views/fee/staffFeeManageLang.js create mode 100644 src/views/fee/staffFeeManageList.vue diff --git a/src/api/fee/addOweFeeCallableApi.js b/src/api/fee/addOweFeeCallableApi.js new file mode 100644 index 0000000..29f1b40 --- /dev/null +++ b/src/api/fee/addOweFeeCallableApi.js @@ -0,0 +1,101 @@ +import request from '@/utils/request' + +// 保存催缴欠费 +export function saveOweFeeCallable(data) { + return new Promise((resolve, reject) => { + request({ + url: '/oweFeeCallable.saveOweFeeCallable', + 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) + }) + }) +} + +// 导出催缴函Excel +export function exportCollectionLetterExcel(params) { + return new Promise((resolve, reject) => { + request({ + url: '/export.exportData', + 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 listFeeConfigs(params) { + return new Promise((resolve, reject) => { + request({ + url: '/feeConfig.listFeeConfigs', + 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 queryFloors(params) { + return new Promise((resolve, reject) => { + request({ + url: '/floor.queryFloors', + 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 queryReportOweFee(params) { + return new Promise((resolve, reject) => { + request({ + url: '/reportOweFee/queryReportOweFee', + 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/fee/feeApi.js b/src/api/fee/feeApi.js new file mode 100644 index 0000000..e56fe66 --- /dev/null +++ b/src/api/fee/feeApi.js @@ -0,0 +1,17 @@ +import request from '@/utils/request' + +// 查询费用列表 +export function listFee(params) { + return new Promise((resolve, reject) => { + request({ + url: '/fee.listFee', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} diff --git a/src/api/fee/feeSummaryApi.js b/src/api/fee/feeSummaryApi.js new file mode 100644 index 0000000..c8dff90 --- /dev/null +++ b/src/api/fee/feeSummaryApi.js @@ -0,0 +1,33 @@ +import request from '@/utils/request' + +// 获取缴费汇总列表 +export function listFeeSummarys(params) { + return new Promise((resolve, reject) => { + request({ + url: '/callComponent/feeSummary/list', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 导出Excel +export function exportFeeSummary(params) { + return new Promise((resolve, reject) => { + request({ + url: '/feeSummary/export', + method: 'get', + params, + responseType: 'blob' + }).then(response => { + resolve(response) + }).catch(error => { + reject(error) + }) + }) +} \ No newline at end of file diff --git a/src/api/fee/listOweFeeApi.js b/src/api/fee/listOweFeeApi.js new file mode 100644 index 0000000..1c14e50 --- /dev/null +++ b/src/api/fee/listOweFeeApi.js @@ -0,0 +1,108 @@ +import request from '@/utils/request' +import { getCommunityId } from '@/api/community/communityApi' + +// 查询欠费信息 +export function queryReportOweFee(params) { + return new Promise((resolve, reject) => { + request({ + url: '/reportOweFee/queryReportOweFee', + method: 'get', + params: { + ...params, + communityId: params.communityId || getCommunityId() + } + }).then(response => { + const res = response.data + resolve({ + data: res.data, + total: res.total, + records: res.records + }) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询收费项列表 +export function listFeeConfigs(params) { + return new Promise((resolve, reject) => { + request({ + url: '/feeConfig.listFeeConfigs', + method: 'get', + params: { + ...params, + communityId: params.communityId || getCommunityId() + } + }).then(response => { + const res = response.data + resolve({ + data: res.feeConfigs + }) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询楼栋列表 +export function queryFloors(params) { + return new Promise((resolve, reject) => { + request({ + url: '/floor.queryFloors', + method: 'get', + params: { + ...params, + communityId: params.communityId || getCommunityId() + } + }).then(response => { + const res = response.data + resolve({ + data: res.apiFloorDataVoList, + total: res.records + }) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询单元列表 +export function queryUnits(params) { + return new Promise((resolve, reject) => { + request({ + url: '/unit.queryUnits', + method: 'get', + params: { + ...params, + communityId: params.communityId || getCommunityId() + } + }).then(response => { + const res = response.data + resolve({ + data: res + }) + }).catch(error => { + reject(error) + }) + }) +} + +// 导出数据 +export function exportData(params) { + return new Promise((resolve, reject) => { + request({ + url: '/export.exportData', + method: 'get', + params: { + ...params, + communityId: params.communityId || getCommunityId() + } + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} \ No newline at end of file diff --git a/src/api/fee/oweFeeCallableApi.js b/src/api/fee/oweFeeCallableApi.js new file mode 100644 index 0000000..a377f02 --- /dev/null +++ b/src/api/fee/oweFeeCallableApi.js @@ -0,0 +1,120 @@ +import request from '@/utils/request' + +/** + * 获取欠费催缴列表 + * @param {Object} params 查询参数 + * @returns {Promise} + */ +export function listOweFeeCallable(params) { + return new Promise((resolve, reject) => { + request({ + url: '/oweFeeCallable.listOweFeeCallable', + method: 'get', + params + }).then(response => { + const res = response.data + resolve({ + data: res.data, + total: res.total + }) + }).catch(error => { + reject(error) + }) + }) +} + +/** + * 登记欠费催缴 + * @param {Object} data 登记数据 + * @returns {Promise} + */ +export function writeOweFeeCallable(data) { + return new Promise((resolve, reject) => { + request({ + url: '/oweFeeCallable.writeOweFeeCallable', + 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) + }) + }) +} + +/** + * 删除欠费催缴记录 + * @param {Object} data 删除数据 + * @returns {Promise} + */ +export function deleteOweFeeCallable(data) { + return new Promise((resolve, reject) => { + request({ + url: '/oweFeeCallable.deleteOweFeeCallable', + 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) + }) + }) +} + +/** + * 获取欠费催缴详情 + * @param {String} ofcId 催缴ID + * @returns {Promise} + */ +export function getOweFeeCallableDetail(ofcId) { + return new Promise((resolve, reject) => { + request({ + url: '/oweFeeCallable.getOweFeeCallable', + method: 'get', + params: { ofcId } + }).then(response => { + const res = response.data + if (res.code === 0) { + resolve(res.data) + } else { + reject(new Error(res.msg)) + } + }).catch(error => { + reject(error) + }) + }) +} + +/** + * 更新欠费催缴状态 + * @param {Object} data 更新数据 + * @returns {Promise} + */ +export function updateOweFeeCallableState(data) { + return new Promise((resolve, reject) => { + request({ + url: '/oweFeeCallable.updateOweFeeCallableState', + 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/fee/payFeeBatchApi.js b/src/api/fee/payFeeBatchApi.js new file mode 100644 index 0000000..768b0bb --- /dev/null +++ b/src/api/fee/payFeeBatchApi.js @@ -0,0 +1,53 @@ +import request from '@/utils/request' +import { getCommunityId } from '@/api/community/communityApi' + +// 获取费用批次列表 +export function listPayFeeBatch(params) { + return new Promise((resolve, reject) => { + request({ + url: '/payFeeBatch.listPayFeeBatch', + method: 'get', + params: { + ...params, + communityId: getCommunityId() + } + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 申请取消费用批次 +export function applyDeletePayFeeBatch(data) { + return new Promise((resolve, reject) => { + request({ + url: '/payFeeBatch.applyDeletePayFeeBatchCmd', + method: 'post', + data + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 更新费用批次状态 +export function updatePayFeeBatch(data) { + return new Promise((resolve, reject) => { + request({ + url: '/payFeeBatch.updatePayFeeBatch', + method: 'post', + data + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} \ No newline at end of file diff --git a/src/api/fee/staffFeeManageApi.js b/src/api/fee/staffFeeManageApi.js new file mode 100644 index 0000000..78b451f --- /dev/null +++ b/src/api/fee/staffFeeManageApi.js @@ -0,0 +1,33 @@ +import request from '@/utils/request' + +// 获取员工收费列表 +export function getStaffFeeList(params) { + return new Promise((resolve, reject) => { + request({ + url: '/api.getStaffFee', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 导出员工收费数据 +export function exportStaffFee(data) { + return new Promise((resolve, reject) => { + request({ + url: '/callComponent/exportReportFee/exportData', + method: 'post', + data + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} \ No newline at end of file diff --git a/src/components/fee/applyDeleteFeeBatch.vue b/src/components/fee/applyDeleteFeeBatch.vue new file mode 100644 index 0000000..b0cd2f1 --- /dev/null +++ b/src/components/fee/applyDeleteFeeBatch.vue @@ -0,0 +1,111 @@ + + + \ No newline at end of file diff --git a/src/components/fee/audit.vue b/src/components/fee/audit.vue index 86df773..f6496b8 100644 --- a/src/components/fee/audit.vue +++ b/src/components/fee/audit.vue @@ -1,89 +1,106 @@ + + \ No newline at end of file diff --git a/src/components/fee/roomTreeDiv.vue b/src/components/fee/roomTreeDiv.vue new file mode 100644 index 0000000..53015cb --- /dev/null +++ b/src/components/fee/roomTreeDiv.vue @@ -0,0 +1,151 @@ + + + + + \ No newline at end of file diff --git a/src/components/fee/searchFloor.vue b/src/components/fee/searchFloor.vue new file mode 100644 index 0000000..a712ec4 --- /dev/null +++ b/src/components/fee/searchFloor.vue @@ -0,0 +1,187 @@ + + + + + \ No newline at end of file diff --git a/src/components/fee/writeOweFeeCallable.vue b/src/components/fee/writeOweFeeCallable.vue new file mode 100644 index 0000000..a80af33 --- /dev/null +++ b/src/components/fee/writeOweFeeCallable.vue @@ -0,0 +1,97 @@ + + + + + \ No newline at end of file diff --git a/src/i18n/feeI18n.js b/src/i18n/feeI18n.js index 4e79927..d4b985e 100644 --- a/src/i18n/feeI18n.js +++ b/src/i18n/feeI18n.js @@ -17,6 +17,12 @@ import { messages as shareReadingFeeMessages } from '../views/fee/shareReadingFe import { messages as feeComboManageMessages } from '../views/fee/feeComboManageLang' import { messages as payFeeAuditManageMessages } from '../views/fee/payFeeAuditManageLang' import { messages as feeComboMemberManageMessages } from '../views/fee/feeComboMemberManageLang' +import { messages as payFeeBatchMessages } from '../views/fee/payFeeBatchLang' +import { messages as listOweFeeMessages } from '../views/fee/listOweFeeLang' +import { messages as oweFeeCallableMessages } from '../views/fee/oweFeeCallableLang' +import { messages as addOweFeeCallableMessages } from '../views/fee/addOweFeeCallableLang' +import { messages as staffFeeManageMessages } from '../views/fee/staffFeeManageLang' +import { messages as feeSummaryMessages } from '../views/fee/feeSummaryLang' export const messages = { en: { @@ -39,6 +45,12 @@ export const messages = { ...feeComboManageMessages.en, ...payFeeAuditManageMessages.en, ...feeComboMemberManageMessages.en, + ...payFeeBatchMessages.en, + ...listOweFeeMessages.en, + ...oweFeeCallableMessages.en, + ...addOweFeeCallableMessages.en, + ...staffFeeManageMessages.en, + ...feeSummaryMessages.en, }, zh: { ...contractCreateFeeMessages.zh, @@ -60,5 +72,11 @@ export const messages = { ...feeComboManageMessages.zh, ...payFeeAuditManageMessages.zh, ...feeComboMemberManageMessages.zh, + ...payFeeBatchMessages.zh, + ...listOweFeeMessages.zh, + ...oweFeeCallableMessages.zh, + ...addOweFeeCallableMessages.zh, + ...staffFeeManageMessages.zh, + ...feeSummaryMessages.zh, } } \ No newline at end of file diff --git a/src/router/feeRouter.js b/src/router/feeRouter.js index 1a6e0c8..387fab5 100644 --- a/src/router/feeRouter.js +++ b/src/router/feeRouter.js @@ -79,5 +79,35 @@ export default [ name: '/views/fee/feeComboMemberManage', component: () => import('@/views/fee/feeComboMemberManageList.vue') }, + { + path: '/pages/property/payFeeBatch', + name: '/pages/property/payFeeBatch', + component: () => import('@/views/fee/payFeeBatchList.vue') + }, + { + path: '/pages/property/listOweFee', + name: '/pages/property/listOweFee', + component: () => import('@/views/fee/listOweFeeList.vue') + }, + { + path: '/pages/fee/oweFeeCallable', + name: '/pages/fee/oweFeeCallable', + component: () => import('@/views/fee/oweFeeCallableList.vue') + }, + { + path: '/views/fee/addOweFeeCallable', + name: '/views/fee/addOweFeeCallable', + component: () => import('@/views/fee/addOweFeeCallableList.vue') + }, + { + path: '/pages/property/staffFeeManage', + name: '/pages/property/staffFeeManage', + component: () => import('@/views/fee/staffFeeManageList.vue') + }, + { + path: '/pages/property/feeSummary', + name: '/pages/property/feeSummary', + component: () => import('@/views/fee/feeSummaryList.vue') + }, ] \ No newline at end of file diff --git a/src/views/fee/addOweFeeCallableLang.js b/src/views/fee/addOweFeeCallableLang.js new file mode 100644 index 0000000..7aff393 --- /dev/null +++ b/src/views/fee/addOweFeeCallableLang.js @@ -0,0 +1,48 @@ +export const messages = { + en: { + addOweFeeCallable: { + title: 'Collection of Arrears', + callableWay: 'Collection Method', + selectCallableWay: 'Please select collection method', + feeConfigs: 'Collection Fees', + floor: 'Building', + selectFloor: 'Please select building', + timeRange: 'Time Range', + selectTimeRange: 'Please select time range', + startTime: 'Start Time', + selectStartTime: 'Please select start time', + endTime: 'End Time', + selectEndTime: 'Please select end time', + oweRooms: 'Arrears Rooms', + noOweRooms: 'No arrears rooms', + checkAll: 'Select All', + ttsCall: 'Voice Collection', + callableWayRequired: 'Collection method is required', + roomsRequired: 'Please select arrears rooms', + noOweRoomsSelected: 'No arrears rooms selected' + } + }, + zh: { + addOweFeeCallable: { + title: '催缴欠费', + callableWay: '催缴方式', + selectCallableWay: '请选择催缴方式', + feeConfigs: '催缴费用', + floor: '楼栋', + selectFloor: '请选择楼栋', + timeRange: '应收时间段', + selectTimeRange: '请选择应收时间段', + startTime: '开始时间', + selectStartTime: '请选择开始时间', + endTime: '结束时间', + selectEndTime: '请选择结束时间', + oweRooms: '欠费房屋', + noOweRooms: '没有欠费房屋', + checkAll: '全选', + ttsCall: '语音催缴', + callableWayRequired: '催缴方式不能为空', + roomsRequired: '请选择欠费房屋', + noOweRoomsSelected: '未选择欠费房屋' + } + } +} \ No newline at end of file diff --git a/src/views/fee/addOweFeeCallableList.vue b/src/views/fee/addOweFeeCallableList.vue new file mode 100644 index 0000000..9e978d8 --- /dev/null +++ b/src/views/fee/addOweFeeCallableList.vue @@ -0,0 +1,355 @@ + + + + + \ No newline at end of file diff --git a/src/views/fee/feeComboMemberManageList.vue b/src/views/fee/feeComboMemberManageList.vue index 9642b08..115c5d2 100644 --- a/src/views/fee/feeComboMemberManageList.vue +++ b/src/views/fee/feeComboMemberManageList.vue @@ -14,80 +14,34 @@ - - - - - + + + + + - - + + - - + + - + diff --git a/src/views/fee/feeSummaryLang.js b/src/views/fee/feeSummaryLang.js new file mode 100644 index 0000000..b28981d --- /dev/null +++ b/src/views/fee/feeSummaryLang.js @@ -0,0 +1,32 @@ +export const messages = { + en: { + feeSummary: { + title: 'Fee Summary', + day: 'Day', + month: 'Month', + year: 'Year', + time: 'Time', + feeItemId: 'Fee Item ID', + feeItemName: 'Fee Item Name', + receivableAmount: 'Receivable Amount', + receivedAmount: 'Received Amount', + yuan: 'yuan', + fetchError: 'Failed to fetch fee summary data' + } + }, + zh: { + feeSummary: { + title: '缴费汇总表', + day: '日', + month: '月', + year: '年', + time: '时间', + feeItemId: '费用项ID', + feeItemName: '费用项名称', + receivableAmount: '应收金额', + receivedAmount: '实收金额', + yuan: '元', + fetchError: '获取缴费汇总数据失败' + } + } +} \ No newline at end of file diff --git a/src/views/fee/feeSummaryList.vue b/src/views/fee/feeSummaryList.vue new file mode 100644 index 0000000..48debd8 --- /dev/null +++ b/src/views/fee/feeSummaryList.vue @@ -0,0 +1,137 @@ + + + + + \ No newline at end of file diff --git a/src/views/fee/listOweFeeLang.js b/src/views/fee/listOweFeeLang.js new file mode 100644 index 0000000..d381fa3 --- /dev/null +++ b/src/views/fee/listOweFeeLang.js @@ -0,0 +1,92 @@ +export const messages = { + en: { + listOweFee: { + search: { + title: 'Search Conditions', + floorName: 'Please select building', + unit: 'Please select unit', + roomNum: 'Please enter room number', + roomType: 'Please select room type', + ownerName: 'Please enter owner name', + payObjType: 'Please select payment object type', + roomNumFormat: 'Please enter room number, e.g. 1-1-1123', + carportNum: 'Please enter parking space number, e.g. 6-8', + feeConfig: 'Please select fee items' + }, + table: { + title: 'Arrears Information', + index: 'No.', + payerObjName: 'Payment Object', + ownerName: 'Owner Name', + ownerTel: 'Phone Number', + endTime: 'Start Time', + deadlineTime: 'End Time', + total: 'Total (Unit: Yuan)', + updateTime: 'Update Time' + }, + summary: { + subtotal: 'Subtotal', + total: 'Total' + }, + exportSuccess: 'Export initiated successfully', + exportError: 'Export failed' + }, + searchFloor: { + title: 'Building Selection', + floorId: 'Please enter building ID', + floorName: 'Please enter building name', + floorNum: 'Please enter building number', + table: { + floorId: 'Building ID', + floorName: 'Name', + floorNum: 'Number', + userName: 'Creator' + } + } + }, + zh: { + listOweFee: { + search: { + title: '查询条件', + floorName: '请选择楼栋', + unit: '单元', + roomNum: '请填写房屋编号', + roomType: '请选择房屋类型', + ownerName: '请填写业主名称', + payObjType: '请选择付费对象类型', + roomNumFormat: '请填写房屋编号,如1-1-1123', + carportNum: '请填写车位编号,如6-8', + feeConfig: '请选择收费项' + }, + table: { + title: '欠费信息', + index: '序号', + payerObjName: '收费对象', + ownerName: '业主名称', + ownerTel: '手机号', + endTime: '开始时间', + deadlineTime: '结束时间', + total: '合计(单位:元)', + updateTime: '更新时间' + }, + summary: { + subtotal: '小计', + total: '合计' + }, + exportSuccess: '导出成功', + exportError: '导出失败' + }, + searchFloor: { + title: '小区楼栋', + floorId: '请输入楼栋ID', + floorName: '请输入楼栋名称', + floorNum: '请输入楼栋编号', + table: { + floorId: '楼栋ID', + floorName: '名称', + floorNum: '编号', + userName: '创建人' + } + } + } +} \ No newline at end of file diff --git a/src/views/fee/listOweFeeList.vue b/src/views/fee/listOweFeeList.vue new file mode 100644 index 0000000..8bc58c1 --- /dev/null +++ b/src/views/fee/listOweFeeList.vue @@ -0,0 +1,417 @@ + + + + + \ No newline at end of file diff --git a/src/views/fee/meterWaterManageList.vue b/src/views/fee/meterWaterManageList.vue index abb886c..cc58fc1 100644 --- a/src/views/fee/meterWaterManageList.vue +++ b/src/views/fee/meterWaterManageList.vue @@ -223,7 +223,7 @@ export default { padding: 20px; .tree-container { - height: calc(100vh - 120px); + min-height: 450px; overflow-y: auto; background: #fff; padding: 10px; diff --git a/src/views/fee/oweFeeCallableLang.js b/src/views/fee/oweFeeCallableLang.js new file mode 100644 index 0000000..b24b59e --- /dev/null +++ b/src/views/fee/oweFeeCallableLang.js @@ -0,0 +1,106 @@ +export const messages = { + en: { + oweFeeCallable: { + search: { + title: 'Search Conditions', + ownerName: 'Owner Name', + ownerNamePlaceholder: 'Please enter owner name', + feeName: 'Fee Name', + feeNamePlaceholder: 'Please enter fee name', + callableWay: 'Callable Way', + callableWayPlaceholder: 'Please select callable way', + staffName: 'Staff Name', + staffNamePlaceholder: 'Please enter staff name', + state: 'State', + statePlaceholder: 'Please select state' + }, + list: { + title: 'Call Records', + register: 'Register', + call: 'Call' + }, + table: { + id: 'ID', + ownerName: 'Owner Name', + payerObjName: 'Payer Object', + feeName: 'Fee Name', + amountdOwed: 'Amount Owed', + timeRange: 'Time Range', + callableWayName: 'Callable Way', + staffName: 'Staff Name', + stateName: 'State', + remark: 'Remark', + createTime: 'Create Time' + }, + write: { + title: 'Call Registration', + roomName: 'Room', + feeName: 'Call Fees', + remark: 'Remark', + remarkPlaceholder: 'Please enter remark', + success: 'Registration successful', + error: 'Registration failed' + }, + delete: { + title: 'Delete Confirmation', + confirm: 'Are you sure to delete this call record?', + success: 'Delete successful', + error: 'Delete failed' + }, + fetchError: 'Failed to fetch data', + selectRoomFirst: 'Please select a room first' + } + }, + zh: { + oweFeeCallable: { + search: { + title: '查询条件', + ownerName: '业主名称', + ownerNamePlaceholder: '请输入业主名称', + feeName: '费用名称', + feeNamePlaceholder: '请输入费用名称', + callableWay: '催缴方式', + callableWayPlaceholder: '请选择催缴方式', + staffName: '催缴人', + staffNamePlaceholder: '请输入催缴人', + state: '状态', + statePlaceholder: '请选择状态' + }, + list: { + title: '催缴记录', + register: '登记', + call: '催缴' + }, + table: { + id: '编号', + ownerName: '业主名称', + payerObjName: '付费对象', + feeName: '费用名称', + amountdOwed: '催缴金额', + timeRange: '欠费时间段', + callableWayName: '催缴方式', + staffName: '催缴人', + stateName: '状态', + remark: '说明', + createTime: '创建时间' + }, + write: { + title: '催缴登记', + roomName: '登记房屋', + feeName: '催缴费用', + remark: '催缴说明', + remarkPlaceholder: '请输入备注', + success: '登记成功', + error: '登记失败' + }, + delete: { + title: '删除确认', + confirm: '确定删除欠费催缴记录吗?', + success: '删除成功', + error: '删除失败' + }, + fetchError: '获取数据失败', + selectRoomFirst: '请先选择房屋' + } + } +} \ No newline at end of file diff --git a/src/views/fee/oweFeeCallableList.vue b/src/views/fee/oweFeeCallableList.vue new file mode 100644 index 0000000..494f44f --- /dev/null +++ b/src/views/fee/oweFeeCallableList.vue @@ -0,0 +1,256 @@ + + + + + \ No newline at end of file diff --git a/src/views/fee/payFeeBatchLang.js b/src/views/fee/payFeeBatchLang.js new file mode 100644 index 0000000..24bff4c --- /dev/null +++ b/src/views/fee/payFeeBatchLang.js @@ -0,0 +1,150 @@ +export const messages = { + en: { + payFeeBatch: { + search: { + title: 'Search Conditions', + batchId: 'Please enter batch number', + state: 'Please select status', + createUserName: 'Please enter creator' + }, + list: { + title: 'Fee Cancellation' + }, + table: { + batchId: 'Batch Number', + createUserName: 'Employee', + createTime: 'Time', + remark: 'Cancellation Reason', + noRemark: 'None', + stateName: 'Audit Status', + msg: 'Audit Opinion', + operation: 'Operation' + }, + state: { + normal: 'Normal', + applyCancel: 'Apply for Cancellation', + auditPass: 'Audit Passed', + auditFail: 'Audit Failed' + }, + button: { + applyCancel: 'Apply for Cancellation', + audit: 'Audit' + }, + message: { + auditSuccess: 'Audit successful' + } + }, + applyDeleteFeeBatch: { + title: 'Fee Cancellation Application', + form: { + batchId: 'Batch Number', + createUserName: 'Employee', + createTime: 'Creation Time', + remark: 'Cancellation Reason' + }, + rules: { + remarkRequired: 'Cancellation reason cannot be empty' + }, + placeholder: { + remark: 'Please enter the cancellation reason' + }, + message: { + success: 'Cancellation application submitted successfully' + } + }, + audit: { + title: 'Audit Information', + form: { + state: 'Audit Status', + remark: 'Reason' + }, + state: { + agree: 'Agree', + reject: 'Reject' + }, + rules: { + stateRequired: 'Audit status cannot be empty', + remarkRequired: 'Reason cannot be empty', + remarkMaxLength: 'Reason cannot exceed 200 characters' + }, + placeholder: { + state: 'Please audit', + remark: 'Please enter the reason (required)' + } + } + }, + zh: { + payFeeBatch: { + search: { + title: '查询条件', + batchId: '请输入批次号', + state: '请选择状态', + createUserName: '请填写创建员工' + }, + list: { + title: '取消费用' + }, + table: { + batchId: '批次号', + createUserName: '员工', + createTime: '时间', + remark: '取消原因', + noRemark: '无', + stateName: '审核状态', + msg: '审核意见', + operation: '操作' + }, + state: { + normal: '正常', + applyCancel: '申请取消', + auditPass: '审核通过', + auditFail: '审核失败' + }, + button: { + applyCancel: '申请取消', + audit: '审核' + }, + message: { + auditSuccess: '审核成功' + } + }, + applyDeleteFeeBatch: { + title: '费用取消申请', + form: { + batchId: '批次号', + createUserName: '员工', + createTime: '创建时间', + remark: '取消原因' + }, + rules: { + remarkRequired: '取消原因不能为空' + }, + placeholder: { + remark: '请填写取消原因' + }, + message: { + success: '取消申请提交成功' + } + }, + audit: { + title: '审核信息', + form: { + state: '审核状态', + remark: '原因' + }, + state: { + agree: '同意', + reject: '拒绝' + }, + rules: { + stateRequired: '审核状态不能为空', + remarkRequired: '原因内容不能为空', + remarkMaxLength: '原因内容不能超过200字' + }, + placeholder: { + state: '请审核', + remark: '请填写原因(必填)' + } + } + } +} \ No newline at end of file diff --git a/src/views/fee/payFeeBatchList.vue b/src/views/fee/payFeeBatchList.vue new file mode 100644 index 0000000..8a1b7cb --- /dev/null +++ b/src/views/fee/payFeeBatchList.vue @@ -0,0 +1,197 @@ + + + + + \ No newline at end of file diff --git a/src/views/fee/staffFeeManageLang.js b/src/views/fee/staffFeeManageLang.js new file mode 100644 index 0000000..13fed9e --- /dev/null +++ b/src/views/fee/staffFeeManageLang.js @@ -0,0 +1,50 @@ +export const messages = { + en: { + staffFeeManage: { + search: { + title: 'Search Conditions', + userCode: 'Staff Code', + userCodePlaceholder: 'Please enter staff code', + startTime: 'Start Time', + startTimePlaceholder: 'Please select start time', + endTime: 'End Time', + endTimePlaceholder: 'Please select end time' + }, + list: { + title: 'Staff Fee Management' + }, + table: { + userCode: 'Staff Code', + userName: 'Staff Name', + receivableAmount: 'Receivable Amount', + receivedAmount: 'Received Amount', + yuan: 'Yuan' + }, + fetchError: 'Failed to fetch staff fee data' + } + }, + zh: { + staffFeeManage: { + search: { + title: '查询条件', + userCode: '员工编码', + userCodePlaceholder: '请填写员工编码', + startTime: '开始时间', + startTimePlaceholder: '请选择开始时间', + endTime: '结束时间', + endTimePlaceholder: '请选择结束时间' + }, + list: { + title: '员工收费管理' + }, + table: { + userCode: '员工编码', + userName: '员工名称', + receivableAmount: '应收金额', + receivedAmount: '实收金额', + yuan: '元' + }, + fetchError: '获取员工收费数据失败' + } + } +} \ No newline at end of file diff --git a/src/views/fee/staffFeeManageList.vue b/src/views/fee/staffFeeManageList.vue new file mode 100644 index 0000000..3b495bf --- /dev/null +++ b/src/views/fee/staffFeeManageList.vue @@ -0,0 +1,194 @@ + + + + + \ No newline at end of file -- libgit2 0.21.4