import { request } from 'umi'; import { stringify } from 'qs'; export async function queryAuditList(params) { let res = await request(`/api/v1/purchase/flow/info?${stringify(params)}`); res.data = res.data.map((item) => ({ ...item, list: null, ...item.list, })); return res; } export async function addAudit(data) { return request(`/api/v1/purchase/flow/info`, { method: 'POST', data, }); } export async function queryAuditDetail(params) { return request(`/api/v1/oa/audit/detail`, { method: 'GET', params, }); } const getFlowDetail = (data) => { const groups = { top: { position: { name: 'top' }, attrs: { circle: { r: 4, magnet: true, stroke: '#31d0c6', strokeWidth: 2, fill: '#fff', style: { visibility: 'hidden' }, }, }, zIndex: 10, }, right: { position: { name: 'right' }, attrs: { circle: { r: 4, magnet: true, stroke: '#31d0c6', strokeWidth: 2, fill: '#fff', style: { visibility: 'hidden' }, }, }, zIndex: 10, }, bottom: { position: { name: 'bottom' }, attrs: { circle: { r: 4, magnet: true, stroke: '#31d0c6', strokeWidth: 2, fill: '#fff', style: { visibility: 'hidden' }, }, }, zIndex: 10, }, left: { position: { name: 'left' }, attrs: { circle: { r: 4, magnet: true, stroke: '#31d0c6', strokeWidth: 2, fill: '#fff', style: { visibility: 'hidden' }, }, }, zIndex: 10, }, }; const attrs = { line: { stroke: '#A2B1C3', targetMarker: { name: 'block', width: 12, height: 8 }, strokeDasharray: '5 5', strokeWidth: 1, }, }; let nodes = data.nodes.map((item) => { let node = { ...item }; node.ports.groups = groups; node.parentKey = '1'; return node; }); let edges = data.edges.map((item) => { let edge = { ...item }; try { edge.attrs = item.attr ? JSON.parse(item.attr) : attrs; } catch (error) { edge.attrs = attrs; } return edge; }); return { ...data, nodes, edges, }; }; export async function queryProcessFlows(params) { let res = await request( `/api/v1/purchase/process/get-flows?${stringify(params)}`, { method: 'GET', }, ); let data = res.data[0]; let item = { ...data, flowDetail: data.process_json ? getFlowDetail(JSON.parse(data.process_json)) : { nodes: [], edges: [] }, formData: data.form_json ? JSON.parse(data.form_json) : [], simpleFlowDteail: data.process_simple_json, }; return { data: item }; } export async function saveAuditFlowInfo(data) { return request(`/api/v1/purchase/flow/info`, { method: 'POST', data, }); } export async function queryUserListByRoleID(params) { let res = await request( `/api/v1/purchase/process/get-role-user?${stringify(params)}`, { method: 'GET', }, ); return res.data; } export async function queryGetBomForm(params) { let res = await request( `/api/v1/purchase/bom/get-bom-form?${stringify(params)}`, { method: 'GET', }, ); return res; } //获取分类列表 export async function queryClassify(data) { let res = await request(`/api/v1/purchase/bom/get-classify`, { method: 'GET', params: data, }); return res; } export async function queryOSSData() { return request(`/api/v1/config/chart-template-img?destDir=public/bom`); } // 提交审批 export async function createAduit(data) { return request(`/api/v1/oa/submit`, { method: 'POST', data, }); } // 计算审批节点 export async function advanceSubmitNextNode(params) { let data = { flow_id: 0, node_level_id: 0, id: 0, project_id: 0, cur_template_node_id: 0, next_template_node_id: 0, template_node_id: null, flow_path: null, template_id: 0, cur_template_id: 0, next_template_id: 0, form_list: [JSON.stringify(params)], }; return request(`/api/v1/oa/next/node/advance-submit`, { method: 'POST', data, }); } // /** // project_id // version_id 大版本id // template_id // template_node_id 查询某流程和某节点下最新版本的数据记录 // node_id 查询某审批流程和某审批节点下最新版本的数据记录 // */ // export async function queryRecord(params) { // return request(`/api/v1/purchase/record?${stringify(params)}`); // } // //删除excel中单个sheet页 // export async function queryDelSheetRecord(params) { // const response = await request(`/api/v1/purchase/bom/del-purchase-excel-sheet?${stringify(params)}`); // if (response.code == 200) { // // message.success('删除成功'); // } // } // // 查询全部工作流 // export async function queryFlowList(params) { // return request(`/api/v1/purchase/bom/flows?${stringify(params)}`); // } // // 根据节点id查询所有version // export async function queryVserionByNode(params, signal) { // return request(`/api/v1/purchase/bom/flow/node?${stringify(params)}`, { // signal, // }); // } // export async function commitSheet(params) { // return request(`/api/v1/purchase/record`, { // method: 'POST', // body: params, // }); // } // export async function approve(params) { // return request(`/api/v1/purchase/audit/status`, { // method: 'POST', // body: params, // }); // } // export async function queryAuthority(params) { // const depId = localStorage.depId; // return request(`/api/v1/purchase/bom/user/excel/col?depId=${depId}`, { // method: 'POST', // body: params, // }); // } // export async function addBomComment(params) { // return request(`/api/v1/purchase/comment`, { // method: 'POST', // body: params, // }); // } // export async function queryBomComment(params) { // return request(`/api/v1/purchase/comment?${stringify(params)}`); // } // /** // * 提交流转 // "id":3, 当前流转文档id,必填 // "project_id":46, 所属项目id // "template_id":1, 所属模板id ,必填 // "template_node_id":34,所属节点id,必填 // "next_template_id":1,跳转的下级业务模板id,必填 // "next_template_node_id":2,跳转的下级业务节点id,必填 // "flow_id":1, 跳转的下级审核流程id , 如果不为空,则说明流转的是审核节点,下级业务节点为审核通过后进入的业务节点 // "node_id":1,跳转的下级审核节点id // "desc":"流转描述" // */ // export async function submitNextNode(params) { // return request(`/api/v1/purchase/next/node/submit`, { // method: 'POST', // body: params, // }); // } // export async function advanceSubmitNextNode(params) { // return request(`/api/v1/purchase/next/node/advance-submit`, { // method: 'POST', // body: params, // }); // } // export async function queryDetail(params) { // let response = await request(`/api/v1/purchase/record?${stringify(params)}`); // let sheet = response.data; // sheet.data = JSON.parse(sheet.data || '[]'); // sheet.data.forEach(item => { // item.config = JSON.parse(item.config || '{}'); // item.celldata = JSON.parse(item.cell_data || '[]'); // delete item.cell_data; // }); // return sheet; // } // export async function queryHistoryDetail(params) { // return request(`/api/v1/purchase/record/history/detail?${stringify(params)}`); // } // export async function queryHistoryList(params) { // return request(`/api/v1/purchase/record/history?${stringify(params)}`); // } // export async function queryBoomFlowList(params) { // return request(`/api/v1/purchase/bom/flows?${stringify(params)}`); // } // //请求历史版本 // export async function queryVersionsTree(params) { // return request(`/api/v1/purchase/record/version/tree?${stringify(params)}`); // } // //查询业务节点的审核记录 // export async function queryAuditExcel(params) { // return request(`/api/v1/purchase/audit/excel?${stringify(params)}`); // } // //查询审批节点的审核记录 // export async function queryAuditRecord(params) { // return request(`/api/v1/purchase/audit/record?${stringify(params)}`); // } // //查询表单数据接口 // export async function queryDingSchema(params) { // return request(`/api/v1/purchase/bom/ding/schema?${stringify(params)}`); // } // export async function queryDingInstanceDetail(params) { // let res = await request(`/api/v1/purchase/bom/ding/instance-detail`, { // method: 'POST', // body: params, // }); // if (res.data.errcode != 0) { // message.error(res.data.errmsg); // throw new Error(res.data.errmsg); // } // return res; // } // export async function queryDingInstanceExecute(params) { // let res = await request(`/api/v1/purchase/bom/ding/instance-execute`, { // method: 'POST', // body: params, // }); // if (res.data.errcode != 0) { // message.error('审批失败,请联系管理员。'); // throw new Error(res.data.errmsg); // } // return res; // } // export async function queryListParentByUser(params) { // return request(`/api/v1/purchase/bom/ding/department/list-parent-by-user`, { // method: 'POST', // body: params, // }); // } // /** // * 查看项目流程列表 // * project_id // */ // export async function queryProjectRecord(params) { // return request(`/api/v1/purchase/bom/project/record?${stringify(params)}`); // } // /** 查看版本列表 // * project_id // template_id 流程id // template_node_id 流程节点id // */ // export async function queryVersionsList(params) { // return request(`/api/v1/purchase/record/versions?${stringify(params)}`); // } // export async function queryBoomFlowDetail(params) { // let { data } = await request(`/api/v1/purchase/bom/flow/info?${stringify(params)}`); // const groups = { // top: { // position: { name: 'top' }, // attrs: { // circle: { // r: 4, // magnet: true, // stroke: '#31d0c6', // strokeWidth: 2, // fill: '#fff', // style: { visibility: 'hidden' }, // }, // }, // zIndex: 10, // }, // right: { // position: { name: 'right' }, // attrs: { // circle: { // r: 4, // magnet: true, // stroke: '#31d0c6', // strokeWidth: 2, // fill: '#fff', // style: { visibility: 'hidden' }, // }, // }, // zIndex: 10, // }, // bottom: { // position: { name: 'bottom' }, // attrs: { // circle: { // r: 4, // magnet: true, // stroke: '#31d0c6', // strokeWidth: 2, // fill: '#fff', // style: { visibility: 'hidden' }, // }, // }, // zIndex: 10, // }, // left: { // position: { name: 'left' }, // attrs: { // circle: { // r: 4, // magnet: true, // stroke: '#31d0c6', // strokeWidth: 2, // fill: '#fff', // style: { visibility: 'hidden' }, // }, // }, // zIndex: 10, // }, // }; // const attrs = { // line: { // stroke: '#A2B1C3', // targetMarker: { name: 'block', width: 12, height: 8 }, // strokeDasharray: '5 5', // strokeWidth: 1, // }, // }; // let nodes = data.Nodes.map(item => { // let node = { // ...item, // id: item.node_id, // renderKey: item.render_key, // zIndex: item.z_index, // isCustom: !!item.is_custom, // ports: JSON.parse(item.ports || '{}'), // }; // node.ports.groups = groups; // node.parentKey = '1'; // return node; // }); // let edges = data.Edges.map(item => { // let edge = { // id: item.edge_id, // source: { // cell: item.source_cell, // port: item.source_port, // }, // target: { // cell: item.target_cell, // port: item.target_port, // }, // }; // try { // edge.attrs = item.attr ? JSON.parse(item.attr) : attrs; // } catch (error) { // edge.attrs = attrs; // } // return edge; // }); // return { // ...data, // nodes, // edges, // }; // } // export async function updateNode(data) { // return request(`/api/v1/purchase/bom/flow/${data.templateId}/${data.nodeId}`, { // method: 'PUT', // body: data.body, // }); // } // export async function addBoomFlow(data) { // return request(`/api/v1/purchase/bom/flow/info`, { // method: 'POST', // body: data, // }); // } // export async function addFlow(data) { // return request(`/api/v1/purchase/bom/flow/info`, { // method: 'POST', // body: data, // }); // } // /** // * [ // { // "flow_id": 23, // "node": "主管", // "desc": "desc", // "auditor": 2, // "seq": 1, // "seq_relate": 0 // } // ] // */ // export async function addAuditNode(data) { // return request(`/api/v1/purchase/flow/info/${data.flowId}`, { // method: 'POST', // body: data.nodes, // }); // } // export async function queryRecordSheet(data) { // return request(`/api/v1/purchase/record/sheet?${stringify(data)}`, { // method: 'POST', // body: data, // }); // } // export async function queryDingTemplateList() { // return request(`/api/v1/purchase/bom/ding/template/list`); // } // export async function queryDDdepList(data) { // let res = await request(`/api/v1/purchase/bom/ding/department-list`, { // method: 'POST', // body: data, // }); // return res.data.result; // } // export async function queryDDProcessesForecast(data) { // let res = await request(`/api/v1/purchase/bom/ding/processes-forecast`, { // method: 'POST', // body: data, // }); // if (res.data.message) { // // message.error(res.data.message); // throw new Error(res.data.message); // } // return res.data.result; // } // export async function uploadFile(data) { // let res = await request(`/api/v1/purchase/bom/ding/upload-file`, { // method: 'POST', // body: data, // headers: { // ContentType: 'application/x-www-form-urlencoded', // }, // }); // if (!res.data.dentry) { // message.error(res.data.errmsg); // throw new Error(res.data.errmsg); // } // return res.data; // } // export async function bindDDCode(userId, code) { // let res = await request(`/api/v1/purchase/bom/ding/set-ding-user-code?ucode=${userId}:${code}`, { // method: 'GET', // }); // return res.data; // } // //获取部门结构 // export async function queryDepV2(params) { // return request(`/api/v2/dep?${stringify(params)}`); // } // //新增工作流时调用接口 给项目绑定默认分类列表 // //purchase/bom/default-bind-classify?project_id=1 // export async function queryDefaultBindClassify(params) { // let res = await request(`/api/v1/purchase/bom/default-bind-classify?${stringify(params)}`, { // method: 'GET', // }); // return res.data; // } // export async function queryBindClassify(params) { // let res = await request(`/api/v1/purchase/bom/get-bind-classify?${stringify(params)}`, { // method: 'GET', // }); // return res.data; // } // export async function queryAddBindClassify(data) { // return request(`/api/v1/purchase/bom/add-bind-classify`, { // method: 'POST', // body: data, // }); // } // export async function queryDelPurchaseExcel(params) { // let res = await request(`/api/v1/purchase/bom/del-purchase-excel?${stringify(params)}`, { // method: 'GET', // }); // return res; // } // //提交流转存储表单审批人历史记录 // export async function querySaveBomForm(data) { // return request(`/api/v1/purchase/bom/save-bom-form`, { // method: 'POST', // body: data, // }); // } // //章管家失败,重新申请用印 // export async function queryTrySeal(params) { // let res = await request(`/api/v1/purchase/bom/try-seal?${stringify(params)}`, { // method: 'GET', // }); // return res; // } // export async function ChartTempOSSData(params) { // return request(`/api/v1/purchase/bom/contract-file/${params.projectId}`); // } // // 设置最终版本 // export async function setLastVersion(excelId) { // return request(`/api/v1/purchase/bom/set-last-version/${excelId}`); // }