file.js 12 KB

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