From b16865d0bf43a8c3908ac3e0fd2fdd0d963c9b93 Mon Sep 17 00:00:00 2001 From: hwj Date: Wed, 7 Jan 2026 14:56:21 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E6=B7=BB=E5=8A=A0=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E5=88=86=E7=B1=BB=E9=A1=B5=E9=9D=A2/=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E6=A0=BC=E5=BC=8F=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/iot/recipeConfig/index.ts | 2 +- src/api/mes/devicetype/index.ts | 58 +++++ .../components/ComponentContainer.vue | 2 +- .../DiyEditor/components/ComponentLibrary.vue | 4 +- .../mobile/FloatingActionButton/index.vue | 4 +- .../components/HotZoneEditDialog/index.vue | 26 +- .../components/mobile/HotZone/index.vue | 12 +- .../components/mobile/HotZone/property.vue | 10 +- .../components/mobile/MenuSwiper/index.vue | 3 + .../components/mobile/NavigationBar/index.vue | 2 +- src/components/DiyEditor/index.vue | 5 +- src/components/InputWithColor/index.vue | 1 + src/components/MagicCubeEditor/index.vue | 31 +-- src/components/MarkdownView/index.vue | 39 +-- src/components/UserSelectForm/index.vue | 2 + .../components/UserTaskCustomConfig.vue | 4 +- src/layout/components/Setting/src/Setting.vue | 4 +- .../UserInfo/src/components/LockDialog.vue | 2 +- .../UserInfo/src/components/LockPage.vue | 4 +- src/views/Home/Index.vue | 2 +- src/views/bpm/model/index.vue | 5 +- .../bpm/processInstance/create/index.vue | 5 +- .../detail/ProcessInstanceBpmnViewer.vue | 4 +- .../detail/ProcessInstanceSimpleViewer.vue | 4 +- src/views/formula/formulaConfig/index.vue | 239 +++++++++--------- .../historyData/HistorySingleDeviceDialog.vue | 20 +- .../SingleDeviceMonitorDialog.vue | 2 +- .../components/CombinationShowcase.vue | 2 +- .../kefu/components/KeFuConversationList.vue | 12 +- .../kefu/components/KeFuMessageList.vue | 54 ++-- .../kefu/components/member/MemberInfo.vue | 36 ++- .../kefu/components/message/OrderItem.vue | 16 +- .../kefu/components/message/ProductItem.vue | 18 +- src/views/mall/promotion/kefu/index.vue | 12 +- .../point/components/PointShowcase.vue | 2 +- .../seckill/components/SeckillShowcase.vue | 2 +- src/views/mall/trade/order/detail/index.vue | 4 +- .../member/user/detail/UserAccountInfo.vue | 2 +- .../member/user/detail/UserBasicInfo.vue | 2 +- src/views/mes/devicetype/DeviceTypeForm.vue | 117 +++++++++ src/views/mes/devicetype/index.vue | 233 +++++++++++++++++ src/views/pay/order/OrderDetail.vue | 2 +- src/views/pay/refund/RefundDetail.vue | 2 +- 43 files changed, 718 insertions(+), 294 deletions(-) create mode 100644 src/api/mes/devicetype/index.ts create mode 100644 src/views/mes/devicetype/DeviceTypeForm.vue create mode 100644 src/views/mes/devicetype/index.vue diff --git a/src/api/iot/recipeConfig/index.ts b/src/api/iot/recipeConfig/index.ts index 92189422..f043c3e9 100644 --- a/src/api/iot/recipeConfig/index.ts +++ b/src/api/iot/recipeConfig/index.ts @@ -2,7 +2,7 @@ export interface RecipeConfigVO { id: number recipeCode: string recipeName: string - recipeType?: string + recipeType?: string | number productId?: number productName?: string deviceId?: number diff --git a/src/api/mes/devicetype/index.ts b/src/api/mes/devicetype/index.ts new file mode 100644 index 00000000..0fe53b72 --- /dev/null +++ b/src/api/mes/devicetype/index.ts @@ -0,0 +1,58 @@ +import request from '@/config/axios' + +// 设备类型 VO +export interface DeviceTypeVO { + id: number // id + code: string // 编码 + name: string // 名称 + remark: string // 备注 + sort: number // 排序 + parentId?: number + parentChain?: string + createTime?: string +} + +export interface DeviceTypeTreeVO extends DeviceTypeVO { + parentId?: number + parentChain?: string + createTime?: string + children?: DeviceTypeTreeVO[] + leaf?: boolean +} + +// 设备类型 API +export const DeviceTypeApi = { + // 查询设备类型分页 + getDeviceTypePage: async (params: any) => { + return await request.get({ url: `/mes/device-type/page`, params }) + }, + + getDeviceTypeTree: async (params: any) => { + return await request.get({ url: `/mes/device-type/tree`, params }) + }, + + // 查询设备类型详情 + getDeviceType: async (id: number) => { + return await request.get({ url: `/mes/device-type/get?id=` + id }) + }, + + // 新增设备类型 + createDeviceType: async (data: DeviceTypeVO) => { + return await request.post({ url: `/mes/device-type/create`, data }) + }, + + // 修改设备类型 + updateDeviceType: async (data: DeviceTypeVO) => { + return await request.put({ url: `/mes/device-type/update`, data }) + }, + + // 删除设备类型 + deleteDeviceType: async (id: number) => { + return await request.delete({ url: `/mes/device-type/delete?id=` + id }) + }, + + // 导出设备类型 Excel + exportDeviceType: async (params) => { + return await request.download({ url: `/mes/device-type/export-excel`, params }) + } +} diff --git a/src/components/DiyEditor/components/ComponentContainer.vue b/src/components/DiyEditor/components/ComponentContainer.vue index 48567224..6f2d87c3 100644 --- a/src/components/DiyEditor/components/ComponentContainer.vue +++ b/src/components/DiyEditor/components/ComponentContainer.vue @@ -165,8 +165,8 @@ $toolbar-position: -55px; width: 80px; height: 25px; font-size: 12px; - color: #6a6a6a; line-height: 25px; + color: #6a6a6a; text-align: center; background: #fff; box-shadow: diff --git a/src/components/DiyEditor/components/ComponentLibrary.vue b/src/components/DiyEditor/components/ComponentLibrary.vue index fdb0b1de..fd457e0c 100644 --- a/src/components/DiyEditor/components/ComponentLibrary.vue +++ b/src/components/DiyEditor/components/ComponentLibrary.vue @@ -94,9 +94,9 @@ const handleCloneComponent = (component: DiyComponent) => { diff --git a/src/components/DiyEditor/components/mobile/HotZone/property.vue b/src/components/DiyEditor/components/mobile/HotZone/property.vue index 495cbdce..4f6c3b64 100644 --- a/src/components/DiyEditor/components/mobile/HotZone/property.vue +++ b/src/components/DiyEditor/components/mobile/HotZone/property.vue @@ -42,22 +42,22 @@ const handleOpenEditDialog = () => { diff --git a/src/components/DiyEditor/components/mobile/MenuSwiper/index.vue b/src/components/DiyEditor/components/mobile/MenuSwiper/index.vue index f8e2bbc6..c2319daf 100644 --- a/src/components/DiyEditor/components/mobile/MenuSwiper/index.vue +++ b/src/components/DiyEditor/components/mobile/MenuSwiper/index.vue @@ -103,13 +103,16 @@ watch( .el-carousel__indicator { padding-top: 0; padding-bottom: 0; + .el-carousel__button { --el-carousel-indicator-height: 6px; --el-carousel-indicator-width: 6px; --el-carousel-indicator-out-color: #ff6000; + border-radius: 6px; } } + .el-carousel__indicator.is-active { .el-carousel__button { --el-carousel-indicator-width: 12px; diff --git a/src/components/DiyEditor/components/mobile/NavigationBar/index.vue b/src/components/DiyEditor/components/mobile/NavigationBar/index.vue index c684aee7..ab179cd7 100644 --- a/src/components/DiyEditor/components/mobile/NavigationBar/index.vue +++ b/src/components/DiyEditor/components/mobile/NavigationBar/index.vue @@ -64,10 +64,10 @@ const getSearchProp = (cell: NavigationBarCellProperty) => { .navigation-bar { display: flex; height: 50px; + padding: 0 6px; background: #fff; justify-content: space-between; align-items: center; - padding: 0 6px; /* 左边 */ .left { diff --git a/src/components/DiyEditor/index.vue b/src/components/DiyEditor/index.vue index 700d32bd..355ff156 100644 --- a/src/components/DiyEditor/index.vue +++ b/src/components/DiyEditor/index.vue @@ -545,11 +545,12 @@ $toolbar-height: 42px; gap: 8px; :deep(.el-tag) { - box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.1); border: none; + box-shadow: 0 2px 8px 0 rgb(0 0 0 / 10%); + .el-tag__content { - width: 100%; display: flex; + width: 100%; align-items: center; justify-content: flex-start; diff --git a/src/components/InputWithColor/index.vue b/src/components/InputWithColor/index.vue index 2bc53172..e494bcb3 100644 --- a/src/components/InputWithColor/index.vue +++ b/src/components/InputWithColor/index.vue @@ -50,6 +50,7 @@ watch( diff --git a/src/layout/components/UserInfo/src/components/LockDialog.vue b/src/layout/components/UserInfo/src/components/LockDialog.vue index 7257be16..c719c2a9 100644 --- a/src/layout/components/UserInfo/src/components/LockDialog.vue +++ b/src/layout/components/UserInfo/src/components/LockDialog.vue @@ -91,7 +91,7 @@ const handleLock = async () => { + diff --git a/src/views/iot/historyData/HistorySingleDeviceDialog.vue b/src/views/iot/historyData/HistorySingleDeviceDialog.vue index d2d668e3..7e0e7e3e 100644 --- a/src/views/iot/historyData/HistorySingleDeviceDialog.vue +++ b/src/views/iot/historyData/HistorySingleDeviceDialog.vue @@ -3,7 +3,8 @@
- @@ -19,15 +20,18 @@ 采集时间:{{ group.collectTime || '-' }}
-
{{ section.title }}
- -