Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
phsl
/
admin
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
a64d4240
authored
Jan 27, 2024
by
puhui999
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
CRM-联系人:完善联系人转移、数据权限
parent
5adf75d1
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
46 additions
and
18 deletions
+46
-18
src/api/crm/contact/index.ts
+6
-0
src/views/crm/contact/detail/ContactDetailsHeader.vue
+3
-13
src/views/crm/contact/detail/index.vue
+37
-5
No files found.
src/api/crm/contact/index.ts
View file @
a64d4240
import
request
from
'@/config/axios'
import
{
TransferReqVO
}
from
'@/api/crm/customer'
export
interface
ContactVO
{
name
:
string
...
...
@@ -85,3 +86,8 @@ export const createContactBusinessList = async (data: ContactBusinessReqVO) => {
export
const
deleteContactBusinessList
=
async
(
data
:
ContactBusinessReqVO
)
=>
{
return
await
request
.
delete
({
url
:
`/crm/contact/delete-business-list`
,
data
})
}
// 联系人转移
export
const
transfer
=
async
(
data
:
TransferReqVO
)
=>
{
return
await
request
.
put
({
url
:
'/crm/contact/transfer'
,
data
})
}
src/views/crm/contact/detail/ContactDetailsHeader.vue
View file @
a64d4240
...
...
@@ -10,9 +10,7 @@
</div>
<div>
<!-- 右上:按钮 -->
<el-button
@
click=
"openForm('update', contact.id)"
v-hasPermi=
"['crm:contact:update']"
>
编辑
</el-button>
<slot></slot>
</div>
</div>
</div>
...
...
@@ -32,18 +30,10 @@
</el-descriptions-item>
</el-descriptions>
</ContentWrap>
<!-- 表单弹窗:添加/修改 -->
<ContactForm
ref=
"formRef"
@
success=
"emit('refresh')"
/>
</
template
>
<
script
setup
lang=
"ts"
>
<
script
lang=
"ts"
setup
>
import
*
as
ContactApi
from
'@/api/crm/contact'
import
ContactForm
from
'@/views/crm/contact/ContactForm.vue'
import
{
formatDate
}
from
'@/utils/formatTime'
//操作修改
const
formRef
=
ref
()
const
openForm
=
(
type
:
string
,
id
?:
number
)
=>
{
formRef
.
value
.
open
(
type
,
id
)
}
const
{
contact
}
=
defineProps
<
{
contact
:
ContactApi
.
ContactVO
}
>
()
const
emit
=
defineEmits
([
'refresh'
])
// 定义 success 事件,用于操作成功后的回调
</
script
>
src/views/crm/contact/detail/index.vue
View file @
a64d4240
<
template
>
<ContactDetailsHeader
:contact=
"contact"
:loading=
"loading"
@
refresh=
"getContactData(id)"
/>
<ContactDetailsHeader
v-loading=
"loading"
:contact=
"contact"
>
<el-button
v-if=
"permissionListRef?.validateWrite"
@
click=
"openForm('update', contact.id)"
>
编辑
</el-button>
<el-button
v-if=
"permissionListRef?.validateOwnerUser"
type=
"primary"
@
click=
"transfer"
>
转移
</el-button>
</ContactDetailsHeader>
<el-col>
<el-tabs>
<el-tab-pane
label=
"详细资料"
>
...
...
@@ -8,8 +15,14 @@
<el-tab-pane
label=
"操作日志"
>
<OperateLogV2
:log-list=
"logList"
/>
</el-tab-pane>
<el-tab-pane
label=
"团队成员"
lazy
>
<PermissionList
:biz-id=
"contact.id!"
:biz-type=
"BizTypeEnum.CRM_CONTACT"
/>
<el-tab-pane
label=
"团队成员"
>
<PermissionList
ref=
"permissionListRef"
:biz-id=
"contact.id!"
:biz-type=
"BizTypeEnum.CRM_CONTACT"
:show-action=
"!permissionListRef?.isPool || false"
@
quit-team=
"close"
/>
</el-tab-pane>
<el-tab-pane
label=
"商机"
lazy
>
<BusinessList
...
...
@@ -20,6 +33,9 @@
</el-tab-pane>
</el-tabs>
</el-col>
<!-- 表单弹窗:添加/修改 -->
<ContactForm
ref=
"formRef"
@
success=
"getContactData"
/>
<CrmTransferForm
ref=
"crmTransferFormRef"
@
success=
"close"
/>
</
template
>
<
script
lang=
"ts"
setup
>
import
{
useTagsViewStore
}
from
'@/store/modules/tagsView'
...
...
@@ -31,6 +47,8 @@ import PermissionList from '@/views/crm/permission/components/PermissionList.vue
import
{
BizTypeEnum
}
from
'@/api/crm/permission'
import
{
OperateLogV2VO
}
from
'@/api/system/operatelog'
import
{
getOperateLogPage
}
from
'@/api/crm/operateLog'
import
ContactForm
from
'@/views/crm/contact/ContactForm.vue'
import
CrmTransferForm
from
'@/views/crm/permission/components/TransferForm.vue'
defineOptions
({
name
:
'CrmContactDetail'
})
...
...
@@ -49,6 +67,18 @@ const getContactData = async (id: number) => {
loading
.
value
=
false
}
}
/** 编辑 */
const
formRef
=
ref
()
const
openForm
=
(
type
:
string
,
id
?:
number
)
=>
{
formRef
.
value
.
open
(
type
,
id
)
}
/** 联系人转移 */
const
crmTransferFormRef
=
ref
<
InstanceType
<
typeof
CrmTransferForm
>>
()
// 联系人转移表单 ref
const
transfer
=
()
=>
{
crmTransferFormRef
.
value
?.
open
(
'联系人转移'
,
contact
.
value
.
id
,
ContactApi
.
transfer
)
}
const
permissionListRef
=
ref
<
InstanceType
<
typeof
PermissionList
>>
()
// 团队成员列表 Ref
/**
* 获取操作日志
...
...
@@ -64,14 +94,16 @@ const getOperateLog = async (contactId: number) => {
})
logList
.
value
=
data
.
list
}
const
close
=
()
=>
{
delView
(
unref
(
currentRoute
))
}
/** 初始化 */
const
{
delView
}
=
useTagsViewStore
()
// 视图操作
const
{
currentRoute
}
=
useRouter
()
// 路由
onMounted
(
async
()
=>
{
if
(
!
id
)
{
ElMessage
.
warning
(
'参数错误,联系人不能为空!'
)
delView
(
unref
(
currentRoute
)
)
close
(
)
return
}
await
getContactData
(
id
)
...
...
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