This commit is contained in:
shijing 2025-12-04 15:33:58 +08:00
commit 7d3b8d3b46
9 changed files with 158 additions and 263 deletions

View File

@ -1177,7 +1177,7 @@ const routes = [
path: "/enm_energy/carbon",
meta: {
title: "碳排放",
// icon: "el-icon-grid",
icon: "el-icon-grid",
perms: ["carbon_base"],
},
component: "enm_energy/carbon",

View File

@ -379,6 +379,7 @@ export default {
KHData: [],
SMData: [],
IMData: [],
echartLine1: null,
factoryName: "",
initialAlpha: -Math.PI / 4.5,
initialBeta: Math.PI / 2,
@ -743,7 +744,6 @@ export default {
this.$API.mtm.mgroup.list
.req({ page: 0, search: "回转窑" })
.then((res) => {
// console.log("", res);
that.huihzuanyaoId = res[0].id;
let query = {};
query.page = 0;
@ -865,7 +865,6 @@ export default {
this.$API.mtm.mgroup.list
.req({ page: 0, search: "余热发电" })
.then((res) => {
// console.log("", res);
that.yurefadianId = res[0].id;
let params = {};
params.page = 0;
@ -929,7 +928,6 @@ export default {
};
that.$API.enm.enstat.req(params).then((res) => {
let data = res.results;
console.log("工序电耗", data);
let seriesData = [0, 0, 0, 0, 0];
data.forEach((item, index) => {
if (item.mgroup_name == "石灰石破碎") {
@ -939,7 +937,6 @@ export default {
} else if (item.mgroup_name == "回转窑") {
seriesData[2] = item.elec_consume;
} else if (item.mgroup_name == "余热发电") {
console.log("余热发电工序电耗", item.elec_consume);
seriesData[3] = item.elec_consume;
} else if (item.mgroup_name == "煤磨") {
seriesData[4] = item.elec_consume;
@ -969,7 +966,6 @@ export default {
return typeof variable;
}
that.$API.enm.mpoint.list.req(params).then((res) => {
console.log("数据采集", res);
let success_num = 0;
let error_num = 0;
res.forEach((item, index) => {
@ -985,8 +981,6 @@ export default {
}
that.tableData.push(item);
});
console.log("数据采集tableData", that.tableData);
let chartDom6 = document.getElementById("pieChart");
let myChart6 = echarts.init(chartDom6);
let colors = [];
@ -1079,16 +1073,14 @@ export default {
// right_block.style.display = "none";
var itemHeight = Math.round((windowHeight - 150) / 3);
var itemBodyHeight = itemHeight - 40;
var flexItems = document.getElementsByClassName("flexItem");
var itemBodys = document.getElementsByClassName("itemBody");
for (var i = 0; i < flexItems.length; i++) {
var flexItem = flexItems[i];
flexItem.style.height = itemHeight + "px";
}
for (var i = 0; i < itemBodys.length; i++) {
var itemBody = itemBodys[i];
itemBody.style.height = itemBodyHeight + "px";
}
const flexItems = document.querySelectorAll('.flexItem')
const itemBodys = document.querySelectorAll('.itemBody')
flexItems.forEach(el => {
el.style.height = `${itemHeight}px`
})
itemBodys.forEach(el => {
el.style.height = `${itemBodyHeight}px`
})
elTable.style.height = itemBodyHeight - 20 + "px";
let pieWidth = Math.round(windowWidth / 100) * 22 - 180;
let radarWidth = Math.round(windowWidth / 100) * 22 - 130;
@ -1114,7 +1106,6 @@ export default {
document.getElementById(name)
);
if (myChart != undefined) {
// console.log(name + ' :resize')
myChart.resize();
}
},
@ -1417,7 +1408,6 @@ export default {
);
}
} else if (camera.target != mesh.position) {
console.log("fly to");
//
let position = mesh._parentNode._position;
if (mesh._parentNode.id == "__root__") {
@ -1745,25 +1735,55 @@ export default {
},
},
beforeUnmount() {
let that = this;
// 1.
clearInterval(this.timerTime);
clearInterval(this.qualityTimer);
clearInterval(this.heightTimer);
// 3.
window.removeEventListener("resize", this.handleResize);
if (this.scene && this.pointerListener) {
this.scene.onPointerObservable.remove(this.pointerListener);
}
// 4. Babylon
if (this.engine) this.engine.dispose();
if (this.scene) this.scene.dispose();
// 5.
this.engine = null;
this.scene = null;
clearInterval(that.timerTime);
clearInterval(that.timerData);
clearInterval(that.qualityTimer);
that.timerTime = null;
that.timerData = null;
that.qualityTimer = null;
},
beforeDestoryed() {
let that = this;
this.scene = null;
clearInterval(that.timerTime);
clearInterval(that.timerData);
clearInterval(that.qualityTimer);
that.timerTime = null;
that.timerData = null;
that.qualityTimer = null;
this.echartLine1 = null;
},
// beforeUnmount() {
// let that = this;
// this.scene = null;
// clearInterval(that.timerTime);
// clearInterval(that.timerData);
// clearInterval(that.qualityTimer);
// that.timerTime = null;
// that.timerData = null;
// that.qualityTimer = null;
// },
// beforeDestoryed() {
// let that = this;
// this.scene = null;
// clearInterval(that.timerTime);
// clearInterval(that.timerData);
// clearInterval(that.qualityTimer);
// that.timerTime = null;
// that.timerData = null;
// that.qualityTimer = null;
// if (this.engine) {
// this.engine.dispose(); // GPU
// this.engine = null;
// }
// if (this.scene) {
// this.scene.dispose();
// this.scene = null;
// }
// },
};
</script>
<style scoped>

View File

@ -6,7 +6,6 @@
type="primary"
icon="el-icon-plus"
@click="handleAdd"
v-auth="'paperrecord.create'"
></el-button>
</div>
<div class="right-panel">
@ -125,7 +124,6 @@
link
size="small"
type="danger"
v-auth="'paperrecord.delete'"
>删除</el-button
>
</template>
@ -239,7 +237,6 @@
</el-form>
<template #footer>
<el-button
v-auth="'paperrecord.create'"
v-if="type !== 'show'"
type="primary"
:loading="isSaving"
@ -377,7 +374,6 @@ export default {
this.type = "edit";
this.editId = row.id;
this.limitedVisible = true;
console.log('row--',row);
this.addForm = Object.assign({}, row);
},
async filerecordDel(row) {

View File

@ -6,7 +6,6 @@
type="primary"
icon="el-icon-plus"
@click="handleAdd"
v-auth="'PaperSe.create'"
>新增</el-button>
</div>
<div class="right-panel">
@ -121,7 +120,6 @@
link
size="small"
type="danger"
v-auth="'PaperSe.delete'"
>删除</el-button
>
</template>

View File

@ -16,8 +16,8 @@
</el-form-item>
<el-form-item label="拟发表文章类型" prop="paper_type">
<el-select v-model="localForm.paper_type" placeholder="请选择拟发表文章类型" :disabled="localMode ==='show'">
<el-option label="研究论文" value="研究论文"></el-option>
<el-option label="综述" value="综述"></el-option>
<el-option label="研究论文" value="research"></el-option>
<el-option label="综述" value="overview"></el-option>
</el-select>
</el-form-item>
<el-form-item label="是否为中文核心" prop="is_chinese_core">

View File

@ -6,7 +6,6 @@
type="primary"
icon="el-icon-plus"
@click="handleAdd"
v-auth="'patentinfo.create'"
>新增</el-button>
</div>
<div class="right-panel">
@ -125,7 +124,6 @@
link
size="small"
type="danger"
v-auth="'patentinfo.delete'"
>删除</el-button
>
</template>

View File

@ -6,7 +6,6 @@
type="primary"
icon="el-icon-plus"
@click="handleAdd"
v-auth="'patentrecord.create'"
></el-button>
</div>
<div class="right-panel">
@ -118,7 +117,6 @@
size="small"
type="primary"
@click="filerecordEidt(scope.row)"
v-auth="'patentrecord.update'"
>编辑
</el-button>
<el-popconfirm
@ -130,7 +128,6 @@
link
size="small"
type="danger"
v-auth="'patentrecord.delete'"
>删除</el-button
>
</template>
@ -251,7 +248,6 @@
</el-form>
<template #footer>
<el-button
v-auth="'patentrecord.create'"
v-if="type !== 'show'"
type="primary"
:loading="isSaving"

View File

@ -96,7 +96,6 @@
link
size="small"
type="danger"
v-auth="'PaperSe.delete'"
>删除</el-button
>
</template>

View File

@ -15,21 +15,6 @@
clearable
@keyup.enter="handleQuery"
></el-input>
<!-- <el-select
v-model="query.name"
placeholder="选择名称"
clearable
filterable
:loading="loading"
@visible-change="handlePatentChange"
>
<el-option
v-for="item in platlist"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select> -->
<el-button
type="primary"
icon="el-icon-search"
@ -42,53 +27,18 @@
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column
label="红头发文号/公示页"
prop="number"
min-width="100"
prop="red_head_doc_no"
min-width="60"
></el-table-column>
<el-table-column
label="名称"
prop="plat_name"
min-width="100"
prop="name"
min-width="60"
></el-table-column>
<el-table-column
label="平台类型"
prop="p_type"
min-width="100"
></el-table-column>
<el-table-column
label="单位"
prop="org"
min-width="100">
</el-table-column>
<el-table-column
label="建设期(年)"
prop="period"
min-width="100">
</el-table-column>
<el-table-column
label="平台资金(元)"
prop="plat_amount"
min-width="100"
></el-table-column>
<el-table-column
label="子项目"
prop="son_pro"
min-width="100"
></el-table-column>
<el-table-column
label="成果"
prop="achieve"
min-width="100"
></el-table-column>
<el-table-column
label="完成情况"
prop="finished"
min-width="100"
></el-table-column>
<el-table-column
label="建成绩效完成情况"
prop="completion"
min-width="100"
label="项目类型"
prop="project_type"
min-width="60"
></el-table-column>
<el-table-column label="市级平台" prop="city_p" mim-width="60">
<template #default="scope">
@ -104,6 +54,62 @@
</span>
</template>
</el-table-column>
<el-table-column
label="项目来源"
prop="project_source"
min-width="60">
</el-table-column>
<el-table-column
label="建设期(年)"
prop="const"
min-width="60">
</el-table-column>
<el-table-column
label="项目资金(财政与自筹)(元)"
prop="project_funding"
min-width="60"
></el-table-column>
<el-table-column
label="项目支持期"
prop="support_period"
min-width="60"
></el-table-column>
<el-table-column
label="承担单位"
prop="undertaking_unit"
min-width="60"
></el-table-column>
<el-table-column
label="负责人"
prop="responsible_person"
min-width="60"
></el-table-column>
<el-table-column
label="项目人员"
prop="project_members"
min-width="60"
></el-table-column>
<el-table-column
label="里程碑节点"
prop="milestone"
min-width="60"
></el-table-column>
<el-table-column
label="项目中期情况"
prop="mid_term_status"
min-width="60"
></el-table-column>
<el-table-column
label="项目验收情况"
prop="acceptance_status"
min-width="60"
></el-table-column>
<el-table-column
label="科技成果"
prop="sci_tech_achievements"
min-width="60"
></el-table-column>
<el-table-column label="操作" fixed="right" align="center" width="250">
<template #default="scope">
<el-button
@ -122,7 +128,6 @@
link
size="small"
type="danger"
v-auth="'ps.delete'"
>删除</el-button
>
</template>
@ -154,98 +159,57 @@
<el-table-column label="平台名称" prop="name"></el-table-column>
</xtSelect>
</el-form-item>
<el-form-item label="平台类型" prop="p_type">
<el-form-item label="项目类型" prop="p_type">
<el-input v-model="addForm.p_type" clearable></el-input>
<!-- <el-select
v-model="addForm.patent"
placeholder="请选择"
clearable
:loading="loading"
@visible-change="handlePatentChange">
<el-option
v-for="item in platlist"
:key="item.name"
:value="item.id"
:label="item.name"></el-option>
</el-select> -->
</el-form-item>
<el-form-item label="单位" prop="org">
<el-input v-model="addForm.org" clearable></el-input>
<el-form-item label="市级平台" prop="city_p">
<el-radio-group v-model="addForm.city_p" :disabled="localMode ==='show'">
<el-radio :label="true"></el-radio>
<el-radio :label="false"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="省级平台" prop="province_p">
<el-radio-group v-model="addForm.province_p" :disabled="localMode ==='show'">
<el-radio :label="true"></el-radio>
<el-radio :label="false"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="项目来源" prop="project_source">
<el-input v-model="addForm.project_source" clearable></el-input>
</el-form-item>
<el-form-item label="建设期" prop="period">
<el-input v-model="addForm.period" clearable></el-input>
<el-form-item label="建设期" prop="const" label-width="120px">
<el-input v-model="addForm.const" clearable></el-input>
</el-form-item>
<el-form-item label="代理人" prop="agent" label-width="120px">
<el-input v-model="addForm.agent" clearable></el-input>
<el-form-item label="项目资金(财政与自筹)" prop="project_funding">
<el-input v-model="addForm.project_funding" clearable></el-input>
</el-form-item>
<el-form-item label="归属平台" prop="affiliated_platforms">
<el-input v-model="addForm.affiliated_platforms" clearable></el-input>
<el-form-item label="项目支持期" prop="support_period" >
<el-input v-model="addForm.support_period" clearable></el-input>
</el-form-item>
<el-form-item label="归属项目" prop="affiliated_projects" >
<el-input v-model="addForm.affiliated_projects" clearable></el-input>
<el-form-item label="承担单位" prop="undertaking_unit" >
<el-input v-model="addForm.undertaking_unit" clearable></el-input>
</el-form-item>
<el-form-item label="申请日" prop="application_date" >
<el-date-picker
v-model="addForm.application_date"
type="date"
align="right"
value-format="YYYY-MM-DD"
unlink-panels
palceholder="选择日期"
></el-date-picker>
<el-form-item label="负责人" prop="responsible_person" >
<el-input v-model="addForm.responsible_person" clearable></el-input>
</el-form-item>
<el-form-item label="授权日" prop="authorization_date" >
<el-date-picker
v-model="addForm.authorization_date"
type="date"
align="right"
value-format="YYYY-MM-DD"
unlink-panels
palceholder="选择日期"
></el-date-picker>
<el-form-item label="项目人员" prop="project_members" >
<el-input v-model="addForm.project_members" clearable></el-input>
</el-form-item>
<el-form-item label="有效年限" prop="validity_years" >
<el-input v-model="addForm.validity_years" type="number" min="0" clearable></el-input>
<el-form-item label="里程碑节点" prop="milestone">
<el-input v-model="addForm.milestone" clearable></el-input>
</el-form-item>
<el-form-item label="年费缴纳" prop="annuity_paid" >
<el-input-number
v-model="addForm.annuity_paid"
:precision="2"
:step="0.01"
:min="0"
style="width: 200px"
controls-position="right"></el-input-number>
<el-form-item label="项目中期情况" prop="mid_term_status">
<el-input v-model="addForm.mid_term_status" clearable></el-input>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="addForm.status" placeholder="请选择" clearable>
<el-option
v-for="(label, value) in statusOptions"
:key="value"
:label="label"
:value="value"/>
</el-select>
<el-form-item label="项目验收情况" prop="acceptance_status">
<el-input v-model="addForm.acceptance_status" clearable></el-input>
</el-form-item>
<el-form-item label="报奖情况" prop="award_info" >
<el-input
v-model="addForm.award_info"
clearable type="textarea"
palaceholder="请输入内容"
rows="3">
></el-input>
</el-form-item>
<el-form-item label="奖金发放" prop="bonus_amount" >
<el-input-number
v-model="addForm.bonus_amount"
:precision="2"
:step="0.01"
:min="0"
style="width: 200px"
controls-position="right"></el-input-number>
<el-form-item label="科技成果" prop="sci_tech_achievements">
<el-input v-model="addForm.sci_tech_achievements" clearable></el-input>
</el-form-item>
</el-form>
<template #footer>
<el-button
v-auth="'ps.create'"
v-if="type !== 'show'"
type="primary"
:loading="isSaving"
@ -260,21 +224,9 @@ export default {
name: "index",
data() {
return {
workflowName:"",
workFlowId:'',
loading: false,
apiObj: this.$API.srm.platstand.list,
apiObjM2: this.$API.ofm.platform.list,
platlist: [],
statusOptions: {
"not_disclosed":"未公开" ,
"under_examination":"实审中",
"first_office_action":"一通",
"second_office_action":"二通",
"rejected":"驳回",
"reexamination":"复审",
"authorized":"授权"
},
query: {},
editId: null,
isSaving: false,
@ -287,86 +239,23 @@ export default {
show: "查看",
},
//
addForm: {
volume_number: null,
application_number: null,
patent: null,
pc_type: null,
organization: null,
inventors: "",
agent: "",
affiliated_platforms: "",
affiliated_projects: "",
application_date: "",
authorization_date: "",
validity_years: "",
annuity_paid: "",
status: "",
award_info: "",
bonus_amount: "",
},
addForm: {},
};
},
methods: {
formatPcType(row, column, cellValue) {
const map = {
'invention': '发明专利',
'utility': '实用新型',
'design': '外观设计'
};
return map[cellValue] || cellValue;
},
handleAdd() {
this.type = "add";
this.addForm = this.getDefaultForm();
this.limitedVisible = true;
},
handlePatentChange(visible){
if(visible){
this.get_patentList();
}
},
async get_patentList() {
const res = await this.$API.srm.platstand.get_name.req();
this.platlist = res;
},
handleAdd_outer() {
this.addForm = this.getDefaultForm();
this.type = "add";
this.limitedVisible = true;
this.lending_type = "outer";
this.addForm.is_lending = true;
},
handleCancel() {
this.limitedVisible = false; //
this.lending_type = ""; // lending_type
this.getDefaultForm()//
},
submitHandle() {
let that = this;
that.isSaving = true;
that.submit();
},
getDefaultForm(){
return {
volume_number: null,
application_number: null,
patent: null,
pc_type: null,
organization: null,
inventors: "",
agent: "",
affiliated_platforms: "",
affiliated_projects: "",
application_date: "",
authorization_date: "",
validity_years: "",
annuity_paid: "",
status: "",
award_info: "",
bonus_amount: "",
}
},
async submit() {
let that = this;
let res = null;
@ -386,7 +275,6 @@ export default {
that.isSaving = false;
}
},
//
filerecordEidt(row) {
this.type = "edit";
this.editId = row.id;