file.js 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304
  1. import httputils from '@/api/scan/httpUtil'
  2. import { Message } from 'element-ui';
  3. import axios from 'axios'
  4. const baseUrl = '/modelapi';
  5. let api = {
  6. // 新建模型文件夹
  7. /**
  8. *
  9. * @param {Name:string,ProjectId:string} params
  10. */
  11. createModel(params, success) {
  12. let Name = params.Name;
  13. this.queryModel(Name, (res) => {
  14. if (res.Total == 0) {
  15. let data = {
  16. Content: [params]
  17. };
  18. // 查询是否有该模型文件夹
  19. // 创建
  20. httputils.postJson(`${baseUrl}/model-folder/create`, data, success)
  21. } else {
  22. Message.error({ message: '该文件夹已经存在!' });
  23. }
  24. })
  25. },
  26. //删除模型文件夹
  27. /**
  28. *
  29. * @param {Id:string} params
  30. */
  31. deleteModel(params, success) {
  32. let Content = [params];
  33. httputils.postJson(`${baseUrl}/model-folder/delete`, Content, success)
  34. },
  35. //修改模型文件夹名称
  36. /**
  37. *
  38. * @param {Name:string,ProjectId:string} params
  39. */
  40. updateModelName(params, success) {
  41. let Name = params.Name;
  42. this.queryModel(Name, (res) => {
  43. if (res.Total == 0) {
  44. let data = {
  45. Content: [params]
  46. };
  47. // 更改文件夹名称
  48. httputils.postJson(`${baseUrl}/model-folder/update`, data, success)
  49. } else {
  50. Message.error({ message: '该文件夹已经存在!' });
  51. }
  52. })
  53. },
  54. //查询模型文件夹
  55. /**
  56. * @param Name string 注:查询多个 Name = ''
  57. */
  58. queryModel(Name, success) {
  59. let data = null;
  60. if (Name) {
  61. // 单个查询
  62. data = {
  63. Filters: `Name='${Name}'`
  64. }
  65. } else {
  66. // 多个查询
  67. data = {}
  68. }
  69. return httputils.postJson(`${baseUrl}/model-folder/query`, data, success)
  70. },
  71. //以下是楼层文件接口
  72. // 查询模型文件夹下的所有模型文件
  73. queryFloorList(data, success) {
  74. let Filters = `FolderId='${data.FolderId}'`;
  75. if (data.FloorName) {
  76. Filters = `FolderId='${data.FolderId}';FloorName='${data.FloorName}';ProjectId='${data.ProjectId}'`;
  77. }
  78. if (data.Status) {
  79. Filters += `;Status in [${data.Status}]`
  80. }
  81. let params = {
  82. Filters: Filters
  83. }
  84. return httputils.postJson(`${baseUrl}/model-floor/query-list`, params, success)
  85. },
  86. // 查询模型文件夹下的单个模型文件
  87. queryFloorItem(data, success) {
  88. let Filters = `FolderId='${data.FolderId}'`;
  89. if (data.FloorName) {
  90. Filters = `FolderId='${data.FolderId}';FloorName='${data.FloorName}';ProjectId='${data.ProjectId}'`;
  91. }
  92. let params = {
  93. Filters: Filters
  94. }
  95. return httputils.postJson(`${baseUrl}/model-floor/query`, params, success)
  96. },
  97. // 创建楼层
  98. // createFloor(params) {
  99. // // 判断该楼层是否存在
  100. // let data = {
  101. // Content: [{
  102. // FolderId: params.FolderId,
  103. // FloorName: params.FloorName,
  104. // ProjectId: params.ProjectId, //项目id
  105. // }]
  106. // };
  107. // return new Promise((resolve, preject) => {
  108. // this.queryFloorItem(params, (res) => {
  109. // if (res.Total == 0) {
  110. // // 创建楼层
  111. // httputils.postJson(`${baseUrl}/model-floor/create`, data, (res) => {
  112. // let modelFile = {
  113. // Content: [{
  114. // // ProjectId: params.ProjectId, //项目id
  115. // FloorModelId: res.EntityList[0].Id, //模型所属楼层(FloorModel外键)
  116. // ModelName: params.Form.file.name, //模型文件名
  117. // UserName: params.userName,
  118. // UserId: params.userId,
  119. // Note: params.Form.desc
  120. // // ReplaceReason: 0
  121. // }]
  122. // }
  123. // //创建模型文件
  124. // this.createModelFile(modelFile, (createModelRes) => {
  125. // // 与此楼文件进行绑定
  126. // let upDateModelData = {
  127. // Content: [{
  128. // Id: res.EntityList[0].Id, //id
  129. // CurrentModelId: createModelRes.EntityList[0].Id //该楼层当前的模型id
  130. // }]
  131. // }
  132. // this.updateFloorName(upDateModelData, (upDateModelSucess) => {
  133. // if (upDateModelSucess.Result == "success") {
  134. // resolve({
  135. // Result: 'success',
  136. // FloorModelId: res.EntityList[0].Id, //楼层模型文件
  137. // CurrentModelId: createModelRes.EntityList[0].Id //模型文件id
  138. // })
  139. // }
  140. // })
  141. // })
  142. // })
  143. // } else {
  144. // let modelFile = {
  145. // Content: [{
  146. // // ProjectId: params.ProjectId, //项目id
  147. // FloorModelId: res.Content[0].Id, //模型所属楼层(FloorModel外键)
  148. // ModelName: params.Form.file.name, //模型文件名
  149. // UserName: params.userName,
  150. // UserId: params.userId,
  151. // Note: params.Form.desc
  152. // // ReplaceReason: 0
  153. // }]
  154. // }
  155. // //创建模型文件
  156. // this.createModelFile(modelFile, (createModelRes) => {
  157. // // 与此楼文件进行绑定
  158. // let upDateModelData = {
  159. // Content: [{
  160. // Id: res.Content[0].Id, //id
  161. // CurrentModelId: createModelRes.EntityList[0].Id //该楼层当前的模型id
  162. // }]
  163. // }
  164. // this.updateFloorName(upDateModelData, (upDateModelSucess) => {
  165. // if (upDateModelSucess.Result == "success") {
  166. // resolve({
  167. // Result: 'success',
  168. // FloorModelId: res.Content[0].Id, //楼层模型文件
  169. // CurrentModelId: createModelRes.EntityList[0].Id //模型文件id
  170. // })
  171. // }
  172. // })
  173. // })
  174. // }
  175. // })
  176. // })
  177. // },
  178. // 删除楼层文件
  179. deleteFloor(data) {
  180. return httputils.postJson(`${baseUrl}/model-floor/delete`, data)
  181. },
  182. //编辑楼层文件的名字
  183. updateFloorName(data, success) {
  184. return httputils.postJson(`${baseUrl}/model-floor/update`, data, success)
  185. },
  186. //以下是楼层文件接口
  187. // 创建模型文件
  188. createModelFile(data, success) {
  189. return httputils.postJson(`${baseUrl}/model-file/create`, data, success)
  190. },
  191. //删除模型文件(只有记录,文件不动)
  192. deleteModelFile(data, success) {
  193. return httputils.postJson(`${baseUrl}/model-file/delete`, data, success)
  194. },
  195. /**
  196. * info: 删除模型文件
  197. * @param {*} params string 模型文件的id
  198. * @param {*} success 成功的回调函数
  199. */
  200. deleteModelFileList(params, success) {
  201. let data = {
  202. Id:params
  203. }
  204. return httputils.postJson(`${baseUrl}/model-file/delete-file`, data, success)
  205. },
  206. //查询模型文件
  207. queryModelFile(FloorModelId, success) {
  208. let params = {
  209. Distince: true,
  210. Filters: `FloorModelId='${FloorModelId}'`
  211. }
  212. return httputils.postJson(`${baseUrl}/model-file/query`, params, success)
  213. },
  214. // 上传模型文件
  215. // uploadModelFile(payload, ProjectId,callback1, callback2) {
  216. // axios({
  217. // url: baseUrl + '/model-file/upload',
  218. // method: 'post',
  219. // headers: {
  220. // ProjectId: ProjectId
  221. // },
  222. // onUploadProgress: function (progressEvent) { //原生获取上传进度的事件
  223. // if (progressEvent.lengthComputable) {
  224. // //属性lengthComputable主要表明总共需要完成的工作量和已经完成的工作是否可以被测量
  225. // //如果lengthComputable为false,就获取不到progressEvent.total和progressEvent.loaded
  226. // callback1(progressEvent);
  227. // }
  228. // },
  229. // data: payload
  230. // }).then(res => {
  231. // callback2(res);
  232. // }).catch(error => {
  233. // console.log('this is a catch')
  234. // console.log(error)
  235. // })
  236. // },
  237. //准备分片上传模型文件接口
  238. modelFileUpload(data, success) {
  239. return httputils.postJson(`${baseUrl}/model-file/upload`, data, success)
  240. },
  241. mergeModelFile(data, success) {
  242. return httputils.postJson(`${baseUrl}/model-file/merge`, data, success)
  243. }
  244. // 更新模型文件
  245. // upDateModelFile(data, ProjectId, UserName, UserId, callback1, callback2) {
  246. // let modelFile = {
  247. // Content: [{
  248. // FloorModelId:data.replaceModelItem.Id, //模型id
  249. // ModelName: data.Form.file.name, //模型名字
  250. // UserName: UserName,
  251. // UserId: UserId,
  252. // Note: data.replaceModelItem.Note,
  253. // ReplaceReason: data.Form.ReplaceReason
  254. // }]
  255. // }
  256. // // //创建模型文件
  257. // this.createModelFile(modelFile, (createModelRes) => {
  258. // // 与此楼文件进行绑定
  259. // let upDateModelData = {
  260. // Content: [{
  261. // Id:data.replaceModelItem.Id, //楼层
  262. // CurrentModelId: createModelRes.EntityList[0].Id
  263. // }]
  264. // }
  265. // this.updateFloorName(upDateModelData, (upDateModelSucess) => {
  266. // if (upDateModelSucess.Result == "success") {
  267. // // 处理数据
  268. // let formData = new FormData();
  269. // formData.append(
  270. // "model",
  271. // JSON.stringify({
  272. // FloorModelId: data.replaceModelItem.Id,
  273. // Id:createModelRes.EntityList[0].Id
  274. // })
  275. // );
  276. // formData.append("file", data.Form.file.raw);
  277. // this.uploadModelFile(formData,ProjectId,callback1,callback2)
  278. // }
  279. // })
  280. // })
  281. // }
  282. }
  283. export default api
  284. //楼层与平面图绑定
  285. export function bindFloorModel(param, success) {
  286. let url = `${baseUrl}/model-floor/bind`;
  287. httputils.postJson(url, param, success)
  288. }