Commit 3f5893a1 authored by xiongjinke's avatar xiongjinke

修改

parent bf7f3a09
<template>
<div class="app-container operations-container">
<div class="common-title">基本信息</div>
<div class="part-swiper">
<div class="baseinfo">
<div class="row">
<div class="con">
<Elselects
title="企业性质"
:list="companyType.companyNaturelist"
:id="infos.customerId"
:val="infos.companyNature"
field="companyNature"
@changenowedit="clickNowedit" />
</div>
<div class="con i">
<Elselects
title="企业级别"
:list="companyType.companyLevellist"
:id="infos.customerId"
:val="infos.companyLevel"
field="companyLevel"
@changenowedit="clickNowedit" />
</div>
</div>
<div class="row">
<div class="con">
<span>企业母公司:</span>
<div class="inputxt" id="inputxt2">
<div class="flex" v-if="nowedit == noweditis && isDisabled == false" >
<el-input placeholder="待添加" v-model="superCompany"></el-input>
<div class="flex">
<div class="btnsmall btn_primary h28" style="width: 56px" @click="editXMSL(superCompany)">确定</div>
<div class="cancels h28" @click="clickNowedit(-1)" style="">取消</div>
</div>
</div>
<span :class="{txt:!superCompany}" v-else @click="clickNowedit(noweditis)">{{superCompany||'待添加'}}</span>
</div>
</div>
<div class="con i">
<Elselects
title="上市公司"
:list="companyType.isOnlistlist"
:id="infos.customerId"
:val="infos.isOn"
field="isOn"
@changenowedit="clickNowedit" />
</div>
</div>
<div class="row">
<div class="con">
<Elselects
title="局级大客户"
:list="companyType.isOnlistlist"
:id="infos.customerId"
:val="infos.isMajor"
field="isMajor"
@changenowedit="clickNowedit" />
</div>
<div class="con i">
<Elselects
title="资信等级"
:list="companyType.creditLevellist"
:id="infos.customerId"
:val="infos.creditLevel"
field="creditLevel"
@changenowedit="clickNowedit" />
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { customerUpdate } from '@/api/detail/party-a/cooperate'
import Elselects from "./elselects"
export default {
name: "basicIinformation",
props: ['infos','companyType','nowedit','noweditis'],
components: {
Elselects,
},
data() {
return {
isDisabled:false,
isselect:false,
superCompany:this.infos.superCompany,
}
},
created(){
},
methods:{
editXMSL(val){
if(this.isDisabled == true)
return false
let params = {
customerId: this.infos.customerId,
superCompany: val,
}
this.clickNowedit(-1)
customerUpdate(params).then(res=>{
if (res.code == 200){
this.$message.success('修改成功!')
}else{
this.$message.error(res.msg)
}
})
},
clickNowedit(e){
this.$emit("focus-nowedit", e)
}
}
}
</script>
<style lang="scss" scoped>
.operations-container {
margin: 0;
padding: 24px 16px;
background: #FFFFFF;
border-radius: 4px;
.part-swiper {
position: relative;
margin-top: 16px;
}
}
.select-popper{
top: 3px;
}
.inputxt .flex{
background: #fff;
}
.baseinfo .row{
padding-left: 0;
}
</style>
<template>
<div class="">
<el-card class="box-card noborder">
<div class="cardtitles">{{ title }}</div>
<div class="baseinfo" >
<el-input id="inputxt9" v-model="val" @focus="focusNowedit(noweditis)" class="textarea" type="textarea" :placeholder="'请输入' + title" maxlength="500" :show-word-limit="true" ></el-input>
<div class="flex btns" v-if="nowedit == noweditis">
<div class="flex">
<div class="btnsmall btn_primary h28" @click="changes(val,field)" style="width: 56px">确定</div>
<div class="cancels h28" @click="focusNowedit(-1)" style="">取消</div>
</div>
</div>
</div>
</el-card>
</div>
</template>
<script>
import { customerUpdate } from '@/api/detail/party-a/cooperate'
export default {
name: "elCardinput",
props: ['infos','title','projectDetails','nowedit','noweditis','field'],
data() {
return {
val: this.projectDetails
}
},
created() {
},
methods: {
changes(v,n){
let data = {
customerId: this.infos.customerId,
}
data[n] = v
this.$emit("focus-nowedit", -1)
customerUpdate(data).then(res=>{
if (res.code == 200){
this.$message.success('修改成功!')
}else{
this.$message.error(res.msg)
}
})
},
focusNowedit(e){
this.$emit("focus-nowedit", e)
},
}
}
</script>
<style lang="scss" scoped>
</style>
<template>
<div class="baseinfoselect">
<span class="select-title">{{ title }}</span>
<div class="select-popper " >
<span :class="{'txt':selectTxt1.name == '待添加'}">
{{selectTxt1.name}}
<i class="el-icon-caret-bottom"></i>
</span>
<el-select v-if="isDisabled==false" v-model="selectTxt1.val" class="select-multiple" placeholder="请选择" @change="editXMSL($event)">
<el-option v-for="(item,index) in list" :key="index" :label="item.dictLabel" :value="item.dictValue"></el-option>
</el-select>
</div>
</div>
</template>
<script>
import { customerUpdate } from '@/api/detail/party-a/cooperate'
export default {
name: "elselects",
props: [
'title',
'list',
'id',
'val',
'field'
],
data() {
return {
isDisabled:false,
selectTxt1:this.selectTxts(),
isselect: false
}
},
created(){
this.selectTxts()
},
methods:{
editXMSL(val){
let option = this.lists(val)
if (option) {
this.selectTxt1.name = option.dictLabel;
this.selectTxt1.val = option.val;
this.$emit("changenowedit", -1);
let params = {
customerId: this.id,
}
params[this.field] = val
customerUpdate(params).then(res=>{
if (res.code == 200){
this.$message.success('修改成功!')
}else{
this.$message.error(res.msg)
}
})
}
},
lists(val){
return this.list.find(option => option.dictValue === val);
},
selectTxts(){
let option = this.lists(this.val)
if (option) {
return {
name: option.dictLabel,
val: this.val
}
}else{
return {
name:'待添加',
val:'',
}
}
}
}
}
</script>
<style lang="scss" scoped>
.baseinfoselect{
.select-title{
color: rgba(35,35,35,0.8);
}
}
</style>
<template>
<div class="app-container info-container">
<div class="company-box">
<div class="company-nav flex-box">
<div class="company-left">
<img :src="companyInfo.logoUrl" :alt="companyInfo.companyName" :title="companyInfo.companyName" v-if="companyInfo.logoUrl">
<span
:class="companyInfo.nameSimple&&companyInfo.nameSimple.length<3?'conenctLogo textOne bg'+companyInfo.nameSimple.length:'conenctLogo textTwo bg'+companyInfo.nameSimple.length"
v-else-if="companyInfo.nameSimple"
v-html="companyInfo.nameSimple"></span>
<img :src="require('@/assets/images/detail/overview/logo@2x.png')" :alt="companyInfo.companyName" :title="companyInfo.companyName" v-else>
</div>
<div class="company-title">
<div class="company-name">
{{companyInfo.companyName || ''}}
</div>
<div class="company-tag">
<div style="float: left;margin-top: 8px;" class="company-history" v-if="companyInfo.historyNames && companyInfo.historyNames.length>0">
<el-popover
placement="bottom-start"
popper-class="enterpriseLabel-item"
trigger="hover">
<el-button slot="reference">曾用名 <i class="el-icon-caret-bottom"></i></el-button>
<ul class="history-item">
<li v-for="(item, index) in companyInfo.historyNames" :key="index">{{item.value}}</li>
</ul>
</el-popover>
</div>
<span style="float: left;" :class="!labelArr.includes(companyInfo.businessStatus)?'label-bg1':'label-bg3'" v-if="companyInfo.businessStatus">{{companyInfo.businessStatus}}</span>
</div>
</div>
</div>
<div class="company-info">
<div class="info-item flex-box">
<div class="flex-box item"><label>法定代表人:</label><span class="text-cl1">{{companyInfo.corporatePerson || ''}}</span></div>
<div class="flex-box item"><label>统一社会信用代码:</label><span class="text-cl1">{{companyInfo.creditCode || ''}}</span></div>
</div>
<div class="info-item flex-box">
<div class="flex-box item"><label>注册资本:</label><span class="text-cl1">{{companyInfo.regCapital || '--'}}</span></div>
<div class="flex-box item"><label>注册地址:</label><span class="text-cl1">{{companyInfo.addressDetail || '--'}}</span></div>
</div>
</div>
</div>
</div>
</template>
<script>
var Swiper = require('@/assets/lib/swiper/swiper-bundle.min.js')
export default {
name: "info",
props: ['companyId', 'companyInfo'],
data() {
return {
labelArr:['失信联合惩戒企业','司法纠纷','注销'], //负向经营状态
}
},
created() {
},
methods: {
}
}
</script>
<style lang="scss" scoped>
.info-container{
margin: 0;
padding: 0px 16px 10px 16px;
background: #FFFFFF;
border-radius: 4px;
.company-box{
width: 100%;
position: relative;
.company-nav{
align-items: normal;
.company-left{
width: 64px;
height: 64px;
margin-right: 12px;
flex-shrink: 0;
img{
width: 100%;
height: 100%;
border-radius: 4px;
overflow: hidden;
}
.conenctLogo{
width: 100%;
height: 100%;
color: #FFFFFF;
border-radius: 4px;
overflow: hidden;
text-align: center;
display: block;
&.textOne{
font-size: 18px;
line-height: 64px;
}
&.textTwo{
font-size: 18px;
padding: 9px 10px;
line-height: 24px;
}
&.bg1{
background: #99BE81;
}
&.bg2{
background: #76B4D4;
}
&.bg3{
background: #7A91D9;
}
&.bg4{
background: #8F8DD2;
}
&.bg5{
background: #C4A89F;
}
}
p{
font-size: 12px;
color: #999999;
text-align: center;
margin-top: 7px;
}
}
.company-title{
.company-name{
font-size: 20px;
color: #000000;
font-weight: bold;
margin-right: 100px;
}
.company-tag{
overflow: hidden;
font-size: 12px;
padding: 2px 0 10px 0;
.company-history, .company-highTech{
display: inline-block;
height: 22px;
background: #EFEFEF;
border-radius: 2px;
margin-right: 8px;
margin-left: 0;
button{
height: 22px;
line-height: 22px;
font-size: 12px;
padding: 0 8px;
background: #EFEFEF;
color: #838383;
border: 1px solid #EFEFEF;
border-radius: 2px;
}
}
.company-highTech{
button{
background: #DFEAFE;
color: #0065F9;
}
}
.enterpriseLabel-highTech{
background: #ffffff;
margin-top: 8px;
margin-right: 8px;
float: left;
}
>span{
display: inline-block;
height: 22px;
line-height: 22px;
padding: 0 8px;
border-radius: 2px;
margin-right: 8px;
margin-top: 8px;
&:last-child{
margin-right: 0;
}
}
.enterpriseLabel-span{
display: inline-block;
height: 22px;
line-height: 22px;
padding: 0 8px;
border-radius: 2px;
margin-right: 8px;
margin-top: 8px;
float: left;
}
.label-bg1{
background: #DEF6F0;
color: #0BAE8D;
}
.label-bg2{
background: #DFEAFE;
color: #0065F9;
}
.label-bg3{
background: #fbf2f1;
color: #fa5640;
}
}
}
}
.company-info{
background: #F5F9FE;
border-radius: 2px;
padding: 12px 10px 12px 16px;
.info-item{
margin-bottom: 12px;
&:last-child{
margin-bottom: 0;
}
.item-link{
color: #0081FF;
cursor: pointer;
font-size: 12px;
line-height: 20px;
&:hover{
color: #0069D0;
text-decoration: none;
}
}
.item{
font-size: 14px;
color: #333333;
&:first-child{
width: 280px;
}
&:nth-child(2){
width: 350px;
}
&.item-line{
width: 100%;
align-items: flex-end;
.item-all{
width: calc(100% - 50px);
text-overflow: initial;
white-space: initial;
overflow: initial;
}
.item-more{
width: calc(100% - 50px);
}
}
label{
color: #666666;
flex-shrink: 0;
}
span{
display: inline-block;
}
}
}
}
}
.history-item{
padding: 8px 8px;
li{
font-size: 12px;
color: #333333;
padding: 2px 0;
}
}
.enterpriseLabel-item{
padding: 0;
//width: 100%;
max-width: 276px;
margin-top: 8px !important;
}
.ml-4{
margin-left: 4px;
}
}
</style>
<template> <template>
<div class="app-container part-container"> <div class="app-container part-container">
<div style="background: #FFFFFF; height: 300px;"> <template v-if="isInfo">
商务信息 <!-- 企业信息 -->
</div> <div class="view-content">
<Info :companyInfo="companyInfo" />
</div>
<!-- 基本信息 -->
<div class="view-content">
<BasicIinformation
:infos="infos"
:companyType="companyType"
:nowedit="nowedit"
:noweditis="1"
@focus-nowedit="focusNowedits"/>
</div>
<!-- 发包属性 -->
<div class="view-content">
<ElCardinput
:infos="infos"
title="发包属性"
field="companyAttribute"
:projectDetails="infos.companyAttribute"
:nowedit="nowedit"
:noweditis="2"
@focus-nowedit="focusNowedits" />
</div>
<!-- 主营业务 -->
<div class="view-content">
<ElCardinput
:infos="infos"
title="主营业务"
field="mainBusiness"
:projectDetails="infos.mainBusiness"
:nowedit="nowedit"
:noweditis="3"
@focus-nowedit="focusNowedits" />
</div>
<!-- 经营范围 -->
<div class="view-content">
<ElCardinput
:infos="infos"
title="经营范围"
field="businessScope"
:projectDetails="infos.businessScope"
:nowedit="nowedit"
:noweditis="4"
@focus-nowedit="focusNowedits" />
</div>
</template>
</div> </div>
</template> </template>
<script> <script>
import { getDictType } from '@/api/main'
import { customerInfo } from '@/api/detail/party-a/cooperate'
import Info from "./component/info"
import BasicIinformation from "./component/basicIinformation"
import ElCardinput from "./component/elCardinput"
export default { export default {
name: 'Business', name: 'Business',
props: ['customerIds', 'companyInfo'],
components: {
Info,
BasicIinformation,
ElCardinput
},
data() { data() {
return { return {
isInfo:false,
infos:{},
projectDetails:'',
nowedit: -1,
companyType: {
companyNaturelist: [],//企业性质
companyLevellist: [],//企业级别
isOnlistlist:[
{
dictValue: 0,
dictLabel:'否',
},
{
dictValue: 1,
dictLabel:'是',
}
],//上市公司
isMajorlist:[
{
dictValue: 0,
dictLabel:'否',
},
{
dictValue: 1,
dictLabel:'是',
}
],//局级大客户
creditLevellist: [],//资信等级
}
} }
}, },
created() { created() {
this.customerInfos()
//企业性质
getDictType('company_nature_type').then(result=>{
this.companyType.companyNaturelist = result.code == 200 ? result.data:[]
})
//企业级别
getDictType('company_level_type').then(result=>{
this.companyType.companyLevellist = result.code == 200 ? result.data:[]
})
//资信等级
getDictType('credit_level_type').then(result=>{
this.companyType.creditLevellist = result.code == 200 ? result.data:[]
})
}, },
methods: { methods: {
customerInfos(){
customerInfo(this.customerIds).then(res=>{
this.infos = res.data
this.isInfo = true
})
},
focusNowedits(e){
this.nowedit = e
}
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.part-container{ .part-container{
padding: 0; margin: 0;
padding: 0;
.view-content{
margin-top: 16px;
} }
}
</style> </style>
...@@ -90,13 +90,14 @@ export default { ...@@ -90,13 +90,14 @@ export default {
{title: '开庭公告', pathName: 'openacourtsessionNotice'}, {title: '开庭公告', pathName: 'openacourtsessionNotice'},
// {title: '信用中国', pathName: ''} // {title: '信用中国', pathName: ''}
]}, ]},
// {title: '商务信息', pathName: 'business'}, {title: '商务信息', pathName: 'business'},
{title: '招标偏好', pathName: 'preference'}, {title: '招标偏好', pathName: 'preference'},
{title: '合作情况', pathName: 'cooperate'}, {title: '合作情况', pathName: 'cooperate'},
{title: '决策链条', pathName: 'decisionMaking'}, {title: '决策链条', pathName: 'decisionMaking'},
{title: '跟进记录', pathName: 'gjjl'} {title: '跟进记录', pathName: 'gjjl'}
], ],
customer:[ customer:[
'business',
'preference', 'preference',
'cooperate', 'cooperate',
'decisionMaking', 'decisionMaking',
......
...@@ -43,6 +43,8 @@ ...@@ -43,6 +43,8 @@
<CourtNotice v-if="currentPath.pathName=='courtNotice'" :company-id="companyId" /> <CourtNotice v-if="currentPath.pathName=='courtNotice'" :company-id="companyId" />
<OpenacourtsessionNotice v-if="currentPath.pathName=='openacourtsessionNotice'" :company-id="companyId" /> <OpenacourtsessionNotice v-if="currentPath.pathName=='openacourtsessionNotice'" :company-id="companyId" />
<template v-if="customerId"> <template v-if="customerId">
<!-- 商务信息 -->
<Business v-if="currentPath.pathName=='business'" :customer-ids="customerId" :companyInfo="companyInfo" />
<!-- 招标偏好 --> <!-- 招标偏好 -->
<Preference v-if="currentPath.pathName=='preference'" :customer-ids="customerId" /> <Preference v-if="currentPath.pathName=='preference'" :customer-ids="customerId" />
<!-- 合作情况 --> <!-- 合作情况 -->
...@@ -95,6 +97,7 @@ import Dishonesty from "./riskInformation/dishonesty" //风险信息-失信被 ...@@ -95,6 +97,7 @@ import Dishonesty from "./riskInformation/dishonesty" //风险信息-失信被
import Judgment from "./riskInformation/judgment" //风险信息-判决文书 import Judgment from "./riskInformation/judgment" //风险信息-判决文书
import CourtNotice from "./riskInformation/courtNotice" //风险信息-法院公告 import CourtNotice from "./riskInformation/courtNotice" //风险信息-法院公告
import OpenacourtsessionNotice from "./riskInformation/openacourtsessionNotice" //风险信息-开庭公告 import OpenacourtsessionNotice from "./riskInformation/openacourtsessionNotice" //风险信息-开庭公告
import Business from "./business" //商务信息
import Preference from "./preference" //招标偏好 import Preference from "./preference" //招标偏好
import Cooperate from "./cooperate" //合作情况 import Cooperate from "./cooperate" //合作情况
import DecisionMaking from "./decisionMaking" //决策链条 import DecisionMaking from "./decisionMaking" //决策链条
...@@ -134,6 +137,7 @@ export default { ...@@ -134,6 +137,7 @@ export default {
Judgment, Judgment,
CourtNotice, CourtNotice,
OpenacourtsessionNotice, OpenacourtsessionNotice,
Business,
Preference, Preference,
Cooperate, Cooperate,
DecisionMaking, DecisionMaking,
......
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