Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
CRM
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
华国豪
CRM
Commits
306f707d
Commit
306f707d
authored
May 18, 2022
by
zhengke
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
8fbf42af
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
741 additions
and
0 deletions
+741
-0
clueComponent.vue
src/components/clueManagement/clueComponent.vue
+741
-0
No files found.
src/components/clueManagement/clueComponent.vue
0 → 100644
View file @
306f707d
<
style
>
@import
'../../assets/css/customerManage.css'
;
.el-table__fixed-body-wrapper
table
{
padding-bottom
:
8px
!important
;
}
</
style
>
<
template
>
<div
class=
"customerManage"
>
<div
class=
"tools"
>
<div
class=
"tools-item"
>
<h1>
线索管理
</h1>
</div>
<template
v-if=
"!isDrawer"
>
<div
style=
"width: 340px;"
>
<el-input
placeholder=
"请输入线索名称/手机"
v-model=
"CustomerTypeText"
class=
"input-with-select"
>
<el-button
slot=
"append"
icon=
"el-icon-search"
@
click=
"getList"
></el-button>
</el-input>
</div>
<div
class=
"rightmenu"
>
<el-dropdown
@
command=
"handleCommand"
>
<el-button
icon=
"el-icon-plus"
class=
"crm-btn org-btn"
>
新建线索
</el-button>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
command=
"1"
><i
class=
"iconfont iconkehu"
></i>
客户线索
</el-dropdown-item>
<el-dropdown-item
command=
"2"
><i
class=
"iconfont icontongxunlu"
></i>
直客线索
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-dropdown
@
command=
"handleCommand"
>
<el-button
class=
"crm-btn crm-btn-more easy-btn margin-right0"
>
<i
class=
"iconfont icongengduo"
></i>
</el-button>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
command=
"3"
><i
class=
"iconfont icondaoru"
></i>
导入客户线索
</el-dropdown-item>
<el-dropdown-item
command=
"4"
><i
class=
"iconfont icondaoru"
></i>
导入直客线索
</el-dropdown-item>
<!--
<el-dropdown-item><i
class=
"iconfont icondaochu"
></i>
导出
</el-dropdown-item>
-->
</el-dropdown-menu>
</el-dropdown>
</div>
</
template
>
</div>
<div
v-if=
"!isDrawer"
class=
"query-box"
:style=
"{'padding-bottom': sceneList.length > 0 ? '0px' : '10px'}"
>
<el-row
v-if=
"!multipleSelection.length"
:gutter=
"30"
>
<el-col
:span=
"4"
>
<span
class=
"font-size-12"
style=
"padding-right: 10px"
>
场景
</span>
<el-popover
placement=
"bottom"
width=
"180"
popper-class=
"popover-class"
v-model=
"visible"
trigger=
"click"
>
<div
data-v-16d669bb=
""
class=
"scene-container"
>
<div
class=
"scene-list"
>
<div
class=
"scene-list-item"
:class=
"{'scene-list-item-select': sceneID === item.ID}"
v-for=
"(item, index) in SceneEmployeeList"
:key=
"index"
@
click=
"changeWhere(item)"
>
{{item.SceneName}}
</div>
</div>
<div
class=
"handle-interval"
>
<div
class=
"vux-flexbox handle-button vux-flex-row"
@
click=
"MsgBus.$emit('sceneBoxShow', 4, 1)"
>
<i
class=
"el-icon-circle-plus-outline handle-button-icon"
></i>
<div
class=
"handle-button-name"
>
新建场景
</div>
</div>
<div
class=
"vux-flexbox handle-button vux-flex-row"
@
click=
"MsgBus.$emit('sceneEditBoxShow', 4, SceneEmployeeList)"
>
<i
class=
"el-icon-setting handle-button-icon"
></i>
<div
class=
"handle-button-name"
>
管理
</div>
</div>
</div>
</div>
<el-select
size=
"mini"
popper-class=
"select-no"
slot=
"reference"
v-model=
"msg.ID"
placeholder=
"请选择"
>
<el-option
v-for=
"item in SceneEmployeeList"
:key=
"item.ID"
:label=
"item.SceneName"
:value=
"item.ID"
>
</el-option>
</el-select>
</el-popover>
</el-col>
<el-col
:span=
"4"
>
<span
class=
"font-size-12"
style=
"padding-right: 10px"
>
客户类型
</span>
<el-select
size=
"mini"
v-model=
"msg.CustomerType"
placeholder=
"请选择"
@
change=
"getList"
>
<el-option
key=
"0"
label=
"客户"
:value=
"0"
></el-option>
<el-option
key=
"1"
label=
"直客"
:value=
"1"
></el-option>
</el-select>
</el-col>
<el-col
:span=
"4"
>
<el-button
icon=
"iconfont iconshaixuan"
class=
"crm-btn query-btn crm-btn-mini margin-right0"
@
click=
"MsgBus.$emit('sceneBoxShow', 4)"
>
高级筛选
</el-button>
</el-col>
</el-row>
<div
v-else
class=
"flex-center"
>
<p
class=
"font-size-12"
>
已选
<span
class=
"font-color-link"
>
{{multipleSelection.length}}
</span>
项
</p>
<div
class=
"selection-box"
>
<el-button
v-for=
"(item, index) in selectionList"
:key=
"index"
@
click=
"item.myFun"
><i
:class=
"item.class"
></i>
{{item.name}}
</el-button>
</div>
</div>
<div
class=
"scene-wrapper"
v-if=
"sceneList.length > 0"
>
<ul
class=
"list"
>
<li
class=
"list-item"
v-for=
"(item, index) in sceneList"
:key=
"index"
>
<span
v-if=
"item.formType !== 'datetime'"
>
{{item.str}}
{{item.regionStr}}“{{item.nameFC ? item.nameFC : item.value}}”
</span>
<span
v-else
>
{{item.str}}
“{{item.start}}-{{item.end}}”
</span>
<i
class=
"el-icon-close icon"
@
click=
"deleteScene(index)"
></i>
</li>
</ul>
</div>
</div>
<div
class=
"page-content"
>
<el-table
v-if=
"loading"
v-loading=
"true"
:data=
"[]"
>
<el-table-column
v-for=
"(item, index) in queryType2"
:key=
"index"
:label=
"item.label"
>
</el-table-column>
</el-table>
<el-table
v-if=
"!loading"
ref=
"multipleTable"
:data=
"tableData"
tooltip-effect=
"dark"
style=
"width: 100%"
:height=
"sceneList.length > 0 ? '600' : '660'"
border
row-class-name=
"font-size-12"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
fixed
type=
"selection"
width=
"40"
></el-table-column>
<el-table-column
prop=
"ClueState"
label=
"线索状态"
show-overflow-tooltip
width=
"80"
>
<
template
slot-scope=
"scope"
>
<template
v-if=
"scope.row.ClueState==1"
>
正常
</
template
>
<
template
v-else-if=
"scope.row.ClueState==2"
>
无效
</
template
>
</template>
</el-table-column>
<el-table-column
prop=
"ClueName"
label=
"线索名称"
v-if=
"queryType[0].show"
show-overflow-tooltip
>
<
template
slot-scope=
"scope"
>
<p
@
click=
"openDetails(scope)"
class=
"font-color-link cp"
>
{{
msg
.
CustomerType
===
1
?
scope
.
row
.
ClueName
:
scope
.
row
.
CustomerName
}}
</p>
</
template
>
</el-table-column>
<el-table-column
prop=
"CustomerSourceTypeStr"
label=
"线索来源"
v-if=
"queryType[1].show"
show-overflow-tooltip
width=
"80"
>
</el-table-column>
<!--CustomerSource其他的来源 -->
<el-table-column
prop=
"SourceAccountName"
label=
"来源细分"
v-if=
"queryType[2].show && msg.CustomerType === 1"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop=
"ClueDemand"
label=
"需求"
v-if=
"queryType[3].show && msg.CustomerType === 1"
show-overflow-tooltip
width=
"260"
>
</el-table-column>
<el-table-column
prop=
"CustomerLevelStr"
label=
"客户级别"
sortable
width=
"100"
v-if=
"queryType[4].show && msg.CustomerType === 0"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop=
"Contact"
label=
"联系人"
v-if=
"queryType[5].show&&msg.CustomerType!=1"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop=
"CustomerName"
label=
"联系人"
v-if=
"queryType[5].show&&msg.CustomerType===1"
show-overflow-tooltip
width=
"100"
>
</el-table-column>
<el-table-column
prop=
"ContactNumber"
label=
"联系电话"
sortable
v-if=
"queryType[6].show"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop=
"WeChatNo"
label=
"微信号"
sortable
v-if=
"queryType[7].show && msg.CustomerType === 1"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop=
"PersonChargeStr"
label=
"负责人"
sortable
v-if=
"queryType[8].show && msg.CustomerType === 1"
show-overflow-tooltip
width=
"90"
>
</el-table-column>
<el-table-column
prop=
"CreateByStr"
label=
"创建人"
sortable
v-if=
"queryType[9].show"
show-overflow-tooltip
width=
"90"
>
</el-table-column>
<el-table-column
prop=
"UpdateTime"
label=
"上次更新时间"
sortable
v-if=
"queryType[10].show"
show-overflow-tooltip
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
UpdateTime
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"CreateTimestr"
label=
"创建时间"
sortable
v-if=
"queryType[11].show"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop=
"IsCarefor"
fixed=
"right"
width=
"50"
label=
"关注"
>
<
template
slot-scope=
"scope"
>
<p>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"关注"
placement=
"top"
>
<i
v-if=
"scope.row.IsCarefor === 0"
@
click=
"CareforCustomer(scope)"
class=
"iconfont iconwujiaoxing cp"
></i>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"取消关注"
placement=
"top"
>
<i
v-if=
"scope.row.IsCarefor === 1"
@
click=
"CareforCustomer(scope)"
class=
"iconfont iconstar_full cp"
></i>
</el-tooltip>
</p>
</
template
>
</el-table-column>
<el-table-column
width=
"40"
fixed=
"right"
>
<
template
slot=
"header"
slot-scope=
"scope"
>
<el-popover
placement=
"bottom"
width=
"240"
>
<mySelect
:queryType=
"queryType"
@
listenTochildEvent=
"showMessageFromChild"
/>
<i
class=
"el-icon-s-operation cp"
slot=
"reference"
></i>
</el-popover>
</
template
>
</el-table-column>
</el-table>
</div>
<div>
<el-pagination
class=
"Mypagination"
background
@
current-change=
"handleCurrentChange"
:page-sizes=
"[30, 60, 90, 100]"
:page-size=
"msg.pageSize"
layout=
"total, sizes, prev, pager, next"
@
size-change=
"handleSizeChange"
:total=
"total"
>
</el-pagination>
</div>
<el-drawer
:with-header=
"false"
size=
'70%'
:visible
.
sync=
"isShowCustomerInfo"
direction=
"rtl"
:before-close=
"handleClose"
>
<customerInfoBox
:CustomerId=
"CustomerId"
@
transferS=
"transfer"
@
deleteClue=
"deleteClue"
@
watersS=
"waters"
@
editCustS=
"editCust"
@
getList=
"getList"
/>
</el-drawer>
<el-drawer
:with-header=
"false"
size=
'70%'
:visible
.
sync=
"isShowGuestInfo"
direction=
"rtl"
:before-close=
"handleClose"
>
<guestInfoBox
:CustomerId=
"CustomerId"
@
transferS=
"transfer"
@
deleteClue=
"deleteClue"
@
watersS=
"waters"
@
editCustS=
"editCust"
@
getList=
"getList"
/>
</el-drawer>
<div
v-if=
"dialogTableVisible"
>
<customerDialogBox
@
getList=
"getList"
:name=
"dialogTableVisibleName"
:CustomerId=
"CustomerId"
/>
</div>
<div
v-if=
"guestDialogBoxShow"
>
<guestDialogBox
@
getList=
"getList"
:name=
"dialogTableVisibleName"
:CustomerId=
"CustomerId"
/>
</div>
<!--显示导入弹窗-->
<div
v-if=
"isShowImport"
>
<importDialogBox
@
getList=
"getList"
:importType=
"importType"
/>
</div>
<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>
</template>
<
script
>
import
mySelect
from
"../dialogModel/select"
;
import
customerInfoBox
from
"./customerInfoBox"
;
import
customerDialogBox
from
"./customerDialogBox"
;
import
guestDialogBox
from
"./guestDialogBox"
;
import
guestInfoBox
from
"./guestInfoBox"
;
import
importDialogBox
from
"./importDialogBox"
;
export
default
{
props
:{
isDrawer
:{
type
:
Boolean
,
default
:
false
,
},
queryTime
:{
type
:
String
,
default
:
null
}
},
watch
:
{
queryTime
:
{
handler
(
val
,
oldVal
)
{
this
.
queryTime
=
val
;
this
.
getList
()
},
deep
:
true
,
}
},
components
:
{
mySelect
,
customerInfoBox
,
customerDialogBox
,
guestDialogBox
,
guestInfoBox
,
importDialogBox
,
},
data
()
{
return
{
ruleList
:
[],
guestDialogBoxShow
:
false
,
isShowGuestInfo
:
false
,
//是否显示直客弹窗
activeMenu
:
1
,
queryType2
:
[{
label
:
'线索名称'
,
show
:
true
,
},
{
label
:
'线索来源'
,
show
:
true
,
},
{
label
:
'来源细分'
,
show
:
true
,
},
{
label
:
'需求'
,
show
:
true
,
},
{
label
:
'客户级别'
,
show
:
true
,
},
{
label
:
'联系人'
,
show
:
true
,
},
{
label
:
'联系电话'
,
show
:
true
,
},
{
label
:
'微信'
,
show
:
true
,
},
{
label
:
'负责人'
,
show
:
true
,
},
{
label
:
'创建人'
,
show
:
true
,
},
{
label
:
'上次更新时间'
,
show
:
true
,
},
{
label
:
'创建时间'
,
show
:
true
,
}],
queryType
:
[{
label
:
'线索名称'
,
show
:
true
,
},
{
label
:
'线索来源'
,
show
:
true
,
},
{
label
:
'来源细分'
,
show
:
true
,
},
{
label
:
'需求'
,
show
:
true
,
},
{
label
:
'客户级别'
,
show
:
true
,
},
{
label
:
'联系人'
,
show
:
true
,
},
{
label
:
'联系电话'
,
show
:
true
,
},
{
label
:
'微信'
,
show
:
true
,
},
{
label
:
'负责人'
,
show
:
true
,
},
{
label
:
'创建人'
,
show
:
true
,
},
{
label
:
'上次更新时间'
,
show
:
true
,
},
{
label
:
'创建时间'
,
show
:
true
,
}],
CustomerId
:
0
,
CustomerIdStr
:
''
,
transferVisible
:
false
,
mySelectCtrl
:
false
,
isShowCustomerInfo
:
false
,
//是否显示客户弹窗
loading
:
true
,
dialogTableVisible
:
false
,
dialogTableVisibleName
:
'新建线索'
,
tableData
:
[],
multipleSelection
:
[],
EmployeeList
:
[],
value
:
''
,
userInfo
:
{},
transferMsg
:
{
CustomerIds
:
[],
EmpId
:
''
,
},
CustomerTypeText
:
""
,
// 线索名称搜索
msg
:
{
KeyWord
:
''
,
CustomerName
:
''
,
Contact
:
''
,
pageIndex
:
1
,
pageSize
:
30
,
ContactNumber
:
''
,
WhereType
:
-
1
,
OrderBy
:
''
,
CustomerType
:
1
,
ID
:
33
,
},
total
:
0
,
selectionList
:
[{
name
:
'转移'
,
class
:
'iconfont iconplus-transfer'
,
myFun
:
this
.
transfer
},
{
name
:
'转化为客户'
,
class
:
'iconfont iconplus-transfer'
,
myFun
:
this
.
waters
},
{
name
:
'删除'
,
class
:
'iconfont icondelete'
,
myFun
:
this
.
deleteClue
}],
sceneList
:
[],
SceneEmployeeList
:
[],
sceneID
:
33
,
visible
:
false
,
isShowImport
:
false
,
//是否显示导入弹窗
importType
:
1
,
//导入文件类型(1-客户导入,2-直客导入)
};
},
mounted
()
{
this
.
userInfo
=
this
.
getLocalStorage
();
this
.
getList
()
this
.
Employee
()
let
$this
=
this
this
.
MsgBus
.
$on
(
'closeCustomerDialogBox'
,
function
()
{
$this
.
dialogTableVisible
=
false
;
$this
.
guestDialogBoxShow
=
false
;
$this
.
isShowImport
=
false
;
})
this
.
GetSceneEmployeeList
()
this
.
MsgBus
.
$on
(
'sceneSave'
,
function
(
msg
)
{
$this
.
sceneList
=
[...
msg
]
$this
.
GetSceneEmployeeList
()
let
obj
=
{}
msg
.
forEach
(
element
=>
{
obj
[
element
.
name
]
=
element
});
$this
.
msg
.
Data
=
obj
$this
.
getList
()
})
this
.
MsgBus
.
$on
(
'editScene'
,
function
()
{
$this
.
GetSceneEmployeeList
()
})
},
beforeDestroy
()
{
this
.
MsgBus
.
$off
(
'sceneSave'
);
this
.
MsgBus
.
$off
(
'editScene'
);
},
methods
:
{
changeWhere
(
item
)
{
this
.
msg
.
ID
=
item
.
ID
this
.
sceneID
=
item
.
ID
this
.
msg
.
Data
=
item
.
WhereData
?
JSON
.
parse
(
item
.
WhereData
)
:
{}
this
.
msg
.
WhereType
=
item
.
WhereType
this
.
visible
=
false
this
.
getList
()
},
GetSceneEmployeeList
()
{
this
.
apipost
(
'/api/Scene/GetSceneEmployeeList'
,
{
LableType
:
4
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
SceneEmployeeList
=
res
.
data
.
data
}
})
},
deleteScene
(
index
)
{
this
.
sceneList
.
splice
(
index
,
1
)
let
obj
=
{}
this
.
sceneList
.
forEach
(
element
=>
{
obj
[
element
.
name
]
=
element
});
this
.
msg
.
Data
=
obj
this
.
getList
()
},
handleCommand
(
command
)
{
this
.
CustomerId
=
0
if
(
command
===
'1'
)
{
this
.
dialogTableVisibleName
=
'新建线索'
this
.
dialogTableVisible
=
true
}
else
if
(
command
===
'2'
)
{
this
.
guestDialogBoxShow
=
true
}
else
if
(
command
===
'3'
)
{
this
.
importType
=
1
;
this
.
isShowImport
=
true
;
}
else
if
(
command
===
'4'
)
{
this
.
importType
=
2
;
this
.
isShowImport
=
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
=>
{}
);
},
//删除
deleteClue
(
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/DelCustomerClue'
,
{
CustomerIds
:
str
.
substring
(
0
,
str
.
length
-
1
)
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
type
===
1
)
{}
{
this
.
isShowCustomerInfo
=
false
this
.
isShowGuestInfo
=
false
}
this
.
multipleSelection
=
[]
this
.
$message
.
success
(
res
.
data
.
message
);
this
.
getList
()
}
})
}).
catch
(()
=>
{
this
.
$message
({
type
:
'info'
,
message
:
'已取消'
});
});
},
//导出
export
()
{
},
//转换为客户
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
+
','
})
let
msg
=
{
CustomerIds
:
str
.
substring
(
0
,
str
.
length
-
1
),
CustomerType
:
this
.
msg
.
CustomerType
}
this
.
apipost
(
'/api/Customer/UpdateCustomerClue'
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
type
===
1
)
{}
{
this
.
isShowCustomerInfo
=
false
this
.
isShowGuestInfo
=
false
}
this
.
multipleSelection
=
[]
this
.
$message
.
success
(
res
.
data
.
message
);
this
.
getList
()
}
})
}).
catch
(()
=>
{
this
.
$message
({
type
:
'info'
,
message
:
'已取消'
});
});
},
// 关注
CareforCustomer
(
scope
)
{
this
.
apipost
(
'/api/Customer/CareforCustomer'
,
{
CustomerCreateId
:
scope
.
row
.
CustomerCreateId
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
$message
.
success
(
'操作成功'
);
this
.
getList
()
}
})
},
// 转移
transfer
(
type
)
{
if
(
type
!==
2
)
{
if
(
type
===
3
)
{
this
.
multipleSelection
.
push
(
this
.
CustomerId
)
}
if
(
this
.
ruleList
.
length
==
0
)
{
this
.
transferVisible
=
true
}
else
{
let
tips
=
'系统已开启自动分配,无法指定推送,是否继续推送?'
this
.
$confirm
(
tips
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
let
ids
if
(
this
.
CustomerId
)
{
ids
=
this
.
CustomerId
}
else
{
ids
=
this
.
multipleSelection
.
join
(
','
)
}
this
.
apipost
(
'/api/Customer/AutoTransferCustomer'
,
{
IDs
:
ids
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
$message
.
success
(
res
.
data
.
message
);
this
.
getList
()
}
})
}).
catch
(()
=>
{
this
.
$message
({
type
:
'info'
,
message
:
'已取消'
});
});
}
}
else
{
if
(
this
.
transferMsg
.
EmpId
===
''
)
{
return
this
.
$message
.
error
(
'请选择变更负责人!'
)
}
let
str
=
''
this
.
multipleSelection
.
map
((
x
,
i
)
=>
{
str
=
str
+
x
+
','
})
this
.
transferMsg
.
CustomerIds
=
str
.
substring
(
0
,
str
.
length
-
1
)
this
.
apipost
(
'/api/Customer/TransferCustomerClue'
,
this
.
transferMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
multipleSelection
=
[]
this
.
transferVisible
=
false
if
(
type
===
3
)
{}
{
this
.
isShowCustomerInfo
=
false
this
.
isShowGuestInfo
=
false
}
this
.
$message
.
success
(
res
.
data
.
message
);
this
.
getList
()
this
.
transferMsg
=
{
CustomerIds
:
[],
EmpId
:
''
,
}
}
})
}
},
showMessageFromChild
(
list
)
{
this
.
mySelectCtrl
=
!
this
.
mySelectCtrl
if
(
list
)
{
this
.
queryType
=
list
this
.
getList
()
}
},
editCust
(
type
)
{
this
.
dialogTableVisibleName
=
'修改线索'
if
(
type
===
1
)
{
this
.
dialogTableVisible
=
true
}
else
{
this
.
guestDialogBoxShow
=
true
}
},
openDetails
(
scope
)
{
this
.
CustomerId
=
scope
.
row
.
CustomerId
this
.
CustomerName
=
scope
.
row
.
CustomerName
if
(
this
.
msg
.
CustomerType
===
0
)
{
this
.
isShowCustomerInfo
=
true
}
else
{
this
.
isShowGuestInfo
=
true
}
},
// 获取是否开启规则
GetCustomerAllotRule
()
{
this
.
apipost
(
'/api/Customer/GetCustomerAllotRule'
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
ruleList
=
res
.
data
.
data
.
EmpList
}
})
},
handleSizeChange
(
val
)
{
this
.
msg
.
pageSize
=
val
this
.
getList
();
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
handleClose
(
done
)
{
done
();
},
getList
:
function
(
isclose
)
{
if
(
isclose
&&
isclose
==
1
)
{
this
.
isShowGuestInfo
=
false
;
}
if
(
this
.
msg
.
CustomerType
!=
1
){
this
.
msg
.
CustomerName
=
this
.
CustomerTypeText
this
.
msg
.
KeyWord
=
""
}
else
{
this
.
msg
.
KeyWord
=
this
.
CustomerTypeText
this
.
msg
.
CustomerName
=
""
}
this
.
tableData
=
[]
this
.
loading
=
true
let
url
if
(
!
this
.
isDrawer
){
url
=
'/api/Customer/GetCustomerCluePage'
}
else
{
var
d
=
new
Date
();
var
currentY
=
this
.
queryTime
.
slice
(
0
,
4
);
var
currentM
=
this
.
queryTime
.
slice
(
5
,
7
);
var
MonthDayNum
=
new
Date
(
currentY
,
currentM
,
0
).
getDate
();
//计算当月的天数
this
.
msg
.
StartTime
=
this
.
queryTime
this
.
msg
.
EndTime
=
currentY
+
'-'
+
currentM
+
'-'
+
MonthDayNum
url
=
'/api/Customer/GetCustomerClueAllPage'
}
this
.
apipost
(
url
,
this
.
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
tableData
=
res
.
data
.
data
.
pageData
;
this
.
total
=
res
.
data
.
data
.
count
;
this
.
loading
=
false
;
}
})
if
(
this
.
msg
.
CustomerType
==
1
)
{
// 获取是否开启规则
this
.
GetCustomerAllotRule
()
}
},
handleSelectionChange
(
val
)
{
this
.
multipleSelection
=
val
.
map
(
x
=>
x
.
CustomerId
)
}
}
};
</
script
>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment