/* * @Author: code4eat awesomedema@gmail.com * @Date: 2023-03-03 11:30:33 * @LastEditors: code4eat awesomedema@gmail.com * @LastEditTime: 2024-06-12 17:45:12 * @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, ProFormCascader } from '@ant-design/pro-form' import { ProColumns } from '@ant-design/pro-table'; import { Input, message, Popconfirm, Tag, Tabs } from 'antd'; import { Key, ReactNode, 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, getProfitReportType, getProjectCostShareTableData, getResponsibilityCenterSelecterList, saveParamsList } from './service'; import './style.less'; import { getChilds } from '@/utils/tooljs'; import EditTableModal from './editTableModal'; import TableSelecter from './tableSelector'; import { getDicDataBySysId } from '@/services/getDic'; import { getReportProjectSettingList } from '@/pages/baseSetting/otherItemSet/reportItemSet/service'; import { KcimCenterSysId } from '@/constant'; 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 [editTableVisible, set_editTableVisible] = useState(false); const [tableSelecterVisible, set_tableSelecterVisible] = useState(false); const columns: ProColumns[] = [ { title: '项目分类', ellipsis: true, width: 100, dataIndex: 'itemTypeName', }, { title: '成本列代码', ellipsis: true, width: 100, dataIndex: 'columnCode', }, { title: '成本列名称', ellipsis: true, width: 150, dataIndex: 'columnName', }, { title: '成本列类型', ellipsis: true, width: 100, dataIndex: 'columnTypeName', }, { title: '损益表类型', ellipsis: true, dataIndex: 'reportTypeName', }, { title: '损益表项目', ellipsis: true, dataIndex: 'profitPathName', }, { title: '分摊参数', ellipsis: true, width: 200, dataIndex: 'shareParamCostDetails', renderText(arr, record) { if (arr) { return arr.reduce((prev: string, cur: any) => `${prev.length > 0 ? prev + '|' : prev}${cur.shareParamName}`, '') } }, }, { title: '操作', key: 'option', width: 160, fixed: 'right', valueType: 'option', render: (_: any, record: any) => { return [ { set_editTableVisible(true); setCurrentRow(record) }}>分摊参数, , delTableData(record)} > 删除 , ] }, }, ] const getTableData = async (params: any) => { const resp = await getProjectCostShareTableData({ ...params }); if (resp) { return { data: resp, success: true, } } 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") => { try { const result = { columnCode: formVal.columnCode, columnName: formVal.columnName, columnType: formVal.columnType, columnTypeName: formVal.columnTypeName, profitId: formVal.profitId[formVal.profitId.length - 1], profitNum: formVal.profitNum, profitName: formVal.profitName, profitPath: formVal.profitPath, profitPathName: formVal.profitPathName, itemType:formVal.itemType, reportType:formVal.reportType, }; if (type == 'ADD') { const resp = await addData(result); if (resp) { tableRef.current?.reload(); message.success('操作成功!'); } } if (type == 'EDIT') { const resp = await editData({ ...result, id: formVal.id }); if (resp) { tableRef.current?.reload(); message.success('操作成功!'); } } } catch (error) { console.log({ error }); } return true; } const UpDataActBtn = ({ record, type }: { record: any, type: 'EDIT' | 'ADD' }) => { return ( Number(a)) : [] } : {}} trigger={ type == 'EDIT' ? 编辑 : 新增 } onFinish={(val) => { return updateTable(type == 'EDIT' ? { ...record, ...val } : { ...val }, type); }} modalProps={{ destroyOnClose: true }} colProps={{ span: 24 }} grid > ) } const shareParamsSetCommit = async (rows: any[]) => { // console.log({currentRow,rows}); const result = rows.map((a) => ({ shareParamColumnCode: currentRow.columnCode, shareParamCode: a.shareParamCode, shareParamName: a.shareParamName, percent: a.percent })); const resp = await saveParamsList(result); 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); if (!bool) setCurrentRow(undefined) }} 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('filter')} /> } onChange={(e) => { set_tableDataSearchKeywords(e.target.value); if (e.target.value.length == 0) { set_tableDataFilterParams({ ...tableDataFilterParams, filter: '' }); } }} onPressEnter={(e) => { set_tableDataFilterParams({ ...tableDataFilterParams, filter: (e.target as HTMLInputElement).value }); }} />
getTableData(params)} />
) }