LR há 3 anos atrás
pai
commit
692d4f38a1

+ 5 - 2
src/api/common/index.ts

@@ -1,6 +1,6 @@
 import axios from '@/utils/request'
 import { ElTableColumn } from 'element-ui/types/table-column'
-import { serialize } from 'object-to-formdata'
+import { Options, serialize as obj2FormData } from 'object-to-formdata'
 const uris = {
   project: {
     page: '/tofly-sxgk/other/getUserPrjs',
@@ -12,6 +12,9 @@ const uris = {
   addDictionary: '/base/code'
 }
 
+export const serialize = (data: any, options: Options = {}) =>
+  obj2FormData(data, { dotsForObjectNotation: true, noFilesWithArrayNotation: true, ...options })
+
 export interface IQueryCommon extends IPagination {
   hitCount?: boolean
   optimizeCountSql?: boolean
@@ -135,7 +138,7 @@ export const setProjectKey = (id: number) =>
   axios.request<IRes<boolean>>({
     url: uris.project.set,
     method: 'post',
-    data: serialize({ prjId: id }, { dotsForObjectNotation: true, noFilesWithArrayNotation: true })
+    data: serialize({ prjId: id })
   })
 
 export const addMenu = (data) => axios.request<IRes<boolean>>({ url: '/base/menu', method: 'post', data })

+ 3 - 12
src/views/spectrum/configuration/api/device.ts

@@ -1,5 +1,4 @@
-import { serialize } from 'object-to-formdata'
-import { IQueryCommon, IRes, IResult } from '@/api/common'
+import { IQueryCommon, IRes, IResult, serialize } from '@/api/common'
 import axios from '@/utils/request'
 import { base, IDevice } from './common'
 
@@ -10,21 +9,13 @@ const uris = {
 }
 
 export const addDevice = (data: Omit<IDevice, 'id'>) =>
-  axios.request<IRes<boolean>>({
-    url: uris.base,
-    method: 'post',
-    data: serialize(data, { dotsForObjectNotation: true, noFilesWithArrayNotation: true })
-  })
+  axios.request<IRes<boolean>>({ url: uris.base, method: 'post', data: serialize(data) })
 
 export const deleteDevice = (id: string) =>
   axios.request<IRes<boolean>>({ url: `${uris.base}/${id}`, method: 'delete' })
 
 export const updateDevice = (data: IDevice) =>
-  axios.request<IRes<boolean>>({
-    url: uris.base,
-    method: 'put',
-    data: serialize(data, { dotsForObjectNotation: true, noFilesWithArrayNotation: true })
-  })
+  axios.request<IRes<boolean>>({ url: uris.base, method: 'put', data: serialize(data) })
 
 export const getDevice = (id: string) => axios.request<IResult<IDevice>>({ url: `${uris.base}/${id}`, method: 'get' })
 

+ 2 - 7
src/views/spectrum/configuration/api/deviceType.ts

@@ -1,5 +1,4 @@
-import { serialize } from 'object-to-formdata'
-import { IQueryCommon, IRes, IResult } from '@/api/common'
+import { IQueryCommon, IRes, IResult, serialize } from '@/api/common'
 import axios from '@/utils/request'
 import { base, IDeviceType, IDeviceTypeParam, IDeviceTypeDictionary, IDeviceTypeParamDictionary } from './common'
 
@@ -19,11 +18,7 @@ const uris = {
 }
 
 export const addDeviceType = (data: Omit<IDeviceType, 'id'>) =>
-  axios.request<IRes<boolean>>({
-    url: uris.base,
-    method: 'post',
-    data: serialize(data, { dotsForObjectNotation: true, noFilesWithArrayNotation: true })
-  })
+  axios.request<IRes<boolean>>({ url: uris.base, method: 'post', data: serialize(data) })
 
 export const deleteDeviceType = (id: string) =>
   axios.request<IRes<boolean>>({ url: `${uris.base}/${id}`, method: 'delete' })

+ 3 - 10
src/views/spectrum/configuration/api/point.ts

@@ -1,5 +1,4 @@
-import { serialize } from 'object-to-formdata'
-import { IQueryCommon, IRes, IResult } from '@/api/common'
+import { IQueryCommon, IRes, IResult, serialize } from '@/api/common'
 import axios from '@/utils/request'
 import {
   base,
@@ -29,10 +28,7 @@ export const addPoint = ({ fileList, ...rest }: Partial<IPointDetail>) =>
   axios.request<IRes<boolean>>({
     url: uris.save,
     method: 'post',
-    data: serialize(
-      { fileList, dto: new Blob([JSON.stringify(rest)], { type: 'application/json' }) },
-      { dotsForObjectNotation: true, noFilesWithArrayNotation: true }
-    )
+    data: serialize({ fileList, dto: new Blob([JSON.stringify(rest)], { type: 'application/json' }) })
   })
 
 export const deletePoint = (id: string) => axios.request<IRes<boolean>>({ url: `${uris.base}/${id}`, method: 'delete' })
@@ -41,10 +37,7 @@ export const updatePoint = ({ fileList, ...rest }: Partial<IPointDetail>) =>
   axios.request<IRes<boolean>>({
     url: uris.update,
     method: 'put',
-    data: serialize(
-      { fileList, dto: new Blob([JSON.stringify(rest)], { type: 'application/json' }) },
-      { dotsForObjectNotation: true, noFilesWithArrayNotation: true }
-    )
+    data: serialize({ fileList, dto: new Blob([JSON.stringify(rest)], { type: 'application/json' }) })
   })
 
 export const getPoint = (id: string) => axios.request<IResult<IPoint>>({ url: `${uris.base}/${id}`, method: 'get' })

+ 12 - 3
src/views/spectrum/configuration/api/standard.ts

@@ -1,4 +1,4 @@
-import { IQueryCommon, IRes, IResult } from '@/api/common'
+import { IQueryCommon, IRes, IResult, serialize } from '@/api/common'
 import axios from '@/utils/request'
 import { base, IStandard, IStandardParam } from './common'
 
@@ -14,12 +14,21 @@ const uris = {
 }
 
 export const addStandard = (data: Omit<IStandard, 'id'>) =>
-  axios.request<IRes<boolean>>({ url: uris.base, method: 'post', data })
+  axios.request<IRes<boolean>>({
+    url: uris.base,
+    method: 'post',
+    data: serialize(data)
+  })
 
 export const deleteStandard = (id: string) =>
   axios.request<IRes<boolean>>({ url: `${uris.base}/${id}`, method: 'delete' })
 
-export const updateStandard = (data: IStandard) => axios.request<IRes<boolean>>({ url: uris.base, method: 'put', data })
+export const updateStandard = (data: IStandard) =>
+  axios.request<IRes<boolean>>({
+    url: uris.base,
+    method: 'put',
+    data: serialize(data)
+  })
 
 export const getStandard = (id: string) =>
   axios.request<IResult<IStandard>>({ url: `${uris.base}/${id}`, method: 'get' })

+ 24 - 10
src/views/spectrum/health/flaw/FlawForm.vue

@@ -79,6 +79,7 @@
               clearable
               rows="3"
               maxlength="1001"
+              disabled
             />
           </el-form-item>
           <el-form-item label="算法说明" prop="defectinfo.algorithmNote">
@@ -89,6 +90,7 @@
               clearable
               rows="3"
               maxlength="1001"
+              disabled
             />
           </el-form-item>
           <el-form-item label="备注" prop="defectinfo.note">
@@ -113,7 +115,13 @@
               style="padding: 0"
             >
               <template v-slot:paramValue="{ $index }">
-                <el-form-item :show-message="false" label-width="0" style="margin-bottom: 0" required>
+                <el-form-item
+                  :show-message="false"
+                  label-width="0"
+                  style="margin-bottom: 0"
+                  :rules="[{ required: true, message: '' }]"
+                  :prop="`defectinfoParmSet[${$index}].paramValue`"
+                >
                   <el-input v-model="formData.defectinfoParmSet[$index].paramValue" class="input" />
                 </el-form-item>
               </template>
@@ -175,24 +183,30 @@
     }
 
     rules = {
-      type: [{ required: true, message: '请选择排水类型', trigger: 'blur' }],
-      name: [
+      'defectinfo.type': [{ required: true, message: '请选择排水类型', trigger: 'blur' }],
+      'defectinfo.name': [
         { required: true, message: '请输入缺陷名称', trigger: 'blur' },
         { max: 50, message: '缺陷名称不能超过50个字符', trigger: 'blur' }
       ],
-      description: [
+      'defectinfo.description': [
         { required: true, message: '请输入缺陷描述', trigger: 'blur' },
         { max: 1000, message: '缺陷描述不能超过1000字符', trigger: 'blur' }
       ],
-      according: [
+      'defectinfo.according': [
         { required: true, message: '请输入分析依据', trigger: 'blur' },
         { max: 1000, message: '分析依据不能超过1000字符', trigger: 'blur' }
       ],
-      interfaceName: [{ required: false, max: 1000, message: '接口名称不能超过1000字符', trigger: 'blur' }],
-      interfaceDescription: [{ required: false, max: 1000, message: '接口说明不能超过1000字符', trigger: 'blur' }],
-      algorithmNote: [{ required: false, max: 1000, message: '算法说明不能超过1000字符', trigger: 'blur' }],
-      note: [{ required: false, max: 1000, message: '备注不能超过1000字符', trigger: 'blur' }],
-      monitorIds: [
+      'defectinfo.interfaceName': [
+        { required: false, max: 1000, message: '接口名称不能超过1000字符', trigger: 'blur' }
+      ],
+      'defectinfo.interfaceDescription': [
+        { required: false, max: 1000, message: '接口说明不能超过1000字符', trigger: 'blur' }
+      ],
+      'defectinfo.algorithmNote': [
+        { required: false, max: 1000, message: '算法说明不能超过1000字符', trigger: 'blur' }
+      ],
+      'defectinfo.note': [{ required: false, max: 1000, message: '备注不能超过1000字符', trigger: 'blur' }],
+      'defectinfo.monitorIds': [
         {
           type: 'array',
           required: true,

+ 3 - 32
src/views/spectrum/report/api/rainfall.ts

@@ -1,8 +1,6 @@
-import { serialize } from 'object-to-formdata'
-import { IQueryCommon, IRes, IResult } from '@/api/common'
+import { IQueryCommon, IRes, IResult, serialize } from '@/api/common'
 import axios from '@/utils/request'
 import { base, IRainfall } from './common'
-import { ElUploadInternalRawFile } from 'element-ui/types/upload'
 
 const uris = {
   base: `${base}/rainfall`,
@@ -11,35 +9,8 @@ const uris = {
   import: `${base}/rainfall/batchData`
 }
 
-// export const addRainfall = (data: Omit<IRainfall, 'id'>) =>
-//   axios.request<IRes<boolean>>({
-//     url: uris.base,
-//     method: 'post',
-//     data: serialize(data, { dotsForObjectNotation: true, noFilesWithArrayNotation: true })
-//   })
-
-// export const deleteRainfall = (id: string) =>
-//   axios.request<IRes<boolean>>({ url: `${uris.base}/${id}`, method: 'delete' })
-
-// export const updateRainfall = (data: IRainfall) =>
-//   axios.request<IRes<boolean>>({
-//     url: uris.base,
-//     method: 'put',
-//     data: serialize(data, { dotsForObjectNotation: true, noFilesWithArrayNotation: true })
-//   })
-
-// export const getRainfall = (id: string) =>
-//   axios.request<IResult<IRainfall>>({ url: `${uris.base}/${id}`, method: 'get' })
-
 export const rainFallPage = (params: Partial<IRainfall & IQueryCommon>) =>
   axios.request<IRes<IRainfall[]>>({ url: uris.page, method: 'get', params })
 
-// export const deleteRainfallBatch = (ids: string) =>
-//   axios.request<IRes<boolean>>({ url: uris.del, method: 'delete', params: { ids } })
-
-export const importRainfall = (data: { file: ElUploadInternalRawFile }) =>
-  axios.request<IRes<boolean>>({
-    url: uris.import,
-    method: 'post',
-    data: serialize(data, { dotsForObjectNotation: true, noFilesWithArrayNotation: true })
-  })
+export const importRainfall = (data: { file: File }) =>
+  axios.request<IRes<boolean>>({ url: uris.import, method: 'post', data: serialize(data) })