123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287 |
- import httputils from '@/api/scan/httpUtil'
- import { Message } from 'element-ui';
- const baseUrl = '/modelapi';
- import axios from 'axios'
- 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}'`
- }
- } else {
- // 多个查询
- data = {}
- }
- 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}'`;
- }
- 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,
- 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,
- 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
- }
- return httputils.postJson(`${baseUrl}/model-file/delete-file`, data, success)
- },
- //查询模型文件
- queryModelFile(FloorModelId, success) {
- let params = {
- Distince: true,
- Filters: `FloorModelId='${FloorModelId}'`
- }
- 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)
- })
- },
- // 更新模型文件
- upDateModelFile(data, ProjectId,UserName, callback1, callback2) {
- let modelFile = {
- Content: [{
- FloorModelId:data.replaceModelItem.Id, //模型id
- ModelName: data.Form.file.name, //模型名字
- UserName: UserName,
- 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)
- }
|