webApi.ts 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. import request from "@/utils/axiosReq";
  2. import { CommonQueryResult } from "~/common";
  3. export function Query<T = any>(params): Promise<CommonQueryResult<T>> {
  4. if (NEW_DATACONTENT_ID.includes(params.id)) {
  5. return NewQuery<T>(params);
  6. }
  7. return request({
  8. url: "/openApi/query",
  9. method: "post",
  10. data: params,
  11. });
  12. }
  13. function NewQuery<T = any>(params): Promise<CommonQueryResult<T>> {
  14. return request({
  15. url: "/newOpenApi/search",
  16. method: "post",
  17. data: params,
  18. });
  19. }
  20. export async function myQuery(id, ...dataContent) {
  21. const params = {
  22. id,
  23. dataContent,
  24. };
  25. try {
  26. const result = await Query(params);
  27. if (Number(result.code) === 0) {
  28. return result.returnData.listValues;
  29. } else {
  30. return Promise.reject(result.message);
  31. }
  32. } catch (error) {
  33. return Promise.reject(error);
  34. }
  35. }
  36. export async function htQuery(id, ...dataContent) {
  37. const params = {
  38. id,
  39. dataContent,
  40. };
  41. try {
  42. const result = await Query(params);
  43. if (Number(result.code) === 0) {
  44. return result.returnData;
  45. } else {
  46. return [];
  47. }
  48. } catch (error) {
  49. return [];
  50. }
  51. }
  52. function NewGeneralDataReception(func: any) {
  53. return func;
  54. }
  55. export function GeneralDataReception(params): Promise<CommonQueryResult> {
  56. const { serviceId, dataContent } = params;
  57. if (NEW_SERVICE_ID.includes(serviceId)) {
  58. const newData = JSON.parse(dataContent);
  59. const { event } = newData;
  60. const eventType = event;
  61. let key: any = null;
  62. if (newData?.event) {
  63. delete newData.event;
  64. }
  65. if (eventType == 2) {
  66. for (const item in newData) {
  67. if (item.includes("id") || item.includes("Id") || item.includes("ID")) {
  68. key = item;
  69. }
  70. }
  71. return NewGeneralDataReception(
  72. dataToChange(serviceId, newData, eventType, key)
  73. );
  74. }
  75. return NewGeneralDataReception(dataToChange(serviceId, newData, eventType));
  76. }
  77. return request({
  78. url: "/openApi/generalDataReception",
  79. method: "post",
  80. data: params,
  81. });
  82. }
  83. //增/删/改
  84. export async function dataToChange(
  85. id: number,
  86. data: any,
  87. event: number,
  88. key?: string
  89. ) {
  90. try {
  91. const params = {
  92. serviceId: id,
  93. dataContent: formatChange(data, event, key),
  94. event: `${event}`,
  95. // authId: this.AauthId
  96. };
  97. const { code, message } = await sendData(params);
  98. return { code, message };
  99. } catch (error) {
  100. return { code: 1, message: error };
  101. }
  102. }
  103. function sendData(params) {
  104. return request({
  105. url: "externalApi/openApi/sendData",
  106. method: "post",
  107. data: params,
  108. });
  109. }
  110. //新增
  111. export function newData(params) {
  112. return request({
  113. url: "/externalApi/openApi/sendData",
  114. method: "post",
  115. data: params,
  116. });
  117. }
  118. //修改
  119. export function modifyData(params) {
  120. return request({
  121. url: "/externalApi/openApi/sendData",
  122. method: "post",
  123. data: params,
  124. });
  125. }
  126. //删除movedata
  127. export function moveData(params) {
  128. return request({
  129. url: "/externalApi/openApi/sendData",
  130. method: "post",
  131. data: params,
  132. });
  133. }
  134. function formatChange(data, event, key) {
  135. const datas: any = [];
  136. const flag = Array.isArray(data);
  137. if (flag) {
  138. for (let i = 0; i < data.length; i++) {
  139. let obj: any = {};
  140. if (event == 1) {
  141. obj.Value = data[i];
  142. } else if (event == 2) {
  143. obj.Value = data[i];
  144. obj.filter = {};
  145. if (Array.isArray(key)) {
  146. const keys = <any>[];
  147. const vals = <any>[];
  148. obj.filter = [];
  149. for (let j = 0; j < key.length; j++) {
  150. const dep = key[i];
  151. keys.push(Object.keys(dep));
  152. vals.push(Object.values(dep));
  153. }
  154. const nobj = {
  155. left: "(",
  156. column: `${keys[i]}`,
  157. comparator: "=",
  158. value: `${vals[i]}`,
  159. right: ")",
  160. connector: "and",
  161. };
  162. obj.filter.push(nobj);
  163. if (obj.Value.hasOwnProperty(keys[i])) {
  164. delete obj.Value[keys[i]];
  165. }
  166. } else {
  167. obj.filter[key] = data[i][key];
  168. if (obj.Value[key]) {
  169. delete obj.Value[key];
  170. }
  171. }
  172. } else {
  173. obj = data[i];
  174. }
  175. datas.push(obj);
  176. }
  177. } else {
  178. let obj: any = {};
  179. if (event == 1) {
  180. obj.Value = data;
  181. } else if (event == 2) {
  182. obj.Value = data;
  183. obj.filter = [
  184. {
  185. left: "(",
  186. column: `${key}`,
  187. comparator: "=",
  188. value: `${data[key]}`,
  189. right: ")",
  190. connector: "and",
  191. },
  192. ];
  193. if (obj.Value[key]) {
  194. delete obj.Value[key];
  195. }
  196. } else {
  197. obj = data;
  198. }
  199. datas.push(obj);
  200. }
  201. return datas;
  202. }