diff --git a/apps/web-antd/src/api/crm/customer/index.ts b/apps/web-antd/src/api/crm/customer/index.ts index 8ef8503c..e8983894 100644 --- a/apps/web-antd/src/api/crm/customer/index.ts +++ b/apps/web-antd/src/api/crm/customer/index.ts @@ -37,6 +37,7 @@ export namespace CrmCustomerApi { updateTime: Date; // 更新时间 poolDay?: number; // 距离进入公海天数 } + export interface CustomerImport { ownerUserId: number; file: File; diff --git a/apps/web-antd/src/components/operate-log/index.ts b/apps/web-antd/src/components/operate-log/index.ts index 4107d490..cf38b5e7 100644 --- a/apps/web-antd/src/components/operate-log/index.ts +++ b/apps/web-antd/src/components/operate-log/index.ts @@ -1,11 +1,3 @@ -import { defineAsyncComponent } from 'vue'; - -// TODO @xingyu:我直接引入,貌似没问题呀。 -// TODO @xingyu:apps/web-antd/src/views/crm/followup/index.ts 走的异步组件,不过名字是 FollowUp 没 Async。可能要一起讨论怎么保持相对的一致性 -export const AsyncOperateLog = defineAsyncComponent( - () => import('./operate-log.vue'), -); - export { default as OperateLog } from './operate-log.vue'; export type { OperateLogProps } from './typing'; diff --git a/apps/web-antd/src/views/crm/contact/data.ts b/apps/web-antd/src/views/crm/contact/data.ts index a1fe70f2..b3901de8 100644 --- a/apps/web-antd/src/views/crm/contact/data.ts +++ b/apps/web-antd/src/views/crm/contact/data.ts @@ -29,7 +29,7 @@ export function useFormSchema(): VbenFormSchema[] { rules: 'required', componentProps: { placeholder: '请输入联系人姓名', - }, + }, }, { fieldName: 'ownerUserId', @@ -66,7 +66,7 @@ export function useFormSchema(): VbenFormSchema[] { component: 'Input', componentProps: { placeholder: '请输入手机号', - }, + }, }, { fieldName: 'telephone', @@ -74,7 +74,7 @@ export function useFormSchema(): VbenFormSchema[] { component: 'Input', componentProps: { placeholder: '请输入电话', - }, + }, }, { fieldName: 'email', @@ -82,7 +82,7 @@ export function useFormSchema(): VbenFormSchema[] { component: 'Input', componentProps: { placeholder: '请输入邮箱', - }, + }, }, { fieldName: 'wechat', @@ -90,7 +90,7 @@ export function useFormSchema(): VbenFormSchema[] { component: 'Input', componentProps: { placeholder: '请输入微信', - }, + }, }, { fieldName: 'qq', @@ -98,7 +98,7 @@ export function useFormSchema(): VbenFormSchema[] { component: 'Input', componentProps: { placeholder: '请输入QQ', - }, + }, }, { fieldName: 'post', @@ -106,7 +106,7 @@ export function useFormSchema(): VbenFormSchema[] { component: 'Input', componentProps: { placeholder: '请输入职位', - }, + }, }, { fieldName: 'master', @@ -115,7 +115,7 @@ export function useFormSchema(): VbenFormSchema[] { componentProps: { options: getDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING, 'boolean'), placeholder: '请选择是否关键决策人', - buttonStyle: 'solid', + buttonStyle: 'solid', optionType: 'button', }, defaultValue: false, @@ -127,7 +127,7 @@ export function useFormSchema(): VbenFormSchema[] { componentProps: { options: getDictOptions(DICT_TYPE.SYSTEM_USER_SEX, 'number'), placeholder: '请选择性别', - }, + }, }, { fieldName: 'parentId', @@ -158,7 +158,7 @@ export function useFormSchema(): VbenFormSchema[] { component: 'Input', componentProps: { placeholder: '请输入详细地址', - }, + }, }, { fieldName: 'contactNextTime', @@ -169,7 +169,7 @@ export function useFormSchema(): VbenFormSchema[] { format: 'YYYY-MM-DD HH:mm:ss', valueFormat: 'x', placeholder: '请选择下次联系时间', - }, + }, }, { fieldName: 'remark', @@ -177,7 +177,7 @@ export function useFormSchema(): VbenFormSchema[] { component: 'Textarea', componentProps: { placeholder: '请输入备注', - }, + }, }, ]; } @@ -196,8 +196,7 @@ export function useGridFormSchema(): VbenFormSchema[] { value: 'id', }, placeholder: '请选择客户', - allowClear: true, - }, + }, }, { fieldName: 'name', @@ -206,7 +205,7 @@ export function useGridFormSchema(): VbenFormSchema[] { componentProps: { placeholder: '请输入联系人姓名', allowClear: true, - }, + }, }, { fieldName: 'mobile', @@ -215,7 +214,7 @@ export function useGridFormSchema(): VbenFormSchema[] { componentProps: { placeholder: '请输入手机号', allowClear: true, - }, + }, }, { fieldName: 'telephone', @@ -224,7 +223,7 @@ export function useGridFormSchema(): VbenFormSchema[] { componentProps: { placeholder: '请输入电话', allowClear: true, - }, + }, }, { fieldName: 'wechat', @@ -233,7 +232,7 @@ export function useGridFormSchema(): VbenFormSchema[] { componentProps: { placeholder: '请输入微信', allowClear: true, - }, + }, }, { fieldName: 'email', @@ -242,7 +241,7 @@ export function useGridFormSchema(): VbenFormSchema[] { componentProps: { placeholder: '请输入电子邮箱', allowClear: true, - }, + }, }, ]; } diff --git a/apps/web-antd/src/views/crm/customer/data.ts b/apps/web-antd/src/views/crm/customer/data.ts index 6c804947..9202444a 100644 --- a/apps/web-antd/src/views/crm/customer/data.ts +++ b/apps/web-antd/src/views/crm/customer/data.ts @@ -352,7 +352,7 @@ export function useGridColumns(): VxeTableGridOptions['columns'] { title: '距离进入公海天数', minWidth: 140, formatter: ({ cellValue }) => - cellValue == null ? '-' : `${cellValue} 天`, + cellValue === null ? '-' : `${cellValue} 天`, }, { field: 'ownerUserName', diff --git a/apps/web-antd/src/views/crm/customer/pool/data.ts b/apps/web-antd/src/views/crm/customer/pool/data.ts index 8deb8883..d057b67e 100644 --- a/apps/web-antd/src/views/crm/customer/pool/data.ts +++ b/apps/web-antd/src/views/crm/customer/pool/data.ts @@ -13,6 +13,7 @@ export function useGridFormSchema(): VbenFormSchema[] { component: 'Input', componentProps: { placeholder: '请输入客户名称', + allowClear: true, }, }, { @@ -21,6 +22,7 @@ export function useGridFormSchema(): VbenFormSchema[] { component: 'Input', componentProps: { placeholder: '请输入手机', + allowClear: true, }, }, { @@ -30,6 +32,7 @@ export function useGridFormSchema(): VbenFormSchema[] { componentProps: { options: getDictOptions(DICT_TYPE.CRM_CUSTOMER_INDUSTRY, 'number'), placeholder: '请选择所属行业', + allowClear: true, }, }, { @@ -39,6 +42,7 @@ export function useGridFormSchema(): VbenFormSchema[] { componentProps: { options: getDictOptions(DICT_TYPE.CRM_CUSTOMER_LEVEL, 'number'), placeholder: '请选择客户级别', + allowClear: true, }, }, { @@ -48,6 +52,7 @@ export function useGridFormSchema(): VbenFormSchema[] { componentProps: { options: getDictOptions(DICT_TYPE.CRM_CUSTOMER_SOURCE, 'number'), placeholder: '请选择客户来源', + allowClear: true, }, }, ]; diff --git a/apps/web-antd/src/views/crm/followup/index.vue b/apps/web-antd/src/views/crm/followup/index.vue index a181658a..a24ec7a4 100644 --- a/apps/web-antd/src/views/crm/followup/index.vue +++ b/apps/web-antd/src/views/crm/followup/index.vue @@ -31,7 +31,7 @@ const props = defineProps<{ const { push } = useRouter(); /** 刷新表格 */ -function onRefresh() { +function handleRefresh() { gridApi.query(); } @@ -48,10 +48,8 @@ async function handleDelete(row: CrmFollowUpApi.FollowUpRecord) { }); try { await deleteFollowUpRecord(row.id); - message.success({ - content: $t('ui.actionMessage.deleteSuccess', [row.id]), - }); - onRefresh(); + message.success($t('ui.actionMessage.deleteSuccess', [row.id])); + handleRefresh(); } catch { hideLoading(); } @@ -129,6 +127,7 @@ const [Grid, gridApi] = useVbenVxeGrid({ }, rowConfig: { keyField: 'id', + isHover: true, }, toolbarConfig: { refresh: true, @@ -146,7 +145,7 @@ watch(