From ca74de5b37a7ffae3368396c7c78e5a01e079f10 Mon Sep 17 00:00:00 2001 From: fks-xuxinyue <2822784518@qq.com> Date: Thu, 22 Aug 2024 15:27:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B5=8B=E8=AF=95=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../public/asset/file/carbonAssets.xlsx | Bin 0 -> 9198 bytes .../carbonAssets/carbonAssetsDetail/index.vue | 322 ++++++++-- .../carbonAssets/carbonAssetsDetail/index1.vue | 642 +++++++++++++++++++ .../carbonAssets/carbonAssetsDetail/indexCopy.vue | 713 --------------------- .../carbonEmissionFactorLibrary/config.ts | 8 +- .../carbonEmissionFactorLibrary/index.vue | 24 +- .../carbonEmissionStatistics/config.ts | 7 +- .../energyConsumption/index.vue | 18 +- .../quickCalculation/index.vue | 5 + .../carbonInventoryCheck/config.ts | 1 + .../carbonInventoryCheck/fillInPage/index.vue | 78 ++- .../carbonInventoryCheck/index.vue | 30 +- .../carbonPlanning/all/index.vue | 17 +- .../carbonPlanning/category/categoryDeatil.vue | 33 +- .../carbonPlanning/category/index.vue | 108 ++-- lib/component/form/input/input.vue | 14 +- 16 files changed, 1146 insertions(+), 874 deletions(-) create mode 100644 hx-ai-intelligent/public/asset/file/carbonAssets.xlsx create mode 100644 hx-ai-intelligent/src/view/carbonEmissionManage/carbonAssets/carbonAssetsDetail/index1.vue delete mode 100644 hx-ai-intelligent/src/view/carbonEmissionManage/carbonAssets/carbonAssetsDetail/indexCopy.vue diff --git a/hx-ai-intelligent/public/asset/file/carbonAssets.xlsx b/hx-ai-intelligent/public/asset/file/carbonAssets.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..200c364cfa7917e32c9069cc37af24afa018cb0e GIT binary patch literal 9198 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
-
-
交易明细
-
- 新增 - - 导入 - - 导出 - 批量删除 -
-
- + - - +
配额统计
-
- 全国配额 - 地方配额 - CCER配额 +
+ 全国配额 + 地方配额 + CCER配额
@@ -155,13 +114,25 @@ - + - + - + (); - const thisYear = ref(new Date().getFullYear().toString()); + const year = ref(new Date().getFullYear().toString()); const queryParams = ref({ pageNum: 1, pageSize: 10, orgId: orgId.value, accountType: props.parentId, - year: thisYear.value, + year: year.value, }); const searchTableList = () => { - getDetailList(); + year.value = queryParams.value.year; + transactionType.value = queryParams.value.transactionType; + accountType.value = queryParams.value.accountType; + mainRef.value?.nsTableRef.reload(); + // getDetailList(); }; // 获取左侧列表数据 const getDetailList = () => { @@ -239,10 +214,11 @@ total.value = res.data.total; }); }; - getDetailList(); + // getDetailList(); const columns = [ { title: '序号', + width: 80, customRender: (text: any) => { return text.index + 1; }, @@ -298,9 +274,14 @@ pageNum: 1, pageSize: 10, orgId: orgId.value, - year: new Date().getFullYear(), + accountType: props.parentId, + year: new Date().getFullYear().toString(), }; - getDetailList(); + accountType.value = props.parentId; + year.value = new Date().getFullYear(); + transactionType.value = ''; + mainRef.value?.nsTableRef.reload(); + // getDetailList(); }; const editData = (record) => { getDictList(); @@ -378,6 +359,196 @@ }, }); }; + + const mainRef = ref(); + const transactionType = ref(); + const accountType = ref(); + accountType.value = props.parentId; + const tableConfig = ref({ + title: '数据库', + api: carbonAssets.carbonDetailsList, + params: { + orgId, + accountType, + year, + }, + headerActions: [ + { + label: '新增', + name: 'userAdd', + type: 'primary', + handle: () => { + text.value = '新增'; + visible.value = true; + getDictList(); + }, + }, + { + label: '导入', + type: 'primary', + name: 'carbonAssetsImport', + extra: { + api: carbonAssets.import, // 导入接口名 + params: { + orgId, + }, + title: '碳资产', // 弹窗title + templateName: 'carbonAssets', // 所使用的文件名称 + indexName: '碳资产', // 匹配类型字段 + message: [ + { label: '1、若必填项未填写,则不能进行导入操作' }, + { label: `2、当重复时,则更新数据。` }, + { label: '3、数据将从模版的第五行进行导入。' }, + { label: '4、文件导入勿超过5MB。' }, + ], + }, + }, + { + label: '导出', + type: 'primary', + handle: () => { + const exportQuery = ref({ + orgId: orgId.value, + pageNum: 1, + pageSize: 999, + year: queryParams.value.year, + ids: selectedRowKeys.value, + }); + const config = { + responseType: 'blob', + }; + fetch(carbonAssets.export, exportQuery.value, config) + .then((res) => { + // 创建一个 URL 对象,指向图片数据的 blob + const url = window.URL.createObjectURL(new Blob([res])); + // 创建一个 标签,用于触发下载 + const link = document.createElement('a'); + link.href = url; + link.setAttribute('download', 'carbonTradeDetails.xlsx'); // 设置下载的文件名 + document.body.appendChild(link); + link.click(); + + // 清理 URL 对象 + window.URL.revokeObjectURL(url); + selectedRowKeys.value = []; + }) + .catch((error) => { + console.error('下载失败:', error); + }); + }, + }, + { + label: '批量删除', + type: 'primary', + name: 'userBatchDel', + dynamicDisabled: (data: any) => { + return data.list.length === 0; + }, + confirm: true, + isReload: true, + isClearCheck: true, + api: carbonAssets.delete, + dynamicParams: { ids: 'id[]' }, + }, + ], + columns: [ + { + title: '序号', + width: 80, + customRender: (text: any) => { + return text.index + 1; + }, + }, + { + title: '资产类别', + dataIndex: 'accountType', + }, + { + title: '交易方式', + dataIndex: 'transactionTypeName', + }, + { + title: '交易日期', + dataIndex: 'transactionDate', + sorter: (a, b) => a.transactionDate - b.transactionDate, + }, + { + title: '本期收入(tCO2)', + dataIndex: 'income', + sorter: (a, b) => a.income - b.income, + }, + { + title: '本期支出(tCO2)', + dataIndex: 'expenditure', + sorter: (a, b) => a.expenditure - b.expenditure, + }, + { + title: '发生金额(¥)', + dataIndex: 'amountIncurredValue', + }, + { + title: '交易对象', + dataIndex: 'tradingPartner', + }, + { + title: '更新人', + dataIndex: 'updateUser', + }, + { + title: '更新时间', + dataIndex: 'updateTime', + }, + ], + columnActions: { + title: '操作', + actions: [ + { + label: '编辑', + name: 'userEdit', + handle: (record: any) => { + getDictList(); + text.value = '编辑'; + visible.value = true; + formState.value.id = record.id; + fetch(uploadPic.select, { bizId: record.id, bizType: 1 }).then((res) => { + fileList.value = res.data.map((item) => ({ + uid: item.id.toString(), // 使用文件的id作为唯一标识 + name: item.fileName, // 文件名 + status: 'done', // 设置默认状态为已完成 + type: 'done', + url: item.filePath, // 文件的URL,这里假设用示例的URL格式 + })); + }); + formState.value = JSON.parse(JSON.stringify(record)); + if (formState.value.expenditure === 0) { + formState.value.transactionQuantity = formState.value.income; + } else { + formState.value.transactionQuantity = formState.value.expenditure; + } + setTimeout(() => { + let selectDevice = ref([Number(formState.value.transactionType)]); + findParentIds(options.value, formState.value.transactionType, selectDevice.value); + formState.value.transactionType = selectDevice; + formState.value.transactionType = formState.value.transactionType; + }, 500); + }, + }, + { + label: '删除', + name: 'userDelete', + dynamicParams: { ids: 'id[]' }, + confirm: true, + isReload: true, + api: carbonAssets.delete, + }, + ], + }, + formConfig: { + schemas: [], + params: {}, + }, + rowKey: 'id', + }); // 分页器 const onChange = (pageNumber: number, size: number) => { queryParams.value.pageNum = pageNumber; @@ -492,6 +663,12 @@ }); fileList.value = newFileList; }; + const handleKeyDown = (event: KeyboardEvent) => { + // Check if the pressed key is a space + if (event.code === 'Space') { + event.preventDefault(); + } + }; const onSubmit = () => { formRef.value .validate() @@ -625,7 +802,7 @@ height: 16%; } .detailTable { - width: 65%; + width: 70%; margin-right: 20px; height: 100%; background: white; @@ -633,10 +810,27 @@ padding: 16px; } .total { - width: calc(35% - 20px); + width: calc(30% - 20px); height: 100%; background: white; border-radius: 12px; padding: 16px; } + :deep(.ns-table-search) { + display: none; + } + :deep(.ns-table-header) { + padding-top: unset !important; + align-items: unset !important; + padding-bottom: 10px; + height: unset !important; + } + :deep(.ns-basic-table) { + padding-top: unset !important; + } + :deep(.ns-table-main) { + padding: unset !important; + margin: unset !important; + border-radius: unset !important; + } diff --git a/hx-ai-intelligent/src/view/carbonEmissionManage/carbonAssets/carbonAssetsDetail/index1.vue b/hx-ai-intelligent/src/view/carbonEmissionManage/carbonAssets/carbonAssetsDetail/index1.vue new file mode 100644 index 0000000..05bbc92 --- /dev/null +++ b/hx-ai-intelligent/src/view/carbonEmissionManage/carbonAssets/carbonAssetsDetail/index1.vue @@ -0,0 +1,642 @@ + + + + + diff --git a/hx-ai-intelligent/src/view/carbonEmissionManage/carbonAssets/carbonAssetsDetail/indexCopy.vue b/hx-ai-intelligent/src/view/carbonEmissionManage/carbonAssets/carbonAssetsDetail/indexCopy.vue deleted file mode 100644 index fd85219..0000000 --- a/hx-ai-intelligent/src/view/carbonEmissionManage/carbonAssets/carbonAssetsDetail/indexCopy.vue +++ /dev/null @@ -1,713 +0,0 @@ - - - - - diff --git a/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionFactorLibrary/config.ts b/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionFactorLibrary/config.ts index 8d88d3c..25fdcf1 100644 --- a/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionFactorLibrary/config.ts +++ b/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionFactorLibrary/config.ts @@ -15,7 +15,7 @@ export const formConfig = (disabled) => { component: 'NsInput', componentProps: { placeholder: '请输入排放源', - maxLength: 20, + maxLength: 5, }, rules: [ { @@ -92,7 +92,7 @@ export const formConfig = (disabled) => { component: 'NsInput', componentProps: { placeholder: '请输入排放环节', - maxLength: 20, + maxLength: 5, }, rules: [ { @@ -107,7 +107,7 @@ export const formConfig = (disabled) => { component: 'NsInputNumber', componentProps: { placeholder: '请输入排放因子值', - maxLength: 20, + maxLength: 5, }, rules: [ { @@ -154,7 +154,7 @@ export const formConfig = (disabled) => { component: 'NsInput', componentProps: { placeholder: '请输入碳排后缀', - maxLength: 20, + maxLength: 10, }, rules: [ { diff --git a/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionFactorLibrary/index.vue b/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionFactorLibrary/index.vue index e09c09b..773d362 100644 --- a/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionFactorLibrary/index.vue +++ b/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionFactorLibrary/index.vue @@ -27,6 +27,7 @@ :tree-data="gData" :checkedKeys="checkedTreeNodeKeys" :selectedKeys="selectedKeys" + :show-line="{ showLeafIcon: false }" @dragenter="onDragEnter" @drop="onDrop" @check="checkTreeNode" @@ -164,6 +165,7 @@ :expanded-keys="unitExpandedKeys" :selectedKeys="unitSelectedKeys" :tree-data="unitTreeData" + :show-line="{ showLeafIcon: false }" v-if="unitTreeData && unitTreeData.length > 0" class="draggable-tree" block-node> @@ -198,7 +200,11 @@ - + @@ -211,7 +217,11 @@ - + { + // Check if the pressed key is a space + if (event.code === 'Space') { + event.preventDefault(); + } + }; const unitOrGroupOk = () => { unitFormRef.value .validate() diff --git a/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionStatistics/config.ts b/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionStatistics/config.ts index 6f69329..42621d2 100644 --- a/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionStatistics/config.ts +++ b/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionStatistics/config.ts @@ -76,7 +76,7 @@ export const tableColumns = [ { title: '操作', key: 'action', - width: 130 + width: 130, }, ]; // 碳排速算表表头 @@ -119,7 +119,7 @@ export const columns = [ { title: '操作', key: 'action', - width: 130 + width: 130, }, ]; // 碳排速算新增页中表头 @@ -131,6 +131,7 @@ export const drawerColumns = [ { title: '因子值', dataIndex: 'emissionFactors', + key: 'emissionFactors', }, { title: '排放环节', @@ -142,4 +143,4 @@ export const drawerColumns = [ className: 'dataSources', dataIndex: 'dataSources', }, -]; \ No newline at end of file +]; diff --git a/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionStatistics/energyConsumption/index.vue b/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionStatistics/energyConsumption/index.vue index b4bd901..3454b15 100644 --- a/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionStatistics/energyConsumption/index.vue +++ b/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionStatistics/energyConsumption/index.vue @@ -22,7 +22,11 @@ :label-col="labelCol" :wrapper-col="wrapperCol"> - + @@ -250,6 +254,12 @@ isComputeCarbon: [{ required: true, message: '请选择是否计算碳排', trigger: 'change' }], unit: [{ required: true, message: '请选择计量单位', trigger: 'change' }], }; + const handleKeyDown = (event: KeyboardEvent) => { + // Check if the pressed key is a space + if (event.code === 'Space') { + event.preventDefault(); + } + }; // 排放类型的变量 const emissionTypeDic = ref(); // 计量单位的变量 @@ -259,15 +269,15 @@ // 年份选择改变触发 const changeYearData = () => { queryParams.value.year = selectYear.value; - getTableList(); + // getTableList(); }; const mainRef = ref(); const year = selectYear.value.format('YYYY'); const tableConfig = ref({ title: '能耗统计', api: energyConsumption.pageList, - rowSelection: null, params: queryParams.value, + rowSelection: null, headerActions: [ { label: '新增', @@ -690,10 +700,10 @@ field: 'year', label: '年份', component: 'NsDatePicker', + defaultValue: selectYear.value.format('YYYY'), componentProps: { picker: 'year', valueFormat: 'YYYY', - defaultValue: selectYear.value.format('YYYY'), }, }, ], diff --git a/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionStatistics/quickCalculation/index.vue b/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionStatistics/quickCalculation/index.vue index 9d62f58..5350ea0 100644 --- a/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionStatistics/quickCalculation/index.vue +++ b/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionStatistics/quickCalculation/index.vue @@ -130,6 +130,11 @@ type: 'radio', }" :pagination="false"> + -
+
+ :scroll="{ y: 380 }"> @@ -162,7 +168,7 @@ -
+
@@ -193,6 +199,7 @@ :selectedKeys="categorySelectedKeys" :checkedKeys="categoryCheckedKeys" :tree-data="categoryTreeData" + :show-line="{ showLeafIcon: false }" v-if="categoryTreeData && categoryTreeData.length > 0" class="draggable-tree" @check="checkTreeNode" @@ -230,7 +237,11 @@ :label-col="labelCol" :wrapper-col="wrapperCol"> - + @@ -317,7 +328,11 @@ - + @@ -351,7 +366,10 @@ - + @@ -381,6 +399,11 @@ type: 'radio', }" :pagination="false"> +
{ treeData.value = res.data; if (changeSelectedKeys.value) { - selectedKeysR.value = [`0-${treeData.value.length - 1}`]; + selectedKeysR.value = [`0-0-${treeData.value[0].children.length - 1}`]; changeSelectedKeys.value = false; - getTableId.value = res.data[res.data.length - 1].id; + getTableId.value = res.data[0].children[res.data[0].children.length - 1].id; + bizId.value = res.data[0].children[res.data[0].children.length - 1].id; if (res.data.length != 0) { getPFYTableList(getTableId.value); getTableHeardUnit(getTableId.value); @@ -616,8 +640,9 @@ columns.value[3].title = '排放量'; } } else { - selectedKeysR.value = ['0-0']; - getTableId.value = res.data[0].id; + selectedKeysR.value = ['0-0-0']; + getTableId.value = res.data[0].children[0].id; + bizId.value = res.data[0].children[0].id; if (res.data.length != 0) { getPFYTableList(getTableId.value); getTableHeardUnit(getTableId.value); @@ -634,6 +659,7 @@ const onSelectR = (selectedKey: string[], info: any) => { selectedKeysR.value = selectedKey; getTableId.value = info.selectedNodes[0].id; + bizId.value = info.selectedNodes[0].id; getPFYTableList(getTableId.value); getTableHeardUnit(getTableId.value); }; @@ -647,8 +673,8 @@ } }); }; - const expandedKeysR = ref([]); - const selectedKeysR = ref(['0-0']); + const expandedKeysR = ref(['0-0']); + const selectedKeysR = ref(['0-0-0']); const checkedKeys = ref([]); watch(expandedKeysR, () => { console.log('expandedKeysR', expandedKeysR); @@ -778,6 +804,12 @@ groupData.value = res.data; }); }; + const handleKeyDown = (event: KeyboardEvent) => { + // Check if the pressed key is a space + if (event.code === 'Space') { + event.preventDefault(); + } + }; const onSubmit = () => { formRef.value .validate() @@ -945,10 +977,13 @@ }; // 点击凭证弹出框 const openVoucher = ref(false); + const bizId = ref(); const downLoadVoucher = () => { - fetch(carbonInventoryCheck.voucherDownloadList, { bizType: 2 }).then((res) => { - voucherData.value = res.data; - }); + fetch(carbonInventoryCheck.voucherDownloadList, { bizType: 2, bizId: bizId.value }).then( + (res) => { + voucherData.value = res.data; + }, + ); openVoucher.value = true; }; const selectedRowKeys = ref([]); @@ -1061,6 +1096,7 @@ canEdit.value = true; automatic.value = true; } else { + canEdit.value = false; automatic.value = false; } }; @@ -1220,6 +1256,8 @@ reportId: props.reportId, year: props.year, categoryId: categoryId.value, + startTime: props.startTime, + endTime: props.endTime, }); const linksData = ref([]); const datalist = ref([]); @@ -1243,6 +1281,8 @@ reportId: props.reportId, year: props.year, categoryId: categoryId.value, + startTime: props.startTime, + endTime: props.endTime, }); const tableHeader = ref([]); const getEmissionStatistic = () => { @@ -1556,7 +1596,7 @@ width: 300px; margin-right: @ns-gap; min-width: fit-content; - height: 93%; + height: 100%; border-radius: 8px; background: rgba(255, 255, 255, 1); box-shadow: 0px 2px 20px rgb(69 123 234 / 20%); @@ -1645,7 +1685,7 @@ .right { flex: 1; min-width: 0; - height: 93%; + height: 100%; border-radius: 8px; background: rgba(255, 255, 255, 1); box-shadow: 0px 2px 20px rgb(69 123 234 / 20%); diff --git a/hx-ai-intelligent/src/view/carbonEmissionManage/carbonInventoryCheck/index.vue b/hx-ai-intelligent/src/view/carbonEmissionManage/carbonInventoryCheck/index.vue index b179f13..b8971e5 100644 --- a/hx-ai-intelligent/src/view/carbonEmissionManage/carbonInventoryCheck/index.vue +++ b/hx-ai-intelligent/src/view/carbonEmissionManage/carbonInventoryCheck/index.vue @@ -20,7 +20,9 @@ :footer-style="{ textAlign: 'right' }" destroyOnClose @close="onClose"> -
{{text}}
+
{{ text }}
- + - + { if (formState.value.reportPeriod === '2') { const year = current.year(); @@ -105,6 +115,12 @@ formState.value = {}; formRef.value.resetFields(); }; + const handleKeyDown = (event: KeyboardEvent) => { + // Check if the pressed key is a space + if (event.code === 'Space') { + event.preventDefault(); + } + }; // 点击确定提交 const onSubmit = () => { formRef.value @@ -142,7 +158,7 @@ name: 'userAdd', type: 'primary', handle: () => { - text.value = '新增报告' + text.value = '新增报告'; visible.value = true; }, }, @@ -186,7 +202,7 @@ label: '编辑', name: 'userEdit', handle: (record: any) => { - text.value = '编辑报告' + text.value = '编辑报告'; visible.value = true; fetch(carbonInventoryCheck.findById, { id: record.id }).then((res) => { formState.value = res.data; @@ -252,7 +268,7 @@ component: 'NsInput', componentProps: { placeholder: '请输入报告名称', - maxLength: 30, + maxLength: 20, }, }, { diff --git a/hx-ai-intelligent/src/view/carbonEmissionManage/carbonPlanning/all/index.vue b/hx-ai-intelligent/src/view/carbonEmissionManage/carbonPlanning/all/index.vue index f6c6df3..4b15713 100644 --- a/hx-ai-intelligent/src/view/carbonEmissionManage/carbonPlanning/all/index.vue +++ b/hx-ai-intelligent/src/view/carbonEmissionManage/carbonPlanning/all/index.vue @@ -15,7 +15,13 @@ margin-bottom: 1%; ">
- 上一年 + 上一年 - 下一年 + 下一年 - + - - + + - - + + @@ -336,6 +346,12 @@ disabled.value = true; } }; + const handleKeyDown = (event: KeyboardEvent) => { + // Check if the pressed key is a space + if (event.code === 'Space') { + event.preventDefault(); + } + }; const handleOk = () => { formRef.value .validate() @@ -710,6 +726,7 @@