import React, { useEffect, useRef, useState } from 'react'; import { connect } from 'react-redux'; import { ApiTable, EmisApiTable, EmisRequest, parseProcessData, judgmentProcessState } from '$utils' import { Skeleton, Button, Pagination, Form, Popconfirm, Table, Toast } from '@douyinfe/semi-ui'; import { IconSearch } from '@douyinfe/semi-icons'; import { SkeletonScreen, WorkflowApprovalModal } from "$components"; import moment from "moment"; const Rest = (props) => { const { dispatch, actions, user, socket, pomsProjectBasicAll } = props const { workOrder } = actions const [query, setQuery] = useState({ limit: 10, offset: 0 }); //页码信息 const [limits, setLimits] = useState(0)//每页实际条数 const [tableData, setTableData] = useState([]); const [loading, setLoading] = useState(true); const [workflowModalVisible, setWorkflowModalVisible] = useState(false) const [checkProcessInstanceId, setCheckProcessInstanceId] = useState(null) const [params, setParams] = useState({}) useEffect(() => { backlogData() if (!pomsProjectBasicAll.length) { dispatch(workOrder.getPomsProjectBasicAll()) } }, []) let backlogData = (obj = { limit: 10, offset: 0 }) => { setLoading(true) EmisRequest.get(EmisApiTable.processInstancemMyDoneList, { userId: user?.id, businessType: '运维中台表单', ...obj, queryFormData: 'true' }) .then(res => { let nextTableData = (res?.data || []).map(r => { let pomsNeedData = {} if (r?.formData?.formData && r?.formData?.workflowProcessVersion?.workflowProcessForm?.formSchema) { pomsNeedData = parseProcessData({ formSchema: r?.formData?.workflowProcessVersion?.workflowProcessForm?.formSchema, formData: r?.formData?.formData }) } return { ...r, pomsNeedData } }) setTableData(nextTableData) setLoading(false) }, error => { Toast.error({ content: '已办工单列表请求失败', duration: 1, }) setLoading(false) }); EmisRequest.get(EmisApiTable.processInstancemMyDoneCount, { userId: user?.id, // businessType: '运维中台工单', ...obj, limit: "", offset: "" }) .then(res => { setLimits(res.count || 0) }, error => { Toast.error({ content: '已办工单数量请求失败', duration: 1, }) }); } let columns = [{ title: '序号', dataIndex: 'index', render: (text, record, index) => index + 1 }, { title: '标题', dataIndex: 'title', render: (text, record, index) => { return record?.pomsNeedData?.title?.value || '' } }, { title: '关联项目', dataIndex: 'pomsProject', render: (text, record, index) => { const pomsProjectId = record?.pomsNeedData?.pomsProjectId?.value if (pomsProjectId) { const corProject = pomsProjectBasicAll.find(p => p.value == pomsProjectId) return corProject?.label || '' } else { return '' } } }, { title: '申请人', dataIndex: 'application', }, { title: '申请部门', dataIndex: 'applyDepartmentName', }, { title: '审批状态', dataIndex: 'status', render: (text, record) => { return judgmentProcessState(record, 'done') }, }, { title: '提交时间', dataIndex: 'submissionTime', render: (text, record, index) => text && moment(text).format('YYYY-MM-DD HH:mm:ss') || '--' }, { title: '期望完成时间', dataIndex: 'expectTime', render: (text, record, index) => { return record?.pomsNeedData?.expectTime?.value || '' } }, { title: '操作', dataIndex: 'hadle', render: (text, record, index) =>