diff --git a/src/views/modules/statisticsBusiness/courseStatistics/amountStatistics.vue b/src/views/modules/statisticsBusiness/courseStatistics/amountStatistics.vue
index 81fe51d..4845ccb 100644
--- a/src/views/modules/statisticsBusiness/courseStatistics/amountStatistics.vue
+++ b/src/views/modules/statisticsBusiness/courseStatistics/amountStatistics.vue
@@ -217,22 +217,13 @@ export default {
diff --git a/src/views/modules/statisticsBusiness/courseStatistics/courseStatistics.vue b/src/views/modules/statisticsBusiness/courseStatistics/courseStatistics.vue
index 28dfbbb..093a41e 100644
--- a/src/views/modules/statisticsBusiness/courseStatistics/courseStatistics.vue
+++ b/src/views/modules/statisticsBusiness/courseStatistics/courseStatistics.vue
@@ -414,15 +414,10 @@ export default {
diff --git a/src/views/modules/statisticsBusiness/courseStatistics/index.vue b/src/views/modules/statisticsBusiness/courseStatistics/index.vue
index 9c4360e..27a6a5e 100644
--- a/src/views/modules/statisticsBusiness/courseStatistics/index.vue
+++ b/src/views/modules/statisticsBusiness/courseStatistics/index.vue
@@ -31,8 +31,8 @@ export default {
}
-
diff --git a/src/views/modules/statisticsBusiness/courseStatistics/labelStatistics.vue b/src/views/modules/statisticsBusiness/courseStatistics/labelStatistics.vue
index b26b585..c3250f0 100644
--- a/src/views/modules/statisticsBusiness/courseStatistics/labelStatistics.vue
+++ b/src/views/modules/statisticsBusiness/courseStatistics/labelStatistics.vue
@@ -177,18 +177,11 @@ export default {
diff --git a/src/views/modules/statisticsBusiness/styles/statistics-common.less b/src/views/modules/statisticsBusiness/styles/statistics-common.less
new file mode 100644
index 0000000..8d6b51b
--- /dev/null
+++ b/src/views/modules/statisticsBusiness/styles/statistics-common.less
@@ -0,0 +1,153 @@
+.sb-form-item-zero() {
+ .el-form-item {
+ margin-bottom: 0 !important;
+ }
+}
+
+.sb-form-item-ten() {
+ .el-form .el-form-item {
+ margin-bottom: 10px !important;
+ }
+}
+
+.sb-table-compact() {
+ /deep/ .el-table .cell,
+ /deep/ .el-table th > .cell {
+ padding-top: 4px;
+ padding-bottom: 4px;
+ line-height: 20px;
+ }
+}
+
+.sb-statistics-table-min() {
+ /deep/ .statistics-table {
+ min-height: 500px;
+ }
+
+ /deep/ .statistics-table .el-table__body-wrapper,
+ /deep/ .statistics-table .el-table__empty-block {
+ min-height: 452px;
+ }
+}
+
+.sb-page-height-with-table() {
+ display: flex;
+ flex-direction: column;
+ height: calc(100vh - 220px);
+
+ .table-container {
+ flex: 1;
+ overflow: hidden;
+ }
+}
+
+.sb-dialog-body-no-top-padding() {
+ /deep/ .el-dialog__wrapper .el-dialog__body {
+ padding-top: 0 !important;
+ }
+}
+
+.sb-white-panel(@padding: 8px) {
+ background: #fff;
+ border-radius: 4px;
+ padding: @padding;
+}
+
+.sb-flex-column-fill() {
+ display: flex;
+ flex: 1;
+ flex-direction: column;
+}
+
+.sb-detail-header(@mb: 16px) {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin-bottom: @mb;
+}
+
+.sb-title-16() {
+ font-size: 16px;
+ font-weight: 700;
+ color: #303133;
+}
+
+.sb-summary-card-text() {
+ .summary-card__label {
+ margin-bottom: 8px;
+ font-size: 14px;
+ color: #606266;
+ }
+
+ .summary-card__value {
+ font-size: 24px;
+ font-weight: 700;
+ color: #1f2d3d;
+ }
+}
+
+.sb-summary-section-flex(@gap: 12px) {
+ display: flex;
+ flex-wrap: wrap;
+ gap: @gap;
+}
+
+.sb-summary-card-shell(
+ @basis: 180px,
+ @width: 180px,
+ @minHeight: 180px,
+ @padding: 16px,
+ @bg: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%)
+) {
+ display: flex;
+ flex: 1 1 @basis;
+ width: @width;
+ flex-direction: column;
+ min-height: @minHeight;
+ padding: @padding;
+ border: 1px solid #ebeef5;
+ border-radius: 8px;
+ background: @bg;
+ box-shadow: 0 4px 12px rgba(31, 45, 61, 0.06);
+}
+
+.sb-summary-card-two-columns(@basis: 280px, @width: 280px) {
+ flex-basis: @basis;
+ width: @width;
+}
+
+.sb-summary-card-title(@mb: 14px) {
+ margin-bottom: @mb;
+ .sb-title-16();
+}
+
+.sb-summary-card-body(@gap: 10px) {
+ display: flex;
+ flex: 1;
+ flex-direction: column;
+ gap: @gap;
+}
+
+.sb-summary-card-body-two-columns(@rowGap: 10px, @colGap: 30px) {
+ display: grid;
+ grid-template-columns: repeat(2, minmax(0, 1fr));
+ gap: @rowGap @colGap;
+}
+
+.sb-summary-line(@gap: 12px) {
+ display: flex;
+ align-items: flex-start;
+ justify-content: space-between;
+ gap: @gap;
+ line-height: 1.5;
+}
+
+.sb-summary-line-label() {
+ color: #606266;
+}
+
+.sb-summary-line-value() {
+ font-weight: 700;
+ color: #1f2d3d;
+ text-align: right;
+}
diff --git a/src/views/modules/statisticsBusiness/userStatistics/index.vue b/src/views/modules/statisticsBusiness/userStatistics/index.vue
index 7425551..9b39c83 100644
--- a/src/views/modules/statisticsBusiness/userStatistics/index.vue
+++ b/src/views/modules/statisticsBusiness/userStatistics/index.vue
@@ -33,9 +33,8 @@ export default {
}
-
+
diff --git a/src/views/modules/statisticsBusiness/userStatistics/retainUser.vue b/src/views/modules/statisticsBusiness/userStatistics/retainUser.vue
index 7cfac61..e3e85bb 100644
--- a/src/views/modules/statisticsBusiness/userStatistics/retainUser.vue
+++ b/src/views/modules/statisticsBusiness/userStatistics/retainUser.vue
@@ -197,6 +197,8 @@ export default {
diff --git a/src/views/modules/statisticsBusiness/userStatistics/userStatisticsBase.vue b/src/views/modules/statisticsBusiness/userStatistics/userStatisticsBase.vue
index a96537d..efb8f00 100644
--- a/src/views/modules/statisticsBusiness/userStatistics/userStatisticsBase.vue
+++ b/src/views/modules/statisticsBusiness/userStatistics/userStatisticsBase.vue
@@ -300,16 +300,10 @@ export default {
diff --git a/src/views/modules/statisticsBusiness/vipStatistics/monthVip.vue b/src/views/modules/statisticsBusiness/vipStatistics/monthVip.vue
index 20745fb..2b9216f 100644
--- a/src/views/modules/statisticsBusiness/vipStatistics/monthVip.vue
+++ b/src/views/modules/statisticsBusiness/vipStatistics/monthVip.vue
@@ -215,25 +215,11 @@ export default {