/*
* @Author: your name
* @Date: 2021-07-26 10:13:13
* @LastEditTime: 2021-08-13 14:31:32
* @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 } 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 CAUpload from '@/components/CAUpload';
import { getResponsibilityCenterList, editResponsibilityCenterList, delResponsibilityCenter, addResponsibilityCenter } from './service';
import { getApportionmentLevelListNoPage } from '../apportionmentLevel/service';
const responsibilityCenter = () => {
const columns = [
{
title: '责任中心名称',
dataIndex: 'responsibilityName',
key: 'responsibilityName',
hideInSearch: false,
width: '15%'
},
{
title: '责任中心编码',
dataIndex: 'responsibilityCode',
key: 'responsibilityCode',
hideInSearch: true,
},
{
title: '是否汇总中心',
dataIndex: 'isGatherCenter',
key: 'isGatherCenter',
hideInSearch: true,
render: (text) => <>{text == 1 ? '是' : '否'}>,
width: '15%'
},
{
title: '责任类型',
dataIndex: 'responsibilityType',
key: 'responsibilityType',
hideInSearch: true,
width: '15%',
render: (text) => <>{text == 1 ? '收益中心' : '成本(费用)中心'}>,
},
{
title: '分摊级别',
dataIndex: 'shareLevel',
key: 'shareLevel',
hideInSearch: true,
width: '10%'
},
{
title: '分摊级别名称',
dataIndex: 'shareName',
key: 'shareName',
hideInSearch: true,
width: '15%'
},
{
title:'操作',
dataIndex: 'option',
valueType: 'option',
width: '15%',
render: (_, record) => [
{
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({});
const [selectedLevelList,setSelectedLevelList] = useState(null); //可选的分摊层级列表
const [selectedLevel,setSelectedLevel] = useState(null);
/**
*
* @param {Boolean} bool 弹窗展示状态
*/
const updateModalVisibleChange = (bool) => {
handleUpdateModalVisible(bool);
if (!bool) setCurrentRow(undefined);
};
//获取科室列表
const getList = async (params = {}, sort, filter) => {
const res = await getResponsibilityCenterList(params);
// 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 delResponsibilityCenter(value);
if(resp.status==200){
if (actionRef.current) {
actionRef.current.reload();
}
}
};
//展开table
const expandedRowRender = (record, index, indent, expanded) => {
// console.log({ record, index, indent, expanded });
const _columns = columns.filter(item => !(['id'].includes(item.key)));
return (
);
};
return (
[
}
type="primary"
onClick={() => {
handleModalVisible(true);
}}
>
新增
]}
pagination={{
pageSize: 10,
}}
search={false}
/>
{
if (ref.current) {
ref.current.resetFields();
}
handleModalVisible(bool);
}}
formRef={ref}
onFinish={async (value) => {
// console.log({'新增':value,selectedLevel})
const body = {...value,shareName:selectedLevel.shareName,shareId:selectedLevel.id};
const success = await addResponsibilityCenter(body);
if (success) {
handleModalVisible(false);
if (actionRef.current) {
actionRef.current.reload();
}
}
}}
>
{
const res = await getResponsibilityCenterList();
if(res.status == 200){
// console.log({res});
const filter_arr = res.data.list.filter(item=>{
// console.log({item});
if(keyWords){
return item.responsibilityName.indexOf(keyWords) != -1
}else {
return item
}
});
const arr = filter_arr.map(item=>({label:item.responsibilityName, value:item.id}));
return arr;
}else {
return [];
}
}}
width='md'
placeholder="选择需要新增在哪个责任中心下,默认新增最外层"
rules={[{ required: false, message: '' }]}
/>
{
const resp = await getApportionmentLevelListNoPage();
const {status,data} = resp;
if(status==200){
const needItem = data.list.filter(item=>item.leverSort == val);
setSelectedLevel(needItem[0]);
}
},
}}
request={ async ()=>{
const resp = await getApportionmentLevelListNoPage();
const {status,data} = resp;
if(status==200){
setSelectedLevelList(data.list);
return data.list.map(item=>({label:`级别${item.leverSort}-${item.shareName}`,value:item.leverSort}))
}else{
return []
}
}}
width="sm"
name='shareLevel'
label="选择分摊级别"
/>
{/* 更新 */}
{
console.log({ '编辑': value });
const {responsibilityLevel,selectedLevel} = value;
const body = selectedLevel.length==0?{
//没有修改分摊层级
...value,shareLevelId:responsibilityLevel
}:{
//修改了分摊层级
...value,shareLevelId:selectedLevel[0].id
}
// console.log({'editBody':body});
// return;
const success = await editResponsibilityCenterList(body);
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 responsibilityCenter;