修改成本汇总bug

This commit is contained in:
龙运模 2024-09-11 15:25:16 +08:00
parent 554fc231c8
commit 0abff1e576
5 changed files with 48 additions and 16 deletions

View File

@ -17,7 +17,7 @@
"cropperjs": "1.5.13", "cropperjs": "1.5.13",
"crypto-js": "4.1.1", "crypto-js": "4.1.1",
"echarts": "5.4.1", "echarts": "5.4.1",
"element-plus": "2.2.32", "element-plus": "^2.8.2",
"nprogress": "0.2.0", "nprogress": "0.2.0",
"qrcodejs2": "0.0.2", "qrcodejs2": "0.0.2",
"sortablejs": "1.15.0", "sortablejs": "1.15.0",

View File

@ -1,8 +1,8 @@
import sysConfig from "@/config" import sysConfig from "@/config"
import tool from '@/utils/tool' import tool from '@/utils/tool'
import { createI18n } from 'vue-i18n' import { createI18n } from 'vue-i18n'
import el_zh_cn from 'element-plus/lib/locale/lang/zh-cn' import el_zh_cn from 'element-plus/dist/locale/zh-cn.mjs'
import el_en from 'element-plus/lib/locale/lang/en' import el_en from 'element-plus/dist/locale/en.mjs'
import zh_cn from './lang/zh-cn.js' import zh_cn from './lang/zh-cn.js'
import en from './lang/en.js' import en from './lang/en.js'

View File

@ -57,6 +57,12 @@
.el-pagination{ .el-pagination{
--el-pagination-button-width-small:28px; --el-pagination-button-width-small:28px;
--el-pagination-button-height-small:28px; --el-pagination-button-height-small:28px;
.el-select--small{
height: 28px;
.el-select__wrapper{
height: 100%;
}
}
} }
.el-tabs.role_tabs{ .el-tabs.role_tabs{
--el-tabs-header-height:42px; --el-tabs-header-height:42px;
@ -108,7 +114,8 @@
.el-main.nopadding .searchMainNoTop{margin-top: 0;} .el-main.nopadding .searchMainNoTop{margin-top: 0;}
.el-main.nopadding .searchMain .searchItem{display: flex;flex-direction: column;align-items: flex-start;margin-right: 20px;margin-bottom: 10px;} .el-main.nopadding .searchMain .searchItem{display: flex;flex-direction: column;align-items: flex-start;margin-right: 20px;margin-bottom: 10px;}
.el-main.nopadding .searchMain .searchItem .name{white-space: nowrap;overflow: hidden;text-overflow: ellipsis;color: #303133;padding-bottom: 5px;text-align: right;} .el-main.nopadding .searchMain .searchItem .name{white-space: nowrap;overflow: hidden;text-overflow: ellipsis;color: #303133;padding-bottom: 5px;text-align: right;}
.el-main.nopadding .searchMain .searchItem .input{width: 230px;} .el-main.nopadding .searchMain .searchItem .input{width: 230px;height: 28px;}
.el-main.nopadding .searchMain .searchItem .el-select--small .el-select__wrapper{height: 100%;}
.el-main.nopadding .searchMain .searchItem.searchBtn{display: flex;flex-direction: row;} .el-main.nopadding .searchMain .searchItem.searchBtn{display: flex;flex-direction: row;}
.el-drawer__body {overflow: auto;padding:0;} .el-drawer__body {overflow: auto;padding:0;}
@ -161,8 +168,10 @@
.el-tag {transition: all 0s !important;} .el-tag {transition: all 0s !important;}
/** 弹款的头部配置 */ /** 弹款的头部配置 */
.el-dialog .el-dialog__header{margin-right: 0;padding-bottom: 20px;box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.06);} .el-dialog{padding: 0;}
.el-dialog .el-dialog__footer{padding-top: 20px;box-shadow: 0 -1px 1px 0 rgba(0, 0, 0, 0.06);} .el-dialog .el-dialog__header{margin-right: 0;padding: 20px;box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.06);}
.el-dialog .el-dialog__body{padding: 30px 20px;}
.el-dialog .el-dialog__footer{padding: 20px;box-shadow: 0 -1px 1px 0 rgba(0, 0, 0, 0.06);}
/* 覆盖tinymce样式 */ /* 覆盖tinymce样式 */
.sceditor .tox-tinymce {border: 1px solid #DCDFE6;border-radius: 0;} .sceditor .tox-tinymce {border: 1px solid #DCDFE6;border-radius: 0;}

View File

@ -12,7 +12,10 @@
</div> </div>
<div class="searchItem"> <div class="searchItem">
<label class="name">时间范围</label> <label class="name">时间范围</label>
<el-date-picker :size="size" class="input" type="daterange" v-model="reqParams.dateSelect" value-format="YYYY-MM-DD" start-placeholder="开始时间" end-placeholder="结束时间"></el-date-picker> <el-date-picker :size="size" class="input" :type="reqParams.date_type=='day'?'daterange':reqParams.date_type=='month'?'monthrange':reqParams.date_type=='year'?'yearrange':'datetimerange'" v-model="reqParams.dateSelect" value-format="YYYY-MM-DD"
start-placeholder="开始时间"
end-placeholder="结束时间">
</el-date-picker>
</div> </div>
</scSearch> </scSearch>
<div class="searchItem searchBtn"> <div class="searchItem searchBtn">
@ -23,7 +26,7 @@
</scExport> </scExport>
</div> </div>
</div> </div>
<div class="mainMiddle"> <div class="mainMiddle" v-loading="loading" element-loading-text="努力加载中...">
<div class="echartsView"> <div class="echartsView">
<scEcharts ref="c1" height="300px" :option="option"></scEcharts> <scEcharts ref="c1" height="300px" :option="option"></scEcharts>
</div> </div>
@ -47,6 +50,7 @@ export default {
data() { data() {
return { return {
size:'small', size:'small',
loading:false,
dialog: { dialog: {
save: false, save: false,
show: false, show: false,
@ -131,7 +135,9 @@ export default {
}, },
async getData() { async getData() {
this.loading = true;
const res = await this.$API.finance.cost.summary.post(this.reqParams); const res = await this.$API.finance.cost.summary.post(this.reqParams);
this.loading = false;
if(res.code == 200){ if(res.code == 200){
res.data.tableList.data = this.setTableList(res.data.tableList.data); res.data.tableList.data = this.setTableList(res.data.tableList.data);
this.feesData = res.data; this.feesData = res.data;
@ -143,11 +149,16 @@ export default {
}, },
formatter: function (params) { formatter: function (params) {
const filteredParams = params.filter(param => param.value !== 0); const filteredParams = params.filter(param => param.value !== 0);
let totalData = 0;
filteredParams.map(em=> {
totalData += em.value
})
const formattedParams = filteredParams.map(param => { const formattedParams = filteredParams.map(param => {
const percentage = (param.value/totalData*100).toFixed(2);
const seriesColor = param.color; const seriesColor = param.color;
return `<span style="display: flex;justify-content: space-between"><span><span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:${seriesColor};"></span> ${param.seriesName} </span><span style="font-weight: 500;margin-left: 10px">${param.value}</span></span>`; return `<span style="display: flex;justify-content: space-between"><span><span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:${seriesColor};"></span>${param.seriesName} </span><div style="display: flex;justify-content: space-between;margin-left: 15px"><span style="font-weight: 500;display: inline-block;text-align: right;">¥ ${param.value}</span><span style="display: inline-block;margin-left: 10px; width: 50px;text-align: left;font-weight: 500;">${percentage}%</span></div></span>`;
}).join(''); }).join('');
return params[0].name + '<br/>' + formattedParams; return params[0].name + '<br/>总金额:¥ '+ totalData.toFixed(2) + '<br/>' + formattedParams;
} }
}, },
toolbox:{ toolbox:{
@ -171,7 +182,14 @@ export default {
}, },
yAxis: [{ yAxis: [{
type: 'value', type: 'value',
show:true,
axisLabel:{
margin:this.feesData.dateRange.length<13? 56:20
},
name: '', name: '',
axisTick:{
show:false
},
splitLine: { splitLine: {
show: false show: false
} }

View File

@ -1012,7 +1012,12 @@
"resolved" "https://registry.npmmirror.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz" "resolved" "https://registry.npmmirror.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz"
"version" "0.5.7" "version" "0.5.7"
"@element-plus/icons-vue@^2.0.6", "@element-plus/icons-vue@2.0.10": "@element-plus/icons-vue@^2.3.1":
"integrity" "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg=="
"resolved" "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz"
"version" "2.3.1"
"@element-plus/icons-vue@2.0.10":
"integrity" "sha512-ygEZ1mwPjcPo/OulhzLE7mtDrQBWI8vZzEWSNB2W/RNCRjoQGwbaK4N8lV4rid7Ts4qvySU3njMN7YCiSlSaTQ==" "integrity" "sha512-ygEZ1mwPjcPo/OulhzLE7mtDrQBWI8vZzEWSNB2W/RNCRjoQGwbaK4N8lV4rid7Ts4qvySU3njMN7YCiSlSaTQ=="
"resolved" "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.0.10.tgz" "resolved" "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.0.10.tgz"
"version" "2.0.10" "version" "2.0.10"
@ -3150,13 +3155,13 @@
"resolved" "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.528.tgz" "resolved" "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.528.tgz"
"version" "1.4.528" "version" "1.4.528"
"element-plus@2.2.32": "element-plus@^2.8.2":
"integrity" "sha512-DTJMhYOy6MApbmh6z/95hPTK5WrBiNHGzV4IN+uEkup1WoimQ+Qyt8RxKdTe/X1LWEJ8YgWv/Cl8P4ocrt5z5g==" "integrity" "sha512-pqoQlaUmzUFCjjTHyxGO7Cd0CizsQpIaad1ozV9PCaYjh2T4MIMnjfifqiYs2lWoZ/8GVwrRG1WTCfnZEjwfcg=="
"resolved" "https://registry.npmmirror.com/element-plus/-/element-plus-2.2.32.tgz" "resolved" "https://registry.npmmirror.com/element-plus/-/element-plus-2.8.2.tgz"
"version" "2.2.32" "version" "2.8.2"
dependencies: dependencies:
"@ctrl/tinycolor" "^3.4.1" "@ctrl/tinycolor" "^3.4.1"
"@element-plus/icons-vue" "^2.0.6" "@element-plus/icons-vue" "^2.3.1"
"@floating-ui/dom" "^1.0.1" "@floating-ui/dom" "^1.0.1"
"@popperjs/core" "npm:@sxzz/popperjs-es@^2.11.7" "@popperjs/core" "npm:@sxzz/popperjs-es@^2.11.7"
"@types/lodash" "^4.14.182" "@types/lodash" "^4.14.182"