Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
customer-admin
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
customer-admin
Commits
5f863494
提交
5f863494
authored
10月 25, 2021
作者:
matian
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
代码提交
上级
4fc50246
隐藏空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
437 行增加
和
93 行删除
+437
-93
api.js
src/modules/customer/api.js
+9
-1
BaseInfo.vue
src/modules/customer/components/BaseInfo.vue
+39
-37
CreateContact.vue
src/modules/customer/components/CreateContact.vue
+101
-0
CreateCoopProject.vue
src/modules/customer/components/CreateCoopProject.vue
+116
-0
CreateFollow.vue
src/modules/customer/components/CreateFollow.vue
+125
-0
index.js
src/modules/customer/index.js
+1
-0
Details.vue
src/modules/customer/views/Details.vue
+7
-25
Index.vue
src/modules/customer/views/Index.vue
+16
-11
AddCustomer.vue
src/modules/system/customergroup/components/AddCustomer.vue
+8
-11
AddEmployees.vue
src/modules/system/customergroup/components/AddEmployees.vue
+15
-8
没有找到文件。
src/modules/customer/api.js
浏览文件 @
5f863494
...
...
@@ -4,7 +4,15 @@ import httpRequest from '@/utils/axios'
export
function
getCustomerList
(
params
)
{
return
httpRequest
.
get
(
'/api/customer/admin/v1/customers'
,
{
params
})
}
// 新建客户
组
// 新建客户
export
function
createCustomer
(
data
)
{
return
httpRequest
.
post
(
'/api/customer/admin/v1/customer'
,
data
)
}
// 新建联系人
export
function
createContact
(
data
)
{
return
httpRequest
.
post
(
'/api/customer/admin/v1/{customer_id}/contact'
,
data
)
}
// 获取联系人
export
function
getContactDetail
(
params
)
{
return
httpRequest
.
get
(
`/api/customer/admin/v1/customer/
${
params
.
id
}
`
,
params
)
}
src/modules/customer/components/BaseInfo.vue
浏览文件 @
5f863494
...
...
@@ -4,55 +4,58 @@
<el-button
type=
"primary"
size=
"small"
>
更 新
</el-button>
</div>
<div
class=
"info"
>
<div
class=
"item"
>
<label>
客户名称:
</label>
{{
form
.
name
}}
</div>
<div
class=
"item"
>
<label>
客户简称:
</label>
{{
form
.
abbr
}}
</div>
<div
class=
"item"
>
<label>
客户来源:
</label>
{{
form
.
source
}}
</div>
<div
class=
"item"
>
<label>
客户分类:
</label>
{{
form
.
category
}}
</div>
<div
class=
"item"
>
<label>
所在地区:
</label>
{{
form
.
area
}}
</div>
<div
class=
"item"
>
<label>
详细地址:
</label>
{{
form
.
address
}}
</div>
<div
class=
"item"
>
<label>
备注:
</label>
{{
form
.
remark
}}
</div>
<div
class=
"item"
><label>
客户名称:
</label>
{{
form
.
name
}}
</div>
<div
class=
"item"
><label>
客户简称:
</label>
{{
form
.
short_name
}}
</div>
<div
class=
"item"
><label>
客户来源:
</label>
{{
form
.
source
}}
</div>
<div
class=
"item"
><label>
客户分类:
</label>
{{
form
.
type
}}
</div>
<div
class=
"item"
><label>
所在地区:
</label>
{{
form
.
region
}}
</div>
<div
class=
"item"
><label>
详细地址:
</label>
{{
form
.
address
}}
</div>
<div
class=
"item"
><label>
备注:
</label>
{{
form
.
remark
}}
</div>
</div>
</div>
</
template
>
<
script
>
import
{
getContactDetail
}
from
'../api'
export
default
{
name
:
'BaseInfo'
,
props
:
{
id
:
{
type
:
String
}
},
data
()
{
return
{
form
:
{
name
:
'
北京大学继续教育学院
'
,
abbr
:
'
北大继教
'
,
source
:
'
公司资源
'
,
category
:
'
院校类
'
,
area
:
'
北京市北京市海淀区
'
,
address
:
'
北京市海淀区颐和园路5号
'
,
remark
:
'
北京大学怎么怎么样等等
'
name
:
''
,
abbr
:
''
,
source
:
''
,
category
:
''
,
area
:
''
,
address
:
''
,
remark
:
''
}
}
},
mounted
()
{
this
.
getBaseInfo
()
},
methods
:
{
getBaseInfo
()
{
const
params
=
{
id
:
this
.
id
}
getContactDetail
(
params
).
then
(
res
=>
{
this
.
form
=
res
.
data
})
}
}
}
</
script
>
<
style
scoped
>
.bar
{
padding-bottom
:
10px
;
.bar
{
padding-bottom
:
10px
;
}
.item
{
font-size
:
16px
;
line-height
:
48px
;
color
:
#494949
;
.item
{
font-size
:
16px
;
line-height
:
48px
;
color
:
#494949
;
}
</
style
>
\ No newline at end of file
</
style
>
src/modules/customer/components/CreateContact.vue
0 → 100644
浏览文件 @
5f863494
<
template
>
<el-dialog
v-bind=
"$attrs"
v-on=
"$listeners"
width=
"30%"
top=
"40vh"
:title=
"title"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"100px"
>
<el-form-item
label=
"姓名"
prop=
"name"
>
<el-input
v-model=
"form.name"
/>
</el-form-item>
<el-form-item
label=
"职责"
prop=
"position"
>
<el-input
v-model=
"form.position"
/>
</el-form-item>
<el-form-item
label=
"部门"
prop=
"department"
>
<el-input
v-model=
"form.department"
/>
</el-form-item>
<el-form-item
label=
"电话"
prop=
"mobile"
>
<el-input
v-model=
"form.mobile"
/>
</el-form-item>
<el-form-item
label=
"邮箱"
prop=
"email"
>
<el-input
v-model=
"form.email"
/>
</el-form-item>
<el-form-item
label=
"微信号"
prop=
"wechat"
>
<el-input
v-model=
"form.wechat"
/>
</el-form-item>
<el-form-item
label=
"QQ"
prop=
"qq"
>
<el-input
v-model=
"form.qq"
/>
</el-form-item>
<el-form-item
label=
"附属手机"
prop=
"sub_mobile"
>
<el-input
v-model=
"form.sub_mobile"
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
style=
"margin-left: 20px"
@
click=
"submit"
>
提交
</el-button>
<el-button
@
click=
"$emit('update:visible', false)"
style=
"margin-left: 50px"
>
取消
</el-button>
</el-form-item>
</el-form>
</el-dialog>
</
template
>
<
script
>
import
{
createContact
}
from
'../api'
export
default
{
data
()
{
return
{
form
:
{
name
:
''
,
positoon
:
''
,
department
:
''
,
mobile
:
''
,
sub_mobile
:
''
,
email
:
''
,
wechat
:
''
,
qq
:
''
},
rules
:
{
name
:
[{
required
:
true
,
message
:
''
,
trigger
:
'blur'
}],
mobile
:
[{
required
:
true
,
message
:
''
,
trigger
:
'blur'
}]
}
}
},
props
:
{
data
:
{
type
:
Object
,
default
:
()
=>
({})
}
},
methods
:
{
// 提交
submit
()
{
this
.
$refs
.
form
.
validate
().
then
(()
=>
{
const
params
=
Object
.
assign
({
group_id
:
this
.
id
},
this
.
form
)
createContact
(
params
).
then
(
res
=>
{
this
.
$message
.
success
(
'新建联系人成功'
)
this
.
$emit
(
'update:visible'
,
false
)
this
.
$emit
(
'success'
,
res
.
data
)
})
})
}
}
}
</
script
>
<
style
scoped
>
::v-deep
.case-dialog
{
width
:
95%
;
max-width
:
1160px
;
margin-bottom
:
20px
;
}
::v-deep
.el-dialog__header
{
padding
:
12px
20px
20px
;
}
::v-deep
.el-dialog__headerbtn
{
top
:
12px
;
}
::v-deep
.el-dialog__body
{
padding
:
0
20px
20px
;
}
::v-deep
.form-item-select
{
display
:
inline-block
;
width
:
calc
(
50%
-
10px
);
}
::v-deep
.el-cascader
{
width
:
100%
;
}
</
style
>
src/modules/customer/components/CreateCoopProject.vue
0 → 100644
浏览文件 @
5f863494
<
template
>
<el-dialog
v-bind=
"$attrs"
v-on=
"$listeners"
top=
"40vh"
:title=
"title"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"100px"
>
<el-form-item
label=
"项目"
prop=
"tag"
>
<el-select
v-model=
"form.source"
placeholder=
"请选择项目"
size=
"small"
style=
"width: 100%"
>
<el-option
label=
"产业学院"
:value=
"1"
></el-option>
<el-option
label=
"1+X"
:value=
"2"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"项目进度"
prop=
"status"
>
<el-select
v-model=
"form.status"
placeholder=
"请选择进度"
size=
"small"
style=
"width: 100%"
>
<el-option
label=
"待跟进"
:value=
"1"
></el-option>
<el-option
label=
"跟进中"
:value=
"2"
></el-option>
<el-option
label=
"待签约"
:value=
"3"
></el-option>
<el-option
label=
"已签约"
:value=
"4"
></el-option>
<el-option
label=
"已合作"
:value=
"5"
></el-option>
<el-option
label=
"已失效"
:value=
"6"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"负责人"
prop=
"project_sso_ids"
>
<el-select
v-model=
"form.project_sso_ids"
placeholder=
"请选择负责人(可多选)"
size=
"small"
style=
"width: 100%"
>
<el-option
label=
"公司资源"
:value=
"1"
></el-option>
<el-option
label=
"自己开拓"
:value=
"2"
></el-option>
<el-option
label=
"第三方介绍"
:value=
"3"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"合作意向"
prop=
"cooperation_intention"
>
<el-select
v-model=
"form.cooperation_intention"
placeholder=
"请选择合作意向度"
size=
"small"
style=
"width: 100%"
>
<el-option
label=
"1"
:value=
"1"
></el-option>
<el-option
label=
"2"
:value=
"2"
></el-option>
<el-option
label=
"3"
:value=
"3"
></el-option>
<el-option
label=
"4"
:value=
"4"
></el-option>
<el-option
label=
"5"
:value=
"5"
></el-option>
<el-option
label=
"6"
:value=
"6"
></el-option>
<el-option
label=
"7"
:value=
"7"
></el-option>
<el-option
label=
"8"
:value=
"8"
></el-option>
<el-option
label=
"9"
:value=
"9"
></el-option>
<el-option
label=
"10"
:value=
"10"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"备注"
prop=
"remark"
>
<el-input
v-model=
"form.remark"
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
style=
"margin-left: 20px"
@
click=
"submit"
>
提交
</el-button>
<el-button
@
click=
"$emit('update:visible', false)"
style=
"margin-left: 50px"
>
取消
</el-button>
</el-form-item>
</el-form>
</el-dialog>
</
template
>
<
script
>
import
{
createContact
}
from
'../api'
export
default
{
data
()
{
return
{
form
:
{
tag
:
''
,
status
:
''
,
cooperation_intention
:
''
,
remark
:
''
,
project_sso_ids
:
''
},
rules
:
{
tag
:
[{
required
:
true
,
message
:
''
,
trigger
:
'blur'
}],
status
:
[{
required
:
true
,
message
:
''
,
trigger
:
'blur'
}],
project_sso_ids
:
[{
required
:
true
,
message
:
''
,
trigger
:
'blur'
}],
cooperation_intention
:
[{
required
:
true
,
message
:
''
,
trigger
:
'blur'
}]
}
}
},
props
:
{
data
:
{
type
:
Object
,
default
:
()
=>
({})
}
},
methods
:
{
// 提交
submit
()
{
this
.
$refs
.
form
.
validate
().
then
(()
=>
{
const
params
=
Object
.
assign
({
group_id
:
this
.
id
},
this
.
form
)
createContact
(
params
).
then
(
res
=>
{
this
.
$message
.
success
(
'新建联系人成功'
)
this
.
$emit
(
'update:visible'
,
false
)
this
.
$emit
(
'success'
,
res
.
data
)
})
})
}
}
}
</
script
>
<
style
scoped
>
::v-deep
.case-dialog
{
width
:
95%
;
max-width
:
1160px
;
margin-bottom
:
20px
;
}
::v-deep
.el-dialog__header
{
padding
:
12px
20px
20px
;
}
::v-deep
.el-dialog__headerbtn
{
top
:
12px
;
}
::v-deep
.el-dialog__body
{
padding
:
0
20px
20px
;
}
::v-deep
.form-item-select
{
display
:
inline-block
;
width
:
calc
(
50%
-
10px
);
}
::v-deep
.el-cascader
{
width
:
100%
;
}
</
style
>
src/modules/customer/components/CreateFollow.vue
0 → 100644
浏览文件 @
5f863494
<
template
>
<el-dialog
v-bind=
"$attrs"
v-on=
"$listeners"
width=
"30%"
top=
"40vh"
:title=
"title"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"100px"
>
<el-form-item
label=
"跟进员工"
prop=
"staff"
>
<el-select
v-model=
"form.source"
placeholder=
"请选择跟进员工"
size=
"small"
style=
"width: 100%"
>
<el-option
label=
"产业学院"
:value=
"1"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"跟进时间"
prop=
"follow_up_date"
>
<el-input
v-model=
"form.follow_up_date"
/>
</el-form-item>
<el-form-item
label=
"联系人"
prop=
"contact_id"
>
<el-select
v-model=
"form.contact_id"
placeholder=
"请选择负责人(可多选)"
size=
"small"
style=
"width: 100%"
>
<el-option
label=
"公司资源"
:value=
"1"
></el-option>
<el-option
label=
"自己开拓"
:value=
"2"
></el-option>
<el-option
label=
"第三方介绍"
:value=
"3"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"跟进项目"
prop=
"project_id"
>
<el-select
v-model=
"form.project_id"
placeholder=
"请选择合作意向度"
size=
"small"
style=
"width: 100%"
>
<el-option
label=
"1"
:value=
"1"
></el-option>
<el-option
label=
"2"
:value=
"2"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"跟进方式"
prop=
"communication_mode"
>
<el-select
v-model=
"form.communication_mode"
placeholder=
"请选择合作意向度"
size=
"small"
style=
"width: 100%"
>
<el-option
label=
"1"
:value=
"1"
></el-option>
<el-option
label=
"2"
:value=
"2"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"下次联络时间"
prop=
"next_contact_time"
>
<el-input
v-model=
"form.next_contact_time"
placeholder=
"请选择合作意向度"
size=
"small"
style=
"width: 100%"
/>
</el-form-item>
<el-form-item
label=
"当前项目进展"
prop=
"project_status"
>
<el-select
v-model=
"form.project_status"
placeholder=
"请选择当前项目进展"
size=
"small"
style=
"width: 100%"
>
<el-option
label=
"待跟进"
:value=
"1"
></el-option>
<el-option
label=
"跟进中"
:value=
"2"
></el-option>
<el-option
label=
"待签约"
:value=
"3"
></el-option>
<el-option
label=
"已签约"
:value=
"4"
></el-option>
<el-option
label=
"已合作"
:value=
"5"
></el-option>
<el-option
label=
"已失效"
:value=
"6"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"跟进记录"
prop=
"desc"
>
<el-input
v-model=
"form.desc"
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
style=
"margin-left: 20px"
@
click=
"submit"
>
提交
</el-button>
<el-button
@
click=
"$emit('update:visible', false)"
style=
"margin-left: 50px"
>
取消
</el-button>
</el-form-item>
</el-form>
</el-dialog>
</
template
>
<
script
>
import
{
createContact
}
from
'../api'
export
default
{
data
()
{
return
{
form
:
{
staff
:
''
,
follow_up_date
:
''
,
contact_id
:
''
,
project_id
:
''
,
communication_mode
:
''
,
next_contact_time
:
''
,
desc
:
''
,
project_status
:
''
},
rules
:
{
staff
:
[{
required
:
true
,
message
:
''
,
trigger
:
'blur'
}],
follow_up_date
:
[{
required
:
true
,
message
:
''
,
trigger
:
'blur'
}],
contact_id
:
[{
required
:
true
,
message
:
''
,
trigger
:
'blur'
}],
communication_mode
:
[{
required
:
true
,
message
:
''
,
trigger
:
'blur'
}],
cooperation_intention
:
[{
required
:
true
,
message
:
''
,
trigger
:
'blur'
}],
desc
:
[{
required
:
true
,
message
:
''
,
trigger
:
'blur'
}],
project_status
:
[{
required
:
true
,
message
:
''
,
trigger
:
'blur'
}]
}
}
},
props
:
{
data
:
{
type
:
Object
,
default
:
()
=>
({})
}
},
methods
:
{
// 提交
submit
()
{
this
.
$refs
.
form
.
validate
().
then
(()
=>
{
const
params
=
Object
.
assign
({
group_id
:
this
.
id
},
this
.
form
)
createContact
(
params
).
then
(
res
=>
{
this
.
$message
.
success
(
'新建联系人成功'
)
this
.
$emit
(
'update:visible'
,
false
)
this
.
$emit
(
'success'
,
res
.
data
)
})
})
}
}
}
</
script
>
<
style
scoped
>
::v-deep
.case-dialog
{
width
:
95%
;
max-width
:
1160px
;
margin-bottom
:
20px
;
}
::v-deep
.el-dialog__header
{
padding
:
12px
20px
20px
;
}
::v-deep
.el-dialog__headerbtn
{
top
:
12px
;
}
::v-deep
.el-dialog__body
{
padding
:
0
20px
20px
;
}
::v-deep
.form-item-select
{
display
:
inline-block
;
width
:
calc
(
50%
-
10px
);
}
::v-deep
.el-cascader
{
width
:
100%
;
}
</
style
>
src/modules/customer/index.js
浏览文件 @
5f863494
...
...
@@ -17,6 +17,7 @@ const routes = [
meta
:
{
title
:
''
}
},
{
name
:
'details'
,
path
:
'details'
,
component
:
()
=>
import
(
'./views/Details.vue'
),
meta
:
{
title
:
'客户详情'
}
...
...
src/modules/customer/views/Details.vue
浏览文件 @
5f863494
...
...
@@ -2,7 +2,7 @@
<app-card>
<el-tabs
v-model=
"tabActive"
type=
"card"
>
<el-tab-pane
label=
"基本信息"
name=
"baseInfo"
>
<base-info
/>
<base-info
:id=
"id"
/>
</el-tab-pane>
<el-tab-pane
label=
"联系人"
name=
"contacts"
>
<contact
/>
...
...
@@ -20,44 +20,26 @@
<
script
>
// 组件
import
AppList
from
'@/components/base/AppList.vue'
import
AppCard
from
'@/components/base/AppCard.vue'
import
BaseInfo
from
'../components/BaseInfo.vue'
import
Contact
from
'../components/Contact.vue'
import
Project
from
'@/modules/customer/components/Project.vue'
import
FollowRemark
from
'../components/FollowRemark.vue'
// 接口
// import { getRoleList } from '../api'
export
default
{
components
:
{
AppCard
,
AppList
,
BaseInfo
,
Contact
,
Project
,
FollowRemark
},
components
:
{
BaseInfo
,
Contact
,
Project
,
FollowRemark
},
data
()
{
return
{
tabActive
:
'baseInfo'
}
},
computed
:
{
},
methods
:
{
// 查看
handleDetails
(
row
)
{
console
.
log
(
row
)
},
// 删除弹窗确认
handleRemove
(
data
)
{
this
.
$confirm
(
'角色删除请谨慎操作,确定删除?'
,
'删除角色'
,
{
confirmButtonText
:
'删除'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(
this
.
handleRemove
(
data
))
},
// 删除请求
fetchRemove
(
data
)
{
console
.
log
(
data
)
id
()
{
return
this
.
$route
.
query
.
id
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
</
style
>
<
style
lang=
"scss"
scoped
></
style
>
src/modules/customer/views/Index.vue
浏览文件 @
5f863494
...
...
@@ -12,7 +12,7 @@
range-separator=
"至"
start-placeholder=
"开始时间"
end-placeholder=
"结束时间"
size=
'small'
size=
"small"
>
</el-date-picker>
</
template
>
...
...
@@ -29,7 +29,7 @@
range-separator=
"至"
start-placeholder=
"开始时间"
end-placeholder=
"结束时间"
size=
'small'
size=
"small"
>
</el-date-picker>
</
template
>
...
...
@@ -266,7 +266,12 @@ export default {
// 查看
handleDetails
(
row
)
{
console
.
log
(
row
)
this
.
$router
.
push
(
'/customer-manage/details'
)
this
.
$router
.
push
({
name
:
'details'
,
query
:
{
id
:
row
.
id
}
})
},
// 删除弹窗确认
handleRemove
(
data
)
{
...
...
@@ -285,19 +290,19 @@ export default {
</
script
>
<
style
lang=
"scss"
scoped
>
.
customer
:
:
v-deep
.
table-list-hd
.
el-date-editor--datetimerange
.
el-input__inner
{
.
customer
:
:
v-deep
.
table-list-hd
.
el-date-editor--datetimerange
.
el-input__inner
{
width
:
280px
;
padding
:
3px
0
3px
6px
;
padding
:
3px
0
3px
6px
;
}
.
customer
:
:
v-deep
.
table-list-hd
.
el-input
{
.
customer
:
:
v-deep
.
table-list-hd
.
el-input
{
width
:
280px
;
min-width
:
160px
;
min-width
:
160px
;
}
.
customer
:
:
v-deep
.
table-list-hd
.
el-select
{
.
customer
:
:
v-deep
.
table-list-hd
.
el-select
{
width
:
280px
;
min-width
:
160px
;
min-width
:
160px
;
}
.
customer
:
:
v-deep
.
table-list-hd
.
el-form
{
margin-right
:
-30px
;
.
customer
:
:
v-deep
.
table-list-hd
.
el-form
{
margin-right
:
-30px
;
}
</
style
>
src/modules/system/customergroup/components/AddCustomer.vue
浏览文件 @
5f863494
...
...
@@ -2,6 +2,9 @@
<el-dialog
v-bind=
"$attrs"
v-on=
"$listeners"
width=
"70%"
title=
"添加客户"
>
<app-card>
<app-list
v-bind=
"tableOptions"
ref=
"list"
@
selection-change=
"handleSelectionChange"
>
<template
v-slot:filter-userSearch=
"
{ params }">
<app-user-search
v-model=
"params.created_by"
></app-user-search>
</
template
>
<
template
#
footer
>
<el-button
type=
"primary"
@
click=
"submit"
>
提交
</el-button>
<el-button
@
click=
"$emit('update:visible', false)"
style=
"margin-left: 20px"
>
取消
</el-button>
...
...
@@ -13,8 +16,12 @@
<
script
>
import
{
getEmployeeList
,
createCustomer
,
getEmployee
}
from
'../api'
import
AppUserSearch
from
'@/components/base/AppUserSearch.vue'
export
default
{
components
:
{
AppUserSearch
},
data
()
{
return
{
employeeList
:
{
...
...
@@ -46,17 +53,7 @@ export default {
prop
:
'name'
,
placeholder
:
'客户名称'
},
{
type
:
'select'
,
prop
:
'username'
,
options
:
this
.
employeeList
.
items
,
labelKey
:
'username'
,
valueKey
:
'id'
,
placeholder
:
'创建员工'
,
filterable
:
true
,
remote
:
true
,
'remote-method'
:
this
.
fetchEmployeeList
}
{
prop
:
'created_by'
,
slots
:
'filter-userSearch'
,
label
:
'创建员工:'
}
],
columns
:
[
{
type
:
'selection'
,
minWidth
:
'50px'
,
fixed
:
'left'
},
...
...
src/modules/system/customergroup/components/AddEmployees.vue
浏览文件 @
5f863494
...
...
@@ -13,9 +13,14 @@
size=
"80%"
multiple
>
<el-option
v-for=
"item in employeeList"
:key=
"item.id"
:label=
"item.id"
:value=
"item.id"
>
<el-option
v-for=
"item in employeeList"
:key=
"item.id"
:label=
"item.nickname || item.realname || item.username"
:value=
"item.id"
>
<span
style=
"float: left"
>
{{
item
.
nickname
}}
{{
item
.
nickname
||
item
.
realname
||
item
.
username
}}
<template
v-if=
"item.mobile"
>
(手机号:
{{
item
.
mobile
}}
)
</
template
>
</span>
</el-option>
...
...
@@ -31,6 +36,7 @@
<
script
>
import
{
getEmployee
,
createEmployee
}
from
'../api'
const
MOBILE_REG
=
/^1
(
3
[
0-9
]
|4
[
01456879
]
|5
[
0-35-9
]
|6
[
2567
]
|7
[
0-8
]
|8
[
0-9
]
|9
[
0-35-9
])\d{4,8}
$/
export
default
{
props
:
{
id
:
{
...
...
@@ -45,10 +51,7 @@ export default {
id
:
''
},
rules
:
{
id
:
[
{
required
:
true
,
message
:
'请输入员工名称'
,
trigger
:
'blur'
},
{
min
:
0
,
max
:
20
,
message
:
'您最多可输入20个字符'
,
trigger
:
'blur'
}
]
id
:
[{
required
:
true
,
trigger
:
'blur'
}]
},
employeeList
:
[]
}
...
...
@@ -68,10 +71,14 @@ export default {
email
:
''
,
mobile
:
''
}
if
(
query
instanceof
Number
===
true
)
{
if
(
MOBILE_REG
.
test
(
query
)
)
{
params
.
mobile
=
query
}
else
{
params
.
nickname
=
query
if
(
params
.
username
!==
''
)
{
params
.
username
=
query
}
else
{
params
.
nickname
=
query
}
}
// 搜索员工
getEmployee
(
params
).
then
(
res
=>
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论