对碳排管理进行优化
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="search">
|
||||
<a-card style="border-radius: 12px">
|
||||
<a-card>
|
||||
<div class="ns-form-title">
|
||||
<div class="title">查询</div>
|
||||
<div class="operation">
|
||||
@@ -483,6 +483,7 @@
|
||||
{
|
||||
title: '序号',
|
||||
width: 80,
|
||||
align: 'center',
|
||||
customRender: (text: any) => {
|
||||
return text.index + 1;
|
||||
},
|
||||
@@ -491,6 +492,7 @@
|
||||
title: '资产类别',
|
||||
dataIndex: 'accountType',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
customRender: (text: any) => {
|
||||
return text.text !== undefined ? text : '-';
|
||||
},
|
||||
@@ -499,6 +501,7 @@
|
||||
title: '交易方式',
|
||||
dataIndex: 'transactionTypeName',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
customRender: (text: any) => {
|
||||
return text.text !== undefined ? text : '-';
|
||||
},
|
||||
@@ -507,6 +510,7 @@
|
||||
title: '交易日期',
|
||||
dataIndex: 'transactionDate',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
sorter: (a, b) => a.transactionDate - b.transactionDate,
|
||||
customRender: (text: any) => {
|
||||
return text.text !== undefined ? text : '-';
|
||||
@@ -516,6 +520,7 @@
|
||||
title: '本期收入(tCO2)',
|
||||
dataIndex: 'income',
|
||||
width: 150,
|
||||
align: 'center',
|
||||
sorter: (a, b) => a.income - b.income,
|
||||
customRender: (text: any) => {
|
||||
return text.text !== undefined ? text : '-';
|
||||
@@ -525,6 +530,7 @@
|
||||
title: '本期支出(tCO2)',
|
||||
dataIndex: 'expenditure',
|
||||
width: 150,
|
||||
align: 'center',
|
||||
sorter: (a, b) => a.expenditure - b.expenditure,
|
||||
customRender: (text: any) => {
|
||||
return text.text !== undefined ? text : '-';
|
||||
@@ -533,6 +539,7 @@
|
||||
{
|
||||
title: '发生金额(¥)',
|
||||
width: 150,
|
||||
align: 'center',
|
||||
dataIndex: 'amountIncurredValue',
|
||||
customRender: (text: any) => {
|
||||
return text.text !== undefined ? text : '-';
|
||||
@@ -541,6 +548,7 @@
|
||||
{
|
||||
title: '交易对象',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
dataIndex: 'tradingPartner',
|
||||
customRender: (text: any) => {
|
||||
return text.text !== '' ? text : '-';
|
||||
@@ -549,6 +557,7 @@
|
||||
{
|
||||
title: '更新人',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
dataIndex: 'updateUser',
|
||||
customRender: (text: any) => {
|
||||
return text.text !== undefined ? text : '-';
|
||||
@@ -557,6 +566,7 @@
|
||||
{
|
||||
title: '更新时间',
|
||||
width: 150,
|
||||
align: 'center',
|
||||
ellipsis: true,
|
||||
dataIndex: 'updateTime',
|
||||
customRender: (text: any) => {
|
||||
@@ -813,14 +823,17 @@
|
||||
{
|
||||
title: '统计类型',
|
||||
dataIndex: 'statisticType',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '小计',
|
||||
dataIndex: 'subtotal',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '合计',
|
||||
dataIndex: 'amountTo',
|
||||
align: 'center',
|
||||
},
|
||||
];
|
||||
|
||||
@@ -865,21 +878,26 @@
|
||||
}
|
||||
.search {
|
||||
height: 15%;
|
||||
border-radius: 8px;
|
||||
background: rgba(255, 255, 255, 1);
|
||||
box-shadow: 0px 5px 16px rgb(118 126 145 / 20%);
|
||||
}
|
||||
.detailTable {
|
||||
width: 70%;
|
||||
margin-right: 20px;
|
||||
height: 100%;
|
||||
background: white;
|
||||
border-radius: 12px;
|
||||
padding: 16px;
|
||||
border-radius: 8px;
|
||||
background: rgba(255, 255, 255, 1);
|
||||
box-shadow: 0px 2px 20px rgb(69 123 234 / 20%);
|
||||
}
|
||||
.total {
|
||||
width: calc(30% - 20px);
|
||||
height: 100%;
|
||||
background: white;
|
||||
border-radius: 12px;
|
||||
padding: 16px;
|
||||
border-radius: 8px;
|
||||
background: rgba(255, 255, 255, 1);
|
||||
box-shadow: 0px 2px 20px rgb(69 123 234 / 20%);
|
||||
}
|
||||
:deep(.ns-table-search) {
|
||||
display: none;
|
||||
|
@@ -144,12 +144,13 @@
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
margin-bottom: 16px;
|
||||
">
|
||||
<a-select
|
||||
ref="select"
|
||||
:value="unitTreeParams.id"
|
||||
allowClear
|
||||
style="width: 90%"
|
||||
style="width: 100%"
|
||||
placeholder="选择分组"
|
||||
@change="handleChange">
|
||||
<a-select-option v-for="(item, index) in groupData" :key="index" :value="item.id">
|
||||
@@ -171,13 +172,21 @@
|
||||
<span>{{ data.cnValue }}</span>
|
||||
</div>
|
||||
<div class="actionMore">
|
||||
<PlusCircleOutlined v-if="!data.parentId" @click="addUnit(data)" />
|
||||
<MinusCircleOutlined style="margin-left: 6px" @click="delUnit(data)" />
|
||||
<PlusCircleOutlined
|
||||
v-if="!data.parentId"
|
||||
style="color: #4388fb"
|
||||
@click="addUnit(data)" />
|
||||
<MinusCircleOutlined
|
||||
style="margin-left: 6px; color: #4388fb"
|
||||
@click="delUnit(data)" />
|
||||
<EditOutlined
|
||||
style="margin-left: 6px"
|
||||
style="margin-left: 6px; color: #4388fb"
|
||||
v-if="!data.parentId"
|
||||
@click="editGroup(data)" />
|
||||
<EditOutlined style="margin-left: 6px" v-else @click="editUnit(data)" />
|
||||
<EditOutlined
|
||||
style="margin-left: 6px; color: #4388fb"
|
||||
v-else
|
||||
@click="editUnit(data)" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -424,7 +433,7 @@
|
||||
|
||||
const onExpand = (keys: string[]) => {
|
||||
expandedKeys.value = keys;
|
||||
autoExpandParent.value = false;
|
||||
// autoExpandParent.value = false;
|
||||
};
|
||||
// watch(selectTreeDataValue, (value) => {
|
||||
// const expanded = dataList
|
||||
@@ -458,7 +467,7 @@
|
||||
mainRef.value?.nsTableRef.reload();
|
||||
};
|
||||
// 点击新增树节点
|
||||
const addTreeNodeData = () => {
|
||||
const addTreeNodeData = (data) => {
|
||||
operationTree.value = '新增';
|
||||
treeNodeAdd.value = true;
|
||||
editTreeNode.value.type = 'create';
|
||||
@@ -557,6 +566,7 @@
|
||||
const editTreeNode = ref({});
|
||||
const onSelectKeys = ref([]);
|
||||
const onSelect = (selectedKey: string[], info: any) => {
|
||||
expandedKeys.value = selectedKey;
|
||||
if (selectedKey.length === 1) {
|
||||
if (info.selectedNodes[0].emissionName === '全部') {
|
||||
onSelectKeys.value = [];
|
||||
@@ -771,6 +781,7 @@
|
||||
{
|
||||
title: 'id',
|
||||
width: 50,
|
||||
align: 'center',
|
||||
customRender: (text: any) => {
|
||||
return text.index + 1;
|
||||
},
|
||||
@@ -778,57 +789,68 @@
|
||||
{
|
||||
title: '排放源',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
dataIndex: 'emissionSources',
|
||||
},
|
||||
{
|
||||
title: '排放类型',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
dataIndex: 'emissionTypeColumn',
|
||||
},
|
||||
{
|
||||
title: '排放气体',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
dataIndex: 'emissionGas',
|
||||
},
|
||||
{
|
||||
title: '排放环节',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
dataIndex: 'emissionProcess',
|
||||
},
|
||||
{
|
||||
title: '排放因子',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
dataIndex: 'emissionFactors',
|
||||
},
|
||||
{
|
||||
title: '排放因子单位',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
dataIndex: 'emissionFactorUnits',
|
||||
},
|
||||
{
|
||||
title: '数据来源',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
dataIndex: 'dataSources',
|
||||
},
|
||||
{
|
||||
title: '数据库',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
dataIndex: 'carbonDatabase',
|
||||
},
|
||||
{
|
||||
title: '参考文献',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
dataIndex: 'bibliography',
|
||||
ellipsis: true,
|
||||
},
|
||||
{
|
||||
title: '引用数量',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
dataIndex: 'numberOfReferences',
|
||||
},
|
||||
],
|
||||
columnActions: {
|
||||
title: '操作',
|
||||
align: 'center',
|
||||
actions: [
|
||||
{
|
||||
label: '编辑',
|
||||
@@ -875,10 +897,42 @@
|
||||
{
|
||||
label: '删除',
|
||||
name: 'userDelete',
|
||||
dynamicParams: { ids: 'id[]' },
|
||||
confirm: true,
|
||||
isReload: true,
|
||||
api: carbonEmissionFactorLibrary.del,
|
||||
// dynamicParams: { ids: 'id[]' },
|
||||
// confirm: true,
|
||||
// isReload: true,
|
||||
// api: carbonEmissionFactorLibrary.del,
|
||||
handle: (record: any) => {
|
||||
fetch(carbonEmissionFactorLibrary.checkDel, { ids: [record.id] }).then((res) => {
|
||||
if (res.data === '确定要删除吗?') {
|
||||
Modal.confirm({
|
||||
title: res.data,
|
||||
icon: createVNode(ExclamationCircleOutlined),
|
||||
onOk() {
|
||||
fetch(carbonEmissionFactorLibrary.del, { ids: [record.id] }).then((res) => {
|
||||
mainRef.value?.nsTableRef.reload();
|
||||
NsMessage.success('操作成功');
|
||||
});
|
||||
},
|
||||
onCancel() {
|
||||
console.log('Cancel');
|
||||
},
|
||||
class: 'test',
|
||||
});
|
||||
} else {
|
||||
Modal.confirm({
|
||||
title: res.data,
|
||||
icon: createVNode(ExclamationCircleOutlined),
|
||||
onOk() {
|
||||
console.log('OK');
|
||||
},
|
||||
onCancel() {
|
||||
console.log('Cancel');
|
||||
},
|
||||
class: 'test',
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -1147,7 +1201,7 @@
|
||||
display: flex;
|
||||
}
|
||||
.left {
|
||||
width: 300px;
|
||||
width: 255px;
|
||||
// max-height: calc(100vh - 96px);
|
||||
margin-right: @ns-gap;
|
||||
min-width: fit-content;
|
||||
@@ -1198,7 +1252,8 @@
|
||||
margin-bottom: unset;
|
||||
padding-bottom: unset;
|
||||
border-bottom: unset;
|
||||
width: 70%;
|
||||
margin-bottom: 16px;
|
||||
width: 255px;
|
||||
height: 5vh;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@@ -1238,18 +1293,19 @@
|
||||
justify-content: space-evenly;
|
||||
}
|
||||
.treePart {
|
||||
width: 70%;
|
||||
height: calc(100% - 5vh);
|
||||
width: 255px;
|
||||
height: 700px;
|
||||
display: flex;
|
||||
border: 1px solid #bfbfbf;
|
||||
margin-left: 10%;
|
||||
flex-direction: column;
|
||||
border-radius: 12px;
|
||||
overflow: auto;
|
||||
padding: 16px;
|
||||
align-items: center;
|
||||
:deep(.ant-tree) {
|
||||
height: 90%;
|
||||
width: 90%;
|
||||
width: 100%;
|
||||
overflow: auto;
|
||||
}
|
||||
}
|
||||
|
@@ -1,11 +1,12 @@
|
||||
<template>
|
||||
<div>
|
||||
<div style="height: 100%">
|
||||
<a-table
|
||||
v-if="data && data.length > 0"
|
||||
:columns="column"
|
||||
:data-source="data"
|
||||
:bordered="true"
|
||||
:pagination="false"
|
||||
:scroll="{ x: 1700, y: 480 }">
|
||||
:scroll="{ x: 1700 }">
|
||||
<template #title>
|
||||
<a-date-picker
|
||||
v-model:value="selectYear"
|
||||
@@ -17,10 +18,28 @@
|
||||
<a-button type="primary" style="margin-left: 6px" @click="clickSelect">搜索</a-button>
|
||||
</span>
|
||||
</template>
|
||||
<template #bodyCell="{ column, text }">
|
||||
<span>{{ text || '-' }}</span>
|
||||
<template #bodyCell="{ column, text, record }">
|
||||
<template v-if="column.dataIndex === 'averageFactorValue'">
|
||||
<span v-if="record.averageFactorValue !== undefined">
|
||||
{{ record.averageFactorValue + record.measurement + '/' + record.unitName }}
|
||||
</span>
|
||||
<span v-else>
|
||||
{{ '-' }}
|
||||
</span>
|
||||
</template>
|
||||
<span v-else>{{ text || '-' }}</span>
|
||||
</template>
|
||||
</a-table>
|
||||
<a-empty
|
||||
v-else
|
||||
style="
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
justify-content: center;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
" />
|
||||
<!-- <a-pagination
|
||||
:current="queryParams.pageNum"
|
||||
:total="total"
|
||||
@@ -77,6 +96,7 @@
|
||||
title: '排放类型',
|
||||
dataIndex: 'cnValue',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
customCell: (record, rowIndex) => {
|
||||
if (rowIndex == undefined) {
|
||||
return {
|
||||
@@ -100,81 +120,97 @@
|
||||
title: '能源种类',
|
||||
dataIndex: 'energyType',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '计量单位',
|
||||
dataIndex: 'unitName',
|
||||
dataIndex: 'measurement',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '加权平均',
|
||||
dataIndex: 'averageFactorValue',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '全年',
|
||||
dataIndex: 'carbonYearly',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '1月',
|
||||
dataIndex: 'jan',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '2月',
|
||||
dataIndex: 'feb',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '3月',
|
||||
dataIndex: 'mar',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '4月',
|
||||
dataIndex: 'apr',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '5月',
|
||||
dataIndex: 'may',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '6月',
|
||||
dataIndex: 'jun',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '7月',
|
||||
dataIndex: 'jul',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '8月',
|
||||
dataIndex: 'aug',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '9月',
|
||||
dataIndex: 'sep',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '10月',
|
||||
dataIndex: 'oct',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '11月',
|
||||
dataIndex: 'nov',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '12月',
|
||||
dataIndex: 'dece',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
},
|
||||
];
|
||||
// 合并单元格
|
||||
@@ -220,6 +256,10 @@
|
||||
:deep(.ant-table-container) {
|
||||
margin: 0px 16px;
|
||||
}
|
||||
:deep(.ant-table-container) {
|
||||
height: 64vh;
|
||||
overflow: auto;
|
||||
}
|
||||
// :deep(.ant-table-cell) {
|
||||
// border: 1px solid #f0f0f0;
|
||||
// }
|
||||
|
@@ -177,7 +177,7 @@ export const setFactorConfig = (orgId) => {
|
||||
},
|
||||
rowSelection: {
|
||||
type: 'radio',
|
||||
// selectedRowKeys: [],
|
||||
selectedRowKeys: undefined,
|
||||
},
|
||||
columns: [
|
||||
{
|
||||
|
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div style="height: 100%">
|
||||
<div class="table" style="height: 100%">
|
||||
<ns-view-list-table v-bind="tableConfig" :model="data" ref="mainRef" :scroll="{ x: 1500 }">
|
||||
<ns-view-list-table v-bind="tableConfig" :model="data" ref="mainRef" :scroll="{ x: 1600 }">
|
||||
</ns-view-list-table>
|
||||
</div>
|
||||
<!-- 新增数据库数据 -->
|
||||
@@ -367,12 +367,24 @@
|
||||
return text.index + 1;
|
||||
},
|
||||
width: 100,
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '能源种类',
|
||||
dataIndex: 'energyType',
|
||||
width: 100,
|
||||
ellipsis: true,
|
||||
align: 'center',
|
||||
customRender: (text: any) => {
|
||||
return text.text !== undefined ? text : '-';
|
||||
},
|
||||
},
|
||||
{
|
||||
title: '编码',
|
||||
dataIndex: 'code',
|
||||
width: 100,
|
||||
ellipsis: true,
|
||||
align: 'center',
|
||||
customRender: (text: any) => {
|
||||
return text.text !== undefined ? text : '-';
|
||||
},
|
||||
@@ -382,6 +394,7 @@
|
||||
className: 'unitName',
|
||||
dataIndex: 'unitName',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
customRender: (text: any) => {
|
||||
return text.text !== undefined ? text : '-';
|
||||
},
|
||||
@@ -390,6 +403,7 @@
|
||||
title: '全年',
|
||||
dataIndex: 'yearly',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
customRender: (text: any) => {
|
||||
return text.text !== undefined ? text : '-';
|
||||
},
|
||||
@@ -398,6 +412,7 @@
|
||||
title: '1月',
|
||||
dataIndex: 'jan',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
customRender: (value) => {
|
||||
let text;
|
||||
let color;
|
||||
@@ -419,6 +434,7 @@
|
||||
title: '2月',
|
||||
dataIndex: 'feb',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
customRender: (value) => {
|
||||
let text;
|
||||
let color;
|
||||
@@ -440,6 +456,7 @@
|
||||
title: '3月',
|
||||
dataIndex: 'mar',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
customRender: (value) => {
|
||||
let text;
|
||||
let color;
|
||||
@@ -461,6 +478,7 @@
|
||||
title: '4月',
|
||||
dataIndex: 'apr',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
customRender: (value) => {
|
||||
let text;
|
||||
let color;
|
||||
@@ -482,6 +500,7 @@
|
||||
title: '5月',
|
||||
dataIndex: 'may',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
customRender: (value) => {
|
||||
let text;
|
||||
let color;
|
||||
@@ -503,6 +522,7 @@
|
||||
title: '6月',
|
||||
dataIndex: 'jun',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
customRender: (value) => {
|
||||
let text;
|
||||
let color;
|
||||
@@ -524,6 +544,7 @@
|
||||
title: '7月',
|
||||
dataIndex: 'jul',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
customRender: (value) => {
|
||||
let text;
|
||||
let color;
|
||||
@@ -545,6 +566,7 @@
|
||||
title: '8月',
|
||||
dataIndex: 'aug',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
customRender: (value) => {
|
||||
let text;
|
||||
let color;
|
||||
@@ -566,6 +588,7 @@
|
||||
title: '9月',
|
||||
dataIndex: 'sep',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
customRender: (value) => {
|
||||
let text;
|
||||
let color;
|
||||
@@ -587,6 +610,7 @@
|
||||
title: '10月',
|
||||
dataIndex: 'oct',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
customRender: (value) => {
|
||||
let text;
|
||||
let color;
|
||||
@@ -608,6 +632,7 @@
|
||||
title: '11月',
|
||||
dataIndex: 'nov',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
customRender: (value) => {
|
||||
let text;
|
||||
let color;
|
||||
@@ -629,6 +654,7 @@
|
||||
title: '12月',
|
||||
dataIndex: 'dece',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
customRender: (value) => {
|
||||
let text;
|
||||
let color;
|
||||
@@ -649,6 +675,7 @@
|
||||
],
|
||||
columnActions: {
|
||||
title: '操作',
|
||||
align: 'center',
|
||||
actions: [
|
||||
{
|
||||
label: '编辑',
|
||||
@@ -904,7 +931,7 @@
|
||||
const getDictList = async () => {
|
||||
// 获取能耗类型
|
||||
const options = await dict({ params: { dicKey: 'ENERGY_TYPE' } });
|
||||
energyTypeOptions.value = options.data.data;
|
||||
energyTypeOptions.value = options.data.data.filter((item) => item.cnValue !== '碳排量');
|
||||
// 获取排放类型的数据
|
||||
fetch(energyConsumption.getDicList, { grp: 'EMISSION_TYPE' }).then((res) => {
|
||||
emissionTypeDic.value = res.data;
|
||||
|
@@ -48,23 +48,22 @@
|
||||
};
|
||||
</script>
|
||||
<style scoped lang="less">
|
||||
:deep(.ant-tabs-ink-bar) {
|
||||
width: 31px !important;
|
||||
height: 3px !important;
|
||||
border-radius: 2px !important;
|
||||
margin-left: 5%;
|
||||
background: rgba(67, 136, 251, 1);
|
||||
}
|
||||
//table 颜色
|
||||
:deep(.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn) {
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
letter-spacing: 1.33px;
|
||||
line-height: 21px;
|
||||
color: rgba(51, 51, 51, 1);
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
font-size: 14px !important;
|
||||
font-weight: bolb !important;
|
||||
color: #333333 !important;
|
||||
}
|
||||
:deep(.ant-tabs-tab-btn) {
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
letter-spacing: 1.33px;
|
||||
line-height: 21px;
|
||||
color: #666666;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
font-size: 14px !important;
|
||||
color: #666666 !important;
|
||||
}
|
||||
:deep(.ant-tabs-content) {
|
||||
height: 100%;
|
||||
|
@@ -37,7 +37,7 @@
|
||||
}}
|
||||
</span> -->
|
||||
<span v-if="data.code" :title="data.energyType + data.code">
|
||||
{{ truncatedName(data.energyType + data.code) }}
|
||||
{{ truncatedName(data.energyType + '(' + data.code + ')') }}
|
||||
</span>
|
||||
<span v-else :title="data.energyType">{{ truncatedName(data.energyType) }}</span>
|
||||
</template>
|
||||
@@ -129,7 +129,7 @@
|
||||
title="选择因子"
|
||||
@ok="btnClick"
|
||||
@cancel="onCloseClick">
|
||||
<ns-view-list-table v-bind="config" ref="setFactorRef" style="height: 500px" />
|
||||
<ns-view-list-table v-bind="config" ref="setFactorRef" />
|
||||
</a-modal>
|
||||
</div>
|
||||
</template>
|
||||
@@ -315,6 +315,7 @@
|
||||
columns: [
|
||||
{
|
||||
title: '序号',
|
||||
align: 'center',
|
||||
customRender: (text: any) => {
|
||||
return text.index + 1;
|
||||
},
|
||||
@@ -322,36 +323,43 @@
|
||||
{
|
||||
title: '因子值',
|
||||
dataIndex: 'emissionFactors',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '计量单位',
|
||||
className: 'carbonEmissionSuffix',
|
||||
dataIndex: 'carbonEmissionSuffix',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '启用时间',
|
||||
className: 'startTime',
|
||||
dataIndex: 'startTime',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '结束时间',
|
||||
className: 'endTime',
|
||||
dataIndex: 'endTime',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '数据来源',
|
||||
className: 'dataSources',
|
||||
dataIndex: 'dataSources',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '更新时间',
|
||||
className: 'updateTime',
|
||||
dataIndex: 'updateTime',
|
||||
align: 'center',
|
||||
ellipsis: true,
|
||||
},
|
||||
],
|
||||
columnActions: {
|
||||
title: '操作',
|
||||
align: 'center',
|
||||
actions: [
|
||||
{
|
||||
label: '编辑',
|
||||
@@ -520,8 +528,8 @@
|
||||
nextTick(() => {
|
||||
setFactorRef.value.nsTableRef.params.emissionList = treeId.value;
|
||||
setFactorRef.value.nsTableRef.treeElRef.selectedKeys = treeId.value;
|
||||
setFactorRef.value.nsTableRef.rowSelection.selectedRowKeys = tableId.value;
|
||||
setFactorRef.value.nsTableRef.reload();
|
||||
setFactorRef.value.nsTableRef.rowSelection.selectedRowKeys = [...tableId.value];
|
||||
// setFactorRef.value.nsTableRef.reload();
|
||||
treeId.value = [];
|
||||
tableId.value = [];
|
||||
});
|
||||
@@ -531,7 +539,7 @@
|
||||
setFactorRef.value.nsTableRef.params.emissionList = [0];
|
||||
setFactorRef.value.nsTableRef.treeElRef.selectedKeys = [];
|
||||
setFactorRef.value.nsTableRef.rowSelection.selectedRowKeys = undefined;
|
||||
setFactorRef.value.nsTableRef.reload();
|
||||
// setFactorRef.value.nsTableRef.reload();
|
||||
});
|
||||
}
|
||||
};
|
||||
@@ -569,7 +577,7 @@
|
||||
padding: 16px;
|
||||
}
|
||||
.left {
|
||||
width: 300px;
|
||||
width: 255px;
|
||||
margin-right: @ns-gap;
|
||||
min-width: fit-content;
|
||||
border-radius: 8px;
|
||||
|
@@ -5,6 +5,7 @@ export const voucherColumns = [
|
||||
{
|
||||
title: '序号',
|
||||
width: 80,
|
||||
align: 'center',
|
||||
customRender: (text: any) => {
|
||||
return text.index + 1;
|
||||
},
|
||||
@@ -13,12 +14,14 @@ export const voucherColumns = [
|
||||
title: '日期',
|
||||
dataIndex: 'bizName',
|
||||
key: 'bizName',
|
||||
align: 'center',
|
||||
ellipsis: true,
|
||||
},
|
||||
{
|
||||
title: '文件名称',
|
||||
dataIndex: 'fileName',
|
||||
key: 'fileName',
|
||||
align: 'center',
|
||||
ellipsis: true,
|
||||
},
|
||||
];
|
||||
@@ -53,7 +56,7 @@ export const setFactorConfig = (orgId) => {
|
||||
icon: 'deviceType',
|
||||
title: '排放分类',
|
||||
},
|
||||
params: { orgId},
|
||||
params: { orgId },
|
||||
dynamicParams: { emissionList: 'id[]' },
|
||||
defaultExpandAll: true,
|
||||
// checkable:true,
|
||||
|
@@ -2,12 +2,12 @@
|
||||
<div class="main">
|
||||
<div class="totalTitle">
|
||||
<div class="ns-form-title">
|
||||
<div class="title">{{ props.year }}年济阳站碳盘查报告</div>
|
||||
<div class="standard" style="display: flex; align-items: center">
|
||||
<div style="display: flex; align-items: center">
|
||||
<div class="title">{{ props.year }}年济阳站碳盘查报告</div>
|
||||
<img
|
||||
width="11"
|
||||
height="11"
|
||||
style="margin-right: 5px"
|
||||
style="margin-right: 5px; margin-left: 10px"
|
||||
src="../../../../../src/icon/carbonInventoryCheck.svg" />
|
||||
<span
|
||||
style="
|
||||
@@ -18,16 +18,19 @@
|
||||
color: rgba(67, 136, 251, 1);
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
">
|
||||
适用标准:{{ props.standard }}
|
||||
"
|
||||
:title="props.standard">
|
||||
适用标准:{{ truncatedName(props.standard) }}
|
||||
</span>
|
||||
</div>
|
||||
<div class="standard" style="display: flex; align-items: center">
|
||||
<a-button type="primary" @click="changeParentData" ghost style="margin-left: 6px">
|
||||
返回
|
||||
</a-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="display: flex; height: 90%">
|
||||
<div style="display: flex; height: 93%">
|
||||
<div class="left">
|
||||
<div class="top">
|
||||
<a-form style="width: 100%; margin: 0 auto">
|
||||
@@ -909,38 +912,45 @@
|
||||
title: '日期',
|
||||
dataIndex: 'acquisitionDate',
|
||||
width: 80,
|
||||
align: 'center',
|
||||
key: 'acquisitionDate',
|
||||
},
|
||||
{
|
||||
title: '消耗量',
|
||||
align: 'center',
|
||||
children: [
|
||||
{
|
||||
title: '数据来源',
|
||||
dataIndex: 'dataSources',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
key: 'dataSources',
|
||||
},
|
||||
{
|
||||
title: '数值',
|
||||
dataIndex: 'consumption',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
key: 'consumption',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
title: '碳排因子',
|
||||
align: 'center',
|
||||
children: [
|
||||
{
|
||||
title: '数据来源',
|
||||
dataIndex: 'carbonSource',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
key: 'carbonSource',
|
||||
},
|
||||
{
|
||||
title: '数值',
|
||||
dataIndex: 'emissionFactors',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
key: 'emissionFactors',
|
||||
},
|
||||
],
|
||||
@@ -949,11 +959,13 @@
|
||||
title: '排放量',
|
||||
dataIndex: 'emissions',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
key: 'emissions',
|
||||
fixed: 'right',
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
align: 'center',
|
||||
dataIndex: 'action',
|
||||
key: 'action',
|
||||
width: 80,
|
||||
@@ -1677,6 +1689,13 @@
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
const truncatedName = (name) => {
|
||||
if (name.length > 30) {
|
||||
return name.substring(0, 30) + '...';
|
||||
}
|
||||
return name;
|
||||
};
|
||||
// 点击返回
|
||||
const emit = defineEmits(['change-data']);
|
||||
const changeParentData = () => {
|
||||
@@ -1689,6 +1708,7 @@
|
||||
background-color: #ffffff;
|
||||
height: 100%;
|
||||
padding: 16px;
|
||||
border-radius: 8px;
|
||||
}
|
||||
.left {
|
||||
width: 300px;
|
||||
@@ -1708,6 +1728,7 @@
|
||||
position: relative;
|
||||
height: 100%;
|
||||
margin-bottom: 20px;
|
||||
border-radius: 8px;
|
||||
.ns-form-title {
|
||||
font-weight: bold;
|
||||
user-select: text;
|
||||
@@ -1928,4 +1949,27 @@
|
||||
background: rgba(255, 255, 255, 1);
|
||||
box-shadow: 0px 2px 20px rgb(69 123 234 / 20%);
|
||||
}
|
||||
|
||||
:deep(.ant-tabs-ink-bar) {
|
||||
// width: 31px !important;
|
||||
height: 3px !important;
|
||||
border-radius: 2px !important;
|
||||
background: rgba(67, 136, 251, 1);
|
||||
}
|
||||
//table 颜色
|
||||
:deep(.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn) {
|
||||
font-size: 14px !important;
|
||||
font-weight: bolb !important;
|
||||
color: #333333 !important;
|
||||
}
|
||||
:deep(.ant-tabs-tab-btn) {
|
||||
font-size: 14px !important;
|
||||
color: #666666 !important;
|
||||
}
|
||||
:deep(.ant-tabs-content) {
|
||||
height: 100%;
|
||||
}
|
||||
:deep(.ant-tabs-tabpane) {
|
||||
height: 100%;
|
||||
}
|
||||
</style>
|
||||
|
@@ -44,7 +44,7 @@
|
||||
<a-form-item ref="name" label="适用标准" name="genericStandard">
|
||||
<a-input
|
||||
v-model:value="formState.genericStandard"
|
||||
:maxlength="20"
|
||||
:maxlength="100"
|
||||
@keydown="handleKeyDown"
|
||||
placeholder="请输入适用标准" />
|
||||
</a-form-item>
|
||||
@@ -172,26 +172,35 @@
|
||||
spinning.value = false;
|
||||
});
|
||||
} else {
|
||||
Modal.confirm({
|
||||
title: '修改日期会导致已有数据丢失,是否继续修改?',
|
||||
icon: createVNode(ExclamationCircleOutlined),
|
||||
onOk() {
|
||||
spinning.value = true;
|
||||
fetch(carbonInventoryCheck.createOrUpdate, formState.value)
|
||||
.then((res) => {
|
||||
visible.value = false;
|
||||
mainRef.value?.nsTableRef.reload();
|
||||
spinning.value = false;
|
||||
})
|
||||
.catch((error) => {
|
||||
message.error(error ? error : '保存失败!');
|
||||
});
|
||||
},
|
||||
onCancel() {
|
||||
console.log('Cancel');
|
||||
},
|
||||
class: 'test',
|
||||
});
|
||||
if (count.value === '0') {
|
||||
spinning.value = true;
|
||||
fetch(carbonInventoryCheck.createOrUpdate, formState.value).then((res) => {
|
||||
visible.value = false;
|
||||
mainRef.value?.nsTableRef.reload();
|
||||
spinning.value = false;
|
||||
});
|
||||
} else {
|
||||
Modal.confirm({
|
||||
title: '修改日期会导致已有数据丢失,是否继续修改?',
|
||||
icon: createVNode(ExclamationCircleOutlined),
|
||||
onOk() {
|
||||
spinning.value = true;
|
||||
fetch(carbonInventoryCheck.createOrUpdate, formState.value)
|
||||
.then((res) => {
|
||||
visible.value = false;
|
||||
mainRef.value?.nsTableRef.reload();
|
||||
spinning.value = false;
|
||||
})
|
||||
.catch((error) => {
|
||||
message.error(error ? error : '保存失败!');
|
||||
});
|
||||
},
|
||||
onCancel() {
|
||||
console.log('Cancel');
|
||||
},
|
||||
class: 'test',
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
@@ -209,6 +218,7 @@
|
||||
const year = ref();
|
||||
const oldStartTime = ref();
|
||||
const oldEndTime = ref();
|
||||
const count = ref();
|
||||
const tableConfig = ref({
|
||||
title: '数据库',
|
||||
api: carbonInventoryCheck.carbonInventoryList,
|
||||
@@ -230,6 +240,7 @@
|
||||
{
|
||||
title: '序号',
|
||||
width: 50,
|
||||
align: 'center',
|
||||
customRender: (text: any) => {
|
||||
return text.index + 1;
|
||||
},
|
||||
@@ -237,37 +248,45 @@
|
||||
{
|
||||
title: '企业名称',
|
||||
width: 130,
|
||||
align: 'center',
|
||||
dataIndex: 'enterpriseName',
|
||||
},
|
||||
{
|
||||
title: '报告名称',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
dataIndex: 'reportName',
|
||||
},
|
||||
{
|
||||
title: '报告年度',
|
||||
width: 70,
|
||||
align: 'center',
|
||||
dataIndex: 'reportYear',
|
||||
},
|
||||
{
|
||||
title: '适用标准',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
dataIndex: 'genericStandard',
|
||||
ellipsis: true,
|
||||
},
|
||||
{
|
||||
title: '更新人',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
dataIndex: 'updateUser',
|
||||
},
|
||||
{
|
||||
title: '更新时间',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
dataIndex: 'updateTime',
|
||||
},
|
||||
],
|
||||
columnActions: {
|
||||
title: '操作',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
actions: [
|
||||
{
|
||||
label: '编辑',
|
||||
@@ -275,6 +294,7 @@
|
||||
handle: (record: any) => {
|
||||
text.value = '编辑报告';
|
||||
visible.value = true;
|
||||
count.value = record.count;
|
||||
fetch(carbonInventoryCheck.findById, { id: record.id }).then((res) => {
|
||||
formState.value = res.data;
|
||||
formState.value.reportScope = [res.data.startTime, res.data.endTime];
|
||||
|
@@ -63,12 +63,14 @@
|
||||
</div>
|
||||
<div class="tablePart">
|
||||
<a-table
|
||||
v-if="data && data.length > 0"
|
||||
:columns="columns"
|
||||
:data-source="data"
|
||||
size="middle"
|
||||
bordered
|
||||
:pagination="false"
|
||||
:scroll="{ x: 1300, y: 300 }">
|
||||
:pagination="false">
|
||||
</a-table>
|
||||
<a-empty v-else />
|
||||
</div>
|
||||
</div>
|
||||
</a-spin>
|
||||
@@ -266,41 +268,50 @@
|
||||
{
|
||||
title: '序号',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
customRender: (text: any) => {
|
||||
return text.index + 1;
|
||||
},
|
||||
},
|
||||
{
|
||||
title: '名称',
|
||||
align: 'center',
|
||||
dataIndex: 'itemizeName',
|
||||
},
|
||||
{
|
||||
title: '年份',
|
||||
dataIndex: 'year',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '计量单位',
|
||||
dataIndex: 'unitMeasurement',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '总实际用量',
|
||||
dataIndex: 'actualUsage',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '总预算量',
|
||||
dataIndex: 'budget',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '基准值',
|
||||
dataIndex: 'referenceValue',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '节能量',
|
||||
dataIndex: 'energyConservation',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '预算达成率',
|
||||
dataIndex: 'budgetAchievement',
|
||||
align: 'center',
|
||||
},
|
||||
]);
|
||||
|
||||
|
@@ -81,6 +81,7 @@
|
||||
</a-button>
|
||||
</div>
|
||||
<a-table
|
||||
v-if="data && data.length > 0"
|
||||
:columns="columns"
|
||||
:data-source="data"
|
||||
rowKey="id"
|
||||
@@ -123,6 +124,7 @@
|
||||
</a-table-summary-row>
|
||||
</template>
|
||||
</a-table>
|
||||
<a-empty v-else />
|
||||
</a-card>
|
||||
</div>
|
||||
</a-spin>
|
||||
@@ -369,46 +371,55 @@
|
||||
const columns = ref([
|
||||
{
|
||||
title: '序号',
|
||||
align: 'center',
|
||||
customRender: (text: any) => {
|
||||
return text.index + 1;
|
||||
},
|
||||
},
|
||||
{
|
||||
title: '日期',
|
||||
align: 'center',
|
||||
dataIndex: 'yearMonth',
|
||||
},
|
||||
{
|
||||
title: Number(props.year) - 1 + '年实际用量',
|
||||
dataIndex: 'lastYearActualUsage',
|
||||
align: 'center',
|
||||
customRender: ({ text }: { text: number }) => `${text ? text + unit.value : 0 + unit.value}`, // 在这里添加单位
|
||||
},
|
||||
{
|
||||
title: props.year + '年实际用量',
|
||||
dataIndex: 'actualUsage',
|
||||
align: 'center',
|
||||
customRender: ({ text }: { text: number }) => `${text ? text + unit.value : 0 + unit.value}`, // 在这里添加单位
|
||||
},
|
||||
{
|
||||
title: '基准值',
|
||||
align: 'center',
|
||||
dataIndex: 'referenceValue',
|
||||
customRender: ({ text }: { text: number }) => `${text ? text + unit.value : 0 + unit.value}`, // 在这里添加单位
|
||||
},
|
||||
{
|
||||
title: '是否按去年折算',
|
||||
dataIndex: 'lastYear',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '折算率',
|
||||
dataIndex: 'conversionRate',
|
||||
align: 'center',
|
||||
customRender: ({ text }: { text: number }) => `${text}%`, // 在这里添加单位
|
||||
},
|
||||
{
|
||||
title: '2024年预算',
|
||||
dataIndex: 'budget',
|
||||
align: 'center',
|
||||
customRender: ({ text }: { text: number }) => `${text ? text + unit.value : 0 + unit.value}`, // 在这里添加单位
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
key: 'action',
|
||||
align: 'center',
|
||||
width: 200,
|
||||
},
|
||||
]);
|
||||
@@ -891,6 +902,7 @@
|
||||
border-radius: 12px;
|
||||
background: rgba(255, 255, 255, 1);
|
||||
box-shadow: 0px 2px 20px rgb(69 123 234 / 20%);
|
||||
padding: 16px;
|
||||
.chart {
|
||||
width: 100%;
|
||||
height: 65%;
|
||||
|
@@ -46,6 +46,7 @@
|
||||
</div>
|
||||
<div class="tablePart">
|
||||
<a-table
|
||||
v-if="data && data.length > 0"
|
||||
:columns="columns"
|
||||
:data-source="data"
|
||||
bordered
|
||||
@@ -61,6 +62,7 @@
|
||||
</template>
|
||||
</template>
|
||||
</a-table>
|
||||
<a-empty v-else />
|
||||
</div>
|
||||
</div>
|
||||
</a-spin>
|
||||
@@ -382,11 +384,21 @@
|
||||
ballChartInstance = echarts.init(ballChartRef.value);
|
||||
let ballData = (Number(ballValue.value) / 100).toFixed(2);
|
||||
const option = {
|
||||
title: {
|
||||
text: selectedTime.value
|
||||
? '历年' + props.energyTypeName + '分析'
|
||||
: '每月' + props.energyTypeName + '分析',
|
||||
x: '0',
|
||||
textStyle: {
|
||||
color: 'rgba(51, 51, 51, 1)',
|
||||
fontSize: '16',
|
||||
},
|
||||
},
|
||||
series: [
|
||||
{
|
||||
type: 'liquidFill',
|
||||
radius: '78.1%',
|
||||
center: ['50%', '50%'],
|
||||
radius: '70%',
|
||||
center: ['55%', '55%'],
|
||||
color: !selectedTime.value
|
||||
? ['#ecf3fe', '#c8dcfe', '#5594fa']
|
||||
: ['rgba(12, 168, 126, 0.5)', 'rgba(12, 168, 126, 0.1)', 'rgba(12, 168, 126, 1)'],
|
||||
@@ -402,7 +414,7 @@
|
||||
textStyle: {
|
||||
color: !selectedTime.value ? 'rgba(68, 197, 253,1)' : 'rgba(12, 168, 126, 1)',
|
||||
insideColor: '#12786f',
|
||||
fontSize: Number(ballData) > 1000 ? 20 : 40,
|
||||
fontSize: Number(ballData) > 100 ? 20 : 40,
|
||||
},
|
||||
formatter: (params) => {
|
||||
// return `${(params.value * 100).toFixed(2)}%`;
|
||||
@@ -549,6 +561,7 @@
|
||||
const columns = ref([
|
||||
{
|
||||
title: '序号',
|
||||
align: 'center',
|
||||
customRender: (text: any) => {
|
||||
return text.index + 1;
|
||||
},
|
||||
@@ -556,37 +569,45 @@
|
||||
{
|
||||
title: '分项名称',
|
||||
dataIndex: 'itemizeName',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '年份',
|
||||
align: 'center',
|
||||
dataIndex: 'year',
|
||||
},
|
||||
{
|
||||
title: '实际用量',
|
||||
dataIndex: 'actualUsage',
|
||||
align: 'center',
|
||||
customRender: ({ text }: { text: number }) => `${text ? text + unit.value : 0 + unit.value}`, // 在这里添加单位
|
||||
},
|
||||
{
|
||||
title: '预算量',
|
||||
dataIndex: 'budget',
|
||||
align: 'center',
|
||||
customRender: ({ text }: { text: number }) => `${text ? text + unit.value : 0 + unit.value}`, // 在这里添加单位
|
||||
},
|
||||
{
|
||||
title: '基准值',
|
||||
dataIndex: 'referenceValue',
|
||||
align: 'center',
|
||||
customRender: ({ text }: { text: number }) => `${text ? text + unit.value : 0 + unit.value}`, // 在这里添加单位
|
||||
},
|
||||
{
|
||||
title: '节能量',
|
||||
dataIndex: 'energyConservation',
|
||||
align: 'center',
|
||||
customRender: ({ text }: { text: number }) => `${text ? text + unit.value : 0 + unit.value}`, // 在这里添加单位
|
||||
},
|
||||
{
|
||||
title: '预算达成率',
|
||||
align: 'center',
|
||||
dataIndex: 'budgetAchievement',
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
align: 'center',
|
||||
key: 'action',
|
||||
},
|
||||
]);
|
||||
@@ -693,13 +714,14 @@
|
||||
background: #ffffff;
|
||||
box-shadow: 0px 2px 20px rgb(69 123 234 / 20%);
|
||||
border-radius: 8px;
|
||||
padding: 16px;
|
||||
}
|
||||
.pillarChart {
|
||||
width: calc(80% - 12px);
|
||||
background: #ffffff;
|
||||
box-shadow: 0px 2px 20px rgb(69 123 234 / 20%);
|
||||
border-radius: 8px;
|
||||
padding: 5px;
|
||||
padding: 16px;
|
||||
}
|
||||
}
|
||||
.tablePart {
|
||||
|
@@ -103,7 +103,7 @@
|
||||
});
|
||||
} else if (key === '5') {
|
||||
tabId.value = 7;
|
||||
energyType.value = 'CARBON_EMISSIONS';
|
||||
energyType.value = 'HEAT_SUPPLY';
|
||||
energyTypeName.value = '供热量';
|
||||
nextTick(() => {
|
||||
if (carbonEmissionsRef.value) {
|
||||
@@ -113,7 +113,7 @@
|
||||
});
|
||||
} else if (key === '6') {
|
||||
tabId.value = 8;
|
||||
energyType.value = 'HEAT_SUPPLY';
|
||||
energyType.value = 'CARBON_EMISSIONS';
|
||||
energyTypeName.value = '碳排量';
|
||||
nextTick(() => {
|
||||
if (provideHotRef.value) {
|
||||
@@ -124,3 +124,27 @@
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
:deep(.ant-tabs-ink-bar) {
|
||||
height: 3px !important;
|
||||
border-radius: 2px !important;
|
||||
background: rgba(67, 136, 251, 1);
|
||||
}
|
||||
//table 颜色
|
||||
:deep(.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn) {
|
||||
font-size: 14px !important;
|
||||
font-weight: bolb !important;
|
||||
color: #333333 !important;
|
||||
}
|
||||
:deep(.ant-tabs-tab-btn) {
|
||||
font-size: 14px !important;
|
||||
color: #666666 !important;
|
||||
}
|
||||
:deep(.ant-tabs-content) {
|
||||
height: 100%;
|
||||
}
|
||||
:deep(.ant-tabs-tabpane) {
|
||||
height: 100%;
|
||||
}
|
||||
</style>
|
||||
|
Reference in New Issue
Block a user