refactor: (web-ele)优化多个组件的删除操作和确认逻辑

- 将 ElMessageBox 替换为自定义 confirm 函数- 添加全局 loading 功能
- 优化错误处理和消息提示- 调整部分组件属性和样式
This commit is contained in:
lrl
2025-08-01 13:56:55 +08:00
parent c447145d62
commit 38daaa2934
63 changed files with 674 additions and 662 deletions

View File

@@ -117,7 +117,7 @@ const [Grid, gridApi] = useVbenVxeGrid({
<div class="order-items">
<div v-for="item in row.items" :key="item.id" class="order-item">
<div class="order-item-image">
<ElImage :src="item.picUrl" :width="40" :height="40" />
<ElImage :src="item.picUrl" class="h-40 w-40" />
</div>
<div class="order-item-content">
<div class="order-item-name">
@@ -131,11 +131,11 @@ const [Grid, gridApi] = useVbenVxeGrid({
</ElTag>
</div>
<div class="order-item-info">
<span
>原价{{ fenToYuan(item.price) }} / 数量{{
<span>
原价{{ fenToYuan(item.price) }} / 数量{{
item.count
}}</span
>
}}
</span>
<DictTag
:type="DICT_TYPE.TRADE_ORDER_ITEM_AFTER_SALE_STATUS"
:value="item.afterSaleStatus"

View File

@@ -6,14 +6,13 @@ import type { MallOrderApi } from '#/api/mall/trade/order';
import { onMounted, ref } from 'vue';
import { useRoute, useRouter } from 'vue-router';
import { Page, useVbenModal } from '@vben/common-ui';
import { confirm, Page, useVbenModal } from '@vben/common-ui';
import { fenToYuan, formatDate } from '@vben/utils';
import {
ElDescriptions,
ElDescriptionsItem,
ElMessage,
ElMessageBox,
ElTimeline,
ElTimelineItem,
} from 'element-plus';
@@ -109,12 +108,7 @@ const updatePrice = () => {
/** 核销 */
const handlePickUp = async () => {
// 二次确认
await ElMessageBox.confirm('确认核销订单吗?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
});
// 提交
await confirm(`确认核销订单吗?`);
await TradeOrderApi.pickUpOrder(formData.value.id!);
ElMessage.success('核销成功');
// 刷新列表