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 | 77 | } |
| 78 | 78 | |
| 79 | 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 | 82 | if (diff < ONE_SECONDS) { |
| 83 | 83 | resStr = t('component.time.just'); | ... | ... |
| ... | ... | @@ -42,8 +42,9 @@ |
| 42 | 42 | alt="avatar" |
| 43 | 43 | /> |
| 44 | 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 | 48 | </div> |
| 48 | 49 | </div> |
| 49 | 50 | </Upload> |
| ... | ... | @@ -53,10 +54,9 @@ |
| 53 | 54 | <Description |
| 54 | 55 | class="mt-8" |
| 55 | 56 | :column="1" |
| 56 | - :schema="schema" | |
| 57 | 57 | :bordered="true" |
| 58 | 58 | :data="getPersonalDetailValue" |
| 59 | - @register="registerDesc" | |
| 59 | + :schema="schema" | |
| 60 | 60 | /> |
| 61 | 61 | </div> |
| 62 | 62 | <div |
| ... | ... | @@ -83,7 +83,7 @@ |
| 83 | 83 | import { BasicModal, useModalInner } from '/@/components/Modal/index'; |
| 84 | 84 | import { BasicForm, useForm } from '/@/components/Form/index'; |
| 85 | 85 | import { formSchema } from './config'; |
| 86 | - import { Description, DescItem, useDescription } from '/@/components/Description/index'; | |
| 86 | + import { Description, DescItem } from '/@/components/Description/index'; | |
| 87 | 87 | import { uploadApi, personalPut } from '/@/api/personal/index'; |
| 88 | 88 | import { useMessage } from '/@/hooks/web/useMessage'; |
| 89 | 89 | import { USER_INFO_KEY } from '/@/enums/cacheEnum'; |
| ... | ... | @@ -92,6 +92,7 @@ |
| 92 | 92 | import { PlusOutlined } from '@ant-design/icons-vue'; |
| 93 | 93 | import { useUserStore } from '/@/store/modules/user'; |
| 94 | 94 | import type { FileItem } from '/@/components/Upload/src/typing'; |
| 95 | + import { LoadingOutlined } from '@ant-design/icons-vue'; | |
| 95 | 96 | |
| 96 | 97 | const schema: DescItem[] = [ |
| 97 | 98 | { |
| ... | ... | @@ -119,11 +120,20 @@ |
| 119 | 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 | 131 | export default defineComponent({ |
| 123 | 132 | name: 'Index', |
| 124 | - components: { BasicModal, BasicForm, Description, Upload, PlusOutlined }, | |
| 133 | + components: { BasicModal, BasicForm, Description, Upload, PlusOutlined, LoadingOutlined }, | |
| 125 | 134 | emits: ['refreshPersonl', 'register'], |
| 126 | 135 | setup(_, { emit }) { |
| 136 | + const loading = ref(false); | |
| 127 | 137 | const userInfo = getAuthCache(USER_INFO_KEY); |
| 128 | 138 | const { createMessage } = useMessage(); |
| 129 | 139 | const getPersonalValue: any = ref({}); |
| ... | ... | @@ -133,21 +143,18 @@ |
| 133 | 143 | const getData: any = ref({}); |
| 134 | 144 | const updataPersonlData: any = ref({}); |
| 135 | 145 | const userStore = useUserStore(); |
| 136 | - // const getUpdateUserInfo: any = ref({}); | |
| 137 | - const [registerDesc] = useDescription({ | |
| 138 | - title: '个人详情', | |
| 139 | - schema: schema, | |
| 140 | - }); | |
| 141 | - | |
| 142 | 146 | const peresonalPic = ref(); |
| 143 | 147 | |
| 144 | 148 | const customUploadqrcodePic = async ({ file }) => { |
| 145 | 149 | if (beforeUploadqrcodePic(file)) { |
| 150 | + peresonalPic.value = ''; | |
| 151 | + loading.value = true; | |
| 146 | 152 | const formData = new FormData(); |
| 147 | 153 | formData.append('file', file); |
| 148 | 154 | const response = await uploadApi(formData); |
| 149 | 155 | if (response.fileStaticUri) { |
| 150 | 156 | peresonalPic.value = response.fileStaticUri; |
| 157 | + loading.value = false; | |
| 151 | 158 | } |
| 152 | 159 | } |
| 153 | 160 | }; |
| ... | ... | @@ -236,10 +243,11 @@ |
| 236 | 243 | compHeight, |
| 237 | 244 | handleSubmit, |
| 238 | 245 | getPersonalDetailValue, |
| 239 | - registerDesc, | |
| 240 | 246 | schema, |
| 241 | 247 | registerModal, |
| 242 | 248 | registerForm, |
| 249 | + loading, | |
| 250 | + mockData | |
| 243 | 251 | }; |
| 244 | 252 | }, |
| 245 | 253 | }); | ... | ... |
| 1 | 1 | <template> |
| 2 | 2 | <div> |
| 3 | - <BasicTable @register="registerTable" :dataSource="tableData"> | |
| 3 | + <BasicTable @register="registerTable" :dataSource="tableData" style="height: 12rem"> | |
| 4 | 4 | <template #status> |
| 5 | 5 | <Switch |
| 6 | 6 | checked-children="开" |
| ... | ... | @@ -11,7 +11,7 @@ |
| 11 | 11 | /> |
| 12 | 12 | </template> |
| 13 | 13 | </BasicTable> |
| 14 | - <div style="margin-top: -54vh"> | |
| 14 | + <div style="margin-left: 0.44rem"> | |
| 15 | 15 | <a-button type="primary" class="mr-4" :disabled="disabled" @click="handleFrpRemote" |
| 16 | 16 | >远程连接</a-button |
| 17 | 17 | > |
| ... | ... | @@ -27,7 +27,6 @@ |
| 27 | 27 | import { Tag } from 'ant-design-vue'; |
| 28 | 28 | import { frpGetInfoApi, frpPutInfoApi } from '/@/api/device/deviceConfigApi'; |
| 29 | 29 | import { useMessage } from '/@/hooks/web/useMessage'; |
| 30 | - import { ConsoleSqlOutlined } from '@ant-design/icons-vue'; | |
| 31 | 30 | |
| 32 | 31 | const props = defineProps({ |
| 33 | 32 | deviceDetail: { |
| ... | ... | @@ -42,7 +41,7 @@ |
| 42 | 41 | const disabled = ref<boolean>(true); |
| 43 | 42 | const viewDeviceColumn: BasicColumn[] = [ |
| 44 | 43 | { |
| 45 | - title: 'Frp连接状态', | |
| 44 | + title: '远程连接状态', | |
| 46 | 45 | dataIndex: 'status', |
| 47 | 46 | width: 80, |
| 48 | 47 | customRender: ({ record }) => { |
| ... | ... | @@ -53,7 +52,7 @@ |
| 53 | 52 | }, |
| 54 | 53 | }, |
| 55 | 54 | { |
| 56 | - title: '远程连接', | |
| 55 | + title: '允许远程连接', | |
| 57 | 56 | dataIndex: 'enableRemote', |
| 58 | 57 | width: 80, |
| 59 | 58 | slots: { customRender: 'status' }, |
| ... | ... | @@ -78,7 +77,6 @@ |
| 78 | 77 | const address = ref(''); |
| 79 | 78 | const enableRemoteDisabled = ref(false); |
| 80 | 79 | const getTableData = async () => { |
| 81 | - // const res = await frpGetInfoApi('1000000061664FF'); | |
| 82 | 80 | const res = await frpGetInfoApi(props.deviceDetail.sn); |
| 83 | 81 | enableRemote.value = res.enableRemote; |
| 84 | 82 | proxyName.value = res.proxyName; | ... | ... |
| ... | ... | @@ -15,7 +15,7 @@ |
| 15 | 15 | import { BasicForm, useForm } from '/@/components/Form'; |
| 16 | 16 | import { formSchema } from './config.data'; |
| 17 | 17 | import { BasicDrawer, useDrawerInner } from '/@/components/Drawer'; |
| 18 | - import { createOrEditCameraManage } from '/@/api/camera/cameraManager'; | |
| 18 | + // import { createOrEditCameraManage } from '/@/api/camera/cameraManager'; | |
| 19 | 19 | import { useMessage } from '/@/hooks/web/useMessage'; |
| 20 | 20 | |
| 21 | 21 | const emit = defineEmits(['success', 'register']); |
| ... | ... | @@ -47,10 +47,11 @@ |
| 47 | 47 | try { |
| 48 | 48 | const { createMessage } = useMessage(); |
| 49 | 49 | const values = await validate(); |
| 50 | + console.log(values); | |
| 50 | 51 | if (!values) return; |
| 51 | 52 | let saveMessage = '添加成功'; |
| 52 | 53 | let updateMessage = '修改成功'; |
| 53 | - await createOrEditCameraManage(values); | |
| 54 | + // await createOrEditCameraManage(values); | |
| 54 | 55 | closeDrawer(); |
| 55 | 56 | emit('success'); |
| 56 | 57 | createMessage.success(unref(isUpdate) ? updateMessage : saveMessage); | ... | ... |
| ... | ... | @@ -5,6 +5,7 @@ import { getOrganizationList } from '/@/api/system/system'; |
| 5 | 5 | import { copyTransFun } from '/@/utils/fnUtils'; |
| 6 | 6 | import { screenLinkPageByDeptIdGetDevice } from '/@/api/ruleengine/ruleengineApi'; |
| 7 | 7 | import { getAttribute } from '/@/api/ruleengine/ruleengineApi'; |
| 8 | +import { findDictItemByCode } from '/@/api/system/dict'; | |
| 8 | 9 | |
| 9 | 10 | export enum TypeEnum { |
| 10 | 11 | IS_TIMING = 'TIMING', |
| ... | ... | @@ -22,7 +23,6 @@ export const isMonth = (type: string) => { |
| 22 | 23 | return type === TypeEnum.IS_MONTH; |
| 23 | 24 | }; |
| 24 | 25 | |
| 25 | - | |
| 26 | 26 | export enum AggregateDataEnum { |
| 27 | 27 | MIN = 'MIN', |
| 28 | 28 | MAX = 'MAX', |
| ... | ... | @@ -139,7 +139,6 @@ export const formSchema: QFormSchema[] = [ |
| 139 | 139 | field: '1', |
| 140 | 140 | label: '报表名称', |
| 141 | 141 | colProps: { span: 24 }, |
| 142 | - helpMessage: ['报表配置', '只对拥有数值型属性', '的设备才能配置'], | |
| 143 | 142 | required: true, |
| 144 | 143 | component: 'Input', |
| 145 | 144 | componentProps: { |
| ... | ... | @@ -241,7 +240,7 @@ export const formSchema: QFormSchema[] = [ |
| 241 | 240 | label: '周期', |
| 242 | 241 | required: true, |
| 243 | 242 | colProps: { span: 24 }, |
| 244 | - defaultValue: '1', | |
| 243 | + defaultValue: 'day', | |
| 245 | 244 | componentProps: { |
| 246 | 245 | placeholder: '请选择周期', |
| 247 | 246 | options: [ |
| ... | ... | @@ -253,55 +252,56 @@ export const formSchema: QFormSchema[] = [ |
| 253 | 252 | ifShow: ({ values }) => isTiming(values.actionS), |
| 254 | 253 | }, |
| 255 | 254 | { |
| 256 | - field: '5', | |
| 257 | - component: 'Select', | |
| 255 | + field: '51111', | |
| 256 | + component: 'ApiSelect', | |
| 258 | 257 | label: '每周', |
| 259 | 258 | required: true, |
| 260 | 259 | colProps: { span: 24 }, |
| 261 | - defaultValue: '1', | |
| 260 | + defaultValue: '0 0 0 ? * 1', | |
| 262 | 261 | componentProps: { |
| 263 | 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 | 270 | ifShow: ({ values }) => isWeek(values.timeWeek), |
| 273 | 271 | }, |
| 274 | 272 | { |
| 275 | - field: '5', | |
| 276 | - component: 'Select', | |
| 273 | + field: '71111', | |
| 274 | + component: 'ApiSelect', | |
| 277 | 275 | label: '每月', |
| 278 | 276 | required: true, |
| 279 | 277 | colProps: { span: 24 }, |
| 280 | - defaultValue: '1', | |
| 278 | + defaultValue: '0 0 0 1 * ? *', | |
| 281 | 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 | 288 | ifShow: ({ values }) => isMonth(values.timeWeek), |
| 290 | 289 | }, |
| 291 | 290 | { |
| 292 | - field: '6', | |
| 293 | - component: 'Select', | |
| 291 | + field: '62121', | |
| 292 | + component: 'ApiSelect', | |
| 294 | 293 | label: '时间', |
| 295 | 294 | required: true, |
| 296 | 295 | colProps: { span: 24 }, |
| 297 | - defaultValue: '1', | |
| 296 | + defaultValue: '0 0 0 * * ?', | |
| 298 | 297 | componentProps: { |
| 299 | 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 | 306 | ifShow: ({ values }) => isTiming(values.actionS), |
| 307 | 307 | }, |
| ... | ... | @@ -309,6 +309,7 @@ export const formSchema: QFormSchema[] = [ |
| 309 | 309 | field: 'entityId', |
| 310 | 310 | label: '设备', |
| 311 | 311 | required: true, |
| 312 | + helpMessage: ['报表配置只对拥有数值型属性的设备才能配置'], | |
| 312 | 313 | component: 'Select', |
| 313 | 314 | componentProps: { |
| 314 | 315 | placeholder: '请选择设备', |
| ... | ... | @@ -359,7 +360,7 @@ export const formSchema: QFormSchema[] = [ |
| 359 | 360 | options: [ |
| 360 | 361 | { label: '历史数据', value: '1' }, |
| 361 | 362 | { label: '同比', value: '2' }, |
| 362 | - { label: '环比', value: '2' }, | |
| 363 | + { label: '环比', value: '3' }, | |
| 363 | 364 | ], |
| 364 | 365 | }, |
| 365 | 366 | colProps: { span: 24 }, |
| ... | ... | @@ -393,32 +394,49 @@ export const formSchema: QFormSchema[] = [ |
| 393 | 394 | colProps: { span: 24 }, |
| 394 | 395 | }, |
| 395 | 396 | { |
| 396 | - field: '9', | |
| 397 | + field: '91112', | |
| 397 | 398 | label: '查询周期', |
| 398 | 399 | required: true, |
| 399 | 400 | component: 'Select', |
| 400 | 401 | componentProps: { |
| 401 | 402 | placeholder: '请选择查询周期', |
| 402 | 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 | 425 | colProps: { span: 24 }, |
| 409 | 426 | }, |
| 410 | 427 | { |
| 411 | - field: '10', | |
| 428 | + field: '102121', | |
| 412 | 429 | label: '间隔时间', |
| 413 | 430 | required: true, |
| 414 | 431 | component: 'Select', |
| 415 | 432 | componentProps: { |
| 416 | 433 | placeholder: '请选择间隔时间', |
| 417 | 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 | 442 | colProps: { span: 24 }, | ... | ... |