Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
confucius
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
罗超
confucius
Commits
28f26929
Commit
28f26929
authored
Aug 24, 2021
by
Mac
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
75f80e85
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
304 additions
and
1 deletion
+304
-1
App.vue
src/App.vue
+1
-1
wechat.js
src/api/system/wechat.js
+23
-0
notHandedOverList.vue
src/pages/enterprise/notHandedOverList.vue
+274
-0
routes.js
src/router/routes.js
+6
-0
No files found.
src/App.vue
View file @
28f26929
...
...
@@ -20,7 +20,7 @@ export default {
</
script
>
<
style
>
@import
url("//at.alicdn.com/t/font_2077629_
ltga4el15kc
.css")
;
@import
url("//at.alicdn.com/t/font_2077629_
4yvj1vbqih
.css")
;
.q-scrollarea__thumb
{
z-index
:
999999
!important
;
}
...
...
src/api/system/wechat.js
View file @
28f26929
...
...
@@ -375,6 +375,29 @@ export function SetSynvEduEmployee(data) {
data
})
}
/**
* 获取离职人员未交接客服列表
*
*/
export
function
getLeaveUserClientList
(
data
)
{
return
request
({
url
:
'/QYWeChat/GetLeaveUserClientList'
,
method
:
'post'
,
data
})
}
/**
* 获取离职人员未交接客服列表
*
*/
export
function
setLeaveUserCustomerTransfer
(
data
)
{
return
request
({
url
:
'/QYWeChat/SetLeaveUserCustomerTransfer'
,
method
:
'post'
,
data
})
}
...
...
src/pages/enterprise/notHandedOverList.vue
0 → 100644
View file @
28f26929
<
template
>
<div
class=
"channelcodeList page-body"
>
<div
class=
"page-search row items-center"
>
<div
class=
"col row wrap q-mr-lg q-col-gutter-md"
>
</div>
</div>
<div
class=
"page-content"
>
<q-table
:pagination=
"msg"
:loading=
"loading"
no-data-label=
"暂无相关数据"
flat
class=
"sticky-column-table"
separator=
"none"
title=
""
:data=
"data"
:columns=
"columns"
row-key=
"name"
>
<template
v-slot:top=
"props"
>
<div
class=
"q-table__title"
>
离职人员未交接客服列表
</div>
<q-space
/>
</
template
>
<
template
v-slot:body-cell-optioned=
"props"
>
<q-td
:props=
"props"
>
<q-btn
flat
size=
"xs"
icon=
"iconfont icon-zhuanjiao1"
style=
"font-weight:400;color: #3FC4FF"
class=
"q-mr-xs"
label=
"转交"
@
click=
"gotransfer(props.row)"
/>
</q-td>
</
template
>
<
template
v-slot:bottom
>
<!--
<q-pagination
class=
"full-width justify-end"
v-model=
"msg.pageIndex"
color=
"primary"
:max=
"pageCount"
:input=
"true"
@
input=
"changePage"
/>
-->
</
template
>
</q-table>
</div>
<q-dialog
v-model=
"isDetails"
>
<q-card
style=
"width: 450px;"
>
<q-card-section
class=
"row items-center q-pb-none"
>
<div
class=
"text-h6"
>
客户交接
</div>
<q-space
/>
<q-btn
icon=
"close"
flat
round
dense
v-close-popup
/>
</q-card-section>
<q-separator
/>
<q-card-section>
<q-select
style=
"width: 100%;"
filled
stack-label
option-value=
"Id"
option-label=
"EmployeeName"
use-input
v-model=
"jiaojMsg.ReceiveUserId"
@
filter=
"filterFn"
ref=
"Id"
:options=
"Employeelist"
label=
"交接人员"
:dense=
"false"
emit-value
map-options
/>
</q-card-section>
<q-separator
/>
<q-card-actions
align=
"right"
class=
"bg-white"
>
<q-btn
class=
"q-mr-md"
label=
"取消"
@
click=
"isDetails=false"
/>
<q-btn
color=
"accent"
class=
"q-mr-md"
label=
"确定"
@
click=
"saveOrderInfo()"
/>
</q-card-actions>
</q-card>
</q-dialog>
</div>
</template>
<
script
>
import
{
getLeaveUserClientList
,
setLeaveUserCustomerTransfer
}
from
'../../api/system/wechat'
;
import
{
queryEmployee
}
from
'../../api/users/user'
export
default
{
meta
:
{
title
:
"渠道码"
},
name
:
"channelcodeList"
,
data
()
{
return
{
loading
:
false
,
data
:
[],
pageCount
:
0
,
msg
:
{
pageIndex
:
1
,
pageSize
:
9999999
,
rowsPerPage
:
15
,
ChannelGroupId
:
0
,
Name
:
''
,
Type
:
0
,
},
columns
:
[{
name
:
'DeptName'
,
label
:
'部门'
,
field
:
'DeptName'
,
align
:
'left'
},
{
name
:
'EmpName'
,
field
:
'EmpName'
,
label
:
'员工名称'
,
align
:
'left'
,
},
{
name
:
'ClientNum'
,
field
:
'ClientNum'
,
label
:
'客户数量'
,
align
:
'left'
},
{
name
:
'optioned'
,
label
:
'操作'
,
field
:
'DeptId'
}
],
isDetails
:
false
,
jiaojMsg
:
{
TransferUserId
:
0
,
ReceiveUserId
:
''
,
ClientList
:
[]
},
Employeelist
:
[],
AllEmployeelist
:
[]
}
},
created
()
{
this
.
getList
()
this
.
queryEmployee
()
},
methods
:
{
queryEmployee
()
{
//下拉人员列表
queryEmployee
({
IsLeave
:
1
}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
AllEmployeelist
=
JSON
.
parse
(
JSON
.
stringify
(
res
.
Data
));
this
.
Employeelist
=
res
.
Data
}
}).
catch
(()
=>
{
})
},
filterFn
(
val
,
update
)
{
update
(()
=>
{
if
(
val
===
''
)
{
this
.
Employeelist
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
AllEmployeelist
))
}
else
{
const
needle
=
val
.
toLowerCase
()
this
.
Employeelist
=
this
.
AllEmployeelist
.
filter
(
v
=>
v
.
EmployeeName
.
toLowerCase
().
indexOf
(
needle
)
>
-
1
)
}
})
},
getList
()
{
this
.
loading
=
true
getLeaveUserClientList
({}).
then
(
res
=>
{
this
.
loading
=
false
this
.
data
=
res
.
Data
})
.
catch
(
err
=>
{
this
.
loading
=
false
})
},
gotransfer
(
row
)
{
this
.
jiaojMsg
.
TransferUserId
=
row
.
EmpId
;
this
.
jiaojMsg
.
ClientList
=
row
.
ClientList
;
this
.
isDetails
=
true
},
saveOrderInfo
()
{
//保存
if
(
this
.
jiaojMsg
.
ReceiveUserId
==
''
)
{
this
.
$q
.
notify
({
type
:
'negative'
,
message
:
`请选择接替人员`
,
position
:
'top'
})
return
}
if
(
this
.
jiaojMsg
.
ReceiveUserId
==
this
.
jiaojMsg
.
TransferUserId
)
{
this
.
$q
.
notify
({
type
:
'negative'
,
message
:
`接替人员不能是本人`
,
position
:
'top'
})
return
}
setLeaveUserCustomerTransfer
(
this
.
jiaojMsg
).
then
(
res
=>
{
if
(
res
.
Code
)
this
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
color
:
'accent'
,
timeout
:
2000
,
message
:
res
.
Message
,
position
:
'top'
})
this
.
isDetails
=
false
this
.
getList
()
})
.
catch
(
err
=>
{
})
},
}
}
</
script
>
<
style
>
.channelcodeList
.Sysuser_Date
.el-input--prefix
.el-input__inner
{
background-color
:
red
;
border
:
0
;
}
.channelcodeList
.state-item
{
padding
:
2px
5px
;
border-radius
:
3px
;
text-align
:
center
;
font-size
:
10px
;
}
.channelcodeList
.frIdlist
{
padding
:
3px
10px
;
border-radius
:
3px
;
background
:
#EEEEEF
;
align-items
:
center
;
justify-content
:
center
;
margin-right
:
5px
;
margin-bottom
:
5px
;
cursor
:
pointer
;
}
.class-popover
.q-pr-lg
{
padding-right
:
0
;
margin-top
:
20px
;
}
.channelcodeList
.el-date-editor.el-input
{
width
:
100%
;
}
.channelcodeList
.el-date-editor.el-input
input
{
background-color
:
transparent
!important
;
}
.channelcodeList
.el-range-editor
.el-range-input
{
background
:
none
;
}
.Sysuser_Date
.el-input__inner
{
background
:
transparent
!important
;
border
:
0
!important
;
}
.channelcodeList
.el-drawer.rtl
{
overflow
:
inherit
;
}
.channelcodeList
.box_l
{
width
:
400px
;
border-radius
:
6px
;
margin-right
:
15px
;
background
:
#fff
;
margin-top
:
20px
;
margin-left
:
10px
;
box-shadow
:
0px
0px
10px
rgba
(
191
,
191
,
191
,
0.7
);
}
.channelcodeList
.boxl_title
{
width
:
100%
;
height
:
56px
;
display
:
flex
;
align-items
:
center
;
border-bottom
:
1px
solid
#e8e8e8
;
}
</
style
>
\ No newline at end of file
src/router/routes.js
View file @
28f26929
...
...
@@ -1224,6 +1224,12 @@ const routes = [{
component
:
()
=>
import
(
"pages/enterprise/channelCodeStatistics"
)
},
{
path
:
"/enterprise/notHandedOverList"
,
//企微 未交接列表
component
:
()
=>
import
(
"pages/enterprise/notHandedOverList"
)
},
...
...
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