Skip to content

Commit 2b84de7

Browse files
committed
【新增】负责人
【修改】规范命名:期数:indexNo-》period
1 parent 5d760d5 commit 2b84de7

File tree

5 files changed

+90
-60
lines changed

5 files changed

+90
-60
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: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -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: 8 additions & 5 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"
@@ -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,

src/views/crm/receivablePlan/index.vue

Lines changed: 33 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
:inline="true"
99
label-width="68px"
1010
>
11-
<el-form-item label="期数" prop="indexNo">
11+
<el-form-item label="期数" prop="period">
1212
<el-input
13-
v-model="queryParams.indexNo"
13+
v-model="queryParams.period"
1414
placeholder="请输入期数"
1515
clearable
1616
@keyup.enter="handleQuery"
@@ -152,23 +152,13 @@
152152
<!-- 列表 -->
153153
<ContentWrap>
154154
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
155-
<el-table-column label="ID" align="center" prop="id" />
156-
<el-table-column label="期数" align="center" prop="indexNo" />
157-
<!--<el-table-column label="回款ID" align="center" prop="receivableId" />-->
158-
<el-table-column label="完成状态" align="center" prop="status">
159-
<template #default="scope">
160-
<dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status" />
161-
</template>
162-
</el-table-column>
163-
<el-table-column label="审批状态" align="center" prop="checkStatus" width="130px">
164-
<template #default="scope">
165-
<dict-tag :type="DICT_TYPE.CRM_RECEIVABLE_CHECK_STATUS" :value="scope.row.checkStatus" />
166-
</template>
167-
</el-table-column>
168-
<!--<el-table-column label="工作流编号" align="center" prop="processInstanceId" />-->
169-
<el-table-column label="回款金额" align="center" prop="price" />
155+
<!--<el-table-column label="ID" align="center" prop="id" />-->
156+
<el-table-column label="客户名称" align="center" prop="customerId" width="150px" />
157+
<el-table-column label="合同名称" align="center" prop="contractId" width="150px" />
158+
<el-table-column label="期数" align="center" prop="period" />
159+
<el-table-column label="计划回款" align="center" prop="price" />
170160
<el-table-column
171-
label="回款日期"
161+
label="计划回款日期"
172162
align="center"
173163
prop="returnTime"
174164
:formatter="dateFormatter2"
@@ -182,10 +172,24 @@
182172
:formatter="dateFormatter"
183173
width="180px"
184174
/>
185-
<el-table-column label="客户ID" align="center" prop="customerId" />
186-
<el-table-column label="合同ID" align="center" prop="contractId" />
187-
<el-table-column label="负责人" align="center" prop="ownerUserId" />
188-
<!--<el-table-column label="显示顺序" align="center" prop="sort" />-->
175+
<!--<el-table-column label="回款ID" align="center" prop="receivableId" />-->
176+
<el-table-column label="完成状态" align="center" prop="status">
177+
<template #default="scope">
178+
<dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status" />
179+
</template>
180+
</el-table-column>
181+
<el-table-column label="审批状态" align="center" prop="checkStatus" width="130px">
182+
<template #default="scope">
183+
<dict-tag :type="DICT_TYPE.CRM_RECEIVABLE_CHECK_STATUS" :value="scope.row.checkStatus" />
184+
</template>
185+
</el-table-column>
186+
<!--<el-table-column label="工作流编号" align="center" prop="processInstanceId" />-->
187+
<el-table-column prop="ownerUserId" label="负责人" width="120">
188+
<template #default="scope">
189+
{{ userList.find((user) => user.id === scope.row.ownerUserId)?.nickname }}
190+
</template>
191+
</el-table-column>
192+
<el-table-column label="显示顺序" align="center" prop="sort" />
189193
<el-table-column label="备注" align="center" prop="remark" />
190194
<el-table-column
191195
label="创建时间"
@@ -234,6 +238,7 @@ import { dateFormatter, dateFormatter2 } from '@/utils/formatTime'
234238
import download from '@/utils/download'
235239
import * as ReceivablePlanApi from '@/api/crm/receivablePlan'
236240
import ReceivablePlanForm from './ReceivablePlanForm.vue'
241+
import * as UserApi from '@/api/system/user'
237242
238243
defineOptions({ name: 'ReceivablePlan' })
239244
@@ -243,10 +248,11 @@ const { t } = useI18n() // 国际化
243248
const loading = ref(true) // 列表的加载中
244249
const total = ref(0) // 列表的总页数
245250
const list = ref([]) // 列表的数据
251+
const userList = ref<UserApi.UserVO[]>([]) // 用户列表
246252
const queryParams = reactive({
247253
pageNo: 1,
248254
pageSize: 10,
249-
indexNo: null,
255+
period: null,
250256
status: null,
251257
checkStatus: null,
252258
returnTime: [],
@@ -320,7 +326,9 @@ const handleExport = async () => {
320326
}
321327
322328
/** 初始化 **/
323-
onMounted(() => {
324-
getList()
329+
onMounted(async () => {
330+
await getList()
331+
// 获取用户列表
332+
userList.value = await UserApi.getSimpleUserList()
325333
})
326334
</script>

0 commit comments

Comments
 (0)