/** * 道路应急线索巡查相关数据接口 */ import Multipart from '../../utils/Multipart.min'; import { get, post, _delete } from '../baseRequset'; import { clueUrl, cluePicUrl } from '../../config/index'; import { getClueQuestionList } from '../../model/clue/clueQuestion'; import { getClueList } from '../../model/clue/clue'; /******************************************************************************* */ /** * 查询线索 * @param {*} clue * @returns */ function fetchClue(clue) { return post( { url: `clue/search`, data: clue, }, clueUrl, ).then(res => { res.data.data = getClueList(res.data.data); return res.data; }); } /** * 查询线索 * @param {*} clue * @returns */ function fetchClueInternal(clue) { return post( { url: `clue/internal/search`, data: clue, }, clueUrl, ).then(res => { res.data.data = getClueList(res.data.data); return res.data; }); } /******************************************************************************* */ /** * 查询线索任务 * @param {*} clueTask * @returns */ function fetchClueTask(clueTask) { return post( { url: `clue/task/fetch`, data: clueTask, }, clueUrl, ).then(res => { return res.data; }); } /******************************************************************************* */ /** * 获取线索结论 * @param {string} clueId 线索id */ function getConclusion(clueId, internal) { return get( { url: `clue/conclusion/fetch`, params: { clueId, internal, }, }, clueUrl, ).then(res => res.data); } /** * 提交线索结论 * @param {object} conclusion 线索 * @returns */ function uploadConclusion(conclusion) { return post( { url: `clue/conclusion/upload`, data: conclusion, }, clueUrl, ).then(res => res.data); } /******************************************************************************* */ /** * 获取已提交的线索问题 * @param {string} clueId 线索id */ function getQuestion(clueId, internal) { return get( { url: `clue/question/fetch`, params: { clueId, internal, }, }, clueUrl, ).then(res => { res.data.data = getClueQuestionList(res.data.data); return res.data; }); } /** * 上传线索问题 * @param {object} question 问题描述 * @param {*} files 问题图片 * @returns */ function uploadQuestion(question, files) { const fields = [ { name: 'question', value: JSON.stringify(question), }, ]; const images = files.map(f => { return { name: 'images', filePath: f, }; }); return new Multipart({ fields, files: images, }) .submit(clueUrl + `/clue/question/upload`) .then(res => { return res.data; }); } /** * 更新线索问题 * @param {object} question 问题描述 * @param {Sting} deleteImgUrl 删除的图片相对路径,用;分割 * @param {*} files 问题图片 * @returns */ function updateQuestion(question, deleteImgUrl, files) { const fields = [ { name: 'question', value: JSON.stringify(question), }, { name: 'deleteImg', value: deleteImgUrl, }, ]; const images = files.map(f => { return { name: 'images', filePath: f, }; }); return new Multipart({ fields, files: images, }) .submit(clueUrl + `/clue/question/update`) .then(res => { return res.data; }); } function deleteQuestion(questionId) { return _delete( { url: `clue/question`, params: { questionId: questionId, }, }, clueUrl, ).then(res => res.data); } export { fetchClue, fetchClueInternal, fetchClueTask, getConclusion, uploadConclusion, updateQuestion, getQuestion, uploadQuestion, deleteQuestion, };