Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
H
haoban-3
Overview
Overview
Details
Activity
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
office
haoban-3
Commits
2aaae491
Commit
2aaae491
authored
Apr 23, 2021
by
陈羽
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update: 销售线索设置
parent
c3540f7f
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
137 additions
and
57 deletions
+137
-57
index.vue
src/views/salesleads/index.vue
+6
-11
salesleadsSet.vue
src/views/salesleads/salesleadsSet.vue
+79
-11
storeDetail.vue
src/views/salesleads/storeDetail.vue
+31
-15
storeList.vue
src/views/salesleads/storeList.vue
+8
-5
taskDetail.vue
src/views/salesleads/taskDetail.vue
+7
-10
taskList.vue
src/views/salesleads/taskList.vue
+6
-5
No files found.
src/views/salesleads/index.vue
View file @
2aaae491
...
@@ -11,7 +11,7 @@
...
@@ -11,7 +11,7 @@
<vue-office-header
:projectName=
"projectName"
@
collapseTag=
"collapseTag"
@
toRouterView=
"toRouterView"
>
</vue-office-header>
<vue-office-header
:projectName=
"projectName"
@
collapseTag=
"collapseTag"
@
toRouterView=
"toRouterView"
>
</vue-office-header>
<div
class=
"enterprise-wrap__body"
>
<div
class=
"enterprise-wrap__body"
>
<div
id=
"content"
class=
"content"
>
<div
id=
"content"
class=
"content"
>
<nav-crumb
:navpath=
"navpath"
>
</nav-crumb>
<nav-crumb
:navpath=
"navpath"
@
selectBrandId=
"selectBrandId"
>
</nav-crumb>
<div
class=
"content-body"
>
<div
class=
"content-body"
>
<div
class=
"right-content border-box"
>
<div
class=
"right-content border-box"
>
<div
class=
"right-box"
style=
"min-height: calc(100vh - 86px);"
>
<div
class=
"right-box"
style=
"min-height: calc(100vh - 86px);"
>
...
@@ -45,6 +45,7 @@ export default {
...
@@ -45,6 +45,7 @@ export default {
bgHeight
:
window
.
screen
.
availHeight
-
288
+
'px'
,
bgHeight
:
window
.
screen
.
availHeight
-
288
+
'px'
,
activeSelTab
:
'1'
,
activeSelTab
:
'1'
,
activeTab
:
'1'
,
activeTab
:
'1'
,
activeBrand
:
''
,
navpath
:
[
navpath
:
[
{
{
name
:
'首页'
,
name
:
'首页'
,
...
@@ -122,7 +123,10 @@ export default {
...
@@ -122,7 +123,10 @@ export default {
break
;
break
;
}
}
},
},
selectBrandId
(
val
)
{
this
.
activeBrand
=
val
;
localStorage
.
setItem
(
'userInfoBrandId'
,
val
);
},
/**
/**
* 各路由返回 tabId
* 各路由返回 tabId
*/
*/
...
@@ -157,10 +161,6 @@ export default {
...
@@ -157,10 +161,6 @@ export default {
// 深度观察监听
// 深度观察监听
deep
:
true
deep
:
true
},
},
activeBrand
:
function
(
newData
,
oldData
)
{
const
that
=
this
;
that
.
activeBrand
=
newData
;
},
activeGroup
:
function
(
newData
,
oldData
)
{
activeGroup
:
function
(
newData
,
oldData
)
{
const
that
=
this
;
const
that
=
this
;
that
.
activeGroup
=
newData
;
that
.
activeGroup
=
newData
;
...
@@ -314,8 +314,3 @@ export default {
...
@@ -314,8 +314,3 @@ export default {
}
}
}
}
</
style
>
</
style
>
<
style
lang=
"scss"
>
.salesleads-wrap
.enterprise-wrap__body
.content
.navwrap
.my-customer-brand
{
display
:
none
!important
;
}
</
style
>
src/views/salesleads/salesleadsSet.vue
View file @
2aaae491
...
@@ -4,19 +4,21 @@
...
@@ -4,19 +4,21 @@
<div
class=
"flex"
>
<div
class=
"flex"
>
<p
class=
"m-r-11 font-14 color-606266"
>
电话方式选择:
</p>
<p
class=
"m-r-11 font-14 color-606266"
>
电话方式选择:
</p>
<div>
<div>
<el-radio
v-model=
"phoneTypes"
label=
"1"
>
<el-checkbox-group
v-model=
"callType"
>
<el-checkbox
label=
"1"
>
<div
class=
"m-b-21"
style=
"display:inline-block;vertical-align:top;"
>
<div
class=
"m-b-21"
style=
"display:inline-block;vertical-align:top;"
>
<p
class=
"l-h-1 m-b-5"
>
公司电话
</p>
<p
class=
"l-h-1 m-b-5"
>
公司电话
</p>
<p
class=
"tip"
>
1.对接第三方呼叫中心,外呼显示第三方号码,可监控通话状态。费用结算及通话记录存储于GIC计费中心
</p>
<p
class=
"tip"
>
1.对接第三方呼叫中心,外呼显示第三方号码,可监控通话状态。费用结算及通话记录存储于GIC计费中心
</p>
<p
class=
"tip"
>
2.若任务创建时无双向呼叫权限,此项设置勾选也不生效
</p>
<p
class=
"tip"
>
2.若任务创建时无双向呼叫权限,此项设置勾选也不生效
</p>
</div>
</div>
</el-radio
>
</el-checkbox
>
<el-radio
v-model=
"phoneTypes"
label=
"2"
class=
"m-b-24"
>
<el-checkbox
label=
"2"
class=
"m-b-24"
>
<div
class=
"m-b-21"
style=
"display:inline-block;vertical-align:top;"
>
<div
class=
"m-b-21"
style=
"display:inline-block;vertical-align:top;"
>
<p
class=
"l-h-1 m-b-5"
>
私人电话
</p>
<p
class=
"l-h-1 m-b-5"
>
私人电话
</p>
<p
class=
"tip"
>
导购手机呼叫,无法监控通话状态。呼叫结算费用由导购手机自费
</p>
<p
class=
"tip"
>
导购手机呼叫,无法监控通话状态。呼叫结算费用由导购手机自费
</p>
</div>
</div>
</el-radio>
</el-checkbox>
</el-checkbox-group>
<p><el-button
type=
"primary"
@
click=
"submitForm"
:loading=
"loading"
>
保存
</el-button><span
class=
"font-14 color-909399 m-l-12"
>
保存后立即生效,历史数据不变,后续下达的任务按新设置运行
</span></p>
<p><el-button
type=
"primary"
@
click=
"submitForm"
:loading=
"loading"
>
保存
</el-button><span
class=
"font-14 color-909399 m-l-12"
>
保存后立即生效,历史数据不变,后续下达的任务按新设置运行
</span></p>
</div>
</div>
</div>
</div>
...
@@ -30,10 +32,18 @@ import { postRequest } from '@/api/api';
...
@@ -30,10 +32,18 @@ import { postRequest } from '@/api/api';
import
errMsg
from
'@/common/js/error'
;
import
errMsg
from
'@/common/js/error'
;
export
default
{
export
default
{
name
:
'authMerchant'
,
name
:
'authMerchant'
,
props
:
{
brandId
:
{
type
:
String
,
default
()
{
return
''
;
}
}
},
data
()
{
data
()
{
return
{
return
{
bgHeight
:
window
.
screen
.
availHeight
-
104
+
'px'
,
bgHeight
:
window
.
screen
.
availHeight
-
104
+
'px'
,
phoneTypes
:
'1'
,
callType
:
[],
// 0 : 未设置, 1 : 公司电话(双向呼叫), 2 : 私人电话, 多个请用逗号拼接
loading
:
false
loading
:
false
};
};
},
},
...
@@ -52,12 +62,32 @@ export default {
...
@@ -52,12 +62,32 @@ export default {
return
false
;
return
false
;
}
}
that
.
loading
=
true
;
that
.
loading
=
true
;
let
para
=
{
...
that
.
formData
};
that
postRequest
(
'/haoban-web/market/clue/web/setting-update'
,
para
)
.
$confirm
(
'是否确认保存该设置?'
,
''
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
})
.
then
(()
=>
{
let
para
=
{
enterpriseId
:
localStorage
.
getItem
(
'userInfoBrandId'
),
qywxEnterpriseId
:
JSON
.
parse
(
localStorage
.
getItem
(
'userInfos'
)).
wxEnterpriseId
};
if
(
that
.
callType
.
length
)
{
para
.
callType
=
that
.
callType
.
join
(
','
);
}
else
{
para
.
callType
=
'0'
;
}
postRequest
(
'/haoban-task-manage-web/market/clue/web/setting-update'
,
para
)
.
then
(
res
=>
{
.
then
(
res
=>
{
let
resData
=
res
.
data
;
let
resData
=
res
.
data
;
if
(
resData
.
errorCode
==
1
)
{
if
(
resData
.
errorCode
==
1
)
{
that
.
$message
.
success
({
duration
:
1000
,
message
:
'保存成功!'
});
that
.
loading
=
false
;
that
.
loading
=
false
;
that
.
getDeatil
();
return
false
;
return
false
;
}
}
that
.
loading
=
false
;
that
.
loading
=
false
;
...
@@ -70,10 +100,45 @@ export default {
...
@@ -70,10 +100,45 @@ export default {
message
:
error
.
message
message
:
error
.
message
});
});
});
});
})
.
catch
(()
=>
{
that
.
loading
=
false
;
});
},
getDeatil
()
{
const
that
=
this
;
let
para
=
{
enterpriseId
:
localStorage
.
getItem
(
'userInfoBrandId'
),
qywxEnterpriseId
:
JSON
.
parse
(
localStorage
.
getItem
(
'userInfos'
)).
wxEnterpriseId
};
postRequest
(
'/haoban-task-manage-web/market/clue/web/get-setting'
,
para
)
.
then
(
res
=>
{
let
resData
=
res
.
data
;
if
(
resData
.
errorCode
==
1
)
{
if
(
resData
.
result
&&
resData
.
result
.
callType
!==
'0'
)
{
that
.
callType
=
resData
.
result
.
callType
.
split
(
','
);
}
else
{
that
.
callType
=
[];
}
return
;
}
errMsg
.
errorMsg
(
resData
);
})
.
catch
(
function
(
error
)
{
that
.
$message
.
error
({
duration
:
1000
,
message
:
error
.
message
});
});
}
},
watch
:
{
brandId
(
newV
,
oldV
)
{
this
.
getDeatil
();
}
}
},
},
watch
:
{},
mounted
()
{
mounted
()
{
this
.
getDeatil
();
document
.
documentElement
.
style
.
backgroundColor
=
'#f0f2f5'
;
document
.
documentElement
.
style
.
backgroundColor
=
'#f0f2f5'
;
},
},
destroyed
()
{
destroyed
()
{
...
@@ -88,11 +153,14 @@ export default {
...
@@ -88,11 +153,14 @@ export default {
.right-content
{
.right-content
{
padding
:
33px
0
0
50px
;
padding
:
33px
0
0
50px
;
}
}
.el-
radio
{
.el-
checkbox
{
display
:
block
;
display
:
flex
;
min-height
:
22px
;
min-height
:
22px
;
>>>
.el-checkbox__label
{
padding-top
:
1px
;
}
}
}
.el-
radio
+
.el-radio
{
.el-
checkbox
+
.el-checkbox
{
margin-left
:
0
;
margin-left
:
0
;
}
}
.m-l-12
{
.m-l-12
{
...
...
src/views/salesleads/storeDetail.vue
View file @
2aaae491
...
@@ -21,21 +21,14 @@
...
@@ -21,21 +21,14 @@
<span
class=
"el-alert__title color-303133 font-13"
>
筛选时间:2020-12-31至2021-12-31
</span>
<span
class=
"el-alert__title color-303133 font-13"
>
筛选时间:2020-12-31至2021-12-31
</span>
</div>
</div>
</div>
</div>
<div
role=
"tips"
class=
"tips flex flex-align-
start
"
>
<div
role=
"tips"
class=
"tips flex flex-align-
center
"
>
<i
class=
"el-icon-warning-outline font-14 color-2f54eb"
></i>
<i
class=
"el-icon-warning-outline font-14 color-2f54eb"
></i>
<div
class=
"el-alert__content"
>
<div
class=
"el-alert__content"
>
查看指标说明
</div>
<span
class=
"el-alert__title color-2f54eb font-13"
>
查看指标说明
</span>
</div>
</div>
</div>
</div>
</div>
<div
class=
"table-condition-search m-t-20"
>
<div
class=
"table-condition-search m-t-20"
>
<el-select
class=
"w-103"
v-model=
"pageParams.taskStatus"
slot=
"prepend"
placeholder=
"所有完成情况"
@
change=
"reFetch"
>
<el-select
class=
"w-103"
v-model=
"pageParams.taskStatus"
slot=
"prepend"
placeholder=
"所有完成情况"
@
change=
"reFetch"
>
<el-option
label=
"已完成"
:value=
"2"
></el-option>
<el-option
:label=
"item.text"
:value=
"item.id"
v-for=
"item in filterOpts"
:key=
"'filter' + item.id"
></el-option>
<el-option
label=
"未完成"
:value=
"1"
></el-option>
</el-select>
<el-select
class=
"w-103"
v-model=
"pageParams.overdueStatus"
slot=
"prepend"
placeholder=
"所有逾期情况"
@
change=
"reFetch"
>
<el-option
label=
"已逾期"
:value=
"2"
></el-option>
<el-option
label=
"未逾期"
:value=
"1"
></el-option>
</el-select>
</el-select>
</div>
</div>
<div
class=
"m-t-20"
>
<div
class=
"m-t-20"
>
...
@@ -138,6 +131,7 @@ export default {
...
@@ -138,6 +131,7 @@ export default {
pageSize
:
20
,
pageSize
:
20
,
overdueStatus
:
1
overdueStatus
:
1
},
},
filterOpts
:
[],
// 分页参数
// 分页参数
total
:
0
,
total
:
0
,
tableData
:
[
tableData
:
[
...
@@ -217,7 +211,7 @@ export default {
...
@@ -217,7 +211,7 @@ export default {
para
.
endTime
=
para
.
date
[
1
];
para
.
endTime
=
para
.
date
[
1
];
delete
para
.
date
;
delete
para
.
date
;
}
}
getRequest
(
'/haoban-
manage3-web/store-full
-list'
,
para
)
getRequest
(
'/haoban-
task-manage-web/market/clue/web/task-info
-list'
,
para
)
.
then
(
res
=>
{
.
then
(
res
=>
{
let
resData
=
res
.
data
;
let
resData
=
res
.
data
;
if
(
resData
.
errorCode
==
1
)
{
if
(
resData
.
errorCode
==
1
)
{
...
@@ -234,14 +228,33 @@ export default {
...
@@ -234,14 +228,33 @@ export default {
});
});
});
});
},
},
showDetail
(
item
)
{
getFilterOpts
()
{
const
that
=
this
;
getRequest
(
'/haoban-task-manage-web/market/clue/web/query'
,
{})
.
then
(
res
=>
{
let
resData
=
res
.
data
;
if
(
resData
.
errorCode
==
1
&&
resData
.
result
)
{
that
.
filterOpts
=
resData
.
result
;
}
else
{
errMsg
.
errorMsg
(
resData
);
}
})
.
catch
(
function
(
error
)
{
that
.
$message
.
error
({
duration
:
1000
,
message
:
error
.
message
});
});
},
showDetail
()
{
this
.
confirmDetailShow
=
true
;
this
.
confirmDetailShow
=
true
;
}
}
},
},
watch
:
{},
watch
:
{},
mounted
()
{
mounted
()
{
// const that = this;
const
that
=
this
;
// that.getTableList();
that
.
getFilterOpts
();
that
.
getTableList
();
document
.
documentElement
.
style
.
backgroundColor
=
'#f0f2f5'
;
document
.
documentElement
.
style
.
backgroundColor
=
'#f0f2f5'
;
},
},
destroyed
()
{
destroyed
()
{
...
@@ -321,7 +334,10 @@ export default {
...
@@ -321,7 +334,10 @@ export default {
.tips
{
.tips
{
cursor
:
pointer
;
cursor
:
pointer
;
.el-alert__content
{
.el-alert__content
{
padding
:
0
3px
;
font-size
:
13px
;
font-weight
:
400
;
color
:
#2f54eb
;
line-height
:
1
;
}
}
}
}
}
}
...
...
src/views/salesleads/storeList.vue
View file @
2aaae491
...
@@ -21,11 +21,11 @@
...
@@ -21,11 +21,11 @@
<span
class=
"el-alert__title color-303133 font-13"
>
仅展示近一年数据,数据截取时间:2020-12-31至2021-12-31
</span>
<span
class=
"el-alert__title color-303133 font-13"
>
仅展示近一年数据,数据截取时间:2020-12-31至2021-12-31
</span>
</div>
</div>
</div>
</div>
<div
role=
"tips"
class=
"tips flex flex-align-
start
"
>
<div
role=
"tips"
class=
"tips flex flex-align-
center
"
>
<i
class=
"el-icon-warning-outline font-14 color-2f54eb"
></i>
<i
class=
"el-icon-warning-outline font-14 color-2f54eb"
></i>
<
div
class=
"el-alert__content
"
>
<
el-popover
placement=
"bottom-start"
title=
"标题"
width=
"200"
trigger=
"click"
content=
"这是一段内容,这是一段内容,这是一段内容,这是一段内容。
"
>
<
span
class=
"el-alert__title color-2f54eb font-13"
>
查看指标说明
</span
>
<
div
slot=
"reference"
class=
"el-alert__content"
>
查看指标说明
</div
>
</
div
>
</
el-popover
>
</div>
</div>
</div>
</div>
<div
class=
"table-condition-search m-t-20"
>
<div
class=
"table-condition-search m-t-20"
>
...
@@ -278,7 +278,10 @@ export default {
...
@@ -278,7 +278,10 @@ export default {
.tips
{
.tips
{
cursor
:
pointer
;
cursor
:
pointer
;
.el-alert__content
{
.el-alert__content
{
padding
:
0
3px
;
font-size
:
13px
;
font-weight
:
400
;
color
:
#2f54eb
;
line-height
:
1
;
}
}
}
}
}
}
...
...
src/views/salesleads/taskDetail.vue
View file @
2aaae491
...
@@ -21,11 +21,9 @@
...
@@ -21,11 +21,9 @@
<span
class=
"el-alert__title color-303133 font-13"
>
筛选时间:2020-12-31至2021-12-31
</span>
<span
class=
"el-alert__title color-303133 font-13"
>
筛选时间:2020-12-31至2021-12-31
</span>
</div>
</div>
</div>
</div>
<div
role=
"tips"
class=
"tips flex flex-align-
start
"
>
<div
role=
"tips"
class=
"tips flex flex-align-
center
"
>
<i
class=
"el-icon-warning-outline font-14 color-2f54eb"
></i>
<i
class=
"el-icon-warning-outline font-14 color-2f54eb"
></i>
<div
class=
"el-alert__content"
>
<div
class=
"el-alert__content"
>
查看指标说明
</div>
<span
class=
"el-alert__title color-2f54eb font-13"
>
查看指标说明
</span>
</div>
</div>
</div>
</div>
</div>
<div
class=
"table-condition-search m-t-20"
>
<div
class=
"table-condition-search m-t-20"
>
...
@@ -33,10 +31,6 @@
...
@@ -33,10 +31,6 @@
<el-option
label=
"已完成"
:value=
"2"
></el-option>
<el-option
label=
"已完成"
:value=
"2"
></el-option>
<el-option
label=
"未完成"
:value=
"1"
></el-option>
<el-option
label=
"未完成"
:value=
"1"
></el-option>
</el-select>
</el-select>
<el-select
class=
"w-103"
v-model=
"pageParams.overdueStatus"
slot=
"prepend"
placeholder=
"所有逾期情况"
@
change=
"reFetch"
>
<el-option
label=
"已逾期"
:value=
"2"
></el-option>
<el-option
label=
"未逾期"
:value=
"1"
></el-option>
</el-select>
</div>
</div>
<div
class=
"m-t-20"
>
<div
class=
"m-t-20"
>
<el-table
class=
"select-table"
ref=
"multipleTable"
:data=
"tableData"
tooltip-effect=
"dark"
:style=
"
{ width: '100%', minHeight: tableH }">
<el-table
class=
"select-table"
ref=
"multipleTable"
:data=
"tableData"
tooltip-effect=
"dark"
:style=
"
{ width: '100%', minHeight: tableH }">
...
@@ -234,7 +228,7 @@ export default {
...
@@ -234,7 +228,7 @@ export default {
});
});
});
});
},
},
showDetail
(
item
)
{
showDetail
()
{
this
.
confirmDetailShow
=
true
;
this
.
confirmDetailShow
=
true
;
}
}
},
},
...
@@ -321,7 +315,10 @@ export default {
...
@@ -321,7 +315,10 @@ export default {
.tips
{
.tips
{
cursor
:
pointer
;
cursor
:
pointer
;
.el-alert__content
{
.el-alert__content
{
padding
:
0
3px
;
font-size
:
13px
;
font-weight
:
400
;
color
:
#2f54eb
;
line-height
:
1
;
}
}
}
}
}
}
...
...
src/views/salesleads/taskList.vue
View file @
2aaae491
...
@@ -21,11 +21,9 @@
...
@@ -21,11 +21,9 @@
<span
class=
"el-alert__title color-303133 font-13"
>
仅展示近一年数据,数据截取时间:2020-12-31至2021-12-31
</span>
<span
class=
"el-alert__title color-303133 font-13"
>
仅展示近一年数据,数据截取时间:2020-12-31至2021-12-31
</span>
</div>
</div>
</div>
</div>
<div
role=
"tips"
class=
"tips flex flex-align-
start
"
>
<div
role=
"tips"
class=
"tips flex flex-align-
center
"
>
<i
class=
"el-icon-warning-outline font-14 color-2f54eb"
></i>
<i
class=
"el-icon-warning-outline font-14 color-2f54eb"
></i>
<div
class=
"el-alert__content"
>
<div
class=
"el-alert__content"
>
查看指标说明
</div>
<span
class=
"el-alert__title color-2f54eb font-13"
>
查看指标说明
</span>
</div>
</div>
</div>
</div>
</div>
<div
class=
"table-condition-search m-t-20"
>
<div
class=
"table-condition-search m-t-20"
>
...
@@ -271,7 +269,10 @@ export default {
...
@@ -271,7 +269,10 @@ export default {
.tips
{
.tips
{
cursor
:
pointer
;
cursor
:
pointer
;
.el-alert__content
{
.el-alert__content
{
padding
:
0
3px
;
font-size
:
13px
;
font-weight
:
400
;
color
:
#2f54eb
;
line-height
:
1
;
}
}
}
}
}
}
...
...
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