From 6ed9faf14d7219f2f823b87a775dfe04f2f1da3f Mon Sep 17 00:00:00 2001 From: wuxw <928255095@qq.com> Date: Sat, 28 Jun 2025 14:44:27 +0800 Subject: [PATCH] 开发完成优惠下的积分功能 --- src/api/scm/communityIntegralApi.js | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/api/scm/goldApi.js | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/api/scm/reserveCatalogManageApi.js | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/components/scm/addReserveCatalog.vue | 143 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/components/scm/applyWithholdGold.vue | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/components/scm/applyWithholdIntegral.vue | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/components/scm/communityIntegralDetail.vue | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/components/scm/deleteApplyWithholdGold.vue | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/components/scm/deleteApplyWithholdIntegral.vue | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/components/scm/deleteReserveCatalog.vue | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/components/scm/editReserveCatalog.vue | 150 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/components/scm/goldDetail.vue | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/components/scm/withholdGold.vue | 168 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/components/scm/withholdIntegral.vue | 185 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/i18n/scmI18n.js | 9 +++++++++ src/router/scmRouter.js | 15 +++++++++++++++ src/views/scm/communityIntegralLang.js | 144 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/scm/communityIntegralList.vue | 179 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/scm/goldLang.js | 126 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/scm/goldList.vue | 185 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/scm/reserveCatalogManageLang.js | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/scm/reserveCatalogManageList.vue | 174 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 22 files changed, 2514 insertions(+), 0 deletions(-) create mode 100644 src/api/scm/communityIntegralApi.js create mode 100644 src/api/scm/goldApi.js create mode 100644 src/api/scm/reserveCatalogManageApi.js create mode 100644 src/components/scm/addReserveCatalog.vue create mode 100644 src/components/scm/applyWithholdGold.vue create mode 100644 src/components/scm/applyWithholdIntegral.vue create mode 100644 src/components/scm/communityIntegralDetail.vue create mode 100644 src/components/scm/deleteApplyWithholdGold.vue create mode 100644 src/components/scm/deleteApplyWithholdIntegral.vue create mode 100644 src/components/scm/deleteReserveCatalog.vue create mode 100644 src/components/scm/editReserveCatalog.vue create mode 100644 src/components/scm/goldDetail.vue create mode 100644 src/components/scm/withholdGold.vue create mode 100644 src/components/scm/withholdIntegral.vue create mode 100644 src/views/scm/communityIntegralLang.js create mode 100644 src/views/scm/communityIntegralList.vue create mode 100644 src/views/scm/goldLang.js create mode 100644 src/views/scm/goldList.vue create mode 100644 src/views/scm/reserveCatalogManageLang.js create mode 100644 src/views/scm/reserveCatalogManageList.vue diff --git a/src/api/scm/communityIntegralApi.js b/src/api/scm/communityIntegralApi.js new file mode 100644 index 0000000..05353e5 --- /dev/null +++ b/src/api/scm/communityIntegralApi.js @@ -0,0 +1,102 @@ +import request from '@/utils/request' +import { getCommunityId } from '@/api/community/communityApi' + +// 查询小区积分信息 +export function queryCommunityIntegral(params) { + return new Promise((resolve, reject) => { + request({ + url: '/mall.getMallOpenApi', + method: 'get', + params: { + ...params, + communityId: getCommunityId(), + mallApiCode: 'queryCommunityIntegralBmoImpl' + } + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询小区积分明细 +export function queryCommunityIntegralDetail(params) { + return new Promise((resolve, reject) => { + request({ + url: '/mall.getMallOpenApi', + method: 'get', + params: { + ...params, + communityId: getCommunityId(), + mallApiCode: 'queryCommunityIntegralDetailBmoImpl' + } + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询积分提现申请 +export function queryCommunityIntegralApply(params) { + return new Promise((resolve, reject) => { + request({ + url: '/mall.getMallOpenApi', + method: 'get', + params: { + ...params, + communityId: getCommunityId(), + mallApiCode: 'queryCommunityIntegralApplyBmoImpl' + } + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 申请积分提现 +export function applyIntegralWithdrawal(data) { + return new Promise((resolve, reject) => { + request({ + url: '/mall.postMallOpenApi', + method: 'post', + data: { + ...data, + communityId: getCommunityId(), + mallApiCode: 'applyIntegralWithdrawalBmoImpl' + } + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 删除积分提现申请 +export function deleteIntegralWithdrawal(data) { + return new Promise((resolve, reject) => { + request({ + url: '/mall.postMallOpenApi', + method: 'post', + data: { + ...data, + communityId: getCommunityId(), + mallApiCode: 'deleteIntegralWithdrawalBmoImpl' + } + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} \ No newline at end of file diff --git a/src/api/scm/goldApi.js b/src/api/scm/goldApi.js new file mode 100644 index 0000000..7182b31 --- /dev/null +++ b/src/api/scm/goldApi.js @@ -0,0 +1,102 @@ +import request from '@/utils/request' +import { getCommunityId } from '@/api/community/communityApi' + +// 获取金币账户信息 +export function getPropertyGoldInfo(params) { + return new Promise((resolve, reject) => { + request({ + url: '/mall.getMallOpenApi', + method: 'get', + params: { + ...params, + communityId: params.communityId || getCommunityId(), + mallApiCode: 'queryPropertyGoldBmoImpl' + } + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 获取金币交易明细 +export function getPropertyGoldDetail(params) { + return new Promise((resolve, reject) => { + request({ + url: '/mall.getMallOpenApi', + method: 'get', + params: { + ...params, + communityId: params.communityId || getCommunityId(), + mallApiCode: 'queryPropertyGoldDetailBmoImpl' + } + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 获取金币提现申请列表 +export function getPropertyGoldApplys(params) { + return new Promise((resolve, reject) => { + request({ + url: '/mall.getMallOpenApi', + method: 'get', + params: { + ...params, + communityId: params.communityId || getCommunityId(), + mallApiCode: 'queryPropertyGoldApplysBmoImpl' + } + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 申请金币提现 +export function applyGoldWithHold(data) { + return new Promise((resolve, reject) => { + request({ + url: '/mall.postMallOpenApi', + method: 'post', + data: { + ...data, + communityId: data.communityId || getCommunityId(), + mallApiCode: 'applyGoldWithHoldBmoImpl' + } + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 删除金币提现申请 +export function deleteGoldWithHold(data) { + return new Promise((resolve, reject) => { + request({ + url: '/mall.postMallOpenApi', + method: 'post', + data: { + ...data, + communityId: data.communityId || getCommunityId(), + mallApiCode: 'deleteGoldWithHoldBmoImpl' + } + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} \ No newline at end of file diff --git a/src/api/scm/reserveCatalogManageApi.js b/src/api/scm/reserveCatalogManageApi.js new file mode 100644 index 0000000..721e91a --- /dev/null +++ b/src/api/scm/reserveCatalogManageApi.js @@ -0,0 +1,78 @@ +import request from '@/utils/request' +import { getCommunityId } from '@/api/community/communityApi' + +// 获取预约目录列表 +export function listReserveCatalog(params) { + return new Promise((resolve, reject) => { + request({ + url: '/reserve.listReserveCatalog', + method: 'get', + params: { + ...params, + communityId: getCommunityId() + } + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 添加预约目录 +export function saveReserveCatalog(data) { + return new Promise((resolve, reject) => { + request({ + url: '/reserve.saveReserveCatalog', + method: 'post', + data: { + ...data, + communityId: getCommunityId() + } + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 更新预约目录 +export function updateReserveCatalog(data) { + return new Promise((resolve, reject) => { + request({ + url: '/reserve.updateReserveCatalog', + method: 'post', + data: { + ...data, + communityId: getCommunityId() + } + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 删除预约目录 +export function deleteReserveCatalog(data) { + return new Promise((resolve, reject) => { + request({ + url: '/reserve.deleteReserveCatalog', + method: 'post', + data: { + ...data, + communityId: getCommunityId() + } + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} \ No newline at end of file diff --git a/src/components/scm/addReserveCatalog.vue b/src/components/scm/addReserveCatalog.vue new file mode 100644 index 0000000..4b01681 --- /dev/null +++ b/src/components/scm/addReserveCatalog.vue @@ -0,0 +1,143 @@ + + + + + + + + + + + + + + + + + + + + + + + + + {{ $t('common.cancel') }} + + + {{ $t('common.confirm') }} + + + + + + \ No newline at end of file diff --git a/src/components/scm/applyWithholdGold.vue b/src/components/scm/applyWithholdGold.vue new file mode 100644 index 0000000..87e13aa --- /dev/null +++ b/src/components/scm/applyWithholdGold.vue @@ -0,0 +1,110 @@ + + + + + + + + + + + + + + + + + + + + {{ $t('common.delete') }} + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/components/scm/applyWithholdIntegral.vue b/src/components/scm/applyWithholdIntegral.vue new file mode 100644 index 0000000..f07b047 --- /dev/null +++ b/src/components/scm/applyWithholdIntegral.vue @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + {{ $t('common.delete') }} + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/components/scm/communityIntegralDetail.vue b/src/components/scm/communityIntegralDetail.vue new file mode 100644 index 0000000..51d7b76 --- /dev/null +++ b/src/components/scm/communityIntegralDetail.vue @@ -0,0 +1,86 @@ + + + + + + + + {{ scope.row.detailType === '1001' ? $t('communityIntegralDetail.transferIn') : + $t('communityIntegralDetail.transferOut') }} + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/components/scm/deleteApplyWithholdGold.vue b/src/components/scm/deleteApplyWithholdGold.vue new file mode 100644 index 0000000..553d6e2 --- /dev/null +++ b/src/components/scm/deleteApplyWithholdGold.vue @@ -0,0 +1,59 @@ + + + + {{ $t('deleteApplyWithholdGold.confirmText') }} + + + {{ $t('common.cancel') }} + + {{ $t('common.confirmDelete') }} + + + + + + \ No newline at end of file diff --git a/src/components/scm/deleteApplyWithholdIntegral.vue b/src/components/scm/deleteApplyWithholdIntegral.vue new file mode 100644 index 0000000..3133964 --- /dev/null +++ b/src/components/scm/deleteApplyWithholdIntegral.vue @@ -0,0 +1,68 @@ + + + + {{ $t('deleteApplyWithholdIntegral.confirmText') }} + + + {{ $t('deleteApplyWithholdIntegral.cancel') }} + + {{ $t('deleteApplyWithholdIntegral.confirmDelete') }} + + + + + + + + \ No newline at end of file diff --git a/src/components/scm/deleteReserveCatalog.vue b/src/components/scm/deleteReserveCatalog.vue new file mode 100644 index 0000000..7356ac9 --- /dev/null +++ b/src/components/scm/deleteReserveCatalog.vue @@ -0,0 +1,80 @@ + + + + {{ $t('reserveCatalogManage.delete.confirmText1') }} + {{ formData.name }} + {{ $t('reserveCatalogManage.delete.confirmText2') }} + + + + {{ $t('common.cancel') }} + + + {{ $t('common.confirm') }} + + + + + + + + \ No newline at end of file diff --git a/src/components/scm/editReserveCatalog.vue b/src/components/scm/editReserveCatalog.vue new file mode 100644 index 0000000..5b2c98d --- /dev/null +++ b/src/components/scm/editReserveCatalog.vue @@ -0,0 +1,150 @@ + + + + + + + + + + + + + + + + + + + + + + + + + {{ $t('common.cancel') }} + + + {{ $t('common.confirm') }} + + + + + + \ No newline at end of file diff --git a/src/components/scm/goldDetail.vue b/src/components/scm/goldDetail.vue new file mode 100644 index 0000000..8696120 --- /dev/null +++ b/src/components/scm/goldDetail.vue @@ -0,0 +1,93 @@ + + + + + + + + {{ scope.row.detailType === '1001' ? $t('goldDetail.transferIn') : $t('goldDetail.transferOut') }} + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/components/scm/withholdGold.vue b/src/components/scm/withholdGold.vue new file mode 100644 index 0000000..6ecf02b --- /dev/null +++ b/src/components/scm/withholdGold.vue @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{ $t('common.cancel') }} + + {{ $t('common.submit') }} + + + + + + + + \ No newline at end of file diff --git a/src/components/scm/withholdIntegral.vue b/src/components/scm/withholdIntegral.vue new file mode 100644 index 0000000..779cf76 --- /dev/null +++ b/src/components/scm/withholdIntegral.vue @@ -0,0 +1,185 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{ $t('common.cancel') }} + + {{ $t('common.submit') }} + + + + + + + + \ No newline at end of file diff --git a/src/i18n/scmI18n.js b/src/i18n/scmI18n.js index 2ade806..33d5343 100644 --- a/src/i18n/scmI18n.js +++ b/src/i18n/scmI18n.js @@ -7,6 +7,9 @@ import { messages as couponPropertyUserDetailMessages } from '../views/scm/coupo import { messages as integralConfigManageMessages } from '../views/scm/integralConfigManageLang' import { messages as integralRuleMessages } from '../views/scm/integralRuleLang' import { messages as integralGiftDetailManageMessages } from '../views/scm/integralGiftDetailManageLang' +import { messages as communityIntegralMessages } from '../views/scm/communityIntegralLang' +import { messages as goldMessages } from '../views/scm/goldLang' +import { messages as reserveCatalogManageMessages } from '../views/scm/reserveCatalogManageLang' export const messages = { en: { @@ -20,6 +23,9 @@ export const messages = { ...integralConfigManageMessages.en, ...integralRuleMessages.en, ...integralGiftDetailManageMessages.en, + ...communityIntegralMessages.en, + ...goldMessages.en, + ...reserveCatalogManageMessages.en, }, zh: { ...couponMarketMessages.zh, @@ -31,5 +37,8 @@ export const messages = { ...integralConfigManageMessages.zh, ...integralRuleMessages.zh, ...integralGiftDetailManageMessages.zh, + ...communityIntegralMessages.zh, + ...goldMessages.zh, + ...reserveCatalogManageMessages.zh, } } \ No newline at end of file diff --git a/src/router/scmRouter.js b/src/router/scmRouter.js index 6e798e4..ac42740 100644 --- a/src/router/scmRouter.js +++ b/src/router/scmRouter.js @@ -44,4 +44,19 @@ export default [ name: '/pages/scm/integralGiftDetailManage', component: () => import('@/views/scm/integralGiftDetailManageList.vue') }, + { + path: '/pages/scm/communityIntegral', + name: '/pages/scm/communityIntegral', + component: () => import('@/views/scm/communityIntegralList.vue') + }, + { + path: '/pages/scm/gold', + name: '/pages/scm/gold', + component: () => import('@/views/scm/goldList.vue') + }, + { + path: '/pages/reserve/reserveCatalogManage', + name: '/pages/reserve/reserveCatalogManage', + component: () => import('@/views/scm/reserveCatalogManageList.vue') + }, ] \ No newline at end of file diff --git a/src/views/scm/communityIntegralLang.js b/src/views/scm/communityIntegralLang.js new file mode 100644 index 0000000..2062e95 --- /dev/null +++ b/src/views/scm/communityIntegralLang.js @@ -0,0 +1,144 @@ +export const messages = { + en: { + communityIntegral: { + title: 'Community Points', + accountId: 'Account ID:', + accountName: 'Account Name:', + points: 'Points:', + withdraw: 'Withdraw', + transactionDetails: 'Transaction Details', + pointsWithdrawal: 'Points Withdrawal' + }, + communityIntegralDetail: { + id: 'ID', + integralAccount: 'Points Account', + type: 'Type', + transferIn: 'Transfer In', + transferOut: 'Transfer Out', + transactionAmount: 'Amount', + currentAmount: 'Balance', + transactionNo: 'Transaction No', + remark: 'Remark', + time: 'Time' + }, + applyWithholdIntegral: { + id: 'ID', + integralId: 'Points ID', + integralName: 'Points Name', + withdrawAmount: 'Amount', + applicant: 'Applicant', + applicantPhone: 'Phone', + bankAccount: 'Bank Account', + accountName: 'Account Name', + bank: 'Bank', + applicationNote: 'Note', + status: 'Status', + reviewNote: 'Review Note' + }, + deleteApplyWithholdIntegral: { + confirmTitle: 'Confirm Operation', + confirmText: 'Are you sure to delete this withdrawal application?', + cancel: 'Cancel', + confirmDelete: 'Confirm Delete', + deleteSuccess: 'Delete successfully', + deleteFailed: 'Delete failed' + }, + withholdIntegral: { + applyWithdraw: 'Apply Withdrawal', + totalPoints: 'Total Points', + withdrawPoints: 'Withdraw Points', + withdrawPointsPlaceholder: 'Required, please enter withdraw points', + withdrawPointsRequired: 'Withdraw points is required', + applicant: 'Applicant', + applicantPlaceholder: 'Required, please enter applicant name', + applicantRequired: 'Applicant is required', + applicantPhone: 'Phone', + applicantPhonePlaceholder: 'Required, please enter phone number', + applicantPhoneRequired: 'Phone is required', + bankAccount: 'Bank Account', + bankAccountPlaceholder: 'Required, please enter bank account', + bankAccountRequired: 'Bank account is required', + accountName: 'Account Name', + accountNamePlaceholder: 'Required, please enter account name', + accountNameRequired: 'Account name is required', + bank: 'Bank', + bankPlaceholder: 'Required, please enter bank name', + bankRequired: 'Bank is required', + applicationNote: 'Note', + applicationNotePlaceholder: 'Required, please enter application note', + applySuccess: 'Apply successfully', + applyFailed: 'Apply failed' + } + }, + zh: { + communityIntegral: { + title: '小区积分', + accountId: '账户ID:', + accountName: '账户名称:', + points: '积分数:', + withdraw: '提现', + transactionDetails: '交易明细', + pointsWithdrawal: '积分提现' + }, + communityIntegralDetail: { + id: '编号', + integralAccount: '金币账户', + type: '类型', + transferIn: '转入', + transferOut: '转出', + transactionAmount: '交易金额', + currentAmount: '当前金额', + transactionNo: '交易单号', + remark: '备注', + time: '时间' + }, + applyWithholdIntegral: { + id: '编号', + integralId: '积分ID', + integralName: '积分名称', + withdrawAmount: '提现金额', + applicant: '申请人', + applicantPhone: '申请人电话', + bankAccount: '银行账户', + accountName: '账号名称', + bank: '开户行', + applicationNote: '申请说明', + status: '状态', + reviewNote: '审核说明' + }, + deleteApplyWithholdIntegral: { + confirmTitle: '请确认您的操作!', + confirmText: '确定删除申请', + cancel: '点错了', + confirmDelete: '确认删除', + deleteSuccess: '删除成功', + deleteFailed: '删除失败' + }, + withholdIntegral: { + applyWithdraw: '申请提现', + totalPoints: '总积分数', + withdrawPoints: '提现积分', + withdrawPointsPlaceholder: '必填,请填写提现积分', + withdrawPointsRequired: '提现积分不能为空', + applicant: '申请人', + applicantPlaceholder: '必填,请填写申请人', + applicantRequired: '申请人不能为空', + applicantPhone: '申请人电话', + applicantPhonePlaceholder: '必填,请填写申请人电话', + applicantPhoneRequired: '申请人电话不能为空', + bankAccount: '银行账户', + bankAccountPlaceholder: '必填,请填写银行账户', + bankAccountRequired: '银行账户不能为空', + accountName: '账号名称', + accountNamePlaceholder: '必填,请填写账号名称', + accountNameRequired: '账号名称不能为空', + bank: '开户行', + bankPlaceholder: '必填,请填写开户行', + bankRequired: '开户行不能为空', + applicationNote: '申请说明', + applicationNotePlaceholder: '必填,请填写申请说明', + applySuccess: '申请成功', + applyFailed: '申请失败' + } + } +} \ No newline at end of file diff --git a/src/views/scm/communityIntegralList.vue b/src/views/scm/communityIntegralList.vue new file mode 100644 index 0000000..5db1205 --- /dev/null +++ b/src/views/scm/communityIntegralList.vue @@ -0,0 +1,179 @@ + + + + + {{ $t('communityIntegral.title') }} + + + + + + + + + {{ $t('communityIntegral.accountId') }} + + {{ communityIntegralInfo.integralId }} + + + + + + {{ $t('communityIntegral.accountName') }} + + {{ communityIntegralInfo.integralName }} + + + + + + {{ $t('communityIntegral.points') }} + + + {{ communityIntegralInfo.amount }} + {{ $t('communityIntegral.withdraw') + }} + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/scm/goldLang.js b/src/views/scm/goldLang.js new file mode 100644 index 0000000..f87e990 --- /dev/null +++ b/src/views/scm/goldLang.js @@ -0,0 +1,126 @@ +export const messages = { + en: { + gold: { + title: 'Community Gold', + withdraw: 'Withdraw', + transactionDetails: 'Transaction Details', + goldWithdrawal: 'Gold Withdrawal' + }, + goldInfo: { + accountId: 'Account ID:', + accountName: 'Account Name:', + accountBalance: 'Account Balance:', + communityName: 'Community Name:' + }, + goldDetail: { + id: 'ID', + goldAccount: 'Gold Account', + type: 'Type', + transferIn: 'Transfer In', + transferOut: 'Transfer Out', + communityName: 'Community Name', + communityId: 'Community ID', + transactionAmount: 'Transaction Amount', + currentAmount: 'Current Amount', + transactionNo: 'Transaction No', + remark: 'Remark', + time: 'Time' + }, + applyWithholdGold: { + id: 'ID', + goldId: 'Gold ID', + accountName: 'Account Name', + communityId: 'Community ID', + withdrawAmount: 'Withdraw Amount', + applicant: 'Applicant', + applicantPhone: 'Applicant Phone', + bankAccount: 'Bank Account', + bankName: 'Bank Name', + applicationNote: 'Application Note', + status: 'Status', + reviewNote: 'Review Note' + }, + deleteApplyWithholdGold: { + confirmTitle: 'Confirm Operation', + confirmText: 'Are you sure to delete this gold withdrawal application?', + deleteSuccess: 'Delete successfully', + deleteFailed: 'Delete failed' + }, + withholdGold: { + applyWithdraw: 'Apply Withdraw', + goldAmount: 'Gold Amount', + withdrawAmount: 'Withdraw Amount', + applicant: 'Applicant', + applicantPhone: 'Applicant Phone', + bankAccount: 'Bank Account', + accountName: 'Account Name', + bankName: 'Bank Name', + applicationNote: 'Application Note', + required: 'Required', + submitSuccess: 'Submit successfully', + submitFailed: 'Submit failed' + } + }, + zh: { + gold: { + title: '小区金币', + withdraw: '提现', + transactionDetails: '交易明细', + goldWithdrawal: '金币提现' + }, + goldInfo: { + accountId: '账户ID:', + accountName: '账户名称:', + accountBalance: '账户余额:', + communityName: '小区名称:' + }, + goldDetail: { + id: '编号', + goldAccount: '金币账户', + type: '类型', + transferIn: '转入', + transferOut: '转出', + communityName: '小区名称', + communityId: '小区编号', + transactionAmount: '交易金额', + currentAmount: '当前金额', + transactionNo: '交易单号', + remark: '备注', + time: '时间' + }, + applyWithholdGold: { + id: '编号', + goldId: '金币ID', + accountName: '账户名称', + communityId: '小区编号', + withdrawAmount: '提现金额', + applicant: '申请人', + applicantPhone: '申请人电话', + bankAccount: '银行账户', + bankName: '开户行', + applicationNote: '申请说明', + status: '状态', + reviewNote: '审核说明' + }, + deleteApplyWithholdGold: { + confirmTitle: '请确认您的操作!', + confirmText: '确定删除金币提现', + deleteSuccess: '删除成功', + deleteFailed: '删除失败' + }, + withholdGold: { + applyWithdraw: '申请提现', + goldAmount: '金币金额', + withdrawAmount: '提现金额', + applicant: '申请人', + applicantPhone: '申请人电话', + bankAccount: '银行账户', + accountName: '账号名称', + bankName: '开户行', + applicationNote: '申请说明', + required: '必填', + submitSuccess: '提交成功', + submitFailed: '提交失败' + } + } +} \ No newline at end of file diff --git a/src/views/scm/goldList.vue b/src/views/scm/goldList.vue new file mode 100644 index 0000000..6e6b6ca --- /dev/null +++ b/src/views/scm/goldList.vue @@ -0,0 +1,185 @@ + + + + + + {{ $t('gold.title') }} + + + + + + + + + + + {{ $t('goldInfo.accountId') }} + + + {{ goldInfo.goldId }} + + + + + + + {{ $t('goldInfo.accountName') }} + + + {{ goldInfo.goldName }} + + + + + + + {{ $t('goldInfo.accountBalance') }} + + + {{ goldInfo.amount }} + + {{ $t('gold.withdraw') }} + + + + + + + + {{ $t('goldInfo.communityName') }} + + + {{ goldInfo.communityName }} + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/scm/reserveCatalogManageLang.js b/src/views/scm/reserveCatalogManageLang.js new file mode 100644 index 0000000..5286d97 --- /dev/null +++ b/src/views/scm/reserveCatalogManageLang.js @@ -0,0 +1,154 @@ +export const messages = { + en: { + reserveCatalogManage: { + search: { + title: 'Search Conditions', + namePlaceholder: 'Please enter name', + typePlaceholder: 'Please select type', + typeOption1: 'Reservation Dining', + typeOption2: 'Reservation Service' + }, + list: { + title: 'Reservation Catalog List' + }, + table: { + type: 'Type', + type1: 'Reservation Dining', + type2: 'Reservation Service', + name: 'Name', + sort: 'Sort', + state: 'Status', + state1: 'Show', + state2: 'Hide', + createTime: 'Create Time' + }, + add: { + title: 'Add Reservation Catalog', + name: 'Name', + namePlaceholder: 'Required, please enter name', + sort: 'Sort', + sortPlaceholder: 'Required, please enter sort', + type: 'Type', + typePlaceholder: 'Required, please select type', + typeOption1: 'Reservation Dining', + typeOption2: 'Reservation Service', + state: 'Status', + statePlaceholder: 'Required, please select status', + stateOption1: 'Show', + stateOption2: 'Hide', + success: 'Add successfully', + error: 'Add failed' + }, + edit: { + title: 'Edit Reservation Catalog', + name: 'Name', + namePlaceholder: 'Required, please enter name', + sort: 'Sort', + sortPlaceholder: 'Required, please enter sort', + type: 'Type', + typePlaceholder: 'Required, please select type', + typeOption1: 'Reservation Dining', + typeOption2: 'Reservation Service', + state: 'Status', + statePlaceholder: 'Required, please select status', + stateOption1: 'Show', + stateOption2: 'Hide', + success: 'Edit successfully', + error: 'Edit failed' + }, + delete: { + title: 'Delete Confirmation', + confirmText1: 'Are you sure to delete the reservation catalog', + confirmText2: '? This operation cannot be undone.', + success: 'Delete successfully', + error: 'Delete failed' + }, + validate: { + nameRequired: 'Name is required', + nameMaxLength: 'Name cannot exceed 128 characters', + sortRequired: 'Sort is required', + sortMaxLength: 'Sort cannot exceed 12 characters', + typeRequired: 'Type is required', + stateRequired: 'Status is required', + catalogIdRequired: 'Catalog ID is required' + }, + fetchError: 'Failed to fetch data' + } + }, + zh: { + reserveCatalogManage: { + search: { + title: '查询条件', + namePlaceholder: '请输入名称', + typePlaceholder: '请选择类型', + typeOption1: '预约就餐', + typeOption2: '预约服务' + }, + list: { + title: '预约目录列表' + }, + table: { + type: '类型', + type1: '预约就餐', + type2: '预约服务', + name: '名称', + sort: '排序', + state: '状态', + state1: '展示', + state2: '不展示', + createTime: '创建时间' + }, + add: { + title: '添加预约目录', + name: '名称', + namePlaceholder: '必填,请输入名称', + sort: '排序', + sortPlaceholder: '必填,请输入排序', + type: '类型', + typePlaceholder: '必填,请选择类型', + typeOption1: '预约就餐', + typeOption2: '预约服务', + state: '状态', + statePlaceholder: '必填,请选择状态', + stateOption1: '展示', + stateOption2: '不展示', + success: '添加成功', + error: '添加失败' + }, + edit: { + title: '修改预约目录', + name: '名称', + namePlaceholder: '必填,请输入名称', + sort: '排序', + sortPlaceholder: '必填,请输入排序', + type: '类型', + typePlaceholder: '必填,请选择类型', + typeOption1: '预约就餐', + typeOption2: '预约服务', + state: '状态', + statePlaceholder: '必填,请选择状态', + stateOption1: '展示', + stateOption2: '不展示', + success: '修改成功', + error: '修改失败' + }, + delete: { + title: '删除确认', + confirmText1: '确定要删除预约目录', + confirmText2: '?此操作不可撤销。', + success: '删除成功', + error: '删除失败' + }, + validate: { + nameRequired: '名称不能为空', + nameMaxLength: '名称不能超过128个字符', + sortRequired: '排序不能为空', + sortMaxLength: '排序不能超过12个字符', + typeRequired: '类型不能为空', + stateRequired: '状态不能为空', + catalogIdRequired: '目录ID不能为空' + }, + fetchError: '获取数据失败' + } + } +} \ No newline at end of file diff --git a/src/views/scm/reserveCatalogManageList.vue b/src/views/scm/reserveCatalogManageList.vue new file mode 100644 index 0000000..976541b --- /dev/null +++ b/src/views/scm/reserveCatalogManageList.vue @@ -0,0 +1,174 @@ + + + + + + {{ $t('reserveCatalogManage.search.title') }} + + + + + + + + + + + + + + {{ $t('common.search') }} + + + + + + + + + {{ $t('reserveCatalogManage.list.title') }} + + {{ $t('common.add') }} + + + + + + + {{ scope.row.type === '1001' ? $t('reserveCatalogManage.table.type1') : + $t('reserveCatalogManage.table.type2') }} + + + + + + + {{ scope.row.state === '1001' ? $t('reserveCatalogManage.table.state1') : + $t('reserveCatalogManage.table.state2') }} + + + + + + + {{ $t('common.edit') }} + + + {{ $t('common.delete') }} + + + + + + + + + + + + + + + + + + \ No newline at end of file -- libgit2 0.21.4
{{ $t('deleteApplyWithholdGold.confirmText') }}
{{ $t('deleteApplyWithholdIntegral.confirmText') }}
{{ $t('reserveCatalogManage.delete.confirmText1') }}
{{ formData.name }}
{{ $t('reserveCatalogManage.delete.confirmText2') }}