Commit 5e1efea0 authored by 华国豪's avatar 华国豪 🙄

新增很多页面

parent 726d4d10
...@@ -229,3 +229,7 @@ textarea{ ...@@ -229,3 +229,7 @@ textarea{
color: rgba(13, 36, 129, 1); color: rgba(13, 36, 129, 1);
background-color: white; background-color: white;
} }
.MyEditForm-item .el-input.is-disabled .el-input__inner{
background-color: white;
border-color: white;
}
\ No newline at end of file
...@@ -91,7 +91,8 @@ export default { ...@@ -91,7 +91,8 @@ export default {
}, },
{ {
class: "iconfont icondaiban", class: "iconfont icondaiban",
name: "待办事项" name: "待办事项",
path: '/waitMatter'
}, },
{ {
class: "iconfont iconxiansuo", class: "iconfont iconxiansuo",
...@@ -110,7 +111,8 @@ export default { ...@@ -110,7 +111,8 @@ export default {
}, },
{ {
class: "iconfont icongonghaiguanli", class: "iconfont icongonghaiguanli",
name: "公海" name: "公海",
path: '/watersManagement'
}, },
{ {
class: "iconfont iconshangji", class: "iconfont iconshangji",
......
...@@ -390,7 +390,7 @@ ...@@ -390,7 +390,7 @@
<div class="content-item font-color-info" :key="subIndex" v-if="!subItem.CustomerFollowUpModel"> <div class="content-item font-color-info" :key="subIndex" v-if="!subItem.CustomerFollowUpModel">
<i class="iconfont iconcompany"></i> <i class="iconfont iconcompany"></i>
<div class="content"> <div class="content">
<p class="content-ea"><span>{{subItem.UpdateDate.replace('T', ' ')}}</span> <span> {{subItem.LogInfo}}</span></p> <p class="content-ea"><span>{{subItem.UpdateDate}}</span> <span> {{subItem.LogInfo}}</span></p>
</div> </div>
</div> </div>
<div class="content-item" v-else :key="subIndex" > <div class="content-item" v-else :key="subIndex" >
...@@ -402,7 +402,7 @@ ...@@ -402,7 +402,7 @@
</div> </div>
<div> <div>
<p>{{subItem.CustomerFollowUpModel.CreateByStr}}</p> <p>{{subItem.CustomerFollowUpModel.CreateByStr}}</p>
<p class="font-color-info">{{subItem.UpdateDate.replace('T', ' ')}}</p> <p class="font-color-info">{{subItem.UpdateDate}}</p>
</div> </div>
<div class="tag"> <div class="tag">
<span>{{subItem.CustomerFollowUpModel.FollowUpTypeStr}}</span> <span>{{subItem.CustomerFollowUpModel.FollowUpTypeStr}}</span>
...@@ -424,7 +424,7 @@ ...@@ -424,7 +424,7 @@
</p> </p>
</div> </div>
</div> </div>
<p> <span class="font-color-info">下次联系时间:</span> <span>{{subItem.CustomerFollowUpModel.NextContactDate.replace('T', ' ')}}</span></p> <p> <span class="font-color-info">下次联系时间:</span> <span>{{subItem.CustomerFollowUpModel.NextContactDate}}</span></p>
</div> </div>
</div> </div>
</div> </div>
......
...@@ -3,26 +3,76 @@ ...@@ -3,26 +3,76 @@
</style> </style>
<template> <template>
<div class="Business"> <div class="Business">
Business <div class="add-Enclosure">
<el-button icon="el-icon-plus" class="crm-btn query-btn crm-btn-mini margin-right0" @click="addBusiness">新建商机</el-button>
</div>
<el-table
v-loading="loading"
stripe
ref="multipleTable"
:data="dataList"
tooltip-effect="dark"
style="width: 100%"
row-class-name="font-size-12">
<el-table-column
prop="BusinessName"
label="商机名称"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="BudgetPrice"
label="商机金额"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="CustomerName"
label="客户名称"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="BusinessStatusStr"
label="商机阶段"
show-overflow-tooltip>
</el-table-column>
</el-table>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
props:{ props: ['ID', 'BusinessType'],
},
data() { data() {
return { return {
dataList: [],
loading: false
}; };
},watch:{ },watch:{
}, },
mounted() { mounted() {
this.GetBusinessList()
}, },
methods: { methods: {
GetBusinessList(){
this.apipost('/api/Customer/GetBusinessList', {CustomerId: this.ID}, res=>{
if (res.data.resultCode == 1) {
console.log(res.data.data)
this.dataList = res.data.data
} else {
this.$message.error(res.data.message);
}
})
},
addBusiness(){
let $this= this
this.MsgBus.$emit('addBusinessBoxOpen', $this.ID, 0)
},
guanlian(){
},
jiechuguanlian(){
},
} }
} }
</script> </script>
\ No newline at end of file
...@@ -126,7 +126,7 @@ ...@@ -126,7 +126,7 @@
更新时间: 更新时间:
</el-col> </el-col>
<el-col :span="14"> <el-col :span="14">
{{detailsData.UpdateTime ? detailsData.UpdateTime.replace('T', ' ') : detailsData.UpdateTime}} {{detailsData.UpdateTime ? detailsData.UpdateTime : detailsData.UpdateTime}}
</el-col> </el-col>
</el-row> </el-row>
</el-col> </el-col>
...@@ -149,7 +149,7 @@ ...@@ -149,7 +149,7 @@
创建时间: 创建时间:
</el-col> </el-col>
<el-col :span="14"> <el-col :span="14">
{{detailsData.CreateTime ? detailsData.CreateTime.replace('T', ' ') : detailsData.CreateTime }} {{detailsData.CreateTime ? detailsData.CreateTime : detailsData.CreateTime }}
</el-col> </el-col>
</el-row> </el-row>
</el-col> </el-col>
......
...@@ -70,7 +70,7 @@ ...@@ -70,7 +70,7 @@
<div class="Record" id="Record"> <div class="Record" id="Record">
<div class="ha-cont" style="justify-content: flex-start; align-items: stretch;" v-for="(item, index) in logList" :key="index"> <div class="ha-cont" style="justify-content: flex-start; align-items: stretch;" v-for="(item, index) in logList" :key="index">
<div class="ha-circle"></div> <div class="ha-circle"></div>
<div class="ha-time">{{item.UpdateDate.replace('T', ' ')}}</div> <div class="ha-time">{{item.UpdateDate}}</div>
<!-- <div class="ha-name">admin</div> --> <!-- <div class="ha-name">admin</div> -->
<div class="ha-content"> <div class="ha-content">
<p data-v-0d9b8f7a="">{{item.LogInfo}}</p> <p data-v-0d9b8f7a="">{{item.LogInfo}}</p>
......
...@@ -100,7 +100,7 @@ ...@@ -100,7 +100,7 @@
<span class="info-lable">负责人:</span><span>{{detailsData.Contact}}</span> <span class="info-lable">负责人:</span><span>{{detailsData.Contact}}</span>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<span class="info-lable">更新时间:</span><span>{{detailsData.UpdateTime ? detailsData.UpdateTime.replace('T', ' ') : ''}}</span> <span class="info-lable">更新时间:</span><span>{{detailsData.UpdateTime ? detailsData.UpdateTime : ''}}</span>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
...@@ -119,7 +119,7 @@ ...@@ -119,7 +119,7 @@
<TeamMembers v-if="activeName === '4'" :CustomerId="CustomerId"/> <TeamMembers v-if="activeName === '4'" :CustomerId="CustomerId"/>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="商机" name="5"> <el-tab-pane label="商机" name="5">
<Business /> <Business v-if="activeName === '5'" :ID="CustomerId"/>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="合同" name="6"> <el-tab-pane label="合同" name="6">
<Agreement /> <Agreement />
......
...@@ -387,7 +387,7 @@ ...@@ -387,7 +387,7 @@
<div class="content-item font-color-info" :key="subIndex" v-if="!subItem.CustomerFollowUpModel"> <div class="content-item font-color-info" :key="subIndex" v-if="!subItem.CustomerFollowUpModel">
<i class="iconfont iconcompany"></i> <i class="iconfont iconcompany"></i>
<div class="content"> <div class="content">
<p class="content-ea"><span>{{subItem.UpdateDate.replace('T', ' ')}}</span> <span> {{subItem.LogInfo}}</span></p> <p class="content-ea"><span>{{subItem.UpdateDate}}</span> <span> {{subItem.LogInfo}}</span></p>
</div> </div>
</div> </div>
<div class="content-item" v-else :key="subIndex" > <div class="content-item" v-else :key="subIndex" >
...@@ -399,7 +399,7 @@ ...@@ -399,7 +399,7 @@
</div> </div>
<div> <div>
<p>{{subItem.CustomerFollowUpModel.CreateByStr}}</p> <p>{{subItem.CustomerFollowUpModel.CreateByStr}}</p>
<p class="font-color-info">{{subItem.UpdateDate.replace('T', ' ')}}</p> <p class="font-color-info">{{subItem.UpdateDate}}</p>
</div> </div>
<div class="tag"> <div class="tag">
<span>{{subItem.CustomerFollowUpModel.FollowUpTypeStr}}</span> <span>{{subItem.CustomerFollowUpModel.FollowUpTypeStr}}</span>
...@@ -420,7 +420,7 @@ ...@@ -420,7 +420,7 @@
</p> </p>
</div> </div>
</div> </div>
<p> <span class="font-color-info">下次联系时间:</span> <span>{{subItem.CustomerFollowUpModel.NextContactDate.replace('T', ' ')}}</span></p> <p> <span class="font-color-info">下次联系时间:</span> <span>{{subItem.CustomerFollowUpModel.NextContactDate}}</span></p>
</div> </div>
</div> </div>
</div> </div>
......
...@@ -206,6 +206,7 @@ export default { ...@@ -206,6 +206,7 @@ export default {
}, },
addContactsOk(){ addContactsOk(){
this.GetContactByBusinessID() this.GetContactByBusinessID()
this.getGLcustomerList()
}, },
SetFirstContact(scope){ SetFirstContact(scope){
this.apipost('/api/Customer/SetBusinessFirstContact', {BusinessID: this.BusinessId, ID: scope.row.ID}, res=>{ this.apipost('/api/Customer/SetBusinessFirstContact', {BusinessID: this.BusinessId, ID: scope.row.ID}, res=>{
......
...@@ -63,7 +63,7 @@ ...@@ -63,7 +63,7 @@
<div class="Record" id="Record"> <div class="Record" id="Record">
<div class="ha-cont" style="justify-content: flex-start; align-items: stretch;" v-for="(item, index) in logList" :key="index"> <div class="ha-cont" style="justify-content: flex-start; align-items: stretch;" v-for="(item, index) in logList" :key="index">
<div class="ha-circle"></div> <div class="ha-circle"></div>
<div class="ha-time">{{item.UpdateDate.replace('T', ' ')}}</div> <div class="ha-time">{{item.UpdateDate}}</div>
<div class="ha-content"> <div class="ha-content">
<p>{{item.LogInfo}}</p> <p>{{item.LogInfo}}</p>
</div> </div>
......
...@@ -151,7 +151,7 @@ ...@@ -151,7 +151,7 @@
<el-col :span="8"> <el-col :span="8">
<div class="MyEditForm-item"> <div class="MyEditForm-item">
<el-form-item label="客户名称" prop="CustomerId"> <el-form-item label="客户名称" prop="CustomerId">
<el-select v-model="form.CustomerId" filterable placeholder="请选择客户"> <el-select v-model="form.CustomerId" :disabled="type==='1' ? true : false" placeholder="请选择客户">
<el-option <el-option
v-for="item in CustomerList" v-for="item in CustomerList"
:key="item.CustomerId" :key="item.CustomerId"
...@@ -249,16 +249,7 @@ ...@@ -249,16 +249,7 @@
</template> </template>
<script> <script>
export default { export default {
props:{ props:['ID', 'name', 'CustomerId', 'ContactId', 'type'],
ID: {
type: Number,
default: 0
},
name: {
type: String,
default: '新建商机'
}
},
data() { data() {
return { return {
CustomerList: [], CustomerList: [],
...@@ -315,6 +306,12 @@ export default { ...@@ -315,6 +306,12 @@ export default {
console.log(val) console.log(val)
}, },
deep:true deep:true
},
CustomerId: {
handler(val, oldVal){
console.log(val)
},
deep:true
} }
}, },
mounted() { mounted() {
...@@ -322,6 +319,9 @@ export default { ...@@ -322,6 +319,9 @@ export default {
this.getLineList() this.getLineList()
this.GetBusinessStatusEnum() this.GetBusinessStatusEnum()
let $this = this let $this = this
if (this.CustomerId!==0) {
this.form.CustomerId = this.CustomerId
}
setTimeout(()=>{ setTimeout(()=>{
$this.dialogTableVisible = true $this.dialogTableVisible = true
},50) },50)
...@@ -382,12 +382,13 @@ export default { ...@@ -382,12 +382,13 @@ export default {
this.dialogTableVisible = false; this.dialogTableVisible = false;
// 有id 发送更新抽屉消息 // 有id 发送更新抽屉消息
if(this.CustomerId !== 0) { if(this.CustomerId !== 0) {
this.$message.success('修改商机成功'); this.$message.success('操作成功');
this.MsgBus.$emit('RefreshInfoBox') this.MsgBus.$emit('RefreshInfoBox')
} else { } else {
this.$message.success('新建商机成功'); this.$message.success('操作成功');
} }
this.$emit('getList') this.$emit('getList')
this.MsgBus.$emit('RefreshbusSelect')
this.resetForm("form"); this.resetForm("form");
} else { } else {
this.$message.error(res.data.message); this.$message.error(res.data.message);
......
...@@ -114,7 +114,7 @@ ...@@ -114,7 +114,7 @@
创建时间: 创建时间:
</el-col> </el-col>
<el-col :span="14"> <el-col :span="14">
{{detailsData.CreateTime ? detailsData.CreateTime.replace('T', ' ') : detailsData.CreateTime}} {{detailsData.CreateTime ? detailsData.CreateTime : detailsData.CreateTime}}
</el-col> </el-col>
</el-row> </el-row>
</el-col> </el-col>
...@@ -126,7 +126,7 @@ ...@@ -126,7 +126,7 @@
更新时间: 更新时间:
</el-col> </el-col>
<el-col :span="14"> <el-col :span="14">
{{detailsData.UpdateTime ? detailsData.UpdateTime.replace('T', ' ') : detailsData.UpdateTime}} {{detailsData.UpdateTime ? detailsData.UpdateTime : detailsData.UpdateTime}}
</el-col> </el-col>
</el-row> </el-row>
</el-col> </el-col>
......
...@@ -363,7 +363,7 @@ ...@@ -363,7 +363,7 @@
<div class="content-item font-color-info" :key="subIndex" v-if="!subItem.CustomerFollowUpModel"> <div class="content-item font-color-info" :key="subIndex" v-if="!subItem.CustomerFollowUpModel">
<i class="iconfont iconcompany"></i> <i class="iconfont iconcompany"></i>
<div class="content"> <div class="content">
<p class="content-ea"><span>{{subItem.UpdateDate.replace('T', ' ')}}</span> <span> {{subItem.LogInfo}}</span></p> <p class="content-ea"><span>{{subItem.UpdateDate}}</span> <span> {{subItem.LogInfo}}</span></p>
</div> </div>
</div> </div>
<div class="content-item" v-else :key="subIndex" > <div class="content-item" v-else :key="subIndex" >
...@@ -375,7 +375,7 @@ ...@@ -375,7 +375,7 @@
</div> </div>
<div> <div>
<p>{{subItem.CustomerFollowUpModel.CreateByStr}}</p> <p>{{subItem.CustomerFollowUpModel.CreateByStr}}</p>
<p class="font-color-info">{{subItem.UpdateDate.replace('T', ' ')}}</p> <p class="font-color-info">{{subItem.UpdateDate}}</p>
</div> </div>
<div class="tag"> <div class="tag">
<span>{{subItem.CustomerFollowUpModel.FollowUpTypeStr}}</span> <span>{{subItem.CustomerFollowUpModel.FollowUpTypeStr}}</span>
...@@ -396,7 +396,7 @@ ...@@ -396,7 +396,7 @@
</p> </p>
</div> </div>
</div> </div>
<p> <span class="font-color-info">下次联系时间:</span> <span>{{subItem.CustomerFollowUpModel.NextContactDate.replace('T', ' ')}}</span></p> <p> <span class="font-color-info">下次联系时间:</span> <span>{{subItem.CustomerFollowUpModel.NextContactDate}}</span></p>
</div> </div>
</div> </div>
</div> </div>
......
...@@ -126,7 +126,7 @@ ...@@ -126,7 +126,7 @@
更新时间: 更新时间:
</el-col> </el-col>
<el-col :span="14"> <el-col :span="14">
{{detailsData.UpdateTime ? detailsData.UpdateTime.replace('T', ' ') : detailsData.UpdateTime}} {{detailsData.UpdateTime ? detailsData.UpdateTime : detailsData.UpdateTime}}
</el-col> </el-col>
</el-row> </el-row>
</el-col> </el-col>
...@@ -149,7 +149,7 @@ ...@@ -149,7 +149,7 @@
创建时间: 创建时间:
</el-col> </el-col>
<el-col :span="14"> <el-col :span="14">
{{detailsData.CreateTime ? detailsData.CreateTime.replace('T', ' ') : detailsData.CreateTime }} {{detailsData.CreateTime ? detailsData.CreateTime : detailsData.CreateTime }}
</el-col> </el-col>
</el-row> </el-row>
</el-col> </el-col>
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
label="上传时间" label="上传时间"
show-overflow-tooltip> show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<span class="cfont-color-info">{{scope.row.CreateTime.replace('T', ' ')}}</span> <span class="cfont-color-info">{{scope.row.CreateTime}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
......
...@@ -70,7 +70,7 @@ ...@@ -70,7 +70,7 @@
<div class="Record" id="Record"> <div class="Record" id="Record">
<div class="ha-cont" style="justify-content: flex-start; align-items: stretch;" v-for="(item, index) in logList" :key="index"> <div class="ha-cont" style="justify-content: flex-start; align-items: stretch;" v-for="(item, index) in logList" :key="index">
<div class="ha-circle"></div> <div class="ha-circle"></div>
<div class="ha-time">{{item.UpdateDate.replace('T', ' ')}}</div> <div class="ha-time">{{item.UpdateDate}}</div>
<!-- <div class="ha-name">admin</div> --> <!-- <div class="ha-name">admin</div> -->
<div class="ha-content"> <div class="ha-content">
<p data-v-0d9b8f7a="">{{item.LogInfo}}</p> <p data-v-0d9b8f7a="">{{item.LogInfo}}</p>
......
...@@ -129,7 +129,7 @@ ...@@ -129,7 +129,7 @@
v-if="queryType[7].show" v-if="queryType[7].show"
show-overflow-tooltip> show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{scope.row.UpdateTime.replace('T', ' ')}}</span> <span>{{scope.row.UpdateTime}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
......
...@@ -97,7 +97,7 @@ ...@@ -97,7 +97,7 @@
<span class="info-lable">负责人:</span><span>{{detailsData.Contact}}</span> <span class="info-lable">负责人:</span><span>{{detailsData.Contact}}</span>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<span class="info-lable">更新时间:</span><span>{{detailsData.UpdateTime.replace('T', ' ')}}</span> <span class="info-lable">更新时间:</span><span>{{detailsData.UpdateTime}}</span>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
......
...@@ -370,7 +370,7 @@ ...@@ -370,7 +370,7 @@
<div class="content-item font-color-info" :key="subIndex" v-if="!subItem.CustomerFollowUpModel"> <div class="content-item font-color-info" :key="subIndex" v-if="!subItem.CustomerFollowUpModel">
<i class="iconfont iconcompany"></i> <i class="iconfont iconcompany"></i>
<div class="content"> <div class="content">
<p class="content-ea"><span>{{subItem.UpdateDate.replace('T', ' ')}}</span> <span> {{subItem.LogInfo}}</span></p> <p class="content-ea"><span>{{subItem.UpdateDate}}</span> <span> {{subItem.LogInfo}}</span></p>
</div> </div>
</div> </div>
<div class="content-item" v-else :key="subIndex" > <div class="content-item" v-else :key="subIndex" >
...@@ -382,7 +382,7 @@ ...@@ -382,7 +382,7 @@
</div> </div>
<div> <div>
<p>{{subItem.CustomerFollowUpModel.CreateByStr}}</p> <p>{{subItem.CustomerFollowUpModel.CreateByStr}}</p>
<p class="font-color-info">{{subItem.UpdateDate.replace('T', ' ')}}</p> <p class="font-color-info">{{subItem.UpdateDate}}</p>
</div> </div>
<div class="tag"> <div class="tag">
<span>{{subItem.CustomerFollowUpModel.FollowUpTypeStr}}</span> <span>{{subItem.CustomerFollowUpModel.FollowUpTypeStr}}</span>
...@@ -404,7 +404,7 @@ ...@@ -404,7 +404,7 @@
</p> </p>
</div> </div>
</div> </div>
<p> <span class="font-color-info">下次联系时间:</span> <span>{{subItem.CustomerFollowUpModel.NextContactDate.replace('T', ' ')}}</span></p> <p> <span class="font-color-info">下次联系时间:</span> <span>{{subItem.CustomerFollowUpModel.NextContactDate}}</span></p>
</div> </div>
</div> </div>
</div> </div>
...@@ -419,6 +419,10 @@ ...@@ -419,6 +419,10 @@
<script> <script>
export default { export default {
props:{ props:{
ContactId: {
type: Number,
default: 0
},
CustomerId: { CustomerId: {
type: Number, type: Number,
default: 0 default: 0
...@@ -451,7 +455,7 @@ export default { ...@@ -451,7 +455,7 @@ export default {
type: 1, type: 1,
FollowUpMsg: { FollowUpMsg: {
ID: 0, ID: 0,
CustomerId: '', CustomerId: 0,
ContactId: 0, ContactId: 0,
ContactName: '', ContactName: '',
BusinessId: 0, BusinessId: 0,
...@@ -485,14 +489,14 @@ export default { ...@@ -485,14 +489,14 @@ export default {
fjList: [], fjList: [],
logList: [], logList: [],
logMsg: { logMsg: {
Type: 1, Type: 5,
pageIndex: 1, pageIndex: 1,
pageSize: 3, pageSize: 3,
CustomerId: 0 CustomerId: 0
} }
}; };
},watch:{ },watch:{
CustomerId: { ContactId: {
handler(val, oldVal){ handler(val, oldVal){
this.GetLogPageList() this.GetLogPageList()
}, },
...@@ -541,6 +545,7 @@ export default { ...@@ -541,6 +545,7 @@ export default {
}) })
}, },
CreateContactFollowUp(){ CreateContactFollowUp(){
this.FollowUpMsg.ContactId = this.ContactId
this.FollowUpMsg.CustomerId = this.CustomerId this.FollowUpMsg.CustomerId = this.CustomerId
if (this.gjImgList.length){ if (this.gjImgList.length){
this.gjImgList.map(x=>{ this.gjImgList.map(x=>{
...@@ -565,7 +570,7 @@ export default { ...@@ -565,7 +570,7 @@ export default {
this.gjImgList = [] this.gjImgList = []
this.FollowUpMsg = { this.FollowUpMsg = {
ID: 0, ID: 0,
CustomerId: '', CustomerId: 0,
ContactId: 0, ContactId: 0,
ContactName: '', ContactName: '',
BusinessId: 0, BusinessId: 0,
...@@ -576,6 +581,7 @@ export default { ...@@ -576,6 +581,7 @@ export default {
NextContactDate: '', NextContactDate: '',
ContactContent: '' ContactContent: ''
} }
this.GetLogPageList()
} }
}) })
}, },
......
...@@ -3,26 +3,182 @@ ...@@ -3,26 +3,182 @@
</style> </style>
<template> <template>
<div class="Business"> <div class="Business">
Business <div class="add-Enclosure">
<el-button class="crm-btn query-btn crm-btn-mini easy-btn" @click="guanlianBox = true">关联</el-button>
<el-button class="crm-btn query-btn crm-btn-mini easy-btn" @click="jiechuguanlian">解除关联</el-button>
<el-button icon="el-icon-plus" class="crm-btn query-btn crm-btn-mini margin-right0" @click="addBusiness">新建商机</el-button>
</div>
<el-table
v-loading="loading"
stripe
ref="multipleTable"
:data="dataList"
tooltip-effect="dark"
style="width: 100%"
row-class-name="font-size-12"
@selection-change="handleSelectionChange">
<el-table-column fixed type="selection" width="40"></el-table-column>
<el-table-column
prop="BusinessName"
label="商机名称"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="BudgetPrice"
label="商机金额"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="CustomerName"
label="客户名称"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="BusinessStatusStr"
label="商机阶段"
show-overflow-tooltip>
</el-table-column>
</el-table>
<el-dialog :visible.sync="guanlianBox" :modal="false" :close-on-click-modal="false" width="450px" custom-class="transfer-box add-box add-box2">
<div class="add-tit" slot="title">
<p><span></span>关联商机</p>
<span icon="el-icon-close"></span>
</div>
<el-form :model="msg" ref="form" class="MyEditForm" >
<div class="MyEditForm-item">
<el-form-item label="商机" class="label-pad-left">
<el-select
filterable
multiple
v-model="BusinessIDs" placeholder="请选择">
<el-option
v-for="item in selectList"
:label='item.BusinessName'
:value='item.ID'
:key='item.ID'>
</el-option>
</el-select>
</el-form-item>
</div>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" class="add-box-btn" @click="guanlian()">确 定</el-button>
<el-button class="add-box-btn add-box-cancel" @click="guanlianBox = false">取 消</el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
props:{ props: ['ID', 'CustomerId'],
},
data() { data() {
return { return {
dataList: [],
loading: false,
guanlianBox: false,
BusinessIDs: [],
selectList: [],
selectID: [],
msg: {
BusinessIDs: '',
ContactIDs: ''
}
}; };
},watch:{ },watch:{
}, },
mounted() { mounted() {
this.GetBusinessByContactID()
this.GetBusinessList()
let $this = this
this.MsgBus.$on('RefreshbusSelect', function (){
$this.GetBusinessList()
})
}, },
methods: { methods: {
handleSelectionChange(val) {
this.selectID = val.map(x=>
x.ID
)
},
GetBusinessList(){
this.apipost('/api/Customer/GetBusinessList', {CustomerId: this.CustomerId}, res=>{
if (res.data.resultCode == 1) {
this.selectList = res.data.data
} else {
this.$message.error(res.data.message);
}
})
},
GetBusinessByContactID(){
this.loading = true
this.apipost('/api/Customer/GetBusinessByContactID', {ContactID: this.ID}, res=>{
if (res.data.resultCode == 1) {
this.dataList = res.data.data
this.loading = false
} else {
this.loading = false
this.$message.error(res.data.message);
}
})
},
addBusiness(){
let $this= this
this.MsgBus.$emit('addBusinessBoxOpen', $this.CustomerId, $this.ID)
},
guanlian(){
if (this.BusinessIDs.length < 1) {
return this.$message.error('青选择需要关联的商机!')
}
let str = ''
this.BusinessIDs.map((x, i)=>{
str = str + x + ','
})
this.msg.ContactIDs = this.ID
this.msg.BusinessIDs = str.substring(0, str.length - 1)
this.apipost('/api/Customer/SetBusinessContacts', this.msg, res=>{
if (res.data.resultCode == 1) {
this.guanlianBox = false
this.GetBusinessByContactID()
this.$message.success('操作成功');
} else {
this.$message.error(res.data.message);
}
})
},
jiechuguanlian(){
if(this.selectID.length < 1) {
return this.$message.error('请选择数据')
}
this.$confirm('确定解除关联?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
let str = ''
this.selectID.map((x, i)=>{
str = str + x + ','
})
let msg = {
BusinessIDs: str.substring(0, str.length - 1),
ContactID: this.ID
}
this.apipost('/api/Customer/DelBusinessContacts', msg, res=>{
if (res.data.resultCode == 1) {
this.selectID = []
this.GetBusinessByContactID()
this.$message.success('操作成功');
} else {
this.$message.error(res.data.message);
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消'
});
});
},
} }
} }
</script> </script>
\ No newline at end of file
...@@ -83,18 +83,6 @@ ...@@ -83,18 +83,6 @@
</el-col> </el-col>
</el-row> </el-row>
</el-col> </el-col>
<el-col :span="12">
<el-row>
<el-col :span="6" class="Details_box_lable">
手机:
</el-col>
<el-col :span="14">
{{detailsData.ContactNumber}}
</el-col>
</el-row>
</el-col>
</el-row>
<el-row :gutter="40" class="Details_box_row">
<el-col :span="12"> <el-col :span="12">
<el-row> <el-row>
<el-col :span="6" class="Details_box_lable"> <el-col :span="6" class="Details_box_lable">
...@@ -106,6 +94,9 @@ ...@@ -106,6 +94,9 @@
</el-row> </el-row>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="40" class="Details_box_row">
</el-row>
</div> </div>
<div class="Details_box"> <div class="Details_box">
<p class="tit" style="margin-top: 30px;">系统信息</p> <p class="tit" style="margin-top: 30px;">系统信息</p>
...@@ -113,48 +104,35 @@ ...@@ -113,48 +104,35 @@
<el-col :span="12"> <el-col :span="12">
<el-row> <el-row>
<el-col :span="6" class="Details_box_lable"> <el-col :span="6" class="Details_box_lable">
获取客户时间 创建人
</el-col> </el-col>
<el-col :span="14"> <el-col :span="14">
{{detailsData.PersonChargeTime}} {{detailsData.CreateByStr}}
</el-col> </el-col>
</el-row> </el-row>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-row> <el-row>
<el-col :span="6" class="Details_box_lable"> <el-col :span="6" class="Details_box_lable">
更新时间: 创建时间:
</el-col> </el-col>
<el-col :span="14"> <el-col :span="14">
{{detailsData.UpdateTime ? detailsData.UpdateTime.replace('T', ' ') : detailsData.UpdateTime}} {{detailsData.CreateTime ? detailsData.CreateTime : detailsData.CreateTime }}
</el-col> </el-col>
</el-row> </el-row>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="40" class="Details_box_row"> <el-row :gutter="40" class="Details_box_row">
<el-col :span="12"> <el-col :span="12">
<el-row> <el-row>
<el-col :span="6" class="Details_box_lable"> <el-col :span="6" class="Details_box_lable">
创建人: 更新时间:
</el-col>
<el-col :span="14">
{{detailsData.CreateByStr}}
</el-col>
</el-row>
</el-col>
<el-col :span="12">
<el-row>
<el-col :span="6" class="Details_box_lable">
创建时间:
</el-col> </el-col>
<el-col :span="14"> <el-col :span="14">
{{detailsData.CreateTime ? detailsData.CreateTime.replace('T', ' ') : detailsData.CreateTime }} {{detailsData.UpdateTime ? detailsData.UpdateTime : detailsData.UpdateTime}}
</el-col> </el-col>
</el-row> </el-row>
</el-col> </el-col>
</el-row>
<el-row :gutter="40" class="Details_box_row">
<el-col :span="12"> <el-col :span="12">
<el-row> <el-row>
<el-col :span="6" class="Details_box_lable"> <el-col :span="6" class="Details_box_lable">
...@@ -165,6 +143,8 @@ ...@@ -165,6 +143,8 @@
</el-col> </el-col>
</el-row> </el-row>
</el-col> </el-col>
</el-row>
<el-row :gutter="40" class="Details_box_row">
<el-col :span="12"> <el-col :span="12">
<el-row> <el-row>
<el-col :span="6" class="Details_box_lable"> <el-col :span="6" class="Details_box_lable">
......
...@@ -70,7 +70,7 @@ ...@@ -70,7 +70,7 @@
<div class="Record" id="Record"> <div class="Record" id="Record">
<div class="ha-cont" style="justify-content: flex-start; align-items: stretch;" v-for="(item, index) in logList" :key="index"> <div class="ha-cont" style="justify-content: flex-start; align-items: stretch;" v-for="(item, index) in logList" :key="index">
<div class="ha-circle"></div> <div class="ha-circle"></div>
<div class="ha-time">{{item.UpdateDate.replace('T', ' ')}}</div> <div class="ha-time">{{item.UpdateDate}}</div>
<!-- <div class="ha-name">admin</div> --> <!-- <div class="ha-name">admin</div> -->
<div class="ha-content"> <div class="ha-content">
<p data-v-0d9b8f7a="">{{item.LogInfo}}</p> <p data-v-0d9b8f7a="">{{item.LogInfo}}</p>
...@@ -82,7 +82,6 @@ ...@@ -82,7 +82,6 @@
</div> </div>
</div> </div>
</template> </template>
</template>
<script> <script>
export default { export default {
props: ['CustomerId'], props: ['CustomerId'],
...@@ -90,7 +89,7 @@ export default { ...@@ -90,7 +89,7 @@ export default {
return { return {
logList: [], logList: [],
msg: { msg: {
Type: 1, Type: 3,
pageIndex: 1, pageIndex: 1,
pageSize: 10, pageSize: 10,
SourceId: 0 SourceId: 0
......
...@@ -85,10 +85,10 @@ ...@@ -85,10 +85,10 @@
<div class="top-info"> <div class="top-info">
<el-row class="margin-bottom-25"> <el-row class="margin-bottom-25">
<el-col :span="12"> <el-col :span="12">
<span class="info-lable">客户级别:</span><span>{{detailsData.CustomerIdLevelStr}}</span> <span class="info-lable">职务:</span><span>{{detailsData.ContactDutyStr}}</span>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<span class="info-lable">成交状态:</span><span >已成交</span> <span class="info-lable">联系电话:</span><span >{{detailsData.ContactPhone}}</span>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
...@@ -96,26 +96,26 @@ ...@@ -96,26 +96,26 @@
<span class="info-lable">负责人:</span><span>{{detailsData.PersonChargeStr}}</span> <span class="info-lable">负责人:</span><span>{{detailsData.PersonChargeStr}}</span>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<span class="info-lable">更新时间:</span><span>{{detailsData.UpdateTime ? detailsData.UpdateTime.replace('T', ' ') : ''}}</span> <span class="info-lable">更新时间:</span><span>{{detailsData.UpdateTime ? detailsData.UpdateTime : ''}}</span>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
<div class="content"> <div class="content">
<el-tabs v-model="activeName" @tab-click="handleClick"> <el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="活动" name="1"> <el-tab-pane label="活动" name="1">
<Activity v-if="activeName === '1'" :CustomerId="CustomerId" /> <Activity v-if="activeName === '1'" :ContactId="ContactId" :CustomerId="CustomerId" />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="详细资料" name="2"> <el-tab-pane label="详细资料" name="2">
<Details v-if="activeName === '2'" :detailsData="detailsData"/> <Details v-if="activeName === '2'" :detailsData="detailsData"/>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="商机" name="5"> <el-tab-pane label="商机" name="5">
<Business /> <Business v-if="activeName === '5'" :ID="ContactId" :CustomerId="CustomerId"/>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="附件" name="8"> <el-tab-pane label="附件" name="8">
<Enclosure :ID='CustomerId' :type='3'/> <Enclosure :ID='ContactId' :type='3'/>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="操作记录" name="9"> <el-tab-pane label="操作记录" name="9">
<Record v-if="activeName === '9'" :CustomerId="CustomerId"/> <Record v-if="activeName === '9'" :CustomerId="ContactId"/>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
</div> </div>
...@@ -137,6 +137,10 @@ export default { ...@@ -137,6 +137,10 @@ export default {
Record Record
}, },
props:{ props:{
ContactId: {
type: Number,
default: 0
},
CustomerId: { CustomerId: {
type: Number, type: Number,
default: 0 default: 0
...@@ -149,12 +153,17 @@ export default { ...@@ -149,12 +153,17 @@ export default {
loading: false, loading: false,
}; };
},watch:{ },watch:{
CustomerId: { ContactId: {
handler(val, oldVal){ handler(val, oldVal){
this.init() this.init()
this.activeName = '1' this.activeName = '1'
}, },
deep:true deep:true
},
CustomerId: {
handler(val, oldVal){
},
deep:true
} }
}, },
mounted() { mounted() {
...@@ -167,7 +176,7 @@ export default { ...@@ -167,7 +176,7 @@ export default {
}, },
methods: { methods: {
init(){ init(){
this.apipost('/api/Customer/GetAllContactModel', {Id: this.CustomerId}, res=>{ this.apipost('/api/Customer/GetAllContactModel', {Id: this.ContactId}, res=>{
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
let data = res.data.data let data = res.data.data
this.detailsData = data this.detailsData = data
......
...@@ -217,7 +217,7 @@ ...@@ -217,7 +217,7 @@
:visible.sync="drawer2" :visible.sync="drawer2"
direction="rtl" direction="rtl"
:before-close="handleClose"> :before-close="handleClose">
<ContactsInfoBox :CustomerId="BusinessId" @transferS="transfer" @watersS="waters" @editCustbusiness="editCustbusiness"/> <ContactsInfoBox :ContactId="BusinessId" :CustomerId="BusinessIdCustomerId" @transferS="transfer" @watersS="waters" @editCustbusiness="editCustbusiness"/>
</el-drawer> </el-drawer>
<!-- 编辑客户 --> <!-- 编辑客户 -->
<div v-if="dialogCustomerVisible"> <div v-if="dialogCustomerVisible">
...@@ -510,7 +510,6 @@ export default { ...@@ -510,7 +510,6 @@ export default {
this.dialogCustomerVisible = true this.dialogCustomerVisible = true
}, },
openDetails2(scope){ openDetails2(scope){
console.log(scope.row)
this.BusinessId = scope.row.ID this.BusinessId = scope.row.ID
this.BusinessIdCustomerId = scope.row.CustomerId this.BusinessIdCustomerId = scope.row.CustomerId
this.drawer2 = true this.drawer2 = true
......
This diff is collapsed.
...@@ -713,7 +713,6 @@ export default { ...@@ -713,7 +713,6 @@ export default {
this.drawer = true this.drawer = true
this.CustomerId = scope.row.CustomerId this.CustomerId = scope.row.CustomerId
this.CustomerName = scope.row.CustomerName this.CustomerName = scope.row.CustomerName
this.drawer = true
}, },
handleSizeChange(val) { handleSizeChange(val) {
this.msg.pageSize = val this.msg.pageSize = val
......
<style>
.myClue{
height: 100%;
}
.myClue .title{
padding: 10px 20px;
font-size: 14px;
color: #333;
}
.title .iconfont{
display: inline-block;
font-size: 12px;
padding: 6px;
color: #fff;
margin-right: 10px;
}
.myClue .query-box{
padding: 15px 20px;
}
.myClue .title .tips{
cursor: pointer;
font-size: 12px;
color: white;
background-color: #cbcbcb;
display: inline-block;
width: 13px;
height: 13px;
border-radius: 50%;
text-align: center;
line-height: 13px;
margin-left: 5px;
}
</style>
<template>
<div class="myClue">
<div class="title">
<i class="iconfont iconxiansuo" style="background-color: rgb(112, 74, 253)"></i>
<span>分配给我的线索</span>
<el-tooltip class="item" effect="dark" content="转移之后未跟进的线索" placement="top">
<span class="tips">?</span>
</el-tooltip>
</div>
<div class="query-box">
<el-select size="mini" v-model="msg.ToDayContactType" @change="getList">
<el-option :key="1" label="待跟进" :value="1"> </el-option>
<el-option :key="2" label="已跟进" :value="2"> </el-option>
</el-select>
</div>
<div>
<el-table
v-loading="loading"
stripe
ref="multipleTable"
:data="dataList"
tooltip-effect="dark"
style="width: 100%"
row-class-name="font-size-12"
@selection-change="handleSelectionChange">
<el-table-column fixed type="selection" width="40"></el-table-column>
<el-table-column
prop="CustomerName"
label="线索名称"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="CustomerName"
label="线索来源"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="CustomerLevelStr"
label="客户级别"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="CustomerSourceTypeStr"
label="客户来源"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="Contact"
label="联系人"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="ContactNumber"
label="联系电话"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="NextContantTime"
label="下次联系时间"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="Remark"
label="备注"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="CreateTimestr"
label="创建时间"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="PersonChargeStr"
label="创建人"
show-overflow-tooltip>
</el-table-column>
</el-table>
</div>
</div>
</template>
<script>
export default {
data(){
return {
msg: {
ToDayContactType: 1,
pageIndex: 1,
pageSize: 15
},
dataList: [],
loading: false,
selectID: []
}
},
mounted() {
this.getList()
},
methods: {
handleSelectionChange(val) {
this.selectID = val.map(x=>
x.ID
)
},
getList(){
this.loading = true
this.apipost('/api/CustomerAgency/GetFollowUpCluePageList', this.msg, res=>{
if (res.data.resultCode == 1) {
this.loading = false
this.dataList = res.data.data.pageData
} else {
this.loading = false
}
})
}
}
}
</script>
\ No newline at end of file
<style>
.myCustomer{
height: 100%;
}
.myCustomer .title{
padding: 10px 20px;
font-size: 14px;
color: #333;
}
.myCustomer .title .iconfont{
display: inline-block;
font-size: 12px;
padding: 6px;
color: #fff;
margin-right: 10px;
}
.myCustomer .query-box{
padding: 15px 20px;
}
.myCustomer .title .tips{
cursor: pointer;
font-size: 12px;
color: white;
background-color: #cbcbcb;
display: inline-block;
width: 13px;
height: 13px;
border-radius: 50%;
text-align: center;
line-height: 13px;
margin-left: 5px;
}
</style>
<template>
<div class="myCustomer">
<div class="title">
<i class="iconfont iconkehu" style="background-color: rgb(25, 181, 246)"></i>
<span>分配给我的客户</span>
<el-tooltip class="item" effect="dark" content="转移、领取、分配之后未跟进的客户,默认显示自己负责的客户" placement="top">
<span class="tips">?</span>
</el-tooltip>
</div>
<div class="query-box">
<el-select size="mini" v-model="msg.ToDayContactType" @change="getList">
<el-option :key="1" label="待跟进" :value="1"> </el-option>
<el-option :key="2" label="已跟进" :value="2"> </el-option>
</el-select>
</div>
<div>
<el-table
v-loading="loading"
stripe
ref="multipleTable"
:data="dataList"
tooltip-effect="dark"
style="width: 100%"
row-class-name="font-size-12"
@selection-change="handleSelectionChange">
<el-table-column fixed type="selection" width="40"></el-table-column>
<el-table-column
prop="CustomerName"
label="客户名称"
show-overflow-tooltip>
<template slot-scope="scope">
<p @click="openDetails(scope)" class="font-color-link cp">{{scope.row.CustomerName}}</p>
</template>
</el-table-column>
<el-table-column
prop="CustomerLevelStr"
label="客户级别"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="CustomerSourceTypeStr"
label="客户来源"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="Contact"
label="联系人"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="ContactNumber"
label="联系电话"
show-overflow-tooltip>
</el-table-column>
</el-table>
</div>
</div>
</template>
<script>
export default {
data(){
return {
msg: {
ToDayContactType: 1,
pageIndex: 1,
pageSize: 15
},
dataList: [],
loading: false,
selectID: []
}
},
mounted() {
this.getList()
},
methods: {
openDetails(scope){
this.MsgBus.$emit('openCustomerWin', scope.row)
},
handleSelectionChange(val) {
this.selectID = val.map(x=>
x.ID
)
},
getList(){
this.loading = true
this.apipost('/api/CustomerAgency/GetFollowUpPageList', this.msg, res=>{
if (res.data.resultCode == 1) {
this.loading = false
this.dataList = res.data.data.pageData
} else {
this.loading = false
}
})
}
}
}
</script>
\ No newline at end of file
<style>
.todayCustomer{
height: 100%;
}
.todayCustomer .title{
padding: 10px 20px;
font-size: 14px;
color: #333;
}
.title .iconfont{
display: inline-block;
font-size: 12px;
padding: 6px;
color: #fff;
margin-right: 10px;
}
.todayCustomer .query-box{
padding: 15px 20px;
}
.todayCustomer .title .tips{
cursor: pointer;
font-size: 12px;
color: white;
background-color: #cbcbcb;
display: inline-block;
width: 13px;
height: 13px;
border-radius: 50%;
text-align: center;
line-height: 13px;
margin-left: 5px;
}
</style>
<template>
<div class="todayCustomer">
<div class="title">
<i class="iconfont iconcompany" style="background-color: rgb(35, 98, 251)"></i>
<span>今日需联系客户</span>
<el-tooltip class="item" effect="dark" content="下次跟进时间为今日的客户" placement="top">
<span class="tips">?</span>
</el-tooltip>
</div>
<div class="query-box">
<el-select size="mini" v-model="msg.ToDayContactType" @change="getList">
<el-option :key="1" label="今日需联系的" :value="1"> </el-option>
<el-option :key="2" label="已逾期" :value="2"> </el-option>
<el-option :key="3" label="已联系" :value="3"> </el-option>
</el-select>
<el-select size="mini" v-model="msg.WhereType" style="width: 120px;margin-left: 10px;" @change="getList">
<el-option :key="1" label="我的" :value="1"> </el-option>
<el-option :key="2" label="下属的" :value="2"> </el-option>
</el-select>
</div>
<div>
<el-table
v-loading="loading"
stripe
ref="multipleTable"
:data="dataList"
tooltip-effect="dark"
style="width: 100%"
row-class-name="font-size-12">
<el-table-column
prop="CustomerName"
label="客户名称"
show-overflow-tooltip>
<template slot-scope="scope">
<p @click="openDetails(scope)" class="font-color-link cp">{{scope.row.CustomerName}}</p>
</template>
</el-table-column>
<el-table-column
prop="CustomerLevelStr"
label="客户级别"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="CustomerSourceTypeStr"
label="客户来源"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="Contact"
label="联系人"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="ContactNumber"
label="联系电话"
show-overflow-tooltip>
</el-table-column>
</el-table>
</div>
</div>
</template>
<script>
export default {
data(){
return {
msg: {
ToDayContactType: 1,
WhereType: 1,
pageIndex: 1,
pageSize: 15
},
dataList: [],
loading: false
}
},
mounted() {
this.getList()
},
methods: {
openDetails(scope){
this.MsgBus.$emit('openCustomerWin', scope.row)
},
getList(){
this.loading = true
this.apipost('/api/CustomerAgency/GetToDayContactPageList', this.msg, res=>{
if (res.data.resultCode == 1) {
this.loading = false
this.dataList = res.data.data.pageData
} else {
this.loading = false
}
})
}
}
}
</script>
\ No newline at end of file
<style>
.waitMatter{
height: 100%;
}
.waitMatter h1{
font-weight: bold;
font-size: 18px;
padding-bottom: 10px;
}
.waitMatter .waitMatter-main{
position: relative;
height: calc(100% - 50px);
}
.waitMatter .waitMatter-main .left{
padding: 20px 0;
width: 200px;
font-size: 14px;
background-color: #fff;
position: absolute;
top: 0;
left: 0;
bottom: 0;
z-index: 1;
border: 1px solid #e6e6e6;
overflow-y: auto;
}
.waitMatter .waitMatter-main .right{
margin-left: 210px;
height: 100%;
overflow: hidden;
background-color: #fff;
border: 1px solid #e6e6e6;
}
.waitMatter .waitMatter-main .left .item{
padding: 12px 20px;
position: relative;
cursor: pointer;
}
.waitMatter .waitMatter-main .left .item.active, .waitMatter .waitMatter-main .left .item:hover{
background-color: #f6f8fa;
}
.waitMatter .waitMatter-main .left .item::before{
content: " ";
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 2px;
background-color: #2362fb;
opacity: 0;
}
.waitMatter .waitMatter-main .left .item.active::before{
opacity: 1;
}
.waitMatter .waitMatter-main .left .iconfont{
display: inline-block;
font-size: 12px;
padding: 6px;
color: #fff;
}
.waitMatter .waitMatter-main .left .lable{
color: #333;
font-size: 13px;
margin-left: 10px;
}
</style>
<template>
<div class="waitMatter">
<h1>待办事项</h1>
<div class="waitMatter-main">
<div class="left">
<div v-for="(item, index) in menuList" :key="index" @click="changeMenuList(item, index)" class="item" :class="[index === activeIndex ? 'active' : '']"><i :class="item.class" :style="item.style"></i><span class="lable">{{item.text}}</span></div>
</div>
<div class="right">
<todayCustomer v-if="activeIndex === 0" />
<myClue v-if="activeIndex === 1" />
<myCustomer v-if="activeIndex === 2" />
</div>
</div>
</div>
</template>
<script>
import todayCustomer from "./todayCustomer";
import myClue from "./myClue";
import myCustomer from "./myCustomer";
export default {
components: {
todayCustomer,
myClue,
myCustomer
},
data(){
return {
activeIndex: 0,
menuList: [
{
text: '今日需联系客户',
class: 'iconfont iconcompany',
style: 'background-color: rgb(35, 98, 251);'
},{
text: '分配给我的线索',
class: 'iconfont iconxiansuo',
style: 'background-color: rgb(112, 74, 253);'
},{
text: '分配给我的客户',
class: 'iconfont iconkehu',
style: 'background-color: rgb(25, 181, 246);'
},{
text: '待审核合同',
class: 'iconfont iconcompany',
style: 'background-color: rgb(253, 91, 74);'
},{
text: '待审核回款',
class: 'iconfont iconcompany',
style: 'background-color: rgb(255, 185, 64);'
},{
text: '待回款提醒',
class: 'iconfont iconcompany',
style: 'background-color: rgb(255, 122, 56);'
},{
text: '即将到期的合同',
class: 'iconfont iconcompany',
style: 'background-color: rgb(35, 98, 251);'
},
]
}
},
mounted() {
},
methods: {
changeMenuList(item, index){
this.activeIndex = index
},
}
}
</script>
\ No newline at end of file
This diff is collapsed.
...@@ -8,6 +8,8 @@ import customerManageDemo from "./components/customerManage/customerManageDemo" ...@@ -8,6 +8,8 @@ import customerManageDemo from "./components/customerManage/customerManageDemo"
import businessManagement from "./components/businessManagement/businessManagement" import businessManagement from "./components/businessManagement/businessManagement"
import clueManagement from "./components/clueManagement/clueManagement" import clueManagement from "./components/clueManagement/clueManagement"
import contactsManagement from "./components/contactsManagement/contactsManagement" import contactsManagement from "./components/contactsManagement/contactsManagement"
import watersManagement from "./components/watersManagement/watersManagement"
import waitMatter from "./components/waitMatter/waitMatter"
Vue.use(Router); Vue.use(Router);
export default new Router({ export default new Router({
...@@ -91,6 +93,22 @@ export default new Router({ ...@@ -91,6 +93,22 @@ export default new Router({
meta: { meta: {
title: "联系人管理" title: "联系人管理"
} }
},
{
path: "/watersManagement",
name: "watersManagement",
component: watersManagement,
meta: {
title: "公海管理"
}
},
{
path: "/waitMatter",
name: "waitMatter",
component: waitMatter,
meta: {
title: "待办事项"
}
} }
] ]
}, },
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
} }
.template-div{ .template-div{
position: absolute; position: absolute;
top: 90px; top: 80px;
left: 0; left: 0;
right: 0; right: 0;
bottom: 0; bottom: 0;
...@@ -54,6 +54,14 @@ ...@@ -54,6 +54,14 @@
box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.2); box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.2);
background: #555; background: #555;
} }
.main .el-tag.el-tag--info{
background-color: rgba(0,0,0,0);
border-color: rgba(0,0,0,0);
display: inline-block;
white-space: nowrap;
overflow: hidden;
text-overflow:ellipsis;
}
</style> </style>
<template> <template>
<div class="main"> <div class="main">
...@@ -68,23 +76,194 @@ ...@@ -68,23 +76,194 @@
<router-view/> <router-view/>
</div> </div>
</div> </div>
<!-- 添加商机弹窗 -->
<div v-if="dialogBusinessVisible">
<addBusinessBox name="新建商机" :ID="0" :CustomerId="CustomerId" :ContactId="ContactId" type="1"/>
</div>
<!-- 客户信息抽屉 -->
<el-drawer
:with-header="false"
size='70%'
:visible.sync="drawer"
direction="rtl"
:before-close="handleClose">
<customerInfoBox :CustomerId="CustomerId" @transferS="transfer" @watersS="waters" @editCustS="editCust"/>
</el-drawer>
<el-dialog :visible.sync="transferVisible" :close-on-click-modal="false" width="450px" custom-class="transfer-box add-box add-box2">
<div class="add-tit" slot="title">
<p><span></span>移交联系人</p>
<span icon="el-icon-close"></span>
</div>
<el-form :model="transferMsg" ref="form" class="MyEditForm" >
<div class="MyEditForm-item">
<el-form-item label="变更负责人为" class="label-pad-left">
<el-select
filterable
v-model="transferMsg.EmpId" placeholder="请选择">
<el-option
v-for="item in EmployeeList"
:label='item.EmName'
:value='item.EmployeeId'
:key='item.EmployeeId'>
</el-option>
</el-select>
</el-form-item>
</div>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" class="add-box-btn" @click="transfer(2)">确 定</el-button>
<el-button class="add-box-btn add-box-cancel" @click="transferVisible = false">取 消</el-button>
</div>
</el-dialog>
<!-- 编辑客户 -->
<div v-if="dialogCustomerVisible">
<customerDialogBox :name="dialogTableVisibleName" :CustomerId="CustomerId"/>
</div>
</div> </div>
</template> </template>
<script> <script>
import HomeNavLeft from '../components/HomeNav/HomeNavLeft' import HomeNavLeft from '../components/HomeNav/HomeNavLeft'
import HomeNavTop from '../components/HomeNav/HomeNavTop' import HomeNavTop from '../components/HomeNav/HomeNavTop'
import addBusinessBox from "../components/businessManagement/addBusinessBox";
import customerDialogBox from "../components/dialogModel/customerDialogBox";
import customerInfoBox from "../components/assembly/customerInfoBox";
export default { export default {
components: {HomeNavLeft, HomeNavTop}, components: {HomeNavLeft, HomeNavTop, addBusinessBox, customerDialogBox, customerInfoBox},
data () { data () {
return { return {
dialogBusinessVisible: false,
CustomerId: 0,
ContactId: 0,
drawer: false,
CustomerId: 0,
CustomerName: '',
transferVisible: false,
EmployeeList: [],
dialogCustomerVisible: false,
dialogTableVisibleName: '新增客户',
transferMsg: {
ContactIds: [],
EmpId: '',
},
businessIdsArr: [],
multipleSelection: []
} }
}, },
mounted () { mounted () {
this.userInfo = this.getLocalStorage();
this.Employee()
let $this= this
this.MsgBus.$on('openCustomerWin', function (row) {
$this.CustomerId = row.CustomerId
$this.CustomerName = row.CustomerName
$this.drawer = true
})
this.MsgBus.$on('addBusinessBoxOpen', function(CustomerId, ContactId){
$this.CustomerId = CustomerId
$this.ContactId = ContactId
$this.dialogBusinessVisible = true
})
this.MsgBus.$on('closeBusinessDialogBox', function (){
$this.dialogBusinessVisible = false
})
this.MsgBus.$on('closeCustomerDialogBox', function (){
$this.dialogCustomerVisible = false
})
}, },
methods: { methods: {
editCust(){
this.dialogTableVisibleName = '修改客户'
this.dialogCustomerVisible = true
},
Employee(){
let msg = {
RB_Group_id: this.userInfo.RB_Group_id,
BranchId:-1,
DepartmentId:0,
PostId:0,
IsLeave:0,
}
this.apipost2(
"admin_get_EmployeeGetList",
this.msg,
res => {
if (res.data.resultCode == 1) {
this.EmployeeList = res.data.data;
} else {
}
},
err => {}
);
},
handleClose(done) {
done();
},
// 放入公海
waters(type){
let tips = '是否放入公海?'
if(type === 1) {
tips = '是否把客户“'+ this.CustomerName + '”放入公海?'
this.multipleSelection.push(this.CustomerId)
}
this.$confirm(tips, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
let str = ''
this.multipleSelection.map((x, i)=>{
str = str + x + ','
})
this.apipost('/api/Customer/RemoveMyCustomer', {CustomerIds: str.substring(0, str.length - 1)}, res=>{
if (res.data.resultCode == 1) {
if (type === 1) {} {
this.drawer = false
}
this.multipleSelection = []
this.$message.success(res.data.message);
this.getList()
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消'
});
});
},
// 转移
transfer(type){
if (type !== 2) {
if (type === 3) {
this.businessIdsArr.push(this.CustomerId)
}
this.transferVisible = true
} else {
if (this.transferMsg.EmpId === '') {
return this.$message.error('请选择变更负责人!')
}
let str = ''
this.businessIdsArr.map((x, i)=>{
str = str + x + ','
})
this.transferMsg.ContactIds = str.substring(0, str.length - 1)
this.apipost('/api/Customer/TransferCustomerContact', this.transferMsg, res=>{
if (res.data.resultCode == 1) {
this.businessIdsArr = []
this.transferVisible = false
if (type === 3) {} {
this.drawer = false
}
this.$message.success(res.data.message);
this.getList()
this.transferMsg = {
ContactIds: [],
EmpId: '',
}
}
})
}
},
} }
} }
......
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