config.ts 3.44 KB
import { defHttp } from '/@/utils/http/axios';
import { LoginParams, LoginResultModel } from './model/userModel';
import axios from 'axios';

import { ErrorMessageMode } from '/#/axios';
import { func } from 'vue-types';
import { JsonPreview } from '/@/components/CodeEditor';
import { assign } from 'xe-utils';

enum Api {
  // Login = '/login',
  LIST = '/order/erp/system_setting/query_list',
  EDIT = '/order/erp/system_setting/edit',
  ADD = '/order/erp/system_setting/add',
  DELETE = '/order/erp/system_setting/delete_by_id',

  //邮件配置发送
  EMAIL_LIST = '/order/erp/receive_email_mapping/list',
  EMAIL_DELETE = '/order/erp/receive_email_mapping/delete_by_id',
  EMAIL_OPT = '/order/erp/receive_email_mapping/opt',
  EMAIL_CREATE = '/order/erp/receive_email_mapping/add',
  EMAIL_EDIT = '/order/erp/receive_email_mapping/edit',
}

export async function getList(params: LoginParams, mode: ErrorMessageMode = 'modal') {
  const res = await defHttp.post<LoginResultModel>(
    {
      url: Api.LIST,
      params,
    },
    {
      errorMessageMode: mode,
    },
  );
  return new Promise((resolve) => {
    resolve({
      items: res?.sort((a, b) => a.settingValue.localeCompare(b.settingValue)) || [],
    });
  });
}
export function saveConfig(params: LoginParams) {
  return defHttp.post<LoginResultModel>(
    {
      url: Api.EDIT,
      params,
    },
    {
      message: '保存成功',
    },
  );
}

export function addConfig(params: LoginParams) {
  return defHttp.post<LoginResultModel>(
    {
      url: Api.ADD,
      params,
    },
    {
      message: '新建成功',
    },
  );
}

export function deleteConfig(params: LoginParams) {
  return defHttp.post<LoginResultModel>(
    {
      url: Api.DELETE,
      params,
    },
    {
      message: '删除成功',
    },
  );
}

// export const getEmailList = async (data: any) => {
//   console.log(666777888);
//   const res = await defHttp.post<any>({ url: Api.EMAIL_LIST, data });
//   return res;
//   // return new Promise((resolve) => {
//   //   resolve({
//   //     items: res?.sort((a, b) => a.settingValue.localeCompare(b.settingValue)) || [],
//   //   });
//   // });
// };

export const getEmailList = async (params: any) => {
  const res = await defHttp.post<any>({
    url: Api.EMAIL_LIST,
    params,
  });
  console.log(res, 111222);
  const resAll = dealRecords(res.records);
  console.log(resAll, 111222);
  return resAll;
};

function dealRecords(data: any) {
  console.log(data, 111222);
  for (const value of data) {
    const emailEvents = JSON.parse(value.configInfos);
    value.configInfos = emailEvents;
    for (const value2 of value.configInfos) {
      const eventAccept = value2.fieldValue;
      const emails: string[] = value2.emails;
      const emailString: string = emails.join(',');
      value[eventAccept] = emailString;
    }
  }
  return data;
}

export const emailOpt = async (params: any) => {
  return defHttp.post<any>(
    {
      url: Api.EMAIL_OPT,
      params,
    },
    { message: '操作成功' },
  );
};

export const emailDelete = async (params: any) => {
  return defHttp.post<any>({
    url: Api.EMAIL_DELETE,
    params,
  });
};

export const emailEdit = async (params: any) => {
  return defHttp.post<any>(
    {
      url: Api.EMAIL_EDIT,
      params,
    },
    { message: '保存成功' },
  );
};

export const emailCreate = async (params: any) => {
  return defHttp.post<any>(
    {
      url: Api.EMAIL_CREATE,
      params,
    },
    { message: '保存成功' },
  );
};