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
5369328b
authored
Feb 25, 2024
by
YunaiV
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
✨
CRM:完善回款的新增/修改
parent
70bf2341
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
122 additions
and
108 deletions
+122
-108
src/api/crm/receivable/plan/index.ts
+2
-4
src/views/crm/receivable/ReceivableForm.vue
+100
-79
src/views/crm/receivable/index.vue
+0
-1
src/views/crm/receivable/plan/components/ReceivablePlanList.vue
+2
-11
src/views/crm/receivable/plan/index.vue
+18
-13
No files found.
src/api/crm/receivable/plan/index.ts
View file @
5369328b
...
@@ -4,7 +4,6 @@ export interface ReceivablePlanVO {
...
@@ -4,7 +4,6 @@ export interface ReceivablePlanVO {
id
:
number
id
:
number
period
:
number
period
:
number
receivableId
:
number
receivableId
:
number
finishStatus
:
number
price
:
number
price
:
number
returnTime
:
Date
returnTime
:
Date
remindDays
:
number
remindDays
:
number
...
@@ -43,10 +42,9 @@ export const getReceivablePlan = async (id: number) => {
...
@@ -43,10 +42,9 @@ export const getReceivablePlan = async (id: number) => {
}
}
// 查询回款计划下拉数据
// 查询回款计划下拉数据
// TODO @芋艿:再看看这里
export
const
getReceivablePlanSimpleList
=
async
(
customerId
:
number
,
contractId
:
number
)
=>
{
export
const
getReceivablePlanListByContractId
=
async
(
customerId
:
number
,
contractId
:
number
)
=>
{
return
await
request
.
get
({
return
await
request
.
get
({
url
:
`/crm/receivable-plan/
list-all-simple-by-customer
?customerId=
${
customerId
}
&contractId=
${
contractId
}
`
url
:
`/crm/receivable-plan/
simple-list
?customerId=
${
customerId
}
&contractId=
${
contractId
}
`
})
})
}
}
...
...
src/views/crm/receivable/ReceivableForm.vue
View file @
5369328b
...
@@ -10,12 +10,37 @@
...
@@ -10,12 +10,37 @@
<el-row>
<el-row>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"回款编号"
prop=
"no"
>
<el-form-item
label=
"回款编号"
prop=
"no"
>
<el-input
v-model=
"formData.no"
placeholder=
"请输入回款编号
"
/>
<el-input
disabled
v-model=
"formData.no"
placeholder=
"保存时自动生成
"
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"负责人"
prop=
"ownerUserId"
>
<el-select
v-model=
"formData.ownerUserId"
:disabled=
"formType !== 'create'"
class=
"w-1/1"
>
<el-option
v-for=
"item in userOptions"
:key=
"item.id"
:label=
"item.nickname"
:value=
"item.id"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"客户名称"
prop=
"customerId"
>
<el-form-item
label=
"客户名称"
prop=
"customerId"
>
<el-select
v-model=
"formData.customerId"
class=
"w-1/1"
placeholder=
"请选择客户"
>
<el-select
v-model=
"formData.customerId"
:disabled=
"formType !== 'create'"
class=
"w-1/1"
filterable
@
change=
"handleCustomerChange"
placeholder=
"请选择客户"
>
<el-option
<el-option
v-for=
"item in customerList"
v-for=
"item in customerList"
:key=
"item.id"
:key=
"item.id"
...
@@ -29,8 +54,10 @@
...
@@ -29,8 +54,10 @@
<el-form-item
label=
"合同名称"
prop=
"contractId"
>
<el-form-item
label=
"合同名称"
prop=
"contractId"
>
<el-select
<el-select
v-model=
"formData.contractId"
v-model=
"formData.contractId"
:disabled=
"!formData.customerId"
:disabled=
"formType !== 'create' || !formData.customerId"
class=
"!w-100%"
class=
"w-1/1"
filterable
@
change=
"handleContractChange"
placeholder=
"请选择合同"
placeholder=
"请选择合同"
>
>
<el-option
<el-option
...
@@ -38,42 +65,35 @@
...
@@ -38,42 +65,35 @@
:key=
"data.id"
:key=
"data.id"
:label=
"data.name"
:label=
"data.name"
:value=
"data.id!"
:value=
"data.id!"
:disabled=
"data.auditStatus !== 20"
/>
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"回款期数"
prop=
"planId"
>
<el-form-item
label=
"回款期数"
prop=
"planId"
>
<el-select
<el-select
v-model=
"formData.planId"
v-model=
"formData.planId"
:disabled=
"!formData.contractId"
:disabled=
"formType !== 'create' || !formData.contractId"
class=
"!w-100%"
class=
"!w-1/1"
@
change=
"handleReceivablePlanChange"
placeholder=
"请选择回款期数"
placeholder=
"请选择回款期数"
>
>
<el-option
<el-option
v-for=
"data in receivablePlanList"
v-for=
"data in receivablePlanList"
:key=
"data.id"
:key=
"data.id"
:label=
"
data.period + '
期'"
:label=
"
'第 ' + data.period + '
期'"
:value=
"data.id!"
:value=
"data.id!"
/>
:disabled=
"data.receivableId"
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"负责人"
prop=
"ownerUserId"
>
<el-select
v-model=
"formData.ownerUserId"
clearable
placeholder=
"请输入负责人"
>
<el-option
v-for=
"item in userList"
:key=
"item.id"
:label=
"item.nickname"
:value=
"item.id"
/>
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"回款方式"
prop=
"returnType"
>
<el-form-item
label=
"回款方式"
prop=
"returnType"
>
<el-select
v-model=
"formData.returnType"
placeholder=
"请选择回款方式"
>
<el-select
v-model=
"formData.returnType"
class=
"w-1/1"
placeholder=
"请选择回款方式"
>
<el-option
<el-option
v-for=
"dict in getIntDictOptions(DICT_TYPE.CRM_RECEIVABLE_RETURN_TYPE)"
v-for=
"dict in getIntDictOptions(DICT_TYPE.CRM_RECEIVABLE_RETURN_TYPE)"
:key=
"dict.value"
:key=
"dict.value"
...
@@ -83,6 +103,8 @@
...
@@ -83,6 +103,8 @@
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"回款金额"
prop=
"price"
>
<el-form-item
label=
"回款金额"
prop=
"price"
>
<el-input-number
<el-input-number
...
@@ -90,6 +112,8 @@
...
@@ -90,6 +112,8 @@
class=
"!w-100%"
class=
"!w-100%"
controls-position=
"right"
controls-position=
"right"
placeholder=
"请输入回款金额"
placeholder=
"请输入回款金额"
:min=
"0.01"
:precision=
"2"
/>
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
...
@@ -103,14 +127,11 @@
...
@@ -103,14 +127,11 @@
/>
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"备注"
prop=
"remark"
>
<el-form-item
label=
"备注"
prop=
"remark"
>
<el-input
<el-input
v-model=
"formData.remark"
placeholder=
"请输入备注"
type=
"textarea"
/>
v-model=
"formData.remark"
:rows=
"3"
placeholder=
"请输入备注"
type=
"textarea"
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -129,20 +150,19 @@ import * as CustomerApi from '@/api/crm/customer'
...
@@ -129,20 +150,19 @@ import * as CustomerApi from '@/api/crm/customer'
import
*
as
ContractApi
from
'@/api/crm/contract'
import
*
as
ContractApi
from
'@/api/crm/contract'
import
{
useUserStore
}
from
'@/store/modules/user'
import
{
useUserStore
}
from
'@/store/modules/user'
import
{
DICT_TYPE
,
getIntDictOptions
}
from
'@/utils/dict'
import
{
DICT_TYPE
,
getIntDictOptions
}
from
'@/utils/dict'
import
form
from
'@/components/Form/src/Form.vue'
const
{
t
}
=
useI18n
()
// 国际化
const
{
t
}
=
useI18n
()
// 国际化
const
message
=
useMessage
()
// 消息弹窗
const
message
=
useMessage
()
// 消息弹窗
const
user
List
=
ref
<
UserApi
.
UserVO
[]
>
([])
// 用户列表
const
user
Options
=
ref
<
UserApi
.
UserVO
[]
>
([])
// 用户列表
const
dialogVisible
=
ref
(
false
)
// 弹窗的是否展示
const
dialogVisible
=
ref
(
false
)
// 弹窗的是否展示
const
dialogTitle
=
ref
(
''
)
// 弹窗的标题
const
dialogTitle
=
ref
(
''
)
// 弹窗的标题
const
formLoading
=
ref
(
false
)
// 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
const
formLoading
=
ref
(
false
)
// 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
const
formType
=
ref
(
''
)
// 表单的类型:create - 新增;update - 修改
const
formType
=
ref
(
''
)
// 表单的类型:create - 新增;update - 修改
const
formData
=
ref
<
ReceivableApi
.
ReceivableVO
>
({}
as
ReceivableApi
.
ReceivableVO
)
const
formData
=
ref
<
ReceivableApi
.
ReceivableVO
>
({}
as
ReceivableApi
.
ReceivableVO
)
const
formRules
=
reactive
({
const
formRules
=
reactive
({
no
:
[{
required
:
true
,
message
:
'回款编号不能为空'
,
trigger
:
'blur'
}],
customerId
:
[{
required
:
true
,
message
:
'客户不能为空'
,
trigger
:
'blur'
}],
customerId
:
[{
required
:
true
,
message
:
'客户不能为空'
,
trigger
:
'blur'
}],
contractId
:
[{
required
:
true
,
message
:
'合同不能为空'
,
trigger
:
'blur'
}],
contractId
:
[{
required
:
true
,
message
:
'合同不能为空'
,
trigger
:
'blur'
}],
auditStatus
:
[{
required
:
true
,
message
:
'审批状态不能为空'
,
trigger
:
'blur'
}],
returnTime
:
[{
required
:
true
,
message
:
'回款日期不能为空'
,
trigger
:
'blur'
}],
returnTime
:
[{
required
:
true
,
message
:
'回款日期不能为空'
,
trigger
:
'blur'
}],
price
:
[{
required
:
true
,
message
:
'回款金额不能为空'
,
trigger
:
'blur'
}]
price
:
[{
required
:
true
,
message
:
'回款金额不能为空'
,
trigger
:
'blur'
}]
})
})
...
@@ -150,8 +170,13 @@ const formRef = ref() // 表单 Ref
...
@@ -150,8 +170,13 @@ const formRef = ref() // 表单 Ref
const
customerList
=
ref
<
CustomerApi
.
CustomerVO
[]
>
([])
// 客户列表
const
customerList
=
ref
<
CustomerApi
.
CustomerVO
[]
>
([])
// 客户列表
const
contractList
=
ref
<
ContractApi
.
ContractVO
[]
>
([])
// 合同列表
const
contractList
=
ref
<
ContractApi
.
ContractVO
[]
>
([])
// 合同列表
const
receivablePlanList
=
ref
<
ReceivablePlanApi
.
ReceivablePlanVO
[]
>
([])
// 回款计划列表
const
receivablePlanList
=
ref
<
ReceivablePlanApi
.
ReceivablePlanVO
[]
>
([])
// 回款计划列表
/** 打开弹窗 */
/** 打开弹窗 */
const
open
=
async
(
type
:
string
,
id
?:
number
,
planData
?:
ReceivablePlanApi
.
ReceivablePlanVO
)
=>
{
const
open
=
async
(
type
:
string
,
id
?:
number
,
receivablePlan
?:
ReceivablePlanApi
.
ReceivablePlanVO
)
=>
{
dialogVisible
.
value
=
true
dialogVisible
.
value
=
true
dialogTitle
.
value
=
t
(
'action.'
+
type
)
dialogTitle
.
value
=
t
(
'action.'
+
type
)
formType
.
value
=
type
formType
.
value
=
type
...
@@ -166,7 +191,7 @@ const open = async (type: string, id?: number, planData?: ReceivablePlanApi.Rece
...
@@ -166,7 +191,7 @@ const open = async (type: string, id?: number, planData?: ReceivablePlanApi.Rece
}
}
}
}
// 获得用户列表
// 获得用户列表
user
List
.
value
=
await
UserApi
.
getSimpleUserList
()
user
Options
.
value
=
await
UserApi
.
getSimpleUserList
()
// 获得客户列表
// 获得客户列表
customerList
.
value
=
await
CustomerApi
.
getCustomerSimpleList
()
customerList
.
value
=
await
CustomerApi
.
getCustomerSimpleList
()
// 默认新建时选中自己
// 默认新建时选中自己
...
@@ -174,10 +199,12 @@ const open = async (type: string, id?: number, planData?: ReceivablePlanApi.Rece
...
@@ -174,10 +199,12 @@ const open = async (type: string, id?: number, planData?: ReceivablePlanApi.Rece
formData
.
value
.
ownerUserId
=
useUserStore
().
getUser
.
id
formData
.
value
.
ownerUserId
=
useUserStore
().
getUser
.
id
}
}
// 从回款计划创建回款
// 从回款计划创建回款
if
(
planData
)
{
if
(
receivablePlan
)
{
formData
.
value
.
customerId
=
planData
.
customerId
formData
.
value
.
customerId
=
receivablePlan
.
customerId
formData
.
value
.
contractId
=
planData
.
contractId
formData
.
value
.
contractId
=
receivablePlan
.
contractId
formData
.
value
.
planId
=
planData
.
id
formData
.
value
.
planId
=
receivablePlan
.
id
formData
.
value
.
price
=
receivablePlan
.
price
formData
.
value
.
returnType
=
receivablePlan
.
returnType
}
}
}
}
defineExpose
({
open
})
// 提供 open 方法,用于打开弹窗
defineExpose
({
open
})
// 提供 open 方法,用于打开弹窗
...
@@ -214,53 +241,47 @@ const resetForm = () => {
...
@@ -214,53 +241,47 @@ const resetForm = () => {
formRef
.
value
?.
resetFields
()
formRef
.
value
?.
resetFields
()
}
}
const
getContractList
=
async
(
customerId
:
number
)
=>
{
/** 处理切换客户 */
contractList
.
value
=
await
ContractApi
.
getContractSimpleList
(
customerId
)
const
handleCustomerChange
=
async
(
customerId
:
number
)
=>
{
}
// 重置合同编号
const
getReceivablePlanList
=
async
(
contractId
:
number
)
=>
{
formData
.
value
.
contractId
=
undefined
receivablePlanList
.
value
=
await
ReceivablePlanApi
.
getReceivablePlanListByContractId
(
// 获得合同列表
formData
.
value
.
customerId
,
if
(
customerId
)
{
contractId
contractList
.
value
=
[]
)
contractList
.
value
=
await
ContractApi
.
getContractSimpleList
(
customerId
)
}
}
}
watch
(
()
=>
formData
.
value
.
customerId
,
/** 处理切换合同 */
(
newVal
)
=>
{
const
handleContractChange
=
async
(
contractId
:
number
)
=>
{
if
(
!
newVal
)
{
// 重置回款计划编号
return
formData
.
value
.
planId
=
undefined
if
(
contractId
)
{
// 获得回款计划列表
receivablePlanList
.
value
=
[]
receivablePlanList
.
value
=
await
ReceivablePlanApi
.
getReceivablePlanSimpleList
(
formData
.
value
.
customerId
,
contractId
)
// 设置金额
const
contract
=
contractList
.
value
.
find
((
item
)
=>
item
.
id
===
contractId
)
if
(
contract
)
{
// TODO @芋艿:后续可以改成未还款金额
formData
.
value
.
price
=
contract
.
totalPrice
}
}
getContractList
(
newVal
)
},
{
immediate
:
true
}
}
)
}
watch
(
()
=>
formData
.
value
.
contractId
,
/** 处理切换回款计划 */
(
newVal
)
=>
{
const
handleReceivablePlanChange
=
(
planId
:
number
)
=>
{
if
(
!
newVal
)
{
if
(
!
planId
)
{
return
return
}
getReceivablePlanList
(
newVal
)
},
{
immediate
:
true
}
}
)
const
receivablePlan
=
receivablePlanList
.
value
.
find
((
item
)
=>
item
.
id
===
planId
)
watch
(
if
(
!
receivablePlan
)
{
()
=>
formData
.
value
.
planId
,
return
(
newVal
)
=>
{
if
(
!
newVal
)
{
return
}
const
receivablePlan
=
receivablePlanList
.
value
.
find
((
item
)
=>
item
.
id
===
newVal
)
if
(
!
receivablePlan
)
{
return
}
// 只有没有金额的时候才设置
if
(
!
formData
.
value
.
price
||
formData
.
value
.
price
===
0
)
{
formData
.
value
.
price
=
receivablePlan
.
price
}
}
}
)
formData
.
value
.
price
=
receivablePlan
.
price
formData
.
value
.
returnType
=
receivablePlan
.
returnType
}
</
script
>
</
script
>
src/views/crm/receivable/index.vue
View file @
5369328b
...
@@ -195,7 +195,6 @@
...
@@ -195,7 +195,6 @@
<!-- 表单弹窗:添加/修改 -->
<!-- 表单弹窗:添加/修改 -->
<ReceivableForm
ref=
"formRef"
@
success=
"getList"
/>
<ReceivableForm
ref=
"formRef"
@
success=
"getList"
/>
</template>
</template>
<
script
lang=
"ts"
setup
>
<
script
lang=
"ts"
setup
>
import
{
DICT_TYPE
}
from
'@/utils/dict'
import
{
DICT_TYPE
}
from
'@/utils/dict'
import
{
dateFormatter
,
dateFormatter2
}
from
'@/utils/formatTime'
import
{
dateFormatter
,
dateFormatter2
}
from
'@/utils/formatTime'
...
...
src/views/crm/receivable/plan/components/ReceivablePlanList.vue
View file @
5369328b
...
@@ -31,17 +31,6 @@
...
@@ -31,17 +31,6 @@
/>
/>
<el-table-column
label=
"负责人"
prop=
"ownerUserName"
width=
"120"
/>
<el-table-column
label=
"负责人"
prop=
"ownerUserName"
width=
"120"
/>
<el-table-column
align=
"center"
label=
"备注"
prop=
"remark"
/>
<el-table-column
align=
"center"
label=
"备注"
prop=
"remark"
/>
<el-table-column
align=
"center"
fixed=
"right"
label=
"完成状态"
prop=
"finishStatus"
width=
"130px"
>
<template
#
default=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
:value=
"scope.row.finishStatus"
/>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
fixed=
"right"
label=
"操作"
width=
"200px"
>
<el-table-column
align=
"center"
fixed=
"right"
label=
"操作"
width=
"200px"
>
<template
#
default=
"scope"
>
<template
#
default=
"scope"
>
<el-button
<el-button
...
@@ -141,6 +130,7 @@ const openForm = (type: string, id?: number) => {
...
@@ -141,6 +130,7 @@ const openForm = (type: string, id?: number) => {
formRef
.
value
.
open
(
type
,
id
)
formRef
.
value
.
open
(
type
,
id
)
}
}
// todo @puhui999:拼写错误
const
emits
=
defineEmits
<
{
const
emits
=
defineEmits
<
{
(
e
:
'crateReceivable'
,
v
:
ReceivablePlanApi
.
ReceivablePlanVO
)
(
e
:
'crateReceivable'
,
v
:
ReceivablePlanApi
.
ReceivablePlanVO
)
}
>
()
}
>
()
...
@@ -161,6 +151,7 @@ const handleDelete = async (id: number) => {
...
@@ -161,6 +151,7 @@ const handleDelete = async (id: number) => {
await
getList
()
await
getList
()
}
catch
{}
}
catch
{}
}
}
/** 监听打开的 customerId + contractId,从而加载最新的列表 */
/** 监听打开的 customerId + contractId,从而加载最新的列表 */
watch
(
watch
(
()
=>
[
props
.
customerId
,
props
.
contractId
],
()
=>
[
props
.
customerId
,
props
.
contractId
],
...
...
src/views/crm/receivable/plan/index.vue
View file @
5369328b
...
@@ -153,17 +153,6 @@
...
@@ -153,17 +153,6 @@
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
align=
"center"
fixed=
"right"
label=
"完成状态"
prop=
"finishStatus"
width=
"130px"
>
<
template
#
default=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
:value=
"scope.row.finishStatus"
/>
</
template
>
</el-table-column>
<el-table-column
:formatter=
"dateFormatter"
:formatter=
"dateFormatter"
align=
"center"
align=
"center"
label=
"更新时间"
label=
"更新时间"
...
@@ -178,10 +167,18 @@
...
@@ -178,10 +167,18 @@
width=
"180px"
width=
"180px"
/>
/>
<el-table-column
align=
"center"
label=
"创建人"
prop=
"creatorName"
width=
"100px"
/>
<el-table-column
align=
"center"
label=
"创建人"
prop=
"creatorName"
width=
"100px"
/>
<el-table-column
align=
"center"
fixed=
"right"
label=
"操作"
width=
"130px"
>
<el-table-column
align=
"center"
fixed=
"right"
label=
"操作"
width=
"180px"
>
<!-- TODO @puhui999:新建回款 -->
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
<el-button
<el-button
v-hasPermi=
"['crm:receivable:create']"
link
type=
"success"
@
click=
"openReceivableForm(scope.row)"
:disabled=
"scope.row.receivableId"
>
创建回款
</el-button>
<el-button
v-hasPermi=
"['crm:receivable-plan:update']"
v-hasPermi=
"['crm:receivable-plan:update']"
link
link
type=
"primary"
type=
"primary"
...
@@ -211,6 +208,7 @@
...
@@ -211,6 +208,7 @@
<!-- 表单弹窗:添加/修改 -->
<!-- 表单弹窗:添加/修改 -->
<ReceivablePlanForm
ref=
"formRef"
@
success=
"getList"
/>
<ReceivablePlanForm
ref=
"formRef"
@
success=
"getList"
/>
<ReceivableForm
ref=
"receivableFormRef"
@
success=
"getList"
/>
</template>
</template>
<
script
lang=
"ts"
setup
>
<
script
lang=
"ts"
setup
>
...
@@ -222,6 +220,7 @@ import ReceivablePlanForm from './ReceivablePlanForm.vue'
...
@@ -222,6 +220,7 @@ import ReceivablePlanForm from './ReceivablePlanForm.vue'
import
*
as
CustomerApi
from
'@/api/crm/customer'
import
*
as
CustomerApi
from
'@/api/crm/customer'
import
{
erpPriceInputFormatter
,
erpPriceTableColumnFormatter
}
from
'@/utils'
import
{
erpPriceInputFormatter
,
erpPriceTableColumnFormatter
}
from
'@/utils'
import
{
TabsPaneContext
}
from
'element-plus'
import
{
TabsPaneContext
}
from
'element-plus'
import
ReceivableForm
from
'@/views/crm/receivable/ReceivableForm.vue'
defineOptions
({
name
:
'ReceivablePlan'
})
defineOptions
({
name
:
'ReceivablePlan'
})
...
@@ -279,6 +278,12 @@ const openForm = (type: string, id?: number) => {
...
@@ -279,6 +278,12 @@ const openForm = (type: string, id?: number) => {
formRef
.
value
.
open
(
type
,
id
)
formRef
.
value
.
open
(
type
,
id
)
}
}
/** 创建回款操作 */
const
receivableFormRef
=
ref
()
const
openReceivableForm
=
(
row
:
ReceivablePlanApi
.
ReceivablePlanVO
)
=>
{
receivableFormRef
.
value
.
open
(
'create'
,
undefined
,
row
)
}
/** 删除按钮操作 */
/** 删除按钮操作 */
const
handleDelete
=
async
(
id
:
number
)
=>
{
const
handleDelete
=
async
(
id
:
number
)
=>
{
try
{
try
{
...
...
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