import { IQueryCommon, IRes, IResult, serialize } from '@/api/common' import axios from '@/utils/request' import { base, IPoint, IPointDismountParams, IPointEnableParams, IPointDetail, IPointDetailResult, IPointTarget } from './common' const uris = { base: `${base}/surveysite`, page: `${base}/surveysite/list`, save: `${base}/surveysite/saveAll`, update: `${base}/surveysite/updateAll`, del: `${base}/surveysite/deleteByIds`, detail: `${base}/surveysite/details`, targets: `${base}/surveysite/siteTarget`, discard: `${base}/surveysite/toVoid`, list: `${base}/surveysite/list`, enable: `${base}/sitestatus/bachSave`, dismount: `${base}/deviceinstall/dismantleDevice` } export const addPoint = ({ fileList, ...rest }: Partial) => axios.request>({ url: uris.save, method: 'post', data: serialize({ fileList, dto: new Blob([JSON.stringify(rest)], { type: 'application/json' }) }) }) export const deletePoint = (id: string) => axios.request>({ url: `${uris.base}/${id}`, method: 'delete' }) export const updatePoint = ({ fileList, ...rest }: Partial) => axios.request>({ url: uris.update, method: 'put', data: serialize({ fileList, dto: new Blob([JSON.stringify(rest)], { type: 'application/json' }) }) }) export const getPoint = (id: string) => axios.request>({ url: `${uris.base}/${id}`, method: 'get' }) export const pointPage = (params: Partial) => axios.request>({ url: uris.page, method: 'get', params }) export const deletePointBatch = (ids: string) => axios.request>({ url: uris.del, method: 'delete', params: { ids } }) export const getDetail = (id: number) => axios.request>({ url: `${uris.detail}/${id}`, method: 'get' }) export const getTargets = (data: { deviceSn?: string; sectionId?: string }) => axios.request>({ url: uris.targets, method: 'post', data: serialize(data) }) export const discard = (ids: string) => axios.request>({ url: uris.discard, method: 'get', params: { ids } }) export const getAllPoints = (params: IPoint & IQueryCommon) => axios.request>({ url: uris.list, method: 'get', params }) export const enablePointBatch = (data: IPointEnableParams) => axios.request>({ url: uris.enable, method: 'post', data }) export const dismountPoint = (data: IPointDismountParams) => axios.request>({ url: uris.dismount, method: 'post', data })