file.js 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350
  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. }
  88. return httputils.postJson(`${baseUrl}/model-floor/query-list`, params, success)
  89. },
  90. // 查询模型文件夹下的单个模型文件
  91. queryFloorItem(data, success) {
  92. let Filters = `FolderId='${data.FolderId}'`;
  93. if (data.FloorName) {
  94. Filters = `FolderId='${data.FolderId}';FloorName='${data.FloorName}';ProjectId='${data.ProjectId}'`;
  95. }
  96. let params = {
  97. Filters: Filters
  98. }
  99. return httputils.postJson(`${baseUrl}/model-floor/query`, params, success)
  100. },
  101. // 创建楼层
  102. // createFloor(params) {
  103. // // 判断该楼层是否存在
  104. // let data = {
  105. // Content: [{
  106. // FolderId: params.FolderId,
  107. // FloorName: params.FloorName,
  108. // ProjectId: params.ProjectId, //项目id
  109. // }]
  110. // };
  111. // return new Promise((resolve, preject) => {
  112. // this.queryFloorItem(params, (res) => {
  113. // if (res.Total == 0) {
  114. // // 创建楼层
  115. // httputils.postJson(`${baseUrl}/model-floor/create`, data, (res) => {
  116. // let modelFile = {
  117. // Content: [{
  118. // // ProjectId: params.ProjectId, //项目id
  119. // FloorModelId: res.EntityList[0].Id, //模型所属楼层(FloorModel外键)
  120. // ModelName: params.Form.file.name, //模型文件名
  121. // UserName: params.userName,
  122. // UserId: params.userId,
  123. // Note: params.Form.desc
  124. // // ReplaceReason: 0
  125. // }]
  126. // }
  127. // //创建模型文件
  128. // this.createModelFile(modelFile, (createModelRes) => {
  129. // // 与此楼文件进行绑定
  130. // let upDateModelData = {
  131. // Content: [{
  132. // Id: res.EntityList[0].Id, //id
  133. // CurrentModelId: createModelRes.EntityList[0].Id //该楼层当前的模型id
  134. // }]
  135. // }
  136. // this.updateFloorName(upDateModelData, (upDateModelSucess) => {
  137. // if (upDateModelSucess.Result == "success") {
  138. // resolve({
  139. // Result: 'success',
  140. // FloorModelId: res.EntityList[0].Id, //楼层模型文件
  141. // CurrentModelId: createModelRes.EntityList[0].Id //模型文件id
  142. // })
  143. // }
  144. // })
  145. // })
  146. // })
  147. // } else {
  148. // let modelFile = {
  149. // Content: [{
  150. // // ProjectId: params.ProjectId, //项目id
  151. // FloorModelId: res.Content[0].Id, //模型所属楼层(FloorModel外键)
  152. // ModelName: params.Form.file.name, //模型文件名
  153. // UserName: params.userName,
  154. // UserId: params.userId,
  155. // Note: params.Form.desc
  156. // // ReplaceReason: 0
  157. // }]
  158. // }
  159. // //创建模型文件
  160. // this.createModelFile(modelFile, (createModelRes) => {
  161. // // 与此楼文件进行绑定
  162. // let upDateModelData = {
  163. // Content: [{
  164. // Id: res.Content[0].Id, //id
  165. // CurrentModelId: createModelRes.EntityList[0].Id //该楼层当前的模型id
  166. // }]
  167. // }
  168. // this.updateFloorName(upDateModelData, (upDateModelSucess) => {
  169. // if (upDateModelSucess.Result == "success") {
  170. // resolve({
  171. // Result: 'success',
  172. // FloorModelId: res.Content[0].Id, //楼层模型文件
  173. // CurrentModelId: createModelRes.EntityList[0].Id //模型文件id
  174. // })
  175. // }
  176. // })
  177. // })
  178. // }
  179. // })
  180. // })
  181. // },
  182. // 删除楼层文件
  183. deleteFloor(data) {
  184. return httputils.postJson(`${baseUrl}/model-floor/delete`, data)
  185. },
  186. //编辑楼层文件的名字
  187. updateFloorName(data, success) {
  188. return httputils.postJson(`${baseUrl}/model-floor/update`, data, success)
  189. },
  190. //以下是楼层文件接口
  191. // 创建模型文件
  192. createModelFile(data, success) {
  193. return httputils.postJson(`${baseUrl}/model-file/create`, data, success)
  194. },
  195. //删除模型文件(只有记录,文件不动)
  196. deleteModelFile(data, success) {
  197. return httputils.postJson(`${baseUrl}/model-file/delete`, data, success)
  198. },
  199. /**
  200. * info: 删除模型文件
  201. * @param {*} params string 模型文件的id
  202. * @param {*} success 成功的回调函数
  203. */
  204. deleteModelFileList(params, success) {
  205. let data = {
  206. Id:params.Id,
  207. Force: params.Force?params.Force:false
  208. }
  209. return httputils.postJson(`${baseUrl}/model-file/delete-file`, data, success)
  210. },
  211. //查询模型文件
  212. queryModelFile(FloorModelId, success) {
  213. let params = {
  214. Distince: true,
  215. Filters: `FloorModelId='${FloorModelId}';Removed=false`
  216. }
  217. return httputils.postJson(`${baseUrl}/model-file/query`, params, success)
  218. },
  219. // 上传模型文件
  220. // uploadModelFile(payload, ProjectId,callback1, callback2) {
  221. // axios({
  222. // url: baseUrl + '/model-file/upload',
  223. // method: 'post',
  224. // headers: {
  225. // ProjectId: ProjectId
  226. // },
  227. // onUploadProgress: function (progressEvent) { //原生获取上传进度的事件
  228. // if (progressEvent.lengthComputable) {
  229. // //属性lengthComputable主要表明总共需要完成的工作量和已经完成的工作是否可以被测量
  230. // //如果lengthComputable为false,就获取不到progressEvent.total和progressEvent.loaded
  231. // callback1(progressEvent);
  232. // }
  233. // },
  234. // data: payload
  235. // }).then(res => {
  236. // callback2(res);
  237. // }).catch(error => {
  238. // console.log('this is a catch')
  239. // console.log(error)
  240. // })
  241. // },
  242. //准备分片上传模型文件接口
  243. modelFileUpload(data, success) {
  244. return httputils.postJson(`${baseUrl}/model-file/upload`, data, success)
  245. },
  246. mergeModelFile(data, success) {
  247. return httputils.postJson(`${baseUrl}/model-file/merge`, data, success)
  248. }
  249. // 更新模型文件
  250. // upDateModelFile(data, ProjectId, UserName, UserId, callback1, callback2) {
  251. // let modelFile = {
  252. // Content: [{
  253. // FloorModelId:data.replaceModelItem.Id, //模型id
  254. // ModelName: data.Form.file.name, //模型名字
  255. // UserName: UserName,
  256. // UserId: UserId,
  257. // Note: data.replaceModelItem.Note,
  258. // ReplaceReason: data.Form.ReplaceReason
  259. // }]
  260. // }
  261. // // //创建模型文件
  262. // this.createModelFile(modelFile, (createModelRes) => {
  263. // // 与此楼文件进行绑定
  264. // let upDateModelData = {
  265. // Content: [{
  266. // Id:data.replaceModelItem.Id, //楼层
  267. // CurrentModelId: createModelRes.EntityList[0].Id
  268. // }]
  269. // }
  270. // this.updateFloorName(upDateModelData, (upDateModelSucess) => {
  271. // if (upDateModelSucess.Result == "success") {
  272. // // 处理数据
  273. // let formData = new FormData();
  274. // formData.append(
  275. // "model",
  276. // JSON.stringify({
  277. // FloorModelId: data.replaceModelItem.Id,
  278. // Id:createModelRes.EntityList[0].Id
  279. // })
  280. // );
  281. // formData.append("file", data.Form.file.raw);
  282. // this.uploadModelFile(formData,ProjectId,callback1,callback2)
  283. // }
  284. // })
  285. // })
  286. // }
  287. }
  288. export default api
  289. //楼层与平面图绑定
  290. export function bindFloorModel(param, success) {
  291. let url = `${baseUrl}/model-floor/bind`;
  292. httputils.postJson(url, param, success)
  293. }
  294. //根据模型id 获取模型文件夹及文件名
  295. export function getFileNameById(param, success) {
  296. let url = `${baseUrl}/model-folder/get-name`;
  297. httputils.postJson(url, param, success)
  298. }
  299. // 根据条件查询统计数量
  300. export function countSyncLogCount(param, success) {
  301. let url = `${baseUrl}/sync-log/count`;
  302. httputils.postJson(url, param, success)
  303. }
  304. // 查询同步日志
  305. export function querySyncLogCount(param, success) {
  306. let url = `${baseUrl}/sync-log/query`;
  307. httputils.postJson(url, param, success)
  308. }
  309. // 查询模型文件
  310. export function queryFileByModelId(param, success) {
  311. let url = `${baseUrl}/model-file/query`;
  312. httputils.postJson(url, param, success)
  313. }
  314. // 模型流程监控
  315. export function modelPathControl(param, success) {
  316. let url = `${baseUrl}/model-monitor/query`;
  317. httputils.postJson(url, param, success)
  318. }
  319. // 模型流程监控-获取待分配模型数量
  320. export function unassignQuery(param, success) {
  321. let url = `${revitUrl}/task/query`;
  322. httputils.postJson(url, param, success)
  323. }
  324. // 根据条件查询统计数量
  325. export function countModel(params, success) {
  326. return httputils.postJson(`${baseUrl}/model-file/count`, params, success)
  327. }