From 0ec301cfb3b2c43c96bca6cf0e64bb24b508484e Mon Sep 17 00:00:00 2001 From: YunaiV Date: Thu, 28 May 2026 23:22:44 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E7=BB=9F=E4=B8=80=E7=A1=AE?= =?UTF-8?q?=E8=AE=A4=E5=BC=B9=E7=AA=97=E8=B0=83=E7=94=A8=E5=B9=B6=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E5=BC=80=E5=8F=91=E4=BB=A3=E7=90=86=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/ai/image/manager/index.vue | 29 +++++++------- .../src/views/ai/knowledge/document/index.vue | 29 +++++++------- .../src/views/ai/knowledge/segment/index.vue | 25 ++++++------ .../src/views/ai/music/manager/index.vue | 29 +++++++------- .../crm/business/components/detail-list.vue | 36 ++++++++---------- .../crm/contact/components/detail-list.vue | 36 ++++++++---------- .../src/views/crm/permission/modules/list.vue | 38 +++++++++---------- .../src/views/erp/finance/account/index.vue | 29 +++++++------- .../src/views/erp/stock/warehouse/index.vue | 29 +++++++------- .../src/views/mall/product/comment/index.vue | 31 +++++++-------- .../mall/promotion/coupon/template/index.vue | 25 ++++++------ .../mall/promotion/seckill/config/index.vue | 29 +++++++------- .../views/mall/trade/brokerage/user/index.vue | 33 ++++++++-------- .../src/views/pay/app/index.vue | 31 +++++++-------- .../src/views/system/user/index.vue | 25 ++++++------ .../web-naive/src/views/system/user/index.vue | 25 ++++++------ .../src/views/system/user/index.vue | 25 ++++++------ 17 files changed, 225 insertions(+), 279 deletions(-) diff --git a/apps/web-antdv-next/src/views/ai/image/manager/index.vue b/apps/web-antdv-next/src/views/ai/image/manager/index.vue index 189d2bfcb..66bb21196 100644 --- a/apps/web-antdv-next/src/views/ai/image/manager/index.vue +++ b/apps/web-antdv-next/src/views/ai/image/manager/index.vue @@ -38,24 +38,21 @@ async function handleUpdatePublicStatusChange( row: AiImageApi.Image, ): Promise { const text = newStatus ? '公开' : '私有'; - return new Promise((resolve, reject) => { - confirm({ + try { + await confirm({ content: `确认要将该图片切换为【${text}】吗?`, - }) - .then(async () => { - // 更新图片状态 - await updateImage({ - id: row.id, - publicStatus: newStatus, - }); - // 提示并返回成功 - message.success($t('ui.actionMessage.operationSuccess')); - resolve(true); - }) - .catch(() => { - reject(new Error('取消操作')); - }); + }); + } catch { + return false; + } + // 更新图片状态 + await updateImage({ + id: row.id, + publicStatus: newStatus, }); + // 提示并返回成功 + message.success($t('ui.actionMessage.operationSuccess')); + return true; } const [Grid, gridApi] = useVbenVxeGrid({ diff --git a/apps/web-antdv-next/src/views/ai/knowledge/document/index.vue b/apps/web-antdv-next/src/views/ai/knowledge/document/index.vue index 798f0404c..2c2d49cc5 100644 --- a/apps/web-antdv-next/src/views/ai/knowledge/document/index.vue +++ b/apps/web-antdv-next/src/views/ai/knowledge/document/index.vue @@ -76,24 +76,21 @@ async function handleStatusChange( newStatus: number, row: AiKnowledgeDocumentApi.KnowledgeDocument, ): Promise { - return new Promise((resolve, reject) => { - confirm({ + try { + await confirm({ content: `你要将${row.name}的状态切换为【${getDictLabel(DICT_TYPE.COMMON_STATUS, newStatus)}】吗?`, - }) - .then(async () => { - // 更新文档状态 - await updateKnowledgeDocumentStatus({ - id: row.id, - status: newStatus, - }); - // 提示并返回成功 - message.success($t('ui.actionMessage.operationSuccess')); - resolve(true); - }) - .catch(() => { - reject(new Error('取消操作')); - }); + }); + } catch { + return false; + } + // 更新文档状态 + await updateKnowledgeDocumentStatus({ + id: row.id, + status: newStatus, }); + // 提示并返回成功 + message.success($t('ui.actionMessage.operationSuccess')); + return true; } const [Grid, gridApi] = useVbenVxeGrid({ diff --git a/apps/web-antdv-next/src/views/ai/knowledge/segment/index.vue b/apps/web-antdv-next/src/views/ai/knowledge/segment/index.vue index 0ac3c4f75..836878c9f 100644 --- a/apps/web-antdv-next/src/views/ai/knowledge/segment/index.vue +++ b/apps/web-antdv-next/src/views/ai/knowledge/segment/index.vue @@ -64,21 +64,18 @@ async function handleStatusChange( newStatus: number, row: AiKnowledgeSegmentApi.KnowledgeSegment, ): Promise { - return new Promise((resolve, reject) => { - confirm({ + try { + await confirm({ content: `你要将片段 ${row.id} 的状态切换为【${getDictLabel(DICT_TYPE.COMMON_STATUS, newStatus)}】吗?`, - }) - .then(async () => { - // 更新片段状态 - await updateKnowledgeSegmentStatus(row.id!, newStatus); - // 提示并返回成功 - message.success($t('ui.actionMessage.operationSuccess')); - resolve(true); - }) - .catch(() => { - reject(new Error('取消操作')); - }); - }); + }); + } catch { + return false; + } + // 更新片段状态 + await updateKnowledgeSegmentStatus(row.id!, newStatus); + // 提示并返回成功 + message.success($t('ui.actionMessage.operationSuccess')); + return true; } const [Grid, gridApi] = useVbenVxeGrid({ diff --git a/apps/web-antdv-next/src/views/ai/music/manager/index.vue b/apps/web-antdv-next/src/views/ai/music/manager/index.vue index 784dfff2d..f29075cd6 100644 --- a/apps/web-antdv-next/src/views/ai/music/manager/index.vue +++ b/apps/web-antdv-next/src/views/ai/music/manager/index.vue @@ -38,24 +38,21 @@ async function handleUpdatePublicStatusChange( row: AiMusicApi.Music, ): Promise { const text = newStatus ? '公开' : '私有'; - return new Promise((resolve, reject) => { - confirm({ + try { + await confirm({ content: `确认要将该音乐切换为【${text}】吗?`, - }) - .then(async () => { - // 更新音乐状态 - await updateMusic({ - id: row.id, - publicStatus: newStatus, - }); - // 提示并返回成功 - message.success($t('ui.actionMessage.operationSuccess')); - resolve(true); - }) - .catch(() => { - reject(new Error('取消操作')); - }); + }); + } catch { + return false; + } + // 更新音乐状态 + await updateMusic({ + id: row.id, + publicStatus: newStatus, }); + // 提示并返回成功 + message.success($t('ui.actionMessage.operationSuccess')); + return true; } const [Grid, gridApi] = useVbenVxeGrid({ diff --git a/apps/web-antdv-next/src/views/crm/business/components/detail-list.vue b/apps/web-antdv-next/src/views/crm/business/components/detail-list.vue index 66cefb628..d2f21c211 100644 --- a/apps/web-antdv-next/src/views/crm/business/components/detail-list.vue +++ b/apps/web-antdv-next/src/views/crm/business/components/detail-list.vue @@ -74,28 +74,24 @@ async function handleDeleteContactBusinessList() { message.error('请先选择商机后操作!'); return; } - return new Promise((resolve, reject) => { - confirm({ + try { + await confirm({ content: `确定要将${checkedRows.value.map((item) => item.name).join(',')}解除关联吗?`, - }) - .then(async () => { - const res = await deleteContactBusinessList({ - contactId: props.bizId, - businessIds: checkedRows.value.map((item) => item.id), - }); - if (res) { - // 提示并返回成功 - message.success($t('ui.actionMessage.operationSuccess')); - handleRefresh(); - resolve(true); - } else { - reject(new Error($t('ui.actionMessage.operationFailed'))); - } - }) - .catch(() => { - reject(new Error('取消操作')); - }); + }); + } catch { + return false; + } + const res = await deleteContactBusinessList({ + contactId: props.bizId, + businessIds: checkedRows.value.map((item) => item.id), }); + if (!res) { + throw new Error($t('ui.actionMessage.operationFailed')); + } + // 提示并返回成功 + message.success($t('ui.actionMessage.operationSuccess')); + handleRefresh(); + return true; } /** 查看商机详情 */ diff --git a/apps/web-antdv-next/src/views/crm/contact/components/detail-list.vue b/apps/web-antdv-next/src/views/crm/contact/components/detail-list.vue index 0b026d358..3948a4282 100644 --- a/apps/web-antdv-next/src/views/crm/contact/components/detail-list.vue +++ b/apps/web-antdv-next/src/views/crm/contact/components/detail-list.vue @@ -71,28 +71,24 @@ async function handleDeleteContactBusinessList() { message.error('请先选择联系人后操作!'); return; } - return new Promise((resolve, reject) => { - confirm({ + try { + await confirm({ content: `确定要将${checkedRows.value.map((item) => item.name).join(',')}解除关联吗?`, - }) - .then(async () => { - const res = await deleteBusinessContactList({ - businessId: props.bizId, - contactIds: checkedRows.value.map((item) => item.id), - }); - if (res) { - // 提示并返回成功 - message.success($t('ui.actionMessage.operationSuccess')); - handleRefresh(); - resolve(true); - } else { - reject(new Error($t('ui.actionMessage.operationFailed'))); - } - }) - .catch(() => { - reject(new Error('取消操作')); - }); + }); + } catch { + return false; + } + const res = await deleteBusinessContactList({ + businessId: props.bizId, + contactIds: checkedRows.value.map((item) => item.id), }); + if (!res) { + throw new Error($t('ui.actionMessage.operationFailed')); + } + // 提示并返回成功 + message.success($t('ui.actionMessage.operationSuccess')); + handleRefresh(); + return true; } /** 创建商机联系人关联 */ diff --git a/apps/web-antdv-next/src/views/crm/permission/modules/list.vue b/apps/web-antdv-next/src/views/crm/permission/modules/list.vue index ddb2674d0..8fb577ca2 100644 --- a/apps/web-antdv-next/src/views/crm/permission/modules/list.vue +++ b/apps/web-antdv-next/src/views/crm/permission/modules/list.vue @@ -94,32 +94,28 @@ function handleEdit() { } /** 删除团队成员 */ -function handleDelete() { +async function handleDelete() { if (checkedRows.value.length === 0) { message.error('请先选择团队成员后操作!'); return; } - return new Promise((resolve, reject) => { - confirm({ + try { + await confirm({ content: `你要将${checkedRows.value.map((item) => item.nickname).join(',')}移出团队吗?`, - }) - .then(async () => { - const res = await deletePermissionBatch( - checkedRows.value.map((item) => item.id!), - ); - if (res) { - // 提示并返回成功 - message.success($t('ui.actionMessage.operationSuccess')); - handleRefresh(); - resolve(true); - } else { - reject(new Error('移出失败')); - } - }) - .catch(() => { - reject(new Error('取消操作')); - }); - }); + }); + } catch { + return false; + } + const res = await deletePermissionBatch( + checkedRows.value.map((item) => item.id!), + ); + if (!res) { + throw new Error('移出失败'); + } + // 提示并返回成功 + message.success($t('ui.actionMessage.operationSuccess')); + handleRefresh(); + return true; } /** 退出团队 */ diff --git a/apps/web-antdv-next/src/views/erp/finance/account/index.vue b/apps/web-antdv-next/src/views/erp/finance/account/index.vue index 77784b167..0337b512b 100644 --- a/apps/web-antdv-next/src/views/erp/finance/account/index.vue +++ b/apps/web-antdv-next/src/views/erp/finance/account/index.vue @@ -65,23 +65,20 @@ async function handleDefaultStatusChange( newStatus: boolean, row: ErpAccountApi.Account, ): Promise { - return new Promise((resolve, reject) => { - const text = newStatus ? '设置' : '取消'; - confirm({ + const text = newStatus ? '设置' : '取消'; + try { + await confirm({ content: `确认要${text}"${row.name}"默认吗?`, - }) - .then(async () => { - // 更新默认状态 - await updateAccountDefaultStatus(row.id!, newStatus); - // 提示并返回成功 - message.success(`${text}默认成功`); - handleRefresh(); - resolve(true); - }) - .catch(() => { - reject(new Error('取消操作')); - }); - }); + }); + } catch { + return false; + } + // 更新默认状态 + await updateAccountDefaultStatus(row.id!, newStatus); + // 提示并返回成功 + message.success(`${text}默认成功`); + handleRefresh(); + return true; } const [Grid, gridApi] = useVbenVxeGrid({ diff --git a/apps/web-antdv-next/src/views/erp/stock/warehouse/index.vue b/apps/web-antdv-next/src/views/erp/stock/warehouse/index.vue index 195127981..9dec3ce96 100644 --- a/apps/web-antdv-next/src/views/erp/stock/warehouse/index.vue +++ b/apps/web-antdv-next/src/views/erp/stock/warehouse/index.vue @@ -63,23 +63,20 @@ async function handleDefaultStatusChange( newStatus: boolean, row: ErpWarehouseApi.Warehouse, ): Promise { - return new Promise((resolve, reject) => { - const text = newStatus ? '设置' : '取消'; - confirm({ + const text = newStatus ? '设置' : '取消'; + try { + await confirm({ content: `确认要${text}"${row.name}"默认吗?`, - }) - .then(async () => { - // 更新默认状态 - await updateWarehouseDefaultStatus(row.id!, newStatus); - // 提示并返回成功 - message.success(`${text}默认成功`); - handleRefresh(); - resolve(true); - }) - .catch(() => { - reject(new Error('取消操作')); - }); - }); + }); + } catch { + return false; + } + // 更新默认状态 + await updateWarehouseDefaultStatus(row.id!, newStatus); + // 提示并返回成功 + message.success(`${text}默认成功`); + handleRefresh(); + return true; } const [FormModal, formModalApi] = useVbenModal({ diff --git a/apps/web-antdv-next/src/views/mall/product/comment/index.vue b/apps/web-antdv-next/src/views/mall/product/comment/index.vue index 72f18e1aa..2baa7e484 100644 --- a/apps/web-antdv-next/src/views/mall/product/comment/index.vue +++ b/apps/web-antdv-next/src/views/mall/product/comment/index.vue @@ -63,25 +63,22 @@ async function handleStatusChange( newStatus: boolean, row: MallCommentApi.Comment, ): Promise { - return new Promise((resolve, reject) => { - const text = newStatus ? '展示' : '隐藏'; - confirm({ + const text = newStatus ? '展示' : '隐藏'; + try { + await confirm({ content: `确认要${text}该评论吗?`, - }) - .then(async () => { - // 更新状态 - await updateCommentVisible({ - id: row.id!, - visible: newStatus, - }); - // 提示并返回成功 - message.success(`${text}成功`); - resolve(true); - }) - .catch(() => { - reject(new Error('取消操作')); - }); + }); + } catch { + return false; + } + // 更新状态 + await updateCommentVisible({ + id: row.id!, + visible: newStatus, }); + // 提示并返回成功 + message.success(`${text}成功`); + return true; } const [Grid, gridApi] = useVbenVxeGrid({ diff --git a/apps/web-antdv-next/src/views/mall/promotion/coupon/template/index.vue b/apps/web-antdv-next/src/views/mall/promotion/coupon/template/index.vue index 1b08b40f1..9cf786b9f 100644 --- a/apps/web-antdv-next/src/views/mall/promotion/coupon/template/index.vue +++ b/apps/web-antdv-next/src/views/mall/promotion/coupon/template/index.vue @@ -60,21 +60,18 @@ async function handleStatusChange( newStatus: number, row: MallCouponTemplateApi.CouponTemplate, ): Promise { - return new Promise((resolve, reject) => { - confirm({ + try { + await confirm({ content: `你要将${row.name}的状态切换为【${newStatus === CommonStatusEnum.ENABLE ? '启用' : '停用'}】吗?`, - }) - .then(async () => { - // 更新优惠券模板状态 - await updateCouponTemplateStatus(row.id!, newStatus); - // 提示并返回成功 - message.success($t('ui.actionMessage.operationSuccess')); - resolve(true); - }) - .catch(() => { - reject(new Error('取消操作')); - }); - }); + }); + } catch { + return false; + } + // 更新优惠券模板状态 + await updateCouponTemplateStatus(row.id!, newStatus); + // 提示并返回成功 + message.success($t('ui.actionMessage.operationSuccess')); + return true; } const [Grid, gridApi] = useVbenVxeGrid({ diff --git a/apps/web-antdv-next/src/views/mall/promotion/seckill/config/index.vue b/apps/web-antdv-next/src/views/mall/promotion/seckill/config/index.vue index 2740484e9..038abe3d1 100644 --- a/apps/web-antdv-next/src/views/mall/promotion/seckill/config/index.vue +++ b/apps/web-antdv-next/src/views/mall/promotion/seckill/config/index.vue @@ -59,23 +59,20 @@ async function handleStatusChange( newStatus: number, row: MallSeckillConfigApi.SeckillConfig, ): Promise { - return new Promise((resolve, reject) => { - // 二次确认 - const text = row.status === 0 ? '启用' : '停用'; - confirm({ + // 二次确认 + const text = row.status === 0 ? '启用' : '停用'; + try { + await confirm({ content: `确认要${text + row.name}吗?`, - }) - .then(async () => { - // 更新状态 - await updateSeckillConfigStatus(row.id, newStatus); - // 提示并返回成功 - message.success(`${text}成功`); - resolve(true); - }) - .catch(() => { - reject(new Error('取消操作')); - }); - }); + }); + } catch { + return false; + } + // 更新状态 + await updateSeckillConfigStatus(row.id, newStatus); + // 提示并返回成功 + message.success(`${text}成功`); + return true; } const [Grid, gridApi] = useVbenVxeGrid({ diff --git a/apps/web-antdv-next/src/views/mall/trade/brokerage/user/index.vue b/apps/web-antdv-next/src/views/mall/trade/brokerage/user/index.vue index 297669bc1..2db85c26c 100644 --- a/apps/web-antdv-next/src/views/mall/trade/brokerage/user/index.vue +++ b/apps/web-antdv-next/src/views/mall/trade/brokerage/user/index.vue @@ -87,26 +87,23 @@ async function handleBrokerageEnabledChange( newEnabled: boolean, row: MallBrokerageUserApi.BrokerageUser, ): Promise { - return new Promise((resolve, reject) => { - const text = newEnabled ? '开通' : '关闭'; - confirm({ + const text = newEnabled ? '开通' : '关闭'; + try { + await confirm({ content: `你要将${row.nickname}的推广资格切换为【${text}】吗?`, - }) - .then(async () => { - // 更新推广资格 - await updateBrokerageEnabled({ - id: row.id!, - enabled: newEnabled, - }); - // 提示并返回成功 - message.success($t('ui.actionMessage.operationSuccess')); - handleRefresh(); - resolve(true); - }) - .catch(() => { - reject(new Error('取消操作')); - }); + }); + } catch { + return false; + } + // 更新推广资格 + await updateBrokerageEnabled({ + id: row.id!, + enabled: newEnabled, }); + // 提示并返回成功 + message.success($t('ui.actionMessage.operationSuccess')); + handleRefresh(); + return true; } const [Grid, gridApi] = useVbenVxeGrid({ diff --git a/apps/web-antdv-next/src/views/pay/app/index.vue b/apps/web-antdv-next/src/views/pay/app/index.vue index 3be8e5b28..415079f6e 100644 --- a/apps/web-antdv-next/src/views/pay/app/index.vue +++ b/apps/web-antdv-next/src/views/pay/app/index.vue @@ -65,25 +65,22 @@ async function handleStatusChange( newStatus: number, row: PayAppApi.App, ): Promise { - return new Promise((resolve, reject) => { - const text = newStatus === CommonStatusEnum.ENABLE ? '启用' : '停用'; - confirm({ + const text = newStatus === CommonStatusEnum.ENABLE ? '启用' : '停用'; + try { + await confirm({ content: `确认要${text + row.name}应用吗?`, - }) - .then(async () => { - // 更新状态 - await updateAppStatus({ - id: row.id!, - status: newStatus, - }); - // 提示并返回成功 - message.success(`${text}成功`); - resolve(true); - }) - .catch(() => { - reject(new Error('取消操作')); - }); + }); + } catch { + return false; + } + // 更新状态 + await updateAppStatus({ + id: row.id!, + status: newStatus, }); + // 提示并返回成功 + message.success(`${text}成功`); + return true; } /** 生成渠道配置按钮 */ diff --git a/apps/web-antdv-next/src/views/system/user/index.vue b/apps/web-antdv-next/src/views/system/user/index.vue index 3d20f2104..b8191bbcf 100644 --- a/apps/web-antdv-next/src/views/system/user/index.vue +++ b/apps/web-antdv-next/src/views/system/user/index.vue @@ -138,21 +138,18 @@ async function handleStatusChange( newStatus: number, row: SystemUserApi.User, ): Promise { - return new Promise((resolve, reject) => { - confirm({ + try { + await confirm({ content: `你要将${row.username}的状态切换为【${getDictLabel(DICT_TYPE.COMMON_STATUS, newStatus)}】吗?`, - }) - .then(async () => { - // 更新用户状态 - await updateUserStatus(row.id!, newStatus); - // 提示并返回成功 - message.success($t('ui.actionMessage.operationSuccess')); - resolve(true); - }) - .catch(() => { - reject(new Error('取消操作')); - }); - }); + }); + } catch { + return false; + } + // 更新用户状态 + await updateUserStatus(row.id!, newStatus); + // 提示并返回成功 + message.success($t('ui.actionMessage.operationSuccess')); + return true; } const [Grid, gridApi] = useVbenVxeGrid({ diff --git a/apps/web-naive/src/views/system/user/index.vue b/apps/web-naive/src/views/system/user/index.vue index 29c5a28a0..b92293197 100644 --- a/apps/web-naive/src/views/system/user/index.vue +++ b/apps/web-naive/src/views/system/user/index.vue @@ -138,21 +138,18 @@ async function handleStatusChange( newStatus: number, row: SystemUserApi.User, ): Promise { - return new Promise((resolve, reject) => { - confirm({ + try { + await confirm({ content: `你要将${row.username}的状态切换为【${getDictLabel(DICT_TYPE.COMMON_STATUS, newStatus)}】吗?`, - }) - .then(async () => { - // 更新用户状态 - await updateUserStatus(row.id!, newStatus); - // 提示并返回成功 - message.success($t('ui.actionMessage.operationSuccess')); - resolve(true); - }) - .catch(() => { - reject(new Error('取消操作')); - }); - }); + }); + } catch { + return false; + } + // 更新用户状态 + await updateUserStatus(row.id!, newStatus); + // 提示并返回成功 + message.success($t('ui.actionMessage.operationSuccess')); + return true; } const [Grid, gridApi] = useVbenVxeGrid({ diff --git a/apps/web-tdesign/src/views/system/user/index.vue b/apps/web-tdesign/src/views/system/user/index.vue index c8d8645be..fd881c31e 100644 --- a/apps/web-tdesign/src/views/system/user/index.vue +++ b/apps/web-tdesign/src/views/system/user/index.vue @@ -139,21 +139,18 @@ async function handleStatusChange( newStatus: number, row: SystemUserApi.User, ): Promise { - return new Promise((resolve, reject) => { - confirm({ + try { + await confirm({ content: `你要将${row.username}的状态切换为【${getDictLabel(DICT_TYPE.COMMON_STATUS, newStatus)}】吗?`, - }) - .then(async () => { - // 更新用户状态 - await updateUserStatus(row.id!, newStatus); - // 提示并返回成功 - message.success($t('ui.actionMessage.operationSuccess')); - resolve(true); - }) - .catch(() => { - reject(new Error('取消操作')); - }); - }); + }); + } catch { + return false; + } + // 更新用户状态 + await updateUserStatus(row.id!, newStatus); + // 提示并返回成功 + message.success($t('ui.actionMessage.operationSuccess')); + return true; } const [Grid, gridApi] = useVbenVxeGrid({