From f99ceb4fd18352b5bea8fce2ae96b1d295819c57 Mon Sep 17 00:00:00 2001 From: wuxw <928255095@qq.com> Date: Mon, 30 Jun 2025 19:25:27 +0800 Subject: [PATCH] 收据优化完成 --- src/api/fee/feeReceiptApi.js | 40 ++++++++++++++++++++++++++++++++++++++++ src/api/fee/listApplyRoomDiscountRecordApi.js | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/api/fee/printPayFeeApi.js | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/api/fee/printPayFeeBangTaiApi.js | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ src/api/fee/printSmallPayFeeApi.js | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/components/fee/applyRoomDiscountRecord.vue | 137 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/components/fee/deleteApplyRoomDiscountRecord.vue | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/components/fee/uploadImageUrl.vue | 186 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------------------------------------------- src/components/fee/uploadVedio.vue | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/i18n/feeI18n.js | 15 +++++++++++++++ src/router/feeRouter.js | 17 ++++++++++++++--- src/router/index.js | 35 +++++++++++++++++++++++++---------- src/views/fee/applyRoomDiscountManageList.vue | 2 +- src/views/fee/discountTypeLang.js | 20 -------------------- src/views/fee/feeReceiptLang.js | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/fee/feeReceiptList.vue | 223 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/fee/listApplyRoomDiscountRecordLang.js | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/fee/listApplyRoomDiscountRecordList.vue | 196 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/fee/printPayFeeBangTaiLang.js | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/fee/printPayFeeBangTaiList.vue | 303 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/fee/printPayFeeLang.js | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/fee/printPayFeeList.vue | 292 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/fee/printSmallPayFeeLang.js | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/fee/printSmallPayFeeList.vue | 318 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 24 files changed, 2465 insertions(+), 140 deletions(-) create mode 100644 src/api/fee/feeReceiptApi.js create mode 100644 src/api/fee/listApplyRoomDiscountRecordApi.js create mode 100644 src/api/fee/printPayFeeApi.js create mode 100644 src/api/fee/printPayFeeBangTaiApi.js create mode 100644 src/api/fee/printSmallPayFeeApi.js create mode 100644 src/components/fee/applyRoomDiscountRecord.vue create mode 100644 src/components/fee/deleteApplyRoomDiscountRecord.vue create mode 100644 src/components/fee/uploadVedio.vue create mode 100644 src/views/fee/feeReceiptLang.js create mode 100644 src/views/fee/feeReceiptList.vue create mode 100644 src/views/fee/listApplyRoomDiscountRecordLang.js create mode 100644 src/views/fee/listApplyRoomDiscountRecordList.vue create mode 100644 src/views/fee/printPayFeeBangTaiLang.js create mode 100644 src/views/fee/printPayFeeBangTaiList.vue create mode 100644 src/views/fee/printPayFeeLang.js create mode 100644 src/views/fee/printPayFeeList.vue create mode 100644 src/views/fee/printSmallPayFeeLang.js create mode 100644 src/views/fee/printSmallPayFeeList.vue diff --git a/src/api/fee/feeReceiptApi.js b/src/api/fee/feeReceiptApi.js new file mode 100644 index 0000000..65c0163 --- /dev/null +++ b/src/api/fee/feeReceiptApi.js @@ -0,0 +1,40 @@ +import request from '@/utils/request' +import { getCommunityId } from '@/api/community/communityApi' + +// 查询收据列表 +export function queryFeeReceipt(params) { + return new Promise((resolve, reject) => { + request({ + url: '/feeReceipt/queryFeeReceipt', + method: 'get', + params: { + ...params, + communityId: getCommunityId() + } + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询打印页面配置 +export function listFeePrintPage(params) { + return new Promise((resolve, reject) => { + request({ + url: '/feePrintPage.listFeePrintPage', + method: 'get', + params: { + ...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/listApplyRoomDiscountRecordApi.js b/src/api/fee/listApplyRoomDiscountRecordApi.js new file mode 100644 index 0000000..73c5699 --- /dev/null +++ b/src/api/fee/listApplyRoomDiscountRecordApi.js @@ -0,0 +1,98 @@ +import request from '@/utils/request' +import { getCommunityId } from '@/api/community/communityApi' + +// 查询验房跟踪记录列表 +export function queryApplyRoomDiscountRecord(params) { + return new Promise((resolve, reject) => { + request({ + url: '/applyRoomDiscountRecord/queryApplyRoomDiscountRecord', + method: 'get', + params: { + ...params, + communityId: getCommunityId() + } + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 添加验房跟踪记录 +export function addApplyRoomDiscountRecord(data) { + return new Promise((resolve, reject) => { + request({ + url: '/applyRoomDiscountRecord/addApplyRoomDiscountRecord', + method: 'post', + data: { + ...data, + communityId: getCommunityId() + } + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 删除验房跟踪记录 +export function cutApplyRoomDiscountRecord(params) { + return new Promise((resolve, reject) => { + request({ + url: '/applyRoomDiscountRecord/cutApplyRoomDiscountRecord', + method: 'post', + data: { + ...params, + communityId: getCommunityId() + } + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 上传图片 +export function uploadImage(data) { + return new Promise((resolve, reject) => { + request({ + url: '/uploadImage', + method: 'post', + headers: { + 'Content-Type': 'multipart/form-data' + }, + data + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 上传视频 +export function uploadVedio(data, config) { + return new Promise((resolve, reject) => { + request({ + url: '/uploadVedio', + method: 'post', + headers: { + 'Content-Type': 'multipart/form-data' + }, + data, + ...config + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} \ No newline at end of file diff --git a/src/api/fee/printPayFeeApi.js b/src/api/fee/printPayFeeApi.js new file mode 100644 index 0000000..9c99bb8 --- /dev/null +++ b/src/api/fee/printPayFeeApi.js @@ -0,0 +1,56 @@ +import request from '@/utils/request' +import { getCommunityId } from '@/api/community/communityApi' + +// 查询收费单据 +export function queryFeeReceipt(params) { + return new Promise((resolve, reject) => { + request({ + url: '/feeReceipt/queryFeeReceipt', + method: 'get', + params: { + ...params, + communityId: getCommunityId() + } + }).then(response => { + resolve(response.data) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询收费单据详情 +export function queryFeeReceiptDetail(params) { + return new Promise((resolve, reject) => { + request({ + url: '/feeReceipt/queryFeeReceiptDetail', + method: 'get', + params: { + ...params, + communityId: getCommunityId() + } + }).then(response => { + resolve(response.data) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询打印规范 +export function queryFeePrintSpec(params) { + return new Promise((resolve, reject) => { + request({ + url: '/feePrintSpec/queryFeePrintSpec', + method: 'get', + params: { + ...params, + communityId: getCommunityId() + } + }).then(response => { + resolve(response.data) + }).catch(error => { + reject(error) + }) + }) +} \ No newline at end of file diff --git a/src/api/fee/printPayFeeBangTaiApi.js b/src/api/fee/printPayFeeBangTaiApi.js new file mode 100644 index 0000000..e04b747 --- /dev/null +++ b/src/api/fee/printPayFeeBangTaiApi.js @@ -0,0 +1,49 @@ +import request from '@/utils/request' + +// 查询缴费收据 +export function queryFeeReceipt(params) { + return new Promise((resolve, reject) => { + request({ + url: '/feeReceipt/queryFeeReceipt', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询缴费收据详情 +export function queryFeeReceiptDetail(params) { + return new Promise((resolve, reject) => { + request({ + url: '/feeReceipt/queryFeeReceiptDetail', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询打印规范 +export function queryFeePrintSpec(params) { + return new Promise((resolve, reject) => { + request({ + url: '/feePrintSpec/queryFeePrintSpec', + 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/fee/printSmallPayFeeApi.js b/src/api/fee/printSmallPayFeeApi.js new file mode 100644 index 0000000..217905c --- /dev/null +++ b/src/api/fee/printSmallPayFeeApi.js @@ -0,0 +1,92 @@ +import request from '@/utils/request' +import { getCommunityId } from '@/api/community/communityApi' + +// 查询收据信息 +export function queryFeeReceipt(params) { + return new Promise((resolve, reject) => { + request({ + url: '/feeReceipt/queryFeeReceipt', + method: 'get', + params: { + ...params, + communityId: getCommunityId() + } + }).then(response => { + resolve(response.data) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询收据详情 +export function queryFeeReceiptDetail(params) { + return new Promise((resolve, reject) => { + request({ + url: '/feeReceipt/queryFeeReceiptDetail', + method: 'get', + params: { + ...params, + communityId: getCommunityId() + } + }).then(response => { + resolve(response.data) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询打印规格 +export function queryFeePrintSpec(params) { + return new Promise((resolve, reject) => { + request({ + url: '/feePrintSpec/queryFeePrintSpec', + method: 'get', + params: { + ...params, + communityId: getCommunityId() + } + }).then(response => { + resolve(response.data) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询打印机列表 +export function listMachinePrinter(params) { + return new Promise((resolve, reject) => { + request({ + url: '/printer/listMachinePrinter', + method: 'get', + params: { + ...params, + communityId: getCommunityId() + } + }).then(response => { + resolve(response.data) + }).catch(error => { + reject(error) + }) + }) +} + +// 提交云打印 +export function printPayFeeDetail(data) { + return new Promise((resolve, reject) => { + request({ + url: '/print/printPayFeeDetail', + method: 'post', + data: { + ...data, + communityId: getCommunityId() + } + }).then(response => { + resolve(response.data) + }).catch(error => { + reject(error) + }) + }) +} \ No newline at end of file diff --git a/src/components/fee/applyRoomDiscountRecord.vue b/src/components/fee/applyRoomDiscountRecord.vue new file mode 100644 index 0000000..6e253d5 --- /dev/null +++ b/src/components/fee/applyRoomDiscountRecord.vue @@ -0,0 +1,137 @@ + + + \ No newline at end of file diff --git a/src/components/fee/deleteApplyRoomDiscountRecord.vue b/src/components/fee/deleteApplyRoomDiscountRecord.vue new file mode 100644 index 0000000..086234d --- /dev/null +++ b/src/components/fee/deleteApplyRoomDiscountRecord.vue @@ -0,0 +1,75 @@ + + + + + \ No newline at end of file diff --git a/src/components/fee/uploadImageUrl.vue b/src/components/fee/uploadImageUrl.vue index 5d213c6..6238310 100644 --- a/src/components/fee/uploadImageUrl.vue +++ b/src/components/fee/uploadImageUrl.vue @@ -1,41 +1,46 @@ + + \ No newline at end of file diff --git a/src/i18n/feeI18n.js b/src/i18n/feeI18n.js index 98785bf..3f97d0f 100644 --- a/src/i18n/feeI18n.js +++ b/src/i18n/feeI18n.js @@ -5,6 +5,11 @@ import { messages as returnPayFeeManageMessages } from '../views/fee/returnPayFe import { messages as feeDiscountManageMessages } from '../views/fee/feeDiscountManageLang' import { messages as applyRoomDiscountManageMessages } from '../views/fee/applyRoomDiscountManageLang' import { messages as discountTypeMessages } from '../views/fee/discountTypeLang' +import { messages as listApplyRoomDiscountRecordMessages } from '../views/fee/listApplyRoomDiscountRecordLang' +import { messages as feeReceiptMessages } from '../views/fee/feeReceiptLang' +import { messages as printPayFeeMessages } from '../views/fee/printPayFeeLang' +import { messages as printPayFeeBangTaiMessages } from '../views/fee/printPayFeeBangTaiLang' +import { messages as printSmallPayFeeMessages } from '../views/fee/printSmallPayFeeLang' export const messages = { en: { @@ -15,6 +20,11 @@ export const messages = { ...feeDiscountManageMessages.en, ...applyRoomDiscountManageMessages.en, ...discountTypeMessages.en, + ...listApplyRoomDiscountRecordMessages.en, + ...feeReceiptMessages.en, + ...printPayFeeMessages.en, + ...printPayFeeBangTaiMessages.en, + ...printSmallPayFeeMessages.en, }, zh: { ...contractCreateFeeMessages.zh, @@ -24,5 +34,10 @@ export const messages = { ...feeDiscountManageMessages.zh, ...applyRoomDiscountManageMessages.zh, ...discountTypeMessages.zh, + ...listApplyRoomDiscountRecordMessages.zh, + ...feeReceiptMessages.zh, + ...printPayFeeMessages.zh, + ...printPayFeeBangTaiMessages.zh, + ...printSmallPayFeeMessages.zh, } } \ No newline at end of file diff --git a/src/router/feeRouter.js b/src/router/feeRouter.js index 33c8f00..34f0c91 100644 --- a/src/router/feeRouter.js +++ b/src/router/feeRouter.js @@ -30,8 +30,19 @@ export default [ component: () => import('@/views/fee/applyRoomDiscountManageList.vue') }, { - path:'/views/fee/discountType', - name:'/views/fee/discountType', + path: '/views/fee/discountType', + name: '/views/fee/discountType', component: () => import('@/views/fee/discountTypeList.vue') - }, + }, + { + path: '/views/fee/listApplyRoomDiscountRecord', + name: '/views/fee/listApplyRoomDiscountRecord', + component: () => import('@/views/fee/listApplyRoomDiscountRecordList.vue') + }, + { + path: '/pages/property/feeReceipt', + name: '/pages/property/feeReceipt', + component: () => import('@/views/fee/feeReceiptList.vue') + }, + ] \ No newline at end of file diff --git a/src/router/index.js b/src/router/index.js index 2b0bf14..5b410d6 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -15,7 +15,7 @@ import scmRouter from './scmRouter' import userRouter from './userRouter' import systemRouter from './systemRouter' import communityRouter from './communityRouter' -import workRouter from './workRouter' +import workRouter from './workRouter' import feeRouter from './feeRouter' Vue.use(VueRouter) @@ -31,13 +31,13 @@ const routes = [ name: '/views/index/index', component: () => import('@/views/index/index.vue') }, - + { path: '/pages/frame/changeStaffPwd', name: '/pages/frame/changeStaffPwd', component: () => import('@/views/user/login/updatePwd.vue') }, - + { path: '/pages/frame/orgManage', @@ -68,7 +68,7 @@ const routes = [ component: () => import('@/views/staff/staffDetailList.vue') }, - + { path: '/pages/log/mqttLog', name: '/pages/log/mqttLog', @@ -84,7 +84,7 @@ const routes = [ name: '/pages/frame/registerProtocol', component: () => import('@/views/system/registerProtocolList.vue') }, - + { path: '/views/report/reportCustomComponentRelManage', name: '/views/report/reportCustomComponentRelManage', @@ -100,7 +100,7 @@ const routes = [ name: '/views/report/reportCustomComponentFooterManage', component: () => import('@/views/report/reportCustomComponentFooterManageList.vue') }, - + { path: '/pages/common/communityManage', name: '/pages/common/communityManage', @@ -166,7 +166,7 @@ const routes = [ name: '/pages/owner/adminOwner', component: () => import('@/views/owner/adminOwnerList.vue') }, - + { path: '/pages/owner/adminAuthOwner', name: '/pages/owner/adminAuthOwner', @@ -187,7 +187,7 @@ const routes = [ name: '/pages/fee/adminFeeConfig', component: () => import('@/views/fee/adminFeeConfigList.vue') }, - + { path: '/pages/fee/adminRoomFee', name: '/pages/fee/adminRoomFee', @@ -566,7 +566,7 @@ const routes = [ name: '/views/fee/feeConfigDetail', component: () => import('@/views/fee/feeConfigDetailList.vue') }, - + { path: '/pages/property/carCreateFee', name: '/pages/property/carCreateFee', @@ -621,7 +621,7 @@ const routes = [ path: '/pages/property/repairForceFinishManage', name: '/pages/property/repairForceFinishManage', component: () => import('@/views/work/repairForceFinishManageList.vue') - }, + }, { path: '/pages/property/locationManage', name: '/pages/property/locationManage', @@ -679,6 +679,21 @@ const routes = [ name: '/views/contract/printContract', component: () => import('@/views/contract/printContractList.vue') }, + { + path: '/pages/property/printPayFee', + name: '/pages/property/printPayFee', + component: () => import('@/views/fee/printPayFeeList.vue') + }, + { + path: '/pages/property/printPayFeeBangTai', + name: '/pages/property/printPayFeeBangTai', + component: () => import('@/views/fee/printPayFeeBangTaiList.vue') + }, + { + path:'/pages/property/printSmallPayFee', + name:'/pages/property/printSmallPayFee', + component: () => import('@/views/fee/printSmallPayFeeList.vue') + }, ] const router = new VueRouter({ diff --git a/src/views/fee/applyRoomDiscountManageList.vue b/src/views/fee/applyRoomDiscountManageList.vue index c8753de..cebbc91 100644 --- a/src/views/fee/applyRoomDiscountManageList.vue +++ b/src/views/fee/applyRoomDiscountManageList.vue @@ -231,7 +231,7 @@ export default { }, handleOpenRecord(row) { this.$router.push({ - path: '/pages/property/listApplyRoomDiscountRecord', + path: '/views/fee/listApplyRoomDiscountRecord', query: { ardId: row.ardId, roomId: row.roomId, diff --git a/src/views/fee/discountTypeLang.js b/src/views/fee/discountTypeLang.js index abcedba..1df2288 100644 --- a/src/views/fee/discountTypeLang.js +++ b/src/views/fee/discountTypeLang.js @@ -43,16 +43,6 @@ export const messages = { }, fetchError: 'Failed to fetch discount types' }, - common: { - search: 'Search', - add: 'Add', - edit: 'Edit', - delete: 'Delete', - back: 'Back', - cancel: 'Cancel', - confirm: 'Confirm', - operation: 'Operation' - } }, zh: { discountType: { @@ -98,15 +88,5 @@ export const messages = { }, fetchError: '获取优惠类型失败' }, - common: { - search: '查询', - add: '添加', - edit: '修改', - delete: '删除', - back: '返回', - cancel: '取消', - confirm: '确认', - operation: '操作' - } } } \ No newline at end of file diff --git a/src/views/fee/feeReceiptLang.js b/src/views/fee/feeReceiptLang.js new file mode 100644 index 0000000..ff53057 --- /dev/null +++ b/src/views/fee/feeReceiptLang.js @@ -0,0 +1,70 @@ +export const messages = { + en: { + feeReceipt: { + search: { + title: 'Search Conditions', + receiptId: 'Please enter receipt ID', + roomId: 'Please enter room/carport info, format: building-unit-room, e.g. 1-1-1', + objType: 'Please select fee type', + all: 'All', + houseFee: 'House Fee', + parkingFee: 'Parking Fee', + startTime: 'Please select start time', + endTime: 'Please select end time' + }, + list: { + title: 'Receipt Information' + }, + table: { + receiptId: 'Receipt ID', + receiptCode: 'Receipt Code', + objType: 'Fee Type', + feeName: 'Fee Item', + roomName: 'Room', + payObjName: 'Owner', + carNum: 'Carport', + amount: 'Total Amount(¥)', + createTime: 'Payment Time' + }, + button: { + reprint: 'Reprint Receipt', + reprintSmall: 'Reprint Small Receipt' + }, + fetchError: 'Failed to fetch receipt data' + } + }, + zh: { + feeReceipt: { + search: { + title: '查询条件', + receiptId: '请输入收据ID', + roomId: '请输入房屋或车位信息,格式为楼栋-单元-房屋,如1-1-1', + objType: '请选择收费类型', + all: '全部', + houseFee: '房屋费', + parkingFee: '车位费', + startTime: '请选择开始时间', + endTime: '请选择结束时间' + }, + list: { + title: '收据信息' + }, + table: { + receiptId: '收据ID', + receiptCode: '收据编号', + objType: '费用类型', + feeName: '费用项', + roomName: '房屋', + payObjName: '业主', + carNum: '车位', + amount: '总金额(单位:元)', + createTime: '缴费时间' + }, + button: { + reprint: '补打收据', + reprintSmall: '补打小票' + }, + fetchError: '获取收据数据失败' + } + } +} \ No newline at end of file diff --git a/src/views/fee/feeReceiptList.vue b/src/views/fee/feeReceiptList.vue new file mode 100644 index 0000000..25136bd --- /dev/null +++ b/src/views/fee/feeReceiptList.vue @@ -0,0 +1,223 @@ + + + + + \ No newline at end of file diff --git a/src/views/fee/listApplyRoomDiscountRecordLang.js b/src/views/fee/listApplyRoomDiscountRecordLang.js new file mode 100644 index 0000000..5737571 --- /dev/null +++ b/src/views/fee/listApplyRoomDiscountRecordLang.js @@ -0,0 +1,84 @@ +export const messages = { + en: { + listApplyRoomDiscountRecord: { + title: 'Decoration Tracking Record', + id: 'ID', + room: 'Room', + operator: 'Operator', + createTime: 'Create Time', + status: 'Status', + isViolation: 'Is Violation', + remark: 'Remark', + fetchError: 'Failed to fetch records' + }, + applyRoomDiscountRecord: { + title: 'Inspection Tracking', + room: 'Room', + status: 'Status', + isViolation: 'Is Violation', + selectViolation: 'Please select violation status', + remark: 'Remark', + remarkPlaceholder: 'Please enter remarks', + uploadImages: 'Upload Images', + uploadVideo: 'Upload Video', + violationRequired: 'Violation status is required', + remarkRequired: 'Remark is required' + }, + deleteApplyRoomDiscountRecord: { + title: 'Confirm Operation', + confirmText: 'Are you sure to delete this inspection record?' + }, + uploadImage: { + maxCountError: 'Maximum {count} images can be uploaded', + sizeError: 'Image size cannot exceed 2MB', + uploadFailed: 'Image upload failed' + }, + uploadVedio: { + uploadButton: 'Upload Video', + sizeError: 'Video size cannot exceed 500MB', + uploadSuccess: 'Video uploaded successfully', + uploadFailed: 'Video upload failed' + } + }, + zh: { + listApplyRoomDiscountRecord: { + title: '装修跟踪记录', + id: 'ID', + room: '房屋', + operator: '操作人员', + createTime: '创建时间', + status: '状态', + isViolation: '是否违规', + remark: '备注', + fetchError: '获取记录失败' + }, + applyRoomDiscountRecord: { + title: '验房跟踪', + room: '房屋', + status: '状态', + isViolation: '是否违规', + selectViolation: '请选择是否违规', + remark: '备注', + remarkPlaceholder: '请填写备注', + uploadImages: '上传图片', + uploadVideo: '上传视频', + violationRequired: '是否违规不能为空', + remarkRequired: '备注不能为空' + }, + deleteApplyRoomDiscountRecord: { + title: '请确认您的操作', + confirmText: '确定删除验房记录吗?' + }, + uploadImage: { + maxCountError: '最多只能上传{count}张图片', + sizeError: '图片大小不能超过2MB', + uploadFailed: '图片上传失败' + }, + uploadVedio: { + uploadButton: '上传视频', + sizeError: '视频大小不能超过500MB', + uploadSuccess: '视频上传成功', + uploadFailed: '视频上传失败' + } + } +} \ No newline at end of file diff --git a/src/views/fee/listApplyRoomDiscountRecordList.vue b/src/views/fee/listApplyRoomDiscountRecordList.vue new file mode 100644 index 0000000..de9a343 --- /dev/null +++ b/src/views/fee/listApplyRoomDiscountRecordList.vue @@ -0,0 +1,196 @@ + + + + + \ No newline at end of file diff --git a/src/views/fee/printPayFeeBangTaiLang.js b/src/views/fee/printPayFeeBangTaiLang.js new file mode 100644 index 0000000..eb841bf --- /dev/null +++ b/src/views/fee/printPayFeeBangTaiLang.js @@ -0,0 +1,60 @@ +export const messages = { + en: { + printPayFeeBangTai: { + applyForm: 'Application Form', + receiptForm: 'Receipt Form', + receiptNum: 'Receipt No.', + owner: 'Owner: ', + paymentTime: 'Payment Time: ', + serialNum: 'No.', + feeItem: 'Fee Item', + houseCar: 'House/Car', + feeRange: 'Fee Range', + cycle: 'Cycle', + unitPrice: 'Unit Price/Fixed Fee', + areaUsage: 'Area/Usage', + paymentMethod: 'Payment Method', + amount: 'Amount', + discountAmount: 'Discount Amount', + remark: 'Remark', + to: ' to ', + none: 'None', + capitalRMB: 'Capital RMB', + departmentHead: 'Department Head', + handler: 'Handler', + financialCollection: 'Financial Collection', + customerConfirmation: 'Customer Confirmation', + print: 'Print', + cancel: 'Cancel' + } + }, + zh: { + printPayFeeBangTai: { + applyForm: '申请单', + receiptForm: '收据单', + receiptNum: '单号', + owner: '业主:', + paymentTime: '缴费时间:', + serialNum: '编号', + feeItem: '收费项目', + houseCar: '房屋/车辆', + feeRange: '收费范围', + cycle: '周期', + unitPrice: '单价/固定费', + areaUsage: '面积/用量', + paymentMethod: '支付方式', + amount: '金额', + discountAmount: '优惠金额', + remark: '备注', + to: '至', + none: '无', + capitalRMB: '大写人民币', + departmentHead: '部门负责人', + handler: '经办人', + financialCollection: '财务收款', + customerConfirmation: '客户确认', + print: '打印', + cancel: '取消' + } + } +} \ No newline at end of file diff --git a/src/views/fee/printPayFeeBangTaiList.vue b/src/views/fee/printPayFeeBangTaiList.vue new file mode 100644 index 0000000..fbd4c34 --- /dev/null +++ b/src/views/fee/printPayFeeBangTaiList.vue @@ -0,0 +1,303 @@ + + + + + \ No newline at end of file diff --git a/src/views/fee/printPayFeeLang.js b/src/views/fee/printPayFeeLang.js new file mode 100644 index 0000000..e0d9c95 --- /dev/null +++ b/src/views/fee/printPayFeeLang.js @@ -0,0 +1,60 @@ +export const messages = { + en: { + printPayFee: { + apply: 'Application', + receipt: 'Receipt', + refund: 'Refund', + owner: 'Owner', + receiptNum: 'Receipt No.', + payTime: 'Payment Time', + serialNumber: 'No.', + feeItem: 'Fee Item', + houseCar: 'House/Vehicle', + feeRange: 'Fee Range', + to: 'to', + none: 'None', + unitPrice: 'Unit Price', + areaUsage: 'Area/Usage', + paymentMethod: 'Payment Method', + receivableActual: 'Receivable/Actual', + yuan: 'yuan', + discountAmount: 'Discount Amount', + remark: 'Remark', + capitalRMB: 'Capital RMB', + accountDeduction: 'Account Deduction', + departmentHead: 'Department Head:', + operator: 'Operator', + financeReceipt: 'Finance Receipt:', + customerConfirm: 'Customer Confirm:' + } + }, + zh: { + printPayFee: { + apply: '申请单', + receipt: '收据单', + refund: '退款单', + owner: '业主', + receiptNum: '单号', + payTime: '缴费时间', + serialNumber: '编号', + feeItem: '收费项目', + houseCar: '房屋/车辆', + feeRange: '收费范围', + to: '至', + none: '无', + unitPrice: '单价', + areaUsage: '面积/用量', + paymentMethod: '支付方式', + receivableActual: '应收/实收', + yuan: '元', + discountAmount: '优惠金额', + remark: '备注', + capitalRMB: '大写人民币(元)', + accountDeduction: '账户扣款', + departmentHead: '部门负责人:', + operator: '经办人:', + financeReceipt: '财务收款:', + customerConfirm: '客户确认:' + } + } +} \ No newline at end of file diff --git a/src/views/fee/printPayFeeList.vue b/src/views/fee/printPayFeeList.vue new file mode 100644 index 0000000..08e49bf --- /dev/null +++ b/src/views/fee/printPayFeeList.vue @@ -0,0 +1,292 @@ + + + + + \ No newline at end of file diff --git a/src/views/fee/printSmallPayFeeLang.js b/src/views/fee/printSmallPayFeeLang.js new file mode 100644 index 0000000..a21414a --- /dev/null +++ b/src/views/fee/printSmallPayFeeLang.js @@ -0,0 +1,70 @@ +export const messages = { + en: { + printSmallPayFee: { + receipt: 'Payment Receipt', + receiptNum: 'Receipt No:', + orderNum: 'Order No:', + roomNum: 'Room No', + owner: 'Owner', + time: 'Time', + feeItem: 'Fee Item', + feeRange: 'Fee Range', + to: 'to', + unitPrice: 'Unit Price/Fixed Fee:', + areaUsage: 'Area/Usage:', + paymentMethod: 'Payment Method:', + meterReading: 'Meter Reading:', + amount: 'Amount:', + refund: '(Refund)', + discount: 'Discount Amount:', + remark: 'Remark', + total: 'Total', + issuer: 'Issuer', + print: 'Print', + cloudPrint: 'Cloud Print', + cancel: 'Cancel', + submit: 'Submit', + printer: 'Printer', + printerRequired: 'Required, please select printer', + quantity: 'Quantity', + quantityRequired: 'Required, please enter quantity', + noFee: 'No fee included', + submitSuccess: 'Submitted successfully', + submitFailed: 'Submission failed' + } + }, + zh: { + printSmallPayFee: { + receipt: '缴费收据单', + receiptNum: '收据号:', + orderNum: '订单号:', + roomNum: '房号', + owner: '业主', + time: '时间', + feeItem: '收费项目', + feeRange: '收费范围', + to: '至', + unitPrice: '单价/固定费:', + areaUsage: '面积/用量:', + paymentMethod: '支付方式:', + meterReading: '表读数:', + amount: '金额:', + refund: '(退费)', + discount: '优惠金额:', + remark: '备注', + total: '总计', + issuer: '开票人', + print: '打印', + cloudPrint: '云打印', + cancel: '取消', + submit: '提交', + printer: '打印机', + printerRequired: '必填,请选择打印机', + quantity: '数量', + quantityRequired: '必填,请填写数量', + noFee: '未包含费用', + submitSuccess: '提交成功', + submitFailed: '提交失败' + } + } +} \ No newline at end of file diff --git a/src/views/fee/printSmallPayFeeList.vue b/src/views/fee/printSmallPayFeeList.vue new file mode 100644 index 0000000..5aaa544 --- /dev/null +++ b/src/views/fee/printSmallPayFeeList.vue @@ -0,0 +1,318 @@ + + + + + \ No newline at end of file -- libgit2 0.21.4