diff --git a/src/locales/langs/en-us.ts b/src/locales/langs/en-us.ts
index fa667c5..f66d9c6 100644
--- a/src/locales/langs/en-us.ts
+++ b/src/locales/langs/en-us.ts
@@ -605,7 +605,18 @@ const local: any = {
status: 'Status',
packageType: 'Package',
paid: 'Paid',
- unpaid: 'Unpaid'
+ unpaid: 'Unpaid',
+ packagename:'Package name',
+ packageinfo:'Package',
+ price:'Price',
+ traffic:'Traffic',
+ Expirationdate:'Expiration date',
+ unpackage:'Unknow package',
+ unlimit:'Unlimited',
+ hour:'Hour',
+ day:'Day',
+ month:'Month',
+ year:'Year',
},
endpoint:{
access:"current client",
diff --git a/src/locales/langs/zh-cn.ts b/src/locales/langs/zh-cn.ts
index 3286677..ded1c2c 100644
--- a/src/locales/langs/zh-cn.ts
+++ b/src/locales/langs/zh-cn.ts
@@ -607,7 +607,18 @@ const local:any = {
status: '状态',
packageType: '套餐',
paid: '已支付',
- unpaid: '未支付'
+ unpaid: '未支付',
+ packagename:'套餐名',
+ packageinfo:'套餐详情',
+ price:'套餐金额',
+ traffic:'流量',
+ Expirationdate:'有效期限',
+ unpackage:'未知套餐',
+ unlimit:'无限制',
+ hour:'小时',
+ day:'天',
+ month:'月',
+ year:'年',
},
endpoint:{
access:"当前设备",
diff --git a/src/typings/api.d.ts b/src/typings/api.d.ts
index f602f70..c8e247f 100644
--- a/src/typings/api.d.ts
+++ b/src/typings/api.d.ts
@@ -616,27 +616,50 @@ declare namespace Api {
/** Package history record information */
interface PackageHistoryRecord {
- id: string;
- delFlag: boolean;
- createBy: number;
+ /** Record ID */
+ id: number;
+ /** Order creation time */
createTime: string;
- updateBy: number;
- updateTime: string;
- userId: number;
- packageId: string;
- paymentId: string | null;
- orderNo: string | null;
- type: number; // 0 表示套餐
+ /** Order amount */
orderAmount: string;
- status: number; // 0未支付,1已支付
+ /** Order status: 1-paid, 0-unpaid */
+ status: number;
+ /** Package information */
+ upackage?: {
+ /** Package name */
+ packageName: string;
+ /** Package price */
+ price: number;
+ /** Whether traffic is limited */
+ trafficEnable: boolean;
+ /** Traffic limit in bytes */
+ traffic: number;
+ /** Period number */
+ periodNum: number;
+ /** Period type: 0-hour, 1-day, 2-month, 3-year */
+ periodType: number;
+ };
}
- /** Package history list response */
- interface PackageHistoryListResponse {
- rows: PackageHistoryRecord[];
- total: number;
+ /** Package history response */
+ interface PackageHistoryResponse {
+ code: number;
+ msg: string;
+ data: {
+ rows: PackageHistoryRecord[];
+ total: number;
+ };
}
+ /** Package history response */
+ interface PackageHistoryResponse {
+ code: number;
+ msg: string;
+ data: {
+ rows: PackageHistoryRecord[];
+ total: number;
+ };
+ }
/** Package history query parameters */
interface PackageHistoryQueryParams {
pageNum: number;
diff --git a/src/views/billing/packagehistories/index.vue b/src/views/billing/packagehistories/index.vue
index 95037bb..8a283eb 100644
--- a/src/views/billing/packagehistories/index.vue
+++ b/src/views/billing/packagehistories/index.vue
@@ -1,7 +1,7 @@
@@ -148,4 +210,45 @@ const columns = computed(() => [
.pl-4 {
padding-left: 1rem;
}
+
+:deep(.package-detail) {
+ padding: 12px;
+}
+
+:deep(.detail-item) {
+ margin-bottom: 12px;
+ display: flex;
+ align-items: center;
+}
+
+:deep(.detail-item:last-child) {
+ margin-bottom: 0;
+}
+
+:deep(.detail-label) {
+ color: rgba(0, 0, 0, 0.65);
+ margin-right: 8px;
+ flex-shrink: 0;
+ width: 80px;
+}
+
+:deep(.detail-value) {
+ color: rgba(0, 0, 0, 0.85);
+ flex: 1;
+}
+
+:deep(.package-detail-modal .ant-modal-confirm-content) {
+ margin-top: 16px;
+}
+
+:deep(.ant-btn-link) {
+ padding: 0;
+ height: auto;
+ line-height: inherit;
+}
+
+:deep(.ant-btn-link:hover) {
+ color: #1890ff;
+ text-decoration: underline;
+}