Commit ead87a57 authored by yht15023815643's avatar yht15023815643

评标助手

parent d8ffcc9d
<template>
</template>
<script>
export default {
}
</script>
<style>
</style>
\ No newline at end of file
<template>
<div class="app-container enterprise_contatiner">
<div class="header">
<el-tabs v-model="activeName" >
<el-tab-pane label="查资质" name="first"></el-tab-pane>
<el-tab-pane label="现行资质标准" name="second"></el-tab-pane>
<el-tab-pane label="历史批量查询结果" name="third"></el-tab-pane>
</el-tabs>
</div>
<SearchAptitude v-if="activeName === 'first'"></SearchAptitude>
<AptitudeStandard v-if="activeName === 'second'"></AptitudeStandard>
<SearchResult v-if="activeName === 'third'"></SearchResult>
</div>
</template>
<script>
import SearchAptitude from './components/SearchAptitude'
import AptitudeStandard from './components/AptitudeStandard'
import SearchResult from './components/SearchResult'
export default {
name: 'Assistant',
components: {
SearchAptitude,AptitudeStandard,SearchResult
},
data() {
return {
activeName: 'first'
}
},
}
</script>
<style lang="scss" scoped>
.header{
justify-content: space-between;
height: 48px;
background: #FFFFFF;
border-radius: 4px 4px 0 0 ;
border-bottom: 1px solid #EEEEEE;
color: #232323;
position: sticky;
top: 54px;
z-index: 999;
::v-deep .el-tabs{
height: 48px;
line-height: 48px;
.el-tabs__nav-wrap::after {
position: static !important;
}
.el-tabs__header{
margin: 0;
.el-tabs__item{
padding: 0 16px;
font-size: 16px;
}
.is-active{
font-weight: bold;
}
}
.el-tabs__content{
width: 100%;
}
}
.location{
font-size: 14px;
color: #0081FF;
i{
margin-right: 6px;
font-size: 16px;
}
}
}
</style>
\ No newline at end of file
<template>
<div>
<div class="apt_stan_header">
<span v-for="(item,index) in list" class="apt_stan_header_span" :class="activeIndex==index?'active_span':''" :key="index" @click="activeIndex=index">{{item}}</span>
</div>
<div class="apt_stan_content">
<div class="apt_stan_content_header">
<el-select v-model="value" placeholder="请选择">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</div>
<div style="padding:16px;">
<el-table :data="tableData" :header-cell-style="{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}" v-horizontal-scroll="'hover'"
class="table-item1 fixed-table" border highlight-current-row>
<el-table-column label="资质名称" fixed >
<template slot-scope="scope">
{{scope.row.province}}
</template>
</el-table-column>
<el-table-column label="等级" width="274">
<template slot-scope="scope">
{{scope.row.biddingCount||"--"}}
</template>
</el-table-column>
<el-table-column label="经营范围" >
<template slot-scope="scope">
{{scope.row.landInfoCount||"--"}}
</template>
</el-table-column>
</el-table>
<div class="apt_stan_content_text_box">·建筑工程是指各类结构形式的民用建筑工程、工业建筑工程、构筑物工程以及相配套的道路、通信、管网管线等设施工程。工程内容包括地基与基础、主体结构、建筑屋面、装修装饰、建筑幕墙、附建人防工程以及给水排水及供暖、通风与空调、电气、消防、智能化、防雷等配套工程;</div>
</div>
</div>
</div>
</template>
<script>
export default {
data(){
return{
tableData:[],
activeIndex:0,
list:['建筑业企业资质','工程监理','工程设计','工程勘察','工程造价咨询'],
options: [
{
value: '选项1',
label: '黄金糕'
}, {
value: '选项2',
label: '双皮奶'
}, {
value: '选项3',
label: '蚵仔煎'
}, {
value: '选项4',
label: '龙须面'
}, {
value: '选项5',
label: '北京烤鸭'
}
],
value: ''
}
},
}
</script>
<style lang="scss" scoped>
.apt_stan_header{
border-radius: 0px 0px 4px 4px;
display: flex;
padding: 16px;
background: #FFFFFF;
.apt_stan_header_span{
cursor: pointer;
font-size: 14px;
color: #3D3D3D;
height: 32px;
border-radius: 4px;
padding: 5px 12px;
margin-right: 12px;
display: inline-block;
background: #F3F4F5;
}
.active_span{
background: #F6F9FC;
color: #0081FF;
}
}
.apt_stan_content{
margin-top: 16px;
background: #FFFFFF;
border-radius: 4px 4px 0px 0px;
.apt_stan_content_header{
padding: 16px;
border-width: 0px 0px 1px 0px;
border-style: solid;
border-color: #EEEEEE;
}
::v-deep .el-input__inner{
border: none;
}
.apt_stan_content_text_box{
border-radius: 0px 0px 4px 4px;
padding: 16px;
background: #FFFFFF;
border: 1px solid #E6EAF1;
color: #3D3D3D;
font-size: 12px;
margin-top: 16px;
}
}
</style>
\ No newline at end of file
<template>
<el-dialog title="批量查资质" custom-class="batch_import_dialog" :visible.sync="visible">
<div class="upload" v-if="addfile==false">
<div class="up_title">导入Excel文件,高效查询或导出企业信息;查询成功后可使用筛选项二次筛选</div>
<div>
<div class="step_box" v-for="(item,index) in list" :key="index">
<span class="step">{{ index+1 }}</span><span class="step_text">{{ item }}</span><span class="step_line" v-if="index!=3"></span>
</div>
</div>
<div class="up_box">
<el-upload class="batch_import_upload"
:action="action"
:multiple="false"
accept=".xls,.xlsx"
drag
ref="upload"
:auto-upload="false"
:file-list="fileList"
:on-change="handleFileListChange"
:headers="headers"
:on-success="onSuccess">
<img class="up_img" src="@/assets/images/plus.png">
<div class="up_text">点击选择文件或将文件拖拽至此导入企业名录</div>
<div class="up_tip">· 导入的文件内容必须依照下载模板的要求填写);</div>
<div class="up_tip">· 上传文件最大为2M,仅支持Excel表格文件(xls,xlsx);</div>
<div class="up_tip">· 单次查询企业数量限时免费 5000 家。</div>
</el-upload>
</div>
<div class="bd"></div>
<div class="btns1 clearfix">
<div class="btn btn_default dowload" @click="downloadClick"><img src="@/assets/images/download.png" alt="">下载模板</div>
<div class="btn btn_primary btn_disabled fr" v-if="isUpload==false">查询</div>
<div class="btn btn_primary fr" @click="importConfirmClick" v-else>查询</div>
<div class="btn btn_default fr" @click="importCancel">取消</div>
</div>
</div>
<div class="success" v-if="addfile==true">
<div v-if="addsuccess==false">
<img class="img" src="@/assets/images/project/clock.png">
<div class="p1">查询客户中...</div>
<div class="p2">请耐心等待,过程大概30秒</div>
</div>
<div v-if="addsuccess == true">
<div class="p3">
<img src="@/assets/images/project/success.png">查询成功
</div>
<div class="p2">{{messages}}</div>
<div class="btns">
<div class="btn btn_primary h32" @click="getmsg">查看</div>
</div>
</div>
</div>
</el-dialog>
</template>
<script>
import { getToken } from "@/utils/auth";
import "@/assets/styles/project.scss"
import {importData} from '@/api/custom/custom'
export default {
name: 'batchImport',
props:{
importtype:''
},
data(){
return{
list:['下载模版','按要求在模板内填写企业全称名录','上传文件','查询结果'],
visible:false,
isUpload:false,//有上传的文件
addfile:false,//已上传文件
addsuccess:false,//已成功加入数据
//批量导入
action:"",
fileList: [],
headers: {
Authorization: "Bearer " + getToken(),
},
downloadhref:'',//样例地址
successCount:0,//成功条数
messages:'',
}
},
created(){
if(this.importtype == 'project'){//项目管理
this.downloadhref = '/file/projectTemplate.xlsx'
this.action = process.env.VUE_APP_BASE_API + '/business/info/upload'
}
if(this.importtype == 'custom'){//客户管理
this.downloadhref = '/file/Template.xlsx'
this.action = process.env.VUE_APP_BASE_API + "/customer/importData"
}
},
methods:{
getmsg(){
this.importCancel()
this.$emit('getdatas')
},
handleFileListChange(file, fileList) {
var testmsg = file.name.substring(file.name.lastIndexOf(".") + 1);
const extension = testmsg === "xlsx";
const extension1 = testmsg === "xls";
if (!extension && !extension1 ) {
this.$message({
message: "上传文件只能是.xls,.xlsx格式!",
type: "warning",
});
return false;
}
const isLt2M = file.size / 1024 / 1024 < 2
if (!isLt2M) {
this.$refs.upload.clearFiles()
this.$message({
message: '上传文件大小不能超过 2MB!',
type: 'warning'
})
return false
}
if (fileList.length > 0) {
this.fileList = [fileList[fileList.length - 1]];
this.isUpload = true
}
},
onSuccess(res, file, fileList) {
if (res.code == 200) {
this.successCount = res.successCount
if(this.importtype == 'project'){//项目管理
this.messages = res.msg
}
if(this.importtype == 'custom'){//客户管理
let num = res.data?res.data.length:0
let str = '成功导入客户条数'+res.successCount+',客户去重条数'+ num
this.messages = str
}
this.addsuccess = true
}else {
this.importCancel()
this.$message.error({ message: res.msg, showClose: true })
}
},
downloadClick() {
let a = document.createElement("a");
a.setAttribute("href", this.downloadhref);
a.setAttribute("download", "批量导入模版.xlsx");
document.body.appendChild(a);
a.click();
a.remove();
},
// 批量导入
importConfirmClick() {
if (this.fileList.length > 0) {
this.$refs["upload"].submit();
this.addfile = true
} else {
this.$message("请先选择文件");
}
},
importCancel(){
this.addfile = false
this.isUpload = false
this.addsuccess = false
this.fileList = []
this.$emit('cancels')
},
}
}
</script>
<style lang="scss" scoped>
::v-deep .batch_import_dialog{
width: 656px;
border-radius: 4px;
.el-dialog__header{
font-size: 16px;
color:#232323;
font-weight:700;
}
.el-dialog__body{
border-top: 1px solid #E5E6EB;
}
.up_title{
font-size: 12px;
color: #666666;
position: absolute;
top: 23px;
left: 116px;
}
.upload{
.step_box{
display: inline-block;
font-size: 12px;
color: #3D3D3D;
.step{
display: inline-block;
width: 12px;
height: 12px;
background: #0081FF;
color: #ffffff;
margin-right: 4px;
text-align: center;
border-radius: 50%;
}
.step_line{
width: 27px;
height: 1px;
display: inline-block;
background:#D8D8D8;
position: relative;
top: -4px;
margin:0 12px;
}
}
.up_box{
margin-top: 20px;
.batch_import_upload{
.el-upload-dragger{
width: 616px;
height: 224px;
background: #F2F3F5;
border-radius: 2px 2px 2px 2px;
border: 1px solid #E5E6EB;
.up_img{
width: 14px;
height: 14px;
margin-top: 50px;
margin-bottom: 24px;
}
.up_text{
font-size: 14px;
color: #232323;
margin-bottom: 4px;
}
.up_tip{
color: #999999;
font-size: 12px;
height: 20px;
line-height: 20px;
}
}
}
.el-upload-list__item{
height: 36px;
line-height: 36px;
background: #F7F8FA;
border-radius: 2px 2px 2px 2px;
a{
color: #1D2129;
}
.el-icon-close{
top: 10px;
}
}
}
.bd{
width: 656px;
margin-left: -20px;
height: 1px;
background:#E5E6EB ;
margin-top: 17px;
}
.btns1{
.btn{
border-radius: 2px;
padding: 0 16px;
width: auto;
height: 32px;
line-height: 32px;
margin-top: 16px;
}
.btn_default{
border-color: #DCDFE6;
color: #232323;
margin-left: 0;
}
.fr{
float:right;
}
.dowload{
img{
width: 16px;
height: 16px;
}
}
.btn_disabled{
background: #94BFFF;
color: #ffffff;
}
}
}
}
</style>
<template>
<div>
<div class="content">
<div class="content_item content_item_padding0">
<div class="label">企业名称</div>
<div class="content_right item_ckquery_list">
<el-input class="ename_input" clearable placeholder="多个企业用空格隔开" v-model="ename" @input="projectNamebtn('ename',ename,'关键字:')">
<div slot="append" class="btn-search" @click="search()">搜索</div>
</el-input>
</div>
</div>
<div class="content_item">
<div class="label label1" >资质条件</div>
<div class="content_right content_item_ckquery">
<div class="item_ckquery_list" v-for="(item,i) in aptitudeDtoList" :key="i" :class="i>0?'item_ckquery_distance':''">
<el-cascader :options="optionss" separator='丨' clearable :ref="i" class="content_item_list" v-model="item.codeStr" @change='optionsbtn(i)'
filterable :props="{
checkStrictly:true,
label:'name',
value:'id',
children:'list',
expandTrigger:'hover'
}" popper-class='content_item_zizi'>
</el-cascader>
<div class="ckquery_list_right" v-show="i==aptitudeDtoList.length-1" style="position: relative;">
<span class="item_ckquery_btn" @click="addAptitudeDtoList">
<i class="el-icon-plus" style="font-size:14px"></i>
添加资质
</span>
</div>
</div>
</div>
</div>
<div class="content_item" style="margin-left:68px;">
<span v-for=" (kitme,k) in queryTypelist" :key="k">
<el-radio v-model="queryType" :label="kitme.key">
{{kitme.value}}
</el-radio>
</span>
</div>
<div class="content_item content_item1">
<div class="search-new">
<span @click="search()">查询</span>
<span style="color:#5B5B5B" @click="reset()">重置</span>
<span @click="$refs.batchImport.visible = true">批量查询</span>
</div>
</div>
</div>
<div class="bottomlist">
<div class="bottomlist-title">
<div class="bottomlist-title-left">
<p class="title-left">
<span style="margin-right:4;color:rgba(35, 35, 35, 0.40);font-size: 18px;position: relative;top:2px;">·</span>共有{{total}}
</p>
</div>
<div class="title-right">
<p>
<img src="@/assets/images/EXCEL.png" alt="">
<span class="excel" @click="clickDialog">导出EXCEL</span>
</p>
</div>
</div>
<div class="bd"></div>
<div class="table-item-jf table-item-jf1" v-if="tableData.length==0&& !isSkeleton">
<img class="item-jf-img" src="@/assets/images/kong.png" alt="">
<div class="item-jf-titel">抱歉,没找到相关数据!</div>
<div class="item-jf-text">建议调整关键词或筛选条件,重新搜索!</div>
</div>
<template v-if="!isSkeleton&&tableData.length>0">
<div v-for="(item,index) in tableData" :key="index" style="padding-bottom: 16px;">
<skeleton style="margin-left:16px;" v-if="isSkeleton"></skeleton>
<div class=" table-item-jf table-item " >
<div class="title_box">
<img src="@/assets/images/enterprise.png" >
<span class="name_box">{{ item.name }}</span>
<span class="float_r">符合条件资质({{ item.total }}<span v-if="item.total>5" class="show_more" @click="showClick(item)">查看所有 ></span></span></span>
</div>
<el-table :data="item.list" :header-cell-style="{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}" v-horizontal-scroll="'hover'"
class="table-item1 fixed-table" border highlight-current-row>
<el-table-column label="证书编号" width="119">
<template slot-scope="scope">
{{scope.row.supplierCount||"--"}}
</template>
</el-table-column>
<el-table-column label="资质名称" width="273">
<template slot-scope="scope">
{{scope.row.biddingCount||"--"}}
</template>
</el-table-column>
<el-table-column label="承包工程范围" width="415">
<template slot-scope="scope">
{{scope.row.landInfoCount||"--"}}
</template>
</el-table-column>
<el-table-column label="发证日期" width="119">
<template slot-scope="scope">
{{scope.row.bratingSubjectLevel||"--"}}
</template>
</el-table-column>
<el-table-column label="有效期至" width="119">
<template slot-scope="scope">
{{scope.row.bondBalance||"--"}}
</template>
</el-table-column>
<el-table-column label="发证机关" width="204">
<template slot-scope="scope">
{{scope.row.bondBalance1||"--"}}
</template>
</el-table-column>
<el-table-column label="经营范围" width="415">
<template slot-scope="scope">
<span class="line_2"> {{scope.row.bondBalance2||"--"}}</span>
</template>
</el-table-column>
</el-table>
</div>
</div>
<div class="pagination clearfix" v-show="total>0">
<el-pagination background :page-size="pageSize" :current-page="pageNum" @current-change="handleCurrentChange" layout="prev, pager, next"
:total="total">
</el-pagination>
</div>
</template>
</div>
<el-dialog title="所有符合条件资质" custom-class="show_more_dialog" :visible.sync="showMore">
<div class=" table-item-jf table-item " >
<div class="title_box">
<img src="@/assets/images/enterprise.png" >
<span class="name_box">{{ dialogData.name }}</span>
<span class="float_r">共有 <span style="color: #0081FF;">{{ dialogData.total }}</span> 个资质</span>
</div>
<el-table :data="dialogData.list" :header-cell-style="{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}" v-horizontal-scroll="'hover'" class="table-item1 fixed-table" border highlight-current-row>
<el-table-column label="证书编号" width="119">
<template slot-scope="scope">
{{scope.row.supplierCount||"--"}}
</template>
</el-table-column>
<el-table-column label="资质名称" width="273">
<template slot-scope="scope">
{{scope.row.biddingCount||"--"}}
</template>
</el-table-column>
<el-table-column label="承包工程范围" width="415">
<template slot-scope="scope">
{{scope.row.landInfoCount||"--"}}
</template>
</el-table-column>
<el-table-column label="发证日期" width="119">
<template slot-scope="scope">
{{scope.row.bratingSubjectLevel||"--"}}
</template>
</el-table-column>
<el-table-column label="有效期至" width="119">
<template slot-scope="scope">
{{scope.row.bondBalance||"--"}}
</template>
</el-table-column>
<el-table-column label="发证机关" width="204">
<template slot-scope="scope">
{{scope.row.bondBalance1||"--"}}
</template>
</el-table-column>
<el-table-column label="经营范围" width="415">
<template slot-scope="scope">
<span class="line_2"> {{scope.row.bondBalance2||"--"}}</span>
</template>
</el-table-column>
</el-table>
</div>
<div class="pagination clearfix" v-show="dialogData.total>5">
<el-pagination background :current-page="pageNum1" :page-size="pageSize" @current-change="handleCurrentChange1" layout="prev, pager, next"
:total="total">
</el-pagination>
</div>
</el-dialog>
<BatchImport ref="batchImport"></BatchImport>
<ExportDialog :data="exportData" v-if="exportData.dialogExportVisible" @clickEXCEL="clickEXCEL"></ExportDialog>
</div>
</template>
<script>
import "@/assets/styles/public.scss";
import api from '@/api/enterpriseData/enterpriseData.js';
import skeleton from '@/views/project/projectList/component/skeleton';
import ExportDialog from "@/views/component/export-dialog"
import BatchImport from "./BatchImport"
export default {
components: { skeleton,ExportDialog,BatchImport },
data(){
return{
batchImport:false,
ename: '',
aptitudeDtoList: [
{
nameStr: '',
codeStr: [],
}
],
queryTypelist: [
{
key: 'or',
status: false,
value: '任意均可'
},
{
key: 'and',
status: true,
value: '同时具备'
},
],
queryType: 'and',
optionss: [],
dialogData:{},
tableData: [
{
name:'中交第二航务工程局有限公司',
list:[
{
biddingCount:'工程勘察岩土工程专业(岩土工程勘察)甲级',
landInfoCount:'可承担一级以下公路,单座桥长 1000 米以下、单跨跨度 150 米以下的桥梁,长度 1000 米以下的隧道工程的施工。',
supplierCount:'B233000514',
bratingSubjectLevel:'2021-12-27',
bondBalance:'2021-12-27',
bondBalance1:'浙江省住房和城乡建设厅',
bondBalance2:'经营范围包含许可项目:建设工程设计;建设工程勘察;建设工程监理;建设工程施工;测绘服务;国土空间规划编制;水利工程建设监理(依法...',
}
],
total:10
},
{
name:'中交第二航务工程局有限公司',
list:[
{
biddingCount:'工程勘察岩土工程专业(岩土工程勘察)甲级',
landInfoCount:'可承担一级以下公路,单座桥长 1000 米以下、单跨跨度 150 米以下的桥梁,长度 1000 米以下的隧道工程的施工。',
supplierCount:'B233000514',
bratingSubjectLevel:'2021-12-27',
bondBalance:'2021-12-27',
bondBalance1:'浙江省住房和城乡建设厅',
bondBalance2:'经营范围包含许可项目:建设工程设计;建设工程勘察;建设工程监理;建设工程施工;测绘服务;国土空间规划编制;水利工程建设监理(依法...',
}
],
total:10
},
],
total: 0,
pageNum: 1,
pageNum1: 1,
pageSize: 5,
dataEXCEL:{},
isSkeleton: false,
exportData:{
title:'查城投平台',
dialogExportVisible:false,
forData: [
{label: '公司名称', prop: 'companyName',slot: true,minWidth: '140'},
{label: '区域', prop: 'province', slot: true,minWidth: '160'},
{label: '招标数量', prop: 'biddingCount',slot: true,minWidth: '80'},
{label: '城投拿地', prop: 'landInfoCount', slot: true,minWidth: '80'},
{label: '供应商', prop: 'supplierCount',slot: true,minWidth: '100'},
{label: '债券余额(亿元)', prop: 'bondBalance',minWidth: '130'},
{label: '主体评级', prop: 'bratingSubjectLevel',minWidth: '80'},
{label: '行政级别', prop: 'uipExecutiveLevel',minWidth: '80'},
{label: '股东背景', prop: 'shareholderBg', slot: true,minWidth: '100'},
{label: '股权关系', prop: 'equityRelationship', slot: true,minWidth: '100'},
{label: '平台重要性', prop: 'platformImportance', slot: true,minWidth: '130'},
{label: '城投业务类型', prop: 'uipBusinessType', slot: true,minWidth: '130'},
{label: '实控人', prop: 'actualController', slot: true,minWidth: '140'},
{label: '最新报告期', prop: 'latestReportPeriod', slot: true,minWidth: '120'},
{label: '总资产(亿元)', prop: 'totalAssets', slot: true,minWidth: '120'},
{label: '归母净资产(亿元)', prop: 'belongNetAssets', slot: true,minWidth: '140'},
],
exportTableData:[],
exportEXCEL:{}
},
showMore:false,
}
},
created(){
api.aptitudeCode().then(res => {
if (res) {
this.optionss = res;
} else {
this.optionss = aptitudeCode;
}
}).catch(error => {
this.optionss = aptitudeCode;
});
},
methods:{
projectNamebtn(){},
search(){},
showClick(item){
this.showMore = true;
this.dialogData = item
},
handleCurrentChange(pageNum) {
this.pageNum = pageNum;
this.search(pageNum, this.pageSize);
},
handleCurrentChange1(pageNum) {
this.pageNum1 = pageNum;
this.search(pageNum, this.pageSize);
},
handleSizeChange(pageSize) {
this.pageSize = pageSize;
this.search(this.pageNum, pageSize);
},
reloadPage() {
this.pageFlag = false;
this.$nextTick(() => {
this.pageFlag = true;
});
},
optionsbtn(i) {
if (this.aptitudeDtoList.length > 1 && this.aptitudeDtoList[i].codeStr.length < 1) {
this.aptitudeDtoList.splice(i, 1);
i--;
}
this.$refs[i] && this.$refs[i][0].toggleDropDownVisible(false);
var _this = this;
//延迟500毫秒执行
if (this.$refs[i]) {
setTimeout(function () {
_this.aptitudeDtoList[i].nameStr = _this.$refs[i][0].$refs.input.$options.propsData.value;
}, 100);
}
},
addAptitudeDtoList(){
var n = 0;
for (let i = 0; i < this.aptitudeDtoList.length; i++) {
if (!this.aptitudeDtoList[i].nameStr) {
n++;
}
}
if (n > 0) {
this.$message.warning("请选择资质条件后,增加资质!");
} else {
this.aptitudeDtoList.push({
nameStr: '',
codeStr: [],
});
}
},
reset(){
Object.assign(this.$data, this.$options.data()); //重置data
api.aptitudeCode().then(res => {
if (res) {
this.optionss = res;
} else {
this.optionss = aptitudeCode;
}
}).catch(error => {
this.optionss = aptitudeCode;
});
},
clickDialog(){
this.exportData.dialogExportVisible=true;
},
clickEXCEL(value,title) {
if(this.tableData.length === 0){
this.$message.error('当前信息列表数据为空,请重新筛选数据');
return
}
if(value > 2000){
return
}
this.dataEXCEL.exportExeclName=title;
if(value){
this.dataEXCEL.pageSize=value
}else {
this.dataEXCEL.pageSize=2000;
}
api.uipSerachExport(this.dataEXCEL).then(res => {
if(res.code === 200){
this.exportData.exportEXCEL=true;
}else {
this.$message.error(res.msg);
}
})
},
cancel(){
this.exportData.dialogExportVisible=false;
this.exportData.exportEXCEL={}
},
}
}
</script>
<style lang="scss" scoped>
.content {
padding: 0px 16px;
padding-top: 16px;
border-radius: 4px 4px 4px 4px;
background: #ffffff;
::v-deep .el-input .el-input__inner{
height: 32px;
line-height: 32px;
}
::v-deep .el-radio__label {
margin-left: 0px;
padding-left: 4px;
margin-right: 24px;
}
.content_item {
padding-top: 20px;
display: flex;
align-items: center;
.label {
width: 68px;
font-size: 14px;
font-weight: 400;
color: rgba(35, 35, 35, 0.8);
}
.label1{
align-self: baseline;
display: inline-block;
height: 32px;
line-height: 32px;
}
.content_right {
.ename_input {
width: 405px;
margin-right: 20px;
}
.el-input-group {
display: flex;
align-items: center;
}
::v-deep .el-input-group__append {
padding: 0px;
line-height: 32px;
font-weight: 400;
color: #0081ff;
height: 32px;
width: 80px;
background: #f5f5f5;
border-radius: 0px 0px 0px 0px;
text-align: center;
cursor: pointer;
}
}
.item_ckquery_list {
display: flex;
align-items: center;
.qualifications-tab {
margin-right: 4px;
border: 1px solid #e0e0e0;
padding: 2px 3px;
border-radius: 2px;
height: 32px;
margin-top: 1px;
span {
background: #fff;
display: inline-block;
cursor: pointer;
float: left;
border-radius: 2px;
padding: 3px 8px;
margin-top: 0.5px;
}
.action {
color: #ffffff;
background: #0081ff;
}
}
.content_item_list {
width: 280px;
height: 32px;
line-height: 32px;
}
.ckquery_list_right {
width: 670px;
}
}
.item_ckquery_list .el-input__icon {
position: relative;
top: 1px;
}
.ckquery_list_right {
width: 405px;
top: 1px;
.item_ckquery_btn{
height: 32px;
line-height: 32px;
top: 1px;
border-color: #DCDFE6;
color: rgba(35, 35, 35, 0.8);
&:hover{
color: #ffffff;
}
}
}
.register_count_ipt {
margin-left: 0px;
}
.register_count_ipt .el-input__inner {
width: 174px;
}
::v-deep .el-input-group__prepend {
padding: 0 8px;
}
.content-projecttype {
display: flex;
align-items: center;
justify-content: center;
.projecttype {
font-weight: 400;
color: #232323;
padding: 1px 5px;
margin-right: 4px;
cursor: pointer;
border-radius: 3px 3px 3px 3px;
font-size: 14px;
}
.projecttype:first-child {
padding-left: 0px;
}
.projecttype:hover {
background: #f3f4f5;
padding: 1px 5px;
}
.activetype {
background: #f3f4f5;
padding: 1px 5px !important;
}
}
}
.content_item1{
margin-top: 16px;
padding-top: 16px;
border-top: 1px solid #EEEEEE;
padding-left: 64px;
.search-new{
padding-bottom: 16px;
span{
display: inline-block;
width: 80px;
text-align: center;
line-height: 32px;
cursor: pointer;
border-radius: 4px;
border: 1px solid #D4D4D4;
opacity: 1;
margin-right: 12px;
}
}
}
.content_item_padding0 {
padding: 0;
}
}
.bottomlist {
width: 100%;
background-color: #ffffff;
border-radius: 4px 4px 4px 4px;
.bottomlist-title {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 12px;
padding: 16px;
.title-right {
display: flex;
align-items: center;
p:last-child {
display: flex;
align-items: center;
font-size: 14px;
font-weight: 400;
color: rgba(35, 35, 35, 0.8);
}
img {
width: 18px;
height: 18px;
}
.excel {
cursor: pointer;
}
}
}
.bd{
border-top: 1px solid #EEEEEE;
margin: 0 16px 16px;
}
.bottomlist-title-left {
display: inline-flex;
align-items: center;
.title-left {
height: 16px;
line-height: 16px;
font-size: 12px;
font-weight: 400;
color: #3d3d3d;
}
}
.bottomlist-content {
padding-bottom: 0px;
}
.table-item-jf {
padding: 0px 16px;
.list-titel-a {
color: #0081ff;
}
::v-deep .el-table--border .el-table__cell:first-child .cell {
padding: 0px 8px;
padding-left: 12px;
font-size: 12px;
font-weight: 400;
}
::v-deep .el-table th.el-table__cell > .cell {
padding: 0px 8px;
padding-left: 12px;
font-size: 12px;
font-weight: 400;
}
::v-deep .el-table th.el-table__cell.is-leaf,
::v-deep .el-table td.el-table__cell {
border-bottom: 1px solid #e6eaf1;
}
::v-deep .el-table--border .el-table__cell {
border-right: 1px solid #e6eaf1;
}
::v-deep.el-table__fixed::before {
height: 0;
}
.el-table {
th,
td {
.cell {
font-size: 12px;
}
}
}
.title_box{
font-size: 14px;
color: #232323;
.name_box{
font-size: 16px;
font-weight: 700;
color: #232323;
margin-bottom: 12px;
}
img{
width: 28px;
height: 28px;
margin-right: 12px;
}
.float_r{
float:right;
.show_more{
cursor: pointer;
color:#0081FF;
margin-left: 8px;
}
}
}
}
.table-item1 {
::v-deep .el-table__body-wrapper {
color: #232323;
}
}
.fixed-table {
overflow: initial;
::v-deep .el-table__header-wrapper {
position: sticky;
top: 56px;
z-index: 9;
}
::v-deep .el-table__fixed-header-wrapper {
position: sticky;
z-index: 9;
top: 56px;
}
::v-deep .el-table__fixed {
overflow-x: clip;
overflow-y: clip;
}
}
.table-item-jf1 {
border-top: 1px solid #efefef;
}
.pagination {
padding: 14px;
.el-pagination {
float: right;
}
}
}
.line_2{
overflow:hidden;
text-overflow:ellipsis;
line-clamp:2;
display:-webkit-box;
text-overflow:-o-ellipsis-lastline;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
}
::v-deep .show_more_dialog{
border-radius: 4px;
width: 900px;
.el-dialog__header{
font-size: 16px;
color:#232323;
font-weight:700;
}
.el-dialog__body{
border-top: 1px solid #E5E6EB;
padding: 20px 20px 56px;
}
.title_box{
font-size: 14px;
color: #232323;
margin-bottom: 20px;
height: 28px;
line-height: 28px;
.name_box{
font-size: 16px;
color: #232323;
margin-bottom: 12px;
}
img{
width: 28px;
height: 28px;
margin-right: 12px;
}
.float_r{
float:right;
.show_more{
cursor: pointer;
color:#0081FF;
margin-left: 8px;
}
}
}
.pagination{
float:right;
margin-top: 12px;
margin-right: -10px;
}
}
</style>
\ No newline at end of file
<template>
<div class="search_result_box">
<el-table :data="tableData" :header-cell-style="{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}" v-horizontal-scroll="'hover'"
class="table-item1 fixed-table" border highlight-current-row>
<el-table-column type="index" label="序号" fixed width="60">
<template slot-scope="scope">
<span>{{(pageNum - 1) *pageSize + scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="表格名称" >
<template slot-scope="scope">
{{scope.row.biddingCount||"--"}}
</template>
</el-table-column>
<el-table-column label="查询时间" width="189">
<template slot-scope="scope">
{{scope.row.landInfoCount||"--"}}
</template>
</el-table-column>
<el-table-column label="操作" width="154">
<template slot-scope="scope">
{{scope.row.bondBalance||"--"}}
</template>
</el-table-column>
</el-table>
<el-pagination background :current-page="pageNum" @current-change="handleCurrentChange" layout="prev, pager, next"
:total="total">
</el-pagination>
</div>
</template>
<script>
export default {
data(){
return{
tableData:[],
total: 0,
pageNum: 1,
}
},
methods:{
handleCurrentChange(pageNum) {
this.pageNum = pageNum;
},
}
}
</script>
<style lang="scss" scoped>
.search_result_box{
background: #ffffff;
padding: 16px;
.el-pagination{
display: flex;
justify-content: end;
padding: 0;
margin-right: -5px;
margin-top: 16px;
}
}
</style>
\ No newline at end of file
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