sceneOperate.ts 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. import { http } from '@/utils/http/axios';
  2. import { WorkShopTempleteType } from './secene-templet';
  3. // 传入参数类型 还缺个场景list
  4. export interface ComAddDatas {
  5. code?: string; //公司编码
  6. createdAt?: string; //创建时间
  7. id?: number; //新增后返回的唯一com的id
  8. isDeleted?: number; //是否删除
  9. name: string; //公司名字
  10. parentId?: number; //上级公司id 无上级为0
  11. remark?: string; //描述
  12. status?: number; //状态 0-启动 1-禁用
  13. updatedAt?: string;
  14. serial?: number; //排序
  15. labelList?: string[]; //创建的多个场景标签 自定义后面需要修改 这里没
  16. parent?: null | ComAddDatas;
  17. longitude?: number; //经度
  18. latitude?: number; //纬度
  19. }
  20. /**
  21. * @description: 添加公司
  22. */
  23. export const addCompany = (data: ComAddDatas): Promise<number> => {
  24. return http.request({
  25. url: '/scene/saveCompany',
  26. method: 'post',
  27. data,
  28. });
  29. };
  30. /**
  31. * @description: 编辑公司
  32. */
  33. export const editCompany = (data: ComAddDatas): Promise<number> => {
  34. return http.request({
  35. url: '/scene/updateCompany',
  36. method: 'put',
  37. data,
  38. });
  39. };
  40. /**
  41. * @description: 删除公司
  42. */
  43. export const delCompany = (companyId: number) => {
  44. return http.request({
  45. url: `/scene/deleteCompany?companyId=${companyId}`,
  46. method: 'DELETE',
  47. });
  48. };
  49. // 传入参数类型
  50. export interface WorkshopAddDatas {
  51. code?: string;
  52. companyId?: number; //公司id
  53. sceneLabelId?: number; //类型 1-车间 2-危险点 3-物流 4-生活园区
  54. createdAt?: string;
  55. id?: number;
  56. isDeleted?: number;
  57. name: string;
  58. remark?: string;
  59. status?: number;
  60. updatedAt?: string;
  61. serial?: number;
  62. parent?: null | WorkshopAddDatas;
  63. workshopModule?: WorkShopTempleteType;
  64. labelList?: WorkShopTempleteType[];
  65. longitude?: number; //经度
  66. latitude?: number; //纬度
  67. // templete?: string; //车间模板
  68. // tag?: string; //场景标签
  69. }
  70. /**
  71. * @description: 添加车间
  72. */
  73. export const addWorkshop = (data: WorkshopAddDatas): Promise<number> => {
  74. return http.request({
  75. url: '/scene/saveWorkshop',
  76. method: 'post',
  77. data,
  78. });
  79. };
  80. /**
  81. * @description: 编辑车间
  82. */
  83. export const editWorkshop = (data: WorkshopAddDatas): Promise<number> => {
  84. return http.request({
  85. url: '/scene/updateWorkshop',
  86. method: 'put',
  87. data,
  88. });
  89. };
  90. /**
  91. * @description: 删除车间
  92. */
  93. export const delWorkshop = (workshopId: number) => {
  94. return http.request({
  95. url: `/scene/deleteWorkshop?workshopId=${workshopId}`,
  96. method: 'DELETE',
  97. });
  98. };
  99. // 传入参数类型
  100. export interface WorkspaceAddDatas {
  101. code?: string;
  102. createdAt?: string;
  103. id?: number;
  104. isDeleted?: number;
  105. name: string;
  106. principal?: string; //工位负责人
  107. remark?: string;
  108. status?: number;
  109. serial?: number;
  110. updatedAt?: string;
  111. workshopId?: number; //车间id
  112. parent?: null | WorkspaceAddDatas;
  113. longitude?: number; //经度
  114. latitude?: number; //纬度
  115. // tag?: string; //场景标签
  116. }
  117. /**
  118. * @description: 添加工位
  119. */
  120. export const addWorkspace = (data: WorkspaceAddDatas): Promise<number> => {
  121. return http.request({
  122. url: '/scene/saveWorkspace',
  123. method: 'post',
  124. data,
  125. });
  126. };
  127. /**
  128. * @description: 编辑工位
  129. */
  130. export const editWorkspace = (data: WorkspaceAddDatas): Promise<number> => {
  131. return http.request({
  132. url: '/scene/updateWorkspace',
  133. method: 'put',
  134. data,
  135. });
  136. };
  137. /**
  138. * @description: 删除工位
  139. */
  140. export const delWorkspace = (workspaceId: number) => {
  141. return http.request({
  142. url: `/scene/deleteWorkspace?workspaceId=${workspaceId}`,
  143. method: 'DELETE',
  144. });
  145. };
  146. //获取列表
  147. // 传入参数类型
  148. export interface SceneListType<T, S> {
  149. code?: string;
  150. createdAt?: string;
  151. id?: number;
  152. isDeleted?: number;
  153. name?: string;
  154. parentId?: number;
  155. remark?: string;
  156. status?: number;
  157. serial?: number;
  158. updatedAt?: string;
  159. children?: T[]; //车间-工位信息
  160. labelList?: S[]; //创建的多个场景标签
  161. moduleList?: S[]; //创建得多个模板
  162. }
  163. export interface LabelModuleListType {
  164. code?: string;
  165. createdAt?: string;
  166. id?: number;
  167. isDeleted?: number;
  168. name?: string;
  169. remark?: string;
  170. status?: number;
  171. updatedAt?: string;
  172. }
  173. export interface GetListWorkshop<U, A> {
  174. code?: string;
  175. companyId?: number; //公司id
  176. sceneLabelId?: number; //类型 1-车间 2-危险点 3-物流 4-生活园区
  177. labelName?: string;
  178. createdAt?: string;
  179. id?: number;
  180. isDeleted?: number;
  181. name?: string;
  182. remark?: string;
  183. serial?: number;
  184. status?: number;
  185. updatedAt?: string;
  186. children?: U[]; //工位信息
  187. workshopModule?: A; //车间模板
  188. // tag?: string; //场景标签 自定义 后面需要修改
  189. }
  190. export const getSceneList = (): Promise<
  191. SceneListType<GetListWorkshop<WorkspaceAddDatas, WorkShopTempleteType>, LabelModuleListType>[]
  192. > => {
  193. return http.request({
  194. url: '/scene/getList',
  195. method: 'get',
  196. });
  197. };
  198. //排序列表
  199. export const sortSceneList = (
  200. data: SceneListType<
  201. GetListWorkshop<WorkspaceAddDatas, WorkShopTempleteType>,
  202. LabelModuleListType
  203. >[],
  204. ) => {
  205. return http.request({
  206. url: '/scene/updateSort',
  207. method: 'put',
  208. data,
  209. });
  210. };