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
6caa94ec
authored
Feb 24, 2024
by
YunaiV
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
✨
CRM:待办事项(接入合同)
parent
8f8591fc
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
183 additions
and
63 deletions
+183
-63
src/api/crm/backlog/index.ts
+0
-5
src/api/crm/contract/index.ts
+10
-0
src/views/crm/backlog/components/ContractAuditList.vue
+74
-18
src/views/crm/backlog/components/ContractRemindList.vue
+73
-19
src/views/crm/backlog/components/CustomerFollowList.vue
+7
-4
src/views/crm/backlog/components/common.ts
+3
-2
src/views/crm/backlog/index.vue
+15
-14
src/views/crm/contract/index.vue
+1
-1
No files found.
src/api/crm/backlog/index.ts
View file @
6caa94ec
import
request
from
'@/config/axios'
import
request
from
'@/config/axios'
// TODO 芋艿:融合下
// TODO 芋艿:融合下
// 3. 获得分配给我的客户数量
export
const
getFollowCustomerCount
=
async
()
=>
{
return
await
request
.
get
({
url
:
'/crm/customer/follow-customer-count'
})
}
// 5. 获得待审核合同数量
// 5. 获得待审核合同数量
export
const
getCheckContractCount
=
async
()
=>
{
export
const
getCheckContractCount
=
async
()
=>
{
return
await
request
.
get
({
url
:
'/crm/contract/check-contract-count'
})
return
await
request
.
get
({
url
:
'/crm/contract/check-contract-count'
})
...
...
src/api/crm/contract/index.ts
View file @
6caa94ec
...
@@ -94,3 +94,13 @@ export const submitContract = async (id: number) => {
...
@@ -94,3 +94,13 @@ export const submitContract = async (id: number) => {
export
const
transferContract
=
async
(
data
:
TransferReqVO
)
=>
{
export
const
transferContract
=
async
(
data
:
TransferReqVO
)
=>
{
return
await
request
.
put
({
url
:
'/crm/contract/transfer'
,
data
})
return
await
request
.
put
({
url
:
'/crm/contract/transfer'
,
data
})
}
}
// 获得待审核合同数量
export
const
getAuditContractCount
=
async
()
=>
{
return
await
request
.
get
({
url
:
'/crm/contract/audit-count'
})
}
// 获得即将到期(提醒)的合同数量
export
const
getRemindContractCount
=
async
()
=>
{
return
await
request
.
get
({
url
:
'/crm/contract/remind-count'
})
}
src/views/crm/backlog/
tables/CheckContrac
t.vue
→
src/views/crm/backlog/
components/ContractAuditLis
t.vue
View file @
6caa94ec
...
@@ -30,8 +30,14 @@
...
@@ -30,8 +30,14 @@
<ContentWrap>
<ContentWrap>
<el-table
v-loading=
"loading"
:data=
"list"
:show-overflow-tooltip=
"true"
:stripe=
"true"
>
<el-table
v-loading=
"loading"
:data=
"list"
:show-overflow-tooltip=
"true"
:stripe=
"true"
>
<el-table-column
align=
"center"
fixed=
"left"
label=
"合同编号"
prop=
"no"
width=
"130"
/>
<el-table-column
align=
"center"
fixed=
"left"
label=
"合同编号"
prop=
"no"
width=
"180"
/>
<el-table-column
align=
"center"
label=
"合同名称"
prop=
"name"
width=
"130"
/>
<el-table-column
align=
"center"
fixed=
"left"
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=
"customerName"
width=
"120"
>
<el-table-column
align=
"center"
label=
"客户名称"
prop=
"customerName"
width=
"120"
>
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
<el-link
<el-link
...
@@ -43,8 +49,24 @@
...
@@ -43,8 +49,24 @@
</el-link>
</el-link>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<!-- TODO @puhui999:做了商机详情后,可以把这个超链接加上 -->
<el-table-column
align=
"center"
label=
"商机名称"
prop=
"businessName"
width=
"130"
>
<el-table-column
align=
"center"
label=
"商机名称"
prop=
"businessName"
width=
"130"
/>
<
template
#
default=
"scope"
>
<el-link
:underline=
"false"
type=
"primary"
@
click=
"openBusinessDetail(scope.row.businessId)"
>
{{
scope
.
row
.
businessName
}}
</el-link>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"合同金额(元)"
prop=
"totalPrice"
width=
"140"
:formatter=
"erpPriceTableColumnFormatter"
/>
<el-table-column
<el-table-column
align=
"center"
align=
"center"
label=
"下单时间"
label=
"下单时间"
...
@@ -54,13 +76,6 @@
...
@@ -54,13 +76,6 @@
/>
/>
<el-table-column
<el-table-column
align=
"center"
align=
"center"
label=
"合同金额"
prop=
"price"
width=
"130"
:formatter=
"fenToYuanFormat"
/>
<el-table-column
align=
"center"
label=
"合同开始时间"
label=
"合同开始时间"
prop=
"startTime"
prop=
"startTime"
width=
"120"
width=
"120"
...
@@ -78,17 +93,24 @@
...
@@ -78,17 +93,24 @@
<el-link
<el-link
:underline=
"false"
:underline=
"false"
type=
"primary"
type=
"primary"
@
click=
"openContactDetail(scope.row.
c
ontactId)"
@
click=
"openContactDetail(scope.row.
signC
ontactId)"
>
>
{{
scope
.
row
.
c
ontactName
}}
{{
scope
.
row
.
signC
ontactName
}}
</el-link>
</el-link>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
align=
"center"
label=
"公司签约人"
prop=
"signUserName"
width=
"130"
/>
<el-table-column
align=
"center"
label=
"公司签约人"
prop=
"signUserName"
width=
"130"
/>
<el-table-column
align=
"center"
label=
"备注"
prop=
"remark"
width=
"
13
0"
/>
<el-table-column
align=
"center"
label=
"备注"
prop=
"remark"
width=
"
20
0"
/>
<!-- TODO @puhui999:后续可加 【已收款金额】、【未收款金额】 -->
<!-- TODO @puhui999:后续可加 【已收款金额】、【未收款金额】 -->
<el-table-column
:formatter=
"dateFormatter"
align=
"center"
label=
"最后跟进时间"
prop=
"contactLastTime"
width=
"180px"
/>
<el-table-column
align=
"center"
label=
"负责人"
prop=
"ownerUserName"
width=
"120"
/>
<el-table-column
align=
"center"
label=
"负责人"
prop=
"ownerUserName"
width=
"120"
/>
<el-table-column
align=
"center"
label=
"
创建人"
prop=
"creatorName"
width=
"120
"
/>
<el-table-column
align=
"center"
label=
"
所属部门"
prop=
"ownerUserDeptName"
width=
"100px
"
/>
<el-table-column
<el-table-column
:formatter=
"dateFormatter"
:formatter=
"dateFormatter"
align=
"center"
align=
"center"
...
@@ -103,11 +125,24 @@
...
@@ -103,11 +125,24 @@
prop=
"createTime"
prop=
"createTime"
width=
"180px"
width=
"180px"
/>
/>
<el-table-column
align=
"center"
label=
"创建人"
prop=
"creatorName"
width=
"120"
/>
<el-table-column
align=
"center"
fixed=
"right"
label=
"合同状态"
prop=
"auditStatus"
width=
"120"
>
<el-table-column
align=
"center"
fixed=
"right"
label=
"合同状态"
prop=
"auditStatus"
width=
"120"
>
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.CRM_AUDIT_STATUS"
:value=
"scope.row.auditStatus"
/>
<dict-tag
:type=
"DICT_TYPE.CRM_AUDIT_STATUS"
:value=
"scope.row.auditStatus"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
fixed=
"right"
label=
"操作"
width=
"90"
>
<
template
#
default=
"scope"
>
<el-button
link
v-hasPermi=
"['crm:contract:update']"
type=
"primary"
@
click=
"handleProcessDetail(scope.row)"
>
查看审批
</el-button>
</
template
>
</el-table-column>
</el-table>
</el-table>
<!-- 分页 -->
<!-- 分页 -->
<Pagination
<Pagination
...
@@ -122,9 +157,9 @@
...
@@ -122,9 +157,9 @@
<
script
setup
lang=
"ts"
name=
"CheckContract"
>
<
script
setup
lang=
"ts"
name=
"CheckContract"
>
import
{
dateFormatter
,
dateFormatter2
}
from
'@/utils/formatTime'
import
{
dateFormatter
,
dateFormatter2
}
from
'@/utils/formatTime'
import
*
as
ContractApi
from
'@/api/crm/contract'
import
*
as
ContractApi
from
'@/api/crm/contract'
import
{
fenToYuanFormat
}
from
'@/utils/formatter'
import
{
DICT_TYPE
}
from
'@/utils/dict'
import
{
DICT_TYPE
}
from
'@/utils/dict'
import
{
AUDIT_STATUS
}
from
'./common'
import
{
AUDIT_STATUS
}
from
'./common'
import
{
erpPriceTableColumnFormatter
}
from
'@/utils'
const
loading
=
ref
(
true
)
// 列表的加载中
const
loading
=
ref
(
true
)
// 列表的加载中
const
total
=
ref
(
0
)
// 列表的总页数
const
total
=
ref
(
0
)
// 列表的总页数
...
@@ -132,7 +167,8 @@ const list = ref([]) // 列表的数据
...
@@ -132,7 +167,8 @@ const list = ref([]) // 列表的数据
const
queryParams
=
reactive
({
const
queryParams
=
reactive
({
pageNo
:
1
,
pageNo
:
1
,
pageSize
:
10
,
pageSize
:
10
,
auditStatus
:
20
sceneType
:
1
,
// 我负责的
auditStatus
:
10
})
})
const
queryFormRef
=
ref
()
// 搜索的表单
const
queryFormRef
=
ref
()
// 搜索的表单
...
@@ -154,8 +190,18 @@ const handleQuery = () => {
...
@@ -154,8 +190,18 @@ const handleQuery = () => {
getList
()
getList
()
}
}
/** 查看审批 */
const
handleProcessDetail
=
(
row
:
ContractApi
.
ContractVO
)
=>
{
push
({
name
:
'BpmProcessInstanceDetail'
,
query
:
{
id
:
row
.
processInstanceId
}
})
}
/** 打开合同详情 */
const
{
push
}
=
useRouter
()
const
openDetail
=
(
id
:
number
)
=>
{
push
({
name
:
'CrmContractDetail'
,
params
:
{
id
}
})
}
/** 打开客户详情 */
/** 打开客户详情 */
const
{
push
}
=
useRouter
()
// 路由
const
openCustomerDetail
=
(
id
:
number
)
=>
{
const
openCustomerDetail
=
(
id
:
number
)
=>
{
push
({
name
:
'CrmCustomerDetail'
,
params
:
{
id
}
})
push
({
name
:
'CrmCustomerDetail'
,
params
:
{
id
}
})
}
}
...
@@ -165,6 +211,16 @@ const openContactDetail = (id: number) => {
...
@@ -165,6 +211,16 @@ const openContactDetail = (id: number) => {
push
({
name
:
'CrmContactDetail'
,
params
:
{
id
}
})
push
({
name
:
'CrmContactDetail'
,
params
:
{
id
}
})
}
}
/** 打开商机详情 */
const
openBusinessDetail
=
(
id
:
number
)
=>
{
push
({
name
:
'CrmBusinessDetail'
,
params
:
{
id
}
})
}
/** 激活时 */
onActivated
(
async
()
=>
{
await
getList
()
})
/** 初始化 **/
/** 初始化 **/
onMounted
(()
=>
{
onMounted
(()
=>
{
getList
()
getList
()
...
...
src/views/crm/backlog/
tables/EndContrac
t.vue
→
src/views/crm/backlog/
components/ContractRemindLis
t.vue
View file @
6caa94ec
...
@@ -30,8 +30,14 @@
...
@@ -30,8 +30,14 @@
<ContentWrap>
<ContentWrap>
<el-table
v-loading=
"loading"
:data=
"list"
:show-overflow-tooltip=
"true"
:stripe=
"true"
>
<el-table
v-loading=
"loading"
:data=
"list"
:show-overflow-tooltip=
"true"
:stripe=
"true"
>
<el-table-column
align=
"center"
fixed=
"left"
label=
"合同编号"
prop=
"no"
width=
"130"
/>
<el-table-column
align=
"center"
fixed=
"left"
label=
"合同编号"
prop=
"no"
width=
"180"
/>
<el-table-column
align=
"center"
label=
"合同名称"
prop=
"name"
width=
"130"
/>
<el-table-column
align=
"center"
fixed=
"left"
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=
"customerName"
width=
"120"
>
<el-table-column
align=
"center"
label=
"客户名称"
prop=
"customerName"
width=
"120"
>
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
<el-link
<el-link
...
@@ -43,8 +49,24 @@
...
@@ -43,8 +49,24 @@
</el-link>
</el-link>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<!-- TODO @puhui999:做了商机详情后,可以把这个超链接加上 -->
<el-table-column
align=
"center"
label=
"商机名称"
prop=
"businessName"
width=
"130"
>
<el-table-column
align=
"center"
label=
"商机名称"
prop=
"businessName"
width=
"130"
/>
<
template
#
default=
"scope"
>
<el-link
:underline=
"false"
type=
"primary"
@
click=
"openBusinessDetail(scope.row.businessId)"
>
{{
scope
.
row
.
businessName
}}
</el-link>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"合同金额(元)"
prop=
"totalPrice"
width=
"140"
:formatter=
"erpPriceTableColumnFormatter"
/>
<el-table-column
<el-table-column
align=
"center"
align=
"center"
label=
"下单时间"
label=
"下单时间"
...
@@ -54,13 +76,6 @@
...
@@ -54,13 +76,6 @@
/>
/>
<el-table-column
<el-table-column
align=
"center"
align=
"center"
label=
"合同金额"
prop=
"price"
width=
"130"
:formatter=
"fenToYuanFormat"
/>
<el-table-column
align=
"center"
label=
"合同开始时间"
label=
"合同开始时间"
prop=
"startTime"
prop=
"startTime"
width=
"120"
width=
"120"
...
@@ -78,17 +93,24 @@
...
@@ -78,17 +93,24 @@
<el-link
<el-link
:underline=
"false"
:underline=
"false"
type=
"primary"
type=
"primary"
@
click=
"openContactDetail(scope.row.
c
ontactId)"
@
click=
"openContactDetail(scope.row.
signC
ontactId)"
>
>
{{
scope
.
row
.
c
ontactName
}}
{{
scope
.
row
.
signC
ontactName
}}
</el-link>
</el-link>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
align=
"center"
label=
"公司签约人"
prop=
"signUserName"
width=
"130"
/>
<el-table-column
align=
"center"
label=
"公司签约人"
prop=
"signUserName"
width=
"130"
/>
<el-table-column
align=
"center"
label=
"备注"
prop=
"remark"
width=
"
13
0"
/>
<el-table-column
align=
"center"
label=
"备注"
prop=
"remark"
width=
"
20
0"
/>
<!-- TODO @puhui999:后续可加 【已收款金额】、【未收款金额】 -->
<!-- TODO @puhui999:后续可加 【已收款金额】、【未收款金额】 -->
<el-table-column
:formatter=
"dateFormatter"
align=
"center"
label=
"最后跟进时间"
prop=
"contactLastTime"
width=
"180px"
/>
<el-table-column
align=
"center"
label=
"负责人"
prop=
"ownerUserName"
width=
"120"
/>
<el-table-column
align=
"center"
label=
"负责人"
prop=
"ownerUserName"
width=
"120"
/>
<el-table-column
align=
"center"
label=
"
创建人"
prop=
"creatorName"
width=
"120
"
/>
<el-table-column
align=
"center"
label=
"
所属部门"
prop=
"ownerUserDeptName"
width=
"100px
"
/>
<el-table-column
<el-table-column
:formatter=
"dateFormatter"
:formatter=
"dateFormatter"
align=
"center"
align=
"center"
...
@@ -103,11 +125,24 @@
...
@@ -103,11 +125,24 @@
prop=
"createTime"
prop=
"createTime"
width=
"180px"
width=
"180px"
/>
/>
<el-table-column
align=
"center"
label=
"创建人"
prop=
"creatorName"
width=
"120"
/>
<el-table-column
align=
"center"
fixed=
"right"
label=
"合同状态"
prop=
"auditStatus"
width=
"120"
>
<el-table-column
align=
"center"
fixed=
"right"
label=
"合同状态"
prop=
"auditStatus"
width=
"120"
>
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.CRM_AUDIT_STATUS"
:value=
"scope.row.auditStatus"
/>
<dict-tag
:type=
"DICT_TYPE.CRM_AUDIT_STATUS"
:value=
"scope.row.auditStatus"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
fixed=
"right"
label=
"操作"
width=
"90"
>
<
template
#
default=
"scope"
>
<el-button
link
v-hasPermi=
"['crm:contract:update']"
type=
"primary"
@
click=
"handleProcessDetail(scope.row)"
>
查看审批
</el-button>
</
template
>
</el-table-column>
</el-table>
</el-table>
<!-- 分页 -->
<!-- 分页 -->
<Pagination
<Pagination
...
@@ -125,8 +160,7 @@ import * as ContractApi from '@/api/crm/contract'
...
@@ -125,8 +160,7 @@ import * as ContractApi from '@/api/crm/contract'
import
{
fenToYuanFormat
}
from
'@/utils/formatter'
import
{
fenToYuanFormat
}
from
'@/utils/formatter'
import
{
DICT_TYPE
}
from
'@/utils/dict'
import
{
DICT_TYPE
}
from
'@/utils/dict'
import
{
CONTRACT_EXPIRY_TYPE
}
from
'./common'
import
{
CONTRACT_EXPIRY_TYPE
}
from
'./common'
import
{
erpPriceTableColumnFormatter
}
from
'@/utils'
const
{
push
}
=
useRouter
()
// 路由
const
loading
=
ref
(
true
)
// 列表的加载中
const
loading
=
ref
(
true
)
// 列表的加载中
const
total
=
ref
(
0
)
// 列表的总页数
const
total
=
ref
(
0
)
// 列表的总页数
...
@@ -134,6 +168,7 @@ const list = ref([]) // 列表的数据
...
@@ -134,6 +168,7 @@ const list = ref([]) // 列表的数据
const
queryParams
=
reactive
({
const
queryParams
=
reactive
({
pageNo
:
1
,
pageNo
:
1
,
pageSize
:
10
,
pageSize
:
10
,
sceneType
:
'1'
,
// 自己负责的
expiryType
:
1
expiryType
:
1
})
})
const
queryFormRef
=
ref
()
// 搜索的表单
const
queryFormRef
=
ref
()
// 搜索的表单
...
@@ -156,6 +191,17 @@ const handleQuery = () => {
...
@@ -156,6 +191,17 @@ const handleQuery = () => {
getList
()
getList
()
}
}
/** 查看审批 */
const
handleProcessDetail
=
(
row
:
ContractApi
.
ContractVO
)
=>
{
push
({
name
:
'BpmProcessInstanceDetail'
,
query
:
{
id
:
row
.
processInstanceId
}
})
}
/** 打开合同详情 */
const
{
push
}
=
useRouter
()
const
openDetail
=
(
id
:
number
)
=>
{
push
({
name
:
'CrmContractDetail'
,
params
:
{
id
}
})
}
/** 打开客户详情 */
/** 打开客户详情 */
const
openCustomerDetail
=
(
id
:
number
)
=>
{
const
openCustomerDetail
=
(
id
:
number
)
=>
{
push
({
name
:
'CrmCustomerDetail'
,
params
:
{
id
}
})
push
({
name
:
'CrmCustomerDetail'
,
params
:
{
id
}
})
...
@@ -166,10 +212,18 @@ const openContactDetail = (id: number) => {
...
@@ -166,10 +212,18 @@ const openContactDetail = (id: number) => {
push
({
name
:
'CrmContactDetail'
,
params
:
{
id
}
})
push
({
name
:
'CrmContactDetail'
,
params
:
{
id
}
})
}
}
/** 打开商机详情 */
const
openBusinessDetail
=
(
id
:
number
)
=>
{
push
({
name
:
'CrmBusinessDetail'
,
params
:
{
id
}
})
}
/** 激活时 */
onActivated
(
async
()
=>
{
await
getList
()
})
/** 初始化 **/
/** 初始化 **/
onMounted
(()
=>
{
onMounted
(()
=>
{
getList
()
getList
()
})
})
</
script
>
</
script
>
<
style
scoped
></
style
>
src/views/crm/backlog/components/CustomerFollowList.vue
View file @
6caa94ec
...
@@ -130,8 +130,8 @@ const list = ref([]) // 列表的数据
...
@@ -130,8 +130,8 @@ const list = ref([]) // 列表的数据
const
queryParams
=
ref
({
const
queryParams
=
ref
({
pageNo
:
1
,
pageNo
:
1
,
pageSize
:
10
,
pageSize
:
10
,
followUpStatus
:
false
,
sceneType
:
1
,
sceneType
:
1
followUpStatus
:
false
})
})
const
queryFormRef
=
ref
()
// 搜索的表单
const
queryFormRef
=
ref
()
// 搜索的表单
...
@@ -158,10 +158,13 @@ const openDetail = (id: number) => {
...
@@ -158,10 +158,13 @@ const openDetail = (id: number) => {
push
({
name
:
'CrmCustomerDetail'
,
params
:
{
id
}
})
push
({
name
:
'CrmCustomerDetail'
,
params
:
{
id
}
})
}
}
/** 激活时 */
onActivated
(
async
()
=>
{
await
getList
()
})
/** 初始化 **/
/** 初始化 **/
onMounted
(()
=>
{
onMounted
(()
=>
{
getList
()
getList
()
})
})
</
script
>
</
script
>
<
style
scoped
></
style
>
src/views/crm/backlog/components/common.ts
View file @
6caa94ec
...
@@ -20,8 +20,9 @@ export const CONTACT_STATUS = [
...
@@ -20,8 +20,9 @@ export const CONTACT_STATUS = [
/** 审批状态 */
/** 审批状态 */
export
const
AUDIT_STATUS
=
[
export
const
AUDIT_STATUS
=
[
{
label
:
'已审批'
,
value
:
20
},
{
label
:
'待审批'
,
value
:
10
},
{
label
:
'待审批'
,
value
:
10
}
{
label
:
'审核通过'
,
value
:
20
},
{
label
:
'审核不通过'
,
value
:
30
}
]
]
/** 回款提醒类型 */
/** 回款提醒类型 */
...
...
src/views/crm/backlog/index.vue
View file @
6caa94ec
...
@@ -17,9 +17,9 @@
...
@@ -17,9 +17,9 @@
<el-col
:span=
"20"
:xs=
"24"
>
<el-col
:span=
"20"
:xs=
"24"
>
<CustomerTodayContactList
v-if=
"leftMenu === 'customerTodayContact'"
/>
<CustomerTodayContactList
v-if=
"leftMenu === 'customerTodayContact'"
/>
<ClueFollowList
v-if=
"leftMenu === 'clueFollow'"
/>
<ClueFollowList
v-if=
"leftMenu === 'clueFollow'"
/>
<C
heckContract
v-if=
"leftMenu === 'checkContrac
t'"
/>
<C
ontractAuditList
v-if=
"leftMenu === 'contractAudi
t'"
/>
<CheckReceivables
v-if=
"leftMenu === 'checkReceivables'"
/>
<CheckReceivables
v-if=
"leftMenu === 'checkReceivables'"
/>
<
EndContract
v-if=
"leftMenu === 'endContract
'"
/>
<
ContractRemindList
v-if=
"leftMenu === 'contractRemind
'"
/>
<CustomerFollowList
v-if=
"leftMenu === 'customerFollow'"
/>
<CustomerFollowList
v-if=
"leftMenu === 'customerFollow'"
/>
<CustomerPutPoolRemindList
v-if=
"leftMenu === 'customerPutPoolRemind'"
/>
<CustomerPutPoolRemindList
v-if=
"leftMenu === 'customerPutPoolRemind'"
/>
<RemindReceivables
v-if=
"leftMenu === 'remindReceivables'"
/>
<RemindReceivables
v-if=
"leftMenu === 'remindReceivables'"
/>
...
@@ -33,25 +33,26 @@ import CustomerFollowList from './components/CustomerFollowList.vue'
...
@@ -33,25 +33,26 @@ import CustomerFollowList from './components/CustomerFollowList.vue'
import
CustomerTodayContactList
from
'./components/CustomerTodayContactList.vue'
import
CustomerTodayContactList
from
'./components/CustomerTodayContactList.vue'
import
CustomerPutPoolRemindList
from
'./components/CustomerPutPoolRemindList.vue'
import
CustomerPutPoolRemindList
from
'./components/CustomerPutPoolRemindList.vue'
import
ClueFollowList
from
'./components/ClueFollowList.vue'
import
ClueFollowList
from
'./components/ClueFollowList.vue'
import
CheckContract
from
'./tables/CheckContract.vue'
import
ContractAuditList
from
'./components/ContractAuditList.vue'
import
CheckReceivables
from
'./tables/CheckReceivables.vue'
import
ContractRemindList
from
'./components/ContractRemindList.vue'
import
EndContract
from
'./tables/EndContract.vue'
import
RemindReceivables
from
'./tables/RemindReceivables.vue'
import
RemindReceivables
from
'./tables/RemindReceivables.vue'
import
CheckReceivables
from
'./tables/CheckReceivables.vue'
import
*
as
CustomerApi
from
'@/api/crm/customer'
import
*
as
CustomerApi
from
'@/api/crm/customer'
import
*
as
ClueApi
from
'@/api/crm/clue'
import
*
as
ClueApi
from
'@/api/crm/clue'
import
*
as
ContractApi
from
'@/api/crm/contract'
defineOptions
({
name
:
'CrmBacklog'
})
defineOptions
({
name
:
'CrmBacklog'
})
const
leftMenu
=
ref
(
'customerTodayContact'
)
const
leftMenu
=
ref
(
'customerTodayContact'
)
const
customerTodayContactCount
=
ref
(
0
)
const
clueFollowCount
=
ref
(
0
)
const
clueFollowCount
=
ref
(
0
)
const
customerFollowCount
=
ref
(
0
)
const
customerFollowCount
=
ref
(
0
)
const
customerPutPoolRemindCount
=
ref
(
0
)
const
customerPutPoolRemindCount
=
ref
(
0
)
const
checkContractCount
=
ref
(
0
)
const
customerTodayContactCount
=
ref
(
0
)
const
contractAuditCount
=
ref
(
0
)
const
contractRemindCount
=
ref
(
0
)
const
checkReceivablesCount
=
ref
(
0
)
const
checkReceivablesCount
=
ref
(
0
)
const
remindReceivablesCount
=
ref
(
0
)
const
remindReceivablesCount
=
ref
(
0
)
const
endContractCount
=
ref
(
0
)
const
leftSides
=
ref
([
const
leftSides
=
ref
([
{
{
...
@@ -76,8 +77,8 @@ const leftSides = ref([
...
@@ -76,8 +77,8 @@ const leftSides = ref([
},
},
{
{
name
:
'待审核合同'
,
name
:
'待审核合同'
,
menu
:
'c
heckContrac
t'
,
menu
:
'c
ontractAudi
t'
,
count
:
c
heckContrac
tCount
count
:
c
ontractAudi
tCount
},
},
{
{
name
:
'待审核回款'
,
name
:
'待审核回款'
,
...
@@ -91,8 +92,8 @@ const leftSides = ref([
...
@@ -91,8 +92,8 @@ const leftSides = ref([
},
},
{
{
name
:
'即将到期的合同'
,
name
:
'即将到期的合同'
,
menu
:
'
endContract
'
,
menu
:
'
contractRemind
'
,
count
:
endContract
Count
count
:
contractRemind
Count
}
}
])
])
...
@@ -110,10 +111,10 @@ const getCount = () => {
...
@@ -110,10 +111,10 @@ const getCount = () => {
)
)
CustomerApi
.
getFollowCustomerCount
().
then
((
count
)
=>
(
customerFollowCount
.
value
=
count
))
CustomerApi
.
getFollowCustomerCount
().
then
((
count
)
=>
(
customerFollowCount
.
value
=
count
))
ClueApi
.
getFollowClueCount
().
then
((
count
)
=>
(
clueFollowCount
.
value
=
count
))
ClueApi
.
getFollowClueCount
().
then
((
count
)
=>
(
clueFollowCount
.
value
=
count
))
BacklogApi
.
getCheckContractCount
().
then
((
count
)
=>
(
checkContractCount
.
value
=
count
))
ContractApi
.
getAuditContractCount
().
then
((
count
)
=>
(
contractAuditCount
.
value
=
count
))
ContractApi
.
getRemindContractCount
().
then
((
count
)
=>
(
contractRemindCount
.
value
=
count
))
BacklogApi
.
getCheckReceivablesCount
().
then
((
count
)
=>
(
checkReceivablesCount
.
value
=
count
))
BacklogApi
.
getCheckReceivablesCount
().
then
((
count
)
=>
(
checkReceivablesCount
.
value
=
count
))
BacklogApi
.
getRemindReceivablePlanCount
().
then
((
count
)
=>
(
remindReceivablesCount
.
value
=
count
))
BacklogApi
.
getRemindReceivablePlanCount
().
then
((
count
)
=>
(
remindReceivablesCount
.
value
=
count
))
BacklogApi
.
getEndContractCount
().
then
((
count
)
=>
(
endContractCount
.
value
=
count
))
}
}
/** 激活时 */
/** 激活时 */
...
...
src/views/crm/contract/index.vue
View file @
6caa94ec
...
@@ -79,7 +79,7 @@
...
@@ -79,7 +79,7 @@
<el-tab-pane
label=
"下属负责的"
name=
"3"
/>
<el-tab-pane
label=
"下属负责的"
name=
"3"
/>
</el-tabs>
</el-tabs>
<el-table
v-loading=
"loading"
:data=
"list"
:show-overflow-tooltip=
"true"
:stripe=
"true"
>
<el-table
v-loading=
"loading"
:data=
"list"
:show-overflow-tooltip=
"true"
:stripe=
"true"
>
<el-table-column
align=
"center"
fixed=
"left"
label=
"合同编号"
prop=
"no"
width=
"1
6
0"
/>
<el-table-column
align=
"center"
fixed=
"left"
label=
"合同编号"
prop=
"no"
width=
"1
8
0"
/>
<el-table-column
align=
"center"
fixed=
"left"
label=
"合同名称"
prop=
"name"
width=
"160"
>
<el-table-column
align=
"center"
fixed=
"left"
label=
"合同名称"
prop=
"name"
width=
"160"
>
<template
#
default=
"scope"
>
<template
#
default=
"scope"
>
<el-link
:underline=
"false"
type=
"primary"
@
click=
"openDetail(scope.row.id)"
>
<el-link
:underline=
"false"
type=
"primary"
@
click=
"openDetail(scope.row.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