Commit 84505e98 authored by yht15023815643's avatar yht15023815643

企业标签、业务往来

parent ae6a8eeb
<template>
<div class="client-details">
<el-dialog
<el-drawer
:visible.sync="drawer"
size="80%"
:title="title"
custom-class="client-dialog"
size="60%"
custom-class="client-drawer"
:with-header="false"
@closed="cancel">
<head-detail-form
:title="title"
:form-data="formData"
:query-params="queryParams"
:total="tableDataTotal"
......@@ -22,15 +22,23 @@
:tableDataTotal="tableDataTotal"
:queryParams="queryParams"
@handle-current-change="handleCurrentChange"
style="margin: 12px;"
>
<template slot="sourceType" slot-scope="scope">
<template slot="projectAllName" slot-scope="scope">
<div class="flex-box">
<div class="a-link" @click="linkTo(scope)" v-if="scope.row.sourceId&&scope.row.sourceType=='中标业绩'" v-html="scope.row.sourceType" style="cursor: pointer"></div>
<span v-else v-html="scope.row.sourceType || '--'"></span>
<img class="tip-img" src="@/assets/images/detail/ico_pdf.png" v-if="scope.row.snapshootPic" @click="handlePic(scope.row.snapshootPic, true)"/>
<div class="a-link" @click="linkTo(scope)" v-if="scope.row.id&&scope.row.projectAllName" v-html="scope.row.projectAllName" style="cursor: pointer"></div>
<span v-else v-html="scope.row.projectAllName || '--'"></span>
</div>
</template>
<template slot="province" slot-scope="scope">
{{scope.row.province}}{{`${scope.row.city?'-'+scope.row.city:''}`}}
</template>
<template slot="lowerRate" slot-scope="scope">
<span>{{scope.row.lowerRate ? scope.row.lowerRate+'%' : '--'}}</span>
</template>
</tables>
</el-dialog>
</el-drawer>
</div>
</template>
......@@ -54,20 +62,21 @@ export default {
drawer: false,
queryParams: {
cid: this.companyId,
companyId: this.data.companyId,
unitId: this.data.projectUnitId,
pageNum: 1,
pageSize: 20
},
formData: [
{ type: 6, fieldName: 'money', value: '', placeholder: '合同金额', startMoney: 'amountMin', endMoney: 'amountMax' },
{ type: 3, fieldName: 'keys', value: '', placeholder: '输入项目/工程名称查询', options: []},
],
forData: [
{label: '项目名称', prop: 'projectName', fixed: true},
{label: '公布时间', prop: 'time', width: '100'},
{label: '本次合同金额(万元)', prop: 'amount', width: '160'},
{label: '项目类型', prop: 'projectTtype', width: '130'},
{label: '数据来源', prop: 'sourceType', width: '90', slot: true}
{label: '合作项目/工程名称', prop: 'projectAllName', width: '720', fixed: true, slot: true},
{label: '项目/工程金额(万元)', prop: 'winBidAmount', width: '160'},
{label: '合作时间', prop: 'winBidTime', width: '100'},
{label: '项目地区', prop: 'province', width: '160', slot: true},
{label: '项目类型', prop: 'boundType', width: '130'},
{label: '工期(天)', prop: 'period', width: '90'},
{label: '下浮率', prop: 'lowerRate', width: '90', slot: true}
],
//列表
tableLoading:false,
......@@ -100,7 +109,7 @@ export default {
},
linkTo(scope){
this.drawer = false
this.$router.push(`/biddetail/${scope.row.sourceId}`)
this.$router.push(`/biddetail/${scope.row.id}`)
},
cancel() {
this.$emit('cancel')
......@@ -111,27 +120,8 @@ export default {
<style lang="scss" scoped>
.client-details {
::v-deep .client-dialog{
width: 80%;
min-width: 900px;
::v-deep .client-drawer{
background: #FFFFFF;
.el-dialog__body{
padding-top: 0;
}
.fixed-table{
.el-table__header-wrapper,.el-table__fixed-header-wrapper{
top: 0;
}
}
.el-dialog__header{
border-bottom: 1px solid #E1E1E1;
}
.el-dialog__title{
font-size: 16px;
color: #232323;
font-weight: bold;
margin-right: 4px;
}
}
.tip-img{
width: 14px;
......
......@@ -25,19 +25,16 @@
<router-link :to="scope.row.uipId?`/enterprise/${encodeStr(scope.row.projectUnitId)}`:`/company/${encodeStr(scope.row.projectUnitId)}`" tag="a" class="a-link" v-if="scope.row.projectUnitId&&scope.row.companyName" v-html="scope.row.companyName"></router-link>
<div v-else v-html="scope.row.companyName || '--'"></div>
</template>
<!-- <template slot="projectAllName" slot-scope="scope">
<template slot="projectAllName" slot-scope="scope">
<router-link :to="`/biddetail/${scope.row.projectInfo.projectId}`" tag="a" class="a-link" v-if="scope.row.projectInfo.projectId&&scope.row.projectInfo.projectAllName" >{{ scope.row.projectInfo.projectAllName }}</router-link>
<div v-else v-html="scope.row.projectInfo&&scope.row.projectInfo.projectAllName || '--'"></div>
<div v-if="scope.row.count>1" @click="handleClick($event, scope.row)" style="color: #FF7E38;cursor: pointer;">{{scope.row.count}}个合作项目/工程 ></div>
</template> -->
<template slot="count" slot-scope="scope">
<div v-if="scope.row.count>0" class="a-link" style="cursor: pointer;" @click="handleClick($event, scope.row)" >{{scope.row.count}}</div>
</template>
</tables>
<client-detail
v-if="isDetails"
:data="rowData"
:title="title"
:title="'合作项目/工程明细'"
:company-id="companyId"
@cancel="isDetails=false" />
</div>
......@@ -56,23 +53,21 @@ export default {
},
data() {
return {
title:'',
queryParams: {
cid: this.companyId,
sort: 3,
pageNum: 1,
pageSize: 20
},
defaultSort: {},
defaultSort: {prop: 'time', order: 'descending'},
forData: [
{label: '客户名称', prop: 'companyName', minWidth: '350', slot: true},
// {label: '合作项目/工程名称', prop: 'projectAllName', minWidth: '400', slot: true, sortable: 'custom', descending: '5', ascending: '6'},
{label: '最近合作时间', prop: 'time', minWidth: '140', sortable: 'custom', descending: '3', ascending: '4'},
{label: '合作项目/工程名称', prop: 'projectAllName', minWidth: '400', slot: true, sortable: 'custom', descending: '5', ascending: '6'},
{label: '合作总金额(万元)', prop: 'amount', minWidth: '150', sortable: 'custom', descending: '1', ascending: '2'},
{label: '合作次数', prop: 'count', minWidth: '150', sortable: 'custom',slot: true, descending: '5', ascending: '6'},
{label: '最近一次合作时间', prop: 'time', minWidth: '140', sortable: 'custom', descending: '3', ascending: '4'}
],
formData: [
{ type: 3, fieldName: 'keys', value: '', placeholder: '搜索客户名称', options: []},
{ type: 3, fieldName: 'keys', value: '', placeholder: '输入企业名称查询', options: []},
],
//列表
tableLoading:false,
......@@ -108,8 +103,7 @@ export default {
},
handleClick(e, data) {
this.rowData = data
this.isDetails = true;
this.title = '与客户'+data.companyName+'合作记录'
this.isDetails = true
},
handleDetail(row){
if(row.sourceUrl){
......
......@@ -25,14 +25,16 @@
<router-link :to="`/company/${encodeStr(scope.row.companyId)}`" tag="a" class="a-link" v-if="scope.row.companyId&&scope.row.companyName" v-html="scope.row.companyName"></router-link>
<div v-else v-html="scope.row.companyName || '--'"></div>
</template>
<template slot="count" slot-scope="scope">
<div v-if="scope.row.count>0" class="a-link" style="cursor: pointer;" @click="handleClick($event, scope.row)" >{{scope.row.count}}</div>
<template slot="projectAllName" slot-scope="scope">
<router-link :to="`/biddetail/${scope.row.projectInfo.projectId}`" tag="a" class="a-link" v-if="scope.row.projectInfo.projectId&&scope.row.projectInfo.projectAllName" >{{ scope.row.projectInfo.projectAllName }}</router-link>
<div v-else v-html="scope.row.projectInfo&&scope.row.projectInfo.projectAllName || '--'"></div>
<div v-if="scope.row.count>1" @click="handleClick($event, scope.row)" style="color: #FF7E38;cursor: pointer;">{{scope.row.count}}个合作项目/工程 ></div>
</template>
</tables>
<client-detail
v-if="isDetails"
:data="rowData"
:title="title"
:title="'合作项目/工程明细'"
:company-id="companyId"
@cancel="isDetails=false" />
</div>
......@@ -51,22 +53,21 @@ export default {
},
data() {
return {
title:'',
queryParams: {
cid: this.companyId,
sort: 5,
sort: 3,
pageNum: 1,
pageSize: 20
},
defaultSort: {},
defaultSort: {prop: 'time', order: 'descending'},
forData: [
{label: '供应商', prop: 'companyName', minWidth: '350', slot: true},
{label: '最近合作时间', prop: 'time', minWidth: '140', sortable: 'custom', descending: '3', ascending: '4'},
{label: '合作项目/工程名称', prop: 'projectAllName', minWidth: '400', slot: true, sortable: 'custom', descending: '5', ascending: '6'},
{label: '合作总金额(万元)', prop: 'amount', minWidth: '150', sortable: 'custom', descending: '1', ascending: '2'},
{label: '合作次数', prop: 'count', minWidth: '150', sortable: 'custom',slot: true, descending: '5', ascending: '6'},
{label: '最近一次合作时间', prop: 'time', minWidth: '140', sortable: 'custom', descending: '3', ascending: '4'}
],
formData: [
{ type: 3, fieldName: 'keys', value: '', placeholder: '搜索供应商名称', options: []},
{ type: 3, fieldName: 'keys', value: '', placeholder: '输入企业名称查询', options: []},
],
//列表
tableLoading:false,
......@@ -103,7 +104,6 @@ export default {
handleClick(e, data) {
this.rowData = data
this.isDetails = true
this.title = '与供应商'+data.companyName+'合作记录'
},
handleDetail(row){
if(row.sourceUrl){
......
......@@ -28,19 +28,18 @@
</el-popover>
</div>
<span style="float: left;" :class="!labelArr.includes(companyInfo.businessStatus)?'label-bg1':'label-bg3'" v-if="companyInfo.businessStatus">{{companyInfo.businessStatus}}</span>
<span style="float: left;" :style="'background:'+item.bgColor+';color:'+item.fontColor" v-for="(item, index) in labelList" :key="index">{{item.labelName}}</span>
<!-- <span style="float: left;" :style="'background:'+item.bgColor+';color:'+item.fontColor" v-for="(item, index) in labelList" :key="index">{{item.labelName}}</span> -->
<template v-if="enterpriseLabel.length > 0">
<template v-for="(item,index) in enterpriseLabel">
<template v-if="item.children.length > 0">
<div class="enterpriseLabel-highTech company-highTech">
<el-popover
width="280"
placement="bottom-start"
popper-class="enterpriseLabel-item"
trigger="hover">
<el-button slot="reference" :style="'background:'+item.bgColor+';color:'+item.fontColor+';border:1px solid '+item.bgColor+';margin: 0;'">{{item.labelName}} <span>{{ item.children.length }}</span><i class="el-icon-arrow-right"></i></el-button>
<p class="highTech-item">
<span v-for="(v,i) in item.children" class="enterpriseLabel-children-span" :style="v.linkUri ? 'cursor:pointer;' : ''">{{ v.labelName }}</span>
<span v-for="(v,i) in item.children" :key="i" class="enterpriseLabel-children-span" :style="i==item.children.length-1?'':'border-right: 1px solid #E1E1E1;padding-right: 8px;margin-right: 8px;'">{{ v.labelName }}</span>
</p>
</el-popover>
</div>
......@@ -218,7 +217,7 @@ export default {
this.companySwiper() //swiper滚动板块
api.label({companyId:this.companyId}).then(res=>{
if(res.code==200){
this.labelList = res.data
this.enterpriseLabel = res.data
}
})
},
......@@ -576,6 +575,30 @@ export default {
overflow: hidden;
font-size: 12px;
padding: 2px 0 10px 0;
::v-deep .enterpriseLabel-item{
padding: 0;
//width: 100%;
max-width: 276px;
margin-top: 8px !important;
.highTech-item{
padding: 10px 12px 0;
font-size: 12px;
color: #333333;
.enterpriseLabel-children-span{
display: inline-block;
padding-right: 8px;
margin-right: 8px;
margin-bottom: 8px;
border-right: 1px solid #E1E1E1;
//cursor:pointer;
}
.enterpriseLabel-children-span:last-child{
padding-right: 0;
margin-right: 0;
border-right: 0;
}
}
}
.company-history, .company-highTech{
display: inline-block;
height: 22px;
......@@ -755,28 +778,12 @@ export default {
max-width: 276px;
margin-top: 8px !important;
}
.highTech-item{
padding: 10px 12px 0;
font-size: 12px;
color: #333333;
.enterpriseLabel-children-span{
display: inline-block;
padding-right: 8px;
margin-right: 8px;
margin-bottom: 8px;
border-right: 1px solid #E1E1E1;
//cursor:pointer;
}
.enterpriseLabel-children-span:last-child{
padding-right: 0;
margin-right: 0;
border-right: 0;
}
}
.ml-4{
margin-left: 4px;
}
}
::v-deep .dialog-renlin{
margin-top:40vh !important;
.el-dialog__body{
......
......@@ -131,7 +131,7 @@
<div class="anchor_wrap">
<div class="anchor_item" v-for="(item,i) in childList"
:class="anchorIndex==i?'active_anchor_item':''" :key="i" @click="anchorClick(i)">
{{item.type||item.address=='管国企'?provinceId=='110000'||provinceId=='120000'||provinceId=='500000'||provinceId=='310000'?'市管国企':'省管国企':item.address}}
{{item.type||(item.address=='管国企'?provinceId=='110000'||provinceId=='120000'||provinceId=='500000'||provinceId=='310000'?'市管国企':'省管国企':item.address)}}
</div>
</div>
</div>
......
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