Skip to content

Commit 1ba4501

Browse files
committed
crm:code review 联系人详情
1 parent 24773a6 commit 1ba4501

File tree

4 files changed

+100
-48
lines changed

4 files changed

+100
-48
lines changed

src/api/crm/contact/index.ts

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,3 @@
1-
/*
2-
* @Author: zyna
3-
* @Date: 2023-11-05 13:34:41
4-
* @LastEditTime: 2023-11-26 20:47:04
5-
* @FilePath: \yudao-ui-admin-vue3\src\api\crm\contact\index.ts
6-
* @Description:
7-
*/
81
import request from '@/config/axios'
92

103
export interface ContactVO {
@@ -28,8 +21,8 @@ export interface ContactVO {
2821
creatorName: string
2922
updateTime?: Date
3023
createTime?: Date
31-
customerName: string,
32-
areaName: string,
24+
customerName: string
25+
areaName: string
3326
ownerUserName: string
3427
}
3528

@@ -62,6 +55,7 @@ export const deleteContact = async (id: number) => {
6255
export const exportContact = async (params) => {
6356
return await request.download({ url: `/crm/contact/export-excel`, params })
6457
}
58+
6559
export const simpleAllList = async () => {
6660
return await request.get({ url: `/crm/contact/simple-all-list` })
6761
}

src/api/crm/customer/index.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,8 @@ export const deleteCustomer = async (id: number) => {
6262
export const exportCustomer = async (params) => {
6363
return await request.download({ url: `/crm/customer/export-excel`, params })
6464
}
65-
//客户列表
65+
66+
// 客户列表
6667
export const queryAllList = async () => {
6768
return await request.get({ url: `/crm/customer/query-all-list` })
68-
}
69+
}

src/views/crm/contact/ContactForm.vue

Lines changed: 94 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
<template>
22
<Dialog :title="dialogTitle" v-model="dialogVisible" :width="820">
3-
<el-form ref="formRef" :model="formData" :rules="formRules" label-width="110px" v-loading="formLoading">
3+
<el-form
4+
ref="formRef"
5+
:model="formData"
6+
:rules="formRules"
7+
label-width="110px"
8+
v-loading="formLoading"
9+
>
410
<el-row :gutter="20">
511
<el-col :span="12">
612
<el-form-item label="姓名" prop="name">
@@ -9,32 +15,60 @@
915
</el-col>
1016
<el-col :span="12">
1117
<el-form-item label="负责人" prop="ownerUserId">
12-
<el-select v-model="formData.ownerUserId" placeholder="请选择负责人" value-key="id" lable-key="nickname">
13-
<el-option v-for="item in userList" :key="item.id" :label="item.nickname" :value="item.id" />
18+
<el-select
19+
v-model="formData.ownerUserId"
20+
placeholder="请选择负责人"
21+
value-key="id"
22+
lable-key="nickname"
23+
>
24+
<el-option
25+
v-for="item in userList"
26+
:key="item.id"
27+
:label="item.nickname"
28+
:value="item.id"
29+
/>
1430
</el-select>
1531
</el-form-item>
1632
</el-col>
1733
</el-row>
1834
<el-row>
1935
<el-col :span="12">
2036
<el-form-item label="客户名称" prop="customerName">
21-
<el-select v-model="formData.customerId" placeholder="请选择客户" value-key="id" lable-key="name">
22-
<el-option v-for="item in customerList" :key="item.id" :label="item.name" :value="item.id" />
37+
<el-select
38+
v-model="formData.customerId"
39+
placeholder="请选择客户"
40+
value-key="id"
41+
lable-key="name"
42+
>
43+
<el-option
44+
v-for="item in customerList"
45+
:key="item.id"
46+
:label="item.name"
47+
:value="item.id"
48+
/>
2349
</el-select>
2450
</el-form-item>
2551
</el-col>
26-
<el-col :span="12"><el-form-item label="性别" prop="sex">
52+
<el-col :span="12"
53+
><el-form-item label="性别" prop="sex">
2754
<el-select v-model="formData.sex" placeholder="请选择">
2855
<el-option
29-
v-for="dict in getIntDictOptions(DICT_TYPE.SYSTEM_USER_SEX)" :key="dict.value"
30-
:label="dict.label" :value="dict.value" />
31-
</el-select>
32-
</el-form-item></el-col>
56+
v-for="dict in getIntDictOptions(DICT_TYPE.SYSTEM_USER_SEX)"
57+
:key="dict.value"
58+
:label="dict.label"
59+
:value="dict.value"
60+
/>
61+
</el-select> </el-form-item
62+
></el-col>
3363
</el-row>
3464
<el-row>
3565
<el-col :span="12">
3666
<el-form-item label="手机号" prop="mobile">
37-
<el-input input-style="width:190px;" v-model="formData.mobile" placeholder="请输入手机号" />
67+
<el-input
68+
input-style="width:190px;"
69+
v-model="formData.mobile"
70+
placeholder="请输入手机号"
71+
/>
3872
</el-form-item>
3973
</el-col>
4074
<el-col :span="12">
@@ -46,7 +80,11 @@ v-for="dict in getIntDictOptions(DICT_TYPE.SYSTEM_USER_SEX)" :key="dict.value"
4680
<el-row>
4781
<el-col :span="12">
4882
<el-form-item label="邮箱" prop="email">
49-
<el-input input-style="width:190px;" v-model="formData.email" placeholder="请输入邮箱" />
83+
<el-input
84+
input-style="width:190px;"
85+
v-model="formData.email"
86+
placeholder="请输入邮箱"
87+
/>
5088
</el-form-item>
5189
</el-col>
5290
<el-col :span="12">
@@ -58,55 +96,81 @@ v-for="dict in getIntDictOptions(DICT_TYPE.SYSTEM_USER_SEX)" :key="dict.value"
5896
<el-row>
5997
<el-col :span="12">
6098
<el-form-item label="微信" prop="wechat">
61-
<el-input input-style="width:190px;" v-model="formData.wechat" placeholder="请输入微信" />
99+
<el-input
100+
input-style="width:190px;"
101+
v-model="formData.wechat"
102+
placeholder="请输入微信"
103+
/>
62104
</el-form-item>
63105
</el-col>
64-
<el-col :span="12"> <el-form-item label="下次联系时间" prop="nextTime">
65-
<el-date-picker v-model="formData.nextTime" type="date" value-format="x" placeholder="选择下次联系时间" />
106+
<el-col :span="12">
107+
<el-form-item label="下次联系时间" prop="nextTime">
108+
<el-date-picker
109+
v-model="formData.nextTime"
110+
type="date"
111+
value-format="x"
112+
placeholder="选择下次联系时间"
113+
/>
66114
</el-form-item>
67115
</el-col>
68116
</el-row>
69117
<el-row>
70118
<el-col :span="12">
71119
<el-form-item label="所在地" prop="areaId">
72120
<el-tree-select
73-
v-model="formData.areaId" :data="areaList" :props="defaultProps"
74-
:render-after-expand="true" />
121+
v-model="formData.areaId"
122+
:data="areaList"
123+
:props="defaultProps"
124+
:render-after-expand="true"
125+
/>
75126
</el-form-item>
76127
</el-col>
77128
<el-col :span="12">
78129
<el-form-item label="地址" prop="address">
79-
<el-input input-style="width:190px;" v-model="formData.address" placeholder="请输入地址" />
130+
<el-input
131+
input-style="width:190px;"
132+
v-model="formData.address"
133+
placeholder="请输入地址"
134+
/>
80135
</el-form-item>
81-
</el-col>
82-
</el-row><el-row>
136+
</el-col> </el-row
137+
><el-row>
83138
<el-col :span="12">
84139
<el-form-item label="直属上级" prop="parentId">
85140
<el-select v-model="formData.parentId" placeholder="请选择">
86141
<el-option
87-
v-for="item in allContactList" :key="item.id" :label="item.name" :value="item.id"
88-
:disabled="item.id == formData.id" />
142+
v-for="item in allContactList"
143+
:key="item.id"
144+
:label="item.name"
145+
:value="item.id"
146+
:disabled="item.id == formData.id"
147+
/>
89148
</el-select>
90149
</el-form-item>
91150
</el-col>
92-
<el-col :span="12"> <el-form-item label="职位" prop="post">
151+
<el-col :span="12">
152+
<el-form-item label="职位" prop="post">
93153
<el-input input-style="width:190px;" v-model="formData.post" placeholder="请输入职位" />
94154
</el-form-item>
95-
</el-col>
96-
</el-row><el-row>
97-
<el-col :span="12"><el-form-item label="是否关键决策人" prop="master" style="width: 400px">
155+
</el-col> </el-row
156+
><el-row>
157+
<el-col :span="12"
158+
><el-form-item label="是否关键决策人" prop="master" style="width: 400px">
98159
<el-radio-group v-model="formData.master">
99160
<el-radio
100-
v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)" :key="dict.value"
101-
:label="dict.value">
161+
v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
162+
:key="dict.value"
163+
:label="dict.value"
164+
>
102165
{{ dict.label }}
103166
</el-radio>
104167
</el-radio-group>
105168
</el-form-item>
106169
</el-col>
107170
</el-row>
108171
<el-row>
109-
<el-col :span="24"><el-form-item label="备注" prop="remark">
172+
<el-col :span="24"
173+
><el-form-item label="备注" prop="remark">
110174
<el-input v-model="formData.remark" placeholder="请输入备注" />
111175
</el-form-item>
112176
</el-col>
@@ -123,7 +187,6 @@ import * as ContactApi from '@/api/crm/contact'
123187
import { DICT_TYPE, getIntDictOptions, getBoolDictOptions } from '@/utils/dict'
124188
import * as UserApi from '@/api/system/user'
125189
import * as CustomerApi from '@/api/crm/customer'
126-
import { ElTable } from 'element-plus'
127190
import * as AreaApi from '@/api/system/area'
128191
import { defaultProps } from '@/utils/tree'
129192
@@ -163,6 +226,7 @@ const formRules = reactive({
163226
const formRef = ref() // 表单 Ref
164227
const ownerUserList = ref<any[]>([])
165228
const userList = ref<UserApi.UserVO[]>([]) // 用户列表
229+
// TODO 芋艿:统一的客户选择面板
166230
const customerList = ref<CustomerApi.CustomerVO[]>([]) // 客户列表
167231
const allContactList = ref([]) // 所有联系人列表
168232
/** 打开弹窗 */

src/views/crm/contact/detail/ContactDetails.vue

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,3 @@
1-
<!--
2-
* @Author: zyna
3-
* @Date: 2023-11-26 10:39:46
4-
* @LastEditTime: 2023-11-26 20:43:43
5-
* @FilePath: \yudao-ui-admin-vue3\src\views\crm\contact\detail\ContactDetails.vue
6-
* @Description:
7-
-->
81
<template>
92
<el-collapse v-model="activeNames">
103
<el-collapse-item name="basicInfo">

0 commit comments

Comments
 (0)