Skip to content

Commit 5e265a9

Browse files
committed
✨ CRM:【联系人】统一字段
1 parent d71097a commit 5e265a9

File tree

3 files changed

+80
-87
lines changed

3 files changed

+80
-87
lines changed

src/api/crm/contact/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export interface ContactVO {
88
email: string
99
post: string
1010
customerId: number
11-
address: string
11+
detailAddress: string
1212
remark: string
1313
ownerUserId: string
1414
lastTime: Date

src/views/crm/contact/ContactForm.vue

Lines changed: 29 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -49,17 +49,18 @@
4949
</el-select>
5050
</el-form-item>
5151
</el-col>
52-
<el-col :span="12"
53-
><el-form-item label="性别" prop="sex">
52+
<el-col :span="12">
53+
<el-form-item label="性别" prop="sex">
5454
<el-select v-model="formData.sex" placeholder="请选择">
5555
<el-option
5656
v-for="dict in getIntDictOptions(DICT_TYPE.SYSTEM_USER_SEX)"
5757
:key="dict.value"
5858
:label="dict.label"
5959
:value="dict.value"
6060
/>
61-
</el-select> </el-form-item
62-
></el-col>
61+
</el-select>
62+
</el-form-item>
63+
</el-col>
6364
</el-row>
6465
<el-row>
6566
<el-col :span="12">
@@ -72,8 +73,8 @@
7273
</el-form-item>
7374
</el-col>
7475
<el-col :span="12">
75-
<el-form-item label="座机" prop="telephone">
76-
<el-input v-model="formData.telephone" placeholder="请输入座机" style="width: 215px" />
76+
<el-form-item label="电话" prop="telephone">
77+
<el-input v-model="formData.telephone" placeholder="请输入电话" style="width: 215px" />
7778
</el-form-item>
7879
</el-col>
7980
</el-row>
@@ -104,10 +105,10 @@
104105
</el-form-item>
105106
</el-col>
106107
<el-col :span="12">
107-
<el-form-item label="下次联系时间" prop="nextTime">
108+
<el-form-item label="下次联系时间" prop="contactNextTime">
108109
<el-date-picker
109-
v-model="formData.nextTime"
110-
type="date"
110+
v-model="formData.contactNextTime"
111+
type="datetime"
111112
value-format="x"
112113
placeholder="选择下次联系时间"
113114
/>
@@ -126,15 +127,17 @@
126127
</el-form-item>
127128
</el-col>
128129
<el-col :span="12">
129-
<el-form-item label="地址" prop="address">
130+
<el-form-item label="地址" prop="detailAddress">
130131
<el-input
131132
input-style="width:190px;"
132-
v-model="formData.address"
133+
v-model="formData.detailAddress"
133134
placeholder="请输入地址"
134135
/>
135136
</el-form-item>
136-
</el-col> </el-row
137-
><el-row>
137+
</el-col>
138+
</el-row>
139+
<!-- TODO @zyna:解决下 ide 报错 -->
140+
<el-row>
138141
<el-col :span="12">
139142
<el-form-item label="直属上级" prop="parentId">
140143
<el-select v-model="formData.parentId" placeholder="请选择">
@@ -152,10 +155,11 @@
152155
<el-form-item label="职位" prop="post">
153156
<el-input input-style="width:190px;" v-model="formData.post" placeholder="请输入职位" />
154157
</el-form-item>
155-
</el-col> </el-row
156-
><el-row>
157-
<el-col :span="12"
158-
><el-form-item label="是否关键决策人" prop="master" style="width: 400px">
158+
</el-col>
159+
</el-row>
160+
<el-row>
161+
<el-col :span="12">
162+
<el-form-item label="关键决策人" prop="master" style="width: 400px">
159163
<el-radio-group v-model="formData.master">
160164
<el-radio
161165
v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
@@ -169,8 +173,8 @@
169173
</el-col>
170174
</el-row>
171175
<el-row>
172-
<el-col :span="24"
173-
><el-form-item label="备注" prop="remark">
176+
<el-col :span="24">
177+
<el-form-item label="备注" prop="remark">
174178
<el-input v-model="formData.remark" placeholder="请输入备注" />
175179
</el-form-item>
176180
</el-col>
@@ -192,19 +196,20 @@ import { defaultProps } from '@/utils/tree'
192196
193197
const { t } = useI18n() // 国际化
194198
const message = useMessage() // 消息弹窗
199+
195200
const dialogVisible = ref(false) // 弹窗的是否展示
196201
const dialogTitle = ref('') // 弹窗的标题
197202
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
198203
const formType = ref('') // 表单的类型:create - 新增;update - 修改
199204
const areaList = ref([]) // 地区列表
200205
const formData = ref({
201-
nextTime: undefined,
206+
contactNextTime: undefined,
202207
mobile: undefined,
203208
telephone: undefined,
204209
email: undefined,
205210
customerId: undefined,
206211
customerName: undefined,
207-
address: undefined,
212+
detailAddress: undefined,
208213
remark: undefined,
209214
ownerUserId: undefined,
210215
lastTime: undefined,
@@ -279,13 +284,14 @@ const submitForm = async () => {
279284
280285
/** 重置表单 */
281286
const resetForm = () => {
287+
// TODO zyna:ide 告警,看看怎么去掉哈;
282288
formData.value = {
283-
nextTime: undefined,
289+
contactNextTime: undefined,
284290
mobile: undefined,
285291
telephone: undefined,
286292
email: undefined,
287293
customerId: undefined,
288-
address: undefined,
294+
detailAddress: undefined,
289295
remark: undefined,
290296
ownerUserId: undefined,
291297
lastTime: undefined,

src/views/crm/contact/index.vue

Lines changed: 50 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
<el-form-item label="客户" prop="customerId">
1212
<el-select
1313
v-model="queryParams.customerId"
14+
class="!w-240px"
1415
placeholder="请选择客户"
1516
value-key="id"
1617
lable-key="name"
@@ -28,56 +29,55 @@
2829
<el-form-item label="姓名" prop="name">
2930
<el-input
3031
v-model="queryParams.name"
32+
class="!w-240px"
3133
placeholder="请输入姓名"
3234
clearable
3335
@keyup.enter="handleQuery"
34-
class="!w-240px"
3536
/>
3637
</el-form-item>
3738
<el-form-item label="手机号" prop="mobile">
3839
<el-input
3940
v-model="queryParams.mobile"
41+
class="!w-240px"
4042
placeholder="请输入手机号"
4143
clearable
4244
@keyup.enter="handleQuery"
43-
class="!w-240px"
4445
/>
4546
</el-form-item>
46-
<el-form-item label="座机" prop="telephone">
47+
<el-form-item label="电话" prop="telephone">
4748
<el-input
4849
v-model="queryParams.telephone"
50+
class="!w-240px"
4951
placeholder="请输入电话"
5052
clearable
5153
@keyup.enter="handleQuery"
52-
class="!w-240px"
5354
/>
5455
</el-form-item>
55-
5656
<el-form-item label="QQ" prop="qq">
5757
<el-input
5858
v-model="queryParams.qq"
59+
class="!w-240px"
5960
placeholder="请输入QQ"
6061
clearable
6162
@keyup.enter="handleQuery"
62-
class="!w-240px"
6363
/>
6464
</el-form-item>
6565
<el-form-item label="微信" prop="wechat">
6666
<el-input
6767
v-model="queryParams.wechat"
68+
class="!w-240px"
6869
placeholder="请输入微信"
6970
clearable
7071
@keyup.enter="handleQuery"
71-
class="!w-240px"
7272
/>
7373
</el-form-item>
7474
<el-form-item label="电子邮箱" prop="email">
7575
<el-input
7676
v-model="queryParams.email"
77+
class="!w-240px"
7778
placeholder="请输入电子邮箱"
7879
clearable
7980
@keyup.enter="handleQuery"
80-
class="!w-240px"
8181
/>
8282
</el-form-item>
8383
<el-form-item>
@@ -102,53 +102,57 @@
102102
<!-- 列表 -->
103103
<ContentWrap>
104104
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
105-
<el-table-column label="姓名" fixed="left" align="center" prop="name">
105+
<el-table-column label="姓名" fixed="left" align="center" prop="name" width="140">
106106
<template #default="scope">
107107
<el-link type="primary" :underline="false" @click="openDetail(scope.row.id)">
108108
{{ scope.row.name }}
109109
</el-link>
110110
</template>
111111
</el-table-column>
112-
<el-table-column label="客户" fixed="left" align="center" prop="customerName" />
113-
<el-table-column label="性别" align="center" prop="sex">
114-
<template #default="scope">
115-
<dict-tag :type="DICT_TYPE.SYSTEM_USER_SEX" :value="scope.row.sex" />
116-
</template>
117-
</el-table-column>
118-
<el-table-column label="职位" align="center" prop="post" />
119-
<el-table-column label="是否关键决策人" align="center" prop="master">
112+
<el-table-column label="客户名称" fixed="left" align="center" prop="customerName" width="120">
120113
<template #default="scope">
121-
<dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="scope.row.master" />
114+
<el-link
115+
type="primary"
116+
:underline="false"
117+
@click="openCustomerDetail(scope.row.customerId)"
118+
>
119+
{{ scope.row.customerName }}
120+
</el-link>
122121
</template>
123122
</el-table-column>
124-
<el-table-column label="直属上级" align="center" prop="parentName" />
125-
<el-table-column label="手机号" align="center" prop="mobile" />
126-
<el-table-column label="座机" align="center" prop="telephone" />
127-
<el-table-column label="QQ" align="center" prop="qq" />
128-
<el-table-column label="微信" align="center" prop="wechat" />
129-
<el-table-column label="邮箱" align="center" prop="email" />
130-
<el-table-column label="地址" align="center" prop="address" />
123+
<el-table-column label="手机" align="center" prop="mobile" width="120" />
124+
<el-table-column label="电话" align="center" prop="telephone" width="120" />
125+
<el-table-column label="邮箱" align="center" prop="email" width="120" />
126+
<el-table-column label="职位" align="center" prop="post" width="120" />
127+
<el-table-column label="地址" align="center" prop="detailAddress" width="120" />
131128
<el-table-column
132-
label="下次联系时间"
129+
:formatter="dateFormatter"
133130
align="center"
134-
prop="nextTime"
131+
label="下次联系时间"
132+
prop="contactNextTime"
135133
width="180px"
136-
:formatter="dateFormatter"
137134
/>
138135
<el-table-column label="备注" align="center" prop="remark" />
136+
<el-table-column label="关键决策人" align="center" prop="master" width="100">
137+
<template #default="scope">
138+
<dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="scope.row.master" />
139+
</template>
140+
</el-table-column>
141+
<el-table-column label="直属上级" align="center" prop="parentName" width="140" />
139142
<el-table-column
140143
label="最后跟进时间"
141144
align="center"
142-
prop="lastTime"
145+
prop="contactLastTime"
143146
:formatter="dateFormatter"
144147
width="180px"
145148
/>
146-
<el-table-column label="负责人" align="center" prop="ownerUserId">
149+
<el-table-column label="性别" align="center" prop="sex">
147150
<template #default="scope">
148-
{{ scope.row.ownerUserName }}
151+
<dict-tag :type="DICT_TYPE.SYSTEM_USER_SEX" :value="scope.row.sex" />
149152
</template>
150153
</el-table-column>
151-
<!-- <el-table-column label="所属部门" align="center" prop="ownerUserId" /> -->
154+
<el-table-column label="负责人" align="center" prop="ownerUserName" width="120" />
155+
<el-table-column label="创建人" align="center" prop="creatorName" width="120" />
152156
<el-table-column
153157
label="更新时间"
154158
align="center"
@@ -163,29 +167,18 @@
163167
:formatter="dateFormatter"
164168
width="180px"
165169
/>
166-
<!-- <el-table-column
167-
label="创建人"
168-
align="center"
169-
prop="creator"
170-
:formatter="dateFormatter"
171-
width="180px"
172-
>
173-
<template #default="scope">
174-
{{ userList.find((user) => user.id === scope.row.creator)?.nickname }}
175-
</template>
176-
</el-table-column> -->
177170
<el-table-column label="操作" align="center" fixed="right" width="200">
178171
<template #default="scope">
179172
<el-button
180-
plain
173+
link
181174
type="primary"
182175
@click="openForm('update', scope.row.id)"
183176
v-hasPermi="['crm:contact:update']"
184177
>
185178
编辑
186179
</el-button>
187180
<el-button
188-
plain
181+
link
189182
type="danger"
190183
@click="handleDelete(scope.row.id)"
191184
v-hasPermi="['crm:contact:delete']"
@@ -228,23 +221,13 @@ const customerList = ref<CustomerApi.CustomerVO[]>([]) // 客户列表
228221
const queryParams = reactive({
229222
pageNo: 1,
230223
pageSize: 10,
231-
nextTime: [],
232-
mobile: null,
233-
telephone: null,
234-
email: null,
235-
customerId: null,
236-
address: null,
237-
remark: null,
238-
ownerUserId: null,
239-
createTime: [],
240-
lastTime: [],
241-
parentId: null,
242-
name: null,
243-
post: null,
244-
qq: null,
245-
wechat: null,
246-
sex: null,
247-
policyMakers: null
224+
mobile: undefined,
225+
telephone: undefined,
226+
email: undefined,
227+
customerId: undefined,
228+
name: undefined,
229+
qq: undefined,
230+
wechat: undefined
248231
})
249232
const queryFormRef = ref() // 搜索的表单
250233
const exportLoading = ref(false) // 导出的加载中
@@ -307,11 +290,15 @@ const handleExport = async () => {
307290
}
308291
}
309292
310-
/** 打开客户详情 */
293+
/** 打开联系人详情 */
311294
const { push } = useRouter()
312295
const openDetail = (id: number) => {
313296
push({ name: 'CrmContactDetail', params: { id } })
314297
}
298+
/** 打开客户详情 */
299+
const openCustomerDetail = (id: number) => {
300+
push({ name: 'CrmCustomerDetail', params: { id } })
301+
}
315302
316303
/** 初始化 **/
317304
onMounted(async () => {

0 commit comments

Comments
 (0)