7
7
label-width =" 100px"
8
8
v-loading =" formLoading"
9
9
>
10
- <el-form-item label =" 客户名称" prop =" name" >
11
- <el-input v-model =" formData.name" placeholder =" 请输入客户名称" />
12
- </el-form-item >
13
- <el-form-item label =" 跟进状态" prop =" followUpStatus" >
14
- <el-radio-group v-model =" formData.followUpStatus" >
15
- <el-radio
16
- v-for =" dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
17
- :key =" dict.value"
18
- :label =" dict.value"
19
- >
20
- {{ dict.label }}
21
- </el-radio >
22
- </el-radio-group >
23
- </el-form-item >
24
- <el-form-item label =" 锁定状态" prop =" lockStatus" >
25
- <el-radio-group v-model =" formData.lockStatus" >
26
- <el-radio
27
- v-for =" dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
28
- :key =" dict.value"
29
- :label =" dict.value"
30
- >
31
- {{ dict.label }}
32
- </el-radio >
33
- </el-radio-group >
34
- </el-form-item >
35
- <el-form-item label =" 手机" prop =" mobile" >
36
- <el-input v-model =" formData.mobile" placeholder =" 请输入手机" />
37
- </el-form-item >
38
- <el-form-item label =" 电话" prop =" telephone" >
39
- <el-input v-model =" formData.telephone" placeholder =" 请输入电话" />
40
- </el-form-item >
41
- <el-form-item label =" 网址" prop =" website" >
42
- <el-input v-model =" formData.website" placeholder =" 请输入网址" />
10
+ <el-row >
11
+ <el-form-item label =" 客户名称" prop =" name" >
12
+ <el-input v-model =" formData.name" placeholder =" 请输入客户名称" />
13
+ </el-form-item >
14
+ <el-form-item label =" 所属行业" prop =" industryId" >
15
+ <el-select v-model =" formData.industryId" placeholder =" 请选择所属行业" >
16
+ <el-option
17
+ v-for =" dict in getStrDictOptions(DICT_TYPE.CRM_CUSTOMER_INDUSTRY)"
18
+ :key =" dict.value"
19
+ :label =" dict.label"
20
+ :value =" dict.value"
21
+ />
22
+ </el-select >
23
+ </el-form-item >
24
+ </el-row >
25
+ <el-row >
26
+ <el-form-item label =" 客户来源" prop =" source" >
27
+ <el-select v-model =" formData.source" placeholder =" 请选择客户来源" >
28
+ <el-option
29
+ v-for =" dict in getStrDictOptions(DICT_TYPE.CRM_CUSTOMER_SOURCE)"
30
+ :key =" dict.value"
31
+ :label =" dict.label"
32
+ :value =" dict.value"
33
+ />
34
+ </el-select >
35
+ </el-form-item >
36
+ <el-form-item label =" 客户等级" prop =" level" >
37
+ <el-select v-model =" formData.level" placeholder =" 请选择客户等级" >
38
+ <el-option
39
+ v-for =" dict in getStrDictOptions(DICT_TYPE.CRM_CUSTOMER_LEVEL)"
40
+ :key =" dict.value"
41
+ :label =" dict.label"
42
+ :value =" dict.value"
43
+ />
44
+ </el-select >
45
+ </el-form-item >
46
+ </el-row >
47
+ <el-row >
48
+ <el-form-item label =" 手机" prop =" mobile" >
49
+ <el-input v-model =" formData.mobile" placeholder =" 请输入手机" />
50
+ </el-form-item >
51
+ <el-form-item label =" 电话" prop =" telephone" >
52
+ <el-input v-model =" formData.telephone" placeholder =" 请输入电话" />
53
+ </el-form-item >
54
+ </el-row >
55
+ <el-row >
56
+ <el-form-item label =" 邮箱" prop =" email" >
57
+ <el-input v-model =" formData.email" placeholder =" 请输入邮箱" />
58
+ </el-form-item >
59
+ <el-form-item label =" QQ" prop =" qq" >
60
+ <el-input v-model =" formData.qq" placeholder =" 请输入QQ" />
61
+ </el-form-item >
62
+ </el-row >
63
+ <el-row >
64
+ <el-form-item label =" 微信" prop =" wechat" >
65
+ <el-input v-model =" formData.wechat" placeholder =" 请输入微信" />
66
+ </el-form-item >
67
+ <el-form-item label =" 网址" prop =" website" >
68
+ <el-input v-model =" formData.website" placeholder =" 请输入网址" />
69
+ </el-form-item >
70
+ </el-row >
71
+ <el-row >
72
+ <el-form-item label =" 地区编号" prop =" areaId" >
73
+ <el-input v-model =" formData.areaId" placeholder =" 请输入地区编号" />
74
+ </el-form-item >
75
+ <el-form-item label =" 详细地址" prop =" detailAddress" >
76
+ <el-input v-model =" formData.detailAddress" placeholder =" 请输入详细地址" />
77
+ </el-form-item >
78
+ </el-row >
79
+ <!-- TODO @Wanwan 少一个负责人字段,默认先选中自己 -->
80
+ <el-row >
81
+ <el-form-item label =" 下次联系时间" prop =" contactNextTime" >
82
+ <el-date-picker
83
+ v-model =" formData.contactNextTime"
84
+ type =" date"
85
+ value-format =" x"
86
+ placeholder =" 选择下次联系时间"
87
+ />
88
+ </el-form-item >
89
+ </el-row >
90
+ <el-form-item label =" 客户描述" prop =" description" >
91
+ <el-input v-model =" formData.description" placeholder =" 请输入客户描述" />
43
92
</el-form-item >
44
93
<el-form-item label =" 备注" prop =" remark" >
45
94
<el-input v-model =" formData.remark" placeholder =" 请输入备注" />
46
95
</el-form-item >
47
- <el-form-item label =" 负责人的用户编号" prop =" ownerUserId" >
48
- <el-input v-model =" formData.ownerUserId" placeholder =" 请输入负责人的用户编号" />
49
- </el-form-item >
50
- <el-form-item label =" 只读权限的用户编号数组" prop =" roUserIds" >
51
- <el-input v-model =" formData.roUserIds" placeholder =" 请输入只读权限的用户编号数组" />
52
- </el-form-item >
53
- <el-form-item label =" 读写权限的用户编号数组" prop =" rwUserIds" >
54
- <el-input v-model =" formData.rwUserIds" placeholder =" 请输入读写权限的用户编号数组" />
55
- </el-form-item >
56
- <el-form-item label =" 地区编号" prop =" areaId" >
57
- <el-input v-model =" formData.areaId" placeholder =" 请输入地区编号" />
58
- </el-form-item >
59
- <el-form-item label =" 详细地址" prop =" detailAddress" >
60
- <el-input v-model =" formData.detailAddress" placeholder =" 请输入详细地址" />
61
- </el-form-item >
62
- <el-form-item label =" 地理位置经度" prop =" longitude" >
63
- <el-input v-model =" formData.longitude" placeholder =" 请输入地理位置经度" />
64
- </el-form-item >
65
- <el-form-item label =" 地理位置维度" prop =" latitude" >
66
- <el-input v-model =" formData.latitude" placeholder =" 请输入地理位置维度" />
67
- </el-form-item >
68
- <el-form-item label =" 最后跟进时间" prop =" contactLastTime" >
69
- <el-date-picker
70
- v-model =" formData.contactLastTime"
71
- type =" date"
72
- value-format =" x"
73
- placeholder =" 选择最后跟进时间"
74
- />
75
- </el-form-item >
76
- <el-form-item label =" 下次联系时间" prop =" contactNextTime" >
77
- <el-date-picker
78
- v-model =" formData.contactNextTime"
79
- type =" date"
80
- value-format =" x"
81
- placeholder =" 选择下次联系时间"
82
- />
83
- </el-form-item >
84
96
</el-form >
85
97
<template #footer >
86
98
<el-button @click =" submitForm" type =" primary" :disabled =" formLoading" >确 定</el-button >
89
101
</Dialog >
90
102
</template >
91
103
<script setup lang="ts">
92
- import { DICT_TYPE , getBoolDictOptions } from ' @/utils/dict'
104
+ import { DICT_TYPE , getStrDictOptions } from ' @/utils/dict'
93
105
import * as CustomerApi from ' @/api/crm/customer'
94
106
95
107
const { t } = useI18n () // 国际化
@@ -102,26 +114,23 @@ const formType = ref('') // 表单的类型:create - 新增;update - 修改
102
114
const formData = ref ({
103
115
id: undefined ,
104
116
name: undefined ,
105
- followUpStatus: undefined ,
106
- lockStatus: undefined ,
107
117
mobile: undefined ,
118
+ industryId: undefined ,
119
+ level: undefined ,
120
+ source: undefined ,
108
121
telephone: undefined ,
109
122
website: undefined ,
123
+ qq: undefined ,
124
+ wechat: undefined ,
125
+ email: undefined ,
126
+ description: undefined ,
110
127
remark: undefined ,
111
- ownerUserId: undefined ,
112
- roUserIds: undefined ,
113
- rwUserIds: undefined ,
114
128
areaId: undefined ,
115
129
detailAddress: undefined ,
116
- longitude: undefined ,
117
- latitude: undefined ,
118
- contactLastTime: undefined ,
119
130
contactNextTime: undefined
120
131
})
121
132
const formRules = reactive ({
122
- name: [{ require: true , message: ' 跟进状态不能为空' , trigger: ' blur' }],
123
- followUpStatus: [{ required: true , message: ' 跟进状态不能为空' , trigger: ' blur' }],
124
- lockStatus: [{ required: true , message: ' 锁定状态不能为空' , trigger: ' blur' }]
133
+ name: [{ require: true , message: ' 客户名称不能为空' , trigger: ' blur' }]
125
134
})
126
135
const formRef = ref () // 表单 Ref
127
136
@@ -174,20 +183,19 @@ const resetForm = () => {
174
183
formData .value = {
175
184
id: undefined ,
176
185
name: undefined ,
177
- followUpStatus: undefined ,
178
- lockStatus: undefined ,
179
186
mobile: undefined ,
187
+ industryId: undefined ,
188
+ level: undefined ,
189
+ source: undefined ,
180
190
telephone: undefined ,
181
191
website: undefined ,
192
+ qq: undefined ,
193
+ wechat: undefined ,
194
+ email: undefined ,
195
+ description: undefined ,
182
196
remark: undefined ,
183
- ownerUserId: undefined ,
184
- roUserIds: undefined ,
185
- rwUserIds: undefined ,
186
197
areaId: undefined ,
187
198
detailAddress: undefined ,
188
- longitude: undefined ,
189
- latitude: undefined ,
190
- contactLastTime: undefined ,
191
199
contactNextTime: undefined
192
200
}
193
201
formRef .value ?.resetFields ()
0 commit comments