diff --git a/src/api/contract/contractDetailApi.js b/src/api/contract/contractDetailApi.js new file mode 100644 index 0000000..b14cbf2 --- /dev/null +++ b/src/api/contract/contractDetailApi.js @@ -0,0 +1,101 @@ +import request from '@/utils/request' + +// 查询合同详情 +export function queryContract(params) { + return new Promise((resolve, reject) => { + request({ + url: '/contract/queryContract', + 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 getContractRooms(params) { + return new Promise((resolve, reject) => { + request({ + url: '/contract/getContractRooms', + 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 getContractFiles(params) { + return new Promise((resolve, reject) => { + request({ + url: '/contract/getContractFiles', + 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 getContractFees(params) { + return new Promise((resolve, reject) => { + request({ + url: '/contract/getContractFees', + 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 getContractHisFees(params) { + return new Promise((resolve, reject) => { + request({ + url: '/contract/getContractHisFees', + 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/contract/contractDetailChangeApi.js b/src/api/contract/contractDetailChangeApi.js new file mode 100644 index 0000000..8a325f2 --- /dev/null +++ b/src/api/contract/contractDetailChangeApi.js @@ -0,0 +1,21 @@ +import request from '@/utils/request' + +// 查询合同变更计划 +export function queryContractChangePlan(params) { + return new Promise((resolve, reject) => { + request({ + url: '/contract/queryContractChangePlan', + 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/contract/contractDetailFeeApi.js b/src/api/contract/contractDetailFeeApi.js new file mode 100644 index 0000000..d3dc0f8 --- /dev/null +++ b/src/api/contract/contractDetailFeeApi.js @@ -0,0 +1,9 @@ +import request from '@/utils/request' + +export function listFee(params) { + return request({ + url: '/fee.listFee', + method: 'get', + params + }) +} \ No newline at end of file diff --git a/src/api/contract/contractDetailFileApi.js b/src/api/contract/contractDetailFileApi.js new file mode 100644 index 0000000..2fc5692 --- /dev/null +++ b/src/api/contract/contractDetailFileApi.js @@ -0,0 +1,9 @@ +import request from '@/utils/request' + +export function queryContractFile(params) { + return request({ + url: '/contractFile/queryContractFile', + method: 'get', + params + }) +} \ No newline at end of file diff --git a/src/api/contract/contractDetailFlowApi.js b/src/api/contract/contractDetailFlowApi.js new file mode 100644 index 0000000..2fbb253 --- /dev/null +++ b/src/api/contract/contractDetailFlowApi.js @@ -0,0 +1,21 @@ +import request from '@/utils/request' + +// 查询工作流审核信息 +export function listWorkflowAuditInfo(params) { + return new Promise((resolve, reject) => { + request({ + url: 'workflow.listWorkflowAuditInfo', + 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/contract/contractDetailHisFeeApi.js b/src/api/contract/contractDetailHisFeeApi.js new file mode 100644 index 0000000..a5e32b9 --- /dev/null +++ b/src/api/contract/contractDetailHisFeeApi.js @@ -0,0 +1,9 @@ +import request from '@/utils/request' + +export function queryFeeDetail(params) { + return request({ + url: '/fee.queryFeeDetail', + method: 'get', + params + }) +} \ No newline at end of file diff --git a/src/api/contract/contractDetailHisRoomFeeApi.js b/src/api/contract/contractDetailHisRoomFeeApi.js new file mode 100644 index 0000000..165ac7c --- /dev/null +++ b/src/api/contract/contractDetailHisRoomFeeApi.js @@ -0,0 +1,21 @@ +import request from '@/utils/request' + +// 查询费用明细 +export function queryFeeDetail(params) { + return new Promise((resolve, reject) => { + request({ + url: '/fee.queryFeeDetail', + 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/contract/contractDetailOwnerApi.js b/src/api/contract/contractDetailOwnerApi.js new file mode 100644 index 0000000..7591234 --- /dev/null +++ b/src/api/contract/contractDetailOwnerApi.js @@ -0,0 +1,20 @@ +import request from '@/utils/request' + +export function queryOwners(params) { + return new Promise((resolve, reject) => { + request({ + url: '/owner.queryOwners', + method: 'get', + params + }).then(response => { + const res = response.data + if (res.code === 0) { + resolve(res) + } else { + reject(new Error(res.msg || '获取业主列表失败')) + } + }).catch(error => { + reject(error) + }) + }) +} \ No newline at end of file diff --git a/src/api/contract/contractDetailReceiptApi.js b/src/api/contract/contractDetailReceiptApi.js new file mode 100644 index 0000000..cbabfe6 --- /dev/null +++ b/src/api/contract/contractDetailReceiptApi.js @@ -0,0 +1,39 @@ +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 + if (res.code === 0) { + resolve(res) + } else { + reject(new Error(res.msg || '获取收据列表失败')) + } + }).catch(error => { + reject(error) + }) + }) +} + +export function listFeePrintPage(params) { + return new Promise((resolve, reject) => { + request({ + url: '/feePrintPage.listFeePrintPage', + 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/contract/contractDetailRoomApi.js b/src/api/contract/contractDetailRoomApi.js new file mode 100644 index 0000000..d627929 --- /dev/null +++ b/src/api/contract/contractDetailRoomApi.js @@ -0,0 +1,20 @@ +import request from '@/utils/request' + +export function queryContractRoom(params) { + return new Promise((resolve, reject) => { + request({ + url: '/contract/queryContractRoom', + 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/contract/contractDetailSubApi.js b/src/api/contract/contractDetailSubApi.js new file mode 100644 index 0000000..90e4004 --- /dev/null +++ b/src/api/contract/contractDetailSubApi.js @@ -0,0 +1,21 @@ +import request from '@/utils/request' + +// 查询合同信息 +export function queryContract(params) { + return new Promise((resolve, reject) => { + request({ + url: '/contract/queryContract', + 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/components/contract/contractDetailChange.vue b/src/components/contract/contractDetailChange.vue new file mode 100644 index 0000000..ad22f56 --- /dev/null +++ b/src/components/contract/contractDetailChange.vue @@ -0,0 +1,149 @@ + + + + + \ No newline at end of file diff --git a/src/components/contract/contractDetailChangeDemo.vue b/src/components/contract/contractDetailChangeDemo.vue new file mode 100644 index 0000000..d4646fb --- /dev/null +++ b/src/components/contract/contractDetailChangeDemo.vue @@ -0,0 +1,26 @@ + + + \ No newline at end of file diff --git a/src/components/contract/contractDetailFee.vue b/src/components/contract/contractDetailFee.vue new file mode 100644 index 0000000..cc42364 --- /dev/null +++ b/src/components/contract/contractDetailFee.vue @@ -0,0 +1,261 @@ + + + + + \ No newline at end of file diff --git a/src/components/contract/contractDetailFeeDemo.vue b/src/components/contract/contractDetailFeeDemo.vue new file mode 100644 index 0000000..364a418 --- /dev/null +++ b/src/components/contract/contractDetailFeeDemo.vue @@ -0,0 +1,23 @@ + + + \ No newline at end of file diff --git a/src/components/contract/contractDetailFile.vue b/src/components/contract/contractDetailFile.vue new file mode 100644 index 0000000..c0298cc --- /dev/null +++ b/src/components/contract/contractDetailFile.vue @@ -0,0 +1,71 @@ + + + + + \ No newline at end of file diff --git a/src/components/contract/contractDetailFileDemo.vue b/src/components/contract/contractDetailFileDemo.vue new file mode 100644 index 0000000..9e00b40 --- /dev/null +++ b/src/components/contract/contractDetailFileDemo.vue @@ -0,0 +1,23 @@ + + + \ No newline at end of file diff --git a/src/components/contract/contractDetailFlow.vue b/src/components/contract/contractDetailFlow.vue new file mode 100644 index 0000000..72f870e --- /dev/null +++ b/src/components/contract/contractDetailFlow.vue @@ -0,0 +1,98 @@ + + + + + \ No newline at end of file diff --git a/src/components/contract/contractDetailFlowDemo.vue b/src/components/contract/contractDetailFlowDemo.vue new file mode 100644 index 0000000..9502288 --- /dev/null +++ b/src/components/contract/contractDetailFlowDemo.vue @@ -0,0 +1,23 @@ + + + \ No newline at end of file diff --git a/src/components/contract/contractDetailHisFee.vue b/src/components/contract/contractDetailHisFee.vue new file mode 100644 index 0000000..d722e97 --- /dev/null +++ b/src/components/contract/contractDetailHisFee.vue @@ -0,0 +1,119 @@ + + + + + \ No newline at end of file diff --git a/src/components/contract/contractDetailHisFeeDemo.vue b/src/components/contract/contractDetailHisFeeDemo.vue new file mode 100644 index 0000000..1a03fc7 --- /dev/null +++ b/src/components/contract/contractDetailHisFeeDemo.vue @@ -0,0 +1,23 @@ + + + \ No newline at end of file diff --git a/src/components/contract/contractDetailHisRoomFee.vue b/src/components/contract/contractDetailHisRoomFee.vue new file mode 100644 index 0000000..7335168 --- /dev/null +++ b/src/components/contract/contractDetailHisRoomFee.vue @@ -0,0 +1,140 @@ + + + + + \ No newline at end of file diff --git a/src/components/contract/contractDetailHisRoomFeeDemo.vue b/src/components/contract/contractDetailHisRoomFeeDemo.vue new file mode 100644 index 0000000..cfa9338 --- /dev/null +++ b/src/components/contract/contractDetailHisRoomFeeDemo.vue @@ -0,0 +1,23 @@ + + + \ No newline at end of file diff --git a/src/components/contract/contractDetailOwner.vue b/src/components/contract/contractDetailOwner.vue new file mode 100644 index 0000000..7c1958c --- /dev/null +++ b/src/components/contract/contractDetailOwner.vue @@ -0,0 +1,216 @@ + + + + + \ No newline at end of file diff --git a/src/components/contract/contractDetailOwnerDemo.vue b/src/components/contract/contractDetailOwnerDemo.vue new file mode 100644 index 0000000..3a79240 --- /dev/null +++ b/src/components/contract/contractDetailOwnerDemo.vue @@ -0,0 +1,23 @@ + + + \ No newline at end of file diff --git a/src/components/contract/contractDetailReceipt.vue b/src/components/contract/contractDetailReceipt.vue new file mode 100644 index 0000000..c7771ca --- /dev/null +++ b/src/components/contract/contractDetailReceipt.vue @@ -0,0 +1,197 @@ + + + + + \ No newline at end of file diff --git a/src/components/contract/contractDetailReceiptDemo.vue b/src/components/contract/contractDetailReceiptDemo.vue new file mode 100644 index 0000000..6600e1f --- /dev/null +++ b/src/components/contract/contractDetailReceiptDemo.vue @@ -0,0 +1,23 @@ + + + \ No newline at end of file diff --git a/src/components/contract/contractDetailRoom.vue b/src/components/contract/contractDetailRoom.vue new file mode 100644 index 0000000..fb3bc95 --- /dev/null +++ b/src/components/contract/contractDetailRoom.vue @@ -0,0 +1,153 @@ + + + + + \ No newline at end of file diff --git a/src/components/contract/contractDetailRoomDemo.vue b/src/components/contract/contractDetailRoomDemo.vue new file mode 100644 index 0000000..15e78ea --- /dev/null +++ b/src/components/contract/contractDetailRoomDemo.vue @@ -0,0 +1,23 @@ + + + \ No newline at end of file diff --git a/src/components/contract/contractDetailSub.vue b/src/components/contract/contractDetailSub.vue new file mode 100644 index 0000000..be7fc86 --- /dev/null +++ b/src/components/contract/contractDetailSub.vue @@ -0,0 +1,146 @@ + + + + + \ No newline at end of file diff --git a/src/components/contract/contractDetailSubDemo.vue b/src/components/contract/contractDetailSubDemo.vue new file mode 100644 index 0000000..ea80dae --- /dev/null +++ b/src/components/contract/contractDetailSubDemo.vue @@ -0,0 +1,23 @@ + + + \ No newline at end of file diff --git a/src/components/owner/ownerDetailRoom.vue b/src/components/owner/ownerDetailRoom.vue index 19218b4..cc73f15 100644 --- a/src/components/owner/ownerDetailRoom.vue +++ b/src/components/owner/ownerDetailRoom.vue @@ -158,8 +158,9 @@ export default { this.ownerDetailRoomInfo.allOweFeeAmount = totalOweFeeAmount.toFixed(2) }, _openAddOwnerRoom() { + console.log(this.ownerDetailRoomInfo.ownerId) this.$router.push({ - path: '/property/addOwnerRoomBinding', + path: '/views/owner/ownerBindRoom', query: { ownerId: this.ownerDetailRoomInfo.ownerId } }) }, diff --git a/src/components/owner/ownerDetailRoomFee.vue b/src/components/owner/ownerDetailRoomFee.vue index d817dd8..c7f730e 100644 --- a/src/components/owner/ownerDetailRoomFee.vue +++ b/src/components/owner/ownerDetailRoomFee.vue @@ -1,22 +1,22 @@ \ No newline at end of file + diff --git a/src/i18n/contractI18n.js b/src/i18n/contractI18n.js index 870198c..34bdac3 100644 --- a/src/i18n/contractI18n.js +++ b/src/i18n/contractI18n.js @@ -8,6 +8,7 @@ import { messages as contractManageMessages } from '../views/contract/contractMa import { messages as contractChangeManageMessages } from '../views/contract/contractChangeManageLang' import { messages as contractChangeDetailMessages } from '../views/contract/contractChangeDetailLang' import { messages as expirationContractManageMessages } from '../views/contract/expirationContractManageLang' +import { messages as contractDetailMessages } from '../views/contract/contractDetailLang.js' export const messages ={ en:{ @@ -21,6 +22,7 @@ export const messages ={ ...contractChangeManageMessages.en, ...contractChangeDetailMessages.en, ...expirationContractManageMessages.en, + ...contractDetailMessages.en, }, zh:{ ...contractTypeManageMessages.zh, @@ -33,5 +35,6 @@ export const messages ={ ...contractChangeManageMessages.zh, ...contractChangeDetailMessages.zh, ...expirationContractManageMessages.zh, - } + ...contractDetailMessages.zh, +} } \ No newline at end of file diff --git a/src/router/contractRouter.js b/src/router/contractRouter.js index 8619be2..6696789 100644 --- a/src/router/contractRouter.js +++ b/src/router/contractRouter.js @@ -44,4 +44,9 @@ export default [ name: '/pages/admin/expirationContractManage', component: () => import('@/views/contract/expirationContractManageList.vue') }, + { + path: '/views/contract/contractDetail', + name: '/views/contract/contractDetail', + component: () => import('@/views/contract/contractDetail.vue') + }, ] \ No newline at end of file diff --git a/src/views/contract/contractDetail.vue b/src/views/contract/contractDetail.vue new file mode 100644 index 0000000..b358af5 --- /dev/null +++ b/src/views/contract/contractDetail.vue @@ -0,0 +1,291 @@ + + + + + \ No newline at end of file diff --git a/src/views/contract/contractDetailChangeLang.js b/src/views/contract/contractDetailChangeLang.js new file mode 100644 index 0000000..cfa26d4 --- /dev/null +++ b/src/views/contract/contractDetailChangeLang.js @@ -0,0 +1,34 @@ +export const messages = { + en: { + contractDetailChange: { + contractName: 'Contract Name', + contractCode: 'Contract Code', + contractType: 'Contract Type', + partyA: 'Party A', + partyB: 'Party B', + changeType: 'Change Type', + changePerson: 'Change Person', + applyTime: 'Apply Time', + description: 'Description', + status: 'Status', + operation: 'Operation', + detail: 'Detail' + } + }, + zh: { + contractDetailChange: { + contractName: '合同名称', + contractCode: '合同编号', + contractType: '合同类型', + partyA: '甲方', + partyB: '乙方', + changeType: '变更类型', + changePerson: '变更人', + applyTime: '申请时间', + description: '说明', + status: '状态', + operation: '操作', + detail: '明细' + } + } +} \ No newline at end of file diff --git a/src/views/contract/contractDetailFeeLang.js b/src/views/contract/contractDetailFeeLang.js new file mode 100644 index 0000000..94e9608 --- /dev/null +++ b/src/views/contract/contractDetailFeeLang.js @@ -0,0 +1,66 @@ +export const messages = { + en: { + contractDetailFee: { + feeItem: 'Fee Item', + feeFlag: 'Fee Flag', + feeType: 'Fee Type', + receivableAmount: 'Receivable Amount', + accountingTime: 'Accounting Time', + receivablePeriod: 'Receivable Period', + description: 'Description', + status: 'Status', + operation: 'Operation', + temporaryFee: 'Temporary Fee', + createFee: 'Create Fee', + payArrears: 'Pay Arrears', + payment: 'Payment', + paymentHistory: 'Payment History', + cancel: 'Cancel', + end: 'End', + change: 'Change', + previousReading: 'Previous Reading', + currentReading: 'Current Reading', + unitPrice: 'Unit Price', + surcharge: 'Surcharge', + usage: 'Usage', + algorithm: 'Algorithm', + fixedFee: 'Fixed Fee', + feeBasedOnActual: 'Fee based on actual situation', + note1: 'Note: "-" means not yet receivable or fee has ended', + note2: 'Receivable amount -1 usually means formula error', + arrearsSubtotal: 'Arrears Subtotal' + } + }, + zh: { + contractDetailFee: { + feeItem: '费用项目', + feeFlag: '费用标识', + feeType: '费用类型', + receivableAmount: '应收金额', + accountingTime: '建账时间', + receivablePeriod: '应收时间段', + description: '说明', + status: '状态', + operation: '操作', + temporaryFee: '临时收费', + createFee: '创建费用', + payArrears: '欠费缴费', + payment: '缴费', + paymentHistory: '缴费历史', + cancel: '取消', + end: '结束', + change: '变更', + previousReading: '上期度数', + currentReading: '本期度数', + unitPrice: '单价', + surcharge: '附加费', + usage: '用量', + algorithm: '算法', + fixedFee: '固定费', + feeBasedOnActual: '费用根据实际情况而定', + note1: '注意:应收结束时间 "-" 表示未到应收时间或收费已结束', + note2: '应收金额为-1一般为费用项公式设置出错请检查', + arrearsSubtotal: '欠费小计' + } + } +} \ No newline at end of file diff --git a/src/views/contract/contractDetailFileLang.js b/src/views/contract/contractDetailFileLang.js new file mode 100644 index 0000000..73682a4 --- /dev/null +++ b/src/views/contract/contractDetailFileLang.js @@ -0,0 +1,12 @@ +export const messages = { + en: { + contractDetailFile: { + relatedFiles: 'Related Files' + } + }, + zh: { + contractDetailFile: { + relatedFiles: '相关附件' + } + } +} \ No newline at end of file diff --git a/src/views/contract/contractDetailFlowLang.js b/src/views/contract/contractDetailFlowLang.js new file mode 100644 index 0000000..211ca7a --- /dev/null +++ b/src/views/contract/contractDetailFlowLang.js @@ -0,0 +1,22 @@ +export const messages = { + en: { + contractDetailFlow: { + serialNumber: 'Serial Number', + processor: 'Processor', + status: 'Status', + processTime: 'Process Time', + timeConsuming: 'Time Consuming', + opinion: 'Opinion' + } + }, + zh: { + contractDetailFlow: { + serialNumber: '序号', + processor: '处理人', + status: '状态', + processTime: '处理时间', + timeConsuming: '耗时', + opinion: '意见' + } + } +} \ No newline at end of file diff --git a/src/views/contract/contractDetailHisFeeLang.js b/src/views/contract/contractDetailHisFeeLang.js new file mode 100644 index 0000000..b2e277f --- /dev/null +++ b/src/views/contract/contractDetailHisFeeLang.js @@ -0,0 +1,36 @@ +export const messages = { + en: { + contractDetailHisFee: { + feeItem: 'Fee Item', + payer: 'Payer', + cycle: 'Cycle(month)', + receivableAmount: 'Receivable/Received(¥)', + paymentMethod: 'Payment Method', + paymentPeriod: 'Payment Period', + paymentTime: 'Payment Time', + cashier: 'Cashier', + status: 'Status', + remark: 'Remark', + operation: 'Operation', + detail: 'Detail', + accountDeduction: 'Account Deduction' + } + }, + zh: { + contractDetailHisFee: { + feeItem: '费用项', + payer: '收费对象', + cycle: '周期(单位:月)', + receivableAmount: '应收/实收(单位:元)', + paymentMethod: '缴费方式', + paymentPeriod: '缴费起始段', + paymentTime: '缴费时间', + cashier: '收银员', + status: '状态', + remark: '备注', + operation: '操作', + detail: '详情', + accountDeduction: '账户扣款' + } + } +} \ No newline at end of file diff --git a/src/views/contract/contractDetailHisRoomFeeLang.js b/src/views/contract/contractDetailHisRoomFeeLang.js new file mode 100644 index 0000000..8a6407c --- /dev/null +++ b/src/views/contract/contractDetailHisRoomFeeLang.js @@ -0,0 +1,36 @@ +export const messages = { + en: { + contractDetailHisRoomFee: { + feeItem: 'Fee Item', + payerObject: 'Payer Object', + cycle: 'Cycle (unit: month)', + receivableAmount: 'Receivable/Received (unit: yuan)', + paymentMethod: 'Payment Method', + paymentPeriod: 'Payment Period', + paymentTime: 'Payment Time', + cashier: 'Cashier', + status: 'Status', + remark: 'Remark', + operation: 'Operation', + detail: 'Detail', + accountDeduction: 'Account Deduction' + } + }, + zh: { + contractDetailHisRoomFee: { + feeItem: '费用项', + payerObject: '收费对象', + cycle: '周期(单位:月)', + receivableAmount: '应收/实收(单位:元)', + paymentMethod: '缴费方式', + paymentPeriod: '缴费起始段', + paymentTime: '缴费时间', + cashier: '收银员', + status: '状态', + remark: '备注', + operation: '操作', + detail: '详情', + accountDeduction: '账户扣款' + } + } +} \ No newline at end of file diff --git a/src/views/contract/contractDetailLang.js b/src/views/contract/contractDetailLang.js new file mode 100644 index 0000000..17a6a7b --- /dev/null +++ b/src/views/contract/contractDetailLang.js @@ -0,0 +1,323 @@ + +export const messages = { + en: { + contractDetail: { + title: 'Contract Information', + contractName: 'Contract Name', + contractCode: 'Contract Code', + contractType: 'Contract Type', + partyA: 'Party A', + partyB: 'Party B', + aContacts: 'Party A Contact', + bContacts: 'Party B Contact', + aLink: 'Party A Phone', + bLink: 'Party B Phone', + operator: 'Operator', + operatorLink: 'Operator Phone', + amount: 'Contract Amount', + startTime: 'Start Time', + endTime: 'End Time', + signingTime: 'Signing Time', + status: 'Status', + parentContract: 'Parent Contract', + room: 'Rooms', + file: 'Attachments', + fee: 'Contract Fees', + hisFee: 'Payment History', + roomFee: 'Room Fees', + hisRoomFee: 'Room Payment History', + ownerInfo: 'Owner Information', + changeLog: 'Change Log', + draftApproval: 'Draft Approval', + subContract: 'Sub Contracts', + receipt: 'Receipt Reprint' + }, + contractDetailRoom: { + addPropertyChange: 'Property Change', + room: 'Room', + floor: 'Floor', + type: 'Type', + area: 'Area', + rent: 'Rent', + roomStatus: 'Room Status', + operation: 'Operation', + businessAcceptance: 'Business Acceptance', + contractArea: 'Contract Area', + searchPlaceholder: 'Please enter room number like 1-1-1' + }, + contractDetailFile: { + relatedFiles: 'Related Files' + }, + contractDetailFee: { + feeItem: 'Fee Item', + feeFlag: 'Fee Flag', + feeType: 'Fee Type', + receivableAmount: 'Receivable Amount', + accountingTime: 'Accounting Time', + receivablePeriod: 'Receivable Period', + description: 'Description', + status: 'Status', + operation: 'Operation', + temporaryFee: 'Temporary Fee', + createFee: 'Create Fee', + payArrears: 'Pay Arrears', + payment: 'Payment', + paymentHistory: 'Payment History', + cancel: 'Cancel', + end: 'End', + change: 'Change', + previousReading: 'Previous Reading', + currentReading: 'Current Reading', + unitPrice: 'Unit Price', + surcharge: 'Surcharge', + usage: 'Usage', + algorithm: 'Algorithm', + fixedFee: 'Fixed Fee', + feeBasedOnActual: 'Fee based on actual situation', + note1: 'Note: "-" means not yet receivable or fee has ended', + note2: 'Receivable amount -1 usually means formula error', + arrearsSubtotal: 'Arrears Subtotal' + }, + contractDetailHisFee: { + feeItem: 'Fee Item', + payer: 'Payer', + cycle: 'Cycle(month)', + receivableAmount: 'Receivable/Received(¥)', + paymentMethod: 'Payment Method', + paymentPeriod: 'Payment Period', + paymentTime: 'Payment Time', + cashier: 'Cashier', + status: 'Status', + remark: 'Remark', + operation: 'Operation', + detail: 'Detail', + accountDeduction: 'Account Deduction' + }, + contractDetailHisRoomFee: { + feeItem: 'Fee Item', + payerObject: 'Payer Object', + cycle: 'Cycle (unit: month)', + receivableAmount: 'Receivable/Received (unit: yuan)', + paymentMethod: 'Payment Method', + paymentPeriod: 'Payment Period', + paymentTime: 'Payment Time', + cashier: 'Cashier', + status: 'Status', + remark: 'Remark', + operation: 'Operation', + detail: 'Detail', + accountDeduction: 'Account Deduction' + }, + + contractDetailFlow: { + serialNumber: 'Serial Number', + processor: 'Processor', + status: 'Status', + processTime: 'Process Time', + timeConsuming: 'Time Consuming', + opinion: 'Opinion' + }, + contractDetailSub: { + contractName: 'Contract Name', + contractCode: 'Contract Code', + parentContractCode: 'Parent Contract Code', + contractType: 'Contract Type', + operator: 'Operator', + contractAmount: 'Contract Amount', + contractPartyB: 'Contract Party B', + validityPeriod: 'Validity Period', + draftTime: 'Draft Time', + status: 'Status', + operation: 'Operation', + view: 'View' + }, + contractDetailOwner: { + ownerFace: 'Owner Face', + name: 'Name', + sex: 'Sex', + idCard: 'ID Card', + address: 'Address', + roomCount: 'Room Count', + memberCount: 'Member Count', + carCount: 'Car Count', + complaintCount: 'Complaint', + repairCount: 'Repair', + oweFee: 'Owe Fee', + contractCount: 'Contract' + }, + contractDetailReceipt: { + feeType: 'Fee Type', + owner: 'Owner', + feeItem: 'Fee Item', + feePeriod: 'Fee Period', + totalAmount: 'Total Amount', + payTime: 'Pay Time', + receiptId: 'Receipt ID', + print: 'Print', + printSmall: 'Print Small', + printApply: 'Apply', + selectPrintReceipt: 'Please select receipt to print', + selectPrint: 'Please select' + }, + }, + zh: { + contractDetail: { + title: '合同信息', + contractName: '合同名称', + contractCode: '合同编号', + contractType: '合同类型', + partyA: '甲方', + partyB: '乙方', + aContacts: '甲方联系人', + bContacts: '乙方联系人', + aLink: '甲方联系电话', + bLink: '乙方联系电话', + operator: '经办人', + operatorLink: '联系电话', + amount: '合同金额', + startTime: '开始时间', + endTime: '结束时间', + signingTime: '签订时间', + status: '状态', + parentContract: '父合同', + room: '房屋', + file: '附件', + fee: '合同费用', + hisFee: '合同缴费记录', + roomFee: '房屋费用', + hisRoomFee: '房屋缴费记录', + ownerInfo: '业主信息', + changeLog: '变更记录', + draftApproval: '起草审批', + subContract: '子合同', + receipt: '补打收据' + }, + contractDetailRoom: { + addPropertyChange: '房产变更', + room: '房屋', + floor: '楼层', + type: '类型', + area: '面积', + rent: '租金', + roomStatus: '房屋状态', + operation: '操作', + businessAcceptance: '业务受理', + contractArea: '合同面积', + searchPlaceholder: '请输入房屋编号 楼栋-单元-房屋 如1-1-1' + }, + contractDetailFile: { + relatedFiles: '相关附件' + }, + contractDetailFee: { + feeItem: '费用项目', + feeFlag: '费用标识', + feeType: '费用类型', + receivableAmount: '应收金额', + accountingTime: '建账时间', + receivablePeriod: '应收时间段', + description: '说明', + status: '状态', + operation: '操作', + temporaryFee: '临时收费', + createFee: '创建费用', + payArrears: '欠费缴费', + payment: '缴费', + paymentHistory: '缴费历史', + cancel: '取消', + end: '结束', + change: '变更', + previousReading: '上期度数', + currentReading: '本期度数', + unitPrice: '单价', + surcharge: '附加费', + usage: '用量', + algorithm: '算法', + fixedFee: '固定费', + feeBasedOnActual: '费用根据实际情况而定', + note1: '注意:应收结束时间 "-" 表示未到应收时间或收费已结束', + note2: '应收金额为-1一般为费用项公式设置出错请检查', + arrearsSubtotal: '欠费小计' + }, + contractDetailHisFee: { + feeItem: '费用项', + payer: '收费对象', + cycle: '周期(单位:月)', + receivableAmount: '应收/实收(单位:元)', + paymentMethod: '缴费方式', + paymentPeriod: '缴费起始段', + paymentTime: '缴费时间', + cashier: '收银员', + status: '状态', + remark: '备注', + operation: '操作', + detail: '详情', + accountDeduction: '账户扣款' + }, + contractDetailHisRoomFee: { + feeItem: '费用项', + payerObject: '收费对象', + cycle: '周期(单位:月)', + receivableAmount: '应收/实收(单位:元)', + paymentMethod: '缴费方式', + paymentPeriod: '缴费起始段', + paymentTime: '缴费时间', + cashier: '收银员', + status: '状态', + remark: '备注', + operation: '操作', + detail: '详情', + accountDeduction: '账户扣款' + }, + + contractDetailFlow: { + serialNumber: '序号', + processor: '处理人', + status: '状态', + processTime: '处理时间', + timeConsuming: '耗时', + opinion: '意见' + }, + contractDetailSub: { + contractName: '合同名称', + contractCode: '合同编号', + parentContractCode: '父合同编号', + contractType: '合同类型', + operator: '经办人', + contractAmount: '合同金额', + contractPartyB: '合同乙方', + validityPeriod: '有效期', + draftTime: '起草时间', + status: '状态', + operation: '操作', + view: '查看' + }, + contractDetailOwner: { + ownerFace: '业主人脸', + name: '姓名', + sex: '性别', + idCard: '身份证', + address: '家庭住址', + roomCount: '房屋数', + memberCount: '业主成员', + carCount: '车辆数', + complaintCount: '投诉', + repairCount: '报修', + oweFee: '欠费', + contractCount: '业主合同' + }, + contractDetailReceipt: { + feeType: '费用类型', + owner: '业主', + feeItem: '费用项目', + feePeriod: '收费时间段', + totalAmount: '总金额', + payTime: '缴费时间', + receiptId: '收据ID', + print: '打印', + printSmall: '打印小票', + printApply: '申请单', + selectPrintReceipt: '请选择打印收据', + selectPrint: '请选择' + }, + } +} \ No newline at end of file diff --git a/src/views/contract/contractDetailOwnerLang.js b/src/views/contract/contractDetailOwnerLang.js new file mode 100644 index 0000000..6b21e42 --- /dev/null +++ b/src/views/contract/contractDetailOwnerLang.js @@ -0,0 +1,34 @@ +export const messages = { + en: { + contractDetailOwner: { + ownerFace: 'Owner Face', + name: 'Name', + sex: 'Sex', + idCard: 'ID Card', + address: 'Address', + roomCount: 'Room Count', + memberCount: 'Member Count', + carCount: 'Car Count', + complaintCount: 'Complaint', + repairCount: 'Repair', + oweFee: 'Owe Fee', + contractCount: 'Contract' + } + }, + zh: { + contractDetailOwner: { + ownerFace: '业主人脸', + name: '姓名', + sex: '性别', + idCard: '身份证', + address: '家庭住址', + roomCount: '房屋数', + memberCount: '业主成员', + carCount: '车辆数', + complaintCount: '投诉', + repairCount: '报修', + oweFee: '欠费', + contractCount: '业主合同' + } + } +} \ No newline at end of file diff --git a/src/views/contract/contractDetailReceiptLang.js b/src/views/contract/contractDetailReceiptLang.js new file mode 100644 index 0000000..7e6cb56 --- /dev/null +++ b/src/views/contract/contractDetailReceiptLang.js @@ -0,0 +1,34 @@ +export const messages = { + en: { + contractDetailReceipt: { + feeType: 'Fee Type', + owner: 'Owner', + feeItem: 'Fee Item', + feePeriod: 'Fee Period', + totalAmount: 'Total Amount', + payTime: 'Pay Time', + receiptId: 'Receipt ID', + print: 'Print', + printSmall: 'Print Small', + printApply: 'Apply', + selectPrintReceipt: 'Please select receipt to print', + selectPrint: 'Please select' + } + }, + zh: { + contractDetailReceipt: { + feeType: '费用类型', + owner: '业主', + feeItem: '费用项目', + feePeriod: '收费时间段', + totalAmount: '总金额', + payTime: '缴费时间', + receiptId: '收据ID', + print: '打印', + printSmall: '打印小票', + printApply: '申请单', + selectPrintReceipt: '请选择打印收据', + selectPrint: '请选择' + } + } +} \ No newline at end of file diff --git a/src/views/contract/contractDetailRoomLang.js b/src/views/contract/contractDetailRoomLang.js new file mode 100644 index 0000000..ce81b51 --- /dev/null +++ b/src/views/contract/contractDetailRoomLang.js @@ -0,0 +1,32 @@ +export const messages = { + en: { + contractDetailRoom: { + addPropertyChange: 'Property Change', + room: 'Room', + floor: 'Floor', + type: 'Type', + area: 'Area', + rent: 'Rent', + roomStatus: 'Room Status', + operation: 'Operation', + businessAcceptance: 'Business Acceptance', + contractArea: 'Contract Area', + searchPlaceholder: 'Please enter room number like 1-1-1' + } + }, + zh: { + contractDetailRoom: { + addPropertyChange: '房产变更', + room: '房屋', + floor: '楼层', + type: '类型', + area: '面积', + rent: '租金', + roomStatus: '房屋状态', + operation: '操作', + businessAcceptance: '业务受理', + contractArea: '合同面积', + searchPlaceholder: '请输入房屋编号 楼栋-单元-房屋 如1-1-1' + } + } +} \ No newline at end of file diff --git a/src/views/contract/contractDetailSubLang.js b/src/views/contract/contractDetailSubLang.js new file mode 100644 index 0000000..478c8c2 --- /dev/null +++ b/src/views/contract/contractDetailSubLang.js @@ -0,0 +1,34 @@ +export const messages = { + en: { + contractDetailSub: { + contractName: 'Contract Name', + contractCode: 'Contract Code', + parentContractCode: 'Parent Contract Code', + contractType: 'Contract Type', + operator: 'Operator', + contractAmount: 'Contract Amount', + contractPartyB: 'Contract Party B', + validityPeriod: 'Validity Period', + draftTime: 'Draft Time', + status: 'Status', + operation: 'Operation', + view: 'View' + } + }, + zh: { + contractDetailSub: { + contractName: '合同名称', + contractCode: '合同编号', + parentContractCode: '父合同编号', + contractType: '合同类型', + operator: '经办人', + contractAmount: '合同金额', + contractPartyB: '合同乙方', + validityPeriod: '有效期', + draftTime: '起草时间', + status: '状态', + operation: '操作', + view: '查看' + } + } +} \ No newline at end of file diff --git a/src/views/contract/contractManageList.vue b/src/views/contract/contractManageList.vue index c1f5362..6b83d4b 100644 --- a/src/views/contract/contractManageList.vue +++ b/src/views/contract/contractManageList.vue @@ -230,7 +230,7 @@ export default { }, viewContract(contract) { this.$router.push({ - path: '/contract/contractDetail', + path: '/views/contract/contractDetail', query: { contractId: contract.contractId } diff --git a/src/views/owner/ownerDetail.vue b/src/views/owner/ownerDetail.vue index 472ea75..6d4f6c7 100644 --- a/src/views/owner/ownerDetail.vue +++ b/src/views/owner/ownerDetail.vue @@ -147,7 +147,7 @@ - + @@ -260,7 +260,8 @@ export default { queryOwners(params).then(response => { const data = response.data[0] Object.assign(this.ownerDetailInfo, data) - this.ownerDetailInfo.ownerAttrDtos = response.owners[0].ownerAttrDtos + this.ownerDetailInfo.ownerAttrDtos = data.ownerAttrDtos + this.changeTab(this.ownerDetailInfo._currentTab) }).catch(error => { console.error('Failed to load owner info:', error) })