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
Unverified
Commit
4271788a
authored
Jan 30, 2024
by
芋道源码
Committed by
Gitee
Jan 30, 2024
Browse files
Options
Browse Files
Download
Plain Diff
!377 feat: CRM-backlog-待进入公海的客户
Merge pull request !377 from dhb52/crm-msg
parents
f0a2c529
4a2349ec
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
155 additions
and
10 deletions
+155
-10
src/api/crm/customer/index.ts
+5
-0
src/views/Login/Login.vue
+1
-1
src/views/crm/backlog/index.vue
+1
-1
src/views/crm/backlog/tables/PutInPoolRemind.vue
+148
-8
No files found.
src/api/crm/customer/index.ts
View file @
4271788a
...
...
@@ -100,3 +100,8 @@ export const receiveCustomer = async (ids: any[]) => {
export
const
putCustomerPool
=
async
(
id
:
number
)
=>
{
return
await
request
.
put
({
url
:
`/crm/customer/put-pool?id=
${
id
}
`
})
}
// 进入公海客户提醒
export
const
getPutInPoolRemindCustomerPage
=
async
(
params
)
=>
{
return
await
request
.
get
({
url
:
`/crm/customer/put-in-pool-remind-page`
,
params
})
}
src/views/Login/Login.vue
View file @
4271788a
<
template
>
<div
:class=
"prefixCls"
class=
"relative h-[100%] lt-
xl:px-10px lt-md:px-10px lt-sm
:px-10px lt-xl:px-10px"
class=
"relative h-[100%] lt-
md:px-10px lt-sm:px-10px lt-xl
:px-10px lt-xl:px-10px"
>
<div
class=
"relative mx-auto h-full flex"
>
<div
...
...
src/views/crm/backlog/index.vue
View file @
4271788a
<!-- TODO @dhb52: 存在很多重复的 table 定义,如Customer: TodayCustomer,FollowCustomer,PutInPoolRemind -->
<
template
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"4"
class=
"min-w-[200px]"
>
...
...
@@ -71,7 +72,6 @@ const leftSides = ref([
},
{
name
:
'待审核回款'
,
crmType
:
'receivables'
,
infoType
:
'checkReceivables'
,
msgCount
:
0
,
tips
:
''
...
...
src/views/crm/backlog/tables/PutInPoolRemind.vue
View file @
4271788a
<!-- 待进入公海的客户 -->
<!-- TODO: 后续再统一改名字 -->
<
template
>
<div>
TODO: 待进入公海的客户
</div>
<ContentWrap>
<div
class=
"pb-5 text-xl"
>
待进入公海的客户
</div>
<!-- 搜索工作栏 -->
<el-form
ref=
"queryFormRef"
:inline=
"true"
:model=
"queryParams"
class=
"-mb-15px"
label-width=
"68px"
>
<el-form-item
label=
"归属"
prop=
"sceneType"
>
<el-select
v-model=
"queryParams.sceneType"
class=
"!w-240px"
placeholder=
"归属"
@
change=
"handleQuery"
>
<el-option
v-for=
"(option, index) in SCENE_TYPES"
:label=
"option.label"
:value=
"option.value"
:key=
"index"
/>
</el-select>
</el-form-item>
</el-form>
</ContentWrap>
<ContentWrap>
<el-table
v-loading=
"loading"
:data=
"list"
:show-overflow-tooltip=
"true"
:stripe=
"true"
>
<el-table-column
align=
"center"
label=
"编号"
prop=
"id"
/>
<el-table-column
align=
"center"
label=
"客户名称"
prop=
"name"
width=
"160"
>
<template
#
default=
"scope"
>
<el-link
:underline=
"false"
type=
"primary"
@
click=
"openDetail(scope.row.id)"
>
{{
scope
.
row
.
name
}}
</el-link>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"手机"
prop=
"mobile"
width=
"120"
/>
<el-table-column
align=
"center"
label=
"电话"
prop=
"telephone"
width=
"120"
/>
<el-table-column
align=
"center"
label=
"客户来源"
prop=
"source"
width=
"100"
>
<
template
#
default=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.CRM_CUSTOMER_SOURCE"
:value=
"scope.row.source"
/>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"所属行业"
prop=
"industryId"
width=
"120"
>
<
template
#
default=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.CRM_CUSTOMER_INDUSTRY"
:value=
"scope.row.industryId"
/>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"客户等级"
prop=
"level"
width=
"120"
>
<
template
#
default=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.CRM_CUSTOMER_LEVEL"
:value=
"scope.row.level"
/>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"网址"
prop=
"website"
width=
"200"
/>
<el-table-column
:formatter=
"dateFormatter"
align=
"center"
label=
"下次联系时间"
prop=
"contactNextTime"
width=
"180px"
/>
<el-table-column
align=
"center"
label=
"备注"
prop=
"remark"
width=
"200"
/>
<el-table-column
align=
"center"
label=
"成交状态"
prop=
"dealStatus"
>
<
template
#
default=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
:value=
"scope.row.dealStatus"
/>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"距进入公海天数"
prop=
"poolDay"
width=
"100px"
/>
<el-table-column
:formatter=
"dateFormatter"
align=
"center"
label=
"最后跟进时间"
prop=
"contactLastTime"
width=
"180px"
/>
<el-table-column
:formatter=
"dateFormatter"
align=
"center"
label=
"创建时间"
prop=
"updateTime"
width=
"180px"
/>
<el-table-column
:formatter=
"dateFormatter"
align=
"center"
label=
"创建时间"
prop=
"createTime"
width=
"180px"
/>
<el-table-column
align=
"center"
label=
"负责人"
prop=
"ownerUserName"
width=
"100px"
/>
<el-table-column
align=
"center"
label=
"所属部门"
prop=
"ownerUserDeptName"
width=
"100px"
/>
<el-table-column
align=
"center"
label=
"创建人"
prop=
"creatorName"
width=
"100px"
/>
</el-table>
<!-- 分页 -->
<Pagination
v-model:limit=
"queryParams.pageSize"
v-model:page=
"queryParams.pageNo"
:total=
"total"
@
pagination=
"getList"
/>
</ContentWrap>
</template>
<
script
setup
lang=
"ts"
name=
"PutInPoolRemind"
>
<
script
lang=
"ts"
setup
name=
"PutInPoolRemind"
>
import
*
as
CustomerApi
from
'@/api/crm/customer'
import
{
DICT_TYPE
}
from
'@/utils/dict'
import
{
dateFormatter
}
from
'@/utils/formatTime'
import
{
SCENE_TYPES
}
from
'./common'
</
script
>
const
{
push
}
=
useRouter
()
const
loading
=
ref
(
true
)
// 列表的加载中
const
total
=
ref
(
0
)
// 列表的总页数
const
list
=
ref
([])
// 列表的数据
const
queryParams
=
ref
({
pageNo
:
1
,
pageSize
:
10
,
sceneType
:
1
,
// 我负责的
pool
:
true
,
// 固定 公海参数为 true
})
const
queryFormRef
=
ref
()
// 搜索的表单
/** 查询列表 */
const
getList
=
async
()
=>
{
loading
.
value
=
true
try
{
const
data
=
await
CustomerApi
.
getPutInPoolRemindCustomerPage
(
queryParams
.
value
)
list
.
value
=
data
.
list
total
.
value
=
data
.
total
}
finally
{
loading
.
value
=
false
}
}
<
style
scoped
>
/** 搜索按钮操作 */
const
handleQuery
=
()
=>
{
queryParams
.
value
.
pageNo
=
1
getList
()
}
/** 打开客户详情 */
const
openDetail
=
(
id
:
number
)
=>
{
push
({
name
:
'CrmCustomerDetail'
,
params
:
{
id
}
})
}
/** 初始化 **/
onMounted
(()
=>
{
getList
()
})
</
script
>
</
style
>
<
style
lang=
"scss"
><
/
style
>
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