From d02e85131ff4132b342b7a65eea740c0111ea0bd Mon Sep 17 00:00:00 2001 From: xpz2018 <107107461@qq.com> Date: Wed, 3 Sep 2025 14:12:47 +0800 Subject: [PATCH] no message --- src/api/clue/index.ts | 4 ++- src/views/components/Profile.vue | 27 ++++++++++++++++-- src/views/invite/components/data.ts | 8 +++++- src/views/invite/components/modal.vue | 21 +++++++++++++- src/views/invite/inviteInfo/index.vue | 41 ++++++++++++++++++--------- src/views/invite/list/data.ts | 12 ++++++++ src/views/invite/list/index.vue | 2 +- src/views/invite/myList/data.ts | 12 ++++++++ src/views/invite/myList/index.vue | 2 +- 9 files changed, 108 insertions(+), 21 deletions(-) diff --git a/src/api/clue/index.ts b/src/api/clue/index.ts index bf5f0fc..cd2df66 100644 --- a/src/api/clue/index.ts +++ b/src/api/clue/index.ts @@ -145,4 +145,6 @@ export const getInvitationData = (params: any) => defHttp.get({ url: '/dati export const getFlowStatic = (params: any) => defHttp.get({ url: '/dating-clue-service/user/count/dating-clue-data/by-team', params}) -export const getFlowData = (params: any) => defHttp.get({ url: '/dating-clue-service/user/count/dating-clue-data-item/by-team', params}) \ No newline at end of file +export const getFlowData = (params: any) => defHttp.get({ url: '/dating-clue-service/user/count/dating-clue-data-item/by-team', params}) + +export const intendedCustomer = (params: any) => defHttp.post({ url: '/dating-clue-service/user/mark/dating-clue/intended-customer', params }) diff --git a/src/views/components/Profile.vue b/src/views/components/Profile.vue index 08c729f..f14ec4f 100644 --- a/src/views/components/Profile.vue +++ b/src/views/components/Profile.vue @@ -6,11 +6,15 @@ {{info.provinceName}}-{{info.cityName}} -
+
{{info.nickName}} {{info.genderCode == 1 ? '女' : '男'}} {{info.phone}} +
+ + +
{{info.age}}岁 @@ -29,9 +33,12 @@ \ No newline at end of file diff --git a/src/views/invite/components/data.ts b/src/views/invite/components/data.ts index f64e2d6..f704925 100644 --- a/src/views/invite/components/data.ts +++ b/src/views/invite/components/data.ts @@ -1,5 +1,4 @@ import { FormSchema } from '/@/components/Form' -import { followTypeList } from '/@/enums/customerEnum' export const modalFormSchema: FormSchema[] = [ // { @@ -28,6 +27,13 @@ export const modalFormSchema: FormSchema[] = [ ], }, }, + { + label: '微信截图', + // required: true, + field: 'imageList', + component: 'Upload', + slot: 'imageList', + }, { field: 'remark', label: '备注', diff --git a/src/views/invite/components/modal.vue b/src/views/invite/components/modal.vue index 9af4887..134cff8 100644 --- a/src/views/invite/components/modal.vue +++ b/src/views/invite/components/modal.vue @@ -1,6 +1,10 @@ @@ -9,6 +13,7 @@ import { modalFormSchema } from './data' import { useMessage } from '/@/hooks/web/useMessage' import { BasicForm, useForm } from '/@/components/Form' + import { OssUpload } from '/@/components/OssUpload' import { BasicModal, useModalInner } from '/@/components/Modal' import { recordClueing } from '/@/api/clue' @@ -43,6 +48,20 @@ const values = await validate() values.datingClueId = id.value // console.log('values.............', values) + var imageList: any = [] + Object.keys(values).forEach((key) => { + const val = values[key] + switch (key) { + case 'imageList': + imageList = val?.map?.((item: any) => { + const { url, response, originFileObj } = item + return typeof item === 'string' ? item : url || item?.photoUrl || response?.url || originFileObj?.url + }) + break + } + }) + delete values.imageList + values.imageList = imageList setModalProps({ confirmLoading: true }) await recordClueing(values) createMessage.success(`上报成功!`) diff --git a/src/views/invite/inviteInfo/index.vue b/src/views/invite/inviteInfo/index.vue index 44ca8c2..ea8f8f4 100644 --- a/src/views/invite/inviteInfo/index.vue +++ b/src/views/invite/inviteInfo/index.vue @@ -3,18 +3,28 @@
-
- {{details.nickName}} - - - - - - - (ID:{{details.id}} | 渠道来源:{{channelList.find((find) => find.value === details.channelType)?.label}}) - #{{followStageList.find((find) => find.value === details.followStatus)?.label}} +
+
+ {{details.nickName}} + + + + + + + (ID:{{details.id}} | 渠道来源:{{channelList.find((find) => find.value === details.channelType)?.label}}) + #{{followStageList.find((find) => find.value === details.followStatus)?.label}} +
+
+ + 意向客户 +
+
+ + 标记意向 +
@@ -259,7 +269,7 @@ import { useModal } from '/@/components/Modal' import AppointmentModal from './modal.vue' import { demandMarriageMoreData, demandMarriageSchema } from '/@/views/clue/components/data' - import { getClueInfo, editClueRecord, recordClueing, getClueRecord, getAppointmentList, getClueContractList } from '/@/api/clue' + import { getClueInfo, editClueRecord, recordClueing, getClueRecord, getAppointmentList, getClueContractList, intendedCustomer } from '/@/api/clue' import { genderList, channelList, clueStatusList, followTypeList, followStageList } from '/@/enums/customerEnum' const details = ref() @@ -481,6 +491,11 @@ // }, }) + async function handleIntent(status){ + await intendedCustomer({id: details.value.id}) + details.value.markIntendedCustomer = status + } +