diff --git a/apps/web-antd/package.json b/apps/web-antd/package.json index 110d9bc..9139186 100644 --- a/apps/web-antd/package.json +++ b/apps/web-antd/package.json @@ -53,6 +53,7 @@ "monaco-editor": "^0.52.2", "pinia": "catalog:", "rxjs": "^7.8.2", + "shiyzhangcron": "^0.1.5", "tinymce": "^7.3.0", "unplugin-vue-components": "^0.27.3", "vite-plugin-monaco-editor": "^1.1.0", diff --git a/apps/web-antd/src/components/CronPickerModal/index.vue b/apps/web-antd/src/components/CronPickerModal/index.vue new file mode 100644 index 0000000..68b30e1 --- /dev/null +++ b/apps/web-antd/src/components/CronPickerModal/index.vue @@ -0,0 +1,65 @@ + + + + + + + 当前选择: {{ innerValue }} + + + diff --git a/apps/web-antd/src/views/demo/test/detail.vue b/apps/web-antd/src/views/demo/test/detail.vue index e4221e6..a124a00 100644 --- a/apps/web-antd/src/views/demo/test/detail.vue +++ b/apps/web-antd/src/views/demo/test/detail.vue @@ -1,10 +1,57 @@ - Test Detail Page - This is a placeholder for the test detail page. + Test Detail Page + + + + + 配置 + + + + 当前cron值为: {{ easyCronInnerValue }} + + diff --git a/apps/web-antd/src/views/device/device/detail/index.vue b/apps/web-antd/src/views/device/device/detail/index.vue index 6463b87..65d3dbf 100644 --- a/apps/web-antd/src/views/device/device/detail/index.vue +++ b/apps/web-antd/src/views/device/device/detail/index.vue @@ -2,6 +2,7 @@ import { computed, defineAsyncComponent, onMounted, onUnmounted } from 'vue'; import { useRoute, useRouter } from 'vue-router'; +import { useAccess } from '@vben/access'; import { Page } from '@vben/common-ui'; import { ArrowLeftOutlined } from '@ant-design/icons-vue'; @@ -12,6 +13,8 @@ import { deviceStateOptions } from '#/constants/dicts'; import { useDeviceStore } from '#/store/device'; import { getWebSocket } from '#/utils/websocket'; +const { hasAccessByCodes } = useAccess(); + const BasicInfo = defineAsyncComponent( () => import('./components/BasicInfo.vue'), ); @@ -106,6 +109,10 @@ const handleTabChange = (key: string) => { }; const handleProductClick = () => { + if (!hasAccessByCodes(['device:product:query'])) { + message.warning('暂无权限'); + return; + } router.push(`/device/product/detail/${currentDevice.value.productId}`); }; diff --git a/apps/web-antd/src/views/device/device/index.vue b/apps/web-antd/src/views/device/device/index.vue index 84b9509..9b821c4 100644 --- a/apps/web-antd/src/views/device/device/index.vue +++ b/apps/web-antd/src/views/device/device/index.vue @@ -349,10 +349,7 @@ const [DeviceDrawer, drawerApi] = useVbenDrawer({ - + 详情 { - + 请先 选择 设备接入网关,用以提供设备接入能力 diff --git a/apps/web-antd/types/shiyzhangcron.d.ts b/apps/web-antd/types/shiyzhangcron.d.ts new file mode 100644 index 0000000..f39f93f --- /dev/null +++ b/apps/web-antd/types/shiyzhangcron.d.ts @@ -0,0 +1,2 @@ +// types/shiyzhangcron.d.ts +declare module 'shiyzhangcron'; diff --git a/packages/icons/src/svg/icons/pepicons-pencil--bulletin-notice.svg b/packages/icons/src/svg/icons/pepicons-pencil--bulletin-notice.svg new file mode 100644 index 0000000..929f96d --- /dev/null +++ b/packages/icons/src/svg/icons/pepicons-pencil--bulletin-notice.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/icons/src/svg/index.ts b/packages/icons/src/svg/index.ts index b9dd516..62cce99 100644 --- a/packages/icons/src/svg/index.ts +++ b/packages/icons/src/svg/index.ts @@ -63,6 +63,9 @@ const SvgMaterialSymbolsDashboardOutlineIcon = createIconifyIcon( const SvgAntDesignDashboardOutlinedIcon = createIconifyIcon( 'svg:ant-design--dashboard-outlined', ); +const SvgPepiconsPencilBulletinNoticeIcon = createIconifyIcon( + 'svg:pepicons-pencil--bulletin-notice', +); export { SvgAntDesignDashboardOutlinedIcon, @@ -87,6 +90,7 @@ export { SvgMaterialSymbolsDashboardOutlineIcon, SvgMaxKeyIcon, SvgMdiAccountOnlineOutlineIcon, + SvgPepiconsPencilBulletinNoticeIcon, SvgProiconsDocumentIcon, SvgQQIcon, SvgRiAlarmWarningLineIcon,
This is a placeholder for the test detail page.
当前cron值为: {{ easyCronInnerValue }}