1
1
<template >
2
2
<ContentWrap >
3
3
<!-- 搜索工作栏 -->
4
- <!-- TODO zyna:筛选项,按照需求简化下 -->
5
- <el-form
6
- class =" -mb-15px"
7
- :model =" queryParams"
8
- ref =" queryFormRef"
9
- :inline =" true"
10
- label-width =" 68px"
11
- >
12
- <el-form-item label =" 客户编号" prop =" customerId" >
13
- <el-input
14
- v-model =" queryParams.customerId"
15
- placeholder =" 请输入客户编号"
16
- clearable
17
- @keyup.enter =" handleQuery"
18
- class =" !w-240px"
19
- />
4
+ <el-form class =" -mb-15px" :model =" queryParams" ref =" queryFormRef" :inline =" true" label-width =" 68px" >
5
+ <el-form-item label =" 客户" prop =" customerId" >
6
+ <el-select
7
+ v-model =" queryParams.customerId" placeholder =" 请选择客户" value-key =" id" lable-key =" name"
8
+ @keyup.enter =" handleQuery" clearable >
9
+ <el-option v-for =" item in customerList" :key =" item.id" :label =" item.name" :value =" item.id" />
10
+ </el-select >
20
11
</el-form-item >
21
12
<el-form-item label =" 姓名" prop =" name" >
22
- <el-input
23
- v-model =" queryParams.name"
24
- placeholder =" 请输入姓名"
25
- clearable
26
- @keyup.enter =" handleQuery"
27
- class =" !w-240px"
28
- />
13
+ <el-input v-model =" queryParams.name" placeholder =" 请输入姓名" clearable @keyup.enter =" handleQuery" class =" !w-240px" />
29
14
</el-form-item >
30
15
<el-form-item label =" 手机号" prop =" mobile" >
31
16
<el-input
32
- v-model =" queryParams.mobile"
33
- placeholder =" 请输入手机号"
34
- clearable
35
- @keyup.enter =" handleQuery"
36
- class =" !w-240px"
37
- />
17
+ v-model =" queryParams.mobile" placeholder =" 请输入手机号" clearable @keyup.enter =" handleQuery"
18
+ class =" !w-240px" />
38
19
</el-form-item >
39
20
<el-form-item label =" 座机" prop =" telephone" >
40
21
<el-input
41
- v-model =" queryParams.telephone"
42
- placeholder =" 请输入电话"
43
- clearable
44
- @keyup.enter =" handleQuery"
45
- class =" !w-240px"
46
- />
22
+ v-model =" queryParams.telephone" placeholder =" 请输入电话" clearable @keyup.enter =" handleQuery"
23
+ class =" !w-240px" />
47
24
</el-form-item >
48
25
49
26
<el-form-item label =" QQ" prop =" qq" >
50
- <el-input
51
- v-model =" queryParams.qq"
52
- placeholder =" 请输入QQ"
53
- clearable
54
- @keyup.enter =" handleQuery"
55
- class =" !w-240px"
56
- />
27
+ <el-input v-model =" queryParams.qq" placeholder =" 请输入QQ" clearable @keyup.enter =" handleQuery" class =" !w-240px" />
57
28
</el-form-item >
58
29
<el-form-item label =" 微信" prop =" wechat" >
59
30
<el-input
60
- v-model =" queryParams.wechat"
61
- placeholder =" 请输入微信"
62
- clearable
63
- @keyup.enter =" handleQuery"
64
- class =" !w-240px"
65
- />
31
+ v-model =" queryParams.wechat" placeholder =" 请输入微信" clearable @keyup.enter =" handleQuery"
32
+ class =" !w-240px" />
66
33
</el-form-item >
67
34
<el-form-item label =" 电子邮箱" prop =" email" >
68
35
<el-input
69
- v-model =" queryParams.email"
70
- placeholder =" 请输入电子邮箱"
71
- clearable
72
- @keyup.enter =" handleQuery"
73
- class =" !w-240px"
74
- />
36
+ v-model =" queryParams.email" placeholder =" 请输入电子邮箱" clearable @keyup.enter =" handleQuery"
37
+ class =" !w-240px" />
75
38
</el-form-item >
76
39
<el-form-item >
77
- <el-button @click =" handleQuery" ><Icon icon =" ep:search" class =" mr-5px" /> 搜索</el-button >
78
- <el-button @click =" resetQuery" ><Icon icon =" ep:refresh" class =" mr-5px" /> 重置</el-button >
40
+ <el-button @click =" handleQuery" >
41
+ <Icon icon =" ep:search" class =" mr-5px" /> 搜索
42
+ </el-button >
43
+ <el-button @click =" resetQuery" >
44
+ <Icon icon =" ep:refresh" class =" mr-5px" /> 重置
45
+ </el-button >
79
46
<el-button type =" primary" @click =" openForm('create')" v-hasPermi =" ['crm:contact:create']" >
80
47
<Icon icon =" ep:plus" class =" mr-5px" /> 新增
81
48
</el-button >
82
49
<el-button
83
- type =" success"
84
- plain
85
- @click =" handleExport"
86
- :loading =" exportLoading"
87
- v-hasPermi =" ['crm:contact:export']"
88
- >
50
+ type =" success" plain @click =" handleExport" :loading =" exportLoading"
51
+ v-hasPermi =" ['crm:contact:export']" >
89
52
<Icon icon =" ep:download" class =" mr-5px" /> 导出
90
53
</el-button >
91
54
</el-form-item >
102
65
}}</el-link >
103
66
</template >
104
67
</el-table-column >
105
- <el-table-column label =" 客户名称 " fixed =" left" align =" center" prop =" customerName" />
68
+ <el-table-column label =" 客户 " fixed =" left" align =" center" prop =" customerName" />
106
69
<el-table-column label =" 性别" align =" center" prop =" sex" >
107
70
<template #default =" scope " >
108
71
<dict-tag :type =" DICT_TYPE.SYSTEM_USER_SEX" :value =" scope.row.sex" />
114
77
<dict-tag :type =" DICT_TYPE.INFRA_BOOLEAN_STRING" :value =" scope.row.master" />
115
78
</template >
116
79
</el-table-column >
117
- <el-table-column label =" 直属上级" align =" center" prop =" parentName" />
80
+ <el-table-column label =" 直属上级" align =" center" prop =" parentName" />
118
81
<el-table-column label =" 手机号" align =" center" prop =" mobile" />
119
82
<el-table-column label =" 座机" align =" center" prop =" telephone" />
120
83
<el-table-column label =" QQ" align =" center" prop =" qq" />
121
84
<el-table-column label =" 微信" align =" center" prop =" wechat" />
122
85
<el-table-column label =" 邮箱" align =" center" prop =" email" />
123
86
<el-table-column label =" 地址" align =" center" prop =" address" />
124
- <el-table-column
125
- label =" 下次联系时间"
126
- align =" center"
127
- prop =" nextTime"
128
- width =" 180px"
129
- :formatter =" dateFormatter"
130
- />
87
+ <el-table-column label =" 下次联系时间" align =" center" prop =" nextTime" width =" 180px" :formatter =" dateFormatter" />
131
88
<el-table-column label =" 备注" align =" center" prop =" remark" />
132
- <el-table-column
133
- label =" 最后跟进时间"
134
- align =" center"
135
- prop =" lastTime"
136
- :formatter =" dateFormatter"
137
- width =" 180px"
138
- />
89
+ <el-table-column label =" 最后跟进时间" align =" center" prop =" lastTime" :formatter =" dateFormatter" width =" 180px" />
139
90
<el-table-column label =" 负责人" align =" center" prop =" ownerUserId" >
140
91
<template #default =" scope " >
141
- {{ scope.row.ownerUserName}}
92
+ {{ scope.row.ownerUserName }}
142
93
</template >
143
94
</el-table-column >
144
95
<!-- <el-table-column label="所属部门" align="center" prop="ownerUserId" /> -->
145
- <el-table-column
146
- label =" 更新时间"
147
- align =" center"
148
- prop =" updateTime"
149
- :formatter =" dateFormatter"
150
- width =" 180px"
151
- />
152
- <el-table-column
153
- label =" 创建时间"
154
- align =" center"
155
- prop =" createTime"
156
- :formatter =" dateFormatter"
157
- width =" 180px"
158
- />
96
+ <el-table-column label =" 更新时间" align =" center" prop =" updateTime" :formatter =" dateFormatter" width =" 180px" />
97
+ <el-table-column label =" 创建时间" align =" center" prop =" createTime" :formatter =" dateFormatter" width =" 180px" />
159
98
<!-- <el-table-column
160
99
label="创建人"
161
100
align="center"
169
108
</el-table-column> -->
170
109
<el-table-column label =" 操作" align =" center" fixed =" right" width =" 200" >
171
110
<template #default =" scope " >
172
- <el-button
173
- plain
174
- type =" primary"
175
- @click =" openForm('update', scope.row.id)"
176
- v-hasPermi =" ['crm:contact:update']"
177
- >
111
+ <el-button plain type =" primary" @click =" openForm('update', scope.row.id)" v-hasPermi =" ['crm:contact:update']" >
178
112
编辑
179
113
</el-button >
180
- <el-button
181
- plain
182
- type =" danger"
183
- @click =" handleDelete(scope.row.id)"
184
- v-hasPermi =" ['crm:contact:delete']"
185
- >
114
+ <el-button plain type =" danger" @click =" handleDelete(scope.row.id)" v-hasPermi =" ['crm:contact:delete']" >
186
115
删除
187
116
</el-button >
188
117
</template >
189
118
</el-table-column >
190
119
</el-table >
191
120
<!-- 分页 -->
192
121
<Pagination
193
- :total =" total"
194
- v-model:page =" queryParams.pageNo"
195
- v-model:limit =" queryParams.pageSize"
196
- @pagination =" getList"
197
- />
122
+ :total =" total" v-model:page =" queryParams.pageNo" v-model:limit =" queryParams.pageSize"
123
+ @pagination =" getList" />
198
124
</ContentWrap >
199
125
200
126
<!-- 表单弹窗:添加/修改 -->
@@ -207,7 +133,6 @@ import download from '@/utils/download'
207
133
import * as ContactApi from ' @/api/crm/contact'
208
134
import ContactForm from ' ./ContactForm.vue'
209
135
import { DICT_TYPE } from ' @/utils/dict'
210
- import * as UserApi from ' @/api/system/user'
211
136
import * as CustomerApi from ' @/api/crm/customer'
212
137
213
138
defineOptions ({ name: ' CrmContact' })
@@ -218,6 +143,7 @@ const { t } = useI18n() // 国际化
218
143
const loading = ref (true ) // 列表的加载中
219
144
const total = ref (0 ) // 列表的总页数
220
145
const list = ref ([]) // 列表的数据
146
+ const customerList = ref <CustomerApi .CustomerVO []>([]) // 客户列表
221
147
const queryParams = reactive ({
222
148
pageNo: 1 ,
223
149
pageSize: 10 ,
@@ -282,7 +208,7 @@ const handleDelete = async (id: number) => {
282
208
message .success (t (' common.delSuccess' ))
283
209
// 刷新列表
284
210
await getList ()
285
- } catch {}
211
+ } catch { }
286
212
}
287
213
288
214
/** 导出按钮操作 */
@@ -310,5 +236,6 @@ const openDetail = (id: number) => {
310
236
/** 初始化 **/
311
237
onMounted (async () => {
312
238
await getList ()
239
+ customerList .value = await CustomerApi .queryAllList ()
313
240
})
314
241
</script >
0 commit comments