Commit 0ddefea55da522d123580b053e0a7e902bf95e9e

Authored by dev001
1 parent c68497cf

feat: 任务中心和数据流转,新增一列,选择组织

... ... @@ -15,6 +15,7 @@ export interface GetTaskListParamsType {
15 15
16 16 export interface CreateTaskRecordType {
17 17 name: string;
  18 + organizationId: string;
18 19 targetType: TaskTargetEnum;
19 20 executeTarget: {
20 21 organizationId?: string;
... ...
... ... @@ -34,13 +34,14 @@
34 34
35 35 const getValue = async () => {
36 36 const record = (await validateFields()) || {};
37   - const { type, remark } = record;
  37 + const { type, remark, organizationId } = record;
38 38 const datasourceType = Reflect.get(record, BasicInfoFormField.DATA_SOURCE_TYPE);
39 39 const convertDevices = Reflect.get(record, BasicInfoFormField.DATA_SOURCE_DEVICE);
40 40 const convertProducts = Reflect.get(record, BasicInfoFormField.DATA_SOURCE_PRODUCT);
41 41 return {
42 42 type,
43 43 remark,
  44 + organizationId,
44 45 datasourceType,
45 46 datasourceContent: {
46 47 convertProducts,
... ...
1   -import { FormSchema } from '/@/components/Form';
  1 +import { FormSchema, useComponentRegister } from '/@/components/Form';
2 2 import { findDictItemByCode } from '/@/api/system/dict';
3 3 import { getDeviceProfile } from '/@/api/alarm/position';
4 4 import { BasicInfoFormField, DataSourceType } from '../enum';
5 5 import { DeviceRecord } from '/@/api/device/model/deviceModel';
6 6 import { useMessage } from '/@/hooks/web/useMessage';
  7 +import { OrgTreeSelect } from '/@/views/common/OrgTreeSelect';
  8 +
  9 +useComponentRegister('OrgTreeSelect', OrgTreeSelect);
7 10
8 11 export const stepConfig = ['选择流转方式', '完善配置参数'];
9 12
... ... @@ -122,6 +125,13 @@ export const modeForm = (disabled: boolean): FormSchema[] => {
122 125 },
123 126 },
124 127 {
  128 + required: true,
  129 + field: 'organizationId',
  130 + label: '所属组织',
  131 + colProps: { span: 24 },
  132 + component: 'OrgTreeSelect',
  133 + },
  134 + {
125 135 field: 'type',
126 136 label: '转换方式',
127 137 component: 'ApiSelect',
... ...
... ... @@ -15,7 +15,9 @@ import { ProductPicker, validateProductPicker } from '../ProductPicker';
15 15 import { useGlobSetting } from '/@/hooks/setting';
16 16 import { TransportTypeEnum } from '/@/enums/deviceEnum';
17 17 import { validateTCPCustomCommand } from '/@/components/Form/src/components/ThingsModelForm';
  18 +import { OrgTreeSelect } from '/@/views/common/OrgTreeSelect';
18 19
  20 +useComponentRegister('OrgTreeSelect', OrgTreeSelect);
19 21 useComponentRegister('DevicePicker', DevicePicker);
20 22 useComponentRegister('ProductPicker', ProductPicker);
21 23 useComponentRegister('PollCommandInput', PollCommandInput);
... ... @@ -25,6 +27,8 @@ const { disabledTaskCenterExecuteIntervalUnitSecond } = useGlobSetting();
25 27 export enum FormFieldsEnum {
26 28 // 任务名称
27 29 NAME = 'name',
  30 + // 所属组织
  31 + ORGANIZATION_ID = 'organizationId',
28 32 // 目标类型
29 33 TARGET_TYPE = 'targetType',
30 34 // 设备类型选择
... ... @@ -99,6 +103,13 @@ export const formSchemas: FormSchema[] = [
99 103 },
100 104 },
101 105 {
  106 + required: true,
  107 + field: FormFieldsEnum.ORGANIZATION_ID,
  108 + label: '所属组织',
  109 + colProps: { span: 24 },
  110 + component: 'OrgTreeSelect',
  111 + },
  112 + {
102 113 field: FormFieldsEnum.TARGET_TYPE,
103 114 component: 'RadioGroup',
104 115 label: '目标类型',
... ...
... ... @@ -92,6 +92,7 @@ export const composeData = (result: Required<FormValueType>): CreateTaskRecordTy
92 92
93 93 return {
94 94 name,
  95 + organizationId: result.organizationId,
95 96 targetType,
96 97 executeContent: {
97 98 pushContent: {
... ... @@ -127,6 +128,7 @@ export const parseData = (result: TaskRecordType): Required<FormValueType> => {
127 128 const { type: executeTimeType, period, periodType, time, pollUnit } = executeTime;
128 129 return {
129 130 name,
  131 + organizationId: result.organizationId,
130 132 targetType,
131 133 rpcCommand: pushWay === PushWayEnum.MQTT ? JSON.stringify(rpcCommand, null, 2) : rpcCommand,
132 134 transportType: pushWay,
... ...