From 97a1cfa5e86718c0fc68f11e59e728339f5b26a1 Mon Sep 17 00:00:00 2001
From: GhubCy <96762949+GhubCy@users.noreply.github.com>
Date: Fri, 30 May 2025 20:20:07 +0800
Subject: [PATCH] =?UTF-8?q?=E9=99=90=E9=A2=9D=E7=9B=B8=E5=85=B3=E4=BF=AE?=
=?UTF-8?q?=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/business/walletLimitConfig.js | 44 ++
src/languages/en.js | 290 +++++-----
src/languages/zh.js | 44 +-
.../business/walletLimitConfig/index.vue | 512 ++++++++++++++++++
4 files changed, 765 insertions(+), 125 deletions(-)
create mode 100644 src/api/business/walletLimitConfig.js
create mode 100644 src/views/business/walletLimitConfig/index.vue
diff --git a/src/api/business/walletLimitConfig.js b/src/api/business/walletLimitConfig.js
new file mode 100644
index 0000000..2c59630
--- /dev/null
+++ b/src/api/business/walletLimitConfig.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询钱包限制配置列表
+export function listWalletLimitConfig(query) {
+ return request({
+ url: '/business/walletLimitConfig/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 查询钱包限制配置详细
+export function getWalletLimitConfig(id) {
+ return request({
+ url: '/business/walletLimitConfig/' + id,
+ method: 'get'
+ })
+}
+
+// 新增钱包限制配置
+export function addWalletLimitConfig(data) {
+ return request({
+ url: '/business/walletLimitConfig',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改钱包限制配置
+export function updateWalletLimitConfig(data) {
+ return request({
+ url: '/business/walletLimitConfig',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除钱包限制配置
+export function delWalletLimitConfig(id) {
+ return request({
+ url: '/business/walletLimitConfig/' + id,
+ method: 'delete'
+ })
+}
diff --git a/src/languages/en.js b/src/languages/en.js
index da49bbd..0a6f01a 100644
--- a/src/languages/en.js
+++ b/src/languages/en.js
@@ -135,7 +135,9 @@ export default {
'代理管理': 'Agent Management',
'代理商注册': 'Agent Registration',
'代理商信息': 'Agent Information',
- '代理商认证': 'Agent Certification'
+ '代理商认证': 'Agent Certification',
+ '限额配置': 'Limit the allocation',
+ '钱包限额': 'Wallet limits',
},
system: {
common: {},
@@ -182,12 +184,12 @@ export default {
business: {
financial: {
financialRecord: {
- orderIdLabel : 'Order ID',
+ orderIdLabel: 'Order ID',
amountLabel: 'Amount',
currencyLabel: 'Currency Unit',
descriptionLabel: 'Description Information',
inputAmount: 'Please enter the amount',
- inputContent : 'Please enter the description information',
+ inputContent: 'Please enter the description information',
inputUserId: 'Please enter the user ID',
inputOrderId: 'Please enter the relevant order ID',
inputCurrency: 'Please enter the currency unit',
@@ -346,9 +348,9 @@ export default {
actionTypeRequired: 'The action type cannot be empty',
riskIdMustNumber: 'The risk ID must be a number',
fromId: 'Source ID',
- notifyUser:'Notify User',
- pauseAndContact:'Pause and Contact',
- enhanceAuth:'Enhanced Authentication',
+ notifyUser: 'Notify User',
+ pauseAndContact: 'Pause and Contact',
+ enhanceAuth: 'Enhanced Authentication',
},
userBehaviorRuleRisk: {
ruleName: 'Rule Name',
@@ -375,7 +377,7 @@ export default {
triggerCondition: 'Trigger Condition',
ruleNameLabel: 'Rule Name',
priorityLabel: 'Rule Priority',
- descriptionLabel : 'Rule Description',
+ descriptionLabel: 'Rule Description',
isEnabledLabel: 'Is Enabled',
}
@@ -397,130 +399,130 @@ export default {
addTitle: 'Add User Behavior Statistical Aggregation',
editTitle: 'Edit User Behavior Statistical Aggregation',
detailTitle: 'User Behavior Statistical Aggregation Details',
- dimensionTypeLabel : "Dimension Type",
- realNameAuth : "Real - Name Authentication",
- visitPage : "Visit Page",
- clickOperation : "Click Operation",
- logout : "Log Out",
- payment : "Payment",
- login : "Log In"
+ dimensionTypeLabel: 'Dimension Type',
+ realNameAuth: 'Real - Name Authentication',
+ visitPage: 'Visit Page',
+ clickOperation: 'Click Operation',
+ logout: 'Log Out',
+ payment: 'Payment',
+ login: 'Log In'
},
userBehaviorLog: {
- idLabel: "ID",
- userNameLabel: "User Name",
- uaLabel: "User Agent",
- behaviorLog: "User Behavior Log",
- userIdLabel: "User ID",
- userIdPlaceholder: "Please enter the user ID",
- ipLabel: "IP Address",
- ipPlaceholder: "Please enter the IP address",
- behaviorTypeLabel: "Behavior Type",
- behaviorTypePlaceholder: "Please select the behavior type",
- deviceTypeLabel: "Device Type",
- deviceTypePlaceholder: "Please select the device type",
- platformLabel: "Platform Type",
- platformPlaceholder: "Please select the platform type",
- operationLabel: "Operation",
- addTitle: "Add User Behavior Log",
- editTitle: "Edit User Behavior Log",
- detailUserIdLabel: "User ID",
- detailUserNameLabel: "User Name",
- detailIpLabel: "IP Address",
- detailUaLabel: "User Agent",
- detailBehaviorTypeLabel: "Behavior Type",
- detailDeviceTypeLabel: "Device Type",
- detailPlatformLabel: "Platform Type",
- userIdRequired: "The user ID cannot be empty",
- userIdMustNumber: "The user ID must be a number",
- loginLabel: "Log In",
- paymentLabel: "Payment",
- realNameAuthLabel: "Real - Name Authentication",
- clickOperationLabel: "Click Operation",
- visitPageLabel: "Visit Page",
- logoutLabel: "Log Out",
- mobileDeviceLabel: "Mobile Device",
- tabletDeviceLabel: "Tablet Device"
+ idLabel: 'ID',
+ userNameLabel: 'User Name',
+ uaLabel: 'User Agent',
+ behaviorLog: 'User Behavior Log',
+ userIdLabel: 'User ID',
+ userIdPlaceholder: 'Please enter the user ID',
+ ipLabel: 'IP Address',
+ ipPlaceholder: 'Please enter the IP address',
+ behaviorTypeLabel: 'Behavior Type',
+ behaviorTypePlaceholder: 'Please select the behavior type',
+ deviceTypeLabel: 'Device Type',
+ deviceTypePlaceholder: 'Please select the device type',
+ platformLabel: 'Platform Type',
+ platformPlaceholder: 'Please select the platform type',
+ operationLabel: 'Operation',
+ addTitle: 'Add User Behavior Log',
+ editTitle: 'Edit User Behavior Log',
+ detailUserIdLabel: 'User ID',
+ detailUserNameLabel: 'User Name',
+ detailIpLabel: 'IP Address',
+ detailUaLabel: 'User Agent',
+ detailBehaviorTypeLabel: 'Behavior Type',
+ detailDeviceTypeLabel: 'Device Type',
+ detailPlatformLabel: 'Platform Type',
+ userIdRequired: 'The user ID cannot be empty',
+ userIdMustNumber: 'The user ID must be a number',
+ loginLabel: 'Log In',
+ paymentLabel: 'Payment',
+ realNameAuthLabel: 'Real - Name Authentication',
+ clickOperationLabel: 'Click Operation',
+ visitPageLabel: 'Visit Page',
+ logoutLabel: 'Log Out',
+ mobileDeviceLabel: 'Mobile Device',
+ tabletDeviceLabel: 'Tablet Device'
}
},
customerSupport: {
faq: {
- questionDesc: "Question Description",
- enterQuestionDesc: "Please enter the question description",
- answerContent: "Answer Content",
- enterAnswerContent: "Please enter the answer content",
- category: "Category",
- selectCategory: "Please select the category",
- status: "Status",
- selectStatus: "Please select the status",
- search: "Search",
- reset: "Reset",
- add: "Add",
- edit: "Edit",
- delete: "Delete",
- export: "Export",
- id: "ID",
- detail: "Details",
- addTitle: "Add Frequently Asked Questions and Answers",
- editTitle: "Edit Frequently Asked Questions and Answers",
- detailTitle: "Frequently Asked Questions and Answers Details",
- confirm: "Confirm",
- cancel: "Cancel",
- close: "Close",
- categoryPayment: "Payment Issues",
- categoryAccount: "Account Issues",
- categoryTrade: "Transaction Issues",
- categoryTechOrPoints: "Technical or Points Issues",
- invalid: "Invalid",
- valid: "Valid",
- questionRequired: "The question description cannot be empty",
- answerRequired: "The answer content cannot be empty",
- categoryRequired: "The category cannot be empty",
- statusRequired: "The status cannot be empty",
- updateSuccess: "Edit successful",
- addSuccess: "Add successful",
- deleteConfirm: "Are you sure you want to delete?",
- deleteSuccess: "Delete successful"
+ questionDesc: 'Question Description',
+ enterQuestionDesc: 'Please enter the question description',
+ answerContent: 'Answer Content',
+ enterAnswerContent: 'Please enter the answer content',
+ category: 'Category',
+ selectCategory: 'Please select the category',
+ status: 'Status',
+ selectStatus: 'Please select the status',
+ search: 'Search',
+ reset: 'Reset',
+ add: 'Add',
+ edit: 'Edit',
+ delete: 'Delete',
+ export: 'Export',
+ id: 'ID',
+ detail: 'Details',
+ addTitle: 'Add Frequently Asked Questions and Answers',
+ editTitle: 'Edit Frequently Asked Questions and Answers',
+ detailTitle: 'Frequently Asked Questions and Answers Details',
+ confirm: 'Confirm',
+ cancel: 'Cancel',
+ close: 'Close',
+ categoryPayment: 'Payment Issues',
+ categoryAccount: 'Account Issues',
+ categoryTrade: 'Transaction Issues',
+ categoryTechOrPoints: 'Technical or Points Issues',
+ invalid: 'Invalid',
+ valid: 'Valid',
+ questionRequired: 'The question description cannot be empty',
+ answerRequired: 'The answer content cannot be empty',
+ categoryRequired: 'The category cannot be empty',
+ statusRequired: 'The status cannot be empty',
+ updateSuccess: 'Edit successful',
+ addSuccess: 'Add successful',
+ deleteConfirm: 'Are you sure you want to delete?',
+ deleteSuccess: 'Delete successful'
},
customerServiceChat: {
- id: "ID",
- senderType: "Sender Type",
- operation: "Operation",
- sessionId: "Session ID",
- sessionIdPlaceholder: "Please enter the session ID",
- userId: "User ID",
- userIdPlaceholder: "Please enter the user ID",
- message: "Message Content",
- messagePlaceholder: "Please enter the message content",
- timestamp: "Timestamp",
- timestampPlaceholder: "Please select the time",
- isRead: "Is Read",
- isReadPlaceholder: "Please select whether it has been read",
- isReadYes: "Read",
- isReadNo: "Unread",
- search: "Search",
- reset: "Reset",
- addTitle: "Add Chat Record between Customer Service and User",
- detailTitle: "View Chat Record Details between Customer Service and User",
- updateTitle: "Edit Chat Record between Customer Service and User",
- sessionIdLabel: "Session ID",
- userIdLabel: "User ID",
- messageLabel: "Message Content",
- timestampLabel: "Timestamp",
- isReadLabel: "Is Read",
- required: "Required field",
- sessionIdRequired: "The session ID cannot be empty",
- userIdRequired: "The user ID cannot be empty",
- messageRequired: "The message content cannot be empty",
- senderTypeRequired: "The sender type cannot be empty",
- timestampRequired: "The timestamp cannot be empty",
- isReadRequired: "Whether it has been read cannot be empty",
- updateSuccess: "Edit successful",
- addSuccess: "Add successful",
- deleteConfirmPrefix: "Are you sure you want to delete the record with ID ",
- deleteConfirmSuffix: "?",
- deleteSuccess: "Delete successful"
+ id: 'ID',
+ senderType: 'Sender Type',
+ operation: 'Operation',
+ sessionId: 'Session ID',
+ sessionIdPlaceholder: 'Please enter the session ID',
+ userId: 'User ID',
+ userIdPlaceholder: 'Please enter the user ID',
+ message: 'Message Content',
+ messagePlaceholder: 'Please enter the message content',
+ timestamp: 'Timestamp',
+ timestampPlaceholder: 'Please select the time',
+ isRead: 'Is Read',
+ isReadPlaceholder: 'Please select whether it has been read',
+ isReadYes: 'Read',
+ isReadNo: 'Unread',
+ search: 'Search',
+ reset: 'Reset',
+ addTitle: 'Add Chat Record between Customer Service and User',
+ detailTitle: 'View Chat Record Details between Customer Service and User',
+ updateTitle: 'Edit Chat Record between Customer Service and User',
+ sessionIdLabel: 'Session ID',
+ userIdLabel: 'User ID',
+ messageLabel: 'Message Content',
+ timestampLabel: 'Timestamp',
+ isReadLabel: 'Is Read',
+ required: 'Required field',
+ sessionIdRequired: 'The session ID cannot be empty',
+ userIdRequired: 'The user ID cannot be empty',
+ messageRequired: 'The message content cannot be empty',
+ senderTypeRequired: 'The sender type cannot be empty',
+ timestampRequired: 'The timestamp cannot be empty',
+ isReadRequired: 'Whether it has been read cannot be empty',
+ updateSuccess: 'Edit successful',
+ addSuccess: 'Add successful',
+ deleteConfirmPrefix: 'Are you sure you want to delete the record with ID ',
+ deleteConfirmSuffix: '?',
+ deleteSuccess: 'Delete successful'
},
commonFeedback: {
@@ -1481,7 +1483,47 @@ export default {
collection: 'Collection',
paymentOut: 'Payment'
}
- }
+ },
+ limit: {
+ wallet: {
+ userType: 'User Type',
+ isActive: 'Is Active',
+ ruleId: 'Rule ID',
+ maxBalance: 'Maximum Balance',
+ selectUserType: 'Please select user type',
+ selectIsActive: 'Please select whether to enable',
+ inputMaxBalance: 'Please enter maximum balance',
+ selectUnit: 'Please select unit',
+ hundred: 'Hundred',
+ thousand: 'Thousand',
+ tenThousand: 'Ten Thousand',
+ hundredThousand: 'Hundred Thousand',
+ million: 'Million',
+ tenMillion: 'Ten Million',
+ hundredMillion: 'Hundred Million',
+ billion: 'Billion',
+ addTitle: 'Add Wallet Limit Configuration',
+ editTitle: 'Modify Wallet Limit Configuration',
+ detailTitle: 'Wallet Limit Configuration Details',
+ required: 'Required fields cannot be empty',
+ userTypeRequired: 'Please select user type',
+ maxBalanceRequired: 'Please enter maximum balance',
+ maxBalanceNumber: 'Maximum balance must be a number',
+ unitRequired: 'Please select unit',
+ isActiveRequired: 'Please select whether to enable',
+ createByRequired: 'Creator cannot be empty',
+ updateByRequired: 'Updater cannot be empty',
+ updateSuccess: 'Modification successful',
+ addSuccess: 'Addition successful',
+ deleteConfirm: 'Are you sure to delete the selecte piecesof data?',
+ deleteSuccess: 'Deletion successful',
+ personal: 'Personal',
+ merchant: 'Merchant',
+ agent: 'Agent',
+ yes: 'Yes',
+ no: 'No',
+ }
+ },
},
public: {
commonInfo: {
@@ -1742,8 +1784,8 @@ export default {
legalPersonIdCardPattern: 'Please enter valid ID card number',
failureReasonRequired: 'Failure reason cannot be empty',
deleteConfirm: 'Confirm deletion of selected {ids} data entries?',
- rejectConfirm: 'Confirm rejection of authentication application for "{agentName}"?',
- passConfirm: 'Confirm approval of authentication application for "{agentName}"?',
+ rejectConfirm: 'Confirm rejection of authentication application for',
+ passConfirm: 'Confirm approval of authentication application for ?',
addSuccess: 'Add successful',
updateSuccess: 'Update successful',
deleteSuccess: 'Delete successful',
diff --git a/src/languages/zh.js b/src/languages/zh.js
index 2c24082..7ce6389 100644
--- a/src/languages/zh.js
+++ b/src/languages/zh.js
@@ -136,6 +136,8 @@ export default {
'代理商注册': '代理商注册',
'代理商信息': '代理商信息',
'代理商认证': '代理商认证',
+ '限额配置': '限额配置',
+ '钱包限额': '钱包限额',
},
system: {
common: {},
@@ -1481,7 +1483,47 @@ export default {
collection: '收款',
paymentOut: '付款'
}
- }
+ },
+ limit: {
+ wallet: {
+ userType: '用户类型',
+ isActive: '是否启用',
+ ruleId: '规则ID',
+ maxBalance: '最大余额',
+ selectUserType: '请选择用户类型',
+ selectIsActive: '请选择是否启用',
+ inputMaxBalance: '请输入最大余额',
+ selectUnit: '请选择单位',
+ hundred: '百',
+ thousand: '千',
+ tenThousand: '万',
+ hundredThousand: '十万',
+ million: '百万',
+ tenMillion: '千万',
+ hundredMillion: '亿',
+ billion: '十亿',
+ addTitle: '添加钱包限制配置',
+ editTitle: '修改钱包限制配置',
+ detailTitle: '钱包限制配置详情',
+ required: '必填项不能为空',
+ userTypeRequired: '请选择用户类型',
+ maxBalanceRequired: '请输入最大余额',
+ maxBalanceNumber: '最大余额必须为数字',
+ unitRequired: '请选择单位',
+ isActiveRequired: '请选择是否启用',
+ createByRequired: '创建人不能为空',
+ updateByRequired: '更新人不能为空',
+ updateSuccess: '修改成功',
+ addSuccess: '添加成功',
+ deleteConfirm: '确认删除选中的数据吗?',
+ deleteSuccess: '删除成功',
+ personal:'个人',
+ merchant:'商户',
+ agent:'代理',
+ yes:'启用',
+ no:'禁用',
+ }
+ },
},
public: {
commonInfo: {
diff --git a/src/views/business/walletLimitConfig/index.vue b/src/views/business/walletLimitConfig/index.vue
new file mode 100644
index 0000000..ce772c0
--- /dev/null
+++ b/src/views/business/walletLimitConfig/index.vue
@@ -0,0 +1,512 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('common.button.search') }}
+
+ {{ $t('common.button.reset') }}
+
+
+
+
+
+ {{ $t('common.button.add') }}
+
+
+
+ {{ $t('common.button.edit') }}
+
+
+
+ {{ $t('common.button.delete') }}
+
+
+
+ {{ $t('common.button.export') }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.userType === 0 ? '个人' : (scope.row.userType === 1 ? '商户' : '代理')}}
+
+
+
+
+ {{ formatBalance(scope.row.maxBalance) }}
+
+
+
+
+
+ {{ scope.row.isActive === 1 ? '是' : '否'}}
+
+
+
+
+ {{ $t('common.button.detail') }}
+
+ {{ $t('common.button.edit') }}
+
+ {{ $t('common.button.delete') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ formatBalance(form.maxBalance) }}
+
+
+
+
+
+
+
+
+
+
+