taskId:099 remark:"commit"
This commit is contained in:
@@ -9,11 +9,11 @@ export enum carbonEmissionFactorLibrary {
|
|||||||
creat = '/carbon-smart/api/carbon/emission/type/creatOrUpdate',
|
creat = '/carbon-smart/api/carbon/emission/type/creatOrUpdate',
|
||||||
delTreeNode = '/carbon-smart/api/carbon/emission/type/del',
|
delTreeNode = '/carbon-smart/api/carbon/emission/type/del',
|
||||||
// 单位管理
|
// 单位管理
|
||||||
dictionaryUnitManagement = '/carbon-smart/api/carbon/emission/factor/dictionaryUnitManagement',
|
dictionaryUnitManagement = '/carbon-smart/client/dict/dictionaryUnitManagement',
|
||||||
findOutermost = '/carbon-smart/api/carbon/emission/factor/findOutermost',
|
findOutermost = '/carbon-smart/client/dict/findOutermost',
|
||||||
createDictionary = '/carbon-smart/api/carbon/emission/factor/createDictionary',
|
createDictionary = '/carbon-smart/client/dict/createDictionary',
|
||||||
updateDictionary = '/carbon-smart/api/carbon/emission/factor/updateDictionary',
|
updateDictionary = '/carbon-smart/client/dict/updateDictionary',
|
||||||
delDictionary = '/carbon-smart/api/carbon/emission/factor/delDictionary',
|
delDictionary = '/carbon-smart/client/dict/delDictionary',
|
||||||
}
|
}
|
||||||
// 碳排管理-碳排统计接口
|
// 碳排管理-碳排统计接口
|
||||||
export enum energyConsumption {
|
export enum energyConsumption {
|
||||||
|
@@ -45,6 +45,26 @@ const equipment = {
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: 'carbonInventoryCheck',
|
||||||
|
name: 'CarbonInventoryCheck',
|
||||||
|
meta: { title: '碳盘查', hideChildren: true, icon: 'tanpaiguanli' },
|
||||||
|
component: Base,
|
||||||
|
redirect: { name: 'CarbonInventoryCheckIndex' },
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
path: 'index',
|
||||||
|
name: 'CarbonInventoryCheckIndex',
|
||||||
|
// component: () => import('/nerv-lib/saas/view/menuManage/index.vue'),
|
||||||
|
component: () => import('/@/view/carbonEmissionManage/carbonInventoryCheck/index.vue'),
|
||||||
|
meta: {
|
||||||
|
title: '碳盘查',
|
||||||
|
keepAlive: true,
|
||||||
|
// backApi: [],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
export default equipment;
|
export default equipment;
|
||||||
|
@@ -707,16 +707,17 @@
|
|||||||
{
|
{
|
||||||
field: 'emissionProcess',
|
field: 'emissionProcess',
|
||||||
label: '排放环节',
|
label: '排放环节',
|
||||||
component: 'NsSelect',
|
component: 'NsInput',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
allowClear: true,
|
// allowClear: true,
|
||||||
placeholder: '请选择排放环节',
|
placeholder: '请选择排放环节',
|
||||||
options: [
|
maxLength: 30,
|
||||||
{
|
// options: [
|
||||||
label: '消费环节',
|
// {
|
||||||
value: 0,
|
// label: '消费环节',
|
||||||
}
|
// value: 0,
|
||||||
],
|
// }
|
||||||
|
// ],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@@ -0,0 +1,306 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<!-- <a-table
|
||||||
|
:columns="column"
|
||||||
|
:data-source="data"
|
||||||
|
bordered
|
||||||
|
:pagination="false"
|
||||||
|
:scroll="{ x: 2000 }">
|
||||||
|
<template #title>
|
||||||
|
<a-date-picker v-model:value="selectYear" picker="year" @change="changeYearData" valueFormat="YYYY" />
|
||||||
|
</template>
|
||||||
|
</a-table> -->
|
||||||
|
<ns-view-list-table v-bind="tableConfig" :model="data" ref="mainRef" />
|
||||||
|
<!-- <a-pagination
|
||||||
|
:current="queryParams.pageNum"
|
||||||
|
:total="total"
|
||||||
|
:page-size="queryParams.pageSize"
|
||||||
|
style="display: flex;justify-content: center;margin-top: 16px;"
|
||||||
|
:show-size-changer="true"
|
||||||
|
:show-quick-jumper="true"
|
||||||
|
@change="onChange" /> -->
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script lang="ts" setup>
|
||||||
|
import { ref } from 'vue';
|
||||||
|
import { http } from '/nerv-lib/util/http';
|
||||||
|
import { Pagination } from 'ant-design-vue';
|
||||||
|
import dayjs, { Dayjs } from 'dayjs';
|
||||||
|
import { carbonEmission } from '/@/api/carbonEmissionFactorLibrary';
|
||||||
|
defineOptions({
|
||||||
|
energyType: 'CarbonEmissions', // 与页面路由name一致缓存才可生效
|
||||||
|
components: {
|
||||||
|
'a-pagination': Pagination,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
const orgId = ref('');
|
||||||
|
const result = JSON.parse(sessionStorage.getItem('ORGID')!);
|
||||||
|
orgId.value = result;
|
||||||
|
const fetch = (api, params = { orgId } ) => {
|
||||||
|
return http.post(api, params);
|
||||||
|
};
|
||||||
|
const data = ref([]);
|
||||||
|
const selectYear = ref<Dayjs>(dayjs( new Date().getFullYear().toString()));
|
||||||
|
const total = ref<number>()
|
||||||
|
const queryParams = ref({
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
year: selectYear.value.format('YYYY'),
|
||||||
|
orgId: orgId.value
|
||||||
|
})
|
||||||
|
|
||||||
|
// 年份选择改变触发
|
||||||
|
// const changeYearData = () => {
|
||||||
|
// queryParams.value.year = selectYear.value
|
||||||
|
// getTableList()
|
||||||
|
// }
|
||||||
|
// 表头
|
||||||
|
const mainRef = ref();
|
||||||
|
const column: TableColumnsType [] = [
|
||||||
|
{
|
||||||
|
title: '排放类型',
|
||||||
|
dataIndex: 'cnValue',
|
||||||
|
customCell: (record, rowIndex) => {
|
||||||
|
if (rowIndex == undefined) {
|
||||||
|
return {
|
||||||
|
rowSpan: 0,
|
||||||
|
colSpan: 0,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
const rowSpan = getRowSpan('cnValue', record, data.value);
|
||||||
|
if (rowIndex != 0 && data.value[rowIndex - 1].name == record.name) {
|
||||||
|
return {
|
||||||
|
rowSpan: 0,
|
||||||
|
colSpan: 0,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
rowSpan: rowSpan,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '能源种类',
|
||||||
|
dataIndex: 'energyType',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '计量单位',
|
||||||
|
dataIndex: 'unit',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '加权平均',
|
||||||
|
dataIndex: 'averageFactorValue',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '全年',
|
||||||
|
dataIndex: 'carbonYearly',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '1月',
|
||||||
|
dataIndex: 'jan',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '2月',
|
||||||
|
dataIndex: 'feb',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '3月',
|
||||||
|
dataIndex: 'mar',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '4月',
|
||||||
|
dataIndex: 'apr',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '5月',
|
||||||
|
dataIndex: 'may',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '6月',
|
||||||
|
dataIndex: 'jun',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '7月',
|
||||||
|
dataIndex: 'jul',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '8月',
|
||||||
|
dataIndex: 'aug',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '9月',
|
||||||
|
dataIndex: 'sep',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '10月',
|
||||||
|
dataIndex: 'oct',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '11月',
|
||||||
|
dataIndex: 'nov',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '12月',
|
||||||
|
dataIndex: 'dec',
|
||||||
|
},
|
||||||
|
];
|
||||||
|
const year = ref(selectYear.value.format('YYYY'))
|
||||||
|
const tableConfig = ref({
|
||||||
|
title: '碳排统计',
|
||||||
|
api: carbonEmission.carbonEmissionStatistics,
|
||||||
|
params: {
|
||||||
|
orgId,
|
||||||
|
year
|
||||||
|
},
|
||||||
|
columns: [
|
||||||
|
{
|
||||||
|
title: '排放类型',
|
||||||
|
dataIndex: 'cnValue',
|
||||||
|
customCell: (record, rowIndex) => {
|
||||||
|
if (rowIndex == undefined) {
|
||||||
|
return {
|
||||||
|
rowSpan: 0,
|
||||||
|
colSpan: 0,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
const rowSpan = getRowSpan('cnValue', record, data.value);
|
||||||
|
if (rowIndex != 0 && data.value[rowIndex - 1].name == record.name) {
|
||||||
|
return {
|
||||||
|
rowSpan: 0,
|
||||||
|
colSpan: 0,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
rowSpan: rowSpan,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '能源种类',
|
||||||
|
dataIndex: 'energyType',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '计量单位',
|
||||||
|
dataIndex: 'unit',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '加权平均',
|
||||||
|
dataIndex: 'averageFactorValue',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '全年',
|
||||||
|
dataIndex: 'carbonYearly',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '1月',
|
||||||
|
dataIndex: 'jan',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '2月',
|
||||||
|
dataIndex: 'feb',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '3月',
|
||||||
|
dataIndex: 'mar',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '4月',
|
||||||
|
dataIndex: 'apr',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '5月',
|
||||||
|
dataIndex: 'may',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '6月',
|
||||||
|
dataIndex: 'jun',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '7月',
|
||||||
|
dataIndex: 'jul',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '8月',
|
||||||
|
dataIndex: 'aug',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '9月',
|
||||||
|
dataIndex: 'sep',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '10月',
|
||||||
|
dataIndex: 'oct',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '11月',
|
||||||
|
dataIndex: 'nov',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '12月',
|
||||||
|
dataIndex: 'dec',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
formConfig: {
|
||||||
|
schemas: [
|
||||||
|
{
|
||||||
|
field: 'year',
|
||||||
|
label: '年份',
|
||||||
|
component: 'NsDatePicker',
|
||||||
|
componentProps: {
|
||||||
|
picker: 'year',
|
||||||
|
valueFormat: 'YYYY',
|
||||||
|
defaultValue: selectYear.value.format('YYYY'),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
params: {},
|
||||||
|
},
|
||||||
|
rowKey: 'id',
|
||||||
|
});
|
||||||
|
// 合并单元格
|
||||||
|
const getRowSpan = (dataIndex: string, record: any, data: any, dependents: string[] = []) => {
|
||||||
|
let rowSpan = 1;
|
||||||
|
for (let i = data.indexOf(record) + 1; i < data.length; i++) {
|
||||||
|
let shouldMerge = true;
|
||||||
|
for (const dependent of dependents) {
|
||||||
|
if (data[i][dependent] !== record[dependent]) {
|
||||||
|
shouldMerge = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (shouldMerge && data[i][dataIndex] === record[dataIndex]) {
|
||||||
|
rowSpan++;
|
||||||
|
} else {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return rowSpan;
|
||||||
|
};
|
||||||
|
// 获取表格数据
|
||||||
|
// const getTableList = () => {
|
||||||
|
// fetch(carbonEmission.carbonEmissionStatistics , queryParams.value).then((res) => {
|
||||||
|
// data.value = res.data.records
|
||||||
|
// total.value = res.data.total
|
||||||
|
// });
|
||||||
|
// };
|
||||||
|
// 分页器
|
||||||
|
// const onChange = (pageNumber: number,size: number) => {
|
||||||
|
// queryParams.value.pageNum = pageNumber;
|
||||||
|
// queryParams.value.pageSize = size;
|
||||||
|
// getTableList()
|
||||||
|
// };
|
||||||
|
</script>
|
||||||
|
<style scoped lang="less">
|
||||||
|
::v-deep .ant-table-title{
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
::v-deep .ant-table-container{
|
||||||
|
padding: 0px 16px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<style scoped>
|
||||||
|
th.column-money,
|
||||||
|
td.column-money {
|
||||||
|
text-align: right !important;
|
||||||
|
}
|
||||||
|
</style>
|
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<a-table
|
<!-- <a-table
|
||||||
:columns="tableColumns"
|
:columns="tableColumns"
|
||||||
:data-source="data"
|
:data-source="data"
|
||||||
bordered
|
bordered
|
||||||
@@ -26,15 +26,16 @@
|
|||||||
<a-button type="primary">凭证下载</a-button>
|
<a-button type="primary">凭证下载</a-button>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</a-table>
|
</a-table> -->
|
||||||
<a-pagination
|
<ns-view-list-table v-bind="tableConfig" :model="data" ref="mainRef" :scroll="{ x: 1500}" />
|
||||||
|
<!-- <a-pagination
|
||||||
:current="queryParams.pageNum"
|
:current="queryParams.pageNum"
|
||||||
:total="total"
|
:total="total"
|
||||||
:page-size="queryParams.pageSize"
|
:page-size="queryParams.pageSize"
|
||||||
style="display: flex;justify-content: center;margin-top: 16px;"
|
style="display: flex;justify-content: center;margin-top: 16px;"
|
||||||
:show-size-changer="true"
|
:show-size-changer="true"
|
||||||
:show-quick-jumper="true"
|
:show-quick-jumper="true"
|
||||||
@change="onChange" />
|
@change="onChange" /> -->
|
||||||
<!-- 新增数据库数据 -->
|
<!-- 新增数据库数据 -->
|
||||||
<a-drawer
|
<a-drawer
|
||||||
:width="500"
|
:width="500"
|
||||||
@@ -158,6 +159,7 @@
|
|||||||
import { Pagination,message,Modal } from 'ant-design-vue';
|
import { Pagination,message,Modal } from 'ant-design-vue';
|
||||||
import { InboxOutlined } from '@ant-design/icons-vue';
|
import { InboxOutlined } from '@ant-design/icons-vue';
|
||||||
import type { CascaderProps,TreeSelectProps,UploadChangeParam } from 'ant-design-vue';
|
import type { CascaderProps,TreeSelectProps,UploadChangeParam } from 'ant-design-vue';
|
||||||
|
import { NsMessage } from '/nerv-lib/component';
|
||||||
import dayjs, { Dayjs } from 'dayjs';
|
import dayjs, { Dayjs } from 'dayjs';
|
||||||
import { http } from '/nerv-lib/util/http';
|
import { http } from '/nerv-lib/util/http';
|
||||||
import { tableColumns } from '../config';
|
import { tableColumns } from '../config';
|
||||||
@@ -229,19 +231,182 @@
|
|||||||
queryParams.value.year = selectYear.value
|
queryParams.value.year = selectYear.value
|
||||||
getTableList()
|
getTableList()
|
||||||
}
|
}
|
||||||
|
const mainRef = ref();
|
||||||
|
const year = selectYear.value.format('YYYY')
|
||||||
|
const tableConfig = ref({
|
||||||
|
title: '能耗统计',
|
||||||
|
api: energyConsumption.pageList,
|
||||||
|
params: queryParams.value,
|
||||||
|
headerActions: [
|
||||||
|
{
|
||||||
|
label: '新增',
|
||||||
|
name: 'userAdd',
|
||||||
|
type: 'primary',
|
||||||
|
handle: () => {
|
||||||
|
getDictList()
|
||||||
|
visible.value = true
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '导入',
|
||||||
|
type: 'primary',
|
||||||
|
name: 'userImport',
|
||||||
|
handle: () => {},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '导出',
|
||||||
|
type: 'primary',
|
||||||
|
name: 'userExports',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '模板下载',
|
||||||
|
type: 'primary',
|
||||||
|
name: 'userExports',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '上传凭证',
|
||||||
|
type: 'primary',
|
||||||
|
handle: () => {
|
||||||
|
openUpload.value = true;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '凭证下载',
|
||||||
|
type: 'primary',
|
||||||
|
name: 'userExports',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
columns: [
|
||||||
|
{
|
||||||
|
title: '序号',
|
||||||
|
customRender: (text: any) => {
|
||||||
|
return text.index + 1;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '能源种类',
|
||||||
|
dataIndex: 'energyType',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '计量单位',
|
||||||
|
className: 'unit',
|
||||||
|
dataIndex: 'unit',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '全年',
|
||||||
|
dataIndex: 'yearly',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '1月',
|
||||||
|
dataIndex: 'jan',
|
||||||
|
// customRender: ({ text, record }) => ({
|
||||||
|
// children: text,
|
||||||
|
// attrs: {
|
||||||
|
// style: record.janFlag === 1 ? 'color: red' : 'color: blue'
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '2月',
|
||||||
|
dataIndex: 'feb',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '3月',
|
||||||
|
dataIndex: 'mar',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '4月',
|
||||||
|
dataIndex: 'apr',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '5月',
|
||||||
|
dataIndex: 'may',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '6月',
|
||||||
|
dataIndex: 'jun',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '7月',
|
||||||
|
dataIndex: 'jul',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '8月',
|
||||||
|
dataIndex: 'aug',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '9月',
|
||||||
|
dataIndex: 'sep',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '10月',
|
||||||
|
dataIndex: 'oct',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '11月',
|
||||||
|
dataIndex: 'nov',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '12月',
|
||||||
|
dataIndex: 'dec',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
columnActions: {
|
||||||
|
title: '操作',
|
||||||
|
actions: [
|
||||||
|
{
|
||||||
|
label: '编辑',
|
||||||
|
name: 'userEdit',
|
||||||
|
handle: (record: any) => {
|
||||||
|
getDictList()
|
||||||
|
visible.value = true
|
||||||
|
fetch(energyConsumption.findById , {id : record.id }).then((res) => {
|
||||||
|
if(res.data.unit){
|
||||||
|
res.data.unit = res.data.unit.split(',')
|
||||||
|
}
|
||||||
|
formState.value = res.data
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '删除',
|
||||||
|
name: 'userDelete',
|
||||||
|
dynamicParams: { id: 'id' },
|
||||||
|
confirm: true,
|
||||||
|
isReload: true,
|
||||||
|
api: energyConsumption.del,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
|
formConfig: {
|
||||||
|
schemas: [
|
||||||
|
{
|
||||||
|
field: 'year',
|
||||||
|
label: '年份',
|
||||||
|
component: 'NsDatePicker',
|
||||||
|
componentProps: {
|
||||||
|
picker: 'year',
|
||||||
|
valueFormat: 'YYYY',
|
||||||
|
defaultValue: selectYear.value.format('YYYY'),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
params: {},
|
||||||
|
},
|
||||||
|
rowKey: 'id',
|
||||||
|
});
|
||||||
// 获取表格数据
|
// 获取表格数据
|
||||||
const getTableList = () => {
|
const getTableList = () => {
|
||||||
fetch(energyConsumption.pageList , queryParams.value).then((res) => {
|
fetch(energyConsumption.pageList , queryParams.value).then((res) => {
|
||||||
data.value = res.data.records
|
data.value = res.data.records
|
||||||
total.value = res.data.total
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
getTableList()
|
|
||||||
// 分页器
|
// 分页器
|
||||||
const onChange = (pageNumber: number,size: number) => {
|
const onChange = (pageNumber: number,size: number) => {
|
||||||
queryParams.value.pageNum = pageNumber;
|
queryParams.value.pageNum = pageNumber;
|
||||||
queryParams.value.pageSize = size;
|
queryParams.value.pageSize = size;
|
||||||
getTableList()
|
mainRef.value?.nsTableRef.reload();
|
||||||
};
|
};
|
||||||
// 计算碳排切换
|
// 计算碳排切换
|
||||||
const changeRadio = (e) => {
|
const changeRadio = (e) => {
|
||||||
@@ -263,23 +428,20 @@
|
|||||||
if(formState.value.id){
|
if(formState.value.id){
|
||||||
fetch(energyConsumption.update , formState.value).then((res) => {
|
fetch(energyConsumption.update , formState.value).then((res) => {
|
||||||
visible.value = false
|
visible.value = false
|
||||||
|
formState.value = {}
|
||||||
message.success('操作成功!');
|
message.success('操作成功!');
|
||||||
getTableList()
|
mainRef.value?.nsTableRef.reload();
|
||||||
});
|
});
|
||||||
}else{
|
}else{
|
||||||
fetch(energyConsumption.creat , formState.value).then((res) => {
|
fetch(energyConsumption.creat , formState.value).then((res) => {
|
||||||
if(res.data === '新增数据已存在'){
|
if(res.data === '新增数据已存在'){
|
||||||
visible.value = false
|
visible.value = false
|
||||||
queryParams.value = formState.value
|
NsMessage.warning(res.data);
|
||||||
queryParams.value.pageNum = 1,
|
|
||||||
queryParams.value.pageSize = 10,
|
|
||||||
queryParams.value.orgId = orgId.value,
|
|
||||||
queryParams.value.year = selectYear.value.format('YYYY')
|
|
||||||
getTableList()
|
|
||||||
}else{
|
}else{
|
||||||
visible.value = false
|
visible.value = false
|
||||||
|
formState.value = {}
|
||||||
message.success('操作成功!');
|
message.success('操作成功!');
|
||||||
getTableList()
|
mainRef.value?.nsTableRef.reload();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -298,10 +460,10 @@
|
|||||||
fetch(carbonEmissionFactorLibrary.dictionaryUnitManagement, { grp: 'MEASUREMENT_UNIT'}).then((res) => {
|
fetch(carbonEmissionFactorLibrary.dictionaryUnitManagement, { grp: 'MEASUREMENT_UNIT'}).then((res) => {
|
||||||
measurementUnit.value = res.data
|
measurementUnit.value = res.data
|
||||||
measurementUnit.value = measurementUnit.value.map(item => ({
|
measurementUnit.value = measurementUnit.value.map(item => ({
|
||||||
value: item.cnValue,
|
value: item.id,
|
||||||
label: item.cnValue,
|
label: item.cnValue,
|
||||||
children: item.children ? item.children.map(child => ({
|
children: item.children ? item.children.map(child => ({
|
||||||
value: child.cnValue,
|
value: child.id,
|
||||||
label: child.cnValue
|
label: child.cnValue
|
||||||
})) : []
|
})) : []
|
||||||
}));
|
}));
|
||||||
@@ -310,10 +472,10 @@
|
|||||||
fetch(group.queryDeviceGroupTree, { energyType: 'ELECTRICITY_USAGE',orgId: orgId.value }).then((res) => {
|
fetch(group.queryDeviceGroupTree, { energyType: 'ELECTRICITY_USAGE',orgId: orgId.value }).then((res) => {
|
||||||
treeData.value = res.data
|
treeData.value = res.data
|
||||||
treeData.value = treeData.value.map(item => ({
|
treeData.value = treeData.value.map(item => ({
|
||||||
value: item.pointName,
|
value: item.id,
|
||||||
label: item.pointName,
|
label: item.pointName,
|
||||||
children: item.children ? item.children.map(child => ({
|
children: item.children ? item.children.map(child => ({
|
||||||
value: child.pointName,
|
value: child.id,
|
||||||
label: child.pointName
|
label: child.pointName
|
||||||
})) : []
|
})) : []
|
||||||
}));
|
}));
|
||||||
@@ -346,7 +508,7 @@
|
|||||||
onOk() {
|
onOk() {
|
||||||
fetch(energyConsumption.del , {id : record.id }).then((res) => {
|
fetch(energyConsumption.del , {id : record.id }).then((res) => {
|
||||||
message.success('操作成功!');
|
message.success('操作成功!');
|
||||||
getTableList()
|
mainRef.value?.nsTableRef.reload();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
onCancel() {
|
onCancel() {
|
||||||
@@ -357,6 +519,7 @@
|
|||||||
// 关闭新增抽屉
|
// 关闭新增抽屉
|
||||||
const onClose = () => {
|
const onClose = () => {
|
||||||
visible.value = false;
|
visible.value = false;
|
||||||
|
formState.value = {}
|
||||||
formRef.value.resetFields();
|
formRef.value.resetFields();
|
||||||
};
|
};
|
||||||
// 点击上传凭证按钮
|
// 点击上传凭证按钮
|
||||||
|
@@ -39,7 +39,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<a-table
|
<!-- <a-table
|
||||||
:columns="columns"
|
:columns="columns"
|
||||||
:data-source="tableData"
|
:data-source="tableData"
|
||||||
bordered
|
bordered
|
||||||
@@ -59,7 +59,8 @@
|
|||||||
<a-button type="primary" @click="addNewData">新增</a-button>
|
<a-button type="primary" @click="addNewData">新增</a-button>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</a-table>
|
</a-table> -->
|
||||||
|
<ns-view-list-table v-bind="tableConfig" :model="tableData" ref="mainRef" />
|
||||||
<a-pagination
|
<a-pagination
|
||||||
:current="queryParams.pageNum"
|
:current="queryParams.pageNum"
|
||||||
:total="total"
|
:total="total"
|
||||||
@@ -139,6 +140,7 @@
|
|||||||
const fetch = (api, params = { orgId } ) => {
|
const fetch = (api, params = { orgId } ) => {
|
||||||
return http.post(api, params);
|
return http.post(api, params);
|
||||||
};
|
};
|
||||||
|
const mainRef = ref();
|
||||||
// 数结构
|
// 数结构
|
||||||
const x = 3;
|
const x = 3;
|
||||||
const y = 2;
|
const y = 2;
|
||||||
@@ -209,12 +211,13 @@
|
|||||||
autoExpandParent.value = false;
|
autoExpandParent.value = false;
|
||||||
};
|
};
|
||||||
// 被选中的树节点
|
// 被选中的树节点
|
||||||
|
const energyType = ref()
|
||||||
const onSelect = (selectedKey: string[], info: any) => {
|
const onSelect = (selectedKey: string[], info: any) => {
|
||||||
selectedKeys.value = selectedKey;
|
selectedKeys.value = selectedKey;
|
||||||
if(info.selected){
|
if(info.selected){
|
||||||
queryParams.value.energyType = info.node.id
|
energyType.value = info.node.id
|
||||||
statsId.value = info.node.id
|
statsId.value = info.node.id
|
||||||
getTableList()
|
mainRef.value?.nsTableRef.reload();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -239,10 +242,9 @@
|
|||||||
const getTreeData = () => {
|
const getTreeData = () => {
|
||||||
fetch(quickCalculation.carbonQuickTree).then((res) => {
|
fetch(quickCalculation.carbonQuickTree).then((res) => {
|
||||||
gData.value = res.data
|
gData.value = res.data
|
||||||
debugger
|
energyType.value = gData.value[0].children[0].id
|
||||||
queryParams.value.energyType = gData.value[0].children[0].id
|
|
||||||
statsId.value = gData.value[0].children[0].id
|
statsId.value = gData.value[0].children[0].id
|
||||||
getTableList()
|
mainRef.value?.nsTableRef.reload();
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
getTreeData()
|
getTreeData()
|
||||||
@@ -254,6 +256,90 @@
|
|||||||
orgId: orgId.value
|
orgId: orgId.value
|
||||||
})
|
})
|
||||||
const tableData = ref([]);
|
const tableData = ref([]);
|
||||||
|
|
||||||
|
const tableConfig = ref({
|
||||||
|
title: '排放因子库',
|
||||||
|
api: quickCalculation.queryCarbonEmissionPage,
|
||||||
|
params: {
|
||||||
|
orgId,
|
||||||
|
energyType
|
||||||
|
},
|
||||||
|
headerActions: [
|
||||||
|
{
|
||||||
|
label: '新增',
|
||||||
|
name: 'userAdd',
|
||||||
|
type: 'primary',
|
||||||
|
handle: () => {
|
||||||
|
visible.value = true
|
||||||
|
getNewTable()
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
columns: [
|
||||||
|
{
|
||||||
|
title: '序号',
|
||||||
|
customRender: (text: any) => {
|
||||||
|
return text.index + 1;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '因子值',
|
||||||
|
dataIndex: 'emissionFactors',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '计量单位',
|
||||||
|
className: 'carbonEmissionSuffix',
|
||||||
|
dataIndex: 'carbonEmissionSuffix',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '更新时间',
|
||||||
|
className: 'updateTime',
|
||||||
|
dataIndex: 'updateTime',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '启用时间',
|
||||||
|
className: 'startTime',
|
||||||
|
dataIndex: 'startTime',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '结束时间',
|
||||||
|
className: 'endTime',
|
||||||
|
dataIndex: 'endTime',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '数据来源',
|
||||||
|
className: 'dataSources',
|
||||||
|
dataIndex: 'dataSources',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
columnActions: {
|
||||||
|
title: '操作',
|
||||||
|
actions: [
|
||||||
|
{
|
||||||
|
label: '编辑',
|
||||||
|
name: 'userEdit',
|
||||||
|
handle: (record: any) => {
|
||||||
|
selectedRowKeys.value = [record.carbonId];
|
||||||
|
formState.value.id = record.id
|
||||||
|
formState.value.emissionFactors = record.emissionFactors
|
||||||
|
formState.value.dateRange = [record.startTime, record.endTime];
|
||||||
|
formState.value.carbonId = record.carbonId
|
||||||
|
visible.value = true
|
||||||
|
getNewTable()
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '删除',
|
||||||
|
name: 'userDelete',
|
||||||
|
dynamicParams: { id: 'id' },
|
||||||
|
confirm: true,
|
||||||
|
isReload: true,
|
||||||
|
api: quickCalculation.del,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
rowKey: 'id',
|
||||||
|
});
|
||||||
// 获取列表数据
|
// 获取列表数据
|
||||||
const getTableList = () => {
|
const getTableList = () => {
|
||||||
fetch(quickCalculation.queryCarbonEmissionPage,queryParams.value).then((res) => {
|
fetch(quickCalculation.queryCarbonEmissionPage,queryParams.value).then((res) => {
|
||||||
@@ -265,7 +351,7 @@
|
|||||||
const onChange = (pageNumber: number,size: number) => {
|
const onChange = (pageNumber: number,size: number) => {
|
||||||
queryParams.value.pageNum = pageNumber;
|
queryParams.value.pageNum = pageNumber;
|
||||||
queryParams.value.pageSize = size;
|
queryParams.value.pageSize = size;
|
||||||
getTableList()
|
mainRef.value?.nsTableRef.reload();
|
||||||
};
|
};
|
||||||
// 新增/编辑
|
// 新增/编辑
|
||||||
const formRef = ref();
|
const formRef = ref();
|
||||||
@@ -321,14 +407,13 @@
|
|||||||
formState.value.startTime = formState.value.dateRange[0]
|
formState.value.startTime = formState.value.dateRange[0]
|
||||||
formState.value.endTime = formState.value.dateRange[1]
|
formState.value.endTime = formState.value.dateRange[1]
|
||||||
console.log('values', formState, toRaw(formState));
|
console.log('values', formState, toRaw(formState));
|
||||||
debugger
|
|
||||||
if(formState.value.id){
|
if(formState.value.id){
|
||||||
fetch(quickCalculation.update,formState.value).then((res) => {
|
fetch(quickCalculation.update,formState.value).then((res) => {
|
||||||
visible.value = false
|
visible.value = false
|
||||||
selectedRowKeys.value = [];
|
selectedRowKeys.value = [];
|
||||||
formState.value = {}
|
formState.value = {}
|
||||||
formRef.value.resetFields();
|
formRef.value.resetFields();
|
||||||
getTableList()
|
mainRef.value?.nsTableRef.reload();
|
||||||
});
|
});
|
||||||
}else{
|
}else{
|
||||||
fetch(quickCalculation.creat,formState.value).then((res) => {
|
fetch(quickCalculation.creat,formState.value).then((res) => {
|
||||||
@@ -336,7 +421,7 @@
|
|||||||
selectedRowKeys.value = [];
|
selectedRowKeys.value = [];
|
||||||
formState.value = {}
|
formState.value = {}
|
||||||
formRef.value.resetFields();
|
formRef.value.resetFields();
|
||||||
getTableList()
|
mainRef.value?.nsTableRef.reload();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -408,6 +493,9 @@
|
|||||||
::v-deep .ant-table-container{
|
::v-deep .ant-table-container{
|
||||||
padding: 0px 16px;
|
padding: 0px 16px;
|
||||||
}
|
}
|
||||||
|
:deep(.ns-table-main) {
|
||||||
|
margin-top: unset !important;
|
||||||
|
}
|
||||||
.top {
|
.top {
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
}
|
}
|
||||||
|
@@ -0,0 +1,283 @@
|
|||||||
|
import { ref } from 'vue';
|
||||||
|
import { http } from '/nerv-lib/util';
|
||||||
|
import { origanizemanage } from '/@/api/origanizemanage';
|
||||||
|
import { carbonEmissionFactorLibrary } from '/@/api/carbonEmissionFactorLibrary';
|
||||||
|
export const formConfig = (disabled) => {
|
||||||
|
return ref([
|
||||||
|
{
|
||||||
|
field: 'fields',
|
||||||
|
component: 'NsChildForm',
|
||||||
|
componentProps: {
|
||||||
|
schemas: [
|
||||||
|
{
|
||||||
|
label: '排放源',
|
||||||
|
field: 'emissionSources',
|
||||||
|
component: 'NsInput',
|
||||||
|
componentProps: {
|
||||||
|
placeholder: '请输入排放源',
|
||||||
|
maxLength: 20,
|
||||||
|
},
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请输入排放源',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'emissionType',
|
||||||
|
label: '排放分类',
|
||||||
|
component: 'NsCascader',
|
||||||
|
fieldMap: ['emissionType'],
|
||||||
|
componentProps: {
|
||||||
|
placeholder: '请选择排放分类',
|
||||||
|
api: carbonEmissionFactorLibrary.getCarbonFactorTree,
|
||||||
|
fieldNames: { label: 'emissionName', value: 'id' },
|
||||||
|
showSearch: true,
|
||||||
|
},
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请选择排放分类',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'emissionGas',
|
||||||
|
label: '排放气体',
|
||||||
|
component: 'NsSelect',
|
||||||
|
componentProps: {
|
||||||
|
allowClear: true,
|
||||||
|
placeholder: '请选择排放气体',
|
||||||
|
options: [
|
||||||
|
{
|
||||||
|
label: 'CO2',
|
||||||
|
value: 'CO2',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'CO2e',
|
||||||
|
value: 'CO2e',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'SF6',
|
||||||
|
value:'SF6',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'CH4',
|
||||||
|
value: 'CH4',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'PFCs',
|
||||||
|
value: 'PFCs',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'HFCs',
|
||||||
|
value: 'HFCs',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请选择排放气体',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
// {
|
||||||
|
// field: 'emissionProcess',
|
||||||
|
// label: '排放环节',
|
||||||
|
// component: 'NsSelectApi',
|
||||||
|
// componentProps: {
|
||||||
|
// api: carbonEmissionFactorLibrary.getEmissionProcess,
|
||||||
|
// params: {
|
||||||
|
// emissionType: sessionStorage.getItem('checkedTreeNode'),
|
||||||
|
// },
|
||||||
|
// resultField: 'data',
|
||||||
|
// labelField: 'emissionProcess',
|
||||||
|
// valueField: 'emissionProcess',
|
||||||
|
// immediate: true,
|
||||||
|
// autoSelectFirst: false,
|
||||||
|
// filterOption:false,
|
||||||
|
// showSearch:true,
|
||||||
|
// autoClearSearchValue:false
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
{
|
||||||
|
label: '排放环节',
|
||||||
|
field: 'emissionProcess',
|
||||||
|
component: 'NsInput',
|
||||||
|
componentProps: {
|
||||||
|
placeholder: '请输入排放环节',
|
||||||
|
maxLength: 20,
|
||||||
|
},
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请输入排放环节',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '排放因子',
|
||||||
|
field: 'emissionFactors',
|
||||||
|
component: 'NsInputNumber',
|
||||||
|
componentProps: {
|
||||||
|
placeholder: '请输入排放因子值',
|
||||||
|
maxLength: 20,
|
||||||
|
},
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请输入排放因子值',
|
||||||
|
trigger: 'change',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'carbonEmissionPrefix',
|
||||||
|
label: '碳排前缀',
|
||||||
|
component: 'NsSelect',
|
||||||
|
componentProps: {
|
||||||
|
disabled: true,
|
||||||
|
allowClear: true,
|
||||||
|
defaultValue: 't',
|
||||||
|
placeholder: '请选择碳排前缀',
|
||||||
|
options: [
|
||||||
|
{
|
||||||
|
label: 'g',
|
||||||
|
value: 'g',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'kg',
|
||||||
|
value: 'kg',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 't',
|
||||||
|
value: 't',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请选择碳排前缀',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '碳排后缀',
|
||||||
|
field: 'carbonEmissionSuffix',
|
||||||
|
component: 'NsInput',
|
||||||
|
componentProps: {
|
||||||
|
placeholder: '请输入碳排后缀',
|
||||||
|
maxLength: 20,
|
||||||
|
},
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请输入碳排后缀',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '已引用数',
|
||||||
|
field: 'numberOfReferences',
|
||||||
|
component: 'NsInput',
|
||||||
|
componentProps: {
|
||||||
|
defaultValue: 10,
|
||||||
|
disabled: true,
|
||||||
|
maxLength: 20,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '参考文献',
|
||||||
|
field: 'reference',
|
||||||
|
component: 'NsTextarea',
|
||||||
|
componentProps: {
|
||||||
|
placeholder: '请输入参考文献',
|
||||||
|
maxLength: 20,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
};
|
||||||
|
const options = ref([]);
|
||||||
|
|
||||||
|
const getUserPerList = (transform, params = {}) => {
|
||||||
|
return http.post(origanizemanage.queryUserPerList, { ...params }).then((res) => {
|
||||||
|
return res.data?.map((item) => {
|
||||||
|
item = { ...item, ...transform(item) };
|
||||||
|
return item;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
export const formConfig2 = (casData: any) => {
|
||||||
|
return ref([
|
||||||
|
{
|
||||||
|
field: 'information',
|
||||||
|
component: 'NsCascader',
|
||||||
|
componentProps: {
|
||||||
|
placeholder: '请选择',
|
||||||
|
displayRender: ({ labels, selectedOptions }: any) => {
|
||||||
|
console.log(labels, selectedOptions);
|
||||||
|
|
||||||
|
casData.value = selectedOptions.map(({ label, value }) => {
|
||||||
|
return { label, value };
|
||||||
|
});
|
||||||
|
return labels.join('/');
|
||||||
|
},
|
||||||
|
loadData: (selectedOptions, options) => {
|
||||||
|
console.log(selectedOptions, options, 'selectedOptions, options');
|
||||||
|
|
||||||
|
const targetOption = selectedOptions[selectedOptions.length - 1];
|
||||||
|
let transForm, params;
|
||||||
|
// load options lazily
|
||||||
|
if (!selectedOptions.length) {
|
||||||
|
transForm = (data) => {
|
||||||
|
data['label'] = data.orgName;
|
||||||
|
data['value'] = data.orgId;
|
||||||
|
data['isLeaf'] = false;
|
||||||
|
data['level'] = 1;
|
||||||
|
return data;
|
||||||
|
};
|
||||||
|
getUserPerList(transForm).then((res) => {
|
||||||
|
options.value = [...res];
|
||||||
|
});
|
||||||
|
}
|
||||||
|
const id = targetOption?.value;
|
||||||
|
const level = targetOption?.level;
|
||||||
|
if (targetOption) {
|
||||||
|
targetOption.loading = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (level === 1) {
|
||||||
|
transForm = (data) => {
|
||||||
|
data['label'] = data.deptName;
|
||||||
|
data['value'] = data.deptId;
|
||||||
|
data['isLeaf'] = false;
|
||||||
|
data['level'] = 2;
|
||||||
|
return data;
|
||||||
|
};
|
||||||
|
params = { orgId: id };
|
||||||
|
} else if (level === 2) {
|
||||||
|
transForm = (data) => {
|
||||||
|
data['label'] = data.roleName;
|
||||||
|
data['value'] = data.roleId;
|
||||||
|
data['level'] = 3;
|
||||||
|
return data;
|
||||||
|
};
|
||||||
|
params = { deptId: id };
|
||||||
|
}
|
||||||
|
if (targetOption) {
|
||||||
|
getUserPerList(transForm, { ...params }).then((res) => {
|
||||||
|
targetOption.loading = false;
|
||||||
|
targetOption.children = [...res];
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
};
|
@@ -0,0 +1,115 @@
|
|||||||
|
<template>
|
||||||
|
<ns-view-list-table v-bind="tableConfig" :model="data" ref="mainRef" />
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" setup>
|
||||||
|
import { ref } from 'vue';
|
||||||
|
import { http } from '/nerv-lib/util/http';
|
||||||
|
import { carbonEmissionFactorLibrary } from '/@/api/carbonEmissionFactorLibrary';
|
||||||
|
defineOptions({ name: 'CarbonInventoryCheck' });
|
||||||
|
const orgId = ref('');
|
||||||
|
const result = JSON.parse(sessionStorage.getItem('ORGID')!);
|
||||||
|
orgId.value = result;
|
||||||
|
const fetch = (api, params = { orgId }) => {
|
||||||
|
return http.post(api, params);
|
||||||
|
};
|
||||||
|
const tableConfig = ref({
|
||||||
|
title: '数据库',
|
||||||
|
api: carbonEmissionFactorLibrary.getTableList,
|
||||||
|
params: {
|
||||||
|
orgId
|
||||||
|
},
|
||||||
|
headerActions: [
|
||||||
|
{
|
||||||
|
label: '新增',
|
||||||
|
name: 'userAdd',
|
||||||
|
type: 'primary',
|
||||||
|
handle: () => {
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
columns: [
|
||||||
|
{
|
||||||
|
title: '序号',
|
||||||
|
customRender: (text: any) => {
|
||||||
|
return text.index + 1;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '企业名称',
|
||||||
|
dataIndex: 'emissionSources',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '报告名称',
|
||||||
|
dataIndex: 'emissionTypeColumn',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '报告年度',
|
||||||
|
dataIndex: 'emissionGas',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '适用标准',
|
||||||
|
dataIndex: 'emissionProcess',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '更新人',
|
||||||
|
dataIndex: 'emissionFactors',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '更新时间',
|
||||||
|
dataIndex: 'emissionFactorUnits',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
columnActions: {
|
||||||
|
title: '操作',
|
||||||
|
actions: [
|
||||||
|
{
|
||||||
|
label: '编辑',
|
||||||
|
name: 'userEdit',
|
||||||
|
handle: (record: any) => {
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '填报',
|
||||||
|
name: 'fillIn',
|
||||||
|
handle: (record: any) => {
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '下载',
|
||||||
|
name: 'download',
|
||||||
|
handle: (record: any) => {
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '删除',
|
||||||
|
name: 'userDelete',
|
||||||
|
dynamicParams: { ids: 'id[]' },
|
||||||
|
confirm: true,
|
||||||
|
isReload: true,
|
||||||
|
api: carbonEmissionFactorLibrary.del,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
|
formConfig: {
|
||||||
|
schemas: [
|
||||||
|
{
|
||||||
|
field: 'emissionSources',
|
||||||
|
label: '报告名称',
|
||||||
|
component: 'NsInput',
|
||||||
|
componentProps: {
|
||||||
|
placeholder: '请输入报告名称',
|
||||||
|
maxLength: 30,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
params: {},
|
||||||
|
},
|
||||||
|
rowKey: 'id',
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="less" scoped>
|
||||||
|
|
||||||
|
</style>
|
@@ -0,0 +1,45 @@
|
|||||||
|
import { ref } from 'vue';
|
||||||
|
import { origanizemanage } from '/@/api/origanizemanage';
|
||||||
|
import { http } from '/nerv-lib/saas';
|
||||||
|
|
||||||
|
export const mockData = ref([
|
||||||
|
{
|
||||||
|
id: 3,
|
||||||
|
zhanghao: 'axb',
|
||||||
|
name: '张三',
|
||||||
|
sex: '男',
|
||||||
|
phone: '123456789',
|
||||||
|
email: '1234567889',
|
||||||
|
relation: '1',
|
||||||
|
role: '1',
|
||||||
|
status: '1',
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
|
||||||
|
export const mockData2 = ref([
|
||||||
|
{
|
||||||
|
information: '铁路局1/产品部1/产品总监1',
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
|
||||||
|
export const treeData = ref([
|
||||||
|
{
|
||||||
|
title: '铁路总局',
|
||||||
|
key: '0-0',
|
||||||
|
children: [
|
||||||
|
{ title: '济阳站', key: '0-0-0' },
|
||||||
|
{ title: '临沂站', key: '0-0-1' },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
|
||||||
|
export const treeData2 = [
|
||||||
|
{
|
||||||
|
title: '全部',
|
||||||
|
key: '0-0',
|
||||||
|
children: [
|
||||||
|
{ title: '产品部', key: '0-0-0' },
|
||||||
|
{ title: '运维部', key: '0-0-1' },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
];
|
Reference in New Issue
Block a user