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
d29114b5
Commit
d29114b5
authored
Aug 24, 2021
by
Mac
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
e08679c0
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
248 additions
and
110 deletions
+248
-110
wechat.js
src/api/system/wechat.js
+13
-0
notHandedOverList.vue
src/pages/enterprise/notHandedOverList.vue
+2
-2
sysuser.vue
src/pages/school/sysuser.vue
+233
-108
No files found.
src/api/system/wechat.js
View file @
d29114b5
...
@@ -398,6 +398,19 @@ export function SetSynvEduEmployee(data) {
...
@@ -398,6 +398,19 @@ export function SetSynvEduEmployee(data) {
})
})
}
}
/**
* 获取离职人员未交接客服列表
*
*/
export
function
setUserCoustomerTransfer
(
data
)
{
return
request
({
url
:
'/QYWeChat/SetUserCoustomerTransfer'
,
method
:
'post'
,
data
})
}
...
...
src/pages/enterprise/notHandedOverList.vue
View file @
d29114b5
...
@@ -10,7 +10,7 @@
...
@@ -10,7 +10,7 @@
<q-table
:pagination=
"msg"
:loading=
"loading"
no-data-label=
"暂无相关数据"
flat
class=
"sticky-column-table"
<q-table
:pagination=
"msg"
:loading=
"loading"
no-data-label=
"暂无相关数据"
flat
class=
"sticky-column-table"
separator=
"none"
title=
""
:data=
"data"
:columns=
"columns"
row-key=
"name"
>
separator=
"none"
title=
""
:data=
"data"
:columns=
"columns"
row-key=
"name"
>
<template
v-slot:top=
"props"
>
<template
v-slot:top=
"props"
>
<div
class=
"q-table__title"
>
离职人员未交接客
服
列表
</div>
<div
class=
"q-table__title"
>
离职人员未交接客
户
列表
</div>
<q-space
/>
<q-space
/>
</
template
>
</
template
>
...
@@ -180,7 +180,7 @@
...
@@ -180,7 +180,7 @@
return
return
}
}
setLeaveUserCustomerTransfer
(
this
.
jiaojMsg
).
then
(
res
=>
{
setLeaveUserCustomerTransfer
(
this
.
jiaojMsg
).
then
(
res
=>
{
if
(
res
.
Code
)
if
(
res
.
Code
==
1
)
this
.
$q
.
notify
({
this
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
icon
:
'iconfont icon-chenggong'
,
color
:
'accent'
,
color
:
'accent'
,
...
...
src/pages/school/sysuser.vue
View file @
d29114b5
...
@@ -11,7 +11,6 @@
...
@@ -11,7 +11,6 @@
padding
:
0
3px
;
padding
:
0
3px
;
min-height
:
0
!important
;
min-height
:
0
!important
;
}
}
</
style
>
</
style
>
<
template
>
<
template
>
<div
class=
"page-body"
>
<div
class=
"page-body"
>
...
@@ -54,7 +53,8 @@
...
@@ -54,7 +53,8 @@
<el-date-picker
v-model=
"dateListThree"
@
change=
"resetSearch()"
value-format=
"yyyy-MM-dd"
type=
"daterange"
style=
"border:none;"
<el-date-picker
v-model=
"dateListThree"
@
change=
"resetSearch()"
value-format=
"yyyy-MM-dd"
type=
"daterange"
style=
"border:none;"
range-separator=
"至"
start-placeholder=
"离职开始日期"
end-placeholder=
"离职结束日期"
>
range-separator=
"至"
start-placeholder=
"离职开始日期"
end-placeholder=
"离职结束日期"
>
</el-date-picker>
</el-date-picker>
</
template
>
</
template
>
</q-field>
</q-field>
</div>
</div>
<div
class=
"col-3 Sysuser_Date"
>
<div
class=
"col-3 Sysuser_Date"
>
...
@@ -182,6 +182,11 @@
...
@@ -182,6 +182,11 @@
<q-item-label>
重置密码
</q-item-label>
<q-item-label>
重置密码
</q-item-label>
</q-item-section>
</q-item-section>
</q-item>
</q-item>
<q-item
clickable
v-close-popup
@
click=
"khHandover(props.row)"
>
<q-item-section>
<q-item-label>
客户交接
</q-item-label>
</q-item-section>
</q-item>
</q-list>
</q-list>
</q-btn-dropdown>
</q-btn-dropdown>
</div>
</div>
...
@@ -194,6 +199,40 @@
...
@@ -194,6 +199,40 @@
</employee-set>
</employee-set>
<employee-info
v-if=
"isShowEmpInfo"
:save-obj=
"managerOption"
@
close=
"closeStuForm"
@
success=
"refreshPage"
>
<employee-info
v-if=
"isShowEmpInfo"
:save-obj=
"managerOption"
@
close=
"closeStuForm"
@
success=
"refreshPage"
>
</employee-info>
</employee-info>
<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>
<div>
<q-select
style=
"width: 100%;"
filled
stack-label
option-value=
"Id"
option-label=
"EmployeeName"
use-input
v-model=
"joinMsg.ReceiveUserId"
@
filter=
"filterFn"
ref=
"Id"
:options=
"Employeelist"
label=
"交接人员"
:dense=
"false"
emit-value
map-options
/>
</div>
<div
style=
"font-size: 12px;color:red;margin-top: 10px;"
>
注:必须选择一项转移目标
</div>
<div
style=
"display: flex;align-items: center;margin-top: 0px;"
>
<div
style=
"width: 110px;"
>
客户转移
</div>
<q-radio
v-model=
"joinMsg.CustomerTransfer"
val=
"1"
label=
"是"
/>
<q-radio
v-model=
"joinMsg.CustomerTransfer"
val=
"2"
label=
"否"
/>
</div>
<div
style=
"display: flex;align-items: center;margin-top: 10px;"
>
<div
style=
"width: 110px;"
>
渠道码人员转移
</div>
<q-radio
v-model=
"joinMsg.ChannelTransfer"
val=
"1"
label=
"是"
/>
<q-radio
v-model=
"joinMsg.ChannelTransfer"
val=
"2"
label=
"否"
/>
</div>
</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()"
:loading=
"jtloading"
/>
</q-card-actions>
</q-card>
</q-dialog>
</div>
</div>
</div>
</div>
</template>
</template>
...
@@ -208,6 +247,7 @@
...
@@ -208,6 +247,7 @@
}
from
'../../api/school/index'
}
from
'../../api/school/index'
import
{
import
{
SetSynvEduEmployee
,
SetSynvEduEmployee
,
setUserCoustomerTransfer
}
from
'../../api/system/wechat'
;
}
from
'../../api/system/wechat'
;
import
{
import
{
BatchResetUserPassword
BatchResetUserPassword
...
@@ -219,6 +259,9 @@
...
@@ -219,6 +259,9 @@
import
{
import
{
getDeptTree
getDeptTree
}
from
'../../api/system/dept.js'
}
from
'../../api/system/dept.js'
import
{
queryEmployee
}
from
'../../api/users/user'
import
managerForm
from
'../../components/school/manager/manager-form'
import
managerForm
from
'../../components/school/manager/manager-form'
import
employeeSet
from
'../../components/school/manager/employee-set'
import
employeeSet
from
'../../components/school/manager/employee-set'
import
employeeInfo
from
'../../components/school/manager/employee-info'
import
employeeInfo
from
'../../components/school/manager/employee-info'
...
@@ -240,6 +283,8 @@
...
@@ -240,6 +283,8 @@
data
()
{
data
()
{
return
{
return
{
currentUrl
:
""
,
currentUrl
:
""
,
isDetails
:
false
,
jtloading
:
false
,
columns
:
[{
columns
:
[{
name
:
'desc'
,
name
:
'desc'
,
required
:
true
,
required
:
true
,
...
@@ -370,6 +415,14 @@
...
@@ -370,6 +415,14 @@
selected
:
[]
selected
:
[]
},
},
isShowEmpInfo
:
false
,
//是否显示员工信息
isShowEmpInfo
:
false
,
//是否显示员工信息
joinMsg
:
{
TransferUserId
:
''
,
ReceiveUserId
:
''
,
CustomerTransfer
:
'1'
,
ChannelTransfer
:
'1'
},
Employeelist
:
[],
AllEmployeelist
:
[]
}
}
},
},
mounted
()
{
mounted
()
{
...
@@ -379,6 +432,8 @@
...
@@ -379,6 +432,8 @@
this
.
getDepartList
(
0
);
this
.
getDepartList
(
0
);
this
.
queryPostList
(
0
);
this
.
queryPostList
(
0
);
this
.
getLeaveState
();
this
.
getLeaveState
();
this
.
queryEmployee
()
},
},
methods
:
{
methods
:
{
resetSearch
()
{
resetSearch
()
{
...
@@ -691,10 +746,10 @@
...
@@ -691,10 +746,10 @@
path
:
tempStr
path
:
tempStr
});
});
},
},
synchronization
(){
synchronization
()
{
Loading
.
show
({
Loading
.
show
({
message
:
'数据正在同步中,请稍后进入企业微信查看'
,
message
:
'数据正在同步中,请稍后进入企业微信查看'
,
spinner
:
QSpinnerPie
spinner
:
QSpinnerPie
})
})
SetSynvEduEmployee
({}).
then
(
res
=>
{
SetSynvEduEmployee
({}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
if
(
res
.
Code
==
1
)
{
...
@@ -708,17 +763,87 @@
...
@@ -708,17 +763,87 @@
Loading
.
hide
()
Loading
.
hide
()
}
}
})
})
.
catch
(
err
=>
{
.
catch
(
err
=>
{
Loading
.
hide
()
Loading
.
hide
()
})
})
},
},
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
)
}
})
},
khHandover
(
row
)
{
//客户交接
this
.
joinMsg
.
TransferUserId
=
row
.
EmAccountId
this
.
joinMsg
.
CustomerTransfer
=
'1'
this
.
joinMsg
.
ChannelTransfer
=
'1'
this
.
isDetails
=
true
},
saveOrderInfo
()
{
//保存
if
(
this
.
joinMsg
.
ReceiveUserId
==
''
)
{
this
.
$q
.
notify
({
type
:
'negative'
,
message
:
`请选择接替人员`
,
position
:
'top'
})
return
}
if
(
this
.
joinMsg
.
ReceiveUserId
==
this
.
joinMsg
.
TransferUserId
)
{
this
.
$q
.
notify
({
type
:
'negative'
,
message
:
`接替人员不能是本人`
,
position
:
'top'
})
return
}
if
(
this
.
joinMsg
.
CustomerTransfer
==
2
&&
this
.
joinMsg
.
ChannelTransfer
==
2
){
this
.
$q
.
notify
({
type
:
'negative'
,
message
:
`转移目标必须选择一项`
,
position
:
'top'
})
return
}
this
.
jtloading
=
true
setUserCoustomerTransfer
(
this
.
joinMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
this
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
color
:
'accent'
,
timeout
:
2000
,
message
:
res
.
Message
,
position
:
'top'
})
this
.
isDetails
=
false
this
.
jtloading
=
false
this
.
getManager
()
})
.
catch
(
err
=>
{
this
.
jtloading
=
false
})
},
},
},
}
}
</
script
>
</
script
>
<
style
lang=
"sass"
>
<
style
lang=
"sass"
>
@import
url('~assets/css/table.sass')
@import
url('~assets/css/table.sass')
</
style
>
</
style
>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment