import AnimateContent from '@/components/AnimateContent' import consts from '@/utils/consts' import { PageContainer } from '@ant-design/pro-layout' import ProTable from '@ant-design/pro-table' import { Button, message, Popconfirm } from 'antd' import { useRef, useState } from 'react' import { useRequest } from 'umi' import { addApproval, delApproval, getApprovalList, saveApproval } from '@/services/api/project' import type { ActionType, ProColumnType } from '@ant-design/pro-table' import ApprovalDetail from './Detail' import { ModalForm, ProFormText } from '@ant-design/pro-form' import type { ProFormInstance } from '@ant-design/pro-form' import classNames from 'classnames' // export enum PublishType { // FAIL = '0', // SUCCESS = '1' // } export enum ApprovalModalType { ADD, UPDATE } const FlowList = () => { const tRef = useRef(null) const formRef = useRef(null) const [state, setState] = useState({ params: {}, visible: false, modalType: 'add', modalVisible: false, current: { dataID: null, name: null, readPretty: false } }) const { run: tryDel } = useRequest(delApproval, { manual: true, onSuccess: () => { tRef.current?.reload() } }) const { run: tryAdd } = useRequest(addApproval, { manual: true, onSuccess: () => { tRef.current?.reload() } }) // const { run: tryPublish } = useRequest(publishApproval, { // manual: true, // onSuccess() { // message.success('') // tRef.current?.reload() // } // }) const { run: tryUpdate } = useRequest(saveApproval, { manual: true, onSuccess: () => { tRef.current?.reload() } }) const columns: ProColumnType = [ { dataIndex: 'name', title: '模板名称', onHeaderCell: () => ({ style: { textAlign: 'center' } }), render: (_, record) => ( {record.stickyTop ? ( ) : null} { setState({ ...state, visible: true, current: { dataID: record.ID, name: record.name, readPretty: true } }) }}> {record.name} ) }, // { // dataIndex: 'publish', // title: '流程状态', // onHeaderCell: () => ({ style: { textAlign: 'center' } }), // valueEnum: { // [PublishType.SUCCESS]: { // text: '已发布', // status: 'Success' // }, // [PublishType.FAIL]: { // text: '未发布', // statis: 'Default' // } // } // }, { dataIndex: 'opreate', title: '操作', onHeaderCell: () => ({ style: { textAlign: 'center' } }), align: 'center', render: (_, record) => (
{ setState({ ...state, modalType: ApprovalModalType.UPDATE, modalVisible: true, current: { dataID: record.ID, name: record.name } }) }}> 编辑名称 { setState({ ...state, visible: true, current: { dataID: record.ID, name: record.name } }) }}> 配置流程 tryDel({ ID: record.ID })}> 删除
) } ] return ( { const { code = -1, data: { items, total } } = await getApprovalList({ ...params, ...filters, ...sorter }) return { success: code === consts.RET_CODE.SUCCESS, data: items, total } }} search={false} toolbar={{ search: { onSearch: value => setState({ ...state, params: { ...state.params, search: value } }) }, actions: [ ] }} /> setState({ ...state, visible })}> setState({ ...state, visible })} /> setState({ ...state, modalVisible: visible })} title={`${state.modalType === ApprovalModalType.ADD ? '新建' : '编辑'}审批流程`} formRef={formRef} onFinish={async values => { try { if (state.modalType === ApprovalModalType.ADD) { await tryAdd(values) } else { await tryUpdate({ ...values, ID: state.current.dataID }) } message.success(`${state.modalType === ApprovalModalType.ADD ? '新增' : '编辑'}成功`) tRef.current?.reload() return true } catch (error) { message.error(error) return false } }}> ) } export default FlowList