import httputils from '@/api/scan/httpUtil' import { Message } from 'element-ui'; import axios from 'axios' const baseUrl = '/modelapi'; const revitUrl = '/schedulerapi'; let api = { // 新建模型文件夹 /** * * @param {Name:string,ProjectId:string} params */ createModel(params, success) { let Name = params.Name; this.queryModel(Name, (res) => { if (res.Total == 0) { let data = { Content: [params] }; // 查询是否有该模型文件夹 // 创建 httputils.postJson(`${baseUrl}/model-folder/create`, data, success) } else { Message.error({ message: '该文件夹已经存在!' }); } }) }, //删除模型文件夹 /** * * @param {Id:string} params */ deleteModel(params, success) { let Content = [params]; httputils.postJson(`${baseUrl}/model-folder/delete`, Content, success) }, //修改模型文件夹名称 /** * * @param {Name:string,ProjectId:string} params */ updateModelName(params, success) { let Name = params.Name; this.queryModel(Name, (res) => { if (res.Total == 0) { let data = { Content: [params] }; // 更改文件夹名称 httputils.postJson(`${baseUrl}/model-folder/update`, data, success) } else { Message.error({ message: '该文件夹已经存在!' }); } }) }, //查询模型文件夹 /** * @param Name string 注:查询多个 Name = '' */ queryModel(Name, success) { let data = null; if (Name) { // 单个查询 data = { Filters: `Name='${Name}'`, Orders: "Name asc" } } else { // 多个查询 data = { Orders: "Name asc" } } return httputils.postJson(`${baseUrl}/model-folder/query`, data, success) }, //以下是楼层文件接口 // 查询模型文件夹下的所有模型文件 queryFloorList(data, success) { let Filters = `FolderId='${data.FolderId}'`; if (data.FloorName) { Filters = `FolderId='${data.FolderId}';FloorName='${data.FloorName}';ProjectId='${data.ProjectId}'`; } if (data.Status) { Filters += `;Status in [${data.Status}]` } let params = { Filters: Filters } return httputils.postJson(`${baseUrl}/model-floor/query-list`, params, success) }, // 查询模型文件夹下的单个模型文件 queryFloorItem(data, success) { let Filters = `FolderId='${data.FolderId}'`; if (data.FloorName) { Filters = `FolderId='${data.FolderId}';FloorName='${data.FloorName}';ProjectId='${data.ProjectId}'`; } let params = { Filters: Filters } return httputils.postJson(`${baseUrl}/model-floor/query`, params, success) }, // 创建楼层 // createFloor(params) { // // 判断该楼层是否存在 // let data = { // Content: [{ // FolderId: params.FolderId, // FloorName: params.FloorName, // ProjectId: params.ProjectId, //项目id // }] // }; // return new Promise((resolve, preject) => { // this.queryFloorItem(params, (res) => { // if (res.Total == 0) { // // 创建楼层 // httputils.postJson(`${baseUrl}/model-floor/create`, data, (res) => { // let modelFile = { // Content: [{ // // ProjectId: params.ProjectId, //项目id // FloorModelId: res.EntityList[0].Id, //模型所属楼层(FloorModel外键) // ModelName: params.Form.file.name, //模型文件名 // UserName: params.userName, // UserId: params.userId, // Note: params.Form.desc // // ReplaceReason: 0 // }] // } // //创建模型文件 // this.createModelFile(modelFile, (createModelRes) => { // // 与此楼文件进行绑定 // let upDateModelData = { // Content: [{ // Id: res.EntityList[0].Id, //id // CurrentModelId: createModelRes.EntityList[0].Id //该楼层当前的模型id // }] // } // this.updateFloorName(upDateModelData, (upDateModelSucess) => { // if (upDateModelSucess.Result == "success") { // resolve({ // Result: 'success', // FloorModelId: res.EntityList[0].Id, //楼层模型文件 // CurrentModelId: createModelRes.EntityList[0].Id //模型文件id // }) // } // }) // }) // }) // } else { // let modelFile = { // Content: [{ // // ProjectId: params.ProjectId, //项目id // FloorModelId: res.Content[0].Id, //模型所属楼层(FloorModel外键) // ModelName: params.Form.file.name, //模型文件名 // UserName: params.userName, // UserId: params.userId, // Note: params.Form.desc // // ReplaceReason: 0 // }] // } // //创建模型文件 // this.createModelFile(modelFile, (createModelRes) => { // // 与此楼文件进行绑定 // let upDateModelData = { // Content: [{ // Id: res.Content[0].Id, //id // CurrentModelId: createModelRes.EntityList[0].Id //该楼层当前的模型id // }] // } // this.updateFloorName(upDateModelData, (upDateModelSucess) => { // if (upDateModelSucess.Result == "success") { // resolve({ // Result: 'success', // FloorModelId: res.Content[0].Id, //楼层模型文件 // CurrentModelId: createModelRes.EntityList[0].Id //模型文件id // }) // } // }) // }) // } // }) // }) // }, // 删除楼层文件 deleteFloor(data) { return httputils.postJson(`${baseUrl}/model-floor/delete`, data) }, //编辑楼层文件的名字 updateFloorName(data, success) { return httputils.postJson(`${baseUrl}/model-floor/update`, data, success) }, //以下是楼层文件接口 // 创建模型文件 createModelFile(data, success) { return httputils.postJson(`${baseUrl}/model-file/create`, data, success) }, //删除模型文件(只有记录,文件不动) deleteModelFile(data, success) { return httputils.postJson(`${baseUrl}/model-file/delete`, data, success) }, /** * info: 删除模型文件 * @param {*} params string 模型文件的id * @param {*} success 成功的回调函数 */ deleteModelFileList(params, success) { let data = { Id:params.Id, Force: params.Force?params.Force:false } return httputils.postJson(`${baseUrl}/model-file/delete-file`, data, success) }, //查询模型文件 queryModelFile(FloorModelId, success) { let params = { Distince: true, Filters: `FloorModelId='${FloorModelId}';Removed=false` } return httputils.postJson(`${baseUrl}/model-file/query`, params, success) }, // 上传模型文件 // uploadModelFile(payload, ProjectId,callback1, callback2) { // axios({ // url: baseUrl + '/model-file/upload', // method: 'post', // headers: { // ProjectId: ProjectId // }, // onUploadProgress: function (progressEvent) { //原生获取上传进度的事件 // if (progressEvent.lengthComputable) { // //属性lengthComputable主要表明总共需要完成的工作量和已经完成的工作是否可以被测量 // //如果lengthComputable为false,就获取不到progressEvent.total和progressEvent.loaded // callback1(progressEvent); // } // }, // data: payload // }).then(res => { // callback2(res); // }).catch(error => { // console.log('this is a catch') // console.log(error) // }) // }, //准备分片上传模型文件接口 modelFileUpload(data, success) { return httputils.postJson(`${baseUrl}/model-file/upload`, data, success) }, mergeModelFile(data, success) { return httputils.postJson(`${baseUrl}/model-file/merge`, data, success) } // 更新模型文件 // upDateModelFile(data, ProjectId, UserName, UserId, callback1, callback2) { // let modelFile = { // Content: [{ // FloorModelId:data.replaceModelItem.Id, //模型id // ModelName: data.Form.file.name, //模型名字 // UserName: UserName, // UserId: UserId, // Note: data.replaceModelItem.Note, // ReplaceReason: data.Form.ReplaceReason // }] // } // // //创建模型文件 // this.createModelFile(modelFile, (createModelRes) => { // // 与此楼文件进行绑定 // let upDateModelData = { // Content: [{ // Id:data.replaceModelItem.Id, //楼层 // CurrentModelId: createModelRes.EntityList[0].Id // }] // } // this.updateFloorName(upDateModelData, (upDateModelSucess) => { // if (upDateModelSucess.Result == "success") { // // 处理数据 // let formData = new FormData(); // formData.append( // "model", // JSON.stringify({ // FloorModelId: data.replaceModelItem.Id, // Id:createModelRes.EntityList[0].Id // }) // ); // formData.append("file", data.Form.file.raw); // this.uploadModelFile(formData,ProjectId,callback1,callback2) // } // }) // }) // } } export default api //楼层与平面图绑定 export function bindFloorModel(param, success) { let url = `${baseUrl}/model-floor/bind`; httputils.postJson(url, param, success) } //根据模型id 获取模型文件夹及文件名 export function getFileNameById(param, success) { let url = `${baseUrl}/model-folder/get-name`; httputils.postJson(url, param, success) } // 根据条件查询统计数量 export function countSyncLogCount(param, success) { let url = `${baseUrl}/sync-log/count`; httputils.postJson(url, param, success) } // 查询同步日志 export function querySyncLogCount(param, success) { let url = `${baseUrl}/sync-log/query`; httputils.postJson(url, param, success) } // 查询模型文件 export function queryFileByModelId(param, success) { let url = `${baseUrl}/model-file/query`; httputils.postJson(url, param, success) } // 模型流程监控 export function modelPathControl(param, success) { let url = `${baseUrl}/model-monitor/query`; httputils.postJson(url, param, success) } // 模型流程监控-获取待分配模型数量 export function unassignQuery(param, success) { let url = `${revitUrl}/task/query`; httputils.postJson(url, param, success) }