交易状况
diff --git a/apps/web-ele/src/views/mall/trade/brokerage/user/modules/create-form.vue b/apps/web-ele/src/views/mall/trade/brokerage/user/modules/create-form.vue
index 0ceb8bc98..f559d2d7c 100644
--- a/apps/web-ele/src/views/mall/trade/brokerage/user/modules/create-form.vue
+++ b/apps/web-ele/src/views/mall/trade/brokerage/user/modules/create-form.vue
@@ -11,6 +11,7 @@ import { formatDate, isEmpty } from '@vben/utils';
import {
ElAvatar,
+ ElButton,
ElDescriptions,
ElDescriptionsItem,
ElDivider,
diff --git a/apps/web-ele/src/views/mall/trade/brokerage/user/modules/update-form.vue b/apps/web-ele/src/views/mall/trade/brokerage/user/modules/update-form.vue
index f89a7e1c4..a131af203 100644
--- a/apps/web-ele/src/views/mall/trade/brokerage/user/modules/update-form.vue
+++ b/apps/web-ele/src/views/mall/trade/brokerage/user/modules/update-form.vue
@@ -11,6 +11,7 @@ import { formatDate, isEmpty } from '@vben/utils';
import {
ElAvatar,
+ ElButton,
ElDescriptions,
ElDescriptionsItem,
ElDivider,
diff --git a/apps/web-ele/src/views/mall/trade/order/index.vue b/apps/web-ele/src/views/mall/trade/order/index.vue
index c19b0fdf4..33ce1c28d 100644
--- a/apps/web-ele/src/views/mall/trade/order/index.vue
+++ b/apps/web-ele/src/views/mall/trade/order/index.vue
@@ -165,7 +165,8 @@ const [Grid, gridApi] = useVbenVxeGrid({
link: true,
ifShow: () =>
row.deliveryType === DeliveryTypeEnum.EXPRESS.type &&
- row.status === TradeOrderStatusEnum.UNDELIVERED.status,
+ (row.status === TradeOrderStatusEnum.UNDELIVERED.status ||
+ row.status === TradeOrderStatusEnum.DELIVERED.status),
onClick: handleDelivery.bind(null, row),
},
{
diff --git a/apps/web-ele/src/views/mes/md/workstation/modules/form.vue b/apps/web-ele/src/views/mes/md/workstation/modules/form.vue
index d1e2511c6..372cb15d3 100644
--- a/apps/web-ele/src/views/mes/md/workstation/modules/form.vue
+++ b/apps/web-ele/src/views/mes/md/workstation/modules/form.vue
@@ -129,13 +129,13 @@ const [Modal, modalApi] = useVbenModal({
v-model="subTabsName"
class="mx-4 mt-4"
>
-
+
-
+
-
+
diff --git a/apps/web-ele/src/views/mp/components/wx-msg/msg.vue b/apps/web-ele/src/views/mp/components/wx-msg/msg.vue
index 1a9ab5058..0892ddb00 100644
--- a/apps/web-ele/src/views/mp/components/wx-msg/msg.vue
+++ b/apps/web-ele/src/views/mp/components/wx-msg/msg.vue
@@ -30,7 +30,7 @@ withDefaults(
{{ item.content }}
-
+
@@ -43,7 +43,7 @@ withDefaults(
v-else-if="item.type === MpMsgType.Video || item.type === 'shortvideo'"
class="text-center"
>
-
+
diff --git a/apps/web-ele/src/views/mp/components/wx-reply/tab-music.vue b/apps/web-ele/src/views/mp/components/wx-reply/tab-music.vue
index 728609d60..b4190b460 100644
--- a/apps/web-ele/src/views/mp/components/wx-reply/tab-music.vue
+++ b/apps/web-ele/src/views/mp/components/wx-reply/tab-music.vue
@@ -133,14 +133,30 @@ function selectMaterial(item: any) {
-
+ (reply.title = val || null)"
+ />
-
+ (reply.description = val || null)"
+ />
-
+
(reply.musicUrl = val || null)"
+ />
-
+ (reply.hqMusicUrl = val || null)"
+ />
diff --git a/apps/web-ele/src/views/mp/components/wx-reply/tab-text.vue b/apps/web-ele/src/views/mp/components/wx-reply/tab-text.vue
index e75319cb5..6e43f9b7d 100644
--- a/apps/web-ele/src/views/mp/components/wx-reply/tab-text.vue
+++ b/apps/web-ele/src/views/mp/components/wx-reply/tab-text.vue
@@ -12,10 +12,10 @@ const emit = defineEmits<{
}>();
const content = computed({
- get: () => props.modelValue,
- set: (val: null | string) => {
- emit('update:modelValue', val);
- emit('input', val);
+ get: () => props.modelValue ?? '',
+ set: (val: string) => {
+ emit('update:modelValue', val || null);
+ emit('input', val || null);
},
});
diff --git a/apps/web-ele/src/views/mp/components/wx-reply/tab-video.vue b/apps/web-ele/src/views/mp/components/wx-reply/tab-video.vue
index 13be72953..57187519b 100644
--- a/apps/web-ele/src/views/mp/components/wx-reply/tab-video.vue
+++ b/apps/web-ele/src/views/mp/components/wx-reply/tab-video.vue
@@ -91,11 +91,17 @@ function selectMaterial(item: any) {
-
+ (reply.title = val || null)"
+ />
(reply.description = val || null)"
/>
diff --git a/apps/web-ele/src/views/mp/components/wx-reply/wx-reply.vue b/apps/web-ele/src/views/mp/components/wx-reply/wx-reply.vue
index f80decea0..fd66f66ba 100644
--- a/apps/web-ele/src/views/mp/components/wx-reply/wx-reply.vue
+++ b/apps/web-ele/src/views/mp/components/wx-reply/wx-reply.vue
@@ -113,7 +113,7 @@ defineExpose({
-
+
diff --git a/apps/web-ele/src/views/pay/cashier/index.vue b/apps/web-ele/src/views/pay/cashier/index.vue
index ed5d450b9..724aec6cf 100644
--- a/apps/web-ele/src/views/pay/cashier/index.vue
+++ b/apps/web-ele/src/views/pay/cashier/index.vue
@@ -13,11 +13,12 @@ import {
import { useTabs } from '@vben/hooks';
import { fenToYuan, formatDate } from '@vben/utils';
+import { useQRCode } from '@vueuse/integrations/useQRCode';
import {
ElButton,
ElCard,
ElDescriptions,
- ElImage,
+ ElDescriptionsItem,
ElInput,
ElMessage,
} from 'element-plus';
@@ -48,6 +49,10 @@ const qrCode = ref({
url: '',
visible: false,
});
+const qrCodeImage = useQRCode(() => qrCode.value.url, {
+ errorCorrectionLevel: 'H',
+ margin: 4,
+});
/** 展示形式:条形码 */
const barCode = ref({
@@ -212,6 +217,7 @@ function displayQrCode(channelCode: string, data: any) {
url: data.displayContent,
visible: true,
};
+ modalApi.open();
}
/** 提交支付后(App) */
@@ -307,24 +313,24 @@ onBeforeUnmount(() => {
-
+
{{ payOrder?.id }}
-
-
+
+
{{ payOrder?.subject }}
-
-
+
+
{{ payOrder?.body }}
-
-
+
+
{{ `¥${fenToYuan(payOrder?.price || 0)}` }}
-
-
+
+
{{ formatDate(payOrder?.createTime) }}
-
-
+
+
{{ formatDate(payOrder?.expireTime) }}
-
+
@@ -373,10 +379,15 @@ onBeforeUnmount(() => {
-
+
diff --git a/apps/web-ele/src/views/system/dept/index.vue b/apps/web-ele/src/views/system/dept/index.vue
index 0d3e39c87..04a4493c3 100644
--- a/apps/web-ele/src/views/system/dept/index.vue
+++ b/apps/web-ele/src/views/system/dept/index.vue
@@ -181,6 +181,7 @@ const [Grid, gridApi] = useVbenVxeGrid({
auth: ['system:dept:delete'],
disabled: row.children && row.children.length > 0,
popConfirm: {
+ disabled: row.children && row.children.length > 0,
title: $t('ui.actionMessage.deleteConfirm', [row.name]),
confirm: handleDelete.bind(null, row),
},
diff --git a/apps/web-ele/src/views/system/dict/data.ts b/apps/web-ele/src/views/system/dict/data.ts
index a8fe7c683..ccbf836ca 100644
--- a/apps/web-ele/src/views/system/dict/data.ts
+++ b/apps/web-ele/src/views/system/dict/data.ts
@@ -325,11 +325,13 @@ export function useDataGridColumns(): VxeTableGridOptions['columns'] {
field: 'colorType',
title: '颜色类型',
minWidth: 120,
+ slots: { default: 'colorType' },
},
{
field: 'cssClass',
title: 'CSS Class',
minWidth: 120,
+ slots: { default: 'cssClass' },
},
{
title: '创建时间',
diff --git a/apps/web-ele/src/views/system/dict/modules/data-grid.vue b/apps/web-ele/src/views/system/dict/modules/data-grid.vue
index 54053c386..501137288 100644
--- a/apps/web-ele/src/views/system/dict/modules/data-grid.vue
+++ b/apps/web-ele/src/views/system/dict/modules/data-grid.vue
@@ -7,7 +7,7 @@ import { ref, watch } from 'vue';
import { confirm, useVbenModal } from '@vben/common-ui';
import { downloadFileFromBlobPart, isEmpty } from '@vben/utils';
-import { ElLoading, ElMessage } from 'element-plus';
+import { ElLoading, ElMessage, ElTag } from 'element-plus';
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
import {
@@ -172,6 +172,12 @@ watch(
]"
/>
+
+ {{ row.colorType }}
+
+
+ {{ row.cssClass }}
+