Commit d29114b5 authored by Mac's avatar Mac

1

parent e08679c0
...@@ -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
})
}
......
...@@ -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',
......
...@@ -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,98 +283,100 @@ ...@@ -240,98 +283,100 @@
data() { data() {
return { return {
currentUrl: "", currentUrl: "",
isDetails: false,
jtloading:false,
columns: [{ columns: [{
name: 'desc', name: 'desc',
required: true, required: true,
label: '', label: '',
align: 'left', align: 'left',
}, },
{ {
name: 'EmployeeName', name: 'EmployeeName',
required: true, required: true,
label: '姓名', label: '姓名',
align: 'left', align: 'left',
field: row => row.EmployeeName field: row => row.EmployeeName
}, },
{ {
name: 'SchoolName', name: 'SchoolName',
label: '公司', label: '公司',
field: 'SchoolName', field: 'SchoolName',
align: 'left', align: 'left',
}, },
{ {
name: 'DeptName', name: 'DeptName',
label: '部门', label: '部门',
field: 'DeptName', field: 'DeptName',
align: 'left', align: 'left',
}, },
{ {
name: 'PostName', name: 'PostName',
label: '职位', label: '职位',
field: 'PostName', field: 'PostName',
align: 'left', align: 'left',
}, },
{ {
name: 'Sex', name: 'Sex',
label: '性别', label: '性别',
field: 'Sex', field: 'Sex',
align: 'left' align: 'left'
}, },
{ {
name: 'Account', name: 'Account',
label: '账号', label: '账号',
align: 'left', align: 'left',
field: 'Account' field: 'Account'
}, },
{ {
name: 'EmployeeTel', name: 'EmployeeTel',
label: '联系电话', label: '联系电话',
field: 'EmployeeTel', field: 'EmployeeTel',
align: 'left' align: 'left'
}, },
{ {
name: 'BirthDate', name: 'BirthDate',
label: '生日', label: '生日',
field: 'BirthDate', field: 'BirthDate',
align: 'left' align: 'left'
}, },
{ {
name: 'Education', name: 'Education',
label: '学历', label: '学历',
field: 'Education', field: 'Education',
align: 'left' align: 'left'
}, },
{ {
name: 'LeaveStatus', name: 'LeaveStatus',
label: '状态', label: '状态',
field: 'LeaveStatus', field: 'LeaveStatus',
align: 'left', align: 'left',
}, },
{ {
name: 'DirectSupervisorName', name: 'DirectSupervisorName',
label: '直属上级', label: '直属上级',
field: 'DirectSupervisorName', field: 'DirectSupervisorName',
align: 'left', align: 'left',
}, },
{ {
name: 'AccountRemark', name: 'AccountRemark',
label: '行政备注', label: '行政备注',
field: 'AccountRemark', field: 'AccountRemark',
align: 'left', align: 'left',
}, },
{ {
name: 'PropertyNumber', name: 'PropertyNumber',
required: true, required: true,
label: '使用资产', label: '使用资产',
align: 'left', align: 'left',
field: row => row.PropertyNumber field: row => row.PropertyNumber
}, },
{ {
name: 'optioned', name: 'optioned',
label: '操作', label: '操作',
field: 'MId' field: 'MId'
} }
], ],
data: [], data: [],
loading: true, loading: 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,28 +746,99 @@ ...@@ -691,28 +746,99 @@
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) {
that.$q.notify({ that.$q.notify({
icon: 'iconfont icon-chenggong', icon: 'iconfont icon-chenggong',
color: 'accent', color: 'accent',
timeout: 2000, timeout: 2000,
message: '操作成功', message: '操作成功',
position: 'top' position: 'top'
})
Loading.hide()
}
})
.catch(err => {
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'
}) })
Loading.hide() 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=>{ .catch(err => {
Loading.hide() this.jtloading = false
}) })
}, },
}, },
} }
...@@ -720,5 +846,4 @@ ...@@ -720,5 +846,4 @@
</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
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment