123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263 |
- 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 audit(data) {
- return request(`/api/v1/oa/audit/status`, {
- method: 'GET',
- params: 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,
- };
- // 旧字段formItems 替换为新字段条件组 formItemsOr
- item.flowDetail.nodes.forEach((node) => {
- if (node.formItems) {
- node.formItemsOr = [node.formItems];
- node.formItems = '';
- } else {
- node.formItemsOr = node.formItemsOr || [];
- }
- });
- 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=doc/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,
- ...params,
- form_list: [JSON.stringify(params)],
- };
- return request(`/api/v1/oa/next/node/advance-submit`, {
- method: 'POST',
- data,
- });
- }
- export async function queryProfileList(params) {
- let profileList = await request(`/api/v1/oa/audit/list`, { params });
- return profileList?.data;
- }
- export async function queryApplyList(params) {
- const res = await request(`/api/v1/oa/audit/my/list`, { params });
- if (res?.data) {
- return { list: res.data?.list, pagination: res.data?.pagination };
- } else {
- return { list: [], pagination: {} };
- }
- }
- //获取多级主管
- export async function queryLeader() {
- return request(`/api/v1/oa/get-leader/list`);
- }
- //撤回申请
- export async function applyRepeal(params) {
- return request(`/api/v1/oa/repeal/${params.id}`);
- }
- // 查询立项 id=&pageSize=¤tPage=&user_id=
- export async function queryApproval(data) {
- return request(`/api/v2/approval/record?${stringify(data)}`);
- }
- //删除审批流
- export async function queryFlowDelete(id) {
- return request(`/api/v1/oa/flow/delete/${id}`);
- }
- export async function updateAuditList(data, isAfter) {
- let res = await request(`/api/v1/oa/submit/add-auditor`, {
- method: 'POST',
- data,
- });
- if (isAfter) {
- await audit({
- id: data.oa_id,
- status: 1,
- });
- }
- return res;
- }
|