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
Show 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
...
...
@@ -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>
<el-row
: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-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', 3, 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 WhereTyp
eList"
:key=
"item.id
"
:label=
"item.n
ame"
:value=
"item.id
"
>
v-for=
"item in SceneEmploye
eList"
:key=
"item.ID
"
:label=
"item.SceneN
ame"
:value=
"item.ID
"
>
</el-option>
</el-select>
</div>
</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', 3)"
>
高级筛选
</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"
>
...
...
@@ -378,7 +413,8 @@ export default {
pageSize
:
30
,
ContactNumber
:
''
,
WhereType
:
-
1
,
OrderBy
:
''
OrderBy
:
''
,
ID
:
24
},
total
:
0
,
WhereTypeList
:
[
...
...
@@ -413,7 +449,11 @@ export default {
class
:
'iconfont icontianjia'
,
myFun
:
this
.
addCust
}
]
],
sceneList
:
[],
SceneEmployeeList
:
[],
sceneID
:
24
,
visible
:
false
,
};
},
mounted
()
{
...
...
@@ -430,8 +470,45 @@ export default {
this
.
MsgBus
.
$on
(
'closeaddTeamman'
,
function
(){
$this
.
addBusinessShow
=
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
:
3
},
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
()
},
checkboxT
(
row
,
index
){
if
(
row
.
IsRead
===
0
){
return
1
;
...
...
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-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 WhereTyp
eList"
:key=
"item.id
"
:label=
"item.n
ame"
:value=
"item.id
"
>
v-for=
"item in SceneEmploye
eList"
:key=
"item.ID
"
:label=
"item.SceneN
ame"
: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>
<el-row
: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-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 WhereTyp
eList"
:key=
"item.id
"
:label=
"item.n
ame"
:value=
"item.id
"
>
v-for=
"item in SceneEmploye
eList"
:key=
"item.ID
"
:label=
"item.SceneN
ame"
:value=
"item.ID
"
>
</el-option>
</el-select>
</div>
</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
<
style
>
@import
'../../assets/css/customerManage.css'
;
.vux-flexbox
{
width
:
100%
;
text-align
:
left
;
display
:
flex
;
box-align
:
center
;
-webkit-box-align
:
center
;
-ms-flex-align
:
center
;
align-items
:
center
;
}
.vux-flex-row
{
box-direction
:
row
;
box-orient
:
horizontal
;
-webkit-box-orient
:
horizontal
;
-ms-flex-direction
:
row
;
flex-direction
:
row
;
}
.el-table__fixed-body-wrapper
table
{
padding-bottom
:
8px
!important
;
}
.scene-container
{
position
:
relative
;
width
:
180px
;
}
.scene-list
{
max-height
:
240px
;
overflow-y
:
auto
;
font-size
:
12px
;
margin-bottom
:
10px
;
}
.scene-list
.scene-list-item
{
color
:
#333
;
padding
:
10px
15px
;
cursor
:
pointer
;
background-color
:
#fff
;
}
.scene-list
.scene-list-item-select
,
.scene-list
.scene-list-item
::before
{
background-color
:
#f7f8fa
;
color
:
#2362fb
;
}
.handle-interval
{
border-top
:
1px
solid
#efefef
;
}
.handle-button
{
padding
:
6px
20px
;
font-size
:
12px
;
cursor
:
pointer
;
color
:
#2362fb
;
}
.handle-button
.handle-button-icon
{
margin-right
:
8px
;
margin-top
:
3px
;
}
.handle-button
.handle-button-name
{
font-size
:
12px
;
}
.popover-class
{
padding
:
0
!important
;
}
.select-no
{
display
:
none
;
}
.scene-wrapper
{
min-height
:
50px
;
background
:
#fff
;
border-top
:
1px
solid
#e1e1e1
;
font-size
:
13px
;
overflow-x
:
scroll
;
color
:
#aaa
;
margin-top
:
20px
;
}
.scene-wrapper
.list
,
.scene-wrapper
{
width
:
100%
;
display
:
flex
;
-webkit-box-pack
:
start
;
-ms-flex-pack
:
start
;
justify-content
:
flex-start
;
}
.scene-wrapper
.list
{
-ms-flex-negative
:
0
;
flex-shrink
:
0
;
}
.scene-wrapper
.list
.list-item
{
height
:
30px
;
padding
:
0
10px
;
margin
:
10px
15px
0
0
;
border
:
1px
solid
#e1e1e1
;
border-radius
:
3px
;
-ms-flex-negative
:
0
;
flex-shrink
:
0
;
display
:
flex
;
-webkit-box-pack
:
center
;
-ms-flex-pack
:
center
;
justify-content
:
center
;
-webkit-box-align
:
center
;
-ms-flex-align
:
center
;
align-items
:
center
;
}
.scene-wrapper
.list
.list-item
.icon
{
margin-left
:
20px
;
cursor
:
pointer
;
}
</
style
>
<
template
>
<div
class=
"customerManage"
>
...
...
@@ -27,19 +125,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>
<el-row
: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-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', 1, 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 WhereTyp
eList"
:key=
"item.id
"
:label=
"item.n
ame"
:value=
"item.id
"
>
v-for=
"item in SceneEmploye
eList"
:key=
"item.ID
"
:label=
"item.SceneN
ame"
:value=
"item.ID
"
>
</el-option>
</el-select>
</div>
</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', 1)"
>
高级筛选
</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>
...
...
@@ -47,6 +171,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
...
...
@@ -64,7 +197,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"
>
...
...
@@ -80,7 +213,7 @@
</
template
>
</el-table-column>
<el-table-column
prop=
"
MainSourc
eStr"
prop=
"
CustomerSourceTyp
eStr"
label=
"客户来源"
v-if=
"queryType[1].show"
show-overflow-tooltip
>
...
...
@@ -336,6 +469,7 @@ export default {
},
data
()
{
return
{
visible
:
false
,
queryType2
:
[
{
label
:
'客户名称'
,
...
...
@@ -483,8 +617,10 @@ export default {
pageIndex
:
1
,
pageSize
:
30
,
ContactNumber
:
''
,
WhereType
:
-
1
,
OrderBy
:
''
WhereType
:
1
,
OrderBy
:
''
,
Data
:
{},
ID
:
1
,
},
total
:
0
,
WhereTypeList
:
[
...
...
@@ -545,13 +681,17 @@ export default {
// class:'iconfont iconjian',
// myFun: this.delCust,
// },
]
],
sceneList
:
[],
SceneEmployeeList
:
[],
sceneID
:
1
,
};
},
mounted
()
{
this
.
userInfo
=
this
.
getLocalStorage
();
this
.
getList
()
this
.
Employee
()
this
.
GetSceneEmployeeList
()
let
$this
=
this
this
.
MsgBus
.
$on
(
'closeCustomerDialogBox'
,
function
(){
$this
.
dialogTableVisible
=
false
...
...
@@ -559,8 +699,49 @@ export default {
this
.
MsgBus
.
$on
(
'closeaddTeamman'
,
function
(){
$this
.
addTeammanShow
=
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
:
1
},
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
()
},
changeItem
(
item
){
this
.
msg
.
WhereType
=
item
.
id
this
.
visible
=
false
this
.
getList
()
},
Employee
(){
let
msg
=
{
RB_Group_id
:
this
.
userInfo
.
RB_Group_id
,
...
...
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
<
style
>
.sceneBox
.el-form
{
padding
:
20px
;
padding-top
:
0
;
}
.sceneBox
.el-form--label-top
.el-form-item__label
{
padding
:
0
;
}
.sceneBox
.el-form-item
{
margin
:
0
;
}
.sceneBox
.delete-btn
{
margin-left
:
15px
;
}
.add-tj
{
padding
:
0
20px
20px
;
}
.sceneBox
.dialog-footer
{
text-align
:
center
;
}
</
style
>
<
template
>
<div
class=
"sceneBox"
>
<el-form
label-position=
"top"
label-width=
"80px"
:model=
"sceneMsg"
>
<el-form-item
label=
"场景名称"
v-if=
"checked || sceneType === 1"
>
<el-input
v-model=
"sceneMsg.SceneName"
placeholder=
"请输入场景名称,最多10个字符"
></el-input>
</el-form-item>
<el-form-item
label=
"筛选条件"
>
<el-row
v-for=
"(item, index) in dataList"
:key=
"index"
style=
"margin-bottom: 15px;"
>
<el-col
:span=
"8"
>
<el-select
v-model=
"item.SceneIndex"
placeholder=
"请选择要筛选的字段名"
style=
"width: 100%;"
@
change=
"changeScene(item, index)"
>
<el-option
v-for=
"(scene, sIndex) in item.sceneList"
:label=
"scene.Name"
:value=
"sIndex"
:key=
"sIndex"
></el-option>
</el-select>
</el-col>
<el-col
:span=
"1"
>
</el-col>
<!-- regionShow -->
<template
v-if=
"item.regionS && item.regionS.length"
>
<el-col
:span=
"5"
>
<el-select
v-model=
"item.region"
placeholder=
"请选择"
@
change=
"changeRegion(item, index)"
>
<el-option
v-for=
"(r, rx) in item.regionS"
:key=
"rx"
:label=
"r.c"
:value=
"r.n"
></el-option>
</el-select>
</el-col>
<el-col
:span=
"1"
>
</el-col>
<el-col
:span=
"8"
>
<el-input
v-if=
"!item.Setting.length && item.nameStr !== '负责人' && item.nameStr !== '创建人'"
v-model=
"item.SceneName"
placeholder=
"请输入筛选条件"
></el-input>
<el-select
v-else-if=
"item.nameStr === '负责人' || item.nameStr === '创建人'"
v-model=
"item.id"
@
change=
"changeFC(index)"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
filterable
v-for=
"item in EmployeeList"
:label=
'item.EmName'
:value=
'item.EmployeeId'
:key=
'item.EmployeeId'
>
</el-option>
</el-select>
<el-select
v-else
v-model=
"item.SceneName"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"(select, sIndex) in item.Setting"
:label=
"select"
:value=
"select"
:key=
"sIndex"
></el-option>
</el-select>
</el-col>
</
template
>
<
template
v-else
>
<el-col
:span=
"14"
>
<el-date-picker
style=
"width: 100%;"
v-model=
"item.time"
value-format=
"yyyy-MM-dd hh:mm:ss"
type=
"datetimerange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
>
</el-date-picker>
</el-col>
</
template
>
<el-col
:span=
"1"
>
<i
@
click=
"deleteRow(index)"
class=
"el-icon-error delete-btn cp"
></i>
</el-col>
</el-row>
</el-form-item>
</el-form>
<div
class=
"add-tj"
>
<p>
<span
class=
"font-color-link cp"
@
click=
"addRow"
><i
class=
"el-icon-circle-plus-outline"
></i>
添加筛选条件
</span></p>
</div>
<div
class=
"add-tj"
>
<el-checkbox
v-model=
"checked"
v-if=
"sceneType!==1 && LableType!==6"
>
保存为场景
</el-checkbox>
</div>
<div
class=
"add-tj"
v-if=
"checked || sceneType === 1"
>
<el-checkbox
v-model=
"sceneMsg.IsDefault"
:true-label=
"1"
:false-label=
"0"
>
设为默认
</el-checkbox>
</div>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
class=
"add-box-btn"
@
click=
"sceneAdd()"
>
确 定
</el-button>
<el-button
class=
"add-box-btn add-box-cancel"
@
click=
"MsgBus.$emit('sceneBoxClose')"
>
取 消
</el-button>
</div>
</div>
</template>
<
script
>
export
default
{
props
:
[
'LableType'
,
'sceneType'
],
data
(){
return
{
checked
:
false
,
sceneMsg
:
{
SceneName
:
''
,
IsDefault
:
0
,
},
WhereDataStr
:
{
NextContactTime
:
{
start
:
''
,
end
:
''
,
formType
:
''
,
name
:
''
},
CustomerName
:
{
condition
:
''
,
value
:
''
,
formType
:
''
,
name
:
''
,
},
ContactPhone
:
{
condition
:
''
,
value
:
''
,
formType
:
''
,
name
:
''
,
},
Remark
:
{
condition
:
''
,
value
:
''
,
formType
:
''
,
name
:
''
,
},
PersonChargeId
:
{
condition
:
''
,
value
:
''
,
formType
:
''
,
name
:
''
,
},
CreateBy
:
{
condition
:
''
,
value
:
''
,
formType
:
''
,
name
:
''
,
},
ContactName
:
{
condition
:
''
,
value
:
''
,
formType
:
''
,
name
:
''
,
},
ContactDuty
:
{
condition
:
''
,
value
:
''
,
formType
:
''
,
name
:
''
,
},
IsMain
:
{
condition
:
''
,
value
:
''
,
formType
:
''
,
name
:
''
,
},
Sex
:
{
condition
:
''
,
value
:
''
,
formType
:
''
,
name
:
''
,
},
CreateTime
:
{
start
:
''
,
end
:
''
,
formType
:
''
,
name
:
''
,
},
UpdateTime
:
{
start
:
''
,
end
:
''
,
formType
:
''
,
name
:
''
,
},
LableType
:
1
},
dataList
:
[
{
SceneName
:
''
,
IsDefault
:
''
,
region
:
''
,
regionS
:
[],
sceneList
:
[],
SceneIndex
:
''
,
Setting
:
[],
time
:
[],
WhereDataStr
:
{},
formType
:
''
}
],
region
:
[],
optionsNames
:
[
{
c
:
"等于"
,
n
:
'is'
,
t
:
"t"
,
},
{
c
:
"不等于"
,
n
:
'isnot'
,
t
:
"t"
,
},
{
c
:
"包含"
,
n
:
"contains"
},
{
c
:
"不包含"
,
n
:
"not_contain"
},
{
c
:
'开始于'
,
n
:
'start_with'
},
{
c
:
'结束于'
,
n
:
'end_with'
},
{
c
:
'为空'
,
n
:
'is_empty'
},
{
c
:
'不为空'
,
n
:
'is_not_empty'
},
{
c
:
'等于'
,
n
:
'eq'
},
{
c
:
'不等于'
,
n
:
'neq'
},
{
c
:
'大于'
,
n
:
'gt'
},
{
c
:
'大于等于'
,
n
:
'egt'
},
{
c
:
'小于'
,
n
:
'lt'
},
{
c
:
'小于等于'
,
n
:
'elt'
},
],
sceneList
:
[],
regionShow
:
true
,
userInfo
:
{},
EmployeeList
:
[],
}
},
watch
:
{
LableType
:{
handler
(
val
,
oldVal
){
this
.
GetSceneList
()
this
.
dataList
=
[
{
SceneName
:
''
,
IsDefault
:
''
,
region
:
''
,
regionS
:
[],
sceneList
:
[],
SceneIndex
:
''
,
Setting
:
[],
time
:
[],
WhereDataStr
:
{},
formType
:
''
}
]
},
deep
:
true
}
},
mounted
(){
this
.
userInfo
=
this
.
getLocalStorage
();
this
.
GetSceneList
()
this
.
Employee
()
},
methods
:{
changeFC
(
index
){
for
(
let
i
=
0
;
i
<
this
.
EmployeeList
.
length
;
i
++
){
if
(
this
.
EmployeeList
[
i
].
EmployeeId
===
this
.
dataList
[
index
].
id
){
this
.
dataList
[
index
].
SceneName
=
this
.
EmployeeList
[
i
].
EmployeeId
this
.
dataList
[
index
].
nameFC
=
this
.
EmployeeList
[
i
].
EmName
break
;
}
}
},
sceneAdd
(){
let
msg
=
{},
list
=
[],
ok
=
true
;
this
.
dataList
.
forEach
(
item
=>
{
if
(
item
.
formType
===
'datetime'
)
{
if
(
!
item
.
time
.
length
){
ok
=
false
this
.
$message
.
error
(
'筛选内容不能为空!'
)
return
}
msg
[
item
.
FieldName
]
=
{
start
:
item
.
time
[
0
],
end
:
item
.
time
[
1
],
formType
:
item
.
formType
,
name
:
item
.
FieldName
,
str
:
item
.
nameStr
,
regionStr
:
item
.
regionStr
}
list
.
push
({
start
:
item
.
time
[
0
],
end
:
item
.
time
[
1
],
formType
:
item
.
formType
,
name
:
item
.
FieldName
,
str
:
item
.
nameStr
,
regionStr
:
item
.
regionStr
,
nameFC
:
item
.
nameFC
})
}
else
{
if
(
!
item
.
SceneName
){
ok
=
false
this
.
$message
.
error
(
'筛选内容不能为空!'
)
return
}
msg
[
item
.
FieldName
]
=
{
condition
:
item
.
region
,
value
:
item
.
SceneName
,
formType
:
item
.
formType
,
name
:
item
.
FieldName
,
str
:
item
.
nameStr
,
regionStr
:
item
.
regionStr
}
list
.
push
({
condition
:
item
.
region
,
value
:
item
.
SceneName
,
formType
:
item
.
formType
,
name
:
item
.
FieldName
,
str
:
item
.
nameStr
,
regionStr
:
item
.
regionStr
,
nameFC
:
item
.
nameFC
})
}
})
if
(
ok
&&
(
this
.
checked
||
this
.
sceneType
===
1
))
{
if
(
this
.
sceneMsg
.
SceneName
===
''
)
{
return
this
.
$message
.
error
(
'场景名称不能为空!'
)
}
this
.
sceneMsg
.
WhereDataStr
=
msg
this
.
sceneMsg
.
LableType
=
this
.
LableType
this
.
apipost
(
'/api/Scene/AddSceneEmployee'
,
this
.
sceneMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
}
})
}
setTimeout
(()
=>
{
this
.
MsgBus
.
$emit
(
'sceneBoxClose'
)
this
.
MsgBus
.
$emit
(
'sceneSave'
,
list
)
},
500
)
},
changeRegion
(
i
,
index
){
this
.
optionsNames
.
map
(
x
=>
{
if
(
x
.
n
===
i
.
region
)
{
this
.
dataList
[
index
].
regionStr
=
x
.
c
}
})
},
changeScene
(
item
,
pIndex
){
this
.
dataList
[
pIndex
].
regionS
=
this
.
dataList
[
pIndex
].
sceneList
[
item
.
SceneIndex
].
region
this
.
dataList
[
pIndex
].
nameStr
=
this
.
dataList
[
pIndex
].
sceneList
[
item
.
SceneIndex
].
Name
this
.
dataList
[
pIndex
].
formType
=
this
.
dataList
[
pIndex
].
sceneList
[
item
.
SceneIndex
].
FormType
this
.
dataList
[
pIndex
].
region
=
''
this
.
dataList
[
pIndex
].
FieldName
=
this
.
dataList
[
pIndex
].
sceneList
[
item
.
SceneIndex
].
FieldName
this
.
dataList
[
pIndex
].
SceneName
=
''
this
.
dataList
[
pIndex
].
time
=
[]
this
.
region
=
this
.
sceneList
[
item
.
SceneIndex
].
region
if
(
this
.
dataList
[
pIndex
].
sceneList
[
item
.
SceneIndex
].
FormType
===
'select'
)
{
this
.
dataList
[
pIndex
].
Setting
=
this
.
dataList
[
pIndex
].
sceneList
[
item
.
SceneIndex
].
Setting
}
else
{
this
.
dataList
[
pIndex
].
Setting
=
[]
}
this
.
$forceUpdate
()
},
GetSceneList
(){
this
.
apipost
(
'/api/Scene/GetSceneList'
,
{
LableType
:
this
.
LableType
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
arr
=
res
.
data
.
data
arr
.
map
(
x
=>
{
if
(
x
.
Name
===
'客户名称'
||
x
.
Name
===
'备注'
||
x
.
Name
===
'商机名称'
||
x
.
Name
===
'详细地址'
||
x
.
Name
===
'姓名'
||
x
.
Name
===
'地址'
||
x
.
Name
===
'线索名称'
)
{
x
.
region
=
[
{
c
:
"等于"
,
n
:
'is'
,
t
:
't'
},
{
c
:
"不等于"
,
n
:
'isnot'
,
t
:
't'
},
{
c
:
"包含"
,
n
:
"contains"
},
{
c
:
"不包含"
,
n
:
"not_contain"
},
]
}
else
if
(
x
.
Name
===
'手机'
||
x
.
Name
===
'详细地址'
)
{
x
.
region
=
this
.
optionsNames
.
filter
(
item
=>
{
return
!
item
.
t
})
}
else
if
(
x
.
Name
===
'负责人'
||
x
.
Name
===
'创建人'
||
x
.
Name
===
'线索来源'
||
x
.
Name
===
'客户来源'
||
x
.
Name
===
'客人级别'
||
x
.
Name
===
'经营场所'
||
x
.
Name
===
'性别'
||
x
.
Name
===
'是否关键决策人'
||
x
.
Name
===
'职务'
||
x
.
Name
===
'商机状态组'
)
{
x
.
region
=
this
.
optionsNames
.
filter
(
item
=>
{
return
(
item
.
c
===
'等于'
||
item
.
c
===
'不等于'
)
&&
item
.
t
})
}
else
if
(
x
.
Name
===
'商机金额'
)
{
x
.
region
=
this
.
optionsNames
.
filter
(
item
=>
{
return
!
item
.
t
||
item
.
c
!==
'开始于'
||
item
.
c
!==
'结束于'
})
}
})
this
.
sceneList
=
arr
this
.
dataList
[
0
].
sceneList
=
arr
}
})
},
addRow
(){
this
.
dataList
.
push
(
{
SceneName
:
''
,
IsDefault
:
''
,
region
:
''
,
regionS
:
[],
sceneList
:
this
.
sceneList
,
SceneIndex
:
''
,
Setting
:
[],
time
:
[],
WhereDataStr
:
{},
formType
:
''
}
)
},
deleteRow
(
index
){
this
.
$confirm
(
'您确定要删除这一条数据吗?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
this
.
dataList
.
splice
(
index
,
1
)
this
.
$message
({
type
:
'success'
,
message
:
'删除成功!'
});
}).
catch
(()
=>
{
this
.
$message
({
type
:
'info'
,
message
:
'已取消删除'
});
});
},
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
=>
{}
);
},
}
}
</
script
>
\ No newline at end of file
src/components/guestManagement/guestManagement.vue
View file @
cb137e85
...
...
@@ -28,26 +28,65 @@
</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=
"请选择"
@
change=
"getList"
>
<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', 5, 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 WhereTyp
eList"
:key=
"item.id
"
:label=
"item.n
ame"
:value=
"item.id
"
>
v-for=
"item in SceneEmploye
eList"
:key=
"item.ID
"
:label=
"item.SceneN
ame"
:value=
"item.ID
"
>
</el-option>
</el-select>
</div>
</div>
</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', 5)"
>
高级筛选
</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
...
...
@@ -65,7 +104,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"
>
...
...
@@ -100,6 +139,13 @@
v-if=
"queryType[3].show"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop=
"CustomerLevelStr"
label=
"客户级别"
width=
"120"
v-if=
"queryType[24].show"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop=
"TraveNum"
label=
"参团数"
...
...
@@ -128,6 +174,98 @@
v-if=
"queryType[8].show"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop=
"Birthday"
label=
"生日"
width=
"120"
sortable
v-if=
"queryType[13].show"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop=
"MarriageStr"
label=
"是否结婚"
sortable
v-if=
"queryType[14].show"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop=
" Duty"
label=
"职务"
sortable
v-if=
"queryType[15].show"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop=
"IsHightSchool"
label=
"是否高中生"
sortable
width=
"120"
v-if=
"queryType[16].show"
show-overflow-tooltip
>
<
template
slot-scope=
"scope"
>
<p>
{{
scope
.
row
.
IsHightSchool
===
1
?
'是'
:
'否'
}}
</p>
</
template
>
</el-table-column>
<el-table-column
prop=
" IdCard"
label=
"身份证"
sortable
v-if=
"queryType[17].show"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop=
"PassportNo"
label=
"护照号"
sortable
v-if=
"queryType[18].show"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop=
"PassportAddress"
label=
"护照签发地"
width=
"120"
sortable
v-if=
"queryType[19].show"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop=
"PassportIssuedStr"
label=
"护照签发日期"
width=
"120"
sortable
v-if=
"queryType[20].show"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop=
"PassportExpiryStr"
label=
"护照过期时间"
width=
"120"
sortable
v-if=
"queryType[21].show"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop=
"IssuingAuthority"
label=
"签发机关"
sortable
v-if=
"queryType[22].show"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop=
"Birthday"
label=
"余额"
sortable
v-if=
"queryType[13].show"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop=
"Birthday"
label=
"余额"
sortable
v-if=
"queryType[13].show"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop=
"CustomerLevelStr"
label=
"客户等级"
...
...
@@ -135,6 +273,13 @@
v-if=
"queryType[7].show"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop=
"Remarks"
label=
"备注"
sortable
v-if=
"queryType[23].show"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop=
"UpdateDate"
label=
"最后更新时间"
...
...
@@ -271,7 +416,8 @@ export default {
},{
label
:
'参团数'
,
show
:
true
,
},{
}
,{
label
:
'商机数'
,
show
:
true
,
},{
...
...
@@ -295,6 +441,51 @@ export default {
},{
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
,
},{
label
:
'客户等级'
,
show
:
true
,
}
],
queryType
:
[
...
...
@@ -337,6 +528,51 @@ export default {
},{
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
,
},{
label
:
'客户等级'
,
show
:
true
,
}
],
CustomerId
:
0
,
...
...
@@ -362,7 +598,8 @@ export default {
pageSize
:
30
,
ContactNumber
:
''
,
WhereType
:
-
1
,
OrderBy
:
''
OrderBy
:
''
,
ID
:
36
},
total
:
0
,
WhereTypeList
:
[
...
...
@@ -390,7 +627,11 @@ export default {
class
:
'iconfont icondelete'
,
myFun
:
this
.
delete
},
]
],
sceneList
:
[],
SceneEmployeeList
:
[],
sceneID
:
36
,
visible
:
false
,
};
},
mounted
()
{
...
...
@@ -401,8 +642,53 @@ export default {
this
.
MsgBus
.
$on
(
'closeCustomerDialogBox'
,
function
(){
$this
.
dialogTableVisible
=
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
:
5
},
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
()
},
getMarriageStr
(
type
){
if
(
type
===
5
)
return
'其他'
if
(
type
===
4
)
return
'丧偶'
if
(
type
===
3
)
return
'未婚'
if
(
type
===
2
)
return
'离婚'
if
(
type
===
1
)
return
'已婚'
if
(
type
===
0
)
return
'无'
},
Employee
(){
let
msg
=
{
RB_Group_id
:
this
.
userInfo
.
RB_Group_id
,
...
...
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"
>
<
!--
<
div
class=
"bot"
@
click=
"drawer = true"
>
查看更多,参与讨论(19)
<i
class=
"el-icon-d-arrow-right"
></i>
</div>
</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,11 +24,22 @@
</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-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"
...
...
@@ -36,14 +47,34 @@
:value=
"item.id"
>
</el-option>
</el-select>
</div>
</div>
</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', 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
)
if
(
window
.
location
.
host
.
indexOf
(
'crmyx.oytour.com'
)
!=
-
1
)
{
domainUrl
=
"http://crm.oytour.com"
else
if
(
window
.
location
.
host
.
indexOf
(
'oytour.com'
)
!=
-
1
)
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