Commit afb3a119 authored by yht15023815643's avatar yht15023815643

重点项目清单导出

parent e3b052a0
......@@ -140,7 +140,7 @@
<p><span style="margin-right:4;color:rgba(35, 35, 35, 0.40);font-size: 18px;position: relative;top:2px;">·</span>共有{{total}}条</p>
<p v-hasPermi="['radar:export:important']" >
<img src="@/assets/images/EXCEL.png" alt="">
<span class="excel" @click="search('','','export')">导出EXCEL</span>
<span class="excel" @click="clickDialog">导出EXCEL</span>
</p>
</div>
......@@ -232,8 +232,54 @@
:total="total>limit*500?501*limit:total">
</el-pagination>
</div>
</div>
<el-dialog :visible.sync="dialogExportVisible" width="640px" append-to-body class="dialogExport">
<template slot="title">
<img class="tip-img" src="@/assets/images/icon.png" />数据导出
</template>
<div class="table-item">
<el-table :data="exportTableData">
<el-table-column prop="issueTime" label="招标发布时间" width="110"></el-table-column>
<el-table-column prop="tenderee" label="招标成员" width="200"></el-table-column>
<el-table-column prop="stockPercent" label="持股比例" min-width="100"></el-table-column>
<el-table-column prop="projectName" label="项目名称" min-width="220"></el-table-column>
<el-table-column prop="bidAmount" label="预算金额" min-width="100"></el-table-column>
<el-table-column prop="address" label="项目地区" min-width="110"></el-table-column>
<el-table-column prop="subjectMatter" label="招标采购分类" min-width="130"></el-table-column>
<el-table-column prop="projectType" label="项目类型" min-width="100"></el-table-column>
<el-table-column prop="agency" label="代理单位" min-width="160"></el-table-column>
</el-table>
</div>
<div class="input">
导出数量:
<el-input placeholder="" v-model="value" oninput="value=value.replace(/[^\d]/g,'')">
<template slot="append"></template>
</el-input>
<p v-if="value > 2000"><i class="el-icon-error"></i>最多支持导出2000条,如需更多联系大司空客服人员</p>
</div>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="clickEXCEL">确认导出</el-button>
<el-button @click="cancel">取消</el-button>
</div>
</el-dialog>
<el-dialog :visible.sync="dialogExportVisible1" width="640px" append-to-body class="dialogExport">
<template slot="title">
<img class="tip-img" src="@/assets/images/icon.png" />
数据导出
</template>
<div class="content">
<img class="success" src="@/assets/images/success.png" />
<p class="p1">导出成功</p>
<p class="p2">
可在个人中心查看导出表格
<span @click="toUrl">前往个人中心</span>
</p>
</div>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="downloadFile(exportData.url,exportData.originalName)">下载表格</el-button>
<el-button @click="dialogExportVisible1 = false">取消</el-button>
</div>
</el-dialog>
</div>
</template>
......@@ -243,11 +289,37 @@ import {encodeStr} from "@/assets/js/common.js"
import skeleton from '@/views/project/projectList/component/skeleton'
import api from '@/api/radar/radar.js';
export default {
name: 'BidRecord',
name: 'MajorProject',
components:{skeleton},
data() {
return {
encodeStr,
dialogExportVisible1:false,
exportTableData:[{
"address":"四川省-成都市",
"stockPercent":"18.43%",
"agency":'鞍钢股份有限公司',
"issueTime":"2023-09-22",
"subjectMatter":"其他",
"memberLevel":"二级企业",
"tenderee":"鞍钢冷轧钢板(莆田)有限公司综合部",
"projectType":"其他",
"bidAmount":"202万元",
"projectName":"2023年中铁一局集团第二工程有限公司江浙区域项目自购物资集中招标采购文件(一)(钢材)招标公告",
},
{
"address":"四川省-成都市",
"stockPercent":"18.43%",
"agency":'鞍钢股份有限公司',
"issueTime":"2023-09-22",
"subjectMatter":"其他",
"memberLevel":"二级企业",
"tenderee":"鞍钢股份有限公司",
"projectType":"其他",
"bidAmount":"202万元",
"projectName":"太极集团四川太极制药有限公司转让持有的成都市4套住宅-高新区玉虹巷2号1栋6单元7层13号",
}],
exportData:{},
fieldshow: false,
fieldText: '默认排序',
field: 'year', //查询结果排序方式
......@@ -371,7 +443,9 @@ export default {
total:0,
page: 1,
limit: 20,
dataEXCEL:{}
dataEXCEL:{},
dialogExportVisible:false,
value:''
};
},
mounted() {
......@@ -446,17 +520,9 @@ export default {
},
importantProjectDto: data,
};
if(exportFlag){
this.dataEXCEL = params
if(this.total > 2000){
this.dataEXCEL.page.limit = 2000;
}else {
this.dataEXCEL.page.limit = this.total;
}
this.$download.exportByPost('/radar/export/important',this.dataEXCEL,'重点项目清单.xlsx');
}else{
api.getImportantPage(params).then(res=>{
this.isSkeleton = false;
this.isSkeleton = false;
if (res.code==200) {
this.tableData=res.data.list;
this.total=res.data.total;
......@@ -467,7 +533,7 @@ export default {
});
}
},
getUipIdByCid(companyId){
......@@ -673,6 +739,52 @@ export default {
this.fieldOptions[index].status = true;
this.search();
},
clickDialog(){
this.dialogExportVisible=true;
},
clickEXCEL() {
if(this.value > 2000){
return
}
this.dialogExportVisible=false;
if(this.value){
this.dataEXCEL.page.limit=this.value
}else {
this.dataEXCEL.page.limit=this.total > 2000 ? 2000 : this.total;
}
delete this.dataEXCEL.page.page
api.radarExport(this.dataEXCEL).then(res=>{
if(res.code === 200){
this.dialogExportVisible1=true;
this.value=''
this.exportData=res.data;
}
})
},
cancel(){
this.dialogExportVisible=false
this.value=''
},
downloadFile(url, fileName) {
const x = new XMLHttpRequest()
x.open("GET", url, true)
x.responseType = 'blob'
x.onload=function(e) {
const url = window.URL.createObjectURL(x.response)
const a = document.createElement('a')
a.href = url
a.download = fileName
a.click()
a.remove()
}
x.send()
},
toUrl(){
this.dialogExportVisible1=false;
this.$router.push({
path: '/user/profile',
})
},
},
};
</script>
......@@ -946,8 +1058,94 @@ export default {
}
}
.jabph_popper_box{
left: 101px;
left: 101px;
}
.dialogExport{
::v-deep .el-dialog{
.el-dialog__header{
height: 48px;
line-height: 48px;
padding: 0 16px;
border-bottom: 1px solid #E1E1E1;
font-weight: bold;
color: #1D2129;
font-size: 16px;
.tip-img{
width: 18px;
height: 18px;
margin-right: 7px;
margin-bottom: -3px;
}
.el-dialog__headerbtn{
font-size: 20px;
font-weight: bold;
top: 15px;
.el-dialog__close{
color:#999999;
}
}
}
.el-dialog__body{
padding: 16px;
.input{
margin-top: 16px;
.el-input{
width: 160px;
border-radius: 2px;
height: 32px;
.el-input__inner{
height: 32px;
line-height: 32px;
}
}
.el-input-group__append{
padding: 0 14px;
}
p{
color: #FF3C3C;
font-size: 12px;
margin-left: 12px;
display: inline-block;
i{
font-size: 14px;
margin-right: 4px;
}
}
}
.content{
text-align: center;
margin-top: 36px;
.success{
width: 64px;
height: 64px;
margin-bottom: 16px;
}
p{
padding: 0;
margin: 0;
}
.p1{
color: #232323;
font-size: 16px;
margin-bottom: 8px;
}
.p2{
color: rgba(35,35,35,0.4);
font-size: 14px;
span{
color:#0081FF;
cursor: pointer;
}
}
}
}
.el-dialog__footer{
text-align: center;
padding-bottom: 24px;
}
}
}
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment