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
cb137e85
Commit
cb137e85
authored
Mar 16, 2020
by
华国豪
🙄
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增高级查询
parent
c1ca7d40
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
1804 additions
and
498 deletions
+1804
-498
App.vue
src/App.vue
+1
-1
businessManagement.vue
src/components/businessManagement/businessManagement.vue
+243
-166
clueManagement.vue
src/components/clueManagement/clueManagement.vue
+86
-12
contactsManagement.vue
src/components/contactsManagement/contactsManagement.vue
+105
-16
contractManagement.vue
src/components/contractManagement/contractManagement.vue
+3
-3
customerManage.vue
src/components/customerManage/customerManage.vue
+419
-238
customerDialogBox.vue
src/components/dialogModel/customerDialogBox.vue
+1
-1
sceneBox.vue
src/components/dialogModel/sceneBox.vue
+494
-0
guestManagement.vue
src/components/guestManagement/guestManagement.vue
+303
-17
marital.vue
src/components/statistics/marital.vue
+5
-5
marriage.vue
src/components/statistics/marriage.vue
+1
-1
old.vue
src/components/statistics/old.vue
+4
-4
sex.vue
src/components/statistics/sex.vue
+7
-7
tourType.vue
src/components/statistics/tourType.vue
+1
-1
watersManagement.vue
src/components/watersManagement/watersManagement.vue
+90
-18
index.js
src/plugins/index.js
+13
-6
index.vue
src/views/index.vue
+27
-1
login.vue
src/views/login.vue
+1
-1
No files found.
src/App.vue
View file @
cb137e85
...
...
@@ -30,7 +30,7 @@ export default {
@import
'./assets/css/tablevoerride.css'
;
@import
'./assets/global/font.css'
;
@import
'//at.alicdn.com/t/font_1627123_
vi053ljm2xd
.css'
;
@import
'//at.alicdn.com/t/font_1627123_
udqp6oxn9ki
.css'
;
@import
url('//at.alicdn.com/t/font_1627123_grz80mbm3sv.css')
;
/* @import './assets/css/common.css'; */
@import
'./assets/css/init.css'
;
...
...
src/components/businessManagement/businessManagement.vue
View file @
cb137e85
This diff is collapsed.
Click to expand it.
src/components/clueManagement/clueManagement.vue
View file @
cb137e85
...
...
@@ -57,18 +57,38 @@
</el-dropdown>
</div>
</div>
<div
class=
"query-box"
>
<div
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-select
size=
"mini"
v-model=
"msg.WhereType"
placeholder=
"请选择"
@
change=
"getList"
>
<el-option
v-for=
"item in WhereTypeList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
>
</el-option>
</el-select>
<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"
>
<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>
...
...
@@ -77,6 +97,9 @@
<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>
...
...
@@ -84,6 +107,15 @@
<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
...
...
@@ -101,7 +133,7 @@
:data=
"tableData"
tooltip-effect=
"dark"
style=
"width: 100%"
height=
"660
"
:height=
"sceneList.length > 0 ? '600' : '660'
"
border
row-class-name=
"font-size-12"
@
selection-change=
"handleSelectionChange"
>
...
...
@@ -382,6 +414,7 @@ export default {
WhereType
:
-
1
,
OrderBy
:
''
,
CustomerType
:
0
,
ID
:
29
,
},
total
:
0
,
WhereTypeList
:
[
...
...
@@ -416,7 +449,11 @@ export default {
class
:
'iconfont icondelete'
,
myFun
:
this
.
deleteClue
}
]
],
sceneList
:
[],
SceneEmployeeList
:
[],
sceneID
:
29
,
visible
:
false
,
};
},
mounted
()
{
...
...
@@ -428,8 +465,45 @@ export default {
$this
.
dialogTableVisible
=
false
$this
.
guestDialogBoxShow
=
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
()
})
},
beforeDestroy
()
{
this
.
MsgBus
.
$off
(
'sceneSave'
);
},
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'
)
{
...
...
src/components/contactsManagement/contactsManagement.vue
View file @
cb137e85
...
...
@@ -25,19 +25,45 @@
</el-dropdown>
</div>
</div>
<div
class=
"query-box"
>
<div
class=
"query-box"
:style=
"
{'padding-bottom': sceneList.length > 0 ? '0px' : '10px'}"
>
<div
v-if=
"!multipleSelection.length"
>
<div>
<span
class=
"font-size-12"
style=
"padding-right: 10px"
>
场景
</span>
<el-select
size=
"mini"
v-model=
"msg.WhereType"
placeholder=
"请选择"
@
change=
"getList"
>
<el-option
v-for=
"item in WhereTypeList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
>
</el-option>
</el-select>
</div>
<el-row
: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', 2, 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"
>
<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"
>
<el-button
icon=
"iconfont iconshaixuan"
class=
"crm-btn query-btn crm-btn-mini margin-right0"
@
click=
"MsgBus.$emit('sceneBoxShow', 2)"
>
高级筛选
</el-button>
</el-col>
</el-row>
</div>
<div
v-else
class=
"flex-center"
>
<p
class=
"font-size-12"
>
已选
<span
class=
"font-color-link"
>
{{
multipleSelection
.
length
}}
</span>
项
</p>
...
...
@@ -45,6 +71,15 @@
<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
...
...
@@ -62,7 +97,7 @@
:data=
"tableData"
tooltip-effect=
"dark"
style=
"width: 100%"
height=
"660
"
:height=
"sceneList.length > 0 ? '600' : '660'
"
border
row-class-name=
"font-size-12"
@
selection-change=
"handleSelectionChange"
>
...
...
@@ -87,6 +122,12 @@
<p
@
click=
"openDetails(scope)"
class=
"font-color-link cp"
>
{{
scope
.
row
.
CustomerName
}}
</p>
</
template
>
</el-table-column>
<el-table-column
prop=
"SexStr"
label=
"性别"
v-if=
"queryType[9].show"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop=
"ContactPhone"
label=
"联系人电话"
...
...
@@ -278,6 +319,9 @@ export default {
},{
label
:
'创建时间'
,
show
:
true
,
},{
label
:
'性别'
,
show
:
true
,
}
],
queryType
:
[
...
...
@@ -308,6 +352,9 @@ export default {
},{
label
:
'创建时间'
,
show
:
true
,
},{
label
:
'性别'
,
show
:
true
,
}
],
BusinessId
:
0
,
...
...
@@ -338,7 +385,8 @@ export default {
pageSize
:
30
,
ContactNumber
:
''
,
WhereType
:
-
1
,
OrderBy
:
''
OrderBy
:
''
,
ID
:
18
,
},
total
:
0
,
WhereTypeList
:
[
...
...
@@ -369,13 +417,18 @@ export default {
class
:
'iconfont icondelete'
,
myFun
:
this
.
delete
}
]
],
sceneList
:
[],
SceneEmployeeList
:
[],
sceneID
:
18
,
visible
:
false
,
};
},
mounted
()
{
this
.
userInfo
=
this
.
getLocalStorage
();
this
.
getList
()
this
.
Employee
()
this
.
GetSceneEmployeeList
()
let
$this
=
this
this
.
MsgBus
.
$on
(
'closeCustomerDialogBox'
,
function
(){
$this
.
dialogCustomerVisible
=
false
...
...
@@ -383,8 +436,44 @@ export default {
this
.
MsgBus
.
$on
(
'closeaddContacts'
,
function
(){
$this
.
dialogBusinessVisible
=
false
})
},
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
()
})
},
beforeDestroy
()
{
this
.
MsgBus
.
$off
(
'sceneSave'
);
},
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
:
2
},
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
()
},
Employee
(){
let
msg
=
{
RB_Group_id
:
this
.
userInfo
.
RB_Group_id
,
...
...
src/components/contractManagement/contractManagement.vue
View file @
cb137e85
...
...
@@ -4,10 +4,10 @@
display
:
flex
;
align-items
:
center
;
}
.query-box
.el-col-4
>
span
{
flex
:
1
.query-box
.el-col-4
>
span
.font-size-12
{
flex
:
1
!important
;
}
.query-box
.el-col-4
>
div
{
.query-box
.el-col-4
>
div
,
.query-box
.el-col-4
>
span
{
flex
:
4
}
.el-table__fixed-body-wrapper
table
{
...
...
src/components/customerManage/customerManage.vue
View file @
cb137e85
This diff is collapsed.
Click to expand it.
src/components/dialogModel/customerDialogBox.vue
View file @
cb137e85
...
...
@@ -234,7 +234,7 @@
</div>
</el-col>
</el-row>
<el-row>
<el-row
:gutter=
"30"
>
<el-col
:span=
"8"
>
<div
class=
"MyEditForm-item label-pad-left"
>
<el-form-item
label=
"下次联系时间"
>
...
...
src/components/dialogModel/sceneBox.vue
0 → 100644
View file @
cb137e85
This diff is collapsed.
Click to expand it.
src/components/guestManagement/guestManagement.vue
View file @
cb137e85
This diff is collapsed.
Click to expand it.
src/components/statistics/marital.vue
View file @
cb137e85
...
...
@@ -7,7 +7,7 @@
<div
class=
"content"
style=
"margin-top:0;"
>
<el-card
class=
"blue"
>
<div
slot=
"header"
class=
"clearfix"
>
<span>
报名
统计
</span>
<span>
订单
统计
</span>
</div>
<orders
v-if=
"isLoaded"
:scaleData=
"scaleData"
/>
</el-card>
...
...
@@ -56,17 +56,17 @@
<el-col
:span=
"12"
size=
"30"
>
推荐解答
</el-col>
<el-col
:span=
"12"
class=
"right-title"
>
<
!--
<
el-col
:span=
"12"
class=
"right-title"
>
<i
class=
"iconfont icondianzan1"
></i>
点赞
</el-col>
</el-col>
-->
</el-row>
</div>
<div
class=
"situ"
>
<div
class=
"c"
>
根据对客户年龄段的统计可以,更好的了解不同年龄段客人的喜好,消费能力的判读,从而快速的推荐团队给客人等等等
</div>
<div
class=
"bot"
@
click=
"drawer = true"
>
<
!--
<
div
class=
"bot"
@
click=
"drawer = true"
>
查看更多,参与讨论(19)
<i
class=
"el-icon-d-arrow-right"
></i>
</div>
</div>
-->
</div>
</el-card>
</div>
...
...
src/components/statistics/marriage.vue
View file @
cb137e85
...
...
@@ -89,7 +89,7 @@
<el-col
:span=
"10"
class=
"left"
>
<el-card
class=
"blue"
>
<div
slot=
"header"
class=
"clearfix"
>
<span>
报名统计
</span>
<span
style=
"color: #303133"
>
报名统计
</span>
</div>
<el-row
:gutter=
"80"
style=
"height: 100%;"
>
<el-col
:span=
"24"
style=
"height: 100%;"
>
...
...
src/components/statistics/old.vue
View file @
cb137e85
...
...
@@ -139,17 +139,17 @@
<el-col
:span=
"12"
size=
"30"
>
推荐解答
</el-col>
<el-col
:span=
"12"
class=
"right-title"
>
<
!--
<
el-col
:span=
"12"
class=
"right-title"
>
<i
class=
"iconfont icondianzan1"
></i>
点赞
</el-col>
</el-col>
-->
</el-row>
</div>
<div
class=
"situ"
>
<div
class=
"c"
>
根据对客户年龄段的统计可以,更好的了解不同年龄段客人的喜好,消费能力的判读,从而快速的推荐团队给客人等等等
</div>
<div
class=
"bot"
@
click=
"drawer = true"
>
<
!--
<
div
class=
"bot"
@
click=
"drawer = true"
>
查看更多,参与讨论(19)
<i
class=
"el-icon-d-arrow-right"
></i>
</div>
</div>
-->
</div>
</el-card>
</div>
...
...
src/components/statistics/sex.vue
View file @
cb137e85
...
...
@@ -86,7 +86,7 @@
<el-col
:span=
"16"
class=
"left"
>
<el-card
class=
"blue"
>
<div
slot=
"header"
class=
"clearfix"
>
<span>
性别
统计
</span>
<span>
订单
统计
</span>
</div>
<el-row
:gutter=
"80"
style=
"height: 100%;"
>
<el-col
:span=
"10"
class=
"img"
>
...
...
@@ -146,17 +146,17 @@
<el-col
:span=
"12"
size=
"30"
>
推荐解答
</el-col>
<el-col
:span=
"12"
class=
"right-title"
>
<
!--
<
el-col
:span=
"12"
class=
"right-title"
>
<i
class=
"iconfont icondianzan1"
></i>
点赞
</el-col>
</el-col>
-->
</el-row>
</div>
<div
class=
"situ"
>
<div
class=
"c"
>
根据对客户年龄段的统计可以,更好的了解不同年龄段客人的喜好,消费能力的判读,从而快速的推荐团队给客人等等等
</div>
<div
class=
"bot"
@
click=
"drawer = true"
>
查看更多,参与讨论(19)
<i
class=
"el-icon-d-arrow-right"
></i>
</div>
<
!--
<
div
class=
"bot"
@
click=
"drawer = true"
>
查看更多,参与讨论(19)
<i
class=
"el-icon-d-arrow-right"
></i>
</div>
-->
</div>
</el-card>
</el-col>
...
...
src/components/statistics/tourType.vue
View file @
cb137e85
...
...
@@ -89,7 +89,7 @@
<el-col
:span=
"16"
class=
"left"
>
<el-card
class=
"blue"
>
<div
slot=
"header"
class=
"clearfix"
>
<span>
出游类型
统计
</span>
<span>
订单
统计
</span>
</div>
<el-row
:gutter=
"80"
style=
"height: 100%;"
>
<el-col
:span=
"10"
class=
"img"
>
...
...
src/components/watersManagement/watersManagement.vue
View file @
cb137e85
...
...
@@ -24,26 +24,57 @@
</el-dropdown>
</div>
</div>
<div
class=
"query-box"
>
<div
v-if=
"!multipleSelection.length
"
>
<
div
>
<div
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-select
size=
"mini"
v-model=
"msg.WhereType"
placeholder=
"请选择"
>
<el-option
v-for=
"item in WhereTypeList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
>
</el-option>
<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 WhereTypeList" :key="index" @click="changeWhere(item)">
{{
item
.
name
}}
</div>
</div>
</div>
<el-select
size=
"mini"
popper-class=
"select-no"
slot=
"reference"
v-model=
"msg.WhereType"
placeholder=
"请选择"
>
<el-option
v-for=
"item in WhereTypeList"
:key=
"item.id"
:label=
"item.name"
: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>
</div>
</div>
</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', 6)"
>
高级筛选
</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
...
...
@@ -77,7 +108,7 @@
</
template
>
</el-table-column>
<el-table-column
prop=
"
MainSourc
eStr"
prop=
"
CustomerSourceTyp
eStr"
label=
"客户来源"
v-if=
"queryType[1].show"
show-overflow-tooltip
>
...
...
@@ -179,13 +210,13 @@
width=
"120"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
<
!-- <
el-table-column
prop="NowSellName"
label="负责人"
width="120"
v-if="queryType[15].show"
show-overflow-tooltip>
</el-table-column>
</el-table-column>
-->
<el-table-column
prop=
"Visit"
label=
"近期约访"
...
...
@@ -430,7 +461,7 @@ export default {
pageSize
:
30
,
ContactNumber
:
''
,
WhereType
:
-
1
,
OrderBy
:
''
OrderBy
:
''
,
},
total
:
0
,
WhereTypeList
:
[
...
...
@@ -465,7 +496,11 @@ export default {
class
:
'iconfont icondelete'
,
myFun
:
this
.
delete
}
]
],
sceneList
:
[],
SceneEmployeeList
:
[],
sceneID
:
-
1
,
visible
:
false
,
};
},
mounted
()
{
...
...
@@ -476,8 +511,45 @@ export default {
this
.
MsgBus
.
$on
(
'closeaddTeamman'
,
function
(){
$this
.
addTeammanShow
=
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
()
})
},
beforeDestroy
()
{
this
.
MsgBus
.
$off
(
'sceneSave'
);
},
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
:
6
},
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
()
},
Employee
(){
let
msg
=
{
RB_Group_id
:
this
.
userInfo
.
RB_Group_id
,
...
...
src/plugins/index.js
View file @
cb137e85
...
...
@@ -13,16 +13,23 @@ export default {
Vue
.
prototype
.
domainManager
=
function
()
{
let
domainUrl
=
"http://crm.oytour.com"
let
locationName
=
window
.
location
.
hostname
;
let
domainPostUrl
=
"http://testapi.oytour.com"
if
(
this
.
isOnline
())
{
if
(
window
.
location
.
host
.
indexOf
(
'testb2b.oytour.com'
)
!=
-
1
)
domainUrl
=
"http://crm.oytour.com"
else
if
(
window
.
location
.
host
.
indexOf
(
'oytour.com'
)
!=
-
1
)
domainUrl
=
"http://crm.oytour.com"
if
(
window
.
location
.
host
.
indexOf
(
'crmyx.oytour.com'
)
!=
-
1
)
{
domainUrl
=
"http://crm.oytour.com"
domainPostUrl
=
"http://reborn.oytour.com"
}
else
{
domainUrl
=
"http://crm.oytour.com"
domainPostUrl
=
"http://testapi.oytour.com"
}
}
var
obj
=
{
//主地址
DomainUrl
:
domainUrl
,
DownLoadContractUrl
:
"http://testapi.oytour.com"
,
DownLoadContractUrl
:
domainPostUrl
,
//阿里服务器地址
AliUrl
:
"https://reborndev.oss-cn-hangzhou.aliyuncs.com"
,
//本站文件流下载地址
...
...
@@ -35,7 +42,7 @@ export default {
GoogleMapImageUrl
:
"http://imgfile.oytour.com"
,
//常用提交数据URL
PostUrl
:
domainUrl
,
PostUrl2
:
"http://testapi.oytour.com
/api/common/post"
,
PostUrl2
:
domainPostUrl
+
"
/api/common/post"
,
javaUrl
:
locationName
.
indexOf
(
'testb2b'
)
==
-
1
?
"http://efficient.oytour.com"
:
locationName
.
indexOf
(
'testb2b.oytour.com'
)
!==
-
1
?
"http://47.96.12.235:9001"
:
"http://192.168.2.215:9000"
,
ViittoFileUrl
:
locationName
.
indexOf
(
'oytour'
)
!==
-
1
||
locationName
.
indexOf
(
'testb2b.oytour.com'
)
!==
-
1
?
"http://staticfile.oytour.com"
:
'http://192.168.2.214:8130'
,
UploadUrl
:
locationName
.
indexOf
(
'oytour'
)
!==
-
1
||
locationName
.
indexOf
(
'testb2b.oytour.com'
)
!==
-
1
?
"http://uploadfile.oytour.com"
:
"http://192.168.2.214:8130"
,
...
...
src/views/index.vue
View file @
cb137e85
...
...
@@ -65,6 +65,9 @@
.el-image-viewer__wrapper
{
z-index
:
10086
!important
;
}
.add-scene
.el-dialog__body
{
padding-top
:
20px
;
}
</
style
>
<
template
>
<div
class=
"main"
>
...
...
@@ -167,6 +170,14 @@
:before-close=
"handleClose"
>
<businessInfoBox
:BusinessId=
"BusinessId"
:BusinessIdCustomerId=
"BusinessIdCustomerId"
@
transferS=
"busTransfer"
@
watersS=
"busWaters"
@
editCustbusiness=
"editCustbusiness"
/>
</el-drawer>
<!-- 高级筛选 -->
<el-dialog
:visible
.
sync=
"sceneShow"
:close-on-click-modal=
"false"
width=
"800px"
custom-class=
"transfer-box add-box add-box2 add-scene"
>
<div
class=
"add-tit"
slot=
"title"
>
<p><span></span>
新建场景
</p>
<span
icon=
"el-icon-close"
></span>
</div>
<sceneBox
:LableType=
"LableType"
:sceneType=
"sceneType"
/>
</el-dialog>
</div>
</
template
>
<
script
>
...
...
@@ -184,10 +195,14 @@ import singleContract from '../components/contractManagement/singleContract'
import
TravelContractView
from
'../components/contractManagement/TravelContractView'
import
contractInfoBox
from
'../components/contractManagement/contractInfoBox'
import
businessInfoBox
from
"../components/businessManagement/businessInfoBox"
;
import
sceneBox
from
"../components/dialogModel/sceneBox"
export
default
{
components
:
{
HomeNavLeft
,
HomeNavTop
,
addBusinessBox
,
customerDialogBox
,
customerInfoBox
,
clueBox
,
clueDialogBox
,
ElImageViewer
,
domesticTravelcontract
,
onedayTripContract
,
singleContract
,
TravelContractView
,
contractInfoBox
,
businessInfoBox
},
components
:
{
HomeNavLeft
,
HomeNavTop
,
addBusinessBox
,
customerDialogBox
,
customerInfoBox
,
clueBox
,
clueDialogBox
,
ElImageViewer
,
domesticTravelcontract
,
onedayTripContract
,
singleContract
,
TravelContractView
,
contractInfoBox
,
businessInfoBox
,
sceneBox
},
data
()
{
return
{
sceneType
:
0
,
LableType
:
1
,
sceneShow
:
false
,
dialogBusinessVisibleName
:
'新建商机'
,
BusinessId
:
0
,
BusinessIdCustomerId
:
0
,
...
...
@@ -297,8 +312,19 @@ export default {
$this
.
BusinessId
=
ID
$this
.
BusinessIdCustomerId
=
BusinessIdCustomerId
})
this
.
MsgBus
.
$on
(
'sceneBoxShow'
,
function
(
type
,
sceneType
){
$this
.
LableType
=
type
$this
.
sceneType
=
sceneType
$this
.
sceneShow
=
true
})
this
.
MsgBus
.
$on
(
'sceneBoxClose'
,
function
(){
$this
.
sceneShow
=
false
})
},
methods
:
{
sceneAdd
(){
},
editCustbusiness
(){
this
.
dialogBusinessVisibleName
=
'修改商机'
this
.
dialogBusinessVisible
=
true
...
...
src/views/login.vue
View file @
cb137e85
...
...
@@ -128,7 +128,7 @@ export default {
var
msg
=
{
EmAccount
:
this
.
account
,
EmPassword
:
this
.
pwd
,
Domain
:
'
crmtesterp
.oytour.com'
Domain
:
'
fcrmyx
.oytour.com'
};
this
.
apipost
(
'/api/Login/UserLogin'
,
msg
,
res
=>
{
var
jsonData
=
res
.
data
;
...
...
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