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