Commit 453eac9d authored by tianhongyang's avatar tianhongyang

新增查业主

parent 04fc3eda
......@@ -40,6 +40,7 @@
"axios": "0.24.0",
"clipboard": "2.0.8",
"core-js": "^3.32.2",
"dayjs": "^1.11.10",
"echarts": "^5.0.0",
"el-table-horizontal-scroll": "^1.2.5",
"element-resize-detector": "^1.2.4",
......
import request from '@/utils/request'
import request from '@/utils/request';
// 资质json数据
let aptitudeCode= function aptitudeCode(param) {
let aptitudeCode = function aptitudeCode(param) {
return request({
url: 'https://files.jiansheku.com/file/json/common/aptitudeCode.json',
method: 'get',
})
}
});
};
// 人员json数据
let personCert= function personCert(param) {
let personCert = function personCert(param) {
return request({
url: 'https://files.jiansheku.com/file/json/common/personCert.json',
method: 'get',
})
}
});
};
// 备案网站
let searchDic= function searchDic(param) {
let searchDic = function searchDic(param) {
return request({
url: 'https://files.jiansheku.com/file/json/common/searchDic.json',
method: 'get',
})
}
});
};
// 备案网站
let regionWebList= function regionWebList(param) {
let regionWebList = function regionWebList(param) {
return request({
url: '/nationzj/enterprice/regionWebList',
method: 'get',
})
}
});
};
// 地区
let region= function region(param) {
let region = function region(param) {
return request({
url: '/system/region/list/'+param,
url: '/system/region/list/' + param,
method: 'get',
})
}
});
};
// 查甲方选项
let uipGroupData= function uipGroupData(param) {
let uipGroupData = function uipGroupData(param) {
return request({
url: '/enterprise/uipGroupData',
method: 'post',
data: param
})
}
});
};
// 查甲方列表
let uipSerach= function uipSerach(param) {
let uipSerach = function uipSerach(param) {
return request({
url: '/enterprise/uipSerach',
method: 'post',
data: param
})
}
});
};
// 认领用户
let claim= function claim(param) {
let claim = function claim(param) {
return request({
url: '/customer/claim',
method: 'post',
data: param
})
}
});
};
// 取消认领用户
let cancelClaim= function cancelClaim(data) {
let cancelClaim = function cancelClaim(data) {
return request({
url: '/customer/cancelClaim/'+data,
url: '/customer/cancelClaim/' + data,
method: 'put',
// data: data
})
}
});
};
// 历史认领用户
let historyClaim= function historyClaim(data) {
let historyClaim = function historyClaim(data) {
return request({
url: '/customer/historyClaim/'+data,
url: '/customer/historyClaim/' + data,
method: 'put',
// data: data
})
}
});
};
// 客户状态
let customerStatus= function customerStatus(data) {
let customerStatus = function customerStatus(data) {
return request({
url: '/customer/status/'+data,
url: '/customer/status/' + data,
method: 'get',
// data: data
})
}
});
};
// 查建筑企业
let enterprisePage= function enterprisePage(param) {
let enterprisePage = function enterprisePage(param) {
return request({
url: '/enterprise/page',
method: 'post',
data: param
})
}
});
};
// 甲方详情-公司概要
let infoHeader= function infoHeader(param) {
let infoHeader = function infoHeader(param) {
return request({
url: '/enterprise/infoHeader',
method: 'post',
data: param
})
}
});
};
// 搜索集团户
let searchCentralEnterprse= function searchCentralEnterprse(param) {
let searchCentralEnterprse = function searchCentralEnterprse(param) {
return request({
url: '/combine/info/index',
method: 'post',
data: param
})
}
});
};
// 央企
let centralEnterprse= function centralEnterprse(param) {
let centralEnterprse = function centralEnterprse(param) {
return request({
url: '/combine/info/centralEnterprse',
method: 'post',
data: param
})
}
});
};
// 央企子集团
let centralEnterprseChild= function centralEnterprseChild(param) {
let centralEnterprseChild = function centralEnterprseChild(param) {
return request({
url: '/combine/info/centralEnterprse/child',
method: 'post',
data: param
})
}
});
};
// 央企子集团更多
let centralEnterprseChildPage= function centralEnterprseChildPage(param) {
let centralEnterprseChildPage = function centralEnterprseChildPage(param) {
return request({
url: '/combine/info/centralEnterprse/child/page',
method: 'post',
data: param
})
}
});
};
// 地方国企
let centralEnterprselocal= function centralEnterprselocal(param) {
let centralEnterprselocal = function centralEnterprselocal(param) {
return request({
url: '/combine/info/centralEnterprse/local',
method: 'post',
data: param
})
}
});
};
// 地方国企更多
let centralEnterprselocalPage= function centralEnterprselocalPage(param) {
let centralEnterprselocalPage = function centralEnterprselocalPage(param) {
return request({
url: '/combine/info/centralEnterprse/local/page',
method: 'post',
data: param
})
}
});
};
// 其他集团
let centralEnterprsesocial= function centralEnterprsesocial(param) {
let centralEnterprsesocial = function centralEnterprsesocial(param) {
return request({
url: '/combine/info/centralEnterprse/social',
method: 'post',
data: param
})
}
});
};
// 其他集团更多
let centralEnterprsesocialPage= function centralEnterprsesocialPage(param) {
let centralEnterprsesocialPage = function centralEnterprsesocialPage(param) {
return request({
url: '/combine/info/centralEnterprse/social/page',
method: 'post',
data: param
})
}
});
};
//企业标签
let label= function label(param) {
let label = function label(param) {
return request({
url: '/enterprise/label',
method: 'post',
data: param
})
}
});
};
// 查业主单位
export const searchOwnerUnitListApi = (data) => request({
url: '/enterprise/bossCompany',
method: 'post',
data
});
export default {label,centralEnterprsesocialPage,centralEnterprselocalPage,centralEnterprseChildPage,centralEnterprsesocial,centralEnterprselocal,centralEnterprseChild,searchCentralEnterprse,centralEnterprse,region,aptitudeCode,personCert,searchDic,regionWebList,uipGroupData,uipSerach,claim,cancelClaim,enterprisePage,infoHeader,historyClaim,customerStatus}
export default { label, centralEnterprsesocialPage, centralEnterprselocalPage, centralEnterprseChildPage, centralEnterprsesocial, centralEnterprselocal, centralEnterprseChild, searchCentralEnterprse, centralEnterprse, region, aptitudeCode, personCert, searchDic, regionWebList, uipGroupData, uipSerach, claim, cancelClaim, enterprisePage, infoHeader, historyClaim, customerStatus, searchOwnerUnitListApi };
......@@ -279,11 +279,11 @@ export default {
cityIds: [this.companyInfo.cityId],
};
urbanInvestmentPage(data).then(res => {
if(res.code==200){
if(res.data.totalCount<1){
let arr = JSON.parse(JSON.stringify(this.$refs.sidebar.sideRoute))
if (res.code == 200) {
if (res.data.totalCount < 1) {
let arr = JSON.parse(JSON.stringify(this.$refs.sidebar.sideRoute));
arr[4].children[2].disabled = true;
this.$refs.sidebar.sideRoute = arr
this.$refs.sidebar.sideRoute = arr;
}
}
});
......
......@@ -19,9 +19,9 @@
</template>
<script>
import mixin from '../mixins/mixin'
import skeleton from '@/views/project/projectList/component/skeleton'
import {bidNoticeArea, bidNoticeTenderStage,bidNoticeProjectCategory, bidNoticePage} from '@/api/detail/party-a/opport'
import mixin from '../mixins/mixin';
import skeleton from '@/views/project/projectList/component/skeleton';
import { bidNoticeArea, bidNoticeTenderStage, bidNoticeProjectCategory, bidNoticePage } from '@/api/detail/party-a/opport';
export default {
name: 'Announcement',
props: ['companyId'],
......@@ -40,24 +40,24 @@ export default {
},
defaultSort: { prop: 'issueTime', order: 'descending' },
forData: [
{label: '项目名称', prop: 'projectName', minWidth: '300', slot: true, fixed: true},
{label: '发布日期', prop: 'issueTime', sortable: 'custom', descending: '3', ascending: '4', width: '120'},
{label: '预算金额(万元)', prop: 'projectAmount', sortable: 'custom', descending: '1', ascending: '2', width: '140'},
{label: '项目类型', prop: 'projectCategory', width: '110'},
{label: '项目地区', prop: 'province', width: '120', slot: true},
{label: '招标阶段', prop: 'tenderStage', width: '90'},
{label: '招采单位联系人', prop: 'contact', width: '120'},
{label: '招采单位联系方式', prop: 'contactTel', width: '130'},
{label: '代理单位', prop: 'agency', minWidth: '170'},
{label: '代理单位联系人', prop: 'agencyContact', width: '120'},
{label: '代理单位联系方式', prop: 'agencyContactTel', width: '130'},
{label: '报名截止日期', prop: 'overTime', width: '110'}
{ label: '项目名称', prop: 'projectName', minWidth: '300', slot: true, fixed: true },
{ label: '发布日期', prop: 'issueTime', sortable: 'custom', descending: '3', ascending: '4', width: '120' },
{ label: '预算金额(万元)', prop: 'projectAmount', sortable: 'custom', descending: '1', ascending: '2', width: '140' },
{ label: '项目类型', prop: 'projectCategory', width: '110' },
{ label: '项目地区', prop: 'province', width: '120', slot: true },
{ label: '招标阶段', prop: 'tenderStage', width: '90' },
{ label: '招采单位联系人', prop: 'contact', width: '120' },
{ label: '招采单位联系方式', prop: 'contactTel', width: '130' },
{ label: '代理单位', prop: 'agency', minWidth: '170' },
{ label: '代理单位联系人', prop: 'agencyContact', width: '120' },
{ label: '代理单位联系方式', prop: 'agencyContactTel', width: '130' },
{ label: '报名截止日期', prop: 'overTime', width: '110' }
],
formData: [
{ type: 7, fieldName: 'province', value: '',props: {multiple: true}, placeholder: '项目地区', options: []},
{ type: 4, fieldName: 'projectCategory', value: '', placeholder: '项目类型', options: []},
{ type: 4, fieldName: 'tenderStage', value: '', placeholder: '招标阶段', options: []},
{ type: 3, fieldName: 'keys', value: '', placeholder: '输入关键词查询', options: []}
{ type: 7, fieldName: 'province', value: '', props: { multiple: true }, placeholder: '项目地区', options: [], uid: this.getUid() },
{ type: 4, fieldName: 'projectCategory', value: '', placeholder: '项目类型', options: [], uid: this.getUid() },
{ type: 4, fieldName: 'tenderStage', value: '', placeholder: '招标阶段', options: [], uid: this.getUid() },
{ type: 3, fieldName: 'keys', value: '', placeholder: '输入关键词查询', options: [], uid: this.getUid() }
],
//列表
tableLoading: false,
......@@ -72,90 +72,90 @@ export default {
this.handleQuery();
},
methods: {
async handleOption(){
let [area, tender,project] = await Promise.all([
bidNoticeArea({cid: this.companyId}),
bidNoticeTenderStage({cid: this.companyId}),
bidNoticeProjectCategory({cid: this.companyId}),
])
if(area.code==200){
async handleOption() {
let [area, tender, project] = await Promise.all([
bidNoticeArea({ cid: this.companyId }),
bidNoticeTenderStage({ cid: this.companyId }),
bidNoticeProjectCategory({ cid: this.companyId }),
]);
if (area.code == 200) {
let region = area.data.map(item => {
let province = {label:item.province+'('+item.count+')',value:item.provinceId}
if(item.citys&&item.citys.length>0){
let city = [], citem = {}
for(let i=0;i<item.citys.length;i++){
citem = {label:item.citys[i].city, value:item.citys[i].cityId}
if(item.citys[i].areas&&item.citys[i].areas.length>0){
let area = [], aitem = {}
for(let j=0;j<item.citys[i].areas.length;j++){
aitem = {label:item.citys[i].areas[j].area, value:item.citys[i].areas[j].areaId}
area.push(aitem)
citem.children = area
let province = { label: item.province + '(' + item.count + ')', value: item.provinceId };
if (item.citys && item.citys.length > 0) {
let city = [], citem = {};
for (let i = 0; i < item.citys.length; i++) {
citem = { label: item.citys[i].city, value: item.citys[i].cityId };
if (item.citys[i].areas && item.citys[i].areas.length > 0) {
let area = [], aitem = {};
for (let j = 0; j < item.citys[i].areas.length; j++) {
aitem = { label: item.citys[i].areas[j].area, value: item.citys[i].areas[j].areaId };
area.push(aitem);
citem.children = area;
}
}
city.push(citem)
city.push(citem);
}
city.length>0 ? province.children = city : ''
city.length > 0 ? province.children = city : '';
}
return province
})
this.setFormData('province', region)
return province;
});
this.setFormData('province', region);
}
if(tender.code==200){
if (tender.code == 200) {
let tenderStage = tender.data.map(item => {
let it = {name:item.tenderStage+'('+item.count+')',value:item.tenderStage}
return it
})
this.setFormData('tenderStage', tenderStage)
let it = { name: item.tenderStage + '(' + item.count + ')', value: item.tenderStage };
return it;
});
this.setFormData('tenderStage', tenderStage);
}
if(project.code==200){
if (project.code == 200) {
let projectCategory = project.data.map(item => {
let it = {name:item.projectCategory+'('+item.count+')',value:item.projectCategory}
return it
})
this.setFormData('projectCategory', projectCategory)
let it = { name: item.projectCategory + '(' + item.count + ')', value: item.projectCategory };
return it;
});
this.setFormData('projectCategory', projectCategory);
}
},
async handleQuery(params) {
this.tableLoading = true
let param = this.getAreaList(params || this.queryParams)
let res = await bidNoticePage(param)
this.tableLoading = false
if(res.code==200){
this.tableLoading = true;
let param = this.getAreaList(params || this.queryParams);
let res = await bidNoticePage(param);
this.tableLoading = false;
if (res.code == 200) {
this.isSkeleton = false;
this.tableData = res.rows
this.tableData = res.rows;
}
this.tableDataTotal = res.total
this.tableDataTotal = res.total;
},
getAreaList(params){
if(params.province&&params.province.length>0){
let arr = this.$refs.headForm.$refs.cascader[0].getCheckedNodes()
let provinceIds = [], cityIds = [], areaIds = []
getAreaList(params) {
if (params.province && params.province.length > 0) {
let arr = this.$refs.headForm.$refs.cascader[0].getCheckedNodes();
let provinceIds = [], cityIds = [], areaIds = [];
for (var i in arr) {
if (arr[i].parent) {
if (!arr[i].parent.checked) {
if(arr[i].hasChildren || arr[i].level==2){
cityIds.push(arr[i].value)
}else{
areaIds.push(arr[i].value)
if (arr[i].hasChildren || arr[i].level == 2) {
cityIds.push(arr[i].value);
} else {
areaIds.push(arr[i].value);
}
}
} else {
provinceIds.push(arr[i].value)
provinceIds.push(arr[i].value);
}
}
delete params.province
provinceIds.length>0?params.provinceIds = provinceIds:''
cityIds.length>0?params.cityIds = cityIds:''
areaIds.length>0?params.areaIds = areaIds:''
delete params.province;
provinceIds.length > 0 ? params.provinceIds = provinceIds : '';
cityIds.length > 0 ? params.cityIds = cityIds : '';
areaIds.length > 0 ? params.areaIds = areaIds : '';
}
return params
return params;
}
}
}
</script>
<style lang="scss" scoped>
.detail-container{
.detail-container {
background: #ffffff;
border-radius: 4px;
padding: 16px;
......
......@@ -8,7 +8,7 @@
<div class="content">
<div class="content_item">
<div class="content_right item_ckquery_list">
<el-input class="ename_input" placeholder="请输入企业名称关键字" clearable v-model="keys" >
<el-input class="ename_input" placeholder="请输入企业名称关键字" clearable v-model="keys">
<div slot="append" class="btn-search" @click="search()">搜索</div>
</el-input>
......@@ -18,21 +18,13 @@
<div class="content_item">
<div class="label">企业地区</div>
<div class="content_right item_ckquery_list">
<div class="select-popper" >
<div class="select-popper">
<span :class="{color_text:jskBidQueryDto.provinceIds.length ||jskBidQueryDto.cityIds.length ||jskBidQueryDto.areaIds.length,}">
注册地区{{jskBidQueryDto.provinceIds.length ||jskBidQueryDto.cityIds.length ||jskBidQueryDto.areaIds.length? jskBidQueryDto.provinceIds.length + jskBidQueryDto.cityIds.length +jskBidQueryDto.areaIds.length +"项": ""}}
<i class="el-icon-caret-bottom"></i>
</span>
<el-cascader
ref="address"
class="cascader-region"
v-model="addressType"
:options="addressList"
:props="props"
@change="domicileChange"
collapse-tags
clearable
></el-cascader>
<el-cascader ref="address" class="cascader-region" v-model="addressType" :options="addressList" :props="props" @change="domicileChange"
collapse-tags clearable></el-cascader>
</div>
<div class="checkbox">
<div class="checkbox-titel">行政等级</div>
......@@ -64,7 +56,7 @@
</div>
</div>
<div class="content_item">
<div class="label" >主体评级</div>
<div class="label">主体评级</div>
<div class="content_right ">
<div class="checkbox">
<div class="checkbox-content">
......@@ -79,20 +71,21 @@
</div>
</div>
<div class="content_item content_item1">
<div class="label" >股东背景</div>
<div class="label">股东背景</div>
<div class="content_right ">
<div class="checkbox">
<div class="checkbox-content" >
<div class="checkbox-content">
<!-- <el-checkbox-group v-model="shareholderText" @change="shareholderBgbtn"> -->
<el-checkbox v-model="checkshareholder" @change="checkshareholderbtn">全部</el-checkbox>
<el-checkbox @change="shareholderBgbtn" v-for="(item,index) in shareholderBg" v-model="item.checked" :key="index">{{item.value}}</el-checkbox>
<el-checkbox @change="shareholderBgbtn" v-for="(item,index) in shareholderBg" v-model="item.checked"
:key="index">{{item.value}}</el-checkbox>
</div>
</div>
</div>
</div>
<div class="content_item" style="padding:0;">
<div class="label" >股权关系</div>
<div class="label">股权关系</div>
<div class="content_right ">
<div class="checkbox">
<div class="checkbox-content">
......@@ -111,26 +104,22 @@
</div>
<div class="bottomlist">
<div class="bottomlist-title">
<div class="bottomlist-title-left" >
<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>
<el-popover v-model="fieldshow" placement="bottom-start" trigger="click"
popper-class="viewlist-el-popover">
<el-popover v-model="fieldshow" placement="bottom-start" trigger="click" popper-class="viewlist-el-popover">
<ul class="pup_list">
<li v-for="(itme,i) in fieldOptions" :class="itme.status?'active':''"
@click="handsequencingList(i)" :key="i">
<li v-for="(itme,i) in fieldOptions" :class="itme.status?'active':''" @click="handsequencingList(i)" :key="i">
{{itme.value}}
</li>
</ul>
<span slot="reference" class="toolbar-right-download" >
{{fieldText}}<i class="el-icon-arrow-down"
:style="{transform:fieldshow?'rotate(180deg)':''}"></i>
<span slot="reference" class="toolbar-right-download">
{{fieldText}}<i class="el-icon-arrow-down" :style="{transform:fieldshow?'rotate(180deg)':''}"></i>
</span>
</el-popover>
</div>
<div class="title-right">
<p>
<img src="@/assets/images/EXCEL.png" alt="">
......@@ -147,17 +136,19 @@
<skeleton style="margin-left:16px;" v-if="isSkeleton"></skeleton>
<div class=" table-item-jf table-item " v-if="!isSkeleton&&tableData.length>0">
<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 :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="公司名称" fixed width="380" >
<el-table-column label="公司名称" fixed width="380">
<template slot-scope="scope">
<div class="renling">
<router-link :to="`/enterprise/${encodeStr(scope.row.companyId)}`" tag="a" class="list-titel-a" v-html="scope.row.companyName" ></router-link>
<div class="renling-btn" @click="claimbtn(scope.row)" >
<router-link :to="`/enterprise/${encodeStr(scope.row.companyId)}`" tag="a" class="list-titel-a"
v-html="scope.row.companyName"></router-link>
<div class="renling-btn" @click="claimbtn(scope.row)">
<p v-if="scope.row.claimStatus==0" class="renling-img-true">
</p>
......@@ -190,249 +181,249 @@
</template>
</el-table-column>
<el-table-column label="招标数量" width="73" >
<el-table-column label="招标数量" width="73">
<template slot-scope="scope">
{{scope.row.biddingCount||"--"}}
</template>
</el-table-column>
<el-table-column label="城投拿地" width="73" >
<el-table-column label="城投拿地" width="73">
<template slot-scope="scope">
{{scope.row.landInfoCount||"--"}}
</template>
</el-table-column>
<el-table-column label="供应商" width="73" >
<el-table-column label="供应商" width="73">
<template slot-scope="scope">
{{scope.row.supplierCount||"--"}}
</template>
</el-table-column>
<el-table-column label="主体评级" width="73" >
<el-table-column label="主体评级" width="73">
<template slot-scope="scope">
{{scope.row.bratingSubjectLevel||"--"}}
</template>
</el-table-column>
<el-table-column label="债券余额(亿元)" width="124" >
<el-table-column label="债券余额(亿元)" width="124">
<template slot-scope="scope">
{{scope.row.bondBalance||"--"}}
</template>
</el-table-column>
<el-table-column label="行政级别" width="73" >
<el-table-column label="行政级别" width="73">
<template slot-scope="scope">
{{scope.row.uipExecutiveLevel||"--"}}
</template>
</el-table-column>
<el-table-column label="股东背景" width="84" >
<el-table-column label="股东背景" width="84">
<template slot-scope="scope">
{{scope.row.shareholderBg||"--"}}
</template>
</el-table-column>
<el-table-column label="股权关系" width="84" >
<el-table-column label="股权关系" width="84">
<template slot-scope="scope">
{{scope.row.equityRelationship||"--"}}
</template>
</el-table-column>
<el-table-column label="平台重要性" width="85" >
<el-table-column label="平台重要性" width="85">
<template slot-scope="scope">
{{scope.row.platformImportance||"--"}}
</template>
</el-table-column>
<el-table-column label="城投业务类型" width="97" >
<el-table-column label="城投业务类型" width="97">
<template slot-scope="scope">
{{scope.row.uipBusinessType||"--"}}
</template>
</el-table-column>
<el-table-column label="实控人" width="290" >
<el-table-column label="实控人" width="290">
<template slot-scope="scope">
<!-- <router-link v-if="scope.row.actualController" :to="'/radar/bxprozbgg/details/'+ 1" tag="a" class="list-titel-a" >
{{scope.row.actualController}}
</router-link> -->
<template >
<template>
{{scope.row.actualController||"--"}}
</template>
</template>
</el-table-column>
<el-table-column label="最新报告期" width="92" >
<el-table-column label="最新报告期" width="92">
<template slot-scope="scope">
{{scope.row.latestReportPeriod||"--"}}
</template>
</el-table-column>
<el-table-column label="总资产(亿元)" width="112" >
<el-table-column label="总资产(亿元)" width="112">
<template slot-scope="scope">
{{scope.row.totalAssets||"--"}}
</template>
</el-table-column>
<el-table-column label="归母净资产(亿元)" width="133" >
<el-table-column label="归母净资产(亿元)" width="133">
<template slot-scope="scope">
{{scope.row.belongNetAssets||"--"}}
</template>
</el-table-column>
<el-table-column label="货币资金(亿元)" width="121" >
<el-table-column label="货币资金(亿元)" width="121">
<template slot-scope="scope">
{{scope.row.monetaryFunds||"--"}}
</template>
</el-table-column>
<el-table-column label="土地资产(亿元)" width="121" >
<el-table-column label="土地资产(亿元)" width="121">
<template slot-scope="scope">
{{scope.row.landAssets||"--"}}
</template>
</el-table-column>
<el-table-column label="受限资产(亿元)" width="121" >
<el-table-column label="受限资产(亿元)" width="121">
<template slot-scope="scope">
{{scope.row.restrictedAssets||"--"}}
</template>
</el-table-column>
<el-table-column label="应收账款(亿元)" width="121" >
<el-table-column label="应收账款(亿元)" width="121">
<template slot-scope="scope">
{{scope.row.accountsReceivable||"--"}}
</template>
</el-table-column>
<el-table-column label="其他应收款(亿元)" width="133" >
<el-table-column label="其他应收款(亿元)" width="133">
<template slot-scope="scope">
{{scope.row.otherReceivable||"--"}}
</template>
</el-table-column>
<el-table-column label="公益性&准公益性主营占比(%)" width="200" >
<el-table-column label="公益性&准公益性主营占比(%)" width="200">
<template slot-scope="scope">
{{scope.row.econData_001||"--"}}
</template>
</el-table-column>
<el-table-column label="政府补助(亿元)" width="121" >
<el-table-column label="政府补助(亿元)" width="121">
<template slot-scope="scope">
{{scope.row.govSubsidy||"--"}}
</template>
</el-table-column>
<el-table-column label="专项应付款(亿元)" width="133" >
<el-table-column label="专项应付款(亿元)" width="133">
<template slot-scope="scope">
{{scope.row.specialPayable||"--"}}
</template>
</el-table-column>
<el-table-column label="营业收入(亿元)" width="121" >
<el-table-column label="营业收入(亿元)" width="121">
<template slot-scope="scope">
{{scope.row.operatingIncome||"--"}}
</template>
</el-table-column>
<el-table-column label="归母净利润(亿元)" width="133" >
<el-table-column label="归母净利润(亿元)" width="133">
<template slot-scope="scope">
{{scope.row.belongNetProfit||"--"}}
</template>
</el-table-column>
<el-table-column label="净资产收益率(%)" width="136" >
<el-table-column label="净资产收益率(%)" width="136">
<template slot-scope="scope">
{{scope.row.roe||"--"}}
</template>
</el-table-column>
<el-table-column label="经营现金流量净额(亿元)" width="169" >
<el-table-column label="经营现金流量净额(亿元)" width="169">
<template slot-scope="scope">
{{scope.row.netOperatingCashFlow||"--"}}
</template>
</el-table-column>
<el-table-column label="筹资现金流量净额(亿元)" width="169" >
<el-table-column label="筹资现金流量净额(亿元)" width="169">
<template slot-scope="scope">
{{scope.row.netFinancingCashFlow||"--"}}
</template>
</el-table-column>
<el-table-column label="投资现金流量净额(亿元)" width="169" >
<el-table-column label="投资现金流量净额(亿元)" width="169">
<template slot-scope="scope">
{{scope.row.netInvestmentCashFlow||"--"}}
</template>
</el-table-column>
<el-table-column label="总负债 (亿元)" width="113" >
<el-table-column label="总负债 (亿元)" width="113">
<template slot-scope="scope">
{{scope.row.totalLiabilities||"--"}}
</template>
</el-table-column>
<el-table-column label="有息债务 (亿元)" width="125" >
<el-table-column label="有息债务 (亿元)" width="125">
<template slot-scope="scope">
{{scope.row.uipInterestBearingDebt||"--"}}
</template>
</el-table-column>
<el-table-column label="有息债务/总负债(%)" width="147" >
<el-table-column label="有息债务/总负债(%)" width="147">
<template slot-scope="scope">
{{scope.row.econData_002||"--"}}
</template>
</el-table-column>
<el-table-column label="综合融资成本(%)" width="132" >
<el-table-column label="综合融资成本(%)" width="132">
<template slot-scope="scope">
{{scope.row.ofcb||"--"}}
</template>
</el-table-column>
<el-table-column label="现金比率(%)" width="108" >
<el-table-column label="现金比率(%)" width="108">
<template slot-scope="scope">
{{scope.row.cashRatio||"--"}}
</template>
</el-table-column>
<el-table-column label="现金流量比率(%)" width="132" >
<el-table-column label="现金流量比率(%)" width="132">
<template slot-scope="scope">
{{scope.row.cashFlowRatio||"--"}}
</template>
</el-table-column>
<el-table-column label="现金到期债务比(%)" width="144" >
<el-table-column label="现金到期债务比(%)" width="144">
<template slot-scope="scope">
{{scope.row.cashDebtRatio||"--"}}
</template>
</el-table-column>
<el-table-column label="授信余额(亿元)" width="125" >
<el-table-column label="授信余额(亿元)" width="125">
<template slot-scope="scope">
{{scope.row.creditBalance||"--"}}
</template>
</el-table-column>
<el-table-column label="授信余额/全部债务(%)" width="159" >
<el-table-column label="授信余额/全部债务(%)" width="159">
<template slot-scope="scope">
{{scope.row.econData_003||"--"}}
</template>
</el-table-column>
<el-table-column label="EBITDA保障倍数" width="117" >
<el-table-column label="EBITDA保障倍数" width="117">
<template slot-scope="scope">
{{scope.row.ebitdaIcr||"--"}}
</template>
</el-table-column>
<el-table-column label="私募债余额占比(%)" width="144" >
<el-table-column label="私募债余额占比(%)" width="144">
<template slot-scope="scope">
{{scope.row.ppnBalanceProp||"--"}}
</template>
</el-table-column>
<el-table-column label="一年内到期债权占比(%)" width="168" >
<el-table-column label="一年内到期债权占比(%)" width="168">
<template slot-scope="scope">
{{scope.row.econData_004||"--"}}
</template>
</el-table-column>
<el-table-column label="债券余额/有息债务(%)" width="159" >
<el-table-column label="债券余额/有息债务(%)" width="159">
<template slot-scope="scope">
{{scope.row.econData_005||"--"}}
</template>
</el-table-column>
<el-table-column label="借款余额(亿元)" width="124" >
<el-table-column label="借款余额(亿元)" width="124">
<template slot-scope="scope">
{{scope.row.loan||"--"}}
</template>
</el-table-column>
<el-table-column label="借款/有息债务(%)" width="135" >
<el-table-column label="借款/有息债务(%)" width="135">
<template slot-scope="scope">
{{scope.row.econData_006||"--"}}
</template>
</el-table-column>
<el-table-column label="非标余额(亿元)" width="124" >
<el-table-column label="非标余额(亿元)" width="124">
<template slot-scope="scope">
{{scope.row.nonStandardBalance||"--"}}
</template>
</el-table-column>
<el-table-column label="非标余额/有息债务(%)" width="159" >
<el-table-column label="非标余额/有息债务(%)" width="159">
<template slot-scope="scope">
{{scope.row.nonStandardRatio||"--"}}
</template>
</el-table-column>
<el-table-column label="对外担保金额(亿元)" width="145" >
<el-table-column label="对外担保金额(亿元)" width="145">
<template slot-scope="scope">
{{scope.row.guaranteeAmount||"--"}}
</template>
</el-table-column>
<el-table-column label="对外担保比例(%)" width="132" >
<el-table-column label="对外担保比例(%)" width="132">
<template slot-scope="scope">
{{scope.row.guaranteeRatio||"--"}}
</template>
</el-table-column>
<el-table-column label="所属开发区" width="85" >
<el-table-column label="所属开发区" width="85">
<template slot-scope="scope">
{{scope.row.developmentZone||"--"}}
</template>
......@@ -441,42 +432,25 @@
</el-table>
</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"
<el-pagination background :page-size="pageSize" :current-page="pageNum" @current-change="handleCurrentChange" layout="prev, pager, next"
:total="total">
</el-pagination>
</div>
</div>
<el-dialog
title=""
:visible.sync="dialogVisible"
:modal="false"
custom-class='dialog-renlin'
:show-close="false"
width="244px">
<el-dialog title="" :visible.sync="dialogVisible" :modal="false" custom-class='dialog-renlin' :show-close="false" width="244px">
<span>认领成功,是否完善客户信息?</span>
<div slot="footer" class="dialog-footer">
<span class="dialog-footer-btn1" type="primary" @click="claimopen(companyId,customerId)" >
<span class="dialog-footer-btn1" type="primary" @click="claimopen(companyId,customerId)">
立即完善
</span>
<span class="dialog-footer-btn2" @click="search(pageNum, pageSize)">稍后</span>
</div>
</el-dialog>
<el-dialog
title="取消认领"
:visible.sync="dialogVisible1"
:modal="false"
custom-class='dialog-renlin'
:show-close="false"
width="344px">
<el-dialog title="取消认领" :visible.sync="dialogVisible1" :modal="false" custom-class='dialog-renlin' :show-close="false" width="344px">
<span>是否取消认领客户?客户信息将放入“历史客户”。</span>
<div slot="footer" class="dialog-footer">
<span class="dialog-footer-btn1" type="primary" @click="confirm()" >
<span class="dialog-footer-btn1" type="primary" @click="confirm()">
确认
</span>
<span class="dialog-footer-btn2" @click="dialogVisible1 = false">关闭</span>
......@@ -490,22 +464,22 @@
</div>
</el-dialog>
</div>
</template>
</template>
<script>
import {encodeStr} from "@/assets/js/common.js"
import jsk_data from '../../../../../public/jsk.json';
import skeleton from '@/views/project/projectList/component/skeleton'
import api from '@/api/enterpriseData/enterpriseData.js';
import "@/assets/styles/public.scss";
export default {
import { encodeStr } from "@/assets/js/common.js";
import jsk_data from '../../../../../public/jsk.json';
import skeleton from '@/views/project/projectList/component/skeleton';
import api from '@/api/enterpriseData/enterpriseData.js';
import "@/assets/styles/public.scss";
export default {
name: 'Owner',
components:{skeleton},
components: { skeleton },
data() {
return {
encodeStr,
isSkeleton:true,
keys:'',
isSkeleton: true,
keys: '',
addressList: [],
addressType: [],
props: {
......@@ -513,7 +487,7 @@
expandTrigger: "hover",
value: "id",
},
dialogVisible2:false,
dialogVisible2: false,
jskBidQueryDto: {
provinceIds: [],
cityIds: [],
......@@ -521,25 +495,25 @@
},
domicile: [],
// 行政等级
uipExecutiveLevel:[],
uipExecutiveText:[],
checkuipExecutive:true,
uipExecutiveLevel: [],
uipExecutiveText: [],
checkuipExecutive: true,
// 城投业务类型
uipBusinessType:[],
uipBusinessText:[],
checkuipBusiness:true,
uipBusinessType: [],
uipBusinessText: [],
checkuipBusiness: true,
// 主体信用等级
bratingSubjectLevel:[],
bratingSubjectText:[],
checkbratingSubject:true,
bratingSubjectLevel: [],
bratingSubjectText: [],
checkbratingSubject: true,
// 股东背景
shareholderBg:[],
shareholderText:[],
checkshareholder:true,
shareholderBg: [],
shareholderText: [],
checkshareholder: true,
// 股权关系
equityRelationship:[],
equityRelationshipText:[],
checkequityRelationship:true,
equityRelationship: [],
equityRelationshipText: [],
checkequityRelationship: true,
pageFlag: true,
conditionsArr: [],
......@@ -567,16 +541,16 @@
},
],
companyId:'',
companyName:'',
cancelIndex:'',
customerId:'',
companyId: '',
companyName: '',
cancelIndex: '',
customerId: '',
dialogVisible: false,
dialogVisible1: false,
tableData:[],
total:0,
pageNum:1,
pageSize:50
tableData: [],
total: 0,
pageNum: 1,
pageSize: 50
};
},
computed: {
......@@ -590,42 +564,42 @@
keyid: "domicile",
value: this.domicile.join(","),
key: "domicile"
}
};
flag = true;
arr.push(data)
arr.push(data);
}
this.conditionsArr = arr
this.conditionsArr = arr;
return flag;
},
},
created() {
api.uipGroupData().then(res=>{
if (res.code==200) {
api.uipGroupData().then(res => {
if (res.code == 200) {
// 行政等级
this.uipExecutiveLevel=res.data.uipExecutiveLevel,
this.uipExecutiveLevel = res.data.uipExecutiveLevel,
// 城投业务类型
this.uipBusinessType=res.data.uipBusinessType,
this.uipBusinessType = res.data.uipBusinessType,
// 主体信用等级
this.bratingSubjectLevel=res.data.bratingSubjectLevel,
this.bratingSubjectLevel = res.data.bratingSubjectLevel,
// 股东背景
this.shareholderBg=res.data.shareholderBg,
this.shareholderBg = res.data.shareholderBg,
// 股权关系
this.equityRelationship=res.data.equityRelationship;
if(this.shareholderBg.length>0){
let arr = []
this.shareholderBg.map(item=>{
this.equityRelationship = res.data.equityRelationship;
if (this.shareholderBg.length > 0) {
let arr = [];
this.shareholderBg.map(item => {
arr.push({
value:item,
checked:false
})
})
this.shareholderBg = arr
value: item,
checked: false
});
});
this.shareholderBg = arr;
}
}
}).catch(error=>{
}).catch(error => {
});
},
......@@ -672,9 +646,9 @@
label: jsk_data[i].regionName,
short: jsk_data[i].short,
value: jsk_data[i].parentId,
children:jsk_data[i].id==900000?undefined:[],
children: jsk_data[i].id == 900000 ? undefined : [],
});
} else if (jsk_data[i].regionLevel == x + 1 && x + 1 == 2&&str) {
} else if (jsk_data[i].regionLevel == x + 1 && x + 1 == 2 && str) {
for (let j = 0; j < str.length; j++) {
if (str[j].id == jsk_data[i].parentId) {
str[j].children.push({
......@@ -688,7 +662,7 @@
}
} else if (jsk_data[i].regionLevel == x + 1 && x + 1 == 3) {
for (let j = 0; j < str.length; j++) {
if(str[j].children){
if (str[j].children) {
for (let k = 0; k < str[j].children.length; k++) {
if (str[j].children[k].id == jsk_data[i].parentId) {
str[j].children[k].children.push({
......@@ -714,88 +688,88 @@
this.init();
},
init(){
init() {
this.search();
this.addressListfn();
},
checkuipExecutivebtn(val){
this.uipExecutiveText =[];
this.checkuipExecutive=true;
checkuipExecutivebtn(val) {
this.uipExecutiveText = [];
this.checkuipExecutive = true;
this.search();
},
uipExecutiveLevelbtn(val){
if(val.length>0){
this.checkuipExecutive=false;
}else if(val.length==0){
this.checkuipExecutive=true;
uipExecutiveLevelbtn(val) {
if (val.length > 0) {
this.checkuipExecutive = false;
} else if (val.length == 0) {
this.checkuipExecutive = true;
}
this.search();
},
checkuipBusinessbtn(val){
this.uipBusinessText =[];
this.checkuipBusiness=true;
checkuipBusinessbtn(val) {
this.uipBusinessText = [];
this.checkuipBusiness = true;
this.search();
},
uipBusinessTypebtn(val){
if(val.length>0){
this.checkuipBusiness=false;
}else if(val.length==0){
this.checkuipBusiness=true;
uipBusinessTypebtn(val) {
if (val.length > 0) {
this.checkuipBusiness = false;
} else if (val.length == 0) {
this.checkuipBusiness = true;
}
this.search();
},
checkbratingSubjectbtn(val){
this.bratingSubjectText =[];
checkbratingSubjectbtn(val) {
this.bratingSubjectText = [];
this.search();
this.checkbratingSubject=true;
this.checkbratingSubject = true;
},
bratingSubjectLevelbtn(val){
if(val.length>0){
this.checkbratingSubject=false;
}else if(val.length==0){
this.checkbratingSubject=true;
bratingSubjectLevelbtn(val) {
if (val.length > 0) {
this.checkbratingSubject = false;
} else if (val.length == 0) {
this.checkbratingSubject = true;
}
this.search();
},
checkshareholderbtn(val){
this.shareholderText =[];
for(var i in this.shareholderBg){
this.shareholderBg[i].checked = false
checkshareholderbtn(val) {
this.shareholderText = [];
for (var i in this.shareholderBg) {
this.shareholderBg[i].checked = false;
}
this.checkshareholder=true;
this.checkshareholder = true;
this.search();
},
shareholderBgbtn(val){
let flag = false
this.shareholderText =[];
for(var i in this.shareholderBg){
if(this.shareholderBg[i].checked){
if(this.shareholderText.indexOf(this.shareholderBg[i].value)==-1){
this.shareholderText.push(this.shareholderBg[i].value)
shareholderBgbtn(val) {
let flag = false;
this.shareholderText = [];
for (var i in this.shareholderBg) {
if (this.shareholderBg[i].checked) {
if (this.shareholderText.indexOf(this.shareholderBg[i].value) == -1) {
this.shareholderText.push(this.shareholderBg[i].value);
}
flag = true;
}
}
if(flag){
this.checkshareholder=false;
}else{
this.checkshareholder=true;
if (flag) {
this.checkshareholder = false;
} else {
this.checkshareholder = true;
}
this.search();
},
checkequityRelationshipbtn(val){
this.equityRelationshipText =[];
this.checkequityRelationship=true;
checkequityRelationshipbtn(val) {
this.equityRelationshipText = [];
this.checkequityRelationship = true;
this.search();
},
equityRelationshipbtn(val){
if(val.length>0){
this.checkequityRelationship=false;
}else if(val.length==0){
this.checkequityRelationship=true;
equityRelationshipbtn(val) {
if (val.length > 0) {
this.checkequityRelationship = false;
} else if (val.length == 0) {
this.checkequityRelationship = true;
}
this.search();
},
......@@ -823,79 +797,79 @@
this.pageFlag = true;
});
},
async handleHistoryClaim(){
let res = await api.historyClaim(this.companyName)
if(res.code==200){
async handleHistoryClaim() {
let res = await api.historyClaim(this.companyName);
if (res.code == 200) {
this.dialogVisible2 = false;
this.search();
}else{
this.$message.error(res.msg)
} else {
this.$message.error(res.msg);
}
},
claimbtn(item){
if(item.claimStatus==1){
return this.dialogVisible2=true;
claimbtn(item) {
if (item.claimStatus == 1) {
return this.dialogVisible2 = true;
}
this.companyId=item.companyId;
var info={};
api.infoHeader({companyId:this.companyId}).then(res=>{
this.companyId = item.companyId;
var info = {};
api.infoHeader({ companyId: this.companyId }).then(res => {
// console.log(res)
info=res.data;
let params={
companyId:item.companyId,
uipId:item.uipId,
companyName:item.companyName.replace(/<font color='red'>/g,'').replace(/<\/font>/g,''),
creditLevel:info.bratingSubjectLevel,
legalPerson:info.corporatePerson,
registerCapital:info.registeredCapital,
provinceId:info.provinceId,
cityId:info.cityId,
districtId:info.districtCode,
registerAddress:info.provinceName+'-'+info.cityName+'-'+info.districtName,
creditCode:info.creditCode,
}
api.claim(params).then(res1=>{
if (res1.code==200) {
this.dialogVisible=true;
this.customerId=res1.data.customerId;
}
}).catch(error=>{
info = res.data;
let params = {
companyId: item.companyId,
uipId: item.uipId,
companyName: item.companyName.replace(/<font color='red'>/g, '').replace(/<\/font>/g, ''),
creditLevel: info.bratingSubjectLevel,
legalPerson: info.corporatePerson,
registerCapital: info.registeredCapital,
provinceId: info.provinceId,
cityId: info.cityId,
districtId: info.districtCode,
registerAddress: info.provinceName + '-' + info.cityName + '-' + info.districtName,
creditCode: info.creditCode,
};
api.claim(params).then(res1 => {
if (res1.code == 200) {
this.dialogVisible = true;
this.customerId = res1.data.customerId;
}
}).catch(error => {
});
}).catch(error=>{
}).catch(error => {
});
},
cancelClaim(companyName,index){
cancelClaim(companyName, index) {
this.dialogVisible1 = true;
this.companyName = companyName;
this.cancelIndex = index;
},
confirm(){
api.cancelClaim(this.companyName).then(res=>{
if(res.code==200){
confirm() {
api.cancelClaim(this.companyName).then(res => {
if (res.code == 200) {
this.dialogVisible1 = false;
this.tableData[this.cancelIndex].claimStatus = 1
}else{
this.$message.error(res.msg)
this.tableData[this.cancelIndex].claimStatus = 1;
} else {
this.$message.error(res.msg);
}
})
});
},
claimopen(companyId,customerId){
claimopen(companyId, customerId) {
this.$router.push({
path: '/enterprise/'+encodeStr(companyId),
path: '/enterprise/' + encodeStr(companyId),
query: {
'customerId': customerId,
'path':'business'
} ,
})
this.dialogVisible=false;
'path': 'business'
},
});
this.dialogVisible = false;
this.search();
},
search(pageNum, pageSize,exportFlag) {
this.dialogVisible=false;
search(pageNum, pageSize, exportFlag) {
this.dialogVisible = false;
if (!pageNum) {
this.pageNum = 1;
}
......@@ -911,142 +885,141 @@
sort: this.sort,
};
var data = JSON.parse(JSON.stringify(this.jskBidQueryDto));
if(this.keys){
if (this.keys) {
params['keys'] = this.keys.split(' ');
}else{
delete params.keys
} else {
delete params.keys;
}
if(data.provinceIds.length>0){
if (data.provinceIds.length > 0) {
params['provinceIds'] = data.provinceIds;
}else{
delete params.provinceIds
} else {
delete params.provinceIds;
}
if(data.cityIds.length>0){
if (data.cityIds.length > 0) {
params['cityIds'] = data.cityIds;
}else{
delete params.cityIds
} else {
delete params.cityIds;
}
if(data.areaIds.length>0){
if (data.areaIds.length > 0) {
params['areaIds'] = data.areaIds;
}else{
delete params.areaIds
} else {
delete params.areaIds;
}
if(this.uipExecutiveText.length>0){
if (this.uipExecutiveText.length > 0) {
params['uipExecutiveLevel'] = this.uipExecutiveText;
}else{
delete params.uipExecutiveLevel
} else {
delete params.uipExecutiveLevel;
}
if(this.uipBusinessText.length>0){
if (this.uipBusinessText.length > 0) {
params['uipBusinessType'] = this.uipBusinessText;
}else{
delete params.uipBusinessType
} else {
delete params.uipBusinessType;
}
if(this.bratingSubjectText.length>0){
if (this.bratingSubjectText.length > 0) {
params['bratingSubjectLevel'] = this.bratingSubjectText;
}else{
delete params.bratingSubjectLevel
} else {
delete params.bratingSubjectLevel;
}
if(this.shareholderText.length>0){
if (this.shareholderText.length > 0) {
params['shareholderBg'] = this.shareholderText;
}else{
delete params.shareholderBg
} else {
delete params.shareholderBg;
}
if(this.equityRelationshipText.length>0){
if (this.equityRelationshipText.length > 0) {
params['equityRelationship'] = this.equityRelationshipText;
}else{
delete params.equityRelationship
} else {
delete params.equityRelationship;
}
this.isSkeleton = true;
api.uipSerach(params).then(res=>{
this.isSkeleton = false
this.tableData=res.rows;
this.total=res.total;
}).catch(error=>{
api.uipSerach(params).then(res => {
this.isSkeleton = false;
this.tableData = res.rows;
this.total = res.total;
}).catch(error => {
});
},
renlin(){
this.dialogVisible=false;
renlin() {
this.dialogVisible = false;
// this.$router.push({path:'/home',query: {id:'1'}})
// 跳转地址
},
},
};
};
</script>
<style lang="scss" scoped>
::v-deep .dialog-renlin{
margin-top:40vh !important;
.el-dialog__body{
::v-deep .dialog-renlin {
margin-top: 40vh !important;
.el-dialog__body {
padding: 0;
text-align: center;
padding-bottom: 24px;
}
.el-dialog__footer{
.el-dialog__footer {
padding: 0px;
padding-bottom: 24px;
.dialog-footer{
.dialog-footer {
display: inline-flex;
align-items: center;
justify-content: center;
width: 100%;
.dialog-footer-btn1{
.dialog-footer-btn1 {
cursor: pointer;
width: 72px;
height: 28px;
background: #0081FF;
background: #0081ff;
border-radius: 2px 2px 2px 2px;
font-size: 12px;
font-weight: 400;
color: #FFFFFF;
color: #ffffff;
line-height: 28px;
text-align: center;
margin-right: 8px;
&:hover{
background: #006AD1;
&:hover {
background: #006ad1;
}
}
.dialog-footer-btn2{
.dialog-footer-btn2 {
cursor: pointer;
width: 72px;
height: 28px;
border-radius: 2px 2px 2px 2px;
border: 1px solid #CCCCCC;
border: 1px solid #cccccc;
line-height: 28px;
text-align: center;
font-size: 12px;
font-weight: 400;
color: rgba(35,35,35,0.8);
&:hover{
background: #F3F4F5;
color: rgba(35, 35, 35, 0.8);
&:hover {
background: #f3f4f5;
}
}
}
}
}
.content{
}
.content {
padding: 0px 16px;
border-radius: 4px 4px 4px 4px;
background: #FFFFFF;
.content_item{
padding-top:20px;
background: #ffffff;
.content_item {
padding-top: 20px;
display: -webkit-box;
align-items: flex-start;
.label{
.label {
width: 84px;
font-size: 14px;
font-weight: 400;
color: rgba(35,35,35,0.8);
color: rgba(35, 35, 35, 0.8);
margin-right: 28px;
}
.content_right{
.content_right {
width: calc(100% - 112px);
.ename_input{
.ename_input {
width: 640px;
margin-right: 20px;
}
.land_ipt_470 {
width: 640px;
......@@ -1055,14 +1028,14 @@
.item_ckquery_list {
display: flex;
align-items: center;
.qualifications-tab{
.qualifications-tab {
margin-right: 4px;
border: 1px solid #e0e0e0;
padding: 2px 3px;
border-radius: 2px;
height: 34px;
margin-top: 1px;
span{
span {
background: #fff;
display: inline-block;
cursor: pointer;
......@@ -1071,18 +1044,16 @@
padding: 3px 8px;
margin-top: 0.5px;
}
.action{
.action {
color: #ffffff;
background: #0081ff;
}
}
.ckquery_list_right{
.ckquery_list_right {
width: 670px;
}
}
.item_ckquery_list .el-input__icon {
position: relative;
top: 1px;
......@@ -1090,21 +1061,20 @@
.ckquery_list_right {
width: 640px;
}
.register_count_ipt{
.register_count_ipt {
margin-left: 0px;
}
.register_count_ipt .el-input__inner{
.register_count_ipt .el-input__inner {
width: 174px;
}
::v-deep .el-input-group__prepend{
::v-deep .el-input-group__prepend {
padding: 0 8px;
}
.content-projecttype{
.content-projecttype {
display: flex;
align-items: center;
justify-content: center;
.projecttype{
.projecttype {
font-weight: 400;
color: #232323;
padding: 1px 5px;
......@@ -1113,198 +1083,183 @@
border-radius: 3px 3px 3px 3px;
font-size: 14px;
}
.projecttype:first-child{
.projecttype:first-child {
padding-left: 0px;
}
.projecttype:hover{
background: #F3F4F5;
.projecttype:hover {
background: #f3f4f5;
padding: 1px 5px;
}
.activetype{
background: #F3F4F5;
.activetype {
background: #f3f4f5;
padding: 1px 5px !important;
}
}
}
.content_item1{
.checkbox-content{
.content_item1 {
.checkbox-content {
display: block;
.el-checkbox{
.el-checkbox {
margin-bottom: 20px;
}
}
}
.content_item_padding0{
.content_item_padding0 {
padding: 0;
}
}
.bottomlist{
}
.bottomlist {
width: 100%;
background-color: #FFFFFF;
background-color: #ffffff;
border-radius: 4px 4px 4px 4px;
.bottomlist-title{
.bottomlist-title {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 12px;
padding: 16px ;
padding: 16px;
.title-right{
.title-right {
display: flex;
align-items: center;
p:last-child{
p:last-child {
display: flex;
align-items: center;
font-size: 14px;
font-weight: 400;
color: rgba(35,35,35,0.8);
color: rgba(35, 35, 35, 0.8);
}
img{
img {
width: 18px;
height: 18px;
}
.excel{
.excel {
cursor: pointer;
}
}
}
.bottomlist-title-left{
display: inline-flex;;
.bottomlist-title-left {
display: inline-flex;
align-items: center;
.title-left{
height:16px;
.title-left {
height: 16px;
line-height: 16px;
font-size: 12px;
font-weight: 400;
color: #3D3D3D;
color: #3d3d3d;
}
}
.bottomlist-content{
.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;
.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;
::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 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--border .el-table__cell {
border-right: 1px solid #e6eaf1;
}
::v-deep.el-table__fixed::before{
::v-deep.el-table__fixed::before {
height: 0;
}
.renling{
.renling {
display: flex;
align-items: center;
.list-titel-a{
.list-titel-a {
width: 264px;
margin-right: 12px;
}
.renling-btn{
.renling-btn {
display: flex;
align-items: center;
cursor: pointer;
.renling-img-true{
.renling-img-true {
width: 16px;
height: 16px;
margin-right: 8px;
background-image: url('../../../../assets/images/owner/renling1.png');
background-image: url("../../../../assets/images/owner/renling1.png");
background-size: 100% 100%;
background-repeat: no-repeat;
}
.renling-img-false{
.renling-img-false {
width: 16px;
height: 16px;
margin-right: 8px;
background-image: url('../../../../assets/images/owner/renling2.png');
background-image: url("../../../../assets/images/owner/renling2.png");
background-size: 100% 100%;
background-repeat: no-repeat;
}
.renling-hui{
.renling-hui {
font-size: 13px;
font-weight: 400;
color: rgba(35,35,35,0.4);
color: rgba(35, 35, 35, 0.4);
}
.renling-hei{
.renling-hei {
font-size: 13px;
font-weight: 400;
color: #3D3D3D;
color: #3d3d3d;
}
}
.renling-btn:hover{
.renling-hei{
color: #0081FF;
.renling-btn:hover {
.renling-hei {
color: #0081ff;
}
}
}
}
.table-item1{
::v-deep .el-table__body-wrapper{
.table-item1 {
::v-deep .el-table__body-wrapper {
color: #232323;
}
}
.fixed-table{
overflow:initial;
.fixed-table {
overflow: initial;
::v-deep .el-table__header-wrapper{
::v-deep .el-table__header-wrapper {
position: sticky;
top:56px;
top: 56px;
z-index: 9;
}
::v-deep .el-table__fixed-header-wrapper{
::v-deep .el-table__fixed-header-wrapper {
position: sticky;
z-index: 9;
top: 56px;
}
::v-deep .el-table__fixed{
::v-deep .el-table__fixed {
overflow-x: clip;
overflow-y: clip;
}
}
.table-item-jf1{
border-top:1px solid #EFEFEF;
.table-item-jf1 {
border-top: 1px solid #efefef;
}
.pagination{
padding: 14px ;
.el-pagination{
float: right ;
.pagination {
padding: 14px;
.el-pagination {
float: right;
}
}
}
</style>
}
</style>
<template>
<div class="search-the-owner">
<div class="title_wrap">
<div class="enterprise_title">
查业主
</div>
</div>
<div class="content-outer-container">
<div class="content">
<div class="content_item">
<div class="content_right item_ckquery_list">
<el-input class="ename_input" placeholder="请输入关键字查询" clearable v-model="keys" @clear="keysClear">
<div slot="append" class="btn-search" @click="search()">搜索</div>
</el-input>
</div>
</div>
<div class="content_item">
<div class="label">企业地区</div>
<div class="content_right item_ckquery_list">
<div class="select-popper">
<span :class="{color_text:jskBidQueryDto.provinceIds.length ||jskBidQueryDto.cityIds.length ||jskBidQueryDto.areaIds.length,}">
注册地区{{jskBidQueryDto.provinceIds.length ||jskBidQueryDto.cityIds.length ||jskBidQueryDto.areaIds.length? jskBidQueryDto.provinceIds.length + jskBidQueryDto.cityIds.length +jskBidQueryDto.areaIds.length +"项": ""}}
<i class="el-icon-caret-bottom"></i>
</span>
<el-cascader ref="address" class="cascader-region" v-model="addressType" :options="addressList" :props="props" @change="domicileChange"
collapse-tags clearable></el-cascader>
</div>
</div>
</div>
<div class="content_item">
<div class="label">业主标签</div>
<div class="content_right">
<div class="checkbox">
<div class="checkbox-content">
<!-- <div class="checkbox-content-qx">
<el-checkbox v-model="checkOwnerLabel" @change="allOwnerLabelBtn">全部</el-checkbox>
</div> -->
<el-checkbox-group v-model="currentOwnerLabels" @change="OwnerLabelChange">
<el-checkbox v-for="item of ownerLabels" :label="item.dictValue" :key="item.dictCode">{{item.dictLabel}}</el-checkbox>
</el-checkbox-group>
</div>
</div>
<!-- 两个或两个以上业主标签关系 -->
<div class="multiple-owner-label" v-if="currentOwnerLabels.length >= 2">
<div class="multiple-tip-box">
<span>多个标签关系</span>
<el-tooltip class="item" effect="dark" placement="top" popper-class="multiple-tip-el-tooltip">
<template slot="content">
<div class="multiple-tip-content">
<span>同时具备:筛选结果必须满足多个标签。</span>
<span>任意均可:筛选结果满足任意一个标签。</span>
</div>
</template>
<div class="multiple-tip-icon">
<i class="el-icon-warning-outline"></i>
</div>
</el-tooltip>
</div>
<!-- 关系单选 -->
<el-radio-group v-model="tagCodeQueryType" @change="tagRadioChange">
<el-radio :label="'or'">任意均可</el-radio>
<el-radio :label="'and'">同时具备</el-radio>
</el-radio-group>
</div>
</div>
</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>
<el-popover v-model="fieldshow" placement="bottom-start" trigger="click" popper-class="viewlist-el-popover">
<ul class="pup_list">
<li v-for="(itme,i) in fieldOptions" :class="itme.status?'active':''" @click="handsequencingList(i)" :key="i">
{{itme.value}}
</li>
</ul>
<span slot="reference" class="toolbar-right-download sort-mode">
{{fieldText}}<i class="el-icon-arrow-down" :style="{transform:fieldshow?'rotate(180deg)':''}"></i>
</span>
</el-popover>
</div>
<div class="title-right">
<p>
<img src="@/assets/images/EXCEL.png" alt="">
<span class="excel" @click="$message({message: '功能正在开发中',type: 'warning'})">导出EXCEL</span>
</p>
</div>
</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>
<skeleton style="margin-left:16px;" v-if="isSkeleton"></skeleton>
<div class="table-item-jf table-item" v-if="!isSkeleton&&tableData.length>0" @mouseleave="showClaim = false">
<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 :header-row-class-name="setHeaderRow" :cell-class-name="setCellClass"
:header-cell-class-name="setCellClass" @cell-mouse-enter="addColumnClass" @sort-change="sortChange">
<el-table-column type="index" label="序号" fixed width="60" :resizable="false">
<template slot-scope="scope">
<span>{{(pageNum - 1) *pageSize + scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="公司名称" fixed width="380" :resizable="false">
<template slot-scope="scope">
<div class="renling" :class="{'show-claim' : showClaim}">
<router-link :to="scope.row.uipId ? `/enterprise/${encodeStr(scope.row.id)}` : `/company/${encodeStr(scope.row.id)}`" tag="a"
class="list-titel-a" v-html="scope.row.name"></router-link>
<!-- 优质甲方tag标签 -->
<div class="high-quality-enterprise" v-if="scope.row.other">{{scope.row.other}}</div>
<div class="renling-btn" @click="claimbtn(scope.row)">
<p v-if="scope.row.claimStatus==1" class="renling-img-true">
</p>
<p v-else class="renling-img-false">
</p>
<span v-if="scope.row.claimStatus==1" @click.stop="cancelClaim(scope.row.name,scope.$index)" class="renling-hui">
已认领
</span>
<span v-else class="renling-hei">
认领
</span>
</div>
</div>
</template>
</el-table-column>
<el-table-column label="法定代表人" width="85" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="注册资本" width="118" :resizable="false" :sortable="'custom'" prop="registeredCapitalStr">
<template slot-scope="scope">
<div style="text-align:right;white-space: nowrap;">{{scope.row.registeredCapitalStr ? `${scope.row.registeredCapitalStr}万元`:"--"}}
</div>
</template>
</el-table-column>
<el-table-column label="企业注册地区" width="215" :resizable="false">
<template slot-scope="scope">
{{scope.row.domicile||"--"}}
</template>
</el-table-column>
<el-table-column label="历史发包数量" width="107" :resizable="false" :sortable="'custom'" prop="inviteTenderCount">
<template slot-scope="scope">
{{scope.row.inviteTenderCount ? `${scope.row.inviteTenderCount}个`:"--"}}
</template>
</el-table-column>
<el-table-column label="历史发包总金额" width="120" :resizable="false" :sortable="'custom'" prop="inviteTenderSumAmount">
<template slot-scope="scope">
<div style="text-align:right;white-space: nowrap;">{{scope.row.inviteTenderSumAmount ? `${scope.row.inviteTenderSumAmount}万元`:"--"}}
</div>
</template>
</el-table-column>
<el-table-column label="最近一次招标" width="107" :resizable="false" :sortable="'custom'" prop="inviteTenderLastTime">
<template slot-scope="scope">
{{scope.row.inviteTenderLastTime||"--"}}
</template>
</el-table-column>
<el-table-column label="重点项目" width="107" :resizable="false" :sortable="'custom'" prop="importantProjectCount">
<template slot-scope="scope">
<router-link v-if="scope.row.importantProjectCount"
:to="scope.row.uipId ? `/enterprise/${encodeStr(scope.row.id)}?path=majorProject` : `/company/${encodeStr(scope.row.id)}?path=majorProject`"
tag="a" class="list-titel-a">{{`${scope.row.importantProjectCount}个`}}</router-link>
<span v-else>--</span>
</template>
</el-table-column>
<el-table-column label="土地交易" width="107" :resizable="false" :sortable="'custom'" prop="landMarketCount">
<template slot-scope="scope">
<router-link v-if="scope.row.landMarketCount"
:to="scope.row.uipId ? `/enterprise/${encodeStr(scope.row.id)}?path=landMarketCount` : `/company/${encodeStr(scope.row.id)}?path=landMarketCount`"
tag="a" class="list-titel-a">{{`${scope.row.landMarketCount}个`}}</router-link>
<span v-else>--</span>
</template>
</el-table-column>
<el-table-column label="拟建项目" width="107" :resizable="false" :sortable="'custom'" prop="approvalProjectCount">
<template slot-scope="scope">
<router-link v-if="scope.row.approvalProjectCount"
:to="scope.row.uipId ? `/enterprise/${encodeStr(scope.row.id)}?path=approvalProjectCount` : `/company/${encodeStr(scope.row.id)}?path=approvalProjectCount`"
tag="a" class="list-titel-a">{{`${scope.row.approvalProjectCount}个`}}</router-link>
<span v-else>--</span>
</template>
</el-table-column>
<el-table-column label="招标计划" width="107" :resizable="false" :sortable="'custom'" prop="bidPlanCount">
<template slot-scope="scope">
<router-link v-if="scope.row.bidPlanCount"
:to="scope.row.uipId ? `/enterprise/${encodeStr(scope.row.id)}?path=bidPlanCount` : `/company/${encodeStr(scope.row.id)}?path=bidPlanCount`"
tag="a" class="list-titel-a">{{`${scope.row.bidPlanCount}个`}}</router-link>
<span v-else>--</span>
</template>
</el-table-column>
<el-table-column label="招标公告" width="107" :resizable="false" :sortable="'custom'" prop="jskBidCount">
<template slot-scope="scope">
<router-link v-if="scope.row.jskBidCount"
:to="scope.row.uipId ? `/enterprise/${encodeStr(scope.row.id)}?path=majorProject` : `/company/${encodeStr(scope.row.id)}?path=majorProject`"
tag="a" class="list-titel-a">{{`${scope.row.jskBidCount}个`}}</router-link>
<span v-else>--</span>
</template>
</el-table-column>
</el-table>
</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>
</div>
<el-dialog title="" :visible.sync="dialogVisible" :modal="false" custom-class='dialog-renlin' :show-close="false" width="244px">
<span>认领成功,是否完善客户信息?</span>
<div slot="footer" class="dialog-footer">
<span class="dialog-footer-btn1" type="primary" @click="claimopen(companyId,customerId)">
立即完善
</span>
<span class="dialog-footer-btn2" @click="search(pageNum, pageSize)">稍后</span>
</div>
</el-dialog>
<el-dialog title="取消认领" :visible.sync="dialogVisible1" :modal="false" custom-class='dialog-renlin' :show-close="false" width="344px">
<span>是否取消认领客户?客户信息将放入“历史客户”。</span>
<div slot="footer" class="dialog-footer">
<span class="dialog-footer-btn1" type="primary" @click="confirm()">
确认
</span>
<span class="dialog-footer-btn2" @click="dialogVisible1 = false">关闭</span>
</div>
</el-dialog>
<el-dialog :visible.sync="dialogVisible2" custom-class='dialog-renlin' title="重新认领" width="260px" :show-close="false">
<div>再次认领将会恢复客户数据</div>
<div slot="footer" class="dialog-footer">
<span class="dialog-footer-btn1" type="primary" @click="handleHistoryClaim()">确认</span>
<span class="dialog-footer-btn2" @click="dialogVisible2 = false">关闭</span>
</div>
</el-dialog>
</div>
</template>
<script>
import { encodeStr } from "@/assets/js/common.js";
import jsk_data from '../../../../../public/jsk.json';
import skeleton from '@/views/project/projectList/component/skeleton';
import api from '@/api/enterpriseData/enterpriseData.js';
import "@/assets/styles/public.scss";
import dayjs from "dayjs";
export default {
name: 'searchTheOwner',
components: { skeleton },
data() {
return {
encodeStr,
isSkeleton: true,
keys: '',
addressList: [],
addressType: [],
props: {
multiple: true,
expandTrigger: "hover",
value: "id",
},
dialogVisible2: false,
jskBidQueryDto: {
provinceIds: [],
cityIds: [],
areaIds: []
},
domicile: [],
// 业主标签
ownerLabels: [],
// 当前选中的业主标签
currentOwnerLabels: ["5.1.1."],
// 业主全选状态
checkOwnerLabel: false,
// 选中两个及两个以上业主标签 添加选中条件 or任意均可 and同时具备
tagCodeQueryType: "or",
pageFlag: true,
conditionsArr: [],
fieldshow: false,
fieldText: '默认排序',
sort: '', //查询结果排序方式
// 展示认领状态
showClaim: false,
fieldOptions: [{
key: "",
value: "默认排序",
status: true,
},
{
key: "invite_tender_sum_amount",
value: "招标总金额",
status: false,
},
{
key: "land_market_count",
value: "土地交易",
status: false,
},
{
key: "approval_project_count",
value: "拟建",
status: false,
},
{
key: "important_project_count",
value: "重点项目",
status: false,
},
{
key: "invite_tender_last_time",
value: "招标时间",
status: false,
},
],
companyId: '',
companyName: '',
cancelIndex: '',
customerId: '',
dialogVisible: false,
dialogVisible1: false,
tableData: [],
total: 0,
pageNum: 1,
pageSize: 20
};
},
computed: {
},
created() {
this.init();
},
beforeDestroy() {
const dom = document.querySelector(".owner-table-list-header");
if (dom) {
dom.removeEventListener("mouseover", this.headerMouseover, false);
}
},
methods: {
// 排序
sortChange({ column, prop, order }) {
const originArray = JSON.parse(JSON.stringify(this.tableData));
this.tableData = originArray.sort((a, b) => {
let preposition = a[prop];
let postposition = b[prop];
// 时间则转换为时间戳排序
if (prop == "inviteTenderLastTime") {
preposition ? preposition = dayjs(preposition).valueOf() : 0;
postposition ? postposition = dayjs(postposition).valueOf() : 0;
}
if (order == "ascending") {
return (parseFloat(preposition) ? parseFloat(preposition) : 0) - (parseFloat(postposition) ? parseFloat(postposition) : 0);
}
if (order == "descending") {
return (parseFloat(postposition) ? parseFloat(postposition) : 0) - (parseFloat(preposition) ? parseFloat(preposition) : 0);
}
return (parseFloat(b["inviteTenderSumAmount"]) ? parseFloat(b["inviteTenderSumAmount"]) : 0) - (parseFloat(a["inviteTenderSumAmount"]) ? parseFloat(a["inviteTenderSumAmount"]) : 0);
});
},
async addHeaderListener() {
try {
await this.$nextTick();
// 监听table头部鼠标hover
const dom = document.querySelector(".owner-table-list-header");
if (dom) {
dom.removeEventListener("mouseover", this.headerMouseover, false);
dom.addEventListener("mouseover", this.headerMouseover, false);
}
} catch (error) {
}
},
headerMouseover(e) {
const { target } = e;
if (target.classList.contains("enterprise-name-column")) return this.showClaim = true;
this.showClaim = false;
},
setHeaderRow() {
return "owner-table-list-header";
},
setCellClass({ row, column, rowIndex, columnIndex }) {
if (columnIndex == 1) {
return "enterprise-name-column";
}
},
addColumnClass(row, column, cell, event) {
const { target } = event;
if (column.label == "公司名称") return this.showClaim = true;
this.showClaim = false;
},
// 清空输入框输入
keysClear() {
this.search();
},
// 地区选择改变
domicileChange() {
let arr = this.$refs.address.getCheckedNodes();
let provinceIds = [],
cityIds = [],
areaIds = [];
this.domicile = [];
for (var i in arr) {
if (arr[i].parent) {
if (!arr[i].parent.checked) {
arr[i].hasChildren && cityIds.push(arr[i].value);
arr[i].hasChildren && this.domicile.push(arr[i].label);
!arr[i].hasChildren && areaIds.push(arr[i].value);
!arr[i].hasChildren && this.domicile.push(arr[i].label);
}
} else {
provinceIds.push(arr[i].value);
this.domicile.push(arr[i].label);
}
}
var obj = JSON.parse(JSON.stringify(this.jskBidQueryDto));
obj.provinceIds = provinceIds;
obj.cityIds = cityIds;
obj.areaIds = areaIds;
this.jskBidQueryDto = obj;
this.search();
},
addressListfn() {
var str = [];
for (let x = 0; x < 3; x++) {
for (let i = 0; i < jsk_data.length; i++) {
if (jsk_data[i].regionLevel == x + 1 && x + 1 == 1) {
str.push({
id: jsk_data[i].id,
label: jsk_data[i].regionName,
short: jsk_data[i].short,
value: jsk_data[i].parentId,
children: jsk_data[i].id == 900000 ? undefined : [],
});
} else if (jsk_data[i].regionLevel == x + 1 && x + 1 == 2 && str) {
for (let j = 0; j < str.length; j++) {
if (str[j].id == jsk_data[i].parentId) {
str[j].children.push({
id: jsk_data[i].id,
label: jsk_data[i].regionName,
short: jsk_data[i].short,
value: jsk_data[i].parentId,
children: [],
});
}
}
} else if (jsk_data[i].regionLevel == x + 1 && x + 1 == 3) {
for (let j = 0; j < str.length; j++) {
if (str[j].children) {
for (let k = 0; k < str[j].children.length; k++) {
if (str[j].children[k].id == jsk_data[i].parentId) {
str[j].children[k].children.push({
id: jsk_data[i].id,
label: jsk_data[i].regionName,
short: jsk_data[i].short,
value: jsk_data[i].parentId,
});
}
}
}
}
}
}
}
this.addressList = str;
},
reset() {
Object.assign(this.$data, this.$options.data.call(this)); //重置data
this.init();
},
init() {
this.getDicts("owner_labels").then(res => {
if (res.code == 200) {
const result = res.data;
this.ownerLabels = result;
}
}).finally(() => {
this.search();
this.addressListfn();
});
},
// 业主标签全选中
allOwnerLabelBtn(val) {
this.currentOwnerLabels = [];
this.checkOwnerLabel = true;
this.search();
},
// 业主标签选中变化
OwnerLabelChange(val) {
if (val.length > 0) {
this.checkOwnerLabel = false;
} else if (val.length == 0) {
this.checkOwnerLabel = true;
this.currentOwnerLabels = [this.ownerLabels[0].dictValue];
}
if (val.length >= 2) {
this.tagCodeQueryType = "or";
}
this.search();
},
// 关系单选变化
tagRadioChange(value) {
this.search();
},
handsequencingList(index) {
this.fieldshow = false;
this.sort = this.fieldOptions[index].key;
for (let i = 0; i < this.fieldOptions.length; i++) {
this.fieldOptions[i].status = false;
}
this.fieldText = this.fieldOptions[index].value;
this.fieldOptions[index].status = true;
this.search();
},
handleCurrentChange(pageNum) {
this.pageNum = 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;
});
},
async handleHistoryClaim() {
let res = await api.historyClaim(this.companyName);
if (res.code == 200) {
this.dialogVisible2 = false;
this.search();
} else {
this.$message.error(res.msg);
}
},
claimbtn(item) {
if (item.claimStatus == 1) {
return this.dialogVisible2 = true;
}
this.companyId = item.id;
let info = {};
api.infoHeader({ companyId: this.companyId }).then(res => {
info = res.data;
let params = {
companyId: item.id,
companyName: item.name.replace(/<font color='red'>/g, '').replace(/<\/font>/g, ''),
creditLevel: info.bratingSubjectLevel,
legalPerson: info.corporatePerson,
registerCapital: info.registeredCapital,
provinceId: info.provinceId,
cityId: info.cityId,
districtId: info.districtCode,
registerAddress: info.provinceName + '-' + info.cityName + '-' + info.districtName,
creditCode: info.creditCode,
};
info.uipId ? params["uipId"] = info.uipId : null;
api.claim(params).then(res1 => {
if (res1.code == 200) {
this.dialogVisible = true;
this.customerId = res1.data.customerId;
}
}).catch(error => {
});
}).catch(error => {
});
},
cancelClaim(companyName, index) {
this.dialogVisible1 = true;
this.companyName = companyName;
this.cancelIndex = index;
},
confirm() {
api.cancelClaim(this.companyName).then(res => {
if (res.code == 200) {
this.dialogVisible1 = false;
this.tableData[this.cancelIndex].claimStatus = 0;
} else {
this.$message.error(res.msg);
}
});
},
claimopen(companyId, customerId) {
this.$router.push({
path: '/enterprise/' + encodeStr(companyId),
query: {
'customerId': customerId,
'path': 'business'
},
});
this.dialogVisible = false;
this.search();
},
search(pageNum, pageSize, exportFlag) {
this.dialogVisible = false;
if (!pageNum) {
this.pageNum = 1;
}
if (!pageSize) {
this.pageSize = 20;
}
if (!pageNum && !pageSize) {
this.reloadPage();
}
// 默认传递参数
let params = {
aptitudeQueryDto: {
},
page: {
page: this.pageNum,
limit: this.pageSize,
order: "desc",
field: this.sort
}
};
var data = JSON.parse(JSON.stringify(this.jskBidQueryDto));
// 搜索关键词处理
if (this.keys) {
params.aptitudeQueryDto['ename'] = this.keys.split(' ');
}
// 处理地区选择
if (data.provinceIds.length > 0) {
params.aptitudeQueryDto['province'] = data.provinceIds.join(",");
}
if (data.cityIds.length > 0) {
params.aptitudeQueryDto['city'] = data.cityIds.join(",");
}
if (data.areaIds.length > 0) {
params.aptitudeQueryDto['county'] = data.areaIds.join(",");
}
// 业主标签选中处理
if (this.ownerLabels.length > 0) {
params.aptitudeQueryDto["tagCode"] = this.currentOwnerLabels.join(",");
}
// 选中大于等于两个业主标签 添加 任意均可 或 同时具备条件
if (this.currentOwnerLabels.length >= 2) {
params.aptitudeQueryDto["tagCodeQueryType"] = this.tagCodeQueryType;
}
this.isSkeleton = true;
api.searchOwnerUnitListApi(params).then(res => {
if (res.code == 200) {
this.isSkeleton = false;
this.tableData = res.data?.list ? res.data.list : [];
this.total = res.data?.total ? res.data?.total : 0;
this.addHeaderListener();
}
}).catch(error => {
});
},
renlin() {
this.dialogVisible = false;
// this.$router.push({path:'/home',query: {id:'1'}})
// 跳转地址
},
},
};
</script>
<style lang="scss" scoped>
.search-the-owner {
width: 100%;
height: 100%;
padding: 16px 24px;
box-sizing: border-box;
.content-outer-container {
overflow: hidden;
background: #ffffff;
border-top-left-radius: 4px;
border-bottom-left-radius: 4px;
.content {
background: unset;
margin-bottom: 26px;
.content_item {
margin-top: 16px;
padding: 0px;
.label {
width: auto;
min-width: 56px;
margin-right: 32px;
}
::v-deep .content_right {
width: calc(100% - 148px);
.el-checkbox-group {
.el-checkbox {
.el-checkbox__label {
color: #333333;
}
&.is-checked {
.el-checkbox__label {
color: #0081ff;
}
}
}
}
}
::v-deep .multiple-owner-label {
line-height: 22px;
margin-top: 16px;
display: flex;
align-items: center;
.multiple-tip-box {
display: flex;
align-items: center;
& > span {
color: rgba(35, 35, 35, 0.8);
font-size: 14px;
margin-right: 9px;
}
.multiple-tip-icon {
display: flex;
align-items: center;
& > i {
color: #a7a7a7;
font-size: 14px;
cursor: pointer;
}
}
}
.el-radio-group {
display: flex;
align-items: center;
margin-left: 17px;
.el-radio {
margin-right: 24px;
line-height: 22px;
.el-radio__input {
.el-radio__inner::after {
width: 6px;
height: 6px;
}
}
.el-radio__label {
font-size: 14px;
color: #333333;
}
&.is-checked {
.el-radio__label {
color: #0081ff;
}
}
}
}
}
}
}
}
::v-deep .ename_input {
.el-input-group__append {
box-sizing: border-box;
.btn-search {
width: 60px;
}
}
}
}
::v-deep .dialog-renlin {
margin-top: 40vh !important;
.el-dialog__body {
padding: 0;
text-align: center;
padding-bottom: 24px;
}
.el-dialog__footer {
padding: 0px;
padding-bottom: 24px;
.dialog-footer {
display: inline-flex;
align-items: center;
justify-content: center;
width: 100%;
.dialog-footer-btn1 {
cursor: pointer;
width: 72px;
height: 28px;
background: #0081ff;
border-radius: 2px 2px 2px 2px;
font-size: 12px;
font-weight: 400;
color: #ffffff;
line-height: 28px;
text-align: center;
margin-right: 8px;
&:hover {
background: #006ad1;
}
}
.dialog-footer-btn2 {
cursor: pointer;
width: 72px;
height: 28px;
border-radius: 2px 2px 2px 2px;
border: 1px solid #cccccc;
line-height: 28px;
text-align: center;
font-size: 12px;
font-weight: 400;
color: rgba(35, 35, 35, 0.8);
&:hover {
background: #f3f4f5;
}
}
}
}
}
.content {
padding: 0px 16px;
border-radius: 4px 4px 4px 4px;
background: #ffffff;
.content_item {
padding-top: 20px;
display: -webkit-box;
align-items: flex-start;
.label {
width: 84px;
font-size: 14px;
font-weight: 400;
color: rgba(35, 35, 35, 0.8);
margin-right: 28px;
}
.content_right {
width: calc(100% - 112px);
.ename_input {
width: 400px;
}
}
.item_ckquery_list {
display: flex;
align-items: center;
.qualifications-tab {
margin-right: 4px;
border: 1px solid #e0e0e0;
padding: 2px 3px;
border-radius: 2px;
height: 34px;
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;
}
}
.ckquery_list_right {
width: 670px;
}
}
.item_ckquery_list .el-input__icon {
position: relative;
top: 1px;
}
.ckquery_list_right {
width: 640px;
}
.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 {
.checkbox-content {
display: block;
.el-checkbox {
margin-bottom: 20px;
}
}
}
.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;
}
}
}
.bottomlist-title-left {
display: inline-flex;
align-items: center;
.title-left {
height: 16px;
line-height: 16px;
font-size: 12px;
font-weight: 400;
color: #3d3d3d;
}
.sort-mode {
color: rgba(35, 35, 35, 0.8);
&:hover {
color: #232323;
}
}
}
.bottomlist-content {
padding-bottom: 0px;
}
::v-deep .table-item-jf {
.el-table {
th,
td {
.cell {
font-size: 12px;
}
}
.el-table__fixed {
.el-table__fixed-header-wrapper {
pointer-events: none;
}
}
}
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;
}
.renling {
display: flex;
align-items: center;
.list-titel-a {
width: 264px;
margin-right: 12px;
}
.renling-btn {
display: flex;
align-items: center;
cursor: pointer;
opacity: 0;
transition: opacity 0.3s;
white-space: nowrap;
.renling-img-true {
width: 16px;
height: 16px;
margin-right: 8px;
background-image: url("../../../../assets/images/owner/renling1.png");
background-size: 100% 100%;
background-repeat: no-repeat;
}
.renling-img-false {
width: 16px;
height: 16px;
margin-right: 8px;
background-image: url("../../../../assets/images/owner/renling2.png");
background-size: 100% 100%;
background-repeat: no-repeat;
}
.renling-hui {
font-size: 13px;
font-weight: 400;
color: rgba(35, 35, 35, 0.4);
}
.renling-hei {
font-size: 13px;
font-weight: 400;
color: #3d3d3d;
}
}
.high-quality-enterprise {
padding: 0px 8px;
line-height: 22px;
box-sizing: border-box;
background: #ebf1ff;
border-radius: 2px;
color: #2a6aff;
font-size: 12px;
margin-right: 25px;
white-space: nowrap;
}
&.show-claim {
.renling-btn {
opacity: 1;
}
}
}
}
.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;
}
}
}
</style>
<style lang="scss">
.multiple-tip-el-tooltip {
.multiple-tip-content {
display: flex;
flex-direction: column;
line-height: 22px;
& > span {
font-size: 14px;
&:first-of-type {
margin-bottom: 8px;
}
}
}
&.el-tooltip__popper.is-dark {
padding: 8px 12px;
box-sizing: border-box;
background: rgba(0, 0, 0, 0.6);
box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.3);
.popper__arrow {
border-top-color: rgba(0, 0, 0, 0.3);
&::after {
border-top-color: rgba(0, 0, 0, 0.3);
}
}
}
}
</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