统一系统右键
This commit is contained in:
parent
3068ee9cd8
commit
691358a9e2
|
|
@ -1,17 +1,17 @@
|
||||||
import React from 'react';
|
import React from "react";
|
||||||
import { inject, observer } from 'mobx-react';
|
import { inject, observer } from "mobx-react";
|
||||||
import { toJS } from 'mobx';
|
import { toJS } from "mobx";
|
||||||
|
|
||||||
import { Button } from 'antd';
|
import { Button } from "antd";
|
||||||
import { WeaLogView } from 'comsMobx';
|
import { WeaLogView } from "comsMobx";
|
||||||
import { WeaTop, WeaRightMenu, WeaLocaleProvider, WeaNewScroll } from 'ecCom';
|
import { WeaLocaleProvider, WeaNewScroll, WeaTop } from "ecCom";
|
||||||
|
|
||||||
import { renderNoright, renderLoading, getSearchs } from '../util'; // 从util文件引入公共的方法
|
import { getSearchs, renderLoading, renderNoright } from "../util"; // 从util文件引入公共的方法
|
||||||
|
|
||||||
const getLabel = WeaLocaleProvider.getLabel;
|
const getLabel = WeaLocaleProvider.getLabel;
|
||||||
const WeaLogViewComp = WeaLogView.Component;
|
const WeaLogViewComp = WeaLogView.Component;
|
||||||
|
|
||||||
@inject('baseFormStore')
|
@inject("baseFormStore")
|
||||||
@observer
|
@observer
|
||||||
export default class BaseForm extends React.Component {
|
export default class BaseForm extends React.Component {
|
||||||
componentWillMount() { // 初始化渲染页面
|
componentWillMount() { // 初始化渲染页面
|
||||||
|
|
@ -31,24 +31,24 @@ export default class BaseForm extends React.Component {
|
||||||
const { baseFormStore: { setLogVisible, saveForm } } = this.props;
|
const { baseFormStore: { setLogVisible, saveForm } } = this.props;
|
||||||
let btnArr = [
|
let btnArr = [
|
||||||
{
|
{
|
||||||
key: 'BTN_SAVE',
|
key: "BTN_SAVE",
|
||||||
icon: <i className='icon-coms-Preservation'/>,
|
icon: <i className="icon-coms-Preservation"/>,
|
||||||
content : `${getLabel(86,'保存')}`,
|
content: `${getLabel(86, "保存")}`,
|
||||||
onClick : () => saveForm()
|
onClick: () => saveForm()
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 'log',
|
key: "log",
|
||||||
content: getLabel(83, '日志'),
|
content: getLabel(83, "日志"),
|
||||||
icon: <i className='icon-coms-Print-log' />,
|
icon: <i className="icon-coms-Print-log"/>,
|
||||||
onClick: () => setLogVisible(true),
|
onClick: () => setLogVisible(true)
|
||||||
},]
|
}];
|
||||||
return btnArr;
|
return btnArr;
|
||||||
}
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
/* 页面渲染说明:
|
/* 页面渲染说明:
|
||||||
1、判断是否无权限: 是显示无权限页面
|
1、判断是否无权限: 是显示无权限页面
|
||||||
2、渲染form页面:
|
2、渲染form页面:
|
||||||
2-1: WeaRightMenu 右键菜单
|
2-1: WeaRightMenu 右键菜单
|
||||||
2-2: WeaTop: 顶部: 包括下拉菜单
|
2-2: WeaTop: 顶部: 包括下拉菜单
|
||||||
2-3: renderLoading: 加载数据中的loading效果(统一封装在util中)
|
2-3: renderLoading: 加载数据中的loading效果(统一封装在util中)
|
||||||
|
|
@ -56,51 +56,56 @@ export default class BaseForm extends React.Component {
|
||||||
2-5: 通过getSearchs方法渲染form
|
2-5: 通过getSearchs方法渲染form
|
||||||
*/
|
*/
|
||||||
const { baseFormStore } = this.props;
|
const { baseFormStore } = this.props;
|
||||||
const { loading, hasRight, form, condition, logVisible, logStore, saveLoading, setLogVisible, saveForm } = baseFormStore; // 从后台取数据 和 方法
|
const {
|
||||||
|
loading,
|
||||||
|
hasRight,
|
||||||
|
form,
|
||||||
|
condition,
|
||||||
|
logVisible,
|
||||||
|
logStore,
|
||||||
|
saveLoading,
|
||||||
|
setLogVisible,
|
||||||
|
saveForm
|
||||||
|
} = baseFormStore; // 从后台取数据 和 方法
|
||||||
|
|
||||||
if (!hasRight && !loading) { // 无权限处理
|
if (!hasRight && !loading) { // 无权限处理
|
||||||
return renderNoright();
|
return renderNoright();
|
||||||
}
|
}
|
||||||
|
|
||||||
const btns = [ // 顶部按钮
|
const btns = [ // 顶部按钮
|
||||||
<Button type='primary' loading={saveLoading} onClick={() => saveForm()}>保存</Button>,
|
<Button type="primary" loading={saveLoading} onClick={() => saveForm()}>保存</Button>
|
||||||
];
|
];
|
||||||
const collectParams = { // 收藏功能配置
|
const collectParams = { // 收藏功能配置
|
||||||
favname: '基础表单',
|
favname: "基础表单",
|
||||||
favouritetype: 1,
|
favouritetype: 1,
|
||||||
objid: 0,
|
objid: 0,
|
||||||
link: 'wui/index.html#/ns_demo01/index',
|
link: "wui/index.html#/ns_demo01/index",
|
||||||
importantlevel: 1,
|
importantlevel: 1
|
||||||
};
|
};
|
||||||
return (
|
return (
|
||||||
<WeaRightMenu
|
<WeaTop
|
||||||
datas={this.getRightMenu()} // 右键菜单
|
title="基础表单" // title
|
||||||
collectParams={collectParams} // 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能
|
icon={<i className="icon-coms-fa"/>} // 左侧图标
|
||||||
|
iconBgcolor="#F14A2D" // 左侧图标背景色
|
||||||
|
buttons={btns} // 顶部按钮: 这里是保存按钮,不需要可以不显示
|
||||||
|
buttonSpace={10} // 按钮之间的间隔
|
||||||
|
showDropIcon={true} // 是否显示右侧下拉按钮
|
||||||
|
dropMenuDatas={this.getRightMenu()} // 下拉菜单(和页面的右键菜单相同)
|
||||||
|
dropMenuProps={{ collectParams }} // 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能
|
||||||
>
|
>
|
||||||
<WeaTop
|
{loading ? renderLoading() :
|
||||||
title="基础表单" // title
|
<WeaNewScroll height="100%">
|
||||||
icon={<i className="icon-coms-fa" />} // 左侧图标
|
{getSearchs(form, toJS(condition), 1)}
|
||||||
iconBgcolor='#F14A2D' // 左侧图标背景色
|
</WeaNewScroll>
|
||||||
buttons={btns} // 顶部按钮: 这里是保存按钮,不需要可以不显示
|
}
|
||||||
buttonSpace={10} // 按钮之间的间隔
|
<WeaLogViewComp // 日志功能(一般后端的应用设置是需要的)
|
||||||
showDropIcon={true} // 是否显示右侧下拉按钮
|
visible={logVisible} // 日志弹框的显示隐藏
|
||||||
dropMenuDatas={this.getRightMenu()} // 下拉菜单(和页面的右键菜单相同)
|
onCancel={() => setLogVisible(false)} // 关闭日志弹框时的操作:设置logVisible属性为false
|
||||||
dropMenuProps={{ collectParams }} // 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能
|
logStore={logStore} // 日志的store
|
||||||
>
|
logType="1" // 模块编码: 该参数要根据模块来给
|
||||||
{loading ? renderLoading() :
|
logSmallType="1" // 细分模块编码: 该参数要根据模块来给
|
||||||
<WeaNewScroll height='100%'>
|
/>
|
||||||
{getSearchs(form, toJS(condition), 1)}
|
</WeaTop>
|
||||||
</WeaNewScroll>
|
);
|
||||||
}
|
|
||||||
<WeaLogViewComp // 日志功能(一般后端的应用设置是需要的)
|
|
||||||
visible={logVisible} // 日志弹框的显示隐藏
|
|
||||||
onCancel={() => setLogVisible(false)} // 关闭日志弹框时的操作:设置logVisible属性为false
|
|
||||||
logStore={logStore} // 日志的store
|
|
||||||
logType="1" // 模块编码: 该参数要根据模块来给
|
|
||||||
logSmallType="1" // 细分模块编码: 该参数要根据模块来给
|
|
||||||
/>
|
|
||||||
</WeaTop>
|
|
||||||
</WeaRightMenu>
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import { inject, observer } from "mobx-react";
|
import { inject, observer } from "mobx-react";
|
||||||
import { Button, DatePicker, Dropdown, Menu, message, Modal } from "antd";
|
import { Button, DatePicker, Dropdown, Menu, message, Modal } from "antd";
|
||||||
import { WeaInputSearch, WeaRightMenu, WeaTop } from "ecCom";
|
import { WeaInputSearch, WeaTop } from "ecCom";
|
||||||
import { renderNoright } from "../../util"; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
|
import { renderNoright } from "../../util"; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
|
||||||
import CustomTab from "../../components/customTab";
|
import CustomTab from "../../components/customTab";
|
||||||
|
|
||||||
|
|
@ -372,60 +372,56 @@ export default class Calculate extends React.Component {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="mySalaryBenefitsWrapper">
|
<div className="mySalaryBenefitsWrapper">
|
||||||
<WeaRightMenu
|
{/* 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能 */}
|
||||||
datas={rightMenu} // 右键菜单
|
<WeaTop
|
||||||
collectParams={collectParams}>
|
title="薪资核算" // 文字
|
||||||
|
icon={<i className="icon-coms-fa"/>} // 左侧图标
|
||||||
|
iconBgcolor="#F14A2D" // 左侧图标背景色
|
||||||
|
showDropIcon={false} // 是否显示下拉按钮
|
||||||
|
dropMenuDatas={rightMenu} // 下拉菜单(和页面的右键菜单相同)
|
||||||
|
dropMenuProps={{ collectParams }}>
|
||||||
{/* 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能 */}
|
{/* 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能 */}
|
||||||
<WeaTop
|
<CustomTab
|
||||||
title="薪资核算" // 文字
|
searchOperationItem={renderRightOperation()}
|
||||||
icon={<i className="icon-coms-fa"/>} // 左侧图标
|
onChange={v => {
|
||||||
iconBgcolor="#F14A2D" // 左侧图标背景色
|
}}
|
||||||
showDropIcon={false} // 是否显示下拉按钮
|
/>
|
||||||
dropMenuDatas={rightMenu} // 下拉菜单(和页面的右键菜单相同)
|
<CustomPaginationTable
|
||||||
dropMenuProps={{ collectParams }}>
|
loading={loading}
|
||||||
{/* 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能 */}
|
columns={this.getColumns()}
|
||||||
<CustomTab
|
dataSource={salaryListDataSource}
|
||||||
searchOperationItem={renderRightOperation()}
|
total={salaryListPageInfo.total}
|
||||||
onChange={v => {
|
current={salaryListPageInfo.pageNum}
|
||||||
}}
|
pageSize={this.pageInfo.pageSize}
|
||||||
/>
|
onPageChange={value => {
|
||||||
<CustomPaginationTable
|
this.handleDataPageChange(value);
|
||||||
loading={loading}
|
}}
|
||||||
columns={this.getColumns()}
|
onShowSizeChange={(current, pageSize) => {
|
||||||
dataSource={salaryListDataSource}
|
this.pageInfo = { current, pageSize };
|
||||||
total={salaryListPageInfo.total}
|
this.handleShowSizeChange(this.pageInfo);
|
||||||
current={salaryListPageInfo.pageNum}
|
}}
|
||||||
pageSize={this.pageInfo.pageSize}
|
/>
|
||||||
onPageChange={value => {
|
</WeaTop>
|
||||||
this.handleDataPageChange(value);
|
{/*归档进度条*/}
|
||||||
}}
|
{
|
||||||
onShowSizeChange={(current, pageSize) => {
|
this.state.progressVisible &&
|
||||||
this.pageInfo = { current, pageSize };
|
<ProgressModal
|
||||||
this.handleShowSizeChange(this.pageInfo);
|
title="正在归档请稍后"
|
||||||
}}
|
visible={this.state.progressVisible}
|
||||||
/>
|
onCancel={() => {
|
||||||
</WeaTop>
|
this.setState({ progressVisible: false, progress: 0 });
|
||||||
{/*归档进度条*/}
|
}}
|
||||||
{
|
progress={this.state.progress}
|
||||||
this.state.progressVisible &&
|
/>
|
||||||
<ProgressModal
|
}
|
||||||
title="正在归档请稍后"
|
{this.state.baseFormVisible &&
|
||||||
visible={this.state.progressVisible}
|
<BaseFormModal
|
||||||
onCancel={() => {
|
visible={this.state.baseFormVisible}
|
||||||
this.setState({ progressVisible: false, progress: 0 });
|
onRefresh={() => this.handleSearch(this.state.searchValue)}
|
||||||
}}
|
onCancel={() => {
|
||||||
progress={this.state.progress}
|
this.setState({ baseFormVisible: false });
|
||||||
/>
|
}}
|
||||||
}
|
/>}
|
||||||
{this.state.baseFormVisible &&
|
|
||||||
<BaseFormModal
|
|
||||||
visible={this.state.baseFormVisible}
|
|
||||||
onRefresh={() => this.handleSearch(this.state.searchValue)}
|
|
||||||
onCancel={() => {
|
|
||||||
this.setState({ baseFormVisible: false });
|
|
||||||
}}
|
|
||||||
/>}
|
|
||||||
</WeaRightMenu>
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import { inject, observer } from "mobx-react";
|
import { inject, observer } from "mobx-react";
|
||||||
import { Button, Col, DatePicker, Dropdown, Menu, message, Modal, Row, Switch } from "antd";
|
import { Button, Col, DatePicker, Dropdown, Menu, message, Modal, Row, Switch } from "antd";
|
||||||
import { WeaDatePicker, WeaInputSearch, WeaRightMenu, WeaSelect, WeaSlideModal, WeaTop } from "ecCom";
|
import { WeaDatePicker, WeaInputSearch, WeaSelect, WeaSlideModal, WeaTop } from "ecCom";
|
||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
import { renderNoright } from "../../../util"; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
|
import { renderNoright } from "../../../util"; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
|
||||||
import CustomTab from "../../../components/customTab";
|
import CustomTab from "../../../components/customTab";
|
||||||
|
|
@ -17,7 +17,7 @@ import TwoColContent from "../../../components/twoColContent";
|
||||||
import TipLabel from "../../../components/TipLabel";
|
import TipLabel from "../../../components/TipLabel";
|
||||||
import ItemMangeFormModal from "./itemMangeFormModal";
|
import ItemMangeFormModal from "./itemMangeFormModal";
|
||||||
import CustomPaginationTable from "../../../components/customPaginationTable";
|
import CustomPaginationTable from "../../../components/customPaginationTable";
|
||||||
import "../otherDeduct/index.less"
|
import "../otherDeduct/index.less";
|
||||||
|
|
||||||
const MonthPicker = DatePicker.MonthPicker;
|
const MonthPicker = DatePicker.MonthPicker;
|
||||||
|
|
||||||
|
|
@ -284,13 +284,16 @@ export default class Attendance extends React.Component {
|
||||||
const { attendanceStore, taxAgentStore: { showOperateBtn } } = this.props;
|
const { attendanceStore, taxAgentStore: { showOperateBtn } } = this.props;
|
||||||
const { modalParam } = this.state;
|
const { modalParam } = this.state;
|
||||||
const { loading, hasRight, tableStore } = attendanceStore;
|
const { loading, hasRight, tableStore } = attendanceStore;
|
||||||
const { step, setStep, setSlideVisiable, slideVisiable, doBatchDelete,searchFieldSettingList,
|
const {
|
||||||
fieldSettingAttendList, fieldSettingCustomList, setFieldSettingAttendList, setFieldSettingCustomList,
|
step, setStep, setSlideVisiable, slideVisiable, doBatchDelete, searchFieldSettingList,
|
||||||
|
fieldSettingAttendList, fieldSettingCustomList, setFieldSettingAttendList, setFieldSettingCustomList
|
||||||
} = attendanceStore;
|
} = attendanceStore;
|
||||||
const { getAttendanceFieldSettingList, saveAttendanceFieldSetting, fieldDataSource,
|
const {
|
||||||
|
getAttendanceFieldSettingList, saveAttendanceFieldSetting, fieldDataSource,
|
||||||
fieldTableStore, fieldPageInfo, attendanceDataSource, attendanceColumns,
|
fieldTableStore, fieldPageInfo, attendanceDataSource, attendanceColumns,
|
||||||
attendancePageInfo, importLedgerList, previewAttendQuoteColumns, previewAttendQuoteDataSource,
|
attendancePageInfo, importLedgerList, previewAttendQuoteColumns, previewAttendQuoteDataSource,
|
||||||
importResult, cycle } = attendanceStore;
|
importResult, cycle
|
||||||
|
} = attendanceStore;
|
||||||
|
|
||||||
if (!hasRight && !loading) {
|
if (!hasRight && !loading) {
|
||||||
// 无权限处理
|
// 无权限处理
|
||||||
|
|
@ -624,11 +627,11 @@ export default class Attendance extends React.Component {
|
||||||
attendanceStore: { saveAttendanceField, getAttendanceFieldList }
|
attendanceStore: { saveAttendanceField, getAttendanceFieldList }
|
||||||
} = this.props;
|
} = this.props;
|
||||||
value.fieldType = value.fieldType == "1" ? "NUMBER" : "TEXT";
|
value.fieldType = value.fieldType == "1" ? "NUMBER" : "TEXT";
|
||||||
saveAttendanceField(value).then(()=>{
|
saveAttendanceField(value).then(() => {
|
||||||
this.fieldSearch = { fieldName: this.state.fieldName };
|
this.fieldSearch = { fieldName: this.state.fieldName };
|
||||||
getAttendanceFieldList(this.fieldSearch);
|
getAttendanceFieldList(this.fieldSearch);
|
||||||
this.setState({ itemMangeVisible: false });
|
this.setState({ itemMangeVisible: false });
|
||||||
})
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleItemMangeUpdate = value => {
|
const handleItemMangeUpdate = value => {
|
||||||
|
|
@ -687,94 +690,90 @@ export default class Attendance extends React.Component {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="mySalaryBenefitsWrapper">
|
<div className="mySalaryBenefitsWrapper">
|
||||||
<WeaRightMenu
|
<WeaTop
|
||||||
datas={rightMenu} // 右键菜单
|
title="考勤引用" // 文字
|
||||||
collectParams={collectParams}>
|
icon={<i className="icon-coms-fa"/>} // 左侧图标
|
||||||
<WeaTop
|
iconBgcolor="#F14A2D" // 左侧图标背景色
|
||||||
title="考勤引用" // 文字
|
showDropIcon={false} // 是否显示下拉按钮
|
||||||
icon={<i className="icon-coms-fa"/>} // 左侧图标
|
dropMenuDatas={rightMenu} // 下拉菜单(和页面的右键菜单相同)
|
||||||
iconBgcolor="#F14A2D" // 左侧图标背景色
|
dropMenuProps={{ collectParams }}>
|
||||||
showDropIcon={false} // 是否显示下拉按钮
|
{this.state.tabSelectedKey == 0
|
||||||
dropMenuDatas={rightMenu} // 下拉菜单(和页面的右键菜单相同)
|
? <div>
|
||||||
dropMenuProps={{ collectParams }}>
|
<CustomTab
|
||||||
{this.state.tabSelectedKey == 0
|
topTab={topTab}
|
||||||
? <div>
|
searchOperationItem={renderSearchOperationItem()}
|
||||||
<CustomTab
|
onChange={v => {
|
||||||
topTab={topTab}
|
this.pageInfo = { current: 1, pageSize: 10 };
|
||||||
searchOperationItem={renderSearchOperationItem()}
|
handleTabChange(v);
|
||||||
onChange={v => {
|
}}
|
||||||
this.pageInfo = { current: 1, pageSize: 10 };
|
/>
|
||||||
handleTabChange(v);
|
<CustomTab
|
||||||
}}
|
leftOperation={renderLeftOperation()}
|
||||||
/>
|
onChange={v => {
|
||||||
<CustomTab
|
}}
|
||||||
leftOperation={renderLeftOperation()}
|
/>
|
||||||
onChange={v => {
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
|
|
||||||
<CustomPaginationTable
|
<CustomPaginationTable
|
||||||
loading={loading}
|
loading={loading}
|
||||||
columns={this.getColumns(attendanceColumns)}
|
columns={this.getColumns(attendanceColumns)}
|
||||||
dataSource={attendanceDataSource}
|
dataSource={attendanceDataSource}
|
||||||
total={attendancePageInfo.total}
|
total={attendancePageInfo.total}
|
||||||
current={attendancePageInfo.pageNum}
|
current={attendancePageInfo.pageNum}
|
||||||
pageSize={this.pageInfo.pageSize}
|
pageSize={this.pageInfo.pageSize}
|
||||||
onPageChange={value => {
|
onPageChange={value => {
|
||||||
this.pageInfo.current = value;
|
this.pageInfo.current = value;
|
||||||
this.handleDataPageChange(value);
|
this.handleDataPageChange(value);
|
||||||
}}
|
}}
|
||||||
onShowSizeChange={(current, pageSize) => {
|
onShowSizeChange={(current, pageSize) => {
|
||||||
this.pageInfo = { current, pageSize };
|
this.pageInfo = { current, pageSize };
|
||||||
this.handleDataShowSizeChange(this.pageInfo);
|
this.handleDataShowSizeChange(this.pageInfo);
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
: <div>
|
: <div>
|
||||||
<CustomTab
|
<CustomTab
|
||||||
topTab={topTab}
|
topTab={topTab}
|
||||||
searchOperationItem={renderRightOperation()}
|
searchOperationItem={renderRightOperation()}
|
||||||
onChange={v => {
|
onChange={v => {
|
||||||
this.setState({
|
this.setState({
|
||||||
tabSelectedKey: v
|
tabSelectedKey: v
|
||||||
},()=>{
|
}, () => {
|
||||||
this.pageInfo = { current: 1, pageSize: 10 };
|
this.pageInfo = { current: 1, pageSize: 10 };
|
||||||
});
|
});
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<TwoColContent
|
<TwoColContent
|
||||||
leftContent={
|
leftContent={
|
||||||
<CustomPaginationTable
|
<CustomPaginationTable
|
||||||
loading={loading}
|
loading={loading}
|
||||||
dataSource={fieldDataSource}
|
dataSource={fieldDataSource}
|
||||||
columns={getFieldColumns(
|
columns={getFieldColumns(
|
||||||
fieldTableStore.columns ? fieldTableStore.columns : []
|
fieldTableStore.columns ? fieldTableStore.columns : []
|
||||||
)}
|
)}
|
||||||
total={fieldPageInfo.total}
|
total={fieldPageInfo.total}
|
||||||
current={fieldPageInfo.pageNum}
|
current={fieldPageInfo.pageNum}
|
||||||
pageSize={this.pageInfo.pageSize}
|
pageSize={this.pageInfo.pageSize}
|
||||||
onPageChange={value => {
|
onPageChange={value => {
|
||||||
this.pageInfo.current = value;
|
this.pageInfo.current = value;
|
||||||
this.handleFieldPageChange(value);
|
this.handleFieldPageChange(value);
|
||||||
}}
|
}}
|
||||||
onShowSizeChange={(current, pageSize) => {
|
onShowSizeChange={(current, pageSize) => {
|
||||||
this.pageInfo = { current, pageSize };
|
this.pageInfo = { current, pageSize };
|
||||||
this.handleFieldShowSizeChange(this.pageInfo);
|
this.handleFieldShowSizeChange(this.pageInfo);
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
}
|
}
|
||||||
rightContent={
|
rightContent={
|
||||||
<TipLabel
|
<TipLabel
|
||||||
tipList={[
|
tipList={[
|
||||||
"1、考勤字段包含自定义字段和考勤模块的统计字段,所有字段不可重名;",
|
"1、考勤字段包含自定义字段和考勤模块的统计字段,所有字段不可重名;",
|
||||||
"2、停用自定义字段将影响其参与计算的账套核算;"
|
"2、停用自定义字段将影响其参与计算的账套核算;"
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
</div>}
|
</div>}
|
||||||
</WeaTop>
|
</WeaTop>
|
||||||
</WeaRightMenu>
|
|
||||||
<ImportModal
|
<ImportModal
|
||||||
init={() => {
|
init={() => {
|
||||||
this.handleInitImportModal();
|
this.handleInitImportModal();
|
||||||
|
|
@ -892,7 +891,7 @@ export default class Attendance extends React.Component {
|
||||||
measure={"%"}
|
measure={"%"}
|
||||||
title={
|
title={
|
||||||
<SlideModalTitle
|
<SlideModalTitle
|
||||||
subtitle='考勤数据'
|
subtitle="考勤数据"
|
||||||
editable={false}
|
editable={false}
|
||||||
showOperateBtn={showOperateBtn}
|
showOperateBtn={showOperateBtn}
|
||||||
customOperate={renderCustomOperate()}
|
customOperate={renderCustomOperate()}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ import React from "react";
|
||||||
import { inject, observer } from "mobx-react";
|
import { inject, observer } from "mobx-react";
|
||||||
import { toJS } from "mobx";
|
import { toJS } from "mobx";
|
||||||
import { Button, Col, Dropdown, Menu, message, Modal, Popover, Row } from "antd";
|
import { Button, Col, Dropdown, Menu, message, Modal, Popover, Row } from "antd";
|
||||||
import { WeaDatePicker, WeaHelpfulTip, WeaRightMenu, WeaSelect, WeaSlideModal, WeaTab, WeaTable, WeaTop } from "ecCom";
|
import { WeaDatePicker, WeaHelpfulTip, WeaSelect, WeaSlideModal, WeaTab, WeaTable, WeaTop } from "ecCom";
|
||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
import { getSearchs, renderLoading } from "../../../util"; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
|
import { getSearchs, renderLoading } from "../../../util"; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
|
||||||
import ImportModal from "../../../components/importModal";
|
import ImportModal from "../../../components/importModal";
|
||||||
|
|
@ -701,42 +701,38 @@ export default class CumDeduct extends React.Component {
|
||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
<div className="cumDeductWrapper">
|
<div className="cumDeductWrapper">
|
||||||
<WeaRightMenu
|
<WeaTop
|
||||||
datas={rightMenu} // 右键菜单
|
title="累计专项附加扣除" // 文字
|
||||||
|
icon={<i className="icon-coms-fa"/>} // 左侧图标
|
||||||
|
iconBgcolor="#F14A2D" // 左侧图标背景色
|
||||||
|
showDropIcon={false} // 是否显示下拉按钮
|
||||||
|
dropMenuDatas={rightMenu} // 下拉菜单(和页面的右键菜单相同)
|
||||||
|
buttons={showOperateBtn ? btns : []}
|
||||||
>
|
>
|
||||||
<WeaTop
|
<div className="weaTabWrapper">
|
||||||
title="累计专项附加扣除" // 文字
|
<WeaTab
|
||||||
icon={<i className="icon-coms-fa"/>} // 左侧图标
|
searchType={["base", "advanced"]} // base:基础搜索框 advanced:显示高级搜索按钮
|
||||||
iconBgcolor="#F14A2D" // 左侧图标背景色
|
searchsBasePlaceHolder="请输入姓名"
|
||||||
showDropIcon={false} // 是否显示下拉按钮
|
showSearchAd={showSearchAd} // 是否展开高级搜索面板
|
||||||
dropMenuDatas={rightMenu} // 下拉菜单(和页面的右键菜单相同)
|
setShowSearchAd={(bool) => setShowSearchAd(bool)} //高级搜索面板受控
|
||||||
buttons={showOperateBtn ? btns : []}
|
searchsAd={getSearchs(form, toJS(condition), 2)} // 高级搜索内部数据
|
||||||
>
|
buttonsAd={adBtn} // 高级搜索内部按钮
|
||||||
<div className="weaTabWrapper">
|
onSearch={() => this.handleSearch()} // 点搜索按钮时的回调
|
||||||
<WeaTab
|
searchsAdQuick={this.getSearchsAdQuick()}
|
||||||
searchType={["base", "advanced"]} // base:基础搜索框 advanced:显示高级搜索按钮
|
onSearchChange={(v) => form.updateFields({ username: v })} // 在搜索框中输入的文字改变时的回调: 这里需要同步高级搜索和外部搜索框的值
|
||||||
searchsBasePlaceHolder="请输入姓名"
|
searchsBaseValue={form.getFormParams().username} // 外部input搜索值受控: 这里和高级搜索的requestname同步
|
||||||
showSearchAd={showSearchAd} // 是否展开高级搜索面板
|
|
||||||
setShowSearchAd={(bool) => setShowSearchAd(bool)} //高级搜索面板受控
|
|
||||||
searchsAd={getSearchs(form, toJS(condition), 2)} // 高级搜索内部数据
|
|
||||||
buttonsAd={adBtn} // 高级搜索内部按钮
|
|
||||||
onSearch={() => this.handleSearch()} // 点搜索按钮时的回调
|
|
||||||
searchsAdQuick={this.getSearchsAdQuick()}
|
|
||||||
onSearchChange={(v) => form.updateFields({ username: v })} // 在搜索框中输入的文字改变时的回调: 这里需要同步高级搜索和外部搜索框的值
|
|
||||||
searchsBaseValue={form.getFormParams().username} // 外部input搜索值受控: 这里和高级搜索的requestname同步
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<WeaTable
|
|
||||||
rowKey="id"
|
|
||||||
rowSelection={rowSelection}
|
|
||||||
columns={newColumns}
|
|
||||||
dataSource={dataSource}
|
|
||||||
pagination={pagination}
|
|
||||||
loading={loading}
|
|
||||||
scroll={{ x: 1300 }}
|
|
||||||
/>
|
/>
|
||||||
</WeaTop>
|
</div>
|
||||||
</WeaRightMenu>
|
<WeaTable
|
||||||
|
rowKey="id"
|
||||||
|
rowSelection={rowSelection}
|
||||||
|
columns={newColumns}
|
||||||
|
dataSource={dataSource}
|
||||||
|
pagination={pagination}
|
||||||
|
loading={loading}
|
||||||
|
scroll={{ x: 1300 }}
|
||||||
|
/>
|
||||||
|
</WeaTop>
|
||||||
{modalVisiable && (
|
{modalVisiable && (
|
||||||
<ImportModal
|
<ImportModal
|
||||||
needimportSelected //下载模板需要带上导入所选项
|
needimportSelected //下载模板需要带上导入所选项
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ import React from "react";
|
||||||
import { inject, observer } from "mobx-react";
|
import { inject, observer } from "mobx-react";
|
||||||
import { toJS } from "mobx";
|
import { toJS } from "mobx";
|
||||||
import { Button, Col, Dropdown, Menu, message, Modal, Popover, Row } from "antd";
|
import { Button, Col, Dropdown, Menu, message, Modal, Popover, Row } from "antd";
|
||||||
import { WeaDatePicker, WeaHelpfulTip, WeaRightMenu, WeaSelect, WeaSlideModal, WeaTab, WeaTable, WeaTop } from "ecCom";
|
import { WeaDatePicker, WeaHelpfulTip, WeaSelect, WeaSlideModal, WeaTab, WeaTable, WeaTop } from "ecCom";
|
||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
import { getSearchs, renderLoading } from "../../../util"; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
|
import { getSearchs, renderLoading } from "../../../util"; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
|
||||||
import ImportModal from "../../../components/importModal";
|
import ImportModal from "../../../components/importModal";
|
||||||
|
|
@ -650,40 +650,38 @@ export default class CumSituation extends React.Component {
|
||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
<div className="cumDeductWrapper">
|
<div className="cumDeductWrapper">
|
||||||
<WeaRightMenu datas={rightMenu}>
|
<WeaTop
|
||||||
<WeaTop
|
title="往期累计情况(工资、薪金)" // 文字
|
||||||
title="往期累计情况(工资、薪金)" // 文字
|
icon={<i className="icon-coms-fa"/>} // 左侧图标
|
||||||
icon={<i className="icon-coms-fa"/>} // 左侧图标
|
iconBgcolor="#F14A2D" // 左侧图标背景色
|
||||||
iconBgcolor="#F14A2D" // 左侧图标背景色
|
showDropIcon={false} // 是否显示下拉按钮
|
||||||
showDropIcon={false} // 是否显示下拉按钮
|
dropMenuDatas={rightMenu} // 下拉菜单(和页面的右键菜单相同)
|
||||||
dropMenuDatas={rightMenu} // 下拉菜单(和页面的右键菜单相同)
|
dropMenuProps={{ collectParams }} // 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能
|
||||||
dropMenuProps={{ collectParams }} // 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能
|
buttons={showOperateBtn ? btns : []}>
|
||||||
buttons={showOperateBtn ? btns : []}>
|
<div className="weaTabWrapper">
|
||||||
<div className="weaTabWrapper">
|
<WeaTab
|
||||||
<WeaTab
|
searchType={["base", "advanced"]} // base:基础搜索框 advanced:显示高级搜索按钮
|
||||||
searchType={["base", "advanced"]} // base:基础搜索框 advanced:显示高级搜索按钮
|
searchsBasePlaceHolder={"请输入姓名"}
|
||||||
searchsBasePlaceHolder={"请输入姓名"}
|
showSearchAd={showSearchAd} // 是否展开高级搜索面板
|
||||||
showSearchAd={showSearchAd} // 是否展开高级搜索面板
|
setShowSearchAd={bool => setShowSearchAd(bool)} //高级搜索面板受控
|
||||||
setShowSearchAd={bool => setShowSearchAd(bool)} //高级搜索面板受控
|
searchsAd={getSearchs(form, toJS(condition), 2)} // 高级搜索内部数据
|
||||||
searchsAd={getSearchs(form, toJS(condition), 2)} // 高级搜索内部数据
|
buttonsAd={adBtn} // 高级搜索内部按钮
|
||||||
buttonsAd={adBtn} // 高级搜索内部按钮
|
onSearch={() => this.handleSearch()} // 点搜索按钮时的回调
|
||||||
onSearch={() => this.handleSearch()} // 点搜索按钮时的回调
|
searchsAdQuick={this.getSearchsAdQuick()}
|
||||||
searchsAdQuick={this.getSearchsAdQuick()}
|
onSearchChange={v => form.updateFields({ username: v })} // 在搜索框中输入的文字改变时的回调: 这里需要同步高级搜索和外部搜索框的值
|
||||||
onSearchChange={v => form.updateFields({ username: v })} // 在搜索框中输入的文字改变时的回调: 这里需要同步高级搜索和外部搜索框的值
|
searchsBaseValue={form.getFormParams().username} // 外部input搜索值受控: 这里和高级搜索的requestname同步
|
||||||
searchsBaseValue={form.getFormParams().username} // 外部input搜索值受控: 这里和高级搜索的requestname同步
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<WeaTable
|
|
||||||
rowKey="id"
|
|
||||||
rowSelection={rowSelection}
|
|
||||||
columns={newColumns}
|
|
||||||
dataSource={dataSource}
|
|
||||||
pagination={pagination}
|
|
||||||
loading={loading}
|
|
||||||
scroll={{ x: 1300 }}
|
|
||||||
/>
|
/>
|
||||||
</WeaTop>
|
</div>
|
||||||
</WeaRightMenu>
|
<WeaTable
|
||||||
|
rowKey="id"
|
||||||
|
rowSelection={rowSelection}
|
||||||
|
columns={newColumns}
|
||||||
|
dataSource={dataSource}
|
||||||
|
pagination={pagination}
|
||||||
|
loading={loading}
|
||||||
|
scroll={{ x: 1300 }}
|
||||||
|
/>
|
||||||
|
</WeaTop>
|
||||||
{modalVisiable &&
|
{modalVisiable &&
|
||||||
<ImportModal
|
<ImportModal
|
||||||
init={() => {
|
init={() => {
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ import React from "react";
|
||||||
import { inject, observer } from "mobx-react";
|
import { inject, observer } from "mobx-react";
|
||||||
import { toJS } from "mobx";
|
import { toJS } from "mobx";
|
||||||
import { Button, Col, Dropdown, Menu, message, Modal, Popover, Row } from "antd";
|
import { Button, Col, Dropdown, Menu, message, Modal, Popover, Row } from "antd";
|
||||||
import { WeaDatePicker, WeaHelpfulTip, WeaRightMenu, WeaSelect, WeaSlideModal, WeaTab, WeaTable, WeaTop } from "ecCom";
|
import { WeaDatePicker, WeaHelpfulTip, WeaSelect, WeaSlideModal, WeaTab, WeaTable, WeaTop } from "ecCom";
|
||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
import { getSearchs, renderLoading } from "../../../util"; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
|
import { getSearchs, renderLoading } from "../../../util"; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
|
||||||
import ImportModal from "../../../components/importModal";
|
import ImportModal from "../../../components/importModal";
|
||||||
|
|
@ -13,7 +13,6 @@ import EditSlideContent from "./editSlideContent";
|
||||||
import { optionAddAll } from "../../../util/options";
|
import { optionAddAll } from "../../../util/options";
|
||||||
import * as API from "../../../apis/otherDeduct";
|
import * as API from "../../../apis/otherDeduct";
|
||||||
import "./index.less";
|
import "./index.less";
|
||||||
import { extendToLastMonth } from "../../../apis/otherDeduct";
|
|
||||||
|
|
||||||
|
|
||||||
@inject("otherDeductStore", "taxAgentStore")
|
@inject("otherDeductStore", "taxAgentStore")
|
||||||
|
|
@ -244,7 +243,7 @@ export default class OtherDeduct extends React.Component {
|
||||||
|
|
||||||
//新功能
|
//新功能
|
||||||
handleCreateData = (payload) => {
|
handleCreateData = (payload) => {
|
||||||
const { editId }= this.state;
|
const { editId } = this.state;
|
||||||
this.setState({ saveLoading: true });
|
this.setState({ saveLoading: true });
|
||||||
if (!_.isEmpty(editId)) {
|
if (!_.isEmpty(editId)) {
|
||||||
API.editData({ ...payload, id: editId.id }).then(({ status, errormsg }) => {
|
API.editData({ ...payload, id: editId.id }).then(({ status, errormsg }) => {
|
||||||
|
|
@ -296,7 +295,7 @@ export default class OtherDeduct extends React.Component {
|
||||||
if (key === "edit") {
|
if (key === "edit") {
|
||||||
this.setState({
|
this.setState({
|
||||||
addVisible: true
|
addVisible: true
|
||||||
},()=>{
|
}, () => {
|
||||||
API.getData({ id: row.id }).then(({ status, data }) => {
|
API.getData({ id: row.id }).then(({ status, data }) => {
|
||||||
if (status) {
|
if (status) {
|
||||||
this.setState({ editId: data });
|
this.setState({ editId: data });
|
||||||
|
|
@ -386,15 +385,15 @@ export default class OtherDeduct extends React.Component {
|
||||||
};
|
};
|
||||||
|
|
||||||
//沿用上月
|
//沿用上月
|
||||||
extendToLastMonth= ()=>{
|
extendToLastMonth = () => {
|
||||||
const { monthValue: declareMonth, taxAgentId } = this.state;
|
const { monthValue: declareMonth, taxAgentId } = this.state;
|
||||||
const { otherDeductStore: { doSearch } } = this.props;
|
const { otherDeductStore: { doSearch } } = this.props;
|
||||||
const payload= {
|
const payload = {
|
||||||
declareMonth,
|
declareMonth,
|
||||||
taxAgentId: taxAgentId === "All" ? "" : taxAgentId,
|
taxAgentId: taxAgentId === "All" ? "" : taxAgentId
|
||||||
}
|
};
|
||||||
this.setState({ lastLoading: true });
|
this.setState({ lastLoading: true });
|
||||||
API.extendToLastMonth(payload).then(({ status, data, errormsg })=>{
|
API.extendToLastMonth(payload).then(({ status, data, errormsg }) => {
|
||||||
this.setState({ lastLoading: false });
|
this.setState({ lastLoading: false });
|
||||||
if (status) {
|
if (status) {
|
||||||
message.success(data || "操作成功");
|
message.success(data || "操作成功");
|
||||||
|
|
@ -406,7 +405,7 @@ export default class OtherDeduct extends React.Component {
|
||||||
message.error(errormsg || "操作失败");
|
message.error(errormsg || "操作失败");
|
||||||
}
|
}
|
||||||
}).catch(() => this.setState({ lastLoading: false }));
|
}).catch(() => this.setState({ lastLoading: false }));
|
||||||
}
|
};
|
||||||
|
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
|
|
@ -442,7 +441,16 @@ export default class OtherDeduct extends React.Component {
|
||||||
setPageObj
|
setPageObj
|
||||||
} = otherDeductStore;
|
} = otherDeductStore;
|
||||||
const selectedRowKeys = toJS(tableStore.selectedRowKeys) || [];
|
const selectedRowKeys = toJS(tableStore.selectedRowKeys) || [];
|
||||||
const { modalParam, monthValue, taxAgentId, slideSelectedKey, addVisible, editId, saveLoading, lastLoading } = this.state;
|
const {
|
||||||
|
modalParam,
|
||||||
|
monthValue,
|
||||||
|
taxAgentId,
|
||||||
|
slideSelectedKey,
|
||||||
|
addVisible,
|
||||||
|
editId,
|
||||||
|
saveLoading,
|
||||||
|
lastLoading
|
||||||
|
} = this.state;
|
||||||
|
|
||||||
const detailSelectedRowKeys = toJS(slideTableStore.selectedRowKeys) || [];
|
const detailSelectedRowKeys = toJS(slideTableStore.selectedRowKeys) || [];
|
||||||
|
|
||||||
|
|
@ -542,7 +550,7 @@ export default class OtherDeduct extends React.Component {
|
||||||
this.setState({
|
this.setState({
|
||||||
addVisible: true,
|
addVisible: true,
|
||||||
editId: {}
|
editId: {}
|
||||||
},()=>addForm.resetForm());
|
}, () => addForm.resetForm());
|
||||||
}}>
|
}}>
|
||||||
新建
|
新建
|
||||||
</Button>,
|
</Button>,
|
||||||
|
|
@ -678,39 +686,37 @@ export default class OtherDeduct extends React.Component {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="cumDeductWrapper">
|
<div className="cumDeductWrapper">
|
||||||
<WeaRightMenu datas={rightMenu}>
|
<WeaTop
|
||||||
<WeaTop
|
title="其他免税扣除" // 文字
|
||||||
title="其他免税扣除" // 文字
|
icon={<i className="icon-coms-meeting"/>} // 左侧图标
|
||||||
icon={<i className="icon-coms-meeting"/>} // 左侧图标
|
iconBgcolor="#F14A2D" // 左侧图标背景色
|
||||||
iconBgcolor="#F14A2D" // 左侧图标背景色
|
showDropIcon={false} // 是否显示下拉按钮
|
||||||
showDropIcon={false} // 是否显示下拉按钮
|
dropMenuDatas={rightMenu} // 下拉菜单(和页面的右键菜单相同)
|
||||||
dropMenuDatas={rightMenu} // 下拉菜单(和页面的右键菜单相同)
|
dropMenuProps={{ collectParams }} // 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能
|
||||||
dropMenuProps={{ collectParams }} // 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能
|
buttons={showOperateBtn ? btns : []}>
|
||||||
buttons={showOperateBtn ? btns : []}>
|
<div className="weaTabWrapper">
|
||||||
<div className="weaTabWrapper">
|
<WeaTab
|
||||||
<WeaTab
|
searchType={["base", "advanced"]} // base:基础搜索框 advanced:显示高级搜索按钮
|
||||||
searchType={["base", "advanced"]} // base:基础搜索框 advanced:显示高级搜索按钮
|
searchsBasePlaceHolder={"请输入姓名"}
|
||||||
searchsBasePlaceHolder={"请输入姓名"}
|
showSearchAd={showSearchAd} // 是否展开高级搜索面板
|
||||||
showSearchAd={showSearchAd} // 是否展开高级搜索面板
|
setShowSearchAd={bool => setShowSearchAd(bool)} //高级搜索面板受控
|
||||||
setShowSearchAd={bool => setShowSearchAd(bool)} //高级搜索面板受控
|
searchsAd={getSearchs(form, toJS(condition), 2)} // 高级搜索内部数据
|
||||||
searchsAd={getSearchs(form, toJS(condition), 2)} // 高级搜索内部数据
|
buttonsAd={adBtn} // 高级搜索内部按钮
|
||||||
buttonsAd={adBtn} // 高级搜索内部按钮
|
onSearch={() => this.handleSearch()} // 点搜索按钮时的回调
|
||||||
onSearch={() => this.handleSearch()} // 点搜索按钮时的回调
|
searchsAdQuick={this.getSearchsAdQuick()}
|
||||||
searchsAdQuick={this.getSearchsAdQuick()}
|
onSearchChange={v => form.updateFields({ username: v })} // 在搜索框中输入的文字改变时的回调: 这里需要同步高级搜索和外部搜索框的值
|
||||||
onSearchChange={v => form.updateFields({ username: v })} // 在搜索框中输入的文字改变时的回调: 这里需要同步高级搜索和外部搜索框的值
|
searchsBaseValue={form.getFormParams().username} // 外部input搜索值受控: 这里和高级搜索的requestname同步
|
||||||
searchsBaseValue={form.getFormParams().username} // 外部input搜索值受控: 这里和高级搜索的requestname同步
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<WeaTable
|
|
||||||
rowKey="id"
|
|
||||||
rowSelection={rowSelection}
|
|
||||||
columns={newColumns}
|
|
||||||
dataSource={dataSource}
|
|
||||||
pagination={pagination}
|
|
||||||
loading={loading}
|
|
||||||
/>
|
/>
|
||||||
</WeaTop>
|
</div>
|
||||||
</WeaRightMenu>
|
<WeaTable
|
||||||
|
rowKey="id"
|
||||||
|
rowSelection={rowSelection}
|
||||||
|
columns={newColumns}
|
||||||
|
dataSource={dataSource}
|
||||||
|
pagination={pagination}
|
||||||
|
loading={loading}
|
||||||
|
/>
|
||||||
|
</WeaTop>
|
||||||
{modalVisiable &&
|
{modalVisiable &&
|
||||||
<ImportModal
|
<ImportModal
|
||||||
needimportSelected //下载模板需要带上导入所选项
|
needimportSelected //下载模板需要带上导入所选项
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import { inject, observer } from "mobx-react";
|
import { inject, observer } from "mobx-react";
|
||||||
import { Button, DatePicker } from "antd";
|
import { Button, DatePicker } from "antd";
|
||||||
import { WeaRightMenu, WeaTop } from "ecCom";
|
import { WeaTop } from "ecCom";
|
||||||
import { renderNoright } from "../../util"; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
|
import { renderNoright } from "../../util"; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
|
||||||
import CustomTab from "../../components/customTab";
|
import CustomTab from "../../components/customTab";
|
||||||
import CustomTable from "../../components/customTable";
|
import CustomTable from "../../components/customTable";
|
||||||
|
|
@ -219,34 +219,29 @@ export default class Declare extends React.Component {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="mySalaryBenefitsWrapper">
|
<div className="mySalaryBenefitsWrapper">
|
||||||
<WeaRightMenu
|
<WeaTop
|
||||||
datas={rightMenu} // 右键菜单
|
title="个税申报表" // 文字
|
||||||
collectParams={collectParams} // 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能
|
icon={<i className="icon-coms-fa"/>} // 左侧图标
|
||||||
|
iconBgcolor="#F14A2D" // 左侧图标背景色
|
||||||
|
showDropIcon={false} // 是否显示下拉按钮
|
||||||
|
dropMenuDatas={rightMenu} // 下拉菜单(和页面的右键菜单相同)
|
||||||
|
dropMenuProps={{ collectParams }} // 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能
|
||||||
>
|
>
|
||||||
<WeaTop
|
<CustomTab searchOperationItem={renderRightOperation()}/>
|
||||||
title="个税申报表" // 文字
|
<CustomTable
|
||||||
icon={<i className="icon-coms-fa"/>} // 左侧图标
|
loading={loading}
|
||||||
iconBgcolor="#F14A2D" // 左侧图标背景色
|
columns={this.getColumns()}
|
||||||
showDropIcon={false} // 是否显示下拉按钮
|
dataSource={listDataSource}
|
||||||
dropMenuDatas={rightMenu} // 下拉菜单(和页面的右键菜单相同)
|
pagination={{
|
||||||
dropMenuProps={{ collectParams }} // 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能
|
onChange: (value) => {
|
||||||
>
|
this.handleDataPageChange(value);
|
||||||
<CustomTab searchOperationItem={renderRightOperation()}/>
|
},
|
||||||
<CustomTable
|
total: pageInfo.total,
|
||||||
loading={loading}
|
showTotal: (total) => `共 ${total} 条`,
|
||||||
columns={this.getColumns()}
|
current: pageInfo.pageNum
|
||||||
dataSource={listDataSource}
|
}}
|
||||||
pagination={{
|
/>
|
||||||
onChange: (value) => {
|
</WeaTop>
|
||||||
this.handleDataPageChange(value);
|
|
||||||
},
|
|
||||||
total: pageInfo.total,
|
|
||||||
showTotal: (total) => `共 ${total} 条`,
|
|
||||||
current: pageInfo.pageNum
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</WeaTop>
|
|
||||||
</WeaRightMenu>
|
|
||||||
{this.state.declarationModalVisible && (
|
{this.state.declarationModalVisible && (
|
||||||
<GenerateModal
|
<GenerateModal
|
||||||
onGenerate={() => {
|
onGenerate={() => {
|
||||||
|
|
|
||||||
|
|
@ -1,20 +1,16 @@
|
||||||
import React from 'react';
|
import React from "react";
|
||||||
import { inject, observer } from 'mobx-react';
|
import { inject, observer } from "mobx-react";
|
||||||
import { toJS } from 'mobx';
|
|
||||||
|
|
||||||
import { Button, Table, DatePicker } from 'antd';
|
import { Button, DatePicker } from "antd";
|
||||||
|
|
||||||
import { WeaTop, WeaTab, WeaRightMenu, WeaRangePicker, WeaTable } from 'ecCom';
|
import { WeaTable, WeaTop } from "ecCom";
|
||||||
|
|
||||||
import { renderNoright, getSearchs } from '../../util'; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
|
import { renderNoright } from "../../util"; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
|
||||||
import CustomTab from '../../components/customTab';
|
import { columns, dataSource } from "./columns";
|
||||||
import ContentWrapper from '../../components/contentWrapper';
|
|
||||||
|
|
||||||
import { columns, dataSource } from './columns';
|
|
||||||
|
|
||||||
const { MonthPicker } = DatePicker;
|
const { MonthPicker } = DatePicker;
|
||||||
|
|
||||||
@inject('baseTableStore')
|
@inject("baseTableStore")
|
||||||
@observer
|
@observer
|
||||||
export default class IndividualIncomeTaxRateForm extends React.Component {
|
export default class IndividualIncomeTaxRateForm extends React.Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
|
|
@ -22,63 +18,68 @@ export default class IndividualIncomeTaxRateForm extends React.Component {
|
||||||
this.state = {
|
this.state = {
|
||||||
value: "",
|
value: "",
|
||||||
selectedKey: "0"
|
selectedKey: "0"
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const { baseTableStore } = this.props;
|
const { baseTableStore } = this.props;
|
||||||
const { loading, hasRight, form, condition, tableStore, showSearchAd, getTableDatas, doSearch, setShowSearchAd } = baseTableStore;
|
const {
|
||||||
|
loading,
|
||||||
|
hasRight,
|
||||||
|
form,
|
||||||
|
condition,
|
||||||
|
tableStore,
|
||||||
|
showSearchAd,
|
||||||
|
getTableDatas,
|
||||||
|
doSearch,
|
||||||
|
setShowSearchAd
|
||||||
|
} = baseTableStore;
|
||||||
|
|
||||||
if (!hasRight && !loading) { // 无权限处理
|
if (!hasRight && !loading) { // 无权限处理
|
||||||
return renderNoright();
|
return renderNoright();
|
||||||
}
|
}
|
||||||
|
|
||||||
const rightMenu = [// 右键菜单
|
const rightMenu = [// 右键菜单
|
||||||
{
|
{
|
||||||
key: 'BTN_COLUMN',
|
key: "BTN_COLUMN",
|
||||||
icon: <i className='icon-coms-Custom' />,
|
icon: <i className="icon-coms-Custom"/>,
|
||||||
content: '显示列定制',
|
content: "显示列定制",
|
||||||
onClick: this.showColumn
|
onClick: this.showColumn
|
||||||
},
|
}
|
||||||
];
|
];
|
||||||
const collectParams = { // 收藏功能配置
|
const collectParams = { // 收藏功能配置
|
||||||
favname: '个税税率表',
|
favname: "个税税率表",
|
||||||
favouritetype: 1,
|
favouritetype: 1,
|
||||||
objid: 0,
|
objid: 0,
|
||||||
link: 'wui/index.html#/ns_demo03/index',
|
link: "wui/index.html#/ns_demo03/index",
|
||||||
importantlevel: 1,
|
importantlevel: 1
|
||||||
};
|
};
|
||||||
const adBtn = [ // 高级搜索内部按钮
|
const adBtn = [ // 高级搜索内部按钮
|
||||||
<Button type="primary" onClick={doSearch}>搜索</Button>,
|
<Button type="primary" onClick={doSearch}>搜索</Button>,
|
||||||
<Button type="ghost" onClick={() => form.resetForm()}>重置</Button>,
|
<Button type="ghost" onClick={() => form.resetForm()}>重置</Button>,
|
||||||
<Button type="ghost" onClick={() => setShowSearchAd(false)}>取消</Button>,
|
<Button type="ghost" onClick={() => setShowSearchAd(false)}>取消</Button>
|
||||||
];
|
];
|
||||||
|
|
||||||
const topTab = [
|
const topTab = [];
|
||||||
];
|
|
||||||
|
|
||||||
const renderSearchOperationItem = () => {
|
const renderSearchOperationItem = () => {
|
||||||
return <div></div>
|
return <div></div>;
|
||||||
|
|
||||||
}
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="mySalaryBenefitsWrapper">
|
<div className="mySalaryBenefitsWrapper">
|
||||||
<WeaRightMenu
|
<WeaTop
|
||||||
datas={rightMenu} // 右键菜单
|
title="个税税率表" // 文字
|
||||||
collectParams={collectParams} // 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能
|
icon={<i className="icon-coms-fa"/>} // 左侧图标
|
||||||
|
iconBgcolor="#F14A2D" // 左侧图标背景色
|
||||||
|
showDropIcon={true} // 是否显示下拉按钮
|
||||||
|
dropMenuDatas={rightMenu} // 下拉菜单(和页面的右键菜单相同)
|
||||||
|
dropMenuProps={{ collectParams }} // 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能
|
||||||
>
|
>
|
||||||
<WeaTop
|
<WeaTable columns={columns} dataSource={dataSource}/>
|
||||||
title="个税税率表" // 文字
|
</WeaTop>
|
||||||
icon={<i className="icon-coms-fa" />} // 左侧图标
|
|
||||||
iconBgcolor='#F14A2D' // 左侧图标背景色
|
|
||||||
showDropIcon={true} // 是否显示下拉按钮
|
|
||||||
dropMenuDatas={rightMenu} // 下拉菜单(和页面的右键菜单相同)
|
|
||||||
dropMenuProps={{ collectParams }} // 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能
|
|
||||||
>
|
|
||||||
<WeaTable columns={columns} dataSource={dataSource}/>
|
|
||||||
</WeaTop>
|
|
||||||
</WeaRightMenu>
|
|
||||||
</div>
|
</div>
|
||||||
)
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import { inject, observer } from "mobx-react";
|
import { inject, observer } from "mobx-react";
|
||||||
|
|
||||||
import { Button, DatePicker, Dropdown, Menu, Modal, Switch } from "antd";
|
import { Button, Dropdown, Menu, Modal, Switch } from "antd";
|
||||||
|
|
||||||
import { WeaInputSearch, WeaRightMenu, WeaSlideModal, WeaTable, WeaTop } from "ecCom";
|
import { WeaInputSearch, WeaSlideModal, WeaTable, WeaTop } from "ecCom";
|
||||||
import { renderNoright } from "../../util"; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
|
import { renderNoright } from "../../util"; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
|
||||||
import CustomTab from "../../components/customTab";
|
import CustomTab from "../../components/customTab";
|
||||||
import StepSlide from "../../components/stepSlide";
|
import StepSlide from "../../components/stepSlide";
|
||||||
|
|
@ -398,170 +398,166 @@ export default class Ledger extends React.Component {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="mySalaryBenefitsWrapper">
|
<div className="mySalaryBenefitsWrapper">
|
||||||
<WeaRightMenu
|
<WeaTop
|
||||||
datas={rightMenu} // 右键菜单
|
title="薪资账套" // 文字
|
||||||
collectParams={collectParams}>
|
icon={<i className="icon-coms-fa"/>} // 左侧图标
|
||||||
<WeaTop
|
iconBgcolor="#F14A2D" // 左侧图标背景色
|
||||||
title="薪资账套" // 文字
|
showDropIcon={false} // 是否显示下拉按钮
|
||||||
icon={<i className="icon-coms-fa" />} // 左侧图标
|
dropMenuDatas={rightMenu} // 下拉菜单(和页面的右键菜单相同)
|
||||||
iconBgcolor="#F14A2D" // 左侧图标背景色
|
dropMenuProps={{ collectParams }}>
|
||||||
showDropIcon={false} // 是否显示下拉按钮
|
<CustomTab
|
||||||
dropMenuDatas={rightMenu} // 下拉菜单(和页面的右键菜单相同)
|
searchOperationItem={renderRightOperation()}
|
||||||
dropMenuProps={{ collectParams }}>
|
onChange={v => {
|
||||||
<CustomTab
|
}}
|
||||||
searchOperationItem={renderRightOperation()}
|
/>
|
||||||
onChange={v => {
|
<WeaTable
|
||||||
|
rowKey="id"
|
||||||
|
columns={
|
||||||
|
showOperateBtn
|
||||||
|
? newColumns
|
||||||
|
: _.filter(newColumns, it => it.dataIndex !== "operate")
|
||||||
|
}
|
||||||
|
dataSource={dataSource}
|
||||||
|
pagination={pagination}
|
||||||
|
loading={loading}
|
||||||
|
scroll={{ x: 1300 }}
|
||||||
|
/>
|
||||||
|
{this.state.stepSlideVisible &&
|
||||||
|
<StepSlide
|
||||||
|
visible={this.state.stepSlideVisible}
|
||||||
|
steps={steps}
|
||||||
|
currentStep={currentStep}
|
||||||
|
onCancel={() => {
|
||||||
|
this.setState({ stepSlideVisible: false });
|
||||||
}}
|
}}
|
||||||
/>
|
customOperate={
|
||||||
<WeaTable
|
currentStep == 0 ? [
|
||||||
rowKey="id"
|
<Button
|
||||||
columns={
|
type="primary"
|
||||||
showOperateBtn
|
|
||||||
? newColumns
|
|
||||||
: _.filter(newColumns, it => it.dataIndex !== "operate")
|
|
||||||
}
|
|
||||||
dataSource={dataSource}
|
|
||||||
pagination={pagination}
|
|
||||||
loading={loading}
|
|
||||||
scroll={{ x: 1300 }}
|
|
||||||
/>
|
|
||||||
{this.state.stepSlideVisible &&
|
|
||||||
<StepSlide
|
|
||||||
visible={this.state.stepSlideVisible}
|
|
||||||
steps={steps}
|
|
||||||
currentStep={currentStep}
|
|
||||||
onCancel={() => {
|
|
||||||
this.setState({ stepSlideVisible: false });
|
|
||||||
}}
|
|
||||||
customOperate={
|
|
||||||
currentStep == 0 ? [
|
|
||||||
<Button
|
|
||||||
type="primary"
|
|
||||||
loading={saveLoading}
|
|
||||||
onClick={() => {
|
|
||||||
handleStep1Save();
|
|
||||||
}}>
|
|
||||||
保存并进入下一步
|
|
||||||
</Button>
|
|
||||||
]: currentStep == 1 ? [
|
|
||||||
<Button
|
|
||||||
type="default"
|
|
||||||
onClick={() => {
|
|
||||||
this.setState({ stepSlideVisible: false });
|
|
||||||
}}>
|
|
||||||
完成,跳过所有步骤
|
|
||||||
</Button>,
|
|
||||||
<Button
|
|
||||||
type="primary"
|
|
||||||
style={{ marginLeft: "10px" }}
|
|
||||||
onClick={() => {
|
|
||||||
handleStepSave();
|
|
||||||
}}>
|
|
||||||
下一步
|
|
||||||
</Button>
|
|
||||||
]:currentStep == 2 ? [
|
|
||||||
<Button
|
|
||||||
type="default"
|
|
||||||
onClick={() => {
|
|
||||||
this.setState({ stepSlideVisible: false });
|
|
||||||
}}>
|
|
||||||
完成,跳过所有步骤
|
|
||||||
</Button>,
|
|
||||||
<Button
|
|
||||||
type="default"
|
|
||||||
style={{ marginLeft: "10px" }}
|
|
||||||
onClick={() => {
|
|
||||||
prevStep();
|
|
||||||
}}>
|
|
||||||
上一步
|
|
||||||
</Button>,
|
|
||||||
<Button
|
|
||||||
type="primary"
|
|
||||||
loading={saveLoading}
|
|
||||||
style={{ marginLeft: "10px" }}
|
|
||||||
onClick={() => {
|
|
||||||
handleStepSave();
|
|
||||||
}}>
|
|
||||||
保存并进入下一步
|
|
||||||
</Button>
|
|
||||||
] : currentStep == 3 ? [
|
|
||||||
<Button
|
|
||||||
type="default"
|
|
||||||
style={{ marginRight: "10px" }}
|
|
||||||
onClick={() => {
|
|
||||||
prevStep();
|
|
||||||
}}>
|
|
||||||
上一步
|
|
||||||
</Button>,
|
|
||||||
<Button
|
|
||||||
type="primary"
|
|
||||||
onClick={() => {
|
|
||||||
handleStepSave();
|
|
||||||
}}>
|
|
||||||
完成
|
|
||||||
</Button>
|
|
||||||
] : []
|
|
||||||
}
|
|
||||||
title="新建账套"
|
|
||||||
content={
|
|
||||||
<div>
|
|
||||||
{currentStep == 0 && <SlideBaseForm/>}
|
|
||||||
{currentStep == 1 && <SlideRefereUser/>}
|
|
||||||
{currentStep == 2 && <SalaryItemForm/>}
|
|
||||||
{currentStep == 3 && <CalRulesForm/>}
|
|
||||||
{currentStep == 4 && <ValidRulesForm/>}
|
|
||||||
</div>
|
|
||||||
}
|
|
||||||
/>}
|
|
||||||
{this.state.editSlideVisible &&
|
|
||||||
<WeaSlideModal
|
|
||||||
className='slideOuterWrapper'
|
|
||||||
visible={this.state.editSlideVisible}
|
|
||||||
top={0}
|
|
||||||
width={45}
|
|
||||||
height={100}
|
|
||||||
direction={"right"}
|
|
||||||
measure={"%"}
|
|
||||||
title={
|
|
||||||
<SlideModalTitle
|
|
||||||
subtitle={`编辑账套`}
|
|
||||||
tabs={[
|
|
||||||
{ title: "基础设置", key: 0 },
|
|
||||||
{ title: "关联人员", key: 1 },
|
|
||||||
{ title: "薪资项目", key: 2 },
|
|
||||||
{ title: "调薪计薪规则", key: 3 }
|
|
||||||
// { title: "校验规则", key: 4 }
|
|
||||||
]}
|
|
||||||
loading={saveLoading}
|
loading={saveLoading}
|
||||||
showOperateBtn={showOperateBtn}
|
onClick={() => {
|
||||||
editable={canEdit === "true"}
|
handleStep1Save();
|
||||||
selectedTab={selectedTab}
|
}}>
|
||||||
onSave={() => this.handleEditSlideSave()}
|
保存并进入下一步
|
||||||
subItemChange={selectedTab => {
|
</Button>
|
||||||
this.setState({ selectedTab });
|
] : currentStep == 1 ? [
|
||||||
}}
|
<Button
|
||||||
/>
|
type="default"
|
||||||
}
|
onClick={() => {
|
||||||
content={
|
this.setState({ stepSlideVisible: false });
|
||||||
<div>
|
}}>
|
||||||
{selectedTab == 0 && <SlideBaseForm edit={true}/>}
|
完成,跳过所有步骤
|
||||||
{selectedTab == 1 && <SlideRefereUser edit={true}/>}
|
</Button>,
|
||||||
{selectedTab == 2 && <SalaryItemForm edit={true}/>}
|
<Button
|
||||||
{selectedTab == 3 && <CalRulesForm edit={true}/>}
|
type="primary"
|
||||||
{selectedTab == 4 && <ValidRulesForm edit={true}/>}
|
style={{ marginLeft: "10px" }}
|
||||||
</div>
|
onClick={() => {
|
||||||
}
|
handleStepSave();
|
||||||
onClose={() => this.setState({ editSlideVisible: false },()=>{
|
}}>
|
||||||
this.setState({ selectedTab:0 });
|
下一步
|
||||||
|
</Button>
|
||||||
|
] : currentStep == 2 ? [
|
||||||
|
<Button
|
||||||
|
type="default"
|
||||||
|
onClick={() => {
|
||||||
|
this.setState({ stepSlideVisible: false });
|
||||||
|
}}>
|
||||||
|
完成,跳过所有步骤
|
||||||
|
</Button>,
|
||||||
|
<Button
|
||||||
|
type="default"
|
||||||
|
style={{ marginLeft: "10px" }}
|
||||||
|
onClick={() => {
|
||||||
|
prevStep();
|
||||||
|
}}>
|
||||||
|
上一步
|
||||||
|
</Button>,
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
loading={saveLoading}
|
||||||
|
style={{ marginLeft: "10px" }}
|
||||||
|
onClick={() => {
|
||||||
|
handleStepSave();
|
||||||
|
}}>
|
||||||
|
保存并进入下一步
|
||||||
|
</Button>
|
||||||
|
] : currentStep == 3 ? [
|
||||||
|
<Button
|
||||||
|
type="default"
|
||||||
|
style={{ marginRight: "10px" }}
|
||||||
|
onClick={() => {
|
||||||
|
prevStep();
|
||||||
|
}}>
|
||||||
|
上一步
|
||||||
|
</Button>,
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
onClick={() => {
|
||||||
|
handleStepSave();
|
||||||
|
}}>
|
||||||
|
完成
|
||||||
|
</Button>
|
||||||
|
] : []
|
||||||
|
}
|
||||||
|
title="新建账套"
|
||||||
|
content={
|
||||||
|
<div>
|
||||||
|
{currentStep == 0 && <SlideBaseForm/>}
|
||||||
|
{currentStep == 1 && <SlideRefereUser/>}
|
||||||
|
{currentStep == 2 && <SalaryItemForm/>}
|
||||||
|
{currentStep == 3 && <CalRulesForm/>}
|
||||||
|
{currentStep == 4 && <ValidRulesForm/>}
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
/>}
|
||||||
|
{this.state.editSlideVisible &&
|
||||||
|
<WeaSlideModal
|
||||||
|
className="slideOuterWrapper"
|
||||||
|
visible={this.state.editSlideVisible}
|
||||||
|
top={0}
|
||||||
|
width={45}
|
||||||
|
height={100}
|
||||||
|
direction={"right"}
|
||||||
|
measure={"%"}
|
||||||
|
title={
|
||||||
|
<SlideModalTitle
|
||||||
|
subtitle={`编辑账套`}
|
||||||
|
tabs={[
|
||||||
|
{ title: "基础设置", key: 0 },
|
||||||
|
{ title: "关联人员", key: 1 },
|
||||||
|
{ title: "薪资项目", key: 2 },
|
||||||
|
{ title: "调薪计薪规则", key: 3 }
|
||||||
|
// { title: "校验规则", key: 4 }
|
||||||
|
]}
|
||||||
|
loading={saveLoading}
|
||||||
|
showOperateBtn={showOperateBtn}
|
||||||
|
editable={canEdit === "true"}
|
||||||
|
selectedTab={selectedTab}
|
||||||
|
onSave={() => this.handleEditSlideSave()}
|
||||||
|
subItemChange={selectedTab => {
|
||||||
|
this.setState({ selectedTab });
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
}
|
||||||
|
content={
|
||||||
|
<div>
|
||||||
|
{selectedTab == 0 && <SlideBaseForm edit={true}/>}
|
||||||
|
{selectedTab == 1 && <SlideRefereUser edit={true}/>}
|
||||||
|
{selectedTab == 2 && <SalaryItemForm edit={true}/>}
|
||||||
|
{selectedTab == 3 && <CalRulesForm edit={true}/>}
|
||||||
|
{selectedTab == 4 && <ValidRulesForm edit={true}/>}
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
onClose={() => this.setState({ editSlideVisible: false }, () => {
|
||||||
|
this.setState({ selectedTab: 0 });
|
||||||
|
})}
|
||||||
|
showMask={true}
|
||||||
|
closeMaskOnClick={() =>
|
||||||
|
this.setState({ editSlideVisible: false }, () => {
|
||||||
|
this.setState({ selectedTab: 0 });
|
||||||
})}
|
})}
|
||||||
showMask={true}
|
/>}
|
||||||
closeMaskOnClick={() =>
|
</WeaTop>
|
||||||
this.setState({ editSlideVisible: false },()=>{
|
|
||||||
this.setState({ selectedTab:0 });
|
|
||||||
})}
|
|
||||||
/>}
|
|
||||||
</WeaTop>
|
|
||||||
</WeaRightMenu>
|
|
||||||
|
|
||||||
{this.state.copyFormVisible &&
|
{this.state.copyFormVisible &&
|
||||||
<CopyFormModal
|
<CopyFormModal
|
||||||
|
|
|
||||||
|
|
@ -329,6 +329,7 @@ export default class CanMoveItem extends React.Component {
|
||||||
{formalModalVisible &&
|
{formalModalVisible &&
|
||||||
<FormalFormModal
|
<FormalFormModal
|
||||||
formulaId={this.formulaId}
|
formulaId={this.formulaId}
|
||||||
|
valueType={this.record.valueType}
|
||||||
visible={formalModalVisible}
|
visible={formalModalVisible}
|
||||||
onSaveFormal={data => {
|
onSaveFormal={data => {
|
||||||
this.handleSaveFormal(data);
|
this.handleSaveFormal(data);
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import { inject, observer } from "mobx-react";
|
import { inject, observer } from "mobx-react";
|
||||||
import { Button, DatePicker } from "antd";
|
import { Button, DatePicker } from "antd";
|
||||||
import { WeaRightMenu, WeaTop } from "ecCom";
|
import { WeaTop } from "ecCom";
|
||||||
import { renderNoright } from "../../util"; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
|
import { renderNoright } from "../../util"; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
|
||||||
import CustomTab from "../../components/customTab";
|
import CustomTab from "../../components/customTab";
|
||||||
import CustomPaginationTable from "../../components/customPaginationTable";
|
import CustomPaginationTable from "../../components/customPaginationTable";
|
||||||
|
|
@ -189,80 +189,75 @@ export default class MySalary extends React.Component {
|
||||||
return (
|
return (
|
||||||
<div className="mySalaryBenefitsWrapper">
|
<div className="mySalaryBenefitsWrapper">
|
||||||
<Authority ecId={`${this && this.props && this.props.ecId || ""}_Authority@lulowc`} store={mySalaryStore}>
|
<Authority ecId={`${this && this.props && this.props.ecId || ""}_Authority@lulowc`} store={mySalaryStore}>
|
||||||
<WeaRightMenu
|
<WeaTop
|
||||||
datas={rightMenu} // 右键菜单
|
title="我的薪资福利" // 文字
|
||||||
collectParams={collectParams} // 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能
|
icon={<i className="icon-coms-fa"/>} // 左侧图标
|
||||||
|
iconBgcolor="#F14A2D" // 左侧图标背景色
|
||||||
|
showDropIcon={false} // 是否显示下拉按钮
|
||||||
|
dropMenuDatas={rightMenu} // 下拉菜单(和页面的右键菜单相同)
|
||||||
|
dropMenuProps={{ collectParams }} // 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能
|
||||||
>
|
>
|
||||||
<WeaTop
|
<CustomTab topTab={topTab}
|
||||||
title="我的薪资福利" // 文字
|
searchOperationItem={
|
||||||
icon={<i className="icon-coms-fa" />} // 左侧图标
|
renderSearchOperationItem()
|
||||||
iconBgcolor="#F14A2D" // 左侧图标背景色
|
}
|
||||||
showDropIcon={false} // 是否显示下拉按钮
|
onChange={(v) => {
|
||||||
dropMenuDatas={rightMenu} // 下拉菜单(和页面的右键菜单相同)
|
this.handleTabChange(v);
|
||||||
dropMenuProps={{ collectParams }} // 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能
|
this.setState({ selectedKey: v });
|
||||||
>
|
}}
|
||||||
<CustomTab topTab={topTab}
|
/>
|
||||||
searchOperationItem={
|
|
||||||
renderSearchOperationItem()
|
{
|
||||||
}
|
this.state.selectedKey == "0" &&
|
||||||
onChange={(v) => {
|
|
||||||
this.handleTabChange(v);
|
<CustomPaginationTable
|
||||||
this.setState({ selectedKey: v });
|
loading={loading}
|
||||||
}}
|
columns={this.getColumns()}
|
||||||
|
dataSource={myBillDataSource ? myBillDataSource : []}
|
||||||
|
total={myBillPageInfo.total}
|
||||||
|
current={myBillPageInfo.pageNum}
|
||||||
|
pageSize={this.pageInfo.pageSize}
|
||||||
|
onPageChange={(value) => {
|
||||||
|
this.pageInfo.current = value;
|
||||||
|
this.handlePageChange();
|
||||||
|
}}
|
||||||
|
onShowSizeChange={(current, pageSize) => {
|
||||||
|
this.pageInfo = { current, pageSize };
|
||||||
|
this.handlePageChange();
|
||||||
|
}}
|
||||||
/>
|
/>
|
||||||
|
}
|
||||||
{
|
{/* {
|
||||||
this.state.selectedKey == "0" &&
|
|
||||||
|
|
||||||
<CustomPaginationTable
|
|
||||||
loading={loading}
|
|
||||||
columns={this.getColumns()}
|
|
||||||
dataSource={myBillDataSource ? myBillDataSource : []}
|
|
||||||
total={myBillPageInfo.total}
|
|
||||||
current={myBillPageInfo.pageNum}
|
|
||||||
pageSize={this.pageInfo.pageSize}
|
|
||||||
onPageChange={(value) => {
|
|
||||||
this.pageInfo.current = value;
|
|
||||||
this.handlePageChange();
|
|
||||||
}}
|
|
||||||
onShowSizeChange={(current, pageSize) => {
|
|
||||||
this.pageInfo = { current, pageSize };
|
|
||||||
this.handlePageChange();
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
}
|
|
||||||
{/* {
|
|
||||||
this.state.selectedKey == '1' && <WeaTable columns={socialSecurityBenefitsColumns} dataSource={dataSource} scroll={{ x: 1000}}/>
|
this.state.selectedKey == '1' && <WeaTable columns={socialSecurityBenefitsColumns} dataSource={dataSource} scroll={{ x: 1000}}/>
|
||||||
} */}
|
} */}
|
||||||
{
|
{
|
||||||
this.state.selectedKey == "2" &&
|
this.state.selectedKey == "2" &&
|
||||||
<CustomPaginationTable
|
<CustomPaginationTable
|
||||||
columns={recordListColumns}
|
columns={recordListColumns}
|
||||||
dataSource={recordListDataSource}
|
dataSource={recordListDataSource}
|
||||||
total={recordListPageInfo.total}
|
total={recordListPageInfo.total}
|
||||||
current={recordListPageInfo.pageNum}
|
current={recordListPageInfo.pageNum}
|
||||||
pageSize={this.historyPageInfo.pageSize}
|
pageSize={this.historyPageInfo.pageSize}
|
||||||
onPageChange={(value) => {
|
onPageChange={(value) => {
|
||||||
this.historyPageInfo.current = value;
|
this.historyPageInfo.current = value;
|
||||||
this.handleHistoryPageChange();
|
this.handleHistoryPageChange();
|
||||||
}}
|
}}
|
||||||
onShowSizeChange={(current, pageSize) => {
|
onShowSizeChange={(current, pageSize) => {
|
||||||
this.historyPageInfo = { current, pageSize };
|
this.historyPageInfo = { current, pageSize };
|
||||||
this.handleHistoryPageChange();
|
this.handleHistoryPageChange();
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
}
|
}
|
||||||
|
|
||||||
</WeaTop>
|
</WeaTop>
|
||||||
</WeaRightMenu>
|
|
||||||
</Authority>
|
</Authority>
|
||||||
{
|
{
|
||||||
salaryBillVisible && <PayrollModal
|
salaryBillVisible && <PayrollModal
|
||||||
visible={salaryBillVisible}
|
visible={salaryBillVisible}
|
||||||
id={this.salaryInfoId}
|
id={this.salaryInfoId}
|
||||||
onCancel={() => {
|
onCancel={() => {
|
||||||
this.setState({ salaryBillVisible: false },()=>{
|
this.setState({ salaryBillVisible: false }, () => {
|
||||||
setMySalaryBill({})
|
setMySalaryBill({});
|
||||||
});
|
});
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ import { inject, observer } from "mobx-react";
|
||||||
import { toJS } from "mobx";
|
import { toJS } from "mobx";
|
||||||
import { Button, DatePicker, message, Modal } from "antd";
|
import { Button, DatePicker, message, Modal } from "antd";
|
||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
import { WeaHelpfulTip, WeaInputSearch, WeaRightMenu, WeaSelect, WeaSlideModal, WeaTop } from "ecCom";
|
import { WeaHelpfulTip, WeaInputSearch, WeaSelect, WeaSlideModal, WeaTop } from "ecCom";
|
||||||
import { renderLoading } from "../../util"; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
|
import { renderLoading } from "../../util"; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
|
||||||
import CustomTab from "../../components/customTab";
|
import CustomTab from "../../components/customTab";
|
||||||
|
|
||||||
|
|
@ -390,58 +390,53 @@ export default class Payroll extends React.Component {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<WeaRightMenu
|
<WeaTop
|
||||||
datas={rightMenu} // 右键菜单
|
title="工资单发放" // 文字
|
||||||
collectParams={collectParams} // 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能
|
icon={<i className="icon-coms-fa"/>} // 左侧图标
|
||||||
|
iconBgcolor="#F14A2D" // 左侧图标背景色
|
||||||
|
showDropIcon={false} // 是否显示下拉按钮
|
||||||
|
dropMenuDatas={rightMenu} // 下拉菜单(和页面的右键菜单相同)
|
||||||
|
dropMenuProps={{ collectParams }} // 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能
|
||||||
>
|
>
|
||||||
<WeaTop
|
<CustomTab
|
||||||
title="工资单发放" // 文字
|
topTab={topTab}
|
||||||
icon={<i className="icon-coms-fa"/>} // 左侧图标
|
searchOperationItem={
|
||||||
iconBgcolor="#F14A2D" // 左侧图标背景色
|
renderRightOperation()
|
||||||
showDropIcon={false} // 是否显示下拉按钮
|
}
|
||||||
dropMenuDatas={rightMenu} // 下拉菜单(和页面的右键菜单相同)
|
onChange={(v) => {
|
||||||
dropMenuProps={{ collectParams }} // 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能
|
this.setState({ selectedKey: v, stepSlideVisible: false, editSlideVisible: false });
|
||||||
>
|
}}
|
||||||
<CustomTab
|
/>
|
||||||
topTab={topTab}
|
{
|
||||||
searchOperationItem={
|
this.state.selectedKey == 0 &&
|
||||||
renderRightOperation()
|
<SalarySendList
|
||||||
}
|
onEditTemplate={(record) => {
|
||||||
onChange={(v) => {
|
this.handleTemplateListEdit(record);
|
||||||
this.setState({ selectedKey: v, stepSlideVisible: false, editSlideVisible: false });
|
}}
|
||||||
|
salaryYearMonth={this.salaryYearMonth}
|
||||||
|
handleListDataPageChange={(value, pageInfo) => {
|
||||||
|
this.handleListDataPageChange(value, pageInfo);
|
||||||
|
}}
|
||||||
|
handleListShowSizeChange={(pageInfo) => {
|
||||||
|
this.handleListShowSizeChange(pageInfo);
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
{
|
}
|
||||||
this.state.selectedKey == 0 &&
|
|
||||||
<SalarySendList
|
|
||||||
onEditTemplate={(record) => {
|
|
||||||
this.handleTemplateListEdit(record);
|
|
||||||
}}
|
|
||||||
salaryYearMonth={this.salaryYearMonth}
|
|
||||||
handleListDataPageChange={(value, pageInfo) => {
|
|
||||||
this.handleListDataPageChange(value, pageInfo);
|
|
||||||
}}
|
|
||||||
handleListShowSizeChange={(pageInfo) => {
|
|
||||||
this.handleListShowSizeChange(pageInfo);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
{
|
||||||
this.state.selectedKey == 1 &&
|
this.state.selectedKey == 1 &&
|
||||||
<TemplateSettingList
|
<TemplateSettingList
|
||||||
onEdit={(record) => {
|
onEdit={(record) => {
|
||||||
this.handleTemplateListEdit(record);
|
this.handleTemplateListEdit(record);
|
||||||
}}
|
}}
|
||||||
onCopy={(record) => {
|
onCopy={(record) => {
|
||||||
this.handleTemplateListCopy(record);
|
this.handleTemplateListCopy(record);
|
||||||
}}
|
}}
|
||||||
showOperateBtn={showOperateBtn}
|
showOperateBtn={showOperateBtn}
|
||||||
onDelete={(record) => this.handleTemplateListDelete(record)}
|
onDelete={(record) => this.handleTemplateListDelete(record)}
|
||||||
/>
|
/>
|
||||||
}
|
}
|
||||||
</WeaTop>
|
</WeaTop>
|
||||||
</WeaRightMenu>
|
|
||||||
|
|
||||||
{
|
{
|
||||||
this.state.stepSlideVisible && <StepSlide
|
this.state.stepSlideVisible && <StepSlide
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@ import { Col, Radio, Row, Switch } from "antd";
|
||||||
import { WeaHelpfulTip, WeaInput, WeaSelect, WeaTextarea } from "ecCom";
|
import { WeaHelpfulTip, WeaInput, WeaSelect, WeaTextarea } from "ecCom";
|
||||||
import "./index.less";
|
import "./index.less";
|
||||||
import { dataTypeOptions, patternOptions, roundingModeOptions } from "./options";
|
import { dataTypeOptions, patternOptions, roundingModeOptions } from "./options";
|
||||||
import RequiredLabelTip from "../../components/requiredLabelTip";
|
|
||||||
import FormalFormModal from "./formalFormModal";
|
import FormalFormModal from "./formalFormModal";
|
||||||
|
|
||||||
export default class CustomSalaryItemSlide extends React.Component {
|
export default class CustomSalaryItemSlide extends React.Component {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import { inject, observer } from "mobx-react";
|
import { inject, observer } from "mobx-react";
|
||||||
import { Button, Dropdown, Menu, Modal, Switch, message } from "antd";
|
import { Button, Dropdown, Menu, message, Modal, Switch } from "antd";
|
||||||
import { WeaInputSearch, WeaRightMenu, WeaSlideModal, WeaTop } from "ecCom";
|
import { WeaInputSearch, WeaSlideModal, WeaTop } from "ecCom";
|
||||||
import { renderLoading } from "../../util"; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
|
import { renderLoading } from "../../util"; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
|
||||||
import CustomTab from "../../components/customTab";
|
import CustomTab from "../../components/customTab";
|
||||||
import SystemSalaryItemModal from "./systemSalaryItemModal";
|
import SystemSalaryItemModal from "./systemSalaryItemModal";
|
||||||
|
|
@ -143,7 +143,8 @@ export default class SalaryItem extends React.Component {
|
||||||
}}>删除</a>
|
}}>删除</a>
|
||||||
</Menu.Item>
|
</Menu.Item>
|
||||||
</Menu>}>
|
</Menu>}>
|
||||||
<a href="javascript:void(0)" style={{textDecoration: "none"}}><i className="icon-coms-more" style={{fontSize: 18}}></i></a>
|
<a href="javascript:void(0)" style={{ textDecoration: "none" }}><i className="icon-coms-more"
|
||||||
|
style={{ fontSize: 18 }}></i></a>
|
||||||
</Dropdown>
|
</Dropdown>
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -364,50 +365,45 @@ export default class SalaryItem extends React.Component {
|
||||||
};
|
};
|
||||||
return (
|
return (
|
||||||
<div className="mySalaryBenefitsWrapper">
|
<div className="mySalaryBenefitsWrapper">
|
||||||
<WeaRightMenu
|
<WeaTop
|
||||||
datas={rightMenu} // 右键菜单
|
title="薪资项目管理" // 文字
|
||||||
collectParams={collectParams} // 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能
|
icon={<i className="icon-coms-fa"/>} // 左侧图标
|
||||||
|
iconBgcolor="#F14A2D" // 左侧图标背景色
|
||||||
|
showDropIcon={false} // 是否显示下拉按钮
|
||||||
|
dropMenuDatas={rightMenu} // 下拉菜单(和页面的右键菜单相同)
|
||||||
|
dropMenuProps={{ collectParams }} // 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能
|
||||||
>
|
>
|
||||||
<WeaTop
|
<CustomTab
|
||||||
title="薪资项目管理" // 文字
|
searchOperationItem={
|
||||||
icon={<i className="icon-coms-fa"/>} // 左侧图标
|
renderRightOperation()
|
||||||
iconBgcolor="#F14A2D" // 左侧图标背景色
|
}
|
||||||
showDropIcon={true} // 是否显示下拉按钮
|
/>
|
||||||
dropMenuDatas={rightMenu} // 下拉菜单(和页面的右键菜单相同)
|
<CustomPaginationTable
|
||||||
dropMenuProps={{ collectParams }} // 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能
|
rowKey={record => record.id}
|
||||||
>
|
loading={loading}
|
||||||
<CustomTab
|
rowSelection={rowSelection}
|
||||||
searchOperationItem={
|
dataSource={tableDataSource}
|
||||||
renderRightOperation()
|
columns={this.getColumns(tableColumns)}
|
||||||
}
|
total={this.state.searchParams.total}
|
||||||
/>
|
current={this.state.searchParams.current}
|
||||||
<CustomPaginationTable
|
pageSize={this.state.searchParams.pageSize}
|
||||||
rowKey={record => record.id}
|
onPageChange={(value) => {
|
||||||
loading={loading}
|
this.handlePageChange(value);
|
||||||
rowSelection={rowSelection}
|
}}
|
||||||
dataSource={tableDataSource}
|
onShowSizeChange={(current, pageSize) => {
|
||||||
columns={this.getColumns(tableColumns)}
|
this.setState({
|
||||||
total={this.state.searchParams.total}
|
searchParams: {
|
||||||
current={this.state.searchParams.current}
|
...this.state.searchParams,
|
||||||
pageSize={this.state.searchParams.pageSize}
|
current,
|
||||||
onPageChange={(value) => {
|
pageSize
|
||||||
this.handlePageChange(value);
|
}
|
||||||
}}
|
}, () => {
|
||||||
onShowSizeChange={(current, pageSize) => {
|
this.handleShowSizeChange(this.state.searchParams);
|
||||||
this.setState({
|
});
|
||||||
searchParams: {
|
}}
|
||||||
...this.state.searchParams,
|
/>
|
||||||
current,
|
|
||||||
pageSize
|
|
||||||
}
|
|
||||||
}, () => {
|
|
||||||
this.handleShowSizeChange(this.state.searchParams);
|
|
||||||
});
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
|
|
||||||
</WeaTop>
|
</WeaTop>
|
||||||
</WeaRightMenu>
|
|
||||||
|
|
||||||
{
|
{
|
||||||
systemItemVisible && <SystemSalaryItemModal visible={systemItemVisible} onCancel={() => {
|
systemItemVisible && <SystemSalaryItemModal visible={systemItemVisible} onCancel={() => {
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ import React from "react";
|
||||||
import { inject, observer } from "mobx-react";
|
import { inject, observer } from "mobx-react";
|
||||||
import { toJS } from "mobx";
|
import { toJS } from "mobx";
|
||||||
import { Button, Dropdown, Menu, message, Modal, Popover } from "antd";
|
import { Button, Dropdown, Menu, message, Modal, Popover } from "antd";
|
||||||
import { WeaHelpfulTip, WeaRightMenu, WeaSlideModal, WeaTab, WeaTable, WeaTop } from "ecCom";
|
import { WeaHelpfulTip, WeaSlideModal, WeaTab, WeaTable, WeaTop } from "ecCom";
|
||||||
import { getSearchs, renderLoading } from "../../../util"; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
|
import { getSearchs, renderLoading } from "../../../util"; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
|
||||||
import BaseForm from "./baseForm";
|
import BaseForm from "./baseForm";
|
||||||
import SlideModalTitle from "../../../components/slideModalTitle";
|
import SlideModalTitle from "../../../components/slideModalTitle";
|
||||||
|
|
@ -704,49 +704,44 @@ export default class Archives extends React.Component {
|
||||||
};
|
};
|
||||||
return (
|
return (
|
||||||
<div className="mySalaryBenefitsWrapper">
|
<div className="mySalaryBenefitsWrapper">
|
||||||
<WeaRightMenu
|
<WeaTop
|
||||||
datas={rightMenu} // 右键菜单
|
title="社保福利档案" // 文字
|
||||||
collectParams={collectParams} // 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能
|
icon={<i className="icon-coms-fa"/>} // 左侧图标
|
||||||
|
iconBgcolor="#F14A2D" // 左侧图标背景色
|
||||||
|
showDropIcon={false} // 是否显示下拉按钮
|
||||||
|
dropMenuDatas={rightMenu} // 下拉菜单(和页面的右键菜单相同)
|
||||||
|
dropMenuProps={{ collectParams }} // 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能
|
||||||
>
|
>
|
||||||
<WeaTop
|
<WeaTab
|
||||||
title="社保福利档案" // 文字
|
datas={tabCondition}
|
||||||
icon={<i className="icon-coms-fa"/>} // 左侧图标
|
buttons={showOperateBtn ? btns : []}
|
||||||
iconBgcolor="#F14A2D" // 左侧图标背景色
|
counts={tabCount}
|
||||||
showDropIcon={false} // 是否显示下拉按钮
|
countParam="groupid" //数量
|
||||||
dropMenuDatas={rightMenu} // 下拉菜单(和页面的右键菜单相同)
|
keyParam="viewcondition" //主键
|
||||||
dropMenuProps={{ collectParams }} // 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能
|
selectedKey={selectedKey}
|
||||||
>
|
onChange={this.handleChangeTab}
|
||||||
<WeaTab
|
searchType={["base", "advanced"]} // base:基础搜索框 advanced:显示高级搜索按钮
|
||||||
datas={tabCondition}
|
showSearchAd={showSearchAd} // 是否展开高级搜索面板
|
||||||
buttons={showOperateBtn ? btns : []}
|
setShowSearchAd={bool => setShowSearchAd(bool)} //高级搜索面板受控
|
||||||
counts={tabCount}
|
searchsAd={getSearchs(form, toJS(condition), 2)} // 高级搜索内部数据
|
||||||
countParam="groupid" //数量
|
buttonsAd={adBtn} // 高级搜索内部按钮
|
||||||
keyParam="viewcondition" //主键
|
searchsBasePlaceHolder={"请输入姓名"}
|
||||||
selectedKey={selectedKey}
|
onSearch={this.query} // 点搜索按钮时的回调
|
||||||
onChange={this.handleChangeTab}
|
onSearchChange={v => form.updateFields({ username: v })} // 在搜索框中输入的文字改变时的回调: 这里需要同步高级搜索和外部搜索框的值
|
||||||
searchType={["base", "advanced"]} // base:基础搜索框 advanced:显示高级搜索按钮
|
searchsBaseValue={form.getFormParams().username} // 外部input搜索值受控: 这里和高级搜索的requestname同步
|
||||||
showSearchAd={showSearchAd} // 是否展开高级搜索面板
|
/>
|
||||||
setShowSearchAd={bool => setShowSearchAd(bool)} //高级搜索面板受控
|
<WeaTable
|
||||||
searchsAd={getSearchs(form, toJS(condition), 2)} // 高级搜索内部数据
|
loading={loading.query}
|
||||||
buttonsAd={adBtn} // 高级搜索内部按钮
|
rowKey="baseInfo"
|
||||||
searchsBasePlaceHolder={"请输入姓名"}
|
columns={this.getColumns()} dataSource={dataSourceActive} pagination={pagination}
|
||||||
onSearch={this.query} // 点搜索按钮时的回调
|
rowSelection={rowSelection}
|
||||||
onSearchChange={v => form.updateFields({ username: v })} // 在搜索框中输入的文字改变时的回调: 这里需要同步高级搜索和外部搜索框的值
|
scroll={{ x: 1200 }}
|
||||||
searchsBaseValue={form.getFormParams().username} // 外部input搜索值受控: 这里和高级搜索的requestname同步
|
/>
|
||||||
/>
|
{
|
||||||
<WeaTable
|
!_.isEmpty(this.getColumns()) &&
|
||||||
loading={loading.query}
|
<TipLabel>{this.getTipChildren()}</TipLabel>
|
||||||
rowKey="baseInfo"
|
}
|
||||||
columns={this.getColumns()} dataSource={dataSourceActive} pagination={pagination}
|
</WeaTop>
|
||||||
rowSelection={rowSelection}
|
|
||||||
scroll={{ x: 1200 }}
|
|
||||||
/>
|
|
||||||
{
|
|
||||||
!_.isEmpty(this.getColumns()) &&
|
|
||||||
<TipLabel>{this.getTipChildren()}</TipLabel>
|
|
||||||
}
|
|
||||||
</WeaTop>
|
|
||||||
</WeaRightMenu>
|
|
||||||
{
|
{
|
||||||
this.state.editSlideVisible &&
|
this.state.editSlideVisible &&
|
||||||
<WeaSlideModal
|
<WeaSlideModal
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ import React from "react";
|
||||||
import { inject, observer } from "mobx-react";
|
import { inject, observer } from "mobx-react";
|
||||||
import { toJS } from "mobx";
|
import { toJS } from "mobx";
|
||||||
import { Button, Dropdown, Menu, message, Modal, Switch } from "antd";
|
import { Button, Dropdown, Menu, message, Modal, Switch } from "antd";
|
||||||
import { WeaRightMenu, WeaSelect, WeaSlideModal, WeaTop } from "ecCom";
|
import { WeaSelect, WeaSlideModal, WeaTop } from "ecCom";
|
||||||
import { WeaTableNew } from "comsMobx";
|
import { WeaTableNew } from "comsMobx";
|
||||||
import { renderNoright } from "../../../util"; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
|
import { renderNoright } from "../../../util"; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
|
||||||
import CustomTab from "../../../components/customTab";
|
import CustomTab from "../../../components/customTab";
|
||||||
|
|
@ -450,93 +450,88 @@ export default class Programme extends React.Component {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="mySalaryBenefitsWrapper">
|
<div className="mySalaryBenefitsWrapper">
|
||||||
<WeaRightMenu
|
<WeaTop
|
||||||
datas={rightMenu} // 右键菜单
|
title="社保福利方案" // 文字
|
||||||
collectParams={collectParams}>
|
icon={<i className="icon-coms-fa"/>} // 左侧图标
|
||||||
|
iconBgcolor="#F14A2D" // 左侧图标背景色
|
||||||
|
showDropIcon={false} // 是否显示下拉按钮
|
||||||
|
dropMenuDatas={rightMenu} // 下拉菜单(和页面的右键菜单相同)
|
||||||
|
dropMenuProps={{ collectParams }}>
|
||||||
{/* 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能 */}
|
{/* 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能 */}
|
||||||
<WeaTop
|
<CustomTab
|
||||||
title="社保福利方案" // 文字
|
topTab={topTab}
|
||||||
icon={<i className="icon-coms-fa"/>} // 左侧图标
|
searchOperationItem={
|
||||||
iconBgcolor="#F14A2D" // 左侧图标背景色
|
<div>
|
||||||
showDropIcon={false} // 是否显示下拉按钮
|
{/* 操作按钮权限 */}
|
||||||
dropMenuDatas={rightMenu} // 下拉菜单(和页面的右键菜单相同)
|
{showOperateBtn &&
|
||||||
dropMenuProps={{ collectParams }}>
|
<Button
|
||||||
{/* 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能 */}
|
type="primary"
|
||||||
<CustomTab
|
style={{ marginRight: "10px" }}
|
||||||
topTab={topTab}
|
onClick={() => {
|
||||||
searchOperationItem={
|
if (selectedKey == "custom") {
|
||||||
<div>
|
handleCustomNewClick();
|
||||||
{/* 操作按钮权限 */}
|
} else {
|
||||||
{showOperateBtn &&
|
handleNewClick();
|
||||||
<Button
|
}
|
||||||
type="primary"
|
}}>
|
||||||
style={{ marginRight: "10px" }}
|
新建
|
||||||
onClick={() => {
|
</Button>}
|
||||||
if (selectedKey == "custom") {
|
|
||||||
handleCustomNewClick();
|
|
||||||
} else {
|
|
||||||
handleNewClick();
|
|
||||||
}
|
|
||||||
}}>
|
|
||||||
新建
|
|
||||||
</Button>}
|
|
||||||
|
|
||||||
{selectedKey == "custom" &&
|
{selectedKey == "custom" &&
|
||||||
<WeaSelect
|
<WeaSelect
|
||||||
options={options}
|
options={options}
|
||||||
value={customSelectkey}
|
value={customSelectkey}
|
||||||
style={{ width: "150px" }}
|
style={{ width: "150px" }}
|
||||||
onChange={v => {
|
onChange={v => {
|
||||||
setCustomSelectkey(v);
|
setCustomSelectkey(v);
|
||||||
getCustomCategoryList(v);
|
getCustomCategoryList(v);
|
||||||
}}
|
}}
|
||||||
/>}
|
/>}
|
||||||
</div>
|
</div>
|
||||||
|
}
|
||||||
|
onChange={v => {
|
||||||
|
setSelectedKey(v);
|
||||||
|
handleSlideClose();
|
||||||
|
if (v == "custom") {
|
||||||
|
// 自定义福利
|
||||||
|
getCustomCategoryList();
|
||||||
|
} else {
|
||||||
|
getTableDatas(v);
|
||||||
}
|
}
|
||||||
onChange={v => {
|
}}
|
||||||
setSelectedKey(v);
|
/>
|
||||||
handleSlideClose();
|
{selectedKey == "custom"
|
||||||
if (v == "custom") {
|
? <TwoColContent
|
||||||
// 自定义福利
|
leftContent={
|
||||||
getCustomCategoryList();
|
<WeaMobxTable // table内部做了loading加载处理,页面就不需要再加了
|
||||||
} else {
|
comsWeaTableStore={tableStore} // table store
|
||||||
getTableDatas(v);
|
hasOrder={true} // 是否启用排序
|
||||||
}
|
needScroll={true} // 是否启用table内部列表滚动,将自适应到父级高度
|
||||||
}}
|
getColumns={this.getCustomColumns}
|
||||||
|
onOperatesClick={this.onCustomOperatesClick.bind(this)}
|
||||||
|
/>
|
||||||
|
}
|
||||||
|
rightContent={renderCustomRightContent()}
|
||||||
/>
|
/>
|
||||||
{selectedKey == "custom"
|
: <CustomPaginationTable
|
||||||
? <TwoColContent
|
loading={loading}
|
||||||
leftContent={
|
columns={this.getColumns(tableColumns)}
|
||||||
<WeaMobxTable // table内部做了loading加载处理,页面就不需要再加了
|
dataSource={tableDataSource}
|
||||||
comsWeaTableStore={tableStore} // table store
|
total={toJS(tablePageInfo).total}
|
||||||
hasOrder={true} // 是否启用排序
|
current={toJS(tablePageInfo).pageNum}
|
||||||
needScroll={true} // 是否启用table内部列表滚动,将自适应到父级高度
|
pageSize={this.pageInfo.pageSize}
|
||||||
getColumns={this.getCustomColumns}
|
onPageChange={value => {
|
||||||
onOperatesClick={this.onCustomOperatesClick.bind(this)}
|
this.handlePageChange(value);
|
||||||
/>
|
}}
|
||||||
}
|
onShowSizeChange={(current, pageSize) => {
|
||||||
rightContent={renderCustomRightContent()}
|
this.pageInfo = { current, pageSize };
|
||||||
/>
|
const {
|
||||||
: <CustomPaginationTable
|
programmeStore: { form, getTableDatas, selectedKey }
|
||||||
loading={loading}
|
} = this.props;
|
||||||
columns={this.getColumns(tableColumns)}
|
getTableDatas(selectedKey, this.pageInfo);
|
||||||
dataSource={tableDataSource}
|
}}
|
||||||
total={toJS(tablePageInfo).total}
|
/>}
|
||||||
current={toJS(tablePageInfo).pageNum}
|
</WeaTop>
|
||||||
pageSize={this.pageInfo.pageSize}
|
|
||||||
onPageChange={value => {
|
|
||||||
this.handlePageChange(value);
|
|
||||||
}}
|
|
||||||
onShowSizeChange={(current, pageSize) => {
|
|
||||||
this.pageInfo = { current, pageSize };
|
|
||||||
const {
|
|
||||||
programmeStore: { form, getTableDatas, selectedKey }
|
|
||||||
} = this.props;
|
|
||||||
getTableDatas(selectedKey, this.pageInfo);
|
|
||||||
}}
|
|
||||||
/>}
|
|
||||||
</WeaTop>
|
|
||||||
</WeaRightMenu>
|
|
||||||
<WeaSlideModal
|
<WeaSlideModal
|
||||||
className="slideOuterWrapper"
|
className="slideOuterWrapper"
|
||||||
visible={this.state.slideVisiable}
|
visible={this.state.slideVisiable}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import { inject, observer } from "mobx-react";
|
import { inject, observer } from "mobx-react";
|
||||||
import { Button, DatePicker, Dropdown, Menu, message, Modal } from "antd";
|
import { Button, DatePicker, Dropdown, Menu, message, Modal } from "antd";
|
||||||
import { WeaRightMenu, WeaTop } from "ecCom";
|
import { WeaTop } from "ecCom";
|
||||||
import { renderNoright } from "../../../util"; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
|
import { renderNoright } from "../../../util"; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
|
||||||
import Accountdialog from "./components/accountDialog";
|
import Accountdialog from "./components/accountDialog";
|
||||||
import AbnormalDrawer from "./components/abnormalDrawer";
|
import AbnormalDrawer from "./components/abnormalDrawer";
|
||||||
|
|
@ -439,109 +439,104 @@ export default class StandingBook extends React.Component {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="standingbookWrapper">
|
<div className="standingbookWrapper">
|
||||||
<WeaRightMenu
|
<WeaTop
|
||||||
datas={rightMenu} // 右键菜单
|
title="社保福利台账" // 文字
|
||||||
collectParams={collectParams} // 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能
|
icon={<i className="icon-coms-fa"/>} // 左侧图标
|
||||||
|
iconBgcolor="#F14A2D" // 左侧图标背景色
|
||||||
|
buttons={showOperateBtn ? rightBtns : []}
|
||||||
|
// showDropIcon={true} // 是否显示下拉按钮
|
||||||
|
// dropMenuDatas={rightMenu} // 下拉菜单(和页面的右键菜单相同)
|
||||||
|
// dropMenuProps={{ collectParams }} // 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能
|
||||||
>
|
>
|
||||||
<WeaTop
|
<div className="billDateWrapper">
|
||||||
title="社保福利台账" // 文字
|
<div>账单月份:</div>
|
||||||
icon={<i className="icon-coms-fa"/>} // 左侧图标
|
<MonthPicker
|
||||||
iconBgcolor="#F14A2D" // 左侧图标背景色
|
value={startTime}
|
||||||
buttons={showOperateBtn ? rightBtns : []}
|
format="YYYY-MM"
|
||||||
// showDropIcon={true} // 是否显示下拉按钮
|
disabledDate={(current) => {
|
||||||
// dropMenuDatas={rightMenu} // 下拉菜单(和页面的右键菜单相同)
|
return current && endTime && current.getTime() > new Date(endTime).getTime();
|
||||||
// dropMenuProps={{ collectParams }} // 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能
|
}}
|
||||||
>
|
onChange={(val) => this.handleChangeMonth("startTime", val)}
|
||||||
<div className="billDateWrapper">
|
/>
|
||||||
<div>账单月份:</div>
|
<span className="to">至</span>
|
||||||
<MonthPicker
|
<MonthPicker
|
||||||
value={startTime}
|
value={endTime}
|
||||||
format="YYYY-MM"
|
format="YYYY-MM"
|
||||||
disabledDate={(current) => {
|
disabledDate={(current) => {
|
||||||
return current && endTime && current.getTime() > new Date(endTime).getTime();
|
return current && startTime && current.getTime() < new Date(startTime).getTime();
|
||||||
}}
|
}}
|
||||||
onChange={(val) => this.handleChangeMonth("startTime", val)}
|
onChange={(val) => this.handleChangeMonth("endTime", val)}
|
||||||
/>
|
/>
|
||||||
<span className="to">至</span>
|
</div>
|
||||||
<MonthPicker
|
<CustomPaginationTable
|
||||||
value={endTime}
|
loading={loading}
|
||||||
format="YYYY-MM"
|
columns={_.filter(columns, (it) => it.dataIndex !== "id").map(item => {
|
||||||
disabledDate={(current) => {
|
item.width = "150px";
|
||||||
return current && startTime && current.getTime() < new Date(startTime).getTime();
|
if (item.dataIndex === "billMonth") item.fixed = "left";
|
||||||
}}
|
if (item.dataIndex === "action") return { ...item };
|
||||||
onChange={(val) => this.handleChangeMonth("endTime", val)}
|
return {
|
||||||
/>
|
...item,
|
||||||
</div>
|
render: (text) => {
|
||||||
<CustomPaginationTable
|
return <span className="tdEllipsis" title={text}>{text}</span>;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
})}
|
||||||
|
dataSource={list}
|
||||||
|
total={total}
|
||||||
|
current={this.state.current}
|
||||||
|
pageSize={this.pageInfo.pageSize}
|
||||||
|
onPageChange={(value) => {
|
||||||
|
this.handlePageChange(value);
|
||||||
|
}}
|
||||||
|
onShowSizeChange={(current, pageSize) => {
|
||||||
|
this.pageInfo = { current, pageSize };
|
||||||
|
this.handleShowSizeChange(this.pageInfo);
|
||||||
|
}}
|
||||||
|
scroll={{ x: 2300 }}
|
||||||
|
/>
|
||||||
|
|
||||||
|
{dialogProps.visible && (
|
||||||
|
<Accountdialog
|
||||||
|
{...dialogProps}
|
||||||
|
onCancel={() => this.handleClose()}
|
||||||
|
onOk={this.handleOk}
|
||||||
loading={loading}
|
loading={loading}
|
||||||
columns={_.filter(columns, (it) => it.dataIndex !== "id").map(item => {
|
/>
|
||||||
item.width = "150px";
|
)}
|
||||||
if (item.dataIndex === "billMonth") item.fixed = "left";
|
{/*核算进度条*/}
|
||||||
if (item.dataIndex === "action") return { ...item };
|
{
|
||||||
return {
|
this.state.progressVisible &&
|
||||||
...item,
|
<ProgressModal
|
||||||
render: (text) => {
|
visible={this.state.progressVisible}
|
||||||
return <span className="tdEllipsis" title={text}>{text}</span>;
|
onCancel={() => {
|
||||||
|
this.setState({ progressVisible: false, progress: 0 });
|
||||||
|
}}
|
||||||
|
progress={this.state.progress}
|
||||||
|
/>
|
||||||
|
}
|
||||||
|
{drawerProps.visible && (
|
||||||
|
<AbnormalDrawer
|
||||||
|
{...drawerProps}
|
||||||
|
onClose={() => {
|
||||||
|
this.setState({
|
||||||
|
drawerProps: {
|
||||||
|
...this.state.drawerProps,
|
||||||
|
title: "",
|
||||||
|
visible: false
|
||||||
}
|
}
|
||||||
};
|
});
|
||||||
})}
|
}}
|
||||||
dataSource={list}
|
columns={abnormalColumns}
|
||||||
total={total}
|
dataSource={this.state.dbnormalTableData.list}
|
||||||
current={this.state.current}
|
total={this.state.dbnormalTableData.total}
|
||||||
pageSize={this.pageInfo.pageSize}
|
|
||||||
onPageChange={(value) => {
|
onPageChange={(value) => {
|
||||||
this.handlePageChange(value);
|
this.handlePageChange(value);
|
||||||
}}
|
}}
|
||||||
onShowSizeChange={(current, pageSize) => {
|
// onOk={this.handleOk}
|
||||||
this.pageInfo = { current, pageSize };
|
loading={inspectLoading}
|
||||||
this.handleShowSizeChange(this.pageInfo);
|
|
||||||
}}
|
|
||||||
scroll={{ x: 2300 }}
|
|
||||||
/>
|
/>
|
||||||
|
)}
|
||||||
{dialogProps.visible && (
|
</WeaTop>
|
||||||
<Accountdialog
|
|
||||||
{...dialogProps}
|
|
||||||
onCancel={() => this.handleClose()}
|
|
||||||
onOk={this.handleOk}
|
|
||||||
loading={loading}
|
|
||||||
/>
|
|
||||||
)}
|
|
||||||
{/*核算进度条*/}
|
|
||||||
{
|
|
||||||
this.state.progressVisible &&
|
|
||||||
<ProgressModal
|
|
||||||
visible={this.state.progressVisible}
|
|
||||||
onCancel={() => {
|
|
||||||
this.setState({ progressVisible: false, progress: 0 });
|
|
||||||
}}
|
|
||||||
progress={this.state.progress}
|
|
||||||
/>
|
|
||||||
}
|
|
||||||
{drawerProps.visible && (
|
|
||||||
<AbnormalDrawer
|
|
||||||
{...drawerProps}
|
|
||||||
onClose={() => {
|
|
||||||
this.setState({
|
|
||||||
drawerProps: {
|
|
||||||
...this.state.drawerProps,
|
|
||||||
title: "",
|
|
||||||
visible: false
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}}
|
|
||||||
columns={abnormalColumns}
|
|
||||||
dataSource={this.state.dbnormalTableData.list}
|
|
||||||
total={this.state.dbnormalTableData.total}
|
|
||||||
onPageChange={(value) => {
|
|
||||||
this.handlePageChange(value);
|
|
||||||
}}
|
|
||||||
// onOk={this.handleOk}
|
|
||||||
loading={inspectLoading}
|
|
||||||
/>
|
|
||||||
)}
|
|
||||||
</WeaTop>
|
|
||||||
</WeaRightMenu>
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import { inject, observer } from "mobx-react";
|
import { inject, observer } from "mobx-react";
|
||||||
import { Button, Col, message, Modal, Row, Switch } from "antd";
|
import { Button, Col, message, Modal, Row, Switch } from "antd";
|
||||||
import { WeaFormItem, WeaRightMenu, WeaSearchGroup, WeaTable, WeaTop, WeaInputSearch } from "ecCom";
|
import { WeaFormItem, WeaInputSearch, WeaSearchGroup, WeaTable, WeaTop } from "ecCom";
|
||||||
import { renderNoright } from "../../util"; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
|
import { renderNoright } from "../../util"; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
|
||||||
import EditModal from "./editModal";
|
import EditModal from "./editModal";
|
||||||
import TipLabel from "../../components/TipLabel";
|
import TipLabel from "../../components/TipLabel";
|
||||||
|
|
@ -14,7 +14,7 @@ export default class TaxAgent extends React.Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props);
|
super(props);
|
||||||
this.state = {
|
this.state = {
|
||||||
name: '',
|
name: "",
|
||||||
editModalProps: {
|
editModalProps: {
|
||||||
title: "新增个税扣缴义务人",
|
title: "新增个税扣缴义务人",
|
||||||
visible: false,
|
visible: false,
|
||||||
|
|
@ -318,7 +318,7 @@ export default class TaxAgent extends React.Component {
|
||||||
style={{ width: 250 }}
|
style={{ width: 250 }}
|
||||||
placeholder="请输入个税扣缴义务人名称"
|
placeholder="请输入个税扣缴义务人名称"
|
||||||
onChange={name => this.setState({ name })}
|
onChange={name => this.setState({ name })}
|
||||||
onSearch={() => getTaxAgentList({name})}
|
onSearch={() => getTaxAgentList({ name })}
|
||||||
/>
|
/>
|
||||||
];
|
];
|
||||||
const renderTipsLabel = () => {
|
const renderTipsLabel = () => {
|
||||||
|
|
@ -399,59 +399,57 @@ export default class TaxAgent extends React.Component {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="mySalaryBenefitsWrapper">
|
<div className="mySalaryBenefitsWrapper">
|
||||||
<WeaRightMenu>
|
<WeaTop
|
||||||
<WeaTop
|
title="个税扣缴义务人" // 文字
|
||||||
title="个税扣缴义务人" // 文字
|
icon={<i className="icon-coms-fa"/>} // 左侧图标
|
||||||
icon={<i className="icon-coms-fa"/>} // 左侧图标
|
iconBgcolor="#F14A2D" // 左侧图标背景色
|
||||||
iconBgcolor="#F14A2D" // 左侧图标背景色
|
buttons={btns}
|
||||||
buttons={btns}
|
showDropIcon={true}>
|
||||||
showDropIcon={true}>
|
<Row
|
||||||
<Row
|
gutter={16}
|
||||||
gutter={16}
|
style={{ overflow: "hidden", width: "100%", marginTop: 8 }}>
|
||||||
style={{ overflow: "hidden", width: "100%", marginTop: 8 }}>
|
<Col sm={24} md={24} lg={18} xl={18}>
|
||||||
<Col sm={24} md={24} lg={18} xl={18}>
|
<div className="mySalaryTableWrapper">
|
||||||
<div className="mySalaryTableWrapper">
|
{permission.isChief &&
|
||||||
{permission.isChief &&
|
<WeaSearchGroup title={"基础信息"} showGroup>
|
||||||
<WeaSearchGroup title={"基础信息"} showGroup>
|
<WeaFormItem
|
||||||
<WeaFormItem
|
label="启用分权"
|
||||||
label="启用分权"
|
labelCol={{ span: 4 }}
|
||||||
labelCol={{ span: 4 }}
|
wrapperCol={{ span: 20 }}>
|
||||||
wrapperCol={{ span: 20 }}>
|
<Switch
|
||||||
<Switch
|
checked={devolutionStatus === 1}
|
||||||
checked={devolutionStatus === 1}
|
onChange={this.taxAgentBaseSave}
|
||||||
onChange={this.taxAgentBaseSave}
|
/>
|
||||||
/>
|
</WeaFormItem>
|
||||||
</WeaFormItem>
|
</WeaSearchGroup>}
|
||||||
</WeaSearchGroup>}
|
<WeaSearchGroup
|
||||||
<WeaSearchGroup
|
title={
|
||||||
title={
|
<div className="titleWrapper">
|
||||||
<div className="titleWrapper">
|
<div className="title">个税扣缴义务人</div>
|
||||||
<div className="title">个税扣缴义务人</div>
|
{/* 总管理员开启新增功能 */}
|
||||||
{/* 总管理员开启新增功能 */}
|
{permission.isChief &&
|
||||||
{permission.isChief &&
|
<i
|
||||||
<i
|
className="icon-coms-Add-to"
|
||||||
className="icon-coms-Add-to"
|
title="新增"
|
||||||
title="新增"
|
onClick={() => this.showEditModal()}
|
||||||
onClick={() => this.showEditModal()}
|
/>}
|
||||||
/>}
|
</div>
|
||||||
</div>
|
}
|
||||||
}
|
showGroup>
|
||||||
showGroup>
|
<WeaTable
|
||||||
<WeaTable
|
columns={newColumns}
|
||||||
columns={newColumns}
|
dataSource={dataSource}
|
||||||
dataSource={dataSource}
|
pagination={pagination}
|
||||||
pagination={pagination}
|
loading={loading}
|
||||||
loading={loading}
|
/>
|
||||||
/>
|
</WeaSearchGroup>
|
||||||
</WeaSearchGroup>
|
</div>
|
||||||
</div>
|
</Col>
|
||||||
</Col>
|
<Col sm={24} md={24} lg={6} xl={6}>
|
||||||
<Col sm={24} md={24} lg={6} xl={6}>
|
{renderTipsLabel()}
|
||||||
{renderTipsLabel()}
|
</Col>
|
||||||
</Col>
|
</Row>
|
||||||
</Row>
|
</WeaTop>
|
||||||
</WeaTop>
|
|
||||||
</WeaRightMenu>
|
|
||||||
|
|
||||||
{editModalProps.visible &&
|
{editModalProps.visible &&
|
||||||
<EditModal
|
<EditModal
|
||||||
|
|
|
||||||
|
|
@ -1,25 +1,22 @@
|
||||||
import React from 'react';
|
import React from "react";
|
||||||
import { inject, observer } from 'mobx-react';
|
import { inject, observer } from "mobx-react";
|
||||||
import { toJS } from 'mobx';
|
import { toJS } from "mobx";
|
||||||
|
|
||||||
import { Button, Table, DatePicker, Modal } from 'antd';
|
import { Button, DatePicker, Modal } from "antd";
|
||||||
|
|
||||||
import { WeaTop, WeaTab, WeaRightMenu, WeaRangePicker, WeaInputSearch, WeaSlideModal } from 'ecCom';
|
import { WeaInputSearch, WeaSlideModal, WeaTop } from "ecCom";
|
||||||
import { WeaTableNew } from 'comsMobx';
|
import { WeaTableNew } from "comsMobx";
|
||||||
import { renderNoright, getSearchs } from '../../util'; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
|
import { renderNoright } from "../../util"; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
|
||||||
import CustomTab from '../../components/customTab';
|
import CustomTab from "../../components/customTab";
|
||||||
import ContentWrapper from '../../components/contentWrapper';
|
import SlideModalTitle from "../../components/slideModalTitle";
|
||||||
import { columns, dataSource } from './columns';
|
import EditSlideContent from "./editSlideContent";
|
||||||
|
|
||||||
|
|
||||||
const WeaTable = WeaTableNew.WeaTable;
|
const WeaTable = WeaTableNew.WeaTable;
|
||||||
|
|
||||||
import SlideModalTitle from '../../components/slideModalTitle';
|
|
||||||
import EditSlideContent from './editSlideContent';
|
|
||||||
|
|
||||||
const { MonthPicker } = DatePicker;
|
const { MonthPicker } = DatePicker;
|
||||||
|
|
||||||
@inject('taxRateStore')
|
@inject("taxRateStore")
|
||||||
@observer
|
@observer
|
||||||
export default class TaxRate extends React.Component {
|
export default class TaxRate extends React.Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
|
|
@ -27,9 +24,9 @@ export default class TaxRate extends React.Component {
|
||||||
this.state = {
|
this.state = {
|
||||||
value: "",
|
value: "",
|
||||||
selectedKey: "0",
|
selectedKey: "0",
|
||||||
currentOperate: "add",
|
currentOperate: "add",
|
||||||
editable: false,
|
editable: false
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
componentWillMount() { // 初始化渲染页面
|
componentWillMount() { // 初始化渲染页面
|
||||||
|
|
@ -39,49 +36,49 @@ export default class TaxRate extends React.Component {
|
||||||
|
|
||||||
// 增加编辑功能,重写columns绑定事件
|
// 增加编辑功能,重写columns绑定事件
|
||||||
getColumns = (columns) => {
|
getColumns = (columns) => {
|
||||||
let newColumns = '';
|
let newColumns = "";
|
||||||
newColumns = columns.map(column => {
|
newColumns = columns.map(column => {
|
||||||
let newColumn = column;
|
let newColumn = column;
|
||||||
newColumn.render = (text, record, index) => { //前端元素转义
|
newColumn.render = (text, record, index) => { //前端元素转义
|
||||||
let valueSpan = record[newColumn.dataIndex + "span"] !== undefined ? record[newColumn.dataIndex + "span"] : record[newColumn.dataIndex];
|
let valueSpan = record[newColumn.dataIndex + "span"] !== undefined ? record[newColumn.dataIndex + "span"] : record[newColumn.dataIndex];
|
||||||
switch(newColumn.dataIndex) {
|
switch (newColumn.dataIndex) {
|
||||||
case "name":
|
case "name":
|
||||||
return <a onClick={() => {
|
return <a onClick={() => {
|
||||||
this.onEdit(record, false)
|
this.onEdit(record, false);
|
||||||
}}
|
}}
|
||||||
dangerouslySetInnerHTML={{ __html: valueSpan }} />
|
dangerouslySetInnerHTML={{ __html: valueSpan }}/>;
|
||||||
default:
|
default:
|
||||||
return <div dangerouslySetInnerHTML={{ __html: valueSpan }} />
|
return <div dangerouslySetInnerHTML={{ __html: valueSpan }}/>;
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
return newColumn;
|
return newColumn;
|
||||||
});
|
});
|
||||||
return newColumns;
|
return newColumns;
|
||||||
}
|
};
|
||||||
|
|
||||||
onEdit = (record, editable) => {
|
onEdit = (record, editable) => {
|
||||||
this.setState({currentOperate: "update", editable: editable})
|
this.setState({ currentOperate: "update", editable: editable });
|
||||||
const {taxRateStore: {setSlideVisiable, emptyForm, getItemInform }} = this.props;
|
const { taxRateStore: { setSlideVisiable, emptyForm, getItemInform } } = this.props;
|
||||||
emptyForm();
|
emptyForm();
|
||||||
setSlideVisiable(true);
|
setSlideVisiable(true);
|
||||||
getItemInform(record.id)
|
getItemInform(record.id);
|
||||||
}
|
};
|
||||||
|
|
||||||
handleInsertBtnClick = () => {
|
handleInsertBtnClick = () => {
|
||||||
const {taxRateStore: {setSlideVisiable, emptyForm, initDataSource }} = this.props;
|
const { taxRateStore: { setSlideVisiable, emptyForm, initDataSource } } = this.props;
|
||||||
this.setState({
|
this.setState({
|
||||||
currentOperate: "add",
|
currentOperate: "add",
|
||||||
editable: true
|
editable: true
|
||||||
})
|
});
|
||||||
emptyForm();
|
emptyForm();
|
||||||
initDataSource();
|
initDataSource();
|
||||||
setSlideVisiable(true)
|
setSlideVisiable(true);
|
||||||
}
|
};
|
||||||
|
|
||||||
onOperatesClick = (record, index, operate, flag) => {
|
onOperatesClick = (record, index, operate, flag) => {
|
||||||
const {taxRateStore : {doDelete}} = this.props;
|
const { taxRateStore: { doDelete } } = this.props;
|
||||||
switch(operate.index.toString()){
|
switch (operate.index.toString()) {
|
||||||
case '0': // 编辑
|
case "0": // 编辑
|
||||||
this.onEdit(record, true);
|
this.onEdit(record, true);
|
||||||
break;
|
break;
|
||||||
case "1": // 删除
|
case "1": // 删除
|
||||||
|
|
@ -89,9 +86,10 @@ this.onEdit(record, false)
|
||||||
title: "信息确认",
|
title: "信息确认",
|
||||||
content: "确定删除吗",
|
content: "确定删除吗",
|
||||||
onOk() {
|
onOk() {
|
||||||
doDelete([record.id])
|
doDelete([record.id]);
|
||||||
},
|
},
|
||||||
onCancel() {}
|
onCancel() {
|
||||||
|
}
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -99,8 +97,18 @@ this.onEdit(record, false)
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const { taxRateStore } = this.props;
|
const { taxRateStore } = this.props;
|
||||||
const { loading, hasRight, form, condition, tableStore, showSearchAd, getTableDatas, doSearch, setShowSearchAd } = taxRateStore;
|
const {
|
||||||
const { doSave, slideVisiable, setSlideVisiable, emptyForm, doUpdate, doBatchDelete } = taxRateStore
|
loading,
|
||||||
|
hasRight,
|
||||||
|
form,
|
||||||
|
condition,
|
||||||
|
tableStore,
|
||||||
|
showSearchAd,
|
||||||
|
getTableDatas,
|
||||||
|
doSearch,
|
||||||
|
setShowSearchAd
|
||||||
|
} = taxRateStore;
|
||||||
|
const { doSave, slideVisiable, setSlideVisiable, emptyForm, doUpdate, doBatchDelete } = taxRateStore;
|
||||||
const selectedRowKeys = toJS(tableStore.selectedRowKeys) || []; // tableStore 右侧选中数组
|
const selectedRowKeys = toJS(tableStore.selectedRowKeys) || []; // tableStore 右侧选中数组
|
||||||
if (!hasRight && !loading) { // 无权限处理
|
if (!hasRight && !loading) { // 无权限处理
|
||||||
return renderNoright();
|
return renderNoright();
|
||||||
|
|
@ -108,104 +116,99 @@ this.onEdit(record, false)
|
||||||
|
|
||||||
const rightMenu = [// 右键菜单
|
const rightMenu = [// 右键菜单
|
||||||
{
|
{
|
||||||
key: 'BTN_DEL',
|
key: "BTN_DEL",
|
||||||
icon: <i className='icon-coms-delete'/>,
|
icon: <i className="icon-coms-delete"/>,
|
||||||
content : '批量删除',
|
content: "批量删除",
|
||||||
disable: selectedRowKeys.length === 0, // 没有选中禁用
|
disable: selectedRowKeys.length === 0, // 没有选中禁用
|
||||||
onClick : doBatchDelete,
|
onClick: doBatchDelete
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
const collectParams = { // 收藏功能配置
|
const collectParams = { // 收藏功能配置
|
||||||
favname: '个税税率表',
|
favname: "个税税率表",
|
||||||
favouritetype: 1,
|
favouritetype: 1,
|
||||||
objid: 0,
|
objid: 0,
|
||||||
link: 'wui/index.html#/ns_demo03/index',
|
link: "wui/index.html#/ns_demo03/index",
|
||||||
importantlevel: 1,
|
importantlevel: 1
|
||||||
};
|
};
|
||||||
const adBtn = [ // 高级搜索内部按钮
|
const adBtn = [ // 高级搜索内部按钮
|
||||||
<Button type="primary" onClick={doSearch}>搜索</Button>,
|
<Button type="primary" onClick={doSearch}>搜索</Button>,
|
||||||
<Button type="ghost" onClick={() => form.resetForm()}>重置</Button>,
|
<Button type="ghost" onClick={() => form.resetForm()}>重置</Button>,
|
||||||
<Button type="ghost" onClick={() => setShowSearchAd(false)}>取消</Button>,
|
<Button type="ghost" onClick={() => setShowSearchAd(false)}>取消</Button>
|
||||||
];
|
];
|
||||||
|
|
||||||
const topTab = [
|
const topTab = [];
|
||||||
];
|
|
||||||
|
|
||||||
const renderSearchOperationItem = () => {
|
const renderSearchOperationItem = () => {
|
||||||
return <div>
|
return <div>
|
||||||
<Button type="primary" onClick={() => {
|
<Button type="primary" onClick={() => {
|
||||||
this.handleInsertBtnClick()
|
this.handleInsertBtnClick();
|
||||||
}}>新建</Button>
|
}}>新建</Button>
|
||||||
{' '}
|
{" "}
|
||||||
<WeaInputSearch
|
<WeaInputSearch
|
||||||
placeholder={'请输入个税税率表名称'}
|
placeholder={"请输入个税税率表名称"}
|
||||||
onSearch={(name) => {
|
onSearch={(name) => {
|
||||||
doSearch({name})
|
doSearch({ name });
|
||||||
}}
|
}}
|
||||||
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
}
|
|
||||||
|
|
||||||
|
/>
|
||||||
|
</div>;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="mySalaryBenefitsWrapper">
|
<div className="mySalaryBenefitsWrapper">
|
||||||
<WeaRightMenu
|
<WeaTop
|
||||||
datas={rightMenu} // 右键菜单
|
title="个税税率表" // 文字
|
||||||
collectParams={collectParams} // 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能
|
icon={<i className="icon-coms-fa"/>} // 左侧图标
|
||||||
|
iconBgcolor="#F14A2D" // 左侧图标背景色
|
||||||
|
showDropIcon={true} // 是否显示下拉按钮
|
||||||
|
dropMenuDatas={rightMenu} // 下拉菜单(和页面的右键菜单相同)
|
||||||
|
dropMenuProps={{ collectParams }} // 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能
|
||||||
>
|
>
|
||||||
<WeaTop
|
|
||||||
title="个税税率表" // 文字
|
|
||||||
icon={<i className="icon-coms-fa" />} // 左侧图标
|
|
||||||
iconBgcolor='#F14A2D' // 左侧图标背景色
|
|
||||||
showDropIcon={true} // 是否显示下拉按钮
|
|
||||||
dropMenuDatas={rightMenu} // 下拉菜单(和页面的右键菜单相同)
|
|
||||||
dropMenuProps={{ collectParams }} // 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能
|
|
||||||
>
|
|
||||||
|
|
||||||
<CustomTab topTab={topTab}
|
<CustomTab topTab={topTab}
|
||||||
searchOperationItem={
|
searchOperationItem={
|
||||||
renderSearchOperationItem()
|
renderSearchOperationItem()
|
||||||
}
|
}
|
||||||
onChange={(v) => {
|
onChange={(v) => {
|
||||||
this.setState({ selectedKey: v })
|
this.setState({ selectedKey: v });
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<WeaTable // table内部做了loading加载处理,页面就不需要再加了
|
<WeaTable // table内部做了loading加载处理,页面就不需要再加了
|
||||||
comsWeaTableStore={tableStore} // table store
|
comsWeaTableStore={tableStore} // table store
|
||||||
hasOrder={true} // 是否启用排序
|
hasOrder={true} // 是否启用排序
|
||||||
needScroll={true} // 是否启用table内部列表滚动,将自适应到父级高度
|
needScroll={true} // 是否启用table内部列表滚动,将自适应到父级高度
|
||||||
getColumns={this.getColumns}
|
getColumns={this.getColumns}
|
||||||
onOperatesClick={this.onOperatesClick.bind(this)}
|
onOperatesClick={this.onOperatesClick.bind(this)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
</WeaTop>
|
</WeaTop>
|
||||||
</WeaRightMenu>
|
|
||||||
|
|
||||||
{
|
{
|
||||||
slideVisiable && <WeaSlideModal visible={slideVisiable}
|
slideVisiable &&
|
||||||
top={0}
|
<WeaSlideModal
|
||||||
width={40}
|
visible={slideVisiable}
|
||||||
height={100}
|
top={0}
|
||||||
direction={'right'}
|
width={40}
|
||||||
measure={'%'}
|
height={100}
|
||||||
title={
|
direction={"right"}
|
||||||
<SlideModalTitle
|
measure={"%"}
|
||||||
subtitle={!this.state.editable ? "查看个税税率表" : this.state.currentOperate == "add" ? "新建个税税率表" : "编辑个税税率表" }
|
title={
|
||||||
subTabs={[{title: "基础设置"}]}
|
<SlideModalTitle
|
||||||
onSave={() => {
|
subtitle={!this.state.editable ? "查看个税税率表" : this.state.currentOperate == "add" ? "新建个税税率表" : "编辑个税税率表"}
|
||||||
this.state.currentOperate == "add" ? doSave() : doUpdate()
|
subTabs={[{ title: "基础设置" }]}
|
||||||
}}
|
onSave={() => {
|
||||||
editable={this.state.editable}
|
this.state.currentOperate == "add" ? doSave() : doUpdate();
|
||||||
/>
|
}}
|
||||||
}
|
editable={this.state.editable}
|
||||||
content={(<EditSlideContent editable={this.state.editable}/>)}
|
/>
|
||||||
onClose={() => setSlideVisiable(false)}
|
}
|
||||||
showMask={true}
|
content={(<EditSlideContent editable={this.state.editable}/>)}
|
||||||
closeMaskOnClick={() => setSlideVisiable(false)} />
|
onClose={() => setSlideVisiable(false)}
|
||||||
|
showMask={true}
|
||||||
|
closeMaskOnClick={() => setSlideVisiable(false)}/>
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
)
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue