file.js 12 KB

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