10
10
<el-form-item label =" 线索名称" prop =" name" >
11
11
<el-input v-model =" formData.name" placeholder =" 请输入线索名称" />
12
12
</el-form-item >
13
- <!-- TODO 芋艿:后续客户的选择 -->
14
- <el-form-item label =" 客户" prop =" customerId" >
15
- <el-select v-model =" formData.customerId" clearable placeholder =" 请选择客户" >
16
- <el-option
17
- v-for =" item in customerList"
18
- :key =" item.id"
19
- :label =" item.name"
20
- :value =" item.id"
21
- />
22
- </el-select >
23
- </el-form-item >
24
13
<el-form-item label =" 下次联系时间" prop =" contactNextTime" >
25
14
<el-date-picker
26
15
v-model =" formData.contactNextTime"
38
27
<el-form-item label =" 地址" prop =" address" >
39
28
<el-input v-model =" formData.address" placeholder =" 请输入地址" />
40
29
</el-form-item >
41
- <!-- TODO wanwan 负责人选择 -->
42
- <el-form-item label =" 负责人" prop =" ownerUserId" >
43
- <el-input v-model =" formData.ownerUserId" placeholder =" 请输入负责人" />
30
+ <el-form-item v-if =" formType === 'create'" label =" 负责人" prop =" userIds" span =" 24" >
31
+ <el-select v-model =" formData.ownerUserId" >
32
+ <el-option
33
+ v-for =" item in userOptions"
34
+ :key =" item.id"
35
+ :label =" item.nickname"
36
+ :value =" item.id"
37
+ />
38
+ </el-select >
44
39
</el-form-item >
45
40
<el-form-item label =" 备注" prop =" remark" >
46
41
<el-input v-model =" formData.remark" placeholder =" 请输入备注" />
54
49
</template >
55
50
<script setup lang="ts">
56
51
import * as ClueApi from ' @/api/crm/clue'
57
- import * as CustomerApi from ' @/api/crm/customer'
52
+ import {CACHE_KEY , useCache } from " @/hooks/web/useCache" ;
53
+ import * as UserApi from " @/api/system/user" ;
58
54
59
55
const { t } = useI18n () // 国际化
60
56
const message = useMessage () // 消息弹窗
61
57
62
58
const dialogVisible = ref (false ) // 弹窗的是否展示
63
59
const dialogTitle = ref (' ' ) // 弹窗的标题
64
- const formLoading = ref (false ) // 表单的加载中 :1)修改时的数据加载;2)提交的按钮禁用
60
+ const formLoading = ref (false ) // 表单加载中 :1)修改时的数据加载;2)提交的按钮禁用
65
61
const formType = ref (' ' ) // 表单的类型:create - 新增;update - 修改
66
- const customerList = ref ([]) // 客户列表
62
+ const userOptions = ref < UserApi . UserVO []> ([]) // 用户列表
67
63
const formData = ref ({
68
64
id: undefined ,
69
65
name: undefined ,
70
- customerId: undefined ,
71
66
contactNextTime: undefined ,
72
67
telephone: undefined ,
73
68
mobile: undefined ,
@@ -78,7 +73,7 @@ const formData = ref({
78
73
})
79
74
const formRules = reactive ({
80
75
name: [{ required: true , message: ' 线索名称不能为空' , trigger: ' blur' }],
81
- customerId : [{ required: true , message: ' 客户不能为空 ' , trigger: ' blur' }]
76
+ ownerUserId : [{ required: true , message: ' 负责人不能为空 ' , trigger: ' blur' }]
82
77
})
83
78
const formRef = ref () // 表单 Ref
84
79
@@ -88,12 +83,6 @@ const open = async (type: string, id?: number) => {
88
83
dialogTitle .value = t (' action.' + type )
89
84
formType .value = type
90
85
resetForm ()
91
- const customerData = await CustomerApi .getCustomerPage ({
92
- pageNo: 1 ,
93
- pageSize: 100 ,
94
- pool: false
95
- })
96
- customerList .value = customerData .list
97
86
// 修改时,设置数据
98
87
if (id ) {
99
88
formLoading .value = true
@@ -103,6 +92,14 @@ const open = async (type: string, id?: number) => {
103
92
formLoading .value = false
104
93
}
105
94
}
95
+ // 获得用户列表
96
+ userOptions .value = await UserApi .getSimpleUserList ()
97
+ // 新建时负责人默认为登录人
98
+ if (formType .value === ' create' ) {
99
+ const { wsCache } = useCache ()
100
+ const user = wsCache .get (CACHE_KEY .USER ).user
101
+ formData .value .ownerUserId = user .id
102
+ }
106
103
}
107
104
defineExpose ({ open }) // 提供 open 方法,用于打开弹窗
108
105
@@ -137,7 +134,6 @@ const resetForm = () => {
137
134
formData .value = {
138
135
id: undefined ,
139
136
name: undefined ,
140
- customerId: undefined ,
141
137
contactNextTime: undefined ,
142
138
telephone: undefined ,
143
139
mobile: undefined ,
0 commit comments