姜玉琦 2024-04-26 01:51:01 +08:00
commit 4b984e6c12
7 changed files with 112 additions and 132 deletions

View File

@ -91,7 +91,7 @@ const sumForBsEnginAuditing=data=>{
data5:getValue(5),
data6:getValue(6),
};
obj.percent=obj.data1==0?0:obj.data3*100.0/obj.data1;
obj.percent=obj.data2==0?0:obj.data3*100.0/obj.data2;
if(obj.percent>100){
obj.percent=100;
}
@ -137,10 +137,17 @@ const selectForBigEnginList=data=>{
});
});
};
const groupBYProject=data=>{
return request({
url:'/project/costOutput/groupBYProject',
method: 'post',
data:data
})
}
export default{
selectYearAndMonth,
sumByDeptId,
sumForBsEnginAuditing,
selectForBigEnginList
selectForBigEnginList,
groupBYProject
}

View File

@ -52,7 +52,7 @@
</div>
</div>
<div :class="(nav >=70 && nav <80) || nav==7? 'head-nav active' : 'head-nav'" style="position: relative;"
<div v-if="!isTypeBuser" :class="(nav >=70 && nav <80) || nav==7? 'head-nav active' : 'head-nav'" style="position: relative;"
class="has-submenu">
<div @click="pageJump(7, '#/engin')">工程管理</div>
<div class="header-btn-list">
@ -481,7 +481,7 @@ export default {
<style lang="less">
.head-title{
z-index: 9999;
z-index: 999;
}
.main-header {
.head-title-tab {

View File

@ -1,14 +1,24 @@
<template>
<MyDialog v-if="show" v-model="show" width="1600px" height="850px" class="mag-detail-dialog">
<template slot="title">{{info.title }}</template>
<template slot="title">{{ info.title }}</template>
<div style="text-align: center;color:dodgerblue;">
{{ info.name }} - {{ info.topicName }} - {{ info.deptName }} - {{ info.authorName }} - {{ info.createTime|formatDateTime }}
{{ info.name }} - {{ info.topicName }} - {{ info.deptName }} - {{ info.authorName }} - {{
info.createTime | formatDateTime }}
</div>
<div class="scroll" style="max-height: calc(100% - 100px);overflow: auto;">
<div style="display: flex;justify-content: center;">
<el-image v-if="info.imageUrl" class="info-image" :src="'/jhapi' + info.imageUrl + '.min.jpg'"
:preview-src-list="['/jhapi' + info.imageUrl]"></el-image>
<div v-if="info.imageUrl && info.imageUrl.length > 0" style="width:calc(100% - 16px);">
<el-image v-for="(item, idx) in info.imageUrl" :key="idx" class="info-image" :src="item + '.min.jpg'" :preview-src-list="[item]"></el-image>
</div>
<!--
<el-carousel >
<el-carousel-item v-for="(item, idx) in info.imageUrl" :key="idx">
<el-image class="info-image" :src="item + '.min.jpg'" :preview-src-list="[item]"></el-image>
</el-carousel-item>
</el-carousel>
-->
<pre v-html="info.content" style="white-space: break-spaces;"></pre>
</div>
</MyDialog>
@ -27,7 +37,7 @@ export default {
data() {
return {
show: false,
info:{},
info: {},
};
},
@ -37,7 +47,7 @@ export default {
methods: {
showDialog(data) {
this.show = true
this.info=data;
this.info = data;
},
},
};
@ -52,15 +62,18 @@ export default {
</style>
<style lang="less">
.mag-detail-dialog {
.popup-project-introduction-con{
.popup-project-introduction-con {
height: 100%;
.popup-project-introduction-details{
.popup-project-introduction-details {
height: 100%;
.quality-table.special-table{
.quality-table.special-table {
height: 100%;
}
}
}
.popup-project-introduction-min {
transform: translateY(100px);
}
@ -77,13 +90,22 @@ export default {
}
}
.el-image.info-image{
.el-carousel.el-carousel--horizontal{
height: 300px;
width: 100%;
.el-image__inner{
width:auto !important;
}
.el-carousel__arrow i{
font-size: 40px;
}
}
.el-image.info-image {
width: 100%;
display: flex;
align-items: center;
justify-content: center;
padding:6px;
padding: 6px;
}
}
</style>

View File

@ -11,8 +11,8 @@
<el-table-column label="作者" align="center" prop="authorName" />
<el-table-column label="期刊主图" align="center" prop="imageUrl">
<template slot-scope="{row}">
<el-image v-if="row.imageUrl" class="row-image" :src="'/jhapi' + row.imageUrl + '.min.jpg'"
:preview-src-list="['/jhapi' + row.imageUrl]"></el-image>
<el-image v-if="row.imageUrl && row.imageUrl.length>0" class="row-image" :src="row.imageUrl[0] + '.min.jpg'"
:preview-src-list="row.imageUrl"></el-image>
</template>
</el-table-column>
<el-table-column label="标题" align="center" prop="title">
@ -65,7 +65,10 @@ export default {
methods: {
doRowClick(row,col,e){
this.$refs.dlg.showDialog(row);
if(e.target.className.indexOf("el-image__inner")==-1){
//this.$refs.dlg.showDialog(row);
e.target.offsetParent.parentElement.querySelector(".el-image__inner").click();
}
},
handleCurrentChange(n) {
this.index = n;
@ -98,7 +101,9 @@ export default {
if (tmps && tmps.length > 0) {
tmps = tryToJson(tmps, []);
if (tmps.length > 0) {
it.imageUrl = tmps[0];
it.imageUrl = tmps.map(it=>{
return "/jhapi"+it;
});
}
}
return it;

View File

@ -668,7 +668,7 @@ export default {
return x;
},
doShowDlg3() {
this.$refs.dlg3.showDialog()
this.$refs.dlg3.showDialog(this.deptInfo?.id || 0)
},
doShowDlg1() {
this.$refs.dlg1.showDialog()

View File

@ -1,84 +1,42 @@
<template>
<MyDialog v-if="show" v-model="show" width="1000px" ref="dlg">
<template slot="title">
<div class="warning-info-title" style="padding-left: 20px;" v-if="1==2">
<div :class="nav == 0 ? 'active' : ''" class="nav-item" @click="toggleNav(0)"></div>
<div :class="nav == 1 ? 'active' : ''" class="nav-item" @click="toggleNav(1)"></div>
<div :class="nav == 2 ? 'active' : ''" class="nav-item" @click="toggleNav(2)"></div>
<div class="warning-info-title" style="padding-left: 20px;">
<div :class="nav == 'a1' ? 'active' : ''" class="nav-item" @click="toggleNav('a1')"></div>
<div :class="nav == 'a2' ? 'active' : ''" class="nav-item" @click="toggleNav('a2')"></div>
</div>
<el-tabs v-model="nav" class="my-tabs" >
<el-tab-pane label="重点项目计划汇总" name="0"></el-tab-pane>
<el-tab-pane label="按续建、新建、前期项目分类" name="1"></el-tab-pane>
<el-tab-pane label="按省、市、新区、新城级分类" name="2"></el-tab-pane>
<el-tabs v-model="nav" class="my-tabs" @tab-click="handleClick" v-if="1==2">
<el-tab-pane label="按在建、前期、拟建、完成项目分类" name="a1"></el-tab-pane>
<el-tab-pane label="按省、市、新区、新城级分类" name="a2"></el-tab-pane>
</el-tabs>
</template>
<h1 v-if="1==2">20232023.4.12.xlsx</h1>
<el-table v-show="nav == 0" :data="tableData1" class="mytable" height="500" style="width: 100%;background: transparent;">
<el-table-column prop="prj" label="重点项目计划项目个数" width="200"> </el-table-column>
<el-table-column prop="node" label="总投资(亿元)" width="150">
<el-table :data="tableData" class="mytable" height="500" style="width: 100%;background: transparent;">
<el-table-column prop="remark" label="分类项" >
<template slot-scope="scope">
<span style="color:#01A9FF;font-size: 12px;">{{ scope.row.node }}</span>
<span style="color:#fff;font-size: 12px;">{{ scope.row.remark }}项目</span>
</template>
</el-table-column>
<el-table-column prop="days" label="年度投资(亿元)" width="120">
<el-table-column prop="money" label="项目数" >
<template slot-scope="scope">
<span style="color:red">{{ scope.row.days }}</span>
<span style="color:#01A9FF;font-size: 12px;">{{ scope.row.month }}</span>
</template>
</el-table-column>
<el-table-column prop="date" label="备注" class-name="text-left">
</el-table-column>
</el-table>
<el-table v-show="nav == 1" :data="tableData2" class="mytable my-data2" style="width: 100%;background: transparent;"
ref="fbsubordinateUnit">
<el-table-column prop="prj" label="分类项" class-name="text-left" width="150">
<el-table-column prop="money" label="总投资(亿元)" >
<template slot-scope="scope">
<span style="font-size: 16px;font-weight: bold;">{{ scope.row.prj }}</span>
<span style="color:red;font-size: 12px;">{{ scope.row.money.toFixed(2) }}</span>
</template>
</el-table-column>
<el-table-column prop="node" label="项目数" width="150" >
<el-table-column prop="money2" label="年度投资(亿元)" >
<template slot-scope="scope">
<span style="color:#01A9FF;font-size: 12px;">{{ scope.row.node }}</span>
<span style="color:#fff">{{ scope.row.money2.toFixed(2) }}</span>
</template>
</el-table-column>
<el-table-column prop="days" label="总投资(亿元)">
<template slot-scope="scope">
<span style="color:red">{{ scope.row.days }}</span>
</template>
</el-table-column>
<el-table-column prop="date" label="年度投资(亿元)">
</el-table-column>
</el-table>
<el-table v-show="nav == 2" :data="tableData3" class="mytable my-data2" style="width: 100%;background: transparent;"
ref="fbsubordinateUnit">
<el-table-column prop="prj" label="分类项" class-name="text-left" width="150">
<template slot-scope="scope">
<span style="font-size: 16px;font-weight: bold;">{{ scope.row.prj }}</span>
</template>
</el-table-column>
<el-table-column prop="node" label="项目数" width="150" >
<template slot-scope="scope">
<span style="color:#01A9FF;font-size: 12px;">{{ scope.row.node }}</span>
</template>
</el-table-column>
<el-table-column prop="days" label="总投资(亿元)" width="150">
<template slot-scope="scope">
<span style="color:red">{{ scope.row.days }}</span>
</template>
</el-table-column>
<el-table-column prop="date" label="年度投资(亿元)" width="150">
</el-table-column>
<el-table-column prop="bak" label="备注" class-name="text-left">
</el-table-column>
</el-table>
</MyDialog>
</template>
@ -92,52 +50,40 @@ export default {
},
data() {
return {
activeName: 'second',
nav: 0,
nav: "a1",
dept:0,
show: false,
tableData1: [],
tableData2: [],
tableData3: [],
tableData: []
};
},
mounted() {
window.dlg2 = this
this.tableData1 = [
{ prj: '65', node: '515.97', days: 134.86, date: '投资说明芯片项目总投26亿元年度投资20亿元置业6宗住宅用地及城投3宗娱乐用地总投33亿元协同创新基地总投5亿元。' },
]
this.tableData2 = [
{ prj: '续建项目', node: '15', days: 183.28, date: '71.32' },
{ prj: '新建项目', node: '34', days: 273.93, date: '63.54' },
{ prj: '前期项目', node: '16', days: 58.76 , date: '' },
{ prj: '合计', node: '65', days: 515.97 , date: '134.86' },
]
this.tableData3 = [
{ prj: '省级重点项目', node: '9', days: 215.26, date: '60.67' ,bak:'创维、1980泾造中心二期、智谷二期、智谷一期、锦越坊、泊创广场、城市阳台院士坊、文化艺术中心、交大医院'},
{ prj: '市级重点项目', node: '10', days: 72.29, date: '40.97' ,bak:'小动力电池一、二期、芯片产业园、创普斯二期、隆基100GW、50GW、泊跃人工智能产业园、荟锦坊一、二期、市政道路'},
{ prj: '新区重点项目', node: '7', days: 52.44 , date: '11.39' ,bak:'城市阳台公园、崇文商业、泊湾中心、云和悦、云如逸、云雨间、泊域人才中心'},
{ prj: '新城重点项目', node: '38', days: 175.98 , date: '21.83' },
{ prj: '合计', node: '64', days: 515.97 , date: '134.86' },
]
},
mounted() {},
methods: {
toggleNav(n) {
this.nav = n;
toggleNav(tab){
this.nav=tab;
this.loadData();
},
showDialog() {
loadData(){
let postData={
id:this.dept,
costType:this.nav=="a1"?1:2,
year:new Date().getFullYear()
};
this.$api.costOut.groupBYProject(postData).then(d=>{
this.tableData=(d.data||[]).map(it=>{
it.money=(it.money||0)/10000.0/10000.0;
it.money2=(it.money2||0)/10000.0/10000.0;
return it;
});
});
},
showDialog(dept) {
this.dept=dept;
this.show = true
this.loadData();
}
},
};

View File

@ -76,7 +76,7 @@
{{ row.mag }}
</template>
</el-table-column>
<el-table-column v-for="(it, idx) in dataListTitles" :label="it">
<el-table-column v-for="(it, idx) in dataListTitles" :label="it" :key="idx">
<template slot-scope="{row}">
<span style="cursor: pointer;" @click="showMagDlg(row,idx)">{{ row.list[idx].cnt }}</span>
</template>
@ -169,7 +169,7 @@
</el-table-column>
<el-table-column prop="remark" label="项目名称"/>
<el-table-column prop="costName" label="成本名称"/>
<el-table-column prop="money" label="付款金额(万元)">
<el-table-column prop="money" label="申报金额(万元)">
<template slot-scope="{row}">
{{ (row.money||0).toFixed(2) }}
</template>