parent
90743cdb85
commit
a1635da641
@ -7,8 +7,8 @@ export interface FollowUpRecordVO {
|
|||||||
bizId: number // 数据编号
|
bizId: number // 数据编号
|
||||||
type: number // 跟进类型
|
type: number // 跟进类型
|
||||||
content: string // 跟进内容
|
content: string // 跟进内容
|
||||||
picUrls: string[]
|
picUrls: string[] // 图片
|
||||||
fileUrls: string[]
|
fileUrls: string[] // 附件
|
||||||
nextTime: Date // 下次联系时间
|
nextTime: Date // 下次联系时间
|
||||||
businessIds: number[] // 关联的商机编号数组
|
businessIds: number[] // 关联的商机编号数组
|
||||||
contactIds: number[] // 关联的联系人编号数组
|
contactIds: number[] // 关联的联系人编号数组
|
||||||
|
@ -141,14 +141,18 @@ const submitForm = async () => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 关联联系人 */
|
||||||
const contactTableSelectRef = ref<InstanceType<typeof ContactTableSelect>>()
|
const contactTableSelectRef = ref<InstanceType<typeof ContactTableSelect>>()
|
||||||
const handleAddContact = () => {
|
const handleAddContact = () => {
|
||||||
contactTableSelectRef.value?.open()
|
contactTableSelectRef.value?.open()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 关联商机 */
|
||||||
const businessTableSelectRef = ref<InstanceType<typeof BusinessTableSelect>>()
|
const businessTableSelectRef = ref<InstanceType<typeof BusinessTableSelect>>()
|
||||||
const handleAddBusiness = () => {
|
const handleAddBusiness = () => {
|
||||||
businessTableSelectRef.value?.open()
|
businessTableSelectRef.value?.open()
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 重置表单 */
|
/** 重置表单 */
|
||||||
const resetForm = () => {
|
const resetForm = () => {
|
||||||
formRef.value?.resetFields()
|
formRef.value?.resetFields()
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
<!-- 商机的选择列表 TODO 芋艿:后面看看要不要搞到统一封装里 -->
|
||||||
<template>
|
<template>
|
||||||
<Dialog v-model="dialogVisible" :appendToBody="true" title="选择商机" width="700">
|
<Dialog v-model="dialogVisible" :appendToBody="true" title="选择商机" width="700">
|
||||||
<el-table
|
<el-table
|
||||||
@ -35,10 +36,12 @@ import { ElTable } from 'element-plus'
|
|||||||
|
|
||||||
defineOptions({ name: 'BusinessTableSelect' })
|
defineOptions({ name: 'BusinessTableSelect' })
|
||||||
withDefaults(defineProps<{ modelValue: number[] }>(), { modelValue: () => [] })
|
withDefaults(defineProps<{ modelValue: number[] }>(), { modelValue: () => [] })
|
||||||
|
|
||||||
const list = ref<BusinessApi.BusinessVO[]>([]) // 列表的数据
|
const list = ref<BusinessApi.BusinessVO[]>([]) // 列表的数据
|
||||||
const loading = ref(false) // 列表的加载中
|
const loading = ref(false) // 列表的加载中
|
||||||
const dialogVisible = ref(false) // 弹窗的是否展示
|
const dialogVisible = ref(false) // 弹窗的是否展示
|
||||||
const formLoading = ref(false)
|
const formLoading = ref(false)
|
||||||
|
|
||||||
// 确认选择时的触发事件
|
// 确认选择时的触发事件
|
||||||
const emits = defineEmits<{
|
const emits = defineEmits<{
|
||||||
(e: 'update:modelValue', v: number[]): void
|
(e: 'update:modelValue', v: number[]): void
|
||||||
@ -71,6 +74,7 @@ const getList = async () => {
|
|||||||
loading.value = false
|
loading.value = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 打开弹窗 */
|
/** 打开弹窗 */
|
||||||
const open = async () => {
|
const open = async () => {
|
||||||
dialogVisible.value = true
|
dialogVisible.value = true
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
<!-- 联系人的选择列表 TODO 芋艿:后面看看要不要搞到统一封装里 -->
|
||||||
<template>
|
<template>
|
||||||
<Dialog v-model="dialogVisible" :appendToBody="true" title="选择联系人" width="700">
|
<Dialog v-model="dialogVisible" :appendToBody="true" title="选择联系人" width="700">
|
||||||
<el-table
|
<el-table
|
||||||
@ -35,10 +36,12 @@ import { ElTable } from 'element-plus'
|
|||||||
|
|
||||||
defineOptions({ name: 'ContactTableSelect' })
|
defineOptions({ name: 'ContactTableSelect' })
|
||||||
withDefaults(defineProps<{ modelValue: number[] }>(), { modelValue: () => [] })
|
withDefaults(defineProps<{ modelValue: number[] }>(), { modelValue: () => [] })
|
||||||
|
|
||||||
const list = ref<ContactApi.ContactVO[]>([]) // 列表的数据
|
const list = ref<ContactApi.ContactVO[]>([]) // 列表的数据
|
||||||
const loading = ref(false) // 列表的加载中
|
const loading = ref(false) // 列表的加载中
|
||||||
const dialogVisible = ref(false) // 弹窗的是否展示
|
const dialogVisible = ref(false) // 弹窗的是否展示
|
||||||
const formLoading = ref(false)
|
const formLoading = ref(false)
|
||||||
|
|
||||||
// 确认选择时的触发事件
|
// 确认选择时的触发事件
|
||||||
const emits = defineEmits<{
|
const emits = defineEmits<{
|
||||||
(e: 'update:modelValue', v: number[]): void
|
(e: 'update:modelValue', v: number[]): void
|
||||||
@ -70,6 +73,7 @@ const getList = async () => {
|
|||||||
loading.value = false
|
loading.value = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 打开弹窗 */
|
/** 打开弹窗 */
|
||||||
const open = async () => {
|
const open = async () => {
|
||||||
dialogVisible.value = true
|
dialogVisible.value = true
|
||||||
|
Loading…
Reference in New Issue
Block a user