diff --git a/apps/web-antd/src/api/bpm/task/index.ts b/apps/web-antd/src/api/bpm/task/index.ts index 8572b7e6e..b396594f7 100644 --- a/apps/web-antd/src/api/bpm/task/index.ts +++ b/apps/web-antd/src/api/bpm/task/index.ts @@ -7,13 +7,29 @@ import { requestClient } from '#/api/request'; export namespace BpmTaskApi { /** 流程任务 */ export interface Task { - id: number; // 编号 - name: string; // 监听器名字 - type: string; // 监听器类型 - status: number; // 监听器状态 - event: string; // 监听事件 - valueType: string; // 监听器值类型 - processInstance?: BpmProcessInstanceApi.ProcessInstance; // 流程实例 + id: string; // 编号 + name: string; // 任务名字 + status: number; // 任务状态 + createTime: number; // 创建时间 + endTime: number; // 结束时间 + durationInMillis: number; // 持续时间 + reason: string; // 审批理由 + ownerUser: any; // 负责人 + assigneeUser: any; // 处理人 + taskDefinitionKey: string; // 任务定义的标识 + processInstanceId: string; // 流程实例id + processInstance: BpmProcessInstanceApi.ProcessInstance; // 流程实例 + parentTaskId: any; // 父任务id + children: any; // 子任务 + formId: any; // 表单id + formName: any; // 表单名称 + formConf: any; // 表单配置 + formFields: any; // 表单字段 + formVariables: any; // 表单变量 + buttonsSetting: any; // 按钮设置 + signEnable: any; // 签名设置 + reasonRequire: any; // 原因设置 + nodeType: any; // 节点类型 } } diff --git a/apps/web-antd/src/api/infra/file-config/index.ts b/apps/web-antd/src/api/infra/file-config/index.ts index 1a2fb7707..3b1e82e6c 100644 --- a/apps/web-antd/src/api/infra/file-config/index.ts +++ b/apps/web-antd/src/api/infra/file-config/index.ts @@ -17,6 +17,7 @@ export namespace InfraFileConfigApi { accessSecret?: string; pathStyle?: boolean; enablePublicAccess?: boolean; + region?: string; domain: string; } diff --git a/apps/web-antd/src/api/iot/device/device/index.ts b/apps/web-antd/src/api/iot/device/device/index.ts index 7bd59886f..a0d4659b0 100644 --- a/apps/web-antd/src/api/iot/device/device/index.ts +++ b/apps/web-antd/src/api/iot/device/device/index.ts @@ -77,14 +77,6 @@ export namespace IotDeviceApi { } } -/** IoT 设备状态枚举 */ -// TODO @haohao:packages/constants/src/biz-iot-enum.ts 枚举; -export enum DeviceStateEnum { - INACTIVE = 0, // 未激活 - OFFLINE = 2, // 离线 - ONLINE = 1, // 在线 -} - /** 查询设备分页 */ export function getDevicePage(params: PageParam) { return requestClient.get>( @@ -154,6 +146,14 @@ export function importDeviceTemplate() { return requestClient.download('/iot/device/get-import-template'); } +/** 导入设备 */ +export function importDevice(file: File, updateSupport: boolean) { + return requestClient.upload('/iot/device/import', { + file, + updateSupport, + }); +} + /** 获取设备属性最新数据 */ export function getLatestDeviceProperties(params: any) { return requestClient.get( diff --git a/apps/web-antd/src/api/iot/product/product/index.ts b/apps/web-antd/src/api/iot/product/product/index.ts index 28b2f7b2e..2833b1e5d 100644 --- a/apps/web-antd/src/api/iot/product/product/index.ts +++ b/apps/web-antd/src/api/iot/product/product/index.ts @@ -27,27 +27,6 @@ export namespace IotProductApi { } } -// TODO @haohao:packages/constants/src/biz-iot-enum.ts 枚举; - -/** IOT 产品设备类型枚举类 */ -export enum DeviceTypeEnum { - DEVICE = 0, // 直连设备 - GATEWAY = 2, // 网关设备 - GATEWAY_SUB = 1, // 网关子设备 -} - -/** IOT 产品定位类型枚举类 */ -export enum LocationTypeEnum { - IP = 1, // IP 定位 - MANUAL = 3, // 手动定位 - MODULE = 2, // 设备定位 -} - -/** IOT 数据格式(编解码器类型)枚举类 */ -export enum CodecTypeEnum { - ALINK = 'Alink', // 阿里云 Alink 协议 -} - /** 查询产品分页 */ export function getProductPage(params: PageParam) { return requestClient.get>( diff --git a/apps/web-antd/src/api/iot/statistics/index.ts b/apps/web-antd/src/api/iot/statistics/index.ts index 9f3a04266..a02b342d2 100644 --- a/apps/web-antd/src/api/iot/statistics/index.ts +++ b/apps/web-antd/src/api/iot/statistics/index.ts @@ -1,21 +1,20 @@ import { requestClient } from '#/api/request'; export namespace IotStatisticsApi { - // TODO @haohao:需要跟后端对齐,必要的 ReqVO、RespVO /** 统计摘要数据 */ - export interface StatisticsSummary { - productCategoryCount: number; - productCount: number; - deviceCount: number; - deviceMessageCount: number; - productCategoryTodayCount: number; - productTodayCount: number; - deviceTodayCount: number; - deviceMessageTodayCount: number; - deviceOnlineCount: number; - deviceOfflineCount: number; - deviceInactiveCount: number; - productCategoryDeviceCounts: Record; + export interface StatisticsSummaryRespVO { + productCategoryCount: number; // 品类数量 + productCount: number; // 产品数量 + deviceCount: number; // 设备数量 + deviceMessageCount: number; // 上报数量 + productCategoryTodayCount: number; // 今日新增品类数量 + productTodayCount: number; // 今日新增产品数量 + deviceTodayCount: number; // 今日新增设备数量 + deviceMessageTodayCount: number; // 今日新增上报数量 + deviceOnlineCount: number; // 在线数量 + deviceOfflineCount: number; // 离线数量 + deviceInactiveCount: number; // 待激活设备数量 + productCategoryDeviceCounts: Record; // 按品类统计的设备数量 } /** 时间戳-数值的键值对类型 */ @@ -30,15 +29,15 @@ export namespace IotStatisticsApi { downstreamCounts: TimeValueItem[]; } - /** 消息统计数据项(按日期) */ - export interface DeviceMessageSummaryByDate { - time: string; - upstreamCount: number; - downstreamCount: number; + /** 设备消息数量统计(按日期) */ + export interface DeviceMessageSummaryByDateRespVO { + time: string; // 时间轴 + upstreamCount: number; // 上行消息数量 + downstreamCount: number; // 下行消息数量 } - /** 消息统计接口参数 */ - export interface DeviceMessageReq { + /** 设备消息统计请求 */ + export interface DeviceMessageReqVO { interval: number; times?: string[]; } @@ -46,26 +45,17 @@ export namespace IotStatisticsApi { /** 获取 IoT 统计摘要数据 */ export function getStatisticsSummary() { - return requestClient.get( + return requestClient.get( '/iot/statistics/get-summary', ); } /** 获取设备消息的数据统计(按日期) */ export function getDeviceMessageSummaryByDate( - params: IotStatisticsApi.DeviceMessageReq, + params: IotStatisticsApi.DeviceMessageReqVO, ) { - return requestClient.get( + return requestClient.get( '/iot/statistics/get-device-message-summary-by-date', { params }, ); } - -// TODO @haohao:貌似这里,没用到?是不是后面哪里用,或者可以删除哈? -/** 获取设备消息统计摘要 */ -export function getDeviceMessageSummary(statType: number) { - return requestClient.get( - '/iot/statistics/get-device-message-summary', - { params: { statType } }, - ); -} diff --git a/apps/web-antd/src/api/mall/promotion/combination/combinationActivity.ts b/apps/web-antd/src/api/mall/promotion/combination/combinationActivity.ts index e497ae204..19af95e95 100644 --- a/apps/web-antd/src/api/mall/promotion/combination/combinationActivity.ts +++ b/apps/web-antd/src/api/mall/promotion/combination/combinationActivity.ts @@ -21,6 +21,7 @@ export namespace MallCombinationActivityApi { limitDuration?: number; // 限制时长 combinationPrice?: number; // 拼团价格 products: CombinationProduct[]; // 商品列表 + picUrl?: any; } /** 拼团活动所需属性 */ diff --git a/apps/web-antd/src/api/mall/promotion/seckill/seckillActivity.ts b/apps/web-antd/src/api/mall/promotion/seckill/seckillActivity.ts index 82297effd..1c18c5e3b 100644 --- a/apps/web-antd/src/api/mall/promotion/seckill/seckillActivity.ts +++ b/apps/web-antd/src/api/mall/promotion/seckill/seckillActivity.ts @@ -31,6 +31,7 @@ export namespace MallSeckillActivityApi { totalStock?: number; // 秒杀总库存 seckillPrice?: number; // 秒杀价格 products?: SeckillProduct[]; // 秒杀商品列表 + picUrl?: any; } } diff --git a/apps/web-antd/src/api/system/mail/template/index.ts b/apps/web-antd/src/api/system/mail/template/index.ts index 9e2a5a78d..57f722cf5 100644 --- a/apps/web-antd/src/api/system/mail/template/index.ts +++ b/apps/web-antd/src/api/system/mail/template/index.ts @@ -14,7 +14,6 @@ export namespace SystemMailTemplateApi { content: string; params: string[]; status: number; - remark: string; createTime: Date; } diff --git a/apps/web-antd/src/api/system/social/client/index.ts b/apps/web-antd/src/api/system/social/client/index.ts index 181cdf86b..55978dd14 100644 --- a/apps/web-antd/src/api/system/social/client/index.ts +++ b/apps/web-antd/src/api/system/social/client/index.ts @@ -12,6 +12,7 @@ export namespace SystemSocialClientApi { clientId: string; clientSecret: string; agentId?: string; + publicKey?: string; status: number; createTime?: Date; } diff --git a/apps/web-antd/src/components/select-modal/index.ts b/apps/web-antd/src/components/select-modal/index.ts deleted file mode 100644 index 2b6e91893..000000000 --- a/apps/web-antd/src/components/select-modal/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { default as DeptSelectModal } from './dept-select-modal.vue'; -export { default as UserSelectModal } from './user-select-modal.vue'; diff --git a/apps/web-antd/src/router/routes/modules/bpm.ts b/apps/web-antd/src/router/routes/modules/bpm.ts index 05e0e5664..bd4a7a209 100644 --- a/apps/web-antd/src/router/routes/modules/bpm.ts +++ b/apps/web-antd/src/router/routes/modules/bpm.ts @@ -9,24 +9,6 @@ const routes: RouteRecordRaw[] = [ hideInMenu: true, }, children: [ - { - path: 'task', - name: 'BpmTask', - meta: { - title: '审批中心', - icon: 'ant-design:history-outlined', - }, - children: [ - { - path: 'my', - name: 'BpmTaskMy', - component: () => import('#/views/bpm/processInstance/index.vue'), - meta: { - title: '我的流程', - }, - }, - ], - }, { path: 'process-instance/detail', component: () => import('#/views/bpm/processInstance/detail/index.vue'), diff --git a/apps/web-antd/src/router/routes/modules/iot.ts b/apps/web-antd/src/router/routes/modules/iot.ts index 3e7f87caf..2bc6d32b2 100644 --- a/apps/web-antd/src/router/routes/modules/iot.ts +++ b/apps/web-antd/src/router/routes/modules/iot.ts @@ -18,8 +18,7 @@ const routes: RouteRecordRaw[] = [ title: '产品详情', activePath: '/iot/device/product', }, - component: () => - import('#/views/iot/product/product/modules/detail/index.vue'), + component: () => import('#/views/iot/product/product/detail/index.vue'), }, { path: 'device/detail/:id', @@ -28,8 +27,7 @@ const routes: RouteRecordRaw[] = [ title: '设备详情', activePath: '/iot/device/device', }, - component: () => - import('#/views/iot/device/device/modules/detail/index.vue'), + component: () => import('#/views/iot/device/device/detail/index.vue'), }, { path: 'ota/firmware/detail/:id', diff --git a/apps/web-antd/src/views/bpm/components/bpmn-process-designer/package/designer/plugins/translate/zh.js b/apps/web-antd/src/views/bpm/components/bpmn-process-designer/package/designer/plugins/translate/zh.js index cc2a06391..4d25da7f5 100644 --- a/apps/web-antd/src/views/bpm/components/bpmn-process-designer/package/designer/plugins/translate/zh.js +++ b/apps/web-antd/src/views/bpm/components/bpmn-process-designer/package/designer/plugins/translate/zh.js @@ -11,7 +11,7 @@ export default { 'Append Gateway': '追加网关', 'Append Task': '追加任务', 'Append Intermediate/Boundary Event': '追加中间抛出事件/边界事件', - + TextAnnotation: '文本注释', 'Activate the global connect tool': '激活全局连接工具', 'Append {type}': '添加 {type}', 'Add Lane above': '在上面添加道', @@ -31,10 +31,16 @@ export default { 'Create expanded SubProcess': '创建扩展子过程', 'Create IntermediateThrowEvent/BoundaryEvent': '创建中间抛出事件/边界事件', 'Create Pool/Participant': '创建池/参与者', - 'Parallel Multi Instance': '并行多重事件', - 'Sequential Multi Instance': '时序多重事件', + 'Participant Multiplicity': '参与者多重性', + 'Empty pool/participant (removes content)': '清空池/参与者(移除内容)', + 'Empty pool/participant': '收缩池/参与者', + 'Expanded pool/participant': '展开池/参与者', + 'Parallel Multi-Instance': '并行多重事件', + 'Sequential Multi-Instance': '时序多重事件', DataObjectReference: '数据对象参考', DataStoreReference: '数据存储参考', + 'Data object reference': '数据对象引用 ', + 'Data store reference': '数据存储引用 ', Loop: '循环', 'Ad-hoc': '即席', 'Create {type}': '创建 {type}', @@ -49,6 +55,9 @@ export default { 'Call Activity': '调用活动', 'Sub-Process (collapsed)': '子流程(折叠的)', 'Sub-Process (expanded)': '子流程(展开的)', + 'Ad-hoc sub-process': '即席子流程', + 'Ad-hoc sub-process (collapsed)': '即席子流程(折叠的)', + 'Ad-hoc sub-process (expanded)': '即席子流程(展开的)', 'Start Event': '开始事件', StartEvent: '开始事件', 'Intermediate Throw Event': '中间事件', @@ -111,10 +120,10 @@ export default { 'Parallel Gateway': '并行网关', 'Inclusive Gateway': '相容网关', 'Complex Gateway': '复杂网关', - 'Event based Gateway': '事件网关', + 'Event-based Gateway': '事件网关', Transaction: '转运', - 'Sub Process': '子流程', - 'Event Sub Process': '事件子流程', + 'sub-process': '子流程', + 'Event sub-process': '事件子流程', 'Collapsed Pool': '折叠池', 'Expanded Pool': '展开池', diff --git a/apps/web-antd/src/views/bpm/components/bpmn-process-designer/package/index.ts b/apps/web-antd/src/views/bpm/components/bpmn-process-designer/package/index.ts index 483d5fb4d..f27319abb 100644 --- a/apps/web-antd/src/views/bpm/components/bpmn-process-designer/package/index.ts +++ b/apps/web-antd/src/views/bpm/components/bpmn-process-designer/package/index.ts @@ -3,9 +3,7 @@ import 'bpmn-js/dist/assets/diagram-js.css'; import 'bpmn-js/dist/assets/bpmn-font/css/bpmn.css'; import 'bpmn-js/dist/assets/bpmn-font/css/bpmn-codes.css'; import 'bpmn-js/dist/assets/bpmn-font/css/bpmn-embedded.css'; -// TODO @puhui999:样式问题:设计器那,位置不太对; export { default as MyProcessDesigner } from './designer'; -// TODO @puhui999:流程发起时,预览相关的,需要使用; export { default as MyProcessViewer } from './designer/index2'; export { default as MyProcessPenal } from './penal'; diff --git a/apps/web-antd/src/views/bpm/components/bpmn-process-designer/package/penal/PropertiesPanel.vue b/apps/web-antd/src/views/bpm/components/bpmn-process-designer/package/penal/PropertiesPanel.vue index 5371c88d0..97ad28d99 100644 --- a/apps/web-antd/src/views/bpm/components/bpmn-process-designer/package/penal/PropertiesPanel.vue +++ b/apps/web-antd/src/views/bpm/components/bpmn-process-designer/package/penal/PropertiesPanel.vue @@ -191,7 +191,7 @@ const initFormOnChanged = (element: any) => { conditionFormVisible.value = elementType.value === 'SequenceFlow' && activatedElement.source && - (activatedElement.source.type as string).includes('StartEvent'); + !(activatedElement.source.type as string).includes('StartEvent'); formVisible.value = elementType.value === 'UserTask' || elementType.value === 'StartEvent'; } catch (error) { @@ -390,8 +390,9 @@ watch(() => props.businessObject, syncFromBusinessObject, { deep: true }); + diff --git a/apps/web-antd/src/views/bpm/components/bpmn-process-designer/package/penal/custom-config/components/BoundaryEventTimer.vue b/apps/web-antd/src/views/bpm/components/bpmn-process-designer/package/penal/custom-config/components/BoundaryEventTimer.vue index 7c3ebe9a5..25a6ebd38 100644 --- a/apps/web-antd/src/views/bpm/components/bpmn-process-designer/package/penal/custom-config/components/BoundaryEventTimer.vue +++ b/apps/web-antd/src/views/bpm/components/bpmn-process-designer/package/penal/custom-config/components/BoundaryEventTimer.vue @@ -2,14 +2,17 @@ import { inject, nextTick, ref, toRaw, watch } from 'vue'; import { + Col, Divider, FormItem, InputNumber, RadioButton, RadioGroup, + Row, Select, SelectOption, Switch, + TypographyText, } from 'ant-design-vue'; import { convertTimeUnit } from '#/views/bpm/components/simple-process-design/components/nodes-config/utils'; @@ -73,7 +76,7 @@ const resetElement = () => { // 执行动作 timeoutHandlerType.value = elExtensionElements.value.values?.find( (ex: any) => ex.$type === `${prefix}:TimeoutHandlerType`, - )?.[0]; + ); if (timeoutHandlerType.value) { configExtensions.value.push(timeoutHandlerType.value); if (eventDefinition.value.timeCycle) { @@ -243,38 +246,54 @@ watch( - - 当超过 - - - - - 未处理 + + + + + 当超过 + + + + + + + + + + + 未处理 + + + - - diff --git a/apps/web-antd/src/views/bpm/components/bpmn-process-designer/package/penal/custom-config/components/UserTaskCustomConfig.vue b/apps/web-antd/src/views/bpm/components/bpmn-process-designer/package/penal/custom-config/components/UserTaskCustomConfig.vue index d7730e291..043956c20 100644 --- a/apps/web-antd/src/views/bpm/components/bpmn-process-designer/package/penal/custom-config/components/UserTaskCustomConfig.vue +++ b/apps/web-antd/src/views/bpm/components/bpmn-process-designer/package/penal/custom-config/components/UserTaskCustomConfig.vue @@ -8,17 +8,20 @@ 7. 是否需要签名 -->