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, allPepUsersIncludeDel } = props
const { workOrder, service } = 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())
}
if (!allPepUsersIncludeDel.length) {
dispatch(service.getOrganizationUsersIncludeDeleted())
}
}, [])
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
}
})
// setLimits(nextTableData?.length || 0)
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: 'fsFormItemName',
render: (text, record, index) => {
return record?.name || ''
}
},{
title: '项目名称',
dataIndex: 'pomsProject',
render: (text, record, index) => {
return record.fsFormItemName==='运维中台售后问题处理工单'?
pomsProjectBasicAll?.find(item=>item.value==record?.pomsNeedData?.pomsProjectId?.value).label||'':record?.pomsNeedData?.projectName?.value || ''
}
}, {
title: '申请内容描述',
dataIndex: 'applyContent',
render: (text, record, index) => {
return record.fsFormItemName==='运维中台售后问题处理工单'?record?.pomsNeedData?.detail?.value.length>5?