/* * @Author: your name * @Date: 2021-07-26 10:13:13 * @LastEditTime: 2021-08-06 18:28:12 * @LastEditors: Please set LastEditors * @Description: In User Settings Edit * @FilePath: /TracerMethodology_PC/src/pages/UserMana/index.js */ import { PlusOutlined } from '@ant-design/icons'; import { Button, Popconfirm} from 'antd'; import React, { useState, useRef, useEffect } from 'react'; import { PageContainer} from '@ant-design/pro-layout'; import ProTable from '@ant-design/pro-table'; import { ModalForm, ProFormText, ProFormSelect} from '@ant-design/pro-form'; import UpdateForm from './updateForm'; import { getAccountingSubjectList, editAccountingSubjectList, delAccountingSubject, addAccountingSubject, getAccountingSubjectForSelecter } from './service'; const AccountingSubject = () => { const columns = [ { title: '会计科目名称', dataIndex: 'accountingName', key: 'accountingName', hideInSearch: false, width: '30%' }, { title: '会计科目编码', dataIndex: 'accountingCode', key: 'accountingCode', hideInSearch: true, width: '30%' }, { title: '是否固定成本', dataIndex: 'isBaseCost', key: 'isBaseCost', hideInSearch: true, render: (text) => <>{text == 1 ? '是' : '否'}, width: '20%' }, { title:'操作', dataIndex: 'option', valueType: 'option', key: 'option', width: '15%', render: (_, record) => [ { setCurrentRow(record); handleModalVisible(true) }} > 添加 , { handleUpdateModalVisible(true); setCurrentRow(record); }} > 编辑 , { setCurrentRow(record); delListHandler(record); }} > 删除 , ], }, ]; const [createModalVisible, handleModalVisible] = useState(false); const [updateModalVisible, handleUpdateModalVisible] = useState(false); const actionRef = useRef(); //表格 const ref = useRef(); //新增表单 const [currentRow, setCurrentRow] = useState(undefined); const [accountType, setAccountType] = useState(1); const [options, setOptions] = useState([]); const [ifChild, setIfChild] = useState(false); const [expanedRowIds,setExpanedRowIds] = useState([]); /** * * @param {Boolean} bool 弹窗展示状态 */ const updateModalVisibleChange = (bool) => { handleUpdateModalVisible(bool); setIfChild(false); if (!bool) setCurrentRow(undefined); }; //获取科室列表 const getList = async (params = {}, sort, filter) => { const res = await getAccountingSubjectList({ ...params, accountType: accountType }); // console.log({res}); return { data: res.data.list, total: res.data.totalCount, success: res.success, }; }; /** * * @param {Object} value 删除项数据 */ const delListHandler = async (value) => { const resp = await delAccountingSubject(value); if (resp.status == 200) { if (actionRef.current) { actionRef.current.reload(); } } }; const expandHandle = id=>{ if(expanedRowIds.includes(id)){ const temp = expanedRowIds; temp.splice(temp.findIndex(item => item == id), 1); setExpanedRowIds([...temp]) }else{ setExpanedRowIds([...expanedRowIds,id]) } } /** * * @param {Object} record record对象 * @param {String} type 可选值[del,edit,‘add’] */ const customRowUpdata = (record,type)=>{ // console.log({record}); const {accountingCode,accountingName,id} = record; const needRowData = {accountingCode,accountingName,id}; setIfChild(true); setCurrentRow(needRowData); if(type == 'add')handleModalVisible(true); if(type == 'edit')handleUpdateModalVisible(true); if(type == 'del')delListHandler(needRowData); } //展开table const expandedRowRender = (record, index, indent, expanded) => { // console.log({ record, index, indent, expanded }); const { child } = record; const _columns = columns.filter(item => !(['id', 'option'].includes(item.key))); return ( { child&&child.map((item, index) => { const { accountingCode, accountingName, id, child } = item; console.log({ accountingCode, accountingName, id, child }); return ( { expanedRowIds.includes(id)&& } ) }) }
{ child&&child.length > 0 &&( ) } {/* */} 会计科目名称:{accountingName} 会计科目编码:{accountingCode} customRowUpdata(item,'add')}>添加 customRowUpdata(item,'edit')}>编辑 customRowUpdata(item,'del')}>删除
{ child.map((data, index) => { const { accountingCode, accountingName, id, child } = data; return ( ) }) }
{ child&&child.length > 0 && } ↵会计科目名称:{accountingName} 会计科目编码:{accountingCode} 编辑
) }; const onTabChange = (key)=>{ setAccountType(Number(key)); if (actionRef.current) { actionRef.current.reload(); } } useEffect(async () => { const respForSelecter = await getAccountingSubjectForSelecter(); if (respForSelecter.status == 200) { setOptions(respForSelecter.data); } }, []) return ( } type="primary" onClick={() => { handleModalVisible(true); }} > 新增 ], }} search={false} pagination={{ pageSize: 10, }} /> { if (ref.current) { ref.current.resetFields(); } setIfChild(false); handleModalVisible(bool); }} formRef={ref} onFinish={async (value) => { let id=0; currentRow&&(id=currentRow.id) const success = await addAccountingSubject({ ...value, id:id,accountingType:accountType }); // console.log({ success }); if (success) { handleModalVisible(false); if (actionRef.current) { actionRef.current.reload(); } } setCurrentRow(undefined); }} > {/* 更新 */} { // console.log({ '编辑': value }); console.log({currentRow}); const success = await editAccountingSubjectList({...value,accountType}); if (success) { handleUpdateModalVisible(false); setCurrentRow(undefined); if (actionRef.current) { actionRef.current.reload(); } } }} onCancel={() => { handleUpdateModalVisible(false); setCurrentRow(undefined); }} updateModalVisible={updateModalVisible} updateModalVisibleChange={updateModalVisibleChange} values={currentRow || {}} /> ); }; export default AccountingSubject;