Commit d93daf3603bf821d6726e9b60f8fb22586c8e26c

Authored by xp.Huang
2 parents 620c62bb 5644a9f4

Merge branch 'f-dev' into 'main'

fix:修改Teambition上的问题 pref:优化报表配置表单字段

See merge request huang/yun-teng-iot-front!265
  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 +}
  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 },