/* * @Author: code4eat awesomedema@gmail.com * @Date: 2023-03-03 11:30:33 * @LastEditors: code4eat awesomedema@gmail.com * @LastEditTime: 2023-11-20 15:29:57 * @FilePath: /KC-MiddlePlatform/src/pages/platform/setting/pubDicTypeMana/index.tsx * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE */ import KCIMPagecontainer from '@/components/KCIMPageContainer'; import { KCIMTable } from '@/components/KCIMTable'; import { createFromIconfontCN } from '@ant-design/icons'; import { ActionType, ProFormDependency, ProFormInstance, ProFormText, ProFormSelect, ProFormTextArea, ProFormTreeSelect } from '@ant-design/pro-components'; import { ModalForm } from '@ant-design/pro-form' import { ProColumns } from '@ant-design/pro-table'; import { Input, message, Popconfirm, Tag, Tabs } from 'antd'; import { Key, useEffect, useRef, useState } from 'react'; import 'moment/locale/zh-cn'; import locale from 'antd/es/date-picker/locale/zh_CN'; import { addData, copyParamsList, delData, editData, getCostshareparamConnectList, getResponsibilityCenterSelecterList, saveParamsList } from './service'; import './style.less'; import { getAccountingSubjectList } from '../../accountingAccountSet/accountingSubMana/service'; import { getChilds } from '@/utils/tooljs'; import EditTableModal from './editTableModal'; import TableSelecter from './tableSelector'; const IconFont = createFromIconfontCN({ scriptUrl: '', }); export default function AllocationParamsMap() { const [tableDataFilterParams, set_tableDataFilterParams] = useState(undefined); const [tableDataSearchKeywords, set_tableDataSearchKeywords] = useState(''); const tableRef = useRef(); const formRef = useRef(); const [currentRow, setCurrentRow] = useState(undefined); const [selectableLevelList, setSelectableLevelList] = useState([]);//可选的分摊层级列表 const [tabs, set_tabs] = useState([]); const [accountType, set_accountType] = useState(1); const [selectedResponsibilityId, setSelectedResponsibilityId] = useState(null); const [selectedResponsibility, setSelectedResponsibility] = useState(null); const [editTableVisible, set_editTableVisible] = useState(false); const [tableSelecterVisible,set_tableSelecterVisible] = useState(false); const columns: ProColumns[] = [ { title: '分摊级别', ellipsis:true, dataIndex: 'shareLevel', }, { title: '责任中心编码', ellipsis:true, dataIndex: 'responsibilityCode', }, { title: '责任中心名', ellipsis:true, dataIndex: 'responsibilityName', }, { title: '会计科目名称', ellipsis:true, dataIndex: 'accountingNames', }, { title: '会计科目编码', ellipsis:true, dataIndex: 'accountingCodes', }, { title: '别名', ellipsis:true, dataIndex: 'alias', }, { title: '备注', ellipsis:true, dataIndex: 'costNode', }, { title: '操作', key: 'option', width:200, valueType: 'option', render: (_: any, record: any) => { return [ {set_tableSelecterVisible(true);setCurrentRow(record);}}>复制, , delTableData(record)} > 删除 , {set_editTableVisible(true);setCurrentRow(record)}}>分摊参数 ] }, }, ] const getTableData = async (params: any) => { const resp = await getCostshareparamConnectList({ ...params }); if (resp) { return { data: resp.list, success: true, total: resp.totalCount, pageSize: resp.pageSize, totalPage: resp.totalPage, } } return [] } const tableDataSearchHandle = (paramName: string) => { set_tableDataFilterParams({ ...tableDataFilterParams, [`${paramName}`]: tableDataSearchKeywords }) } const delTableData = async (record: any) => { const resp = await delData(record.id); if (resp) { message.success('操作成功!'); tableRef.current?.reload(); // message.success('操作成功!'); } } const updateTable = async (formVal: any, type: 'EDIT' | "ADD") => { const result = { responsibilityId: formVal.responsibilityId, accountingIds: formVal.accountingIds.join(','), isShareCost: formVal.isShareCost, alias: formVal.alias, costNode: formVal.costNode, responsibilityName: formVal.responsibility.responsibilityName, shareLevel: formVal.responsibility.shareLevel, responsibilityCode: formVal.responsibility.responsibilityCode }; if (type == 'ADD') { const resp = await addData(result); if (resp) { tableRef.current?.reload(); message.success('操作成功!'); } } if (type == 'EDIT') { try { const resp = await editData({ ...formVal, isBaseCost: formVal.isBaseCost, isIncomeGroutSetSelect: false, isShareParamSelect: false, accountType }); if (resp) { tableRef.current?.reload(); message.success('操作成功!'); } } catch (error) { console.log({ error }); } } return true; } const UpDataActBtn = ({ record, type }: { record: any, type: 'EDIT' | 'ADD' }) => { const [ifDisable, setIfDisable] = useState(false); let needDisableIds: any[] = []; let accountingIds:Key[] = []; return ( 编辑 : 新增 } onFinish={(val) => { return updateTable(type == 'EDIT' ? { ...record, ...val,accountingIds } : { ...val,accountingIds }, type); }} modalProps={{ destroyOnClose: true }} colProps={{ span: 24 }} grid > ) } const shareParamsSetCommit = async (rows:any[])=>{ const resp = await saveParamsList({id:currentRow.id,shareParamProportionVOList:rows}); if(resp){ set_editTableVisible(false); message.success('操作成功!'); tableRef.current?.reload(); } } const tableSelecterCommit = async (keys:Key[],rows:any) => { const { id } = currentRow; const resp = await copyParamsList({ id, responsibilityIds: keys }); if(resp){ set_tableSelecterVisible(false); message.success('操作成功!'); tableRef.current?.reload(); } } return ( set_editTableVisible(bool)} title='分摊参数设置' rowKey={'id'} record={currentRow} open={editTableVisible} onFinish={(rows) => shareParamsSetCommit(rows)} /> set_tableSelecterVisible(bool)} title='选择复制目标' rowKey={'id'} defaultSelectedKeys={[]} record={currentRow} open={tableSelecterVisible} onFinish={(keys, rows) => tableSelecterCommit(keys, rows)} />
检索: tableDataSearchHandle('name')} /> } onChange={(e) => { set_tableDataSearchKeywords(e.target.value); if (e.target.value.length == 0) { set_tableDataFilterParams({ ...tableDataFilterParams, name: '' }); } }} onPressEnter={(e) => { set_tableDataFilterParams({ ...tableDataFilterParams, name: (e.target as HTMLInputElement).value }); }} />
getTableData(params)} />
) }