From 5c63d4bbaf28166e107b388240e9cbc2d85fbcc1 Mon Sep 17 00:00:00 2001 From: ali <ali9696@163.com> Date: 星期五, 28 二月 2025 11:41:43 +0800 Subject: [PATCH] 图表样式优化 --- zhitan-vue/src/views/costAnalysis/cost-trend-analysis.vue | 241 +++++++++++++++++++++++------------------------- 1 files changed, 115 insertions(+), 126 deletions(-) diff --git a/zhitan-vue/src/views/costAnalysis/cost-trend-analysis.vue b/zhitan-vue/src/views/costAnalysis/cost-trend-analysis.vue index ef1375f..bb5525d 100644 --- a/zhitan-vue/src/views/costAnalysis/cost-trend-analysis.vue +++ b/zhitan-vue/src/views/costAnalysis/cost-trend-analysis.vue @@ -1,102 +1,111 @@ <template> <div class="page"> - <div class="page-container"> - <div class="page-container-right"> - <div> - <div class="form-card"> - <el-form :model="queryParams" ref="queryRef" :inline="true"> - <el-form-item label="鏈熼棿" prop="timeType"> - <el-select - v-model="queryParams.timeType" - placeholder="鏈熼棿" - clearable - style="width: 120px" - @change="handleTimeType" - > - <el-option v-for="dict in period" :key="dict.value" :label="dict.label" :value="dict.value" /> - </el-select> - </el-form-item> - <el-form-item label="鏃堕棿" prop="dataTime"> - <el-date-picker - v-model="queryParams.dataTime" - :type="queryParams.timeType == 'YEAR' ? 'year' : queryParams.timeType == 'MONTH' ? 'month' : 'date'" - :format=" - queryParams.timeType == 'YEAR' ? 'YYYY' : queryParams.timeType == 'MONTH' ? 'YYYY-MM' : 'YYYY-MM-DD' - " - value-format="YYYY-MM-DD" - placeholder="鏃堕棿" - style="width: 100%" - /> - </el-form-item> - <el-form-item> - <el-button type="primary" icon="Search" @click="handleQuery"> 鎼滅储 </el-button> - </el-form-item> - <!-- <el-form-item> + <div> + <div class="form-card"> + <el-form :model="queryParams" ref="queryRef" :inline="true"> + <el-form-item label="鏈熼棿" prop="timeType"> + <el-select + v-model="queryParams.timeType" + placeholder="鏈熼棿" + clearable + style="width: 120px" + @change="handleTimeType" + > + <el-option v-for="dict in period" :key="dict.value" :label="dict.label" :value="dict.value" /> + </el-select> + </el-form-item> + <el-form-item label="鏃堕棿" prop="dataTime"> + <el-date-picker + v-model="queryParams.dataTime" + :type="queryParams.timeType == 'YEAR' ? 'year' : queryParams.timeType == 'MONTH' ? 'month' : 'date'" + :format=" + queryParams.timeType == 'YEAR' ? 'YYYY' : queryParams.timeType == 'MONTH' ? 'YYYY-MM' : 'YYYY-MM-DD' + " + value-format="YYYY-MM-DD" + placeholder="鏃堕棿" + style="width: 100%" + /> + </el-form-item> + <el-form-item> + <el-button type="primary" icon="Search" @click="handleQuery"> 鎼滅储 </el-button> + </el-form-item> + <!-- <el-form-item> <el-button type="primary" icon="Download" @click="handleExport"> 瀵煎嚭 </el-button> </el-form-item> --> - </el-form> - </div> - <div style="margin-top: 16px"> - <div class="" style="padding: 0 16px"> - <el-table :data="tableData" v-loading="loading"> - <el-table-column label="鏃堕棿" prop="dateCode" align="center" width="120" /> - <el-table-column label="鎬昏垂鐢�(鍏�)" prop="total" align="center" width="120" /> - <el-table-column :label="col.energyName" v-for="(col, index) in columns" :key="index" align="center"> - <el-table-column :prop="'energyTotal' + col.energyType" label="娑堣�楅噺" width="120" align="center" /> - <el-table-column :prop="'costTotal' + col.energyType" label="璐圭敤锛堝厓锛�" width="120" align="center" /> - </el-table-column> - </el-table> - </div> - </div> - <div class="charts-view" v-loading="loading"> - <el-row :gutter="2" class="" v-for="item in chartDataList" :key="item.energyType"> - <el-col :span="12"> - <BaseCard :title="item.costLabel + '(鍏�)'"> - <div class=""> - <LineChart - :ref="'LineChartCostRef' + item.energyType" - :domId="'costDom_' + item.energyType" - :chartData="{ - title: item.costLabel, - chartType: 'line', - xAxis: item.costKeyList, - series: [ - { - name: item.costLabel, - data: item.costValueList, - }, - ], - }" - /> - </div> - </BaseCard> - </el-col> - <el-col :span="12"> - <BaseCard :title="item.accumulationLabel + '(' + item.energyUnit + ')'"> - <div class=""> - <LineChart - :ref="'LineChartaccumulationRef' + item.energyType" - :domId="'accumulationDom_' + item.energyType" - :chartType="'bar'" - :chartData="{ - title: item.accumulationLabel, - chartType: 'bar', - xAxis: item.accumulationKeyList, - series: [ - { - name: item.accumulationLabel, - color: '#19be6b', - data: item.accumulationValueList, - }, - ], - }" - /> - </div> - </BaseCard> - </el-col> - </el-row> - </div> + </el-form> + </div> + <div class="table-bg-style"> + <div class="table-box theme-dark-mt20" style=""> + <el-table :data="tableData" v-loading="loading" style="border-bottom: 1px solid #ebeef5"> + <el-table-column label="鏃堕棿" prop="dateCode" align="center" width="160" /> + <el-table-column label="鎬昏垂鐢�(鍏�)" prop="total" align="center" width="120" /> + <el-table-column :label="col.energyName" v-for="(col, index) in columns" :key="index" align="center"> + <el-table-column :prop="'energyTotal' + col.energyType" label="娑堣�楅噺" min-width="120" align="center" /> + <el-table-column :prop="'costTotal' + col.energyType" label="璐圭敤锛堝厓锛�" min-width="120" align="center" /> + </el-table-column> + </el-table> </div> + </div> + <div class="charts-view" v-loading="loading"> + <el-row :gutter="1" class="" v-for="item in chartDataList" :key="item.energyType"> + <el-col :span="12"> + <BaseCard :title="item.costLabel + '(鍏�)'"> + <div class=""> + <LineChart + :ref="'LineChartCostRef' + item.energyType" + :domId="'costDom_' + item.energyType" + :chartData="{ + title: item.costLabel, + chartType: 'line', + xAxis: item.costKeyList, + series: [ + { + name: item.costLabel, + data: item.costValueList, + markPoint: { + data: [ + { type: 'max', name: 'Max' }, + { type: 'min', name: 'Min' }, + ], + }, + }, + ], + }" + /> + </div> + </BaseCard> + </el-col> + <el-col :span="12"> + <BaseCard :title="item.accumulationLabel + '(' + item.energyUnit + ')'"> + <div class=""> + <LineChart + :ref="'LineChartaccumulationRef' + item.energyType" + :domId="'accumulationDom_' + item.energyType" + :chartType="'bar'" + :chartData="{ + title: item.accumulationLabel, + chartType: 'bar', + barWidth: '10', + xAxis: item.accumulationKeyList, + series: [ + { + name: item.accumulationLabel, + color: '#19be6b', + data: item.accumulationValueList, + markPoint: { + data: [ + { type: 'max', name: 'Max' }, + { type: 'min', name: 'Min' }, + ], + }, + }, + ], + }" + /> + </div> + </BaseCard> + </el-col> + </el-row> </div> </div> </div> @@ -248,44 +257,24 @@ <style scoped lang="scss"> @import "@/assets/styles/page.scss"; -.themeDark { +.table-box { + margin-top: 0; } +.themeDark { + .table-box { + padding: 0 10px; + } +} .themeLight { + .table-box { + padding-bottom: 20px; + } } .charts-view { width: 100%; - margin-top: 20px; - // padding: 0 30px; -} -.display-buttons { - display: flex; - justify-content: flex-end; - align-items: center; - margin-top: 16px; - margin-right: 16px; - .display-btn, - .active-display-btn { - width: 78px; - height: 34px; - background: #fff; - color: #409eff; - border: 2px solid #409eff; - border-radius: 4px; - margin-left: 10px; - text-align: center; - line-height: 31px; - font-size: 14px; - font-weight: 400; - cursor: pointer; - &:hover { - opacity: 0.9; - } - } - .active-display-btn { - background: #409eff; - color: #fff; - } + margin-top: 12px; + padding-bottom: 24px; } </style> -- Gitblit v1.9.3