222
schangxiang@126.com
2025-04-30 9bec4dcae002f36aa23231da11cb03a156b40110
PipeLineLems/web/src/api/index.ts
@@ -2,10 +2,12 @@
import { ElMessage } from 'element-plus'
const { request } = sdk.utils
// !非必要,不要在此加函数,请在对应的api文件中添加,组件api,请在组件中添加api.ts中文件添加
function getProject(tree: any[]) {
  // 方便调试
  const projectId = import.meta.env.VITE_APP_PROJECT_ID
  const target = tree.find((e: any) => e.id === projectId)
  const target = tree.find((e: any) => e.id == projectId)
  if (target) return target
  for (let i = 0; i < tree.length; i++) {
    const item = tree[i]
@@ -18,10 +20,7 @@
    }
  }
}
export const getXProject = async () => {
  const tree: any = await request.get('/api/v1/project/node/tree')
  return tree
}
const projectInfo = async (id: string | number = 0) => {
  const info: Record<string, any> = await request.get(
    `/api/v1/project/${id}/info`
@@ -29,9 +28,15 @@
  sessionStorage.setItem('X-Project', info.identifier)
  sessionStorage.setItem('X-Project-Name', info.name)
}
export const getXProject = async () => {
  const tree: any = await request.get('/api/v1/project/node/tree')
  return tree
}
export const setXProject = async () => {
  try {
    const tree: any = await request.get('/api/v1/project/node/tree')
    const tree: any = await getXProject()
    if (tree.length) {
      const project = getProject(tree)
      await projectInfo(project.id)
@@ -45,6 +50,10 @@
  }
}
let provider = { ConfigName: '' }
export const setProvider = (computed: any) => {
  provider = computed
}
export const postImport = (file: FormData) => {
  return request({
    url: `/api/v1/zc/productsop/uploadsop`,
@@ -54,3 +63,221 @@
    data: file,
  })
}
//产品
function getproductList(data: any, hasFormula: boolean = true) {
  const url = `api/v1/messuite/query/product?filter=${data.filter}&hasFormula=${hasFormula}`
  const method = 'get'
  return import.meta.env.PROD
    ? sdk.request({ url, method })
    : request({ url, method })
}
// 工序列表
function getWorksectionList(data: any) {
  const url = `api/v1/messuite/query/worksection?filter=${data.filter}&abilityType=${data.abilityType}&includeDetails=${data.includeDetails}`
  const method = 'get'
  return import.meta.env.PROD
    ? sdk.request({ url, method })
    : request({ url, method })
}
function getTableheader(data: any) {
  const url = `api/v1/tracemanagement/trace/tableheader?productId=${data.productId}`
  const method = 'get'
  return import.meta.env.PROD
    ? sdk.request({ url, method, params: { ...provider } })
    : request({ url, method, params: { ...provider } })
}
function getTablelayout(data: any) {
  const url = `api/v1/tracemanagement/trace/tablelayout?productId=${encodeURIComponent(
    data.productId
  )}&tableId=${data.tableId}&isSummary=${data.isSummary}&onlyIncludeParameter=${
    data.onlyIncludeParameter || false
  }`
  const method = 'get'
  return import.meta.env.PROD
    ? sdk.request({ url, method, params: { ...provider } })
    : request({ url, method, params: { ...provider } })
}
function getTraceList(data: any) {
  const url = `api/v1/tracemanagement/trace?SerialNumber=${encodeURIComponent(
    data.SerialNumber
  )}&SearchMode=${data.SearchMode}&From=${data.From}&To=${
    data.To
  }&IsQualified=${data.IsQualified}&TableId=${data.TableId}&IsSummary=${
    data.IsSummary
  }&SkipCount=${data.SkipCount}&MaxResultCount=${
    data.MaxResultCount
  }&ProductModel=${encodeURIComponent(
    data.ProductModel
  )}&Updatecode=${encodeURIComponent(
    data.Updatecode
  )}&MaterialCode=${encodeURIComponent(data.MaterialCode)}&OrderCode=${
    data.OrderCode
  }&IsAsc=${data.IsAsc || false}`
  const method = 'get'
  return import.meta.env.PROD
    ? sdk.request({ url, method, params: { ...provider } })
    : request({ url, method, params: { ...provider } })
}
function getCurve(data: any) {
  const url = `api/v1/tracemanagement/trace/curve?WorkSectionId=${data.WorkSectionId}&ParamId=${data.ParamId}&From=${data.From}&To=${data.To}&ProductModel=${data.ProductModel}`
  const method = 'get'
  return import.meta.env.PROD
    ? sdk.request({ url, method, params: { ...provider } })
    : request({ url, method, params: { ...provider } })
}
function getStatistics(data: any) {
  const url = `api/v1/tracemanagement/trace/statistics?SerialNumber=${encodeURIComponent(
    data.SerialNumber
  )}&SearchMode=${data.SearchMode}&From=${data.From}&To=${
    data.To
  }&IsQualified=${data.IsQualified}&TableId=${data.TableId}&IsSummary=${
    data.IsSummary
  }&ProductModel=${encodeURIComponent(data.ProductModel)}&Updatecode=${
    data.Updatecode
  }&MaterialCode=${data.MaterialCode}&OrderCode=${data.OrderCode}`
  const method = 'get'
  return import.meta.env.PROD
    ? sdk.request({ url, method, params: { ...provider } })
    : request({ url, method, params: { ...provider } })
}
function getSetting(data: any) {
  const providerName = provider.ConfigName ? 'U' : 'G'
  // const url = `api/v1/settingmanagement/setting?namePrefix=${data.namePrefix}`
  const url = `api/v1/settingmanagement/setting/${providerName}?namePrefix=${
    data.namePrefix
  }&providerKey=${provider.ConfigName || ''}`
  const method = 'get'
  return import.meta.env.PROD
    ? sdk.request({ url, method, params: provider })
    : request({ url, method, params: provider })
}
function saveSetting(data: any, providerKey?: string) {
  const providerName = provider.ConfigName ? 'U' : 'G'
  // const url = `api/v1/settingmanagement/setting`
  let _providerKey = providerKey
    ? `?providerKey=${provider.ConfigName || ''}`
    : ''
  const url = `api/v1/settingmanagement/setting/${providerName}${_providerKey}`
  const method = 'post'
  return import.meta.env.PROD
    ? sdk.request({ url, method, data, params: provider })
    : request({ url, method, data, params: provider })
}
function getTraceproductmodelconfig(data: any) {
  const url = `api/v1/tracemanagement/traceproductmodelconfig?ProductId=${
    data.ProductId
  }&GetIfEmppty=${data.GetIfEmppty || false}&Filter=${data.Filter || ''}`
  const method = 'get'
  return import.meta.env.PROD
    ? sdk.request({ url, method, params: { ...provider } })
    : request({ url, method, params: { ...provider } })
}
function getTracesummarytable(data: any) {
  const url = `api/v1/tracemanagement/tracesummarytable?Filter=${data.Filter}&ProductId=${data.ProductId}&includeAll=true`
  const method = 'get'
  return import.meta.env.PROD
    ? sdk.request({ url, method, params: { ...provider } })
    : request({ url, method, params: { ...provider } })
}
function creatTracesummarytable(data: any) {
  const url = `api/v1/tracemanagement/tracesummarytable`
  const method = 'post'
  return import.meta.env.PROD
    ? sdk.request({ url, method, data: { ...data, ...provider } })
    : request({ url, method, data: { ...data, ...provider } })
}
function updateTracesummarytable(data: any) {
  const url = `api/v1/tracemanagement/tracesummarytable/${data.id}`
  const method = 'put'
  return import.meta.env.PROD
    ? sdk.request({ url, method, data: { ...data, ...provider } })
    : request({ url, method, data: { ...data, ...provider } })
}
function delTracesummarytable(data: any) {
  const url = `api/v1/tracemanagement/tracesummarytable`
  const method = 'delete'
  return import.meta.env.PROD
    ? sdk.request({ url, method, data, params: { ...provider } })
    : request({ url, method, data, params: { ...provider } })
}
function getProcessroutebyproductmodel(data: any) {
  const url = `api/v1/messuite/query/processroutebyproductmodel?productModel=${
    data.productModel || ''
  }&includeDetails=${data.includeDetails || true}&includeFormulaDetails=${
    data.includeFormulaDetails || true
  }`
  const method = 'get'
  return import.meta.env.PROD
    ? sdk.request({ url, method })
    : request({ url, method })
}
function getProcessroute(data: any) {
  const url = `api/v1/messuite/query/processroutes?productId=${
    data.productId || ''
  }&includeDetails=${data.includeDetails || true}&includeFormulaDetails=${
    data.includeFormulaDetails || true
  }`
  const method = 'get'
  return import.meta.env.PROD
    ? sdk.request({ url, method })
    : request({ url, method })
}
function traceproductmodelconfig(data: any) {
  const url = `api/v1/tracemanagement/traceproductmodelconfig`
  const method = 'put'
  return import.meta.env.PROD
    ? sdk.request({ url, method, data: { ...data, ...provider } })
    : request({ url, method, data: { ...data, ...provider } })
}
function exportTrace(data: any) {
  const url = `api/v1/tracemanagement/trace/export?SerialNumber=${data.SerialNumber}&SearchMode=${data.SearchMode}&ProductModel=${data.ProductModel}&From=${data.From}&To=${data.To}&IsQualified=${data.IsQualified}&TableId=${data.TableId}&IsSummary=${data.IsSummary}&Updatecode=${data.Updatecode}&MaterialCode=${data.MaterialCode}&OrderCode=${data.OrderCode}`
  const method = 'get'
  return import.meta.env.PROD
    ? sdk.request({ url, method, data, params: provider, responseType: 'blob' })
    : request({ url, method, data, params: provider, responseType: 'blob' })
}
function saveTraceBackFieldWidth(data: any, tableName: string) {
  const url = `/api/v1/messuite/setting/SCMS.TraceManagement.TraceTableSettings/${tableName}`
  const method = 'post'
  return sdk.request({ url, method, data })
}
export {
  getproductList,
  getWorksectionList,
  getTraceList,
  getSetting,
  getTraceproductmodelconfig,
  saveSetting,
  getTracesummarytable,
  delTracesummarytable,
  creatTracesummarytable,
  getProcessroutebyproductmodel,
  getProcessroute,
  updateTracesummarytable,
  getTableheader,
  getTablelayout,
  getCurve,
  getStatistics,
  traceproductmodelconfig,
  exportTrace,
  saveTraceBackFieldWidth,
}