Skip to content

Commit f0c4510

Browse files
YunaiVgitee-org
authored andcommitted
!309 完善回款管理和回款计划功能
Merge pull request !309 from souvc/master
2 parents 4f2f4f7 + 8ef5227 commit f0c4510

File tree

5 files changed

+115
-94
lines changed

5 files changed

+115
-94
lines changed

src/api/crm/receivablePlan/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import request from '@/config/axios'
22

33
export interface ReceivablePlanVO {
44
id: number
5-
indexNo: number
5+
period: number
66
receivableId: number
77
status: number
88
checkStatus: string

src/views/crm/receivable/ReceivableForm.vue

Lines changed: 28 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@
1010
<el-form-item label="回款编号" prop="no">
1111
<el-input v-model="formData.no" placeholder="请输入回款编号" />
1212
</el-form-item>
13-
<!--<el-form-item label="回款计划ID" prop="planId">
14-
<el-input v-model="formData.planId" placeholder="请输入回款计划ID" />
15-
</el-form-item>-->
16-
<el-form-item label="客户ID" prop="customerId">
17-
<el-input v-model="formData.customerId" placeholder="请输入客户ID" />
13+
<el-form-item label="回款计划" prop="planId">
14+
<el-input v-model="formData.planId" placeholder="请输入回款计划" />
15+
</el-form-item>
16+
<el-form-item label="客户名称" prop="customerId">
17+
<el-input v-model="formData.customerId" placeholder="请输入客户名称" />
1818
</el-form-item>
19-
<el-form-item label="合同ID" prop="contractId">
20-
<el-input v-model="formData.contractId" placeholder="请输入合同ID" />
19+
<el-form-item label="合同名称" prop="contractId">
20+
<el-input v-model="formData.contractId" placeholder="请输入合同名称" />
2121
</el-form-item>
2222
<!--<el-form-item label="审批状态" prop="checkStatus">
2323
<el-select v-model="formData.checkStatus" placeholder="请选择审批状态">
@@ -54,15 +54,22 @@
5454
<el-input-number v-model="formData.price" placeholder="请输入回款金额" />
5555
</el-form-item>
5656
<el-form-item label="负责人" prop="ownerUserId">
57-
<el-input v-model="formData.ownerUserId" placeholder="请输入负责人" />
57+
<el-select v-model="formData.ownerUserId" clearable placeholder="请输入负责人">
58+
<el-option
59+
v-for="item in userList"
60+
:key="item.id"
61+
:label="item.nickname"
62+
:value="item.id"
63+
/>
64+
</el-select>
5865
</el-form-item>
5966
<el-form-item label="批次" prop="batchId">
60-
<el-input v-model="formData.batchId" placeholder="请输入批次" />
67+
<el-input-number v-model="formData.batchId" placeholder="请输入批次" />
6168
</el-form-item>
62-
<!--<el-form-item label="显示顺序" prop="sort">
63-
<el-input v-model="formData.sort" placeholder="请输入显示顺序" />
64-
</el-form-item>-->
65-
<el-form-item label="状态" prop="status">
69+
<el-form-item label="显示排序" prop="sort">
70+
<el-input-number v-model="formData.sort" :min="0" controls-position="right" />
71+
</el-form-item>
72+
<!--<el-form-item label="状态" prop="status">
6673
<el-select v-model="formData.status" placeholder="请选择状态">
6774
<el-option
6875
v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)"
@@ -71,7 +78,7 @@
7178
:value="dict.value"
7279
/>
7380
</el-select>
74-
</el-form-item>
81+
</el-form-item>-->
7582
<el-form-item label="备注" prop="remark">
7683
<el-input type="textarea" :rows="3" v-model="formData.remark" placeholder="请输入备注" />
7784
</el-form-item>
@@ -85,10 +92,11 @@
8592
<script setup lang="ts">
8693
import { DICT_TYPE, getIntDictOptions, getStrDictOptions } from '@/utils/dict'
8794
import * as ReceivableApi from '@/api/crm/receivable'
95+
import * as UserApi from '@/api/system/user'
8896
8997
const { t } = useI18n() // 国际化
9098
const message = useMessage() // 消息弹窗
91-
99+
const userList = ref<UserApi.UserVO[]>([]) // 用户列表
92100
const dialogVisible = ref(false) // 弹窗的是否展示
93101
const dialogTitle = ref('') // 弹窗的标题
94102
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
@@ -112,9 +120,9 @@ const formData = ref({
112120
status: undefined,
113121
remark: undefined
114122
})
115-
const formRules = reactive({
116-
status: [{ required: true, message: '状态不能为空', trigger: 'change' }]
117-
})
123+
// const formRules = reactive({
124+
// status: [{ required: true, message: '状态不能为空', trigger: 'change' }]
125+
// })
118126
const formRef = ref() // 表单 Ref
119127
120128
/** 打开弹窗 */
@@ -132,6 +140,8 @@ const open = async (type: string, id?: number) => {
132140
formLoading.value = false
133141
}
134142
}
143+
// 获得用户列表
144+
userList.value = await UserApi.getSimpleUserList()
135145
}
136146
defineExpose({ open }) // 提供 open 方法,用于打开弹窗
137147

src/views/crm/receivable/index.vue

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,19 +26,19 @@
2626
class="!w-240px"
2727
/>
2828
</el-form-item>-->
29-
<el-form-item label="客户" prop="customerId">
29+
<el-form-item label="客户名称" prop="customerId">
3030
<el-input
3131
v-model="queryParams.customerId"
32-
placeholder="请输入客户"
32+
placeholder="请输入客户名称"
3333
clearable
3434
@keyup.enter="handleQuery"
3535
class="!w-240px"
3636
/>
3737
</el-form-item>
38-
<el-form-item label="合同" prop="contractId">
38+
<el-form-item label="合同名称" prop="contractId">
3939
<el-input
4040
v-model="queryParams.contractId"
41-
placeholder="请输入合同"
41+
placeholder="请输入合同名称"
4242
clearable
4343
@keyup.enter="handleQuery"
4444
class="!w-240px"
@@ -103,7 +103,7 @@
103103
class="!w-240px"
104104
/>
105105
</el-form-item>-->
106-
<el-form-item label="负责人" prop="ownerUserId">
106+
<!--<el-form-item label="负责人" prop="ownerUserId">
107107
<el-input
108108
v-model="queryParams.ownerUserId"
109109
placeholder="请输入负责人"
@@ -112,7 +112,7 @@
112112
class="!w-240px"
113113
/>
114114
</el-form-item>
115-
<!--<el-form-item label="批次" prop="batchId">
115+
<el-form-item label="批次" prop="batchId">
116116
<el-input
117117
v-model="queryParams.batchId"
118118
placeholder="请输入批次"
@@ -227,8 +227,11 @@
227227
:formatter="dateFormatter"
228228
width="180px"
229229
/>
230-
<el-table-column label="操作" align="center" width="130px">
230+
<el-table-column label="操作" align="center" width="180px">
231231
<template #default="scope">
232+
<!--<router-link :to="'/crm/receivable-plan?receivableId=' + scope.row.receivableId">
233+
<el-button link type="primary">详情</el-button>
234+
</router-link>-->
232235
<el-button
233236
link
234237
type="primary"

src/views/crm/receivablePlan/ReceivablePlanForm.vue

Lines changed: 27 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,24 @@
77
label-width="100px"
88
v-loading="formLoading"
99
>
10-
<el-form-item label="期数" prop="indexNo">
11-
<el-input-number v-model="formData.indexNo" placeholder="请输入期数" />
10+
<el-form-item label="客户名称" prop="customerId">
11+
<el-input v-model="formData.customerId" placeholder="请输入客户名称" />
12+
</el-form-item>
13+
<el-form-item label="合同名称" prop="contractId">
14+
<el-input v-model="formData.contractId" placeholder="请输入合同名称" />
15+
</el-form-item>
16+
<el-form-item label="负责人" prop="ownerUserId">
17+
<el-select v-model="formData.ownerUserId" clearable placeholder="请输入负责人">
18+
<el-option
19+
v-for="item in userList"
20+
:key="item.id"
21+
:label="item.nickname"
22+
:value="item.id"
23+
/>
24+
</el-select>
25+
</el-form-item>
26+
<el-form-item label="期数" prop="period">
27+
<el-input-number v-model="formData.period" placeholder="请输入期数" />
1228
</el-form-item>
1329
<!--<el-form-item label="回款ID" prop="receivableId">
1430
<el-input v-model="formData.receivableId" placeholder="请输入回款ID" />
@@ -58,18 +74,9 @@
5874
placeholder="选择提醒日期"
5975
/>
6076
</el-form-item>
61-
<el-form-item label="客户ID" prop="customerId">
62-
<el-input v-model="formData.customerId" placeholder="请输入客户ID" />
77+
<el-form-item label="显示排序" prop="sort">
78+
<el-input-number v-model="formData.sort" :min="0" controls-position="right" />
6379
</el-form-item>
64-
<el-form-item label="合同ID" prop="contractId">
65-
<el-input v-model="formData.contractId" placeholder="请输入合同ID" />
66-
</el-form-item>
67-
<el-form-item label="负责人" prop="ownerUserId">
68-
<el-input v-model="formData.ownerUserId" placeholder="请输入负责人" />
69-
</el-form-item>
70-
<!--<el-form-item label="显示顺序" prop="sort">
71-
<el-input v-model="formData.sort" placeholder="请输入显示顺序" />
72-
</el-form-item>-->
7380
<el-form-item label="备注" prop="remark">
7481
<el-input type="textarea" :rows="3" v-model="formData.remark" placeholder="请输入备注" />
7582
</el-form-item>
@@ -81,19 +88,18 @@
8188
</Dialog>
8289
</template>
8390
<script setup lang="ts">
84-
import { DICT_TYPE, getIntDictOptions, getStrDictOptions } from '@/utils/dict'
8591
import * as ReceivablePlanApi from '@/api/crm/receivablePlan'
86-
92+
import * as UserApi from '@/api/system/user'
8793
const { t } = useI18n() // 国际化
8894
const message = useMessage() // 消息弹窗
89-
95+
const userList = ref<UserApi.UserVO[]>([]) // 用户列表
9096
const dialogVisible = ref(false) // 弹窗的是否展示
9197
const dialogTitle = ref('') // 弹窗的标题
9298
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
9399
const formType = ref('') // 表单的类型:create - 新增;update - 修改
94100
const formData = ref({
95101
id: undefined,
96-
indexNo: undefined,
102+
period: undefined,
97103
receivableId: undefined,
98104
status: undefined,
99105
checkStatus: undefined,
@@ -128,6 +134,9 @@ const open = async (type: string, id?: number) => {
128134
formLoading.value = false
129135
}
130136
}
137+
138+
// 获得用户列表
139+
userList.value = await UserApi.getSimpleUserList()
131140
}
132141
defineExpose({ open }) // 提供 open 方法,用于打开弹窗
133142
@@ -161,7 +170,7 @@ const submitForm = async () => {
161170
const resetForm = () => {
162171
formData.value = {
163172
id: undefined,
164-
indexNo: undefined,
173+
period: undefined,
165174
receivableId: undefined,
166175
status: undefined,
167176
checkStatus: undefined,

0 commit comments

Comments
 (0)