Commit 5d0fd7eb authored by xiongjinke's avatar xiongjinke

招标偏好、合作情况、决策链条、跟进记录

parent 3738fd17
import request from '@/utils/request'
// 获取客户决策链条列表
export function getList(data) {
return request({
url: '/customer/decision/chain/list',
method: 'get',
params: data
})
}
// 添加客户决策链条
export function addChain(data) {
return request({
url: '/customer/decision/chain',
method: 'post',
data:data
})
}
...@@ -77,10 +77,10 @@ export default { ...@@ -77,10 +77,10 @@ export default {
{title: '信用中国', pathName: ''} {title: '信用中国', pathName: ''}
]}, ]},
{title: '商务信息', pathName: 'business'}, {title: '商务信息', pathName: 'business'},
{title: '招标偏好', pathName: ''}, {title: '招标偏好', pathName: 'preference'},
{title: '合作情况', pathName: ''}, {title: '合作情况', pathName: 'cooperate'},
{title: '决策链条', pathName: ''}, {title: '决策链条', pathName: 'decisionMaking'},
{title: '跟进记录', pathName: ''} {title: '跟进记录', pathName: 'gjjl'}
] ]
} }
}, },
......
This diff is collapsed.
<template>
<div class="decisionMaking">
<template v-if="ifEmpty">
<div class="flex-box query-box">
<div class="flex-box query-params"></div>
<div class="flex-box query-add">
<el-button type="primary" icon="el-icon-plus" @click="opennew">新增决策链条</el-button>
</div>
</div>
<div class="table-item">
<el-table
v-loading="tableLoading"
:data="tableData"
element-loading-text="Loading"
border
fit
highlight-current-row
>
<el-table-column label="序号" width="50" align="left">
<template slot-scope="scope">{{ pageIndex * pageSize - pageSize + scope.$index + 1 }}</template>
</el-table-column>
<el-table-column label="姓名" prop="enterpriseName" min-width="70" align="left" />
<el-table-column label="角色" prop="level" min-width="70" align="left" />
<el-table-column label="公司/机关" prop="legalPerson" min-width="70" align="left" />
<el-table-column label="职位" prop="capital" min-width="115" align="left" />
<el-table-column label="联系方式" prop="capital" min-width="115" align="left" />
<el-table-column label="内部维护人" prop="capital" min-width="115" align="left" />
<el-table-column label="备注" prop="capital" min-width="115" align="left" />
</el-table>
</div>
<div class="pagination-box">
<el-pagination background :current-page="queryParams.pageNum" :page-size="queryParams.pageSize" :total="tableDataTotal" layout="prev, pager, next, jumper" @current-change="handleCurrentChange" @size-change="handleSizeChange" />
</div>
</template>
<template v-else>
<div class="cooperate_empty">
<img src="@/assets/images/project/empty.png"/>
<div class="empty-t">暂无客户联系人数据</div>
<div class="empty-d">抱歉,你还未添加客户联系人,快去添加吧</div>
<el-button type="primary" class="empty-b" @click="opennew">添加联系人</el-button>
</div>
</template>
<!-- 弹窗添加联系人 -->
<el-dialog
class="popups"
:visible.sync="dialogVisible"
width="464px">
<div class="poptitle">
<img src="@/assets/images/economies/icon.png">
<span>重庆市轨道交通3号线二期工程4标段施工总承包</span>
</div>
<div class="popform">
<div class="row">
<span class="left">联系人姓名:</span>
<el-input type="text" placeholder="请输入"></el-input>
</div>
<div class="row">
<span class="left">联系人角色:</span>
<el-select placeholder="请选择">
<el-option label="cccc" value="11"></el-option>
<el-option label="cccc" value="121"></el-option>
</el-select>
</div>
<div class="row">
<span class="left">联系人职位:</span>
<el-input type="text" placeholder="请输入"></el-input>
</div>
<div class="row">
<span class="left">联系人公司/机关:</span>
<el-input type="text" placeholder="请输入"></el-input>
</div>
<div class="row">
<span class="left">内部维护人:</span>
<el-input type="text" placeholder="请输入"></el-input>
</div>
<div class="row">
<span class="left">联系方式:</span>
<el-input type="text" placeholder="请输入"></el-input>
</div>
<div class="popbot">
<div class="btn btn_cancel h32" @click="cancel">返回</div>
<div class="btn btn_primary h32">保存</div>
</div>
</div>
</el-dialog>
</div>
</template>
<script>
import {
getList,
addChain
} from '@/api/decisionMaking/decisionMaking'
export default {
name: 'DecisionMaking',
components: {
},
data() {
return {
ifEmpty:true,
queryParams:{
customerId:null,
pageNum:1,
pageSize:10,
},
stageOptions:[],
statusOptions:[],
//列表
tableLoading:false,
tableData:[],
pageIndex:1,
pageSize:10,
tableDataTotal:0,
//弹窗
dialogVisible: false,
}
},
created() {
this.list();
},
computed: {
},
methods: {
list(){
getList(this.queryParams).then((res) => {
console.log(res)
})
},
resetQuery() {
},
//分页
handleCurrentChange(e){
},
handleSizeChange(e){
},
cancel(){
this.dialogVisible = false
},
//打开新建窗口
opennew(){
this.dialogVisible = true
},
}
}
</script>
<style lang="scss" scoped>
.decisionMaking{
background: #ffffff;
border-radius: 4px;
padding: 16px;
input{
border: 1px solid #EFEFEF;
}
::v-deep .el-form-item{
margin-right: 8px !important;
}
.cooperate-name{
::v-deep .el-form-item__content{
display: flex;
span{
width: 60px;
height: 32px;
background: #F5F5F5;
text-align: center;
color: #0081FF;
border: 1px solid #EFEFEF;
border-left: 0;
cursor: pointer;
}
}
::v-deep .el-input__inner{
border-right: 0;
border-radius: 2px 0 2px 0;
}
}
.query-add{
button{
width: 124px;
line-height: 32px;
height: 32px;
background: #0081FF;
border-radius: 2px 2px 2px 2px;
padding: 0;
color: #ffffff;
span{
color: #ffff;
margin-left: 4px;
}
}
}
.cooperate_empty{
text-align: center;
height: calc(100vh - 170px);
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
img{
width: 108px;
height: 108px;
border-radius: 50%;
margin-bottom: 24px;
}
.empty-t{
font-size: 16px;
color: #333333;
margin-bottom: 8px;
}
.empty-d{
font-size: 14px;
font-weight: 400;
color: #999999;
margin-bottom: 24px;
}
.empty-b{
width: 116px;
height: 36px;
background: #0081FF;
border-radius: 4px;
padding: 0;
}
}
.table-item{
margin-top: 10px;
}
// 弹窗
.popups{
.poptitle {
line-height: 48px;
border-bottom: 1px solid #E1E1E1;
height: 48px;
position: absolute;
top: 0;
left: 0;
width: 100%;
img {
width: 17px;
margin: 16px;
float: left;
}
span {
font-weight: bold;
font-size: 16px;
color: #232323;
font-family: Microsoft YaHei-Bold, Microsoft YaHei;
width: 385px;
display: block;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
}
.popform {
padding-top: 24px;
.row {
padding-bottom: 16px;
.left {
width: 137px;
display: inline-block;
text-align: right;
opacity: 0.8;
}
::v-deep .el-input {
display: inline-block;
width: 240px;
}
}
.popbot {
text-align: right;
padding-top: 8px;
}
}
}
}
</style>
...@@ -15,6 +15,14 @@ ...@@ -15,6 +15,14 @@
<Branch v-if="currentPath.pathName=='branch'" /> <Branch v-if="currentPath.pathName=='branch'" />
<Financial v-if="currentPath.pathName=='financial'" /> <Financial v-if="currentPath.pathName=='financial'" />
<Business v-if="currentPath.pathName=='business'" /> <Business v-if="currentPath.pathName=='business'" />
<!-- 招标偏好 -->
<Preference v-if="currentPath.pathName=='preference'" />
<!-- 合作情况 -->
<Cooperate v-if="currentPath.pathName=='cooperate'" />
<!-- 决策链条 -->
<DecisionMaking v-if="currentPath.pathName=='decisionMaking'" />
<!-- 跟进记录 -->
<Gjjl v-if="currentPath.pathName=='gjjl'" />
</div> </div>
</div> </div>
</div> </div>
...@@ -33,6 +41,10 @@ import Overseas from "./overview/overseas" //企业概览-对外投资 ...@@ -33,6 +41,10 @@ import Overseas from "./overview/overseas" //企业概览-对外投资
import Branch from "./overview/branch" //企业概览-分支机构 import Branch from "./overview/branch" //企业概览-分支机构
import Financial from "./financial" //财务简析 import Financial from "./financial" //财务简析
import Business from "./business" //商务信息 import Business from "./business" //商务信息
import Preference from "./preference" //招标偏好
import Cooperate from "./cooperate" //合作情况
import DecisionMaking from "./decisionMaking" //决策链条
import Gjjl from "../../project/projectList/component/gjjl" //跟进记录
export default { export default {
name: 'PartyA', name: 'PartyA',
components: { components: {
...@@ -45,7 +57,11 @@ export default { ...@@ -45,7 +57,11 @@ export default {
Overseas, Overseas,
Branch, Branch,
Financial, Financial,
Business Business,
Preference,
Cooperate,
DecisionMaking,
Gjjl
}, },
data() { data() {
return { return {
......
<template>
<div class="preference">
<div class="preference-item">
<div class="flex-box query-box">
<div class="flex-box query-params">
<span class="common-title">商务条件特点</span>
</div>
</div>
<div class="query-params">
<el-form ref="queryForm" :model="queryParams" :inline="true" size="small">
<el-form-item>
<el-input v-model="queryParams.key"
type="textarea"
:autosize="{ minRows: 8, maxRows: 8}"
maxlength="500"
show-word-limit
placeholder="请输入商务条件特点">
</el-input>
</el-form-item>
</el-form>
</div>
</div>
<div class="preference-item">
<div class="flex-box query-box">
<div class="flex-box query-params">
<span class="common-title">决策链条</span>
</div>
</div>
<div class="query-params">
<el-form ref="queryForm" :model="queryParams" :inline="true" size="small">
<el-form-item>
<el-input v-model="queryParams.key"
type="textarea"
:autosize="{ minRows: 8, maxRows: 8}"
maxlength="500"
show-word-limit
placeholder="请输入决策链条">
</el-input>
</el-form-item>
</el-form>
</div>
</div>
<div class="preference-item">
<div class="flex-box query-box">
<div class="flex-box query-params">
<span class="common-title">招投标流程特点</span>
</div>
</div>
<div class="query-params">
<el-form ref="queryForm" :model="queryParams" :inline="true" size="small">
<el-form-item>
<el-input v-model="queryParams.key"
type="textarea"
:autosize="{ minRows: 8, maxRows: 8}"
maxlength="500"
show-word-limit
placeholder="请输入招投标流程特点">
</el-input>
</el-form-item>
</el-form>
</div>
</div>
<div class="preference-item">
<div class="flex-box query-box">
<div class="flex-box query-params">
<span class="common-title">履约阶段特点</span>
</div>
</div>
<div class="query-params">
<el-form ref="queryForm" :model="queryParams" :inline="true" size="small">
<el-form-item>
<el-input v-model="queryParams.key"
type="textarea"
:autosize="{ minRows: 8, maxRows: 8}"
maxlength="500"
show-word-limit
placeholder="请输入履约阶段特点">
</el-input>
</el-form-item>
</el-form>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'Preference',
components: {
},
data() {
return {
queryParams:{
}
}
},
created() {
},
computed: {
},
methods: {
}
}
</script>
<style lang="scss" scoped>
.preference{
background: #ffffff;
border-radius: 4px;
padding: 16px;
.query-params{
margin-top:20px;
::v-deep .el-form-item{
width: 100%;
}
::v-deep .el-form-item__content{
width: 80%;
}
}
}
</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