Skip to content

Commit ddfcedd

Browse files
committed
crm:code review 联系人详情
1 parent ae8cb92 commit ddfcedd

File tree

4 files changed

+88
-46
lines changed

4 files changed

+88
-46
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: 82 additions & 28 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,8 +15,18 @@
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>
@@ -23,18 +39,26 @@
2339
</el-select>
2440
</el-form-item>
2541
</el-col>
26-
<el-col :span="12"><el-form-item label="性别" prop="sex">
42+
<el-col :span="12"
43+
><el-form-item label="性别" prop="sex">
2744
<el-select v-model="formData.sex" placeholder="请选择">
2845
<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>
46+
v-for="dict in getIntDictOptions(DICT_TYPE.SYSTEM_USER_SEX)"
47+
:key="dict.value"
48+
:label="dict.label"
49+
:value="dict.value"
50+
/>
51+
</el-select> </el-form-item
52+
></el-col>
3353
</el-row>
3454
<el-row>
3555
<el-col :span="12">
3656
<el-form-item label="手机号" prop="mobile">
37-
<el-input input-style="width:190px;" v-model="formData.mobile" placeholder="请输入手机号" />
57+
<el-input
58+
input-style="width:190px;"
59+
v-model="formData.mobile"
60+
placeholder="请输入手机号"
61+
/>
3862
</el-form-item>
3963
</el-col>
4064
<el-col :span="12">
@@ -46,7 +70,11 @@ v-for="dict in getIntDictOptions(DICT_TYPE.SYSTEM_USER_SEX)" :key="dict.value"
4670
<el-row>
4771
<el-col :span="12">
4872
<el-form-item label="邮箱" prop="email">
49-
<el-input input-style="width:190px;" v-model="formData.email" placeholder="请输入邮箱" />
73+
<el-input
74+
input-style="width:190px;"
75+
v-model="formData.email"
76+
placeholder="请输入邮箱"
77+
/>
5078
</el-form-item>
5179
</el-col>
5280
<el-col :span="12">
@@ -58,55 +86,81 @@ v-for="dict in getIntDictOptions(DICT_TYPE.SYSTEM_USER_SEX)" :key="dict.value"
5886
<el-row>
5987
<el-col :span="12">
6088
<el-form-item label="微信" prop="wechat">
61-
<el-input input-style="width:190px;" v-model="formData.wechat" placeholder="请输入微信" />
89+
<el-input
90+
input-style="width:190px;"
91+
v-model="formData.wechat"
92+
placeholder="请输入微信"
93+
/>
6294
</el-form-item>
6395
</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="选择下次联系时间" />
96+
<el-col :span="12">
97+
<el-form-item label="下次联系时间" prop="nextTime">
98+
<el-date-picker
99+
v-model="formData.nextTime"
100+
type="date"
101+
value-format="x"
102+
placeholder="选择下次联系时间"
103+
/>
66104
</el-form-item>
67105
</el-col>
68106
</el-row>
69107
<el-row>
70108
<el-col :span="12">
71109
<el-form-item label="所在地" prop="areaId">
72110
<el-tree-select
73-
v-model="formData.areaId" :data="areaList" :props="defaultProps"
74-
:render-after-expand="true" />
111+
v-model="formData.areaId"
112+
:data="areaList"
113+
:props="defaultProps"
114+
:render-after-expand="true"
115+
/>
75116
</el-form-item>
76117
</el-col>
77118
<el-col :span="12">
78119
<el-form-item label="地址" prop="address">
79-
<el-input input-style="width:190px;" v-model="formData.address" placeholder="请输入地址" />
120+
<el-input
121+
input-style="width:190px;"
122+
v-model="formData.address"
123+
placeholder="请输入地址"
124+
/>
80125
</el-form-item>
81-
</el-col>
82-
</el-row><el-row>
126+
</el-col> </el-row
127+
><el-row>
83128
<el-col :span="12">
84129
<el-form-item label="直属上级" prop="parentId">
85130
<el-select v-model="formData.parentId" placeholder="请选择">
86131
<el-option
87-
v-for="item in allContactList" :key="item.id" :label="item.name" :value="item.id"
88-
:disabled="item.id == formData.id" />
132+
v-for="item in allContactList"
133+
:key="item.id"
134+
:label="item.name"
135+
:value="item.id"
136+
:disabled="item.id == formData.id"
137+
/>
89138
</el-select>
90139
</el-form-item>
91140
</el-col>
92-
<el-col :span="12"> <el-form-item label="职位" prop="post">
141+
<el-col :span="12">
142+
<el-form-item label="职位" prop="post">
93143
<el-input input-style="width:190px;" v-model="formData.post" placeholder="请输入职位" />
94144
</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">
145+
</el-col> </el-row
146+
><el-row>
147+
<el-col :span="12"
148+
><el-form-item label="是否关键决策人" prop="master" style="width: 400px">
98149
<el-radio-group v-model="formData.master">
99150
<el-radio
100-
v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)" :key="dict.value"
101-
:label="dict.value">
151+
v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
152+
:key="dict.value"
153+
:label="dict.value"
154+
>
102155
{{ dict.label }}
103156
</el-radio>
104157
</el-radio-group>
105158
</el-form-item>
106159
</el-col>
107160
</el-row>
108161
<el-row>
109-
<el-col :span="24"><el-form-item label="备注" prop="remark">
162+
<el-col :span="24"
163+
><el-form-item label="备注" prop="remark">
110164
<el-input v-model="formData.remark" placeholder="请输入备注" />
111165
</el-form-item>
112166
</el-col>
@@ -123,7 +177,6 @@ import * as ContactApi from '@/api/crm/contact'
123177
import { DICT_TYPE, getIntDictOptions, getBoolDictOptions } from '@/utils/dict'
124178
import * as UserApi from '@/api/system/user'
125179
import * as CustomerApi from '@/api/crm/customer'
126-
import { ElTable } from 'element-plus'
127180
import * as AreaApi from '@/api/system/area'
128181
import { defaultProps } from '@/utils/tree'
129182
@@ -163,6 +216,7 @@ const formRules = reactive({
163216
const formRef = ref() // 表单 Ref
164217
const ownerUserList = ref<any[]>([])
165218
const userList = ref<UserApi.UserVO[]>([]) // 用户列表
219+
// TODO 芋艿:统一的客户选择面板
166220
const customerList = ref<CustomerApi.CustomerVO[]>([]) // 客户列表
167221
const allContactList = ref([]) // 所有联系人列表
168222
/** 打开弹窗 */

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-27 23:43:25
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)