Commit d93daf3603bf821d6726e9b60f8fb22586c8e26c
Merge branch 'f-dev' into 'main'
fix:修改Teambition上的问题 pref:优化报表配置表单字段 See merge request huang/yun-teng-iot-front!265
Showing
7 changed files
with
272 additions
and
62 deletions
src/api/report/model/reportModel.ts
0 → 100644
1 | +import { BasicPageParams } from '/@/api/model/baseModel'; | ||
2 | +export type CameraQueryParam = BasicPageParams & CameraParam; | ||
3 | + | ||
4 | +export type CameraParam = { | ||
5 | + status: true; | ||
6 | + name: string; | ||
7 | + organizationId: string; | ||
8 | + orderFiled: string; | ||
9 | + orderType: string; | ||
10 | +}; | ||
11 | + | ||
12 | +export interface CameraModel { | ||
13 | + accessMode: number; | ||
14 | + avatar?: string; | ||
15 | + brand: string; | ||
16 | + createTime?: '2022-04-19T11:33:13.113Z'; | ||
17 | + creator?: string; | ||
18 | + defaultConfig?: string; | ||
19 | + description?: string; | ||
20 | + deviceInfo?: string; | ||
21 | + deviceType?: string; | ||
22 | + enabled?: true; | ||
23 | + icon?: string; | ||
24 | + id?: string; | ||
25 | + name: string; | ||
26 | + organizationId: string; | ||
27 | + organizationName?: string; | ||
28 | + roleIds?: ['string']; | ||
29 | + sn: string; | ||
30 | + status?: false; | ||
31 | + tenantExpireTime?: '2022-04-19T11:33:13.113Z'; | ||
32 | + tenantId?: string; | ||
33 | + tenantProfileId?: string; | ||
34 | + tenantStatus?: 'DISABLED'; | ||
35 | + updateTime?: '2022-04-19T11:33:13.113Z'; | ||
36 | + updater?: string; | ||
37 | + videoUrl: string; | ||
38 | +} | ||
39 | + | ||
40 | +export interface StreamingManageRecord { | ||
41 | + id: string; | ||
42 | + creator: string; | ||
43 | + createTime: string; | ||
44 | + name: string; | ||
45 | + enabled: boolean; | ||
46 | + tenantId: string; | ||
47 | + sn: string; | ||
48 | + organizationId: string; | ||
49 | + organizationName: string; | ||
50 | + status: boolean; | ||
51 | + accessMode: number; | ||
52 | + playProtocol: number; | ||
53 | +} | ||
54 | + | ||
55 | +export interface StreamingMediaModel { | ||
56 | + id: string; | ||
57 | + creator: string; | ||
58 | + createTime: string; | ||
59 | + enabled: boolean; | ||
60 | + tenantId: string; | ||
61 | + type: number; | ||
62 | + host: string; | ||
63 | + appKey: string; | ||
64 | + appSecret: string; | ||
65 | + ssl: number; | ||
66 | +} | ||
67 | + | ||
68 | +export interface StreamingQueryParam { | ||
69 | + host?: string; | ||
70 | +} | ||
71 | + | ||
72 | +export interface StreamingSubmitParam { | ||
73 | + type: number; | ||
74 | + ssl: number; | ||
75 | + host: string; | ||
76 | + appKey: string; | ||
77 | + appSecret: string; | ||
78 | + id?: string; | ||
79 | +} | ||
80 | + | ||
81 | +export interface StreamingMediaDeleteParam { | ||
82 | + tenantId?: string; | ||
83 | + ids: string[]; | ||
84 | +} |
src/api/report/reportManager.ts
0 → 100644
1 | +import { defHttp } from '/@/utils/http/axios'; | ||
2 | +import { | ||
3 | + CameraModel, | ||
4 | + CameraQueryParam, | ||
5 | + StreamingMediaDeleteParam, | ||
6 | + StreamingQueryParam, | ||
7 | + StreamingSubmitParam, | ||
8 | +} from './model/reportModel'; | ||
9 | + | ||
10 | +enum CameraManagerApi { | ||
11 | + CAMERA_POST_URL = '/video', | ||
12 | + CAMERA_GET_URL = '/video', | ||
13 | + CAMERA_DELETE_URL = '/video', | ||
14 | + CAMERA_GET_DETAIL_URL = '/video', | ||
15 | + STREAMING_GET_URL = '/video/platform', | ||
16 | + STREAMING_POST_URL = '/video/platform', | ||
17 | + STREAMING_DELETE_URL = '/video/platform', | ||
18 | + STREAMING_PLAY_GET_URL = '/video/url', | ||
19 | +} | ||
20 | + | ||
21 | +export const cameraPage = (params: CameraQueryParam) => { | ||
22 | + return defHttp.get<CameraQueryParam>({ | ||
23 | + url: CameraManagerApi.CAMERA_GET_URL, | ||
24 | + params, | ||
25 | + }); | ||
26 | +}; | ||
27 | + | ||
28 | +/** | ||
29 | + * 删除视频 | ||
30 | + * @param ids 删除的ids | ||
31 | + */ | ||
32 | +export const deleteCameraManage = (ids: string[]) => { | ||
33 | + return defHttp.delete({ | ||
34 | + url: CameraManagerApi.CAMERA_DELETE_URL, | ||
35 | + data: { | ||
36 | + ids: ids, | ||
37 | + }, | ||
38 | + }); | ||
39 | +}; | ||
40 | + | ||
41 | +// 创建或编辑视频 | ||
42 | +export const createOrEditCameraManage = (data) => { | ||
43 | + return defHttp.post<CameraModel>({ | ||
44 | + url: CameraManagerApi.CAMERA_POST_URL, | ||
45 | + data, | ||
46 | + }); | ||
47 | +}; | ||
48 | + | ||
49 | +// 查询视频详情 | ||
50 | +export const getCameraManageDetail = (id: string) => { | ||
51 | + return defHttp.get({ | ||
52 | + url: CameraManagerApi.CAMERA_GET_DETAIL_URL + `/${id}`, | ||
53 | + }); | ||
54 | +}; | ||
55 | + | ||
56 | +/** | ||
57 | + * @description 获取流媒体列表 | ||
58 | + * @param params | ||
59 | + * @returns | ||
60 | + */ | ||
61 | +export const getStreamingMediaList = (params: StreamingQueryParam) => { | ||
62 | + return defHttp.get({ | ||
63 | + url: CameraManagerApi.STREAMING_GET_URL, | ||
64 | + params, | ||
65 | + }); | ||
66 | +}; | ||
67 | + | ||
68 | +/** | ||
69 | + * @description 更新/新增流媒体记录 | ||
70 | + * @param params | ||
71 | + * @returns | ||
72 | + */ | ||
73 | +export const createOrUpdateStreamingMediaRecord = (params: StreamingSubmitParam) => { | ||
74 | + return defHttp.post({ | ||
75 | + url: CameraManagerApi.STREAMING_POST_URL, | ||
76 | + params, | ||
77 | + }); | ||
78 | +}; | ||
79 | + | ||
80 | +/** | ||
81 | + * @description 删除流媒体记录 | ||
82 | + * @param params | ||
83 | + * @returns | ||
84 | + */ | ||
85 | +export const deleteStreamingMediaRecord = (params: StreamingMediaDeleteParam) => { | ||
86 | + return defHttp.delete({ | ||
87 | + url: CameraManagerApi.STREAMING_POST_URL, | ||
88 | + params, | ||
89 | + }); | ||
90 | +}; | ||
91 | + | ||
92 | +/** | ||
93 | + * @description 获取流媒体播放地址 | ||
94 | + * @param entityId | ||
95 | + * @returns | ||
96 | + */ | ||
97 | +export const getStreamingPlayUrl = (entityId: string) => { | ||
98 | + return defHttp.get({ | ||
99 | + url: `${CameraManagerApi.STREAMING_PLAY_GET_URL}/${entityId}`, | ||
100 | + }); | ||
101 | +}; |
@@ -77,7 +77,7 @@ | @@ -77,7 +77,7 @@ | ||
77 | } | 77 | } |
78 | 78 | ||
79 | let resStr = ''; | 79 | let resStr = ''; |
80 | - let dirStr = isBefore ? t('component.time.after') : t('component.time.before'); | 80 | + let dirStr = isBefore ? t('component.time.before') : t('component.time.after'); |
81 | 81 | ||
82 | if (diff < ONE_SECONDS) { | 82 | if (diff < ONE_SECONDS) { |
83 | resStr = t('component.time.just'); | 83 | resStr = t('component.time.just'); |
@@ -42,8 +42,9 @@ | @@ -42,8 +42,9 @@ | ||
42 | alt="avatar" | 42 | alt="avatar" |
43 | /> | 43 | /> |
44 | <div v-else> | 44 | <div v-else> |
45 | - <div style=""> | ||
46 | - <PlusOutlined style="font-size: 30px" /> | 45 | + <div> |
46 | + <LoadingOutlined style="font-size: 30px" v-if="loading" /> | ||
47 | + <PlusOutlined v-else style="font-size: 30px" /> | ||
47 | </div> | 48 | </div> |
48 | </div> | 49 | </div> |
49 | </Upload> | 50 | </Upload> |
@@ -53,10 +54,9 @@ | @@ -53,10 +54,9 @@ | ||
53 | <Description | 54 | <Description |
54 | class="mt-8" | 55 | class="mt-8" |
55 | :column="1" | 56 | :column="1" |
56 | - :schema="schema" | ||
57 | :bordered="true" | 57 | :bordered="true" |
58 | :data="getPersonalDetailValue" | 58 | :data="getPersonalDetailValue" |
59 | - @register="registerDesc" | 59 | + :schema="schema" |
60 | /> | 60 | /> |
61 | </div> | 61 | </div> |
62 | <div | 62 | <div |
@@ -83,7 +83,7 @@ | @@ -83,7 +83,7 @@ | ||
83 | import { BasicModal, useModalInner } from '/@/components/Modal/index'; | 83 | import { BasicModal, useModalInner } from '/@/components/Modal/index'; |
84 | import { BasicForm, useForm } from '/@/components/Form/index'; | 84 | import { BasicForm, useForm } from '/@/components/Form/index'; |
85 | import { formSchema } from './config'; | 85 | import { formSchema } from './config'; |
86 | - import { Description, DescItem, useDescription } from '/@/components/Description/index'; | 86 | + import { Description, DescItem } from '/@/components/Description/index'; |
87 | import { uploadApi, personalPut } from '/@/api/personal/index'; | 87 | import { uploadApi, personalPut } from '/@/api/personal/index'; |
88 | import { useMessage } from '/@/hooks/web/useMessage'; | 88 | import { useMessage } from '/@/hooks/web/useMessage'; |
89 | import { USER_INFO_KEY } from '/@/enums/cacheEnum'; | 89 | import { USER_INFO_KEY } from '/@/enums/cacheEnum'; |
@@ -92,6 +92,7 @@ | @@ -92,6 +92,7 @@ | ||
92 | import { PlusOutlined } from '@ant-design/icons-vue'; | 92 | import { PlusOutlined } from '@ant-design/icons-vue'; |
93 | import { useUserStore } from '/@/store/modules/user'; | 93 | import { useUserStore } from '/@/store/modules/user'; |
94 | import type { FileItem } from '/@/components/Upload/src/typing'; | 94 | import type { FileItem } from '/@/components/Upload/src/typing'; |
95 | + import { LoadingOutlined } from '@ant-design/icons-vue'; | ||
95 | 96 | ||
96 | const schema: DescItem[] = [ | 97 | const schema: DescItem[] = [ |
97 | { | 98 | { |
@@ -119,11 +120,20 @@ | @@ -119,11 +120,20 @@ | ||
119 | label: '创建时间:', | 120 | label: '创建时间:', |
120 | }, | 121 | }, |
121 | ]; | 122 | ]; |
123 | + const mockData: Recordable = { | ||
124 | + username: 'test', | ||
125 | + phoneNumber: 'VB', | ||
126 | + email: '123', | ||
127 | + realName: '15695909xxx', | ||
128 | + accountExpireTime: '190848757@qq.com', | ||
129 | + createTime: '厦门市思明区', | ||
130 | + }; | ||
122 | export default defineComponent({ | 131 | export default defineComponent({ |
123 | name: 'Index', | 132 | name: 'Index', |
124 | - components: { BasicModal, BasicForm, Description, Upload, PlusOutlined }, | 133 | + components: { BasicModal, BasicForm, Description, Upload, PlusOutlined, LoadingOutlined }, |
125 | emits: ['refreshPersonl', 'register'], | 134 | emits: ['refreshPersonl', 'register'], |
126 | setup(_, { emit }) { | 135 | setup(_, { emit }) { |
136 | + const loading = ref(false); | ||
127 | const userInfo = getAuthCache(USER_INFO_KEY); | 137 | const userInfo = getAuthCache(USER_INFO_KEY); |
128 | const { createMessage } = useMessage(); | 138 | const { createMessage } = useMessage(); |
129 | const getPersonalValue: any = ref({}); | 139 | const getPersonalValue: any = ref({}); |
@@ -133,21 +143,18 @@ | @@ -133,21 +143,18 @@ | ||
133 | const getData: any = ref({}); | 143 | const getData: any = ref({}); |
134 | const updataPersonlData: any = ref({}); | 144 | const updataPersonlData: any = ref({}); |
135 | const userStore = useUserStore(); | 145 | const userStore = useUserStore(); |
136 | - // const getUpdateUserInfo: any = ref({}); | ||
137 | - const [registerDesc] = useDescription({ | ||
138 | - title: '个人详情', | ||
139 | - schema: schema, | ||
140 | - }); | ||
141 | - | ||
142 | const peresonalPic = ref(); | 146 | const peresonalPic = ref(); |
143 | 147 | ||
144 | const customUploadqrcodePic = async ({ file }) => { | 148 | const customUploadqrcodePic = async ({ file }) => { |
145 | if (beforeUploadqrcodePic(file)) { | 149 | if (beforeUploadqrcodePic(file)) { |
150 | + peresonalPic.value = ''; | ||
151 | + loading.value = true; | ||
146 | const formData = new FormData(); | 152 | const formData = new FormData(); |
147 | formData.append('file', file); | 153 | formData.append('file', file); |
148 | const response = await uploadApi(formData); | 154 | const response = await uploadApi(formData); |
149 | if (response.fileStaticUri) { | 155 | if (response.fileStaticUri) { |
150 | peresonalPic.value = response.fileStaticUri; | 156 | peresonalPic.value = response.fileStaticUri; |
157 | + loading.value = false; | ||
151 | } | 158 | } |
152 | } | 159 | } |
153 | }; | 160 | }; |
@@ -236,10 +243,11 @@ | @@ -236,10 +243,11 @@ | ||
236 | compHeight, | 243 | compHeight, |
237 | handleSubmit, | 244 | handleSubmit, |
238 | getPersonalDetailValue, | 245 | getPersonalDetailValue, |
239 | - registerDesc, | ||
240 | schema, | 246 | schema, |
241 | registerModal, | 247 | registerModal, |
242 | registerForm, | 248 | registerForm, |
249 | + loading, | ||
250 | + mockData | ||
243 | }; | 251 | }; |
244 | }, | 252 | }, |
245 | }); | 253 | }); |
1 | <template> | 1 | <template> |
2 | <div> | 2 | <div> |
3 | - <BasicTable @register="registerTable" :dataSource="tableData"> | 3 | + <BasicTable @register="registerTable" :dataSource="tableData" style="height: 12rem"> |
4 | <template #status> | 4 | <template #status> |
5 | <Switch | 5 | <Switch |
6 | checked-children="开" | 6 | checked-children="开" |
@@ -11,7 +11,7 @@ | @@ -11,7 +11,7 @@ | ||
11 | /> | 11 | /> |
12 | </template> | 12 | </template> |
13 | </BasicTable> | 13 | </BasicTable> |
14 | - <div style="margin-top: -54vh"> | 14 | + <div style="margin-left: 0.44rem"> |
15 | <a-button type="primary" class="mr-4" :disabled="disabled" @click="handleFrpRemote" | 15 | <a-button type="primary" class="mr-4" :disabled="disabled" @click="handleFrpRemote" |
16 | >远程连接</a-button | 16 | >远程连接</a-button |
17 | > | 17 | > |
@@ -27,7 +27,6 @@ | @@ -27,7 +27,6 @@ | ||
27 | import { Tag } from 'ant-design-vue'; | 27 | import { Tag } from 'ant-design-vue'; |
28 | import { frpGetInfoApi, frpPutInfoApi } from '/@/api/device/deviceConfigApi'; | 28 | import { frpGetInfoApi, frpPutInfoApi } from '/@/api/device/deviceConfigApi'; |
29 | import { useMessage } from '/@/hooks/web/useMessage'; | 29 | import { useMessage } from '/@/hooks/web/useMessage'; |
30 | - import { ConsoleSqlOutlined } from '@ant-design/icons-vue'; | ||
31 | 30 | ||
32 | const props = defineProps({ | 31 | const props = defineProps({ |
33 | deviceDetail: { | 32 | deviceDetail: { |
@@ -42,7 +41,7 @@ | @@ -42,7 +41,7 @@ | ||
42 | const disabled = ref<boolean>(true); | 41 | const disabled = ref<boolean>(true); |
43 | const viewDeviceColumn: BasicColumn[] = [ | 42 | const viewDeviceColumn: BasicColumn[] = [ |
44 | { | 43 | { |
45 | - title: 'Frp连接状态', | 44 | + title: '远程连接状态', |
46 | dataIndex: 'status', | 45 | dataIndex: 'status', |
47 | width: 80, | 46 | width: 80, |
48 | customRender: ({ record }) => { | 47 | customRender: ({ record }) => { |
@@ -53,7 +52,7 @@ | @@ -53,7 +52,7 @@ | ||
53 | }, | 52 | }, |
54 | }, | 53 | }, |
55 | { | 54 | { |
56 | - title: '远程连接', | 55 | + title: '允许远程连接', |
57 | dataIndex: 'enableRemote', | 56 | dataIndex: 'enableRemote', |
58 | width: 80, | 57 | width: 80, |
59 | slots: { customRender: 'status' }, | 58 | slots: { customRender: 'status' }, |
@@ -78,7 +77,6 @@ | @@ -78,7 +77,6 @@ | ||
78 | const address = ref(''); | 77 | const address = ref(''); |
79 | const enableRemoteDisabled = ref(false); | 78 | const enableRemoteDisabled = ref(false); |
80 | const getTableData = async () => { | 79 | const getTableData = async () => { |
81 | - // const res = await frpGetInfoApi('1000000061664FF'); | ||
82 | const res = await frpGetInfoApi(props.deviceDetail.sn); | 80 | const res = await frpGetInfoApi(props.deviceDetail.sn); |
83 | enableRemote.value = res.enableRemote; | 81 | enableRemote.value = res.enableRemote; |
84 | proxyName.value = res.proxyName; | 82 | proxyName.value = res.proxyName; |
@@ -15,7 +15,7 @@ | @@ -15,7 +15,7 @@ | ||
15 | import { BasicForm, useForm } from '/@/components/Form'; | 15 | import { BasicForm, useForm } from '/@/components/Form'; |
16 | import { formSchema } from './config.data'; | 16 | import { formSchema } from './config.data'; |
17 | import { BasicDrawer, useDrawerInner } from '/@/components/Drawer'; | 17 | import { BasicDrawer, useDrawerInner } from '/@/components/Drawer'; |
18 | - import { createOrEditCameraManage } from '/@/api/camera/cameraManager'; | 18 | + // import { createOrEditCameraManage } from '/@/api/camera/cameraManager'; |
19 | import { useMessage } from '/@/hooks/web/useMessage'; | 19 | import { useMessage } from '/@/hooks/web/useMessage'; |
20 | 20 | ||
21 | const emit = defineEmits(['success', 'register']); | 21 | const emit = defineEmits(['success', 'register']); |
@@ -47,10 +47,11 @@ | @@ -47,10 +47,11 @@ | ||
47 | try { | 47 | try { |
48 | const { createMessage } = useMessage(); | 48 | const { createMessage } = useMessage(); |
49 | const values = await validate(); | 49 | const values = await validate(); |
50 | + console.log(values); | ||
50 | if (!values) return; | 51 | if (!values) return; |
51 | let saveMessage = '添加成功'; | 52 | let saveMessage = '添加成功'; |
52 | let updateMessage = '修改成功'; | 53 | let updateMessage = '修改成功'; |
53 | - await createOrEditCameraManage(values); | 54 | + // await createOrEditCameraManage(values); |
54 | closeDrawer(); | 55 | closeDrawer(); |
55 | emit('success'); | 56 | emit('success'); |
56 | createMessage.success(unref(isUpdate) ? updateMessage : saveMessage); | 57 | createMessage.success(unref(isUpdate) ? updateMessage : saveMessage); |
@@ -5,6 +5,7 @@ import { getOrganizationList } from '/@/api/system/system'; | @@ -5,6 +5,7 @@ import { getOrganizationList } from '/@/api/system/system'; | ||
5 | import { copyTransFun } from '/@/utils/fnUtils'; | 5 | import { copyTransFun } from '/@/utils/fnUtils'; |
6 | import { screenLinkPageByDeptIdGetDevice } from '/@/api/ruleengine/ruleengineApi'; | 6 | import { screenLinkPageByDeptIdGetDevice } from '/@/api/ruleengine/ruleengineApi'; |
7 | import { getAttribute } from '/@/api/ruleengine/ruleengineApi'; | 7 | import { getAttribute } from '/@/api/ruleengine/ruleengineApi'; |
8 | +import { findDictItemByCode } from '/@/api/system/dict'; | ||
8 | 9 | ||
9 | export enum TypeEnum { | 10 | export enum TypeEnum { |
10 | IS_TIMING = 'TIMING', | 11 | IS_TIMING = 'TIMING', |
@@ -22,7 +23,6 @@ export const isMonth = (type: string) => { | @@ -22,7 +23,6 @@ export const isMonth = (type: string) => { | ||
22 | return type === TypeEnum.IS_MONTH; | 23 | return type === TypeEnum.IS_MONTH; |
23 | }; | 24 | }; |
24 | 25 | ||
25 | - | ||
26 | export enum AggregateDataEnum { | 26 | export enum AggregateDataEnum { |
27 | MIN = 'MIN', | 27 | MIN = 'MIN', |
28 | MAX = 'MAX', | 28 | MAX = 'MAX', |
@@ -139,7 +139,6 @@ export const formSchema: QFormSchema[] = [ | @@ -139,7 +139,6 @@ export const formSchema: QFormSchema[] = [ | ||
139 | field: '1', | 139 | field: '1', |
140 | label: '报表名称', | 140 | label: '报表名称', |
141 | colProps: { span: 24 }, | 141 | colProps: { span: 24 }, |
142 | - helpMessage: ['报表配置', '只对拥有数值型属性', '的设备才能配置'], | ||
143 | required: true, | 142 | required: true, |
144 | component: 'Input', | 143 | component: 'Input', |
145 | componentProps: { | 144 | componentProps: { |
@@ -241,7 +240,7 @@ export const formSchema: QFormSchema[] = [ | @@ -241,7 +240,7 @@ export const formSchema: QFormSchema[] = [ | ||
241 | label: '周期', | 240 | label: '周期', |
242 | required: true, | 241 | required: true, |
243 | colProps: { span: 24 }, | 242 | colProps: { span: 24 }, |
244 | - defaultValue: '1', | 243 | + defaultValue: 'day', |
245 | componentProps: { | 244 | componentProps: { |
246 | placeholder: '请选择周期', | 245 | placeholder: '请选择周期', |
247 | options: [ | 246 | options: [ |
@@ -253,55 +252,56 @@ export const formSchema: QFormSchema[] = [ | @@ -253,55 +252,56 @@ export const formSchema: QFormSchema[] = [ | ||
253 | ifShow: ({ values }) => isTiming(values.actionS), | 252 | ifShow: ({ values }) => isTiming(values.actionS), |
254 | }, | 253 | }, |
255 | { | 254 | { |
256 | - field: '5', | ||
257 | - component: 'Select', | 255 | + field: '51111', |
256 | + component: 'ApiSelect', | ||
258 | label: '每周', | 257 | label: '每周', |
259 | required: true, | 258 | required: true, |
260 | colProps: { span: 24 }, | 259 | colProps: { span: 24 }, |
261 | - defaultValue: '1', | 260 | + defaultValue: '0 0 0 ? * 1', |
262 | componentProps: { | 261 | componentProps: { |
263 | placeholder: '请选择周期', | 262 | placeholder: '请选择周期', |
264 | - options: [ | ||
265 | - { label: '星期一', value: '1' }, | ||
266 | - { label: '星期二', value: '2' }, | ||
267 | - { label: '星期三', value: '3' }, | ||
268 | - { label: '星期四', value: '3' }, | ||
269 | - { label: '星期五', value: '3' }, | ||
270 | - ], | 263 | + api: findDictItemByCode, |
264 | + params: { | ||
265 | + dictCode: 'every_week', | ||
266 | + }, | ||
267 | + labelField: 'itemText', | ||
268 | + valueField: 'itemValue', | ||
271 | }, | 269 | }, |
272 | ifShow: ({ values }) => isWeek(values.timeWeek), | 270 | ifShow: ({ values }) => isWeek(values.timeWeek), |
273 | }, | 271 | }, |
274 | { | 272 | { |
275 | - field: '5', | ||
276 | - component: 'Select', | 273 | + field: '71111', |
274 | + component: 'ApiSelect', | ||
277 | label: '每月', | 275 | label: '每月', |
278 | required: true, | 276 | required: true, |
279 | colProps: { span: 24 }, | 277 | colProps: { span: 24 }, |
280 | - defaultValue: '1', | 278 | + defaultValue: '0 0 0 1 * ? *', |
281 | componentProps: { | 279 | componentProps: { |
282 | - placeholder: '请选择周期', | ||
283 | - options: [ | ||
284 | - { label: '1日', value: '1' }, | ||
285 | - { label: '2日', value: '7' }, | ||
286 | - { label: '3日', value: '30' }, | ||
287 | - ], | 280 | + placeholder: '请选择月份', |
281 | + api: findDictItemByCode, | ||
282 | + params: { | ||
283 | + dictCode: 'every_month', | ||
284 | + }, | ||
285 | + labelField: 'itemText', | ||
286 | + valueField: 'itemValue', | ||
288 | }, | 287 | }, |
289 | ifShow: ({ values }) => isMonth(values.timeWeek), | 288 | ifShow: ({ values }) => isMonth(values.timeWeek), |
290 | }, | 289 | }, |
291 | { | 290 | { |
292 | - field: '6', | ||
293 | - component: 'Select', | 291 | + field: '62121', |
292 | + component: 'ApiSelect', | ||
294 | label: '时间', | 293 | label: '时间', |
295 | required: true, | 294 | required: true, |
296 | colProps: { span: 24 }, | 295 | colProps: { span: 24 }, |
297 | - defaultValue: '1', | 296 | + defaultValue: '0 0 0 * * ?', |
298 | componentProps: { | 297 | componentProps: { |
299 | placeholder: '请选择时间', | 298 | placeholder: '请选择时间', |
300 | - options: [ | ||
301 | - { label: '00点', value: '1' }, | ||
302 | - { label: '01点', value: '2' }, | ||
303 | - { label: '02点', value: '3' }, | ||
304 | - ], | 299 | + api: findDictItemByCode, |
300 | + params: { | ||
301 | + dictCode: 'every_day', | ||
302 | + }, | ||
303 | + labelField: 'itemText', | ||
304 | + valueField: 'itemValue', | ||
305 | }, | 305 | }, |
306 | ifShow: ({ values }) => isTiming(values.actionS), | 306 | ifShow: ({ values }) => isTiming(values.actionS), |
307 | }, | 307 | }, |
@@ -309,6 +309,7 @@ export const formSchema: QFormSchema[] = [ | @@ -309,6 +309,7 @@ export const formSchema: QFormSchema[] = [ | ||
309 | field: 'entityId', | 309 | field: 'entityId', |
310 | label: '设备', | 310 | label: '设备', |
311 | required: true, | 311 | required: true, |
312 | + helpMessage: ['报表配置只对拥有数值型属性的设备才能配置'], | ||
312 | component: 'Select', | 313 | component: 'Select', |
313 | componentProps: { | 314 | componentProps: { |
314 | placeholder: '请选择设备', | 315 | placeholder: '请选择设备', |
@@ -359,7 +360,7 @@ export const formSchema: QFormSchema[] = [ | @@ -359,7 +360,7 @@ export const formSchema: QFormSchema[] = [ | ||
359 | options: [ | 360 | options: [ |
360 | { label: '历史数据', value: '1' }, | 361 | { label: '历史数据', value: '1' }, |
361 | { label: '同比', value: '2' }, | 362 | { label: '同比', value: '2' }, |
362 | - { label: '环比', value: '2' }, | 363 | + { label: '环比', value: '3' }, |
363 | ], | 364 | ], |
364 | }, | 365 | }, |
365 | colProps: { span: 24 }, | 366 | colProps: { span: 24 }, |
@@ -393,32 +394,49 @@ export const formSchema: QFormSchema[] = [ | @@ -393,32 +394,49 @@ export const formSchema: QFormSchema[] = [ | ||
393 | colProps: { span: 24 }, | 394 | colProps: { span: 24 }, |
394 | }, | 395 | }, |
395 | { | 396 | { |
396 | - field: '9', | 397 | + field: '91112', |
397 | label: '查询周期', | 398 | label: '查询周期', |
398 | required: true, | 399 | required: true, |
399 | component: 'Select', | 400 | component: 'Select', |
400 | componentProps: { | 401 | componentProps: { |
401 | placeholder: '请选择查询周期', | 402 | placeholder: '请选择查询周期', |
402 | options: [ | 403 | options: [ |
403 | - { label: '1分钟', value: '60000' }, | ||
404 | - { label: '2分钟', value: '120000' }, | ||
405 | - { label: '3分钟', value: '180000' }, | 404 | + { label: '1秒', value: '1000' }, |
405 | + { label: '5秒', value: '5000' }, | ||
406 | + { label: '10秒', value: '10000' }, | ||
407 | + { label: '15秒', value: '15000' }, | ||
408 | + { label: '30秒', value: '30000' }, | ||
409 | + { label: '1分', value: '60000' }, | ||
410 | + { label: '2分', value: '120000' }, | ||
411 | + { label: '5分', value: '300000' }, | ||
412 | + { label: '10分', value: '600000' }, | ||
413 | + { label: '15分', value: '900000' }, | ||
414 | + { label: '30分', value: '1800000' }, | ||
415 | + { label: '1小时', value: '3600000' }, | ||
416 | + { label: '2小时', value: '7200000' }, | ||
417 | + { label: '5小时', value: '18000000' }, | ||
418 | + { label: '10小时', value: '36000000' }, | ||
419 | + { label: '12小时', value: '43200000' }, | ||
420 | + { label: '1天', value: '86400000' }, | ||
421 | + { label: '7天', value: '604800000' }, | ||
422 | + { label: '30天', value: '2592000000' }, | ||
406 | ], | 423 | ], |
407 | }, | 424 | }, |
408 | colProps: { span: 24 }, | 425 | colProps: { span: 24 }, |
409 | }, | 426 | }, |
410 | { | 427 | { |
411 | - field: '10', | 428 | + field: '102121', |
412 | label: '间隔时间', | 429 | label: '间隔时间', |
413 | required: true, | 430 | required: true, |
414 | component: 'Select', | 431 | component: 'Select', |
415 | componentProps: { | 432 | componentProps: { |
416 | placeholder: '请选择间隔时间', | 433 | placeholder: '请选择间隔时间', |
417 | options: [ | 434 | options: [ |
418 | - { label: '1秒', value: '1000' }, | ||
419 | - { label: '5秒', value: '5000' }, | ||
420 | - { label: '10秒', value: '10000' }, | ||
421 | - { label: '15秒', value: '150000' }, | 435 | + { label: '2小时', value: '7200000' }, |
436 | + { label: '5小时', value: '18000000' }, | ||
437 | + { label: '10小时', value: '36000000' }, | ||
438 | + { label: '12小时', value: '43200000' }, | ||
439 | + { label: '1天', value: '86400000' }, | ||
422 | ], | 440 | ], |
423 | }, | 441 | }, |
424 | colProps: { span: 24 }, | 442 | colProps: { span: 24 }, |