feature/2.10.1.2401.01-页面操作日志添加

This commit is contained in:
黎永顺 2024-01-31 10:24:15 +08:00
parent 169f90d44b
commit a6f382a36b
18 changed files with 276 additions and 61 deletions

View File

@ -12,9 +12,9 @@ import AdvanceInputBtn from "./components/advanceInputBtn";
import AdjustAdvanceSearchPannel from "./components/adjustAdvanceSearchPannel"; import AdjustAdvanceSearchPannel from "./components/adjustAdvanceSearchPannel";
import cs from "classnames"; import cs from "classnames";
import { Button } from "antd"; import { Button } from "antd";
import "./index.less";
import { convertToUrlString } from "../../util/url"; import { convertToUrlString } from "../../util/url";
import LogDialog from "../../components/logViewModal";
import "./index.less";
const getLabel = WeaLocaleProvider.getLabel; const getLabel = WeaLocaleProvider.getLabel;
@ -25,7 +25,7 @@ class Index extends Component {
super(props); super(props);
this.state = { this.state = {
loading: false, columns: [], dataSource: [], showSearchAd: false, loading: false, columns: [], dataSource: [], showSearchAd: false,
pageInfo: { current: 1, pageSize: 10, total: 0 } pageInfo: { current: 1, pageSize: 10, total: 0 }, logDialogVisible: false
}; };
} }
@ -88,9 +88,18 @@ class Index extends Component {
} }
this.handleDebounce(); this.handleDebounce();
}; };
onDropMenuClick = (key) => {
switch (key) {
case "log":
this.setState({ logDialogVisible: true });
break;
default:
break;
}
};
render() { render() {
const { loading, dataSource, columns, pageInfo, showSearchAd } = this.state; const { loading, dataSource, columns, pageInfo, showSearchAd, logDialogVisible } = this.state;
const pagination = { const pagination = {
...pageInfo, ...pageInfo,
showTotal: total => `${getLabel(18609, "共")} ${total} ${getLabel(18256, "条")}`, showTotal: total => `${getLabel(18609, "共")} ${total} ${getLabel(18256, "条")}`,
@ -111,11 +120,17 @@ class Index extends Component {
return ( return (
<WeaTop <WeaTop
title={getLabel(111, "调薪管理")} buttonSpace={10} className="adjustManageLayout" title={getLabel(111, "调薪管理")} buttonSpace={10} className="adjustManageLayout"
icon={<i className="icon-coms-fa"/>} iconBgcolor="#F14A2D" icon={<i className="icon-coms-fa"/>} iconBgcolor="#F14A2D" showDropIcon
buttons={[ buttons={[
<Button type="primary" onClick={this.adjustExport}>{getLabel(17416, "导出")}</Button>, <Button type="primary" onClick={this.adjustExport}>{getLabel(17416, "导出")}</Button>,
<AdvanceInputBtn onOpenAdvanceSearch={() => this.openAdvanceSearch()} <AdvanceInputBtn onOpenAdvanceSearch={() => this.openAdvanceSearch()}
onAdvanceSearch={this.adjustRecordItemList}/> onAdvanceSearch={this.adjustRecordItemList}/>
]} onDropMenuClick={this.onDropMenuClick}
dropMenuDatas={[
{
key: "log", icon: <i className="iconfont icon-caozuorizhi32"/>,
content: getLabel(545781, "操作日志")
}
]} ]}
> >
<div className={cs("searchAdvanced-condition-container", { "searchAdvanced-condition-hide": !showSearchAd })}> <div className={cs("searchAdvanced-condition-container", { "searchAdvanced-condition-hide": !showSearchAd })}>
@ -129,6 +144,9 @@ class Index extends Component {
dataSource={dataSource} loading={loading} dataSource={dataSource} loading={loading}
pagination={pagination} columns={columns} pagination={pagination} columns={columns}
/> />
{/*操作日志*/}
<LogDialog visible={logDialogVisible} logFunction="salarcitemadj"
onCancel={() => this.setState({ logDialogVisible: false })}/>
</WeaTop> </WeaTop>
); );
} }

View File

@ -20,6 +20,14 @@ class StatisticsModal extends Component {
}; };
} }
componentWillReceiveProps(nextProps, nextContext) {
if (nextProps.visible !== this.props.visible && nextProps.visible) {
document.querySelector(".xc_tj_fx_wrapper").classList.add("zIndex0-statistics");
} else if (nextProps.visible !== this.props.visible && !nextProps.visible) {
document.querySelector(".xc_tj_fx_wrapper").classList.remove("zIndex0-statistics");
}
}
handleSaveReportList = () => { handleSaveReportList = () => {
const { form, id, onCancel } = this.props; const { form, id, onCancel } = this.props;
form.validateForm().then(f => { form.validateForm().then(f => {

View File

@ -19,6 +19,7 @@ import ReportList from "./components/reportList";
import ReportForm from "./components/reportForm"; import ReportForm from "./components/reportForm";
import moment from "moment"; import moment from "moment";
import "./index.less"; import "./index.less";
import LogDialog from "../../components/logViewModal";
const { getLabel } = WeaLocaleProvider; const { getLabel } = WeaLocaleProvider;
@ -41,7 +42,8 @@ class Index extends Component {
modalReq: { modalReq: {
title: "", visible: false, title: "", visible: false,
typeKey: "", id: "" typeKey: "", id: ""
} },
logDialogVisible: false
}; };
} }
@ -243,10 +245,22 @@ class Index extends Component {
initTable && this.dimensionTableRef.dimensionList(); initTable && this.dimensionTableRef.dimensionList();
}); });
}; };
onDropMenuClick = (key) => {
switch (key) {
case "log":
this.setState({ logDialogVisible: true });
break;
default:
break;
}
};
render() { render() {
const { taxAgentStore: { statisticsReportBtn }, attendanceStore: { statisticsForm, reportForm } } = this.props; const { taxAgentStore: { statisticsReportBtn }, attendanceStore: { statisticsForm, reportForm } } = this.props;
const { selectedKey, modalReq, slideReq, conditions, reportConditions, reportName, keyword, year } = this.state; const {
selectedKey, modalReq, slideReq, conditions, reportConditions,
reportName, keyword, year, logDialogVisible
} = this.state;
const buttons = selectedKey === "statistics" ? [ const buttons = selectedKey === "statistics" ? [
<Button type="primary" onClick={() => this.handleReqBtnsClick("addReport")}>{getLabel(111, "新建报表")}</Button>, <Button type="primary" onClick={() => this.handleReqBtnsClick("addReport")}>{getLabel(111, "新建报表")}</Button>,
<Button type="ghost" <Button type="ghost"
@ -272,9 +286,16 @@ class Index extends Component {
return ( return (
<WeaReqTop <WeaReqTop
title={getLabel(111, "薪酬统计报表")} icon={<i className="icon-coms-fa"/>} selectedKey={selectedKey} title={getLabel(111, "薪酬统计报表")} icon={<i className="icon-coms-fa"/>} selectedKey={selectedKey}
iconBgcolor="#F14A2D" tabDatas={tabs} className="xc_tj_fx_wrapper" showDropIcon={false} iconBgcolor="#F14A2D" tabDatas={tabs} className="xc_tj_fx_wrapper" showDropIcon
buttons={(!statisticsReportBtn && selectedKey === "statistics") ? buttons.slice(-1) : buttons} buttonSpace={10} buttons={(!statisticsReportBtn && selectedKey === "statistics") ? buttons.slice(-1) : buttons} buttonSpace={10}
onChange={selectedKey => this.setState({ selectedKey }, () => this.state.selectedKey === "statistics" && this.initReportFormCondition())} onChange={selectedKey => this.setState({ selectedKey }, () => this.state.selectedKey === "statistics" && this.initReportFormCondition())}
onDropMenuClick={this.onDropMenuClick}
dropMenuDatas={[
{
key: "log", icon: <i className="iconfont icon-caozuorizhi32"/>,
content: getLabel(545781, "操作日志")
}
]}
> >
{ {
selectedKey === "statistics" ? selectedKey === "statistics" ?
@ -306,6 +327,9 @@ class Index extends Component {
form={statisticsForm} condition={conditions} form={statisticsForm} condition={conditions}
initCondition={this.initCondition} onChangeCondition={this.handleChangeCondition} initCondition={this.initCondition} onChangeCondition={this.handleChangeCondition}
/> />
{/*操作日志*/}
<LogDialog visible={logDialogVisible} logFunction="statreport"
onCancel={() => this.setState({ logDialogVisible: false })}/>
</WeaReqTop> </WeaReqTop>
); );
} }

View File

@ -1,8 +1,4 @@
.xc_tj_fx_wrapper { .xc_tj_fx_wrapper {
.wea-new-top-req {
z-index: 0 !important;
}
.search { .search {
top: -3px; top: -3px;
margin-right: 10px; margin-right: 10px;
@ -167,6 +163,11 @@
} }
} }
.zIndex0-statistics {
.wea-new-top-req {
z-index: 0 !important;
}
}
//统计维度弹框 //统计维度弹框
.dimensionModalWrapper, .dimensionSlideWrapper { .dimensionModalWrapper, .dimensionSlideWrapper {

View File

@ -12,9 +12,10 @@ import moment from "moment";
import CalculateQuery from "./components/calculateQuery"; import CalculateQuery from "./components/calculateQuery";
import CalculateTablelist from "./components/calculateTablelist"; import CalculateTablelist from "./components/calculateTablelist";
import CalculateDialog from "./components/calculateDialog"; import CalculateDialog from "./components/calculateDialog";
import ProgressModal from "../../components/progressModal";
import LogDialog from "../../components/logViewModal";
import { backCalculate, deleteSalaryacct, fileSalaryAcct, reAccounting } from "../../apis/calculate"; import { backCalculate, deleteSalaryacct, fileSalaryAcct, reAccounting } from "../../apis/calculate";
import "./index.less"; import "./index.less";
import ProgressModal from "../../components/progressModal";
const getLabel = WeaLocaleProvider.getLabel; const getLabel = WeaLocaleProvider.getLabel;
@ -27,10 +28,10 @@ class Calculate extends Component {
queryParams: { queryParams: {
name: "", name: "",
dateRange: [ dateRange: [
moment(new Date()).subtract(1, 'year').startOf("year").format("YYYY-MM"), moment(new Date()).subtract(1, "year").startOf("year").format("YYYY-MM"),
moment(new Date()).endOf("year").format("YYYY-MM") moment(new Date()).endOf("year").format("YYYY-MM")
] ]
}, isRefresh: false, }, isRefresh: false, logDialogVisible: false,
progressModule: { visible: false, progress: 0, title: getLabel(111, "正在归档中请稍后") }, progressModule: { visible: false, progress: 0, title: getLabel(111, "正在归档中请稍后") },
calcDaialog: { visible: false, title: "" } calcDaialog: { visible: false, title: "" }
}; };
@ -169,12 +170,28 @@ class Calculate extends Component {
break; break;
} }
}; };
onDropMenuClick = (key) => {
switch (key) {
case "log":
this.setState({ logDialogVisible: true });
break;
default:
break;
}
};
render() { render() {
const { queryParams, isRefresh, calcDaialog, progressModule } = this.state; const { queryParams, isRefresh, calcDaialog, progressModule, logDialogVisible } = this.state;
return ( return (
<WeaTop title={getLabel(538011, "薪资核算")} icon={<i className="icon-coms-fa"/>} iconBgcolor="#F14A2D" <WeaTop title={getLabel(538011, "薪资核算")} icon={<i className="icon-coms-fa"/>} iconBgcolor="#F14A2D"
buttons={this.renderCalculateOpts()} className="calculate-main-layout" buttons={this.renderCalculateOpts()} className="calculate-main-layout" showDropIcon
onDropMenuClick={this.onDropMenuClick}
dropMenuDatas={[
{
key: "log", icon: <i className="iconfont icon-caozuorizhi32"/>,
content: getLabel(545781, "操作日志")
}
]}
> >
<div className="calculate-body"> <div className="calculate-body">
<CalculateTablelist queryParams={queryParams} isRefresh={isRefresh} onCalcOpts={this.handleCalcOpts}/> <CalculateTablelist queryParams={queryParams} isRefresh={isRefresh} onCalcOpts={this.handleCalcOpts}/>
@ -184,6 +201,9 @@ class Calculate extends Component {
isRefresh: bool === "refresh" ? !isRefresh : isRefresh isRefresh: bool === "refresh" ? !isRefresh : isRefresh
}, () => bool === "refresh" && window.open(`/spa/hrmSalary/static/index.html#/main/hrmSalary/calculate/${id}`))} }, () => bool === "refresh" && window.open(`/spa/hrmSalary/static/index.html#/main/hrmSalary/calculate/${id}`))}
/> />
{/*操作日志*/}
<LogDialog visible={logDialogVisible} logFunction="acctrecord"
onCancel={() => this.setState({ logDialogVisible: false })}/>
{/* 归档进度条*/} {/* 归档进度条*/}
{ {
progressModule.visible && progressModule.visible &&

View File

@ -12,6 +12,7 @@ import moment from "moment";
import DeclareQuery from "./components/declareQuery"; import DeclareQuery from "./components/declareQuery";
import DeclareTablelist from "./components/declareTablelist"; import DeclareTablelist from "./components/declareTablelist";
import DeclareDialog from "./components/declareDialog"; import DeclareDialog from "./components/declareDialog";
import LogDialog from "../../components/logViewModal";
import "./index.less"; import "./index.less";
const getLabel = WeaLocaleProvider.getLabel; const getLabel = WeaLocaleProvider.getLabel;
@ -25,11 +26,12 @@ class Calculate extends Component {
queryParams: { queryParams: {
taxAgentName: "", taxAgentName: "",
dateRange: [ dateRange: [
moment(new Date()).subtract(1, 'year').startOf("year").format("YYYY-MM"), moment(new Date()).subtract(1, "year").startOf("year").format("YYYY-MM"),
moment(new Date()).endOf("year").format("YYYY-MM") moment(new Date()).endOf("year").format("YYYY-MM")
] ]
}, isRefresh: false, }, isRefresh: false,
declareDaialog: { visible: false, title: "" } declareDaialog: { visible: false, title: "" },
logDialogVisible: false
}; };
this.handleDebounce = null; this.handleDebounce = null;
} }
@ -57,13 +59,26 @@ class Calculate extends Component {
]; ];
return !showOperateBtn ? calculateOpts.slice(1) : calculateOpts; return !showOperateBtn ? calculateOpts.slice(1) : calculateOpts;
}; };
onDropMenuClick = (key) => {
switch (key) {
case "log":
this.setState({ logDialogVisible: true });
break;
default:
break;
}
};
render() { render() {
const { queryParams, isRefresh, declareDaialog } = this.state; const { queryParams, isRefresh, declareDaialog, logDialogVisible } = this.state;
return ( return (
<WeaTop title={getLabel(543353, "个税申报")} icon={<i className="icon-coms-fa"/>} iconBgcolor="#F14A2D" <WeaTop title={getLabel(543353, "个税申报")} icon={<i className="icon-coms-fa"/>} iconBgcolor="#F14A2D"
buttons={this.renderCalculateOpts()} className="declare-main-layout" buttons={this.renderCalculateOpts()} className="declare-main-layout" showDropIcon
> onDropMenuClick={this.onDropMenuClick} dropMenuDatas={[{
key: "log", icon: <i className="iconfont icon-caozuorizhi32"/>,
content: getLabel(545781, "操作日志")
}
]}>
<div className="declare-body"> <div className="declare-body">
<DeclareTablelist queryParams={queryParams} isRefresh={isRefresh}/> <DeclareTablelist queryParams={queryParams} isRefresh={isRefresh}/>
<DeclareDialog {...declareDaialog} <DeclareDialog {...declareDaialog}
@ -72,6 +87,9 @@ class Calculate extends Component {
isRefresh: bool === "refresh" ? !isRefresh : isRefresh isRefresh: bool === "refresh" ? !isRefresh : isRefresh
})} })}
/> />
{/*操作日志*/}
<LogDialog visible={logDialogVisible} logFunction="taxdecla"
onCancel={() => this.setState({ logDialogVisible: false })}/>
</div> </div>
</WeaTop> </WeaTop>
); );

View File

@ -14,6 +14,7 @@ import { getSearchs } from "../../util";
import { condition, searchCondition } from "./conditions"; import { condition, searchCondition } from "./conditions";
import { deleteExtEmp, listPage } from "../../apis/externalPersonManage"; import { deleteExtEmp, listPage } from "../../apis/externalPersonManage";
import "./index.less"; import "./index.less";
import LogDialog from "../../components/logViewModal";
const getLabel = WeaLocaleProvider.getLabel; const getLabel = WeaLocaleProvider.getLabel;
@ -23,7 +24,7 @@ class Index extends Component {
constructor(props) { constructor(props) {
super(props); super(props);
this.state = { this.state = {
loading: false, loading: false, logDialogVisible: false,
selectedRowKeys: [], selectedRowKeys: [],
pageInfo: { current: 1, pageSize: 10, total: 0 }, pageInfo: { current: 1, pageSize: 10, total: 0 },
showSearchAd: false, showSearchAd: false,
@ -103,10 +104,19 @@ class Index extends Component {
} }
})); }));
}; };
onDropMenuClick = (key) => {
switch (key) {
case "log":
this.setState({ logDialogVisible: true });
break;
default:
break;
}
};
render() { render() {
const { const {
showSearchAd, externalPersonManagePayload, loading, showSearchAd, externalPersonManagePayload, loading, logDialogVisible,
pageInfo, selectedRowKeys, dataSource, externalPersonImportPayload pageInfo, selectedRowKeys, dataSource, externalPersonImportPayload
} = this.state; } = this.state;
const { const {
@ -136,7 +146,13 @@ class Index extends Component {
<div className="externalPerWrapper"> <div className="externalPerWrapper">
<WeaTop <WeaTop
title="非系统人员管理" icon={<i className="icon-coms-fa"/>} title="非系统人员管理" icon={<i className="icon-coms-fa"/>}
iconBgcolor="#F14A2D" showDropIcon={false} iconBgcolor="#F14A2D" showDropIcon onDropMenuClick={this.onDropMenuClick}
dropMenuDatas={[
{
key: "log", icon: <i className="iconfont icon-caozuorizhi32"/>,
content: getLabel(545781, "操作日志")
}
]}
> >
<div className="externalPerCont"> <div className="externalPerCont">
<WeaTab <WeaTab
@ -222,6 +238,9 @@ class Index extends Component {
/> />
} }
</div> </div>
{/*操作日志*/}
<LogDialog visible={logDialogVisible} logFunction="extemployee"
onCancel={() => this.setState({ logDialogVisible: false })}/>
</WeaTop> </WeaTop>
</div> </div>
); );

View File

@ -7,20 +7,22 @@
import React, { Component } from "react"; import React, { Component } from "react";
import { inject, observer } from "mobx-react"; import { inject, observer } from "mobx-react";
import { Button, message, Modal } from "antd"; import { Button, message, Modal } from "antd";
import { WeaInputSearch, WeaTop } from "ecCom"; import { WeaInputSearch, WeaLocaleProvider, WeaTop } from "ecCom";
import FieldTable from "./components/fieldTable"; import FieldTable from "./components/fieldTable";
import FieldSlide from "./components/fieldSlide"; import FieldSlide from "./components/fieldSlide";
import { deleteSalaryField } from "../../apis/fieldManage"; import { deleteSalaryField } from "../../apis/fieldManage";
import LogDialog from "../../components/logViewModal";
import "./index.less"; import "./index.less";
const getLabel = WeaLocaleProvider.getLabel;
@inject("taxAgentStore") @inject("taxAgentStore")
@observer @observer
class FieldManagement extends Component { class FieldManagement extends Component {
constructor(props) { constructor(props) {
super(props); super(props);
this.state = { this.state = {
searchVal: "", searchVal: "", doSearch: false, logDialogVisible: false,
doSearch: false,
slideparams: { slideparams: {
visible: false, visible: false,
title: "新建字段", title: "新建字段",
@ -67,9 +69,18 @@ class FieldManagement extends Component {
} }
}); });
}; };
onDropMenuClick = (key) => {
switch (key) {
case "log":
this.setState({ logDialogVisible: true });
break;
default:
break;
}
};
render() { render() {
const { searchVal, doSearch, slideparams } = this.state; const { searchVal, doSearch, slideparams, logDialogVisible } = this.state;
const { taxAgentStore } = this.props; const { taxAgentStore } = this.props;
const { showSalaryItemBtn, showOperateBtn } = taxAgentStore; const { showSalaryItemBtn, showOperateBtn } = taxAgentStore;
const btns = [ const btns = [
@ -85,11 +96,15 @@ class FieldManagement extends Component {
]; ];
return ( return (
<WeaTop <WeaTop
title="字段管理" title="字段管理" icon={<i className="icon-coms-fa"/>} iconBgcolor="#F14A2D"
icon={<i className="icon-coms-fa"/>}
iconBgcolor="#F14A2D"
showDropIcon={false}
buttons={(showSalaryItemBtn || showOperateBtn) ? btns : btns.slice(-1)} buttons={(showSalaryItemBtn || showOperateBtn) ? btns : btns.slice(-1)}
showDropIcon onDropMenuClick={this.onDropMenuClick}
dropMenuDatas={[
{
key: "log", icon: <i className="iconfont icon-caozuorizhi32"/>,
content: getLabel(545781, "操作日志")
}
]}
> >
<div className="fieldManageWrapper"> <div className="fieldManageWrapper">
<FieldTable name={searchVal} doSearch={doSearch} onEditLedger={this.handleEditField} <FieldTable name={searchVal} doSearch={doSearch} onEditLedger={this.handleEditField}
@ -105,6 +120,9 @@ class FieldManagement extends Component {
onCancel={this.handleResetField} onCancel={this.handleResetField}
onRefreshList={() => this.setState({ doSearch: !doSearch })} onRefreshList={() => this.setState({ doSearch: !doSearch })}
/> />
{/*操作日志*/}
<LogDialog visible={logDialogVisible} logFunction="salarcfield"
onCancel={() => this.setState({ logDialogVisible: false })}/>
</div> </div>
</WeaTop> </WeaTop>
); );

View File

@ -6,21 +6,23 @@
*/ */
import React, { Component } from "react"; import React, { Component } from "react";
import { inject, observer } from "mobx-react"; import { inject, observer } from "mobx-react";
import { WeaTop } from "ecCom"; import { WeaLocaleProvider, WeaTop } from "ecCom";
import { Button } from "antd"; import { Button } from "antd";
import LedgerTable from "./components/ledgerTable"; import LedgerTable from "./components/ledgerTable";
import LedgerSlide from "./components/ledgerSlide"; import LedgerSlide from "./components/ledgerSlide";
import LedgerSearchComp from "./components/ledgerSearchComp"; import LedgerSearchComp from "./components/ledgerSearchComp";
import LogDialog from "../../components/logViewModal";
import "./index.less"; import "./index.less";
const getLabel = WeaLocaleProvider.getLabel;
@inject("taxAgentStore") @inject("taxAgentStore")
@observer @observer
class Index extends Component { class Index extends Component {
constructor(props) { constructor(props) {
super(props); super(props);
this.state = { this.state = {
searchVal: "", searchVal: "", doSearch: false, logDialogVisible: false,
doSearch: false,
slideparams: { slideparams: {
visible: false, visible: false,
title: "新建账套", title: "新建账套",
@ -51,9 +53,18 @@ class Index extends Component {
} }
}); });
}; };
onDropMenuClick = (key) => {
switch (key) {
case "log":
this.setState({ logDialogVisible: true });
break;
default:
break;
}
};
render() { render() {
const { searchVal, doSearch, slideparams } = this.state; const { logDialogVisible, doSearch, slideparams } = this.state;
const { taxAgentStore } = this.props; const { taxAgentStore } = this.props;
const { showOperateBtn } = taxAgentStore; const { showOperateBtn } = taxAgentStore;
const btns = [ const btns = [
@ -65,11 +76,15 @@ class Index extends Component {
]; ];
return ( return (
<WeaTop <WeaTop
title="薪资账套" className="ledgerOuter" title="薪资账套" className="ledgerOuter" icon={<i className="icon-coms-fa"/>} iconBgcolor="#F14A2D"
icon={<i className="icon-coms-fa"/>}
iconBgcolor="#F14A2D"
showDropIcon={false}
buttons={showOperateBtn ? btns : btns.slice(-1)} buttons={showOperateBtn ? btns : btns.slice(-1)}
showDropIcon onDropMenuClick={this.onDropMenuClick}
dropMenuDatas={[
{
key: "log", icon: <i className="iconfont icon-caozuorizhi32"/>,
content: getLabel(545781, "操作日志")
}
]}
> >
<div className="ledgerWrapper"> <div className="ledgerWrapper">
<LedgerTable doSearch={doSearch} onEditLedger={this.handleEditLedger}/> <LedgerTable doSearch={doSearch} onEditLedger={this.handleEditLedger}/>
@ -78,6 +93,9 @@ class Index extends Component {
onCancel={this.handleResetLedger} onCancel={this.handleResetLedger}
onRefreshList={() => this.setState({ doSearch: !doSearch })} onRefreshList={() => this.setState({ doSearch: !doSearch })}
/> />
{/*操作日志*/}
<LogDialog visible={logDialogVisible} logFunction="salarysob"
onCancel={() => this.setState({ logDialogVisible: false })}/>
</div> </div>
</WeaTop> </WeaTop>
); );

View File

@ -100,6 +100,10 @@ export const renderDropMenuDatas = (selectedKey, showOperateBtn) => {
key: "custom_cols", key: "custom_cols",
icon: <i className="icon-coms-Custom"/>, icon: <i className="icon-coms-Custom"/>,
content: getLabel(32535, "显示列定制") content: getLabel(32535, "显示列定制")
}, {
key: "log",
icon: <i className="iconfont icon-caozuorizhi32"/>,
content: getLabel(545781, "操作日志")
}]; }];
switch (selectedKey) { switch (selectedKey) {
case "pending": case "pending":

View File

@ -15,6 +15,7 @@ import SalaryFileList from "./components/salaryFileList";
import * as API from "../../apis/payrollFiles"; import * as API from "../../apis/payrollFiles";
import { sysinfo } from "../../apis/ruleconfig"; import { sysinfo } from "../../apis/ruleconfig";
import { convertToUrlString } from "../../util/url"; import { convertToUrlString } from "../../util/url";
import LogDialog from "../../components/logViewModal";
import cs from "classnames"; import cs from "classnames";
import "./index.less"; import "./index.less";
@ -29,7 +30,7 @@ class SalaryFiles extends Component {
selectedKey: "pending", showSearchAd: false, isQuery: false, showDelSalaryFileBtn: false, selectedKey: "pending", showSearchAd: false, isQuery: false, showDelSalaryFileBtn: false,
topTabCount: { PENDING: 0, FIXED: 0, SUSPEND: 0, STOP: 0, EXT: 0 }, showExtEmpsWitch: false, topTabCount: { PENDING: 0, FIXED: 0, SUSPEND: 0, STOP: 0, EXT: 0 }, showExtEmpsWitch: false,
salaryFileImpDialog: { visible: false, title: getLabel(24023, "数据导入"), importType: "", isExtEmp: false }, salaryFileImpDialog: { visible: false, title: getLabel(24023, "数据导入"), importType: "", isExtEmp: false },
salaryImportTypes: [] salaryImportTypes: [], logDialogVisible: false
}; };
this.salaryFileListRef = null; this.salaryFileListRef = null;
} }
@ -51,6 +52,9 @@ class SalaryFiles extends Component {
onDropMenuClick = (key) => { onDropMenuClick = (key) => {
const { state, handleSalaryOpts } = this.salaryFileListRef.wrappedInstance || {}; const { state, handleSalaryOpts } = this.salaryFileListRef.wrappedInstance || {};
switch (key) { switch (key) {
case "log":
this.setState({ logDialogVisible: true });
break;
case "custom_cols": case "custom_cols":
const { payrollFilesStore: { tableStore } } = this.props; const { payrollFilesStore: { tableStore } } = this.props;
tableStore.setColSetVisible(true); tableStore.setColSetVisible(true);
@ -225,7 +229,7 @@ class SalaryFiles extends Component {
render() { render() {
const { const {
selectedKey, topTabCount, showSearchAd, isQuery, showDelSalaryFileBtn, showExtEmpsWitch, selectedKey, topTabCount, showSearchAd, isQuery, showDelSalaryFileBtn, showExtEmpsWitch,
salaryFileImpDialog, salaryImportTypes salaryFileImpDialog, salaryImportTypes, logDialogVisible
} = this.state; } = this.state;
const { taxAgentStore: { showOperateBtn } } = this.props; const { taxAgentStore: { showOperateBtn } } = this.props;
return ( return (
@ -257,6 +261,9 @@ class SalaryFiles extends Component {
showDelSalaryFileBtn={showDelSalaryFileBtn} showDelSalaryFileBtn={showDelSalaryFileBtn}
onChangeTopTabCount={this.queryInsuranceTabTotal} onChangeTopTabCount={this.queryInsuranceTabTotal}
/> />
{/*操作日志*/}
<LogDialog visible={logDialogVisible} logFunction="salaryarchive"
onCancel={() => this.setState({ logDialogVisible: false })}/>
{/* 导入*/} {/* 导入*/}
<SalaryFileImportDialog {...salaryFileImpDialog} <SalaryFileImportDialog {...salaryFileImpDialog}
onCancel={(isFresh) => { onCancel={(isFresh) => {

View File

@ -30,7 +30,12 @@ class Index extends Component {
} }
componentWillReceiveProps(nextProps, nextContext) { componentWillReceiveProps(nextProps, nextContext) {
if (nextProps.visible !== this.props.visible && !nextProps.visible) nextProps.payrollStore.setHasBeenModify(false); if (nextProps.visible !== this.props.visible && nextProps.visible) {
document.querySelector(".salary-payroll-main-page").classList.add("zIndex0-payroll-release");
} else if (nextProps.visible !== this.props.visible && !nextProps.visible) {
document.querySelector(".salary-payroll-main-page").classList.remove("zIndex0-payroll-release");
nextProps.payrollStore.setHasBeenModify(false);
}
} }
save = async () => { save = async () => {

View File

@ -12,6 +12,7 @@ import TemplateQuery from "./components/reqQuery/templateQuery";
import GrantTableList from "./components/grantTableList"; import GrantTableList from "./components/grantTableList";
import PayrollTemplateTableList from "./components/payrollTemplateTableList"; import PayrollTemplateTableList from "./components/payrollTemplateTableList";
import TemplateBaseSettings from "../payroll/templateBaseSettings"; import TemplateBaseSettings from "../payroll/templateBaseSettings";
import LogDialog from "../../components/logViewModal";
import { Button } from "antd"; import { Button } from "antd";
import moment from "moment"; import moment from "moment";
import "./index.less"; import "./index.less";
@ -28,10 +29,10 @@ class Index extends Component {
queryParams: { queryParams: {
salarySobId: "", name: "", salarySobId: "", name: "",
dateRange: [ dateRange: [
moment(new Date()).subtract(1, 'year').startOf("year").format("YYYY-MM"), moment(new Date()).subtract(1, "year").startOf("year").format("YYYY-MM"),
moment(new Date()).endOf("year").format("YYYY-MM") moment(new Date()).endOf("year").format("YYYY-MM")
] ]
} }, logDialogVisible: false
}; };
this.templateRef = null; this.templateRef = null;
this.baseSetRef = null; this.baseSetRef = null;
@ -109,9 +110,18 @@ class Index extends Component {
} }
return dom; return dom;
}; };
onDropMenuClick = (key) => {
switch (key) {
case "log":
this.setState({ logDialogVisible: true });
break;
default:
break;
}
};
render() { render() {
const { selectedKey, queryParams } = this.state; const { selectedKey, queryParams, logDialogVisible } = this.state;
const tabs = [ const tabs = [
{ key: "grant", title: getLabel(538012, "工资单发放") }, { key: "grant", title: getLabel(538012, "工资单发放") },
{ key: "template", title: getLabel(543575, "工资单模板设置") }, { key: "template", title: getLabel(543575, "工资单模板设置") },
@ -126,9 +136,19 @@ class Index extends Component {
selectedKey: key, selectedKey: key,
queryParams: { ...queryParams, name: "", salarySobId: "" } queryParams: { ...queryParams, name: "", salarySobId: "" }
})} })}
buttons={this.renderReqBtns()} buttons={this.renderReqBtns()} showDropIcon={selectedKey !== "watermark"}
onDropMenuClick={this.onDropMenuClick}
dropMenuDatas={[
{
key: "log", icon: <i className="iconfont icon-caozuorizhi32"/>,
content: getLabel(545781, "操作日志")
}
]}
> >
<div className="salary-payroll-content">{this.renderContent()}</div> <div className="salary-payroll-content">{this.renderContent()}</div>
{/*操作日志*/}
<LogDialog visible={logDialogVisible} logFunction={selectedKey === "grant" ? "salarysend" : "salarytemplate"}
onCancel={() => this.setState({ logDialogVisible: false })}/>
</WeaReqTop> </WeaReqTop>
</div> </div>
); );

View File

@ -1,3 +1,9 @@
.zIndex0-payroll-release {
.wea-new-top-req {
z-index: 0 !important;
}
}
.salary-payroll-main-page { .salary-payroll-main-page {
min-width: 1000px; min-width: 1000px;
overflow: auto; overflow: auto;
@ -14,10 +20,6 @@
} }
} }
.wea-new-top-req {
z-index: 0 !important;
}
.wea-new-top-req-wapper .wea-new-top-req-title > div:last-child { .wea-new-top-req-wapper .wea-new-top-req-title > div:last-child {
right: 16px; right: 16px;
} }

View File

@ -16,6 +16,7 @@ import WelfareRecordList from "./components/welfareRecordList";
import Accountdialog from "./components/accountDialog"; import Accountdialog from "./components/accountDialog";
import ProgressModal from "../../../components/progressModal"; import ProgressModal from "../../../components/progressModal";
import { convertToUrlString } from "../../../util/url"; import { convertToUrlString } from "../../../util/url";
import LogDialog from "../../../components/logViewModal";
import moment from "moment"; import moment from "moment";
import "./index.less"; import "./index.less";
@ -32,7 +33,8 @@ class StandingBook extends Component {
endTime: moment(new Date()).endOf("year").format("YYYY-MM"), endTime: moment(new Date()).endOf("year").format("YYYY-MM"),
taxAgents: "" taxAgents: ""
}, progressVisible: false, progress: 0, }, progressVisible: false, progress: 0,
accountDialog: { visible: false, title: "", loading: false, options: [] } accountDialog: { visible: false, title: "", loading: false, options: [] },
logDialogVisible: false
}; };
this.wfListRef = null; this.wfListRef = null;
this.timer = null; this.timer = null;
@ -102,9 +104,18 @@ class StandingBook extends Component {
}); });
} }
}; };
onDropMenuClick = (key) => {
switch (key) {
case "log":
this.setState({ logDialogVisible: true });
break;
default:
break;
}
};
render() { render() {
const { accountDialog, queryForm } = this.state; const { accountDialog, queryForm, logDialogVisible } = this.state;
const { taxAgentStore: { showOperateBtn } } = this.props; const { taxAgentStore: { showOperateBtn } } = this.props;
const rightBtns = [<Button type="primary" onClick={() => this.setState({ const rightBtns = [<Button type="primary" onClick={() => this.setState({
accountDialog: { ...accountDialog, visible: true, title: getLabel(538780, "核算") } accountDialog: { ...accountDialog, visible: true, title: getLabel(538780, "核算") }
@ -112,7 +123,15 @@ class StandingBook extends Component {
return ( return (
<div className="salary-welfare-record"> <div className="salary-welfare-record">
<WeaTop title={getLabel(538002, "社保福利台账")} icon={<i className="icon-coms-fa"/>} <WeaTop title={getLabel(538002, "社保福利台账")} icon={<i className="icon-coms-fa"/>}
iconBgcolor="#F14A2D" buttons={showOperateBtn ? rightBtns : []}> iconBgcolor="#F14A2D" buttons={showOperateBtn ? rightBtns : []}
showDropIcon onDropMenuClick={this.onDropMenuClick}
dropMenuDatas={[
{
key: "log", icon: <i className="iconfont icon-caozuorizhi32"/>,
content: getLabel(545781, "操作日志")
}
]}
>
<div className="salary-welfare-record-content"> <div className="salary-welfare-record-content">
<WelfareRecordQuery <WelfareRecordQuery
onSearch={(payload) => { onSearch={(payload) => {
@ -129,6 +148,9 @@ class StandingBook extends Component {
accountDialog: { ...accountDialog, visible: false, title: "", loading: false } accountDialog: { ...accountDialog, visible: false, title: "", loading: false }
})} onOk={this.handleAccount} })} onOk={this.handleAccount}
/> />
{/*操作日志*/}
<LogDialog visible={logDialogVisible} logFunction="siAccount"
onCancel={() => this.setState({ logDialogVisible: false })}/>
{/*核算进度条*/} {/*核算进度条*/}
{ {
this.state.progressVisible && this.state.progressVisible &&

View File

@ -89,7 +89,7 @@ class Index extends Component {
const scrollHeight = this.logRef ? this.logRef.state.height - 210 : 606.6; const scrollHeight = this.logRef ? this.logRef.state.height - 210 : 606.6;
return ( return (
<WeaDialog <WeaDialog
{...this.props} title={getLabel(111, "操作日志")} {...this.props} title={getLabel(111, "基数调整记录")}
ref={dom => this.logRef = dom} className="logDialog" initLoadCss ref={dom => this.logRef = dom} className="logDialog" initLoadCss
style={{ style={{
width: 1150, width: 1150,

View File

@ -140,9 +140,13 @@ export const welfareTipList = [
]; ];
export const renderDropMenuDatas = (selectedKey, getLabel, showOperateBtn) => { export const renderDropMenuDatas = (selectedKey, getLabel, showOperateBtn) => {
let menus = [{ let menus = [{
key: "record",
icon: <i className="iconfont icon-caozuorizhi32"/>,
content: getLabel(111, "基数调整记录")
},{
key: "log", key: "log",
icon: <i className="iconfont icon-caozuorizhi32"/>, icon: <i className="iconfont icon-caozuorizhi32"/>,
content: getLabel(111, "操作日志") content: getLabel(545781, "操作日志")
}]; }];
if (showOperateBtn) { if (showOperateBtn) {
switch (selectedKey) { switch (selectedKey) {

View File

@ -12,7 +12,8 @@ import WelfareAdvanceSearchPannel from "./components/welfareAdvanceSearchPannel"
import WelfareTableList from "./components/welfareTableList"; import WelfareTableList from "./components/welfareTableList";
import WelfareArchivesImportDialog from "./components/welfareArchivesImportDialog"; import WelfareArchivesImportDialog from "./components/welfareArchivesImportDialog";
import WelfareTip from "./components/welfareTip"; import WelfareTip from "./components/welfareTip";
import LogDialog from "./components/logDialog"; import RecordDialog from "./components/logDialog";
import LogDialog from "../../../components/logViewModal";
import * as API from "../../../apis/welfareArchive"; import * as API from "../../../apis/welfareArchive";
import { sysinfo } from "../../../apis/ruleconfig"; import { sysinfo } from "../../../apis/ruleconfig";
import { optTypeEnum, renderDropMenuDatas, renderReqBtns, tabList, welfareTipList } from "./config"; import { optTypeEnum, renderDropMenuDatas, renderReqBtns, tabList, welfareTipList } from "./config";
@ -35,7 +36,7 @@ class Index extends Component {
selectedKey: "1", showSearchAd: false, isQuery: false, logDialogVisible: false, selectedKey: "1", showSearchAd: false, isQuery: false, logDialogVisible: false,
topTabCount: { stayAdd: 0, paying: 0, stayDel: 0, stopPay: 0, ext: 0 }, topTabCount: { stayAdd: 0, paying: 0, stayDel: 0, stopPay: 0, ext: 0 },
welfareImpDialog: { visible: false, title: getLabel(24023, "数据导入"), runStatuses: "" }, welfareImpDialog: { visible: false, title: getLabel(24023, "数据导入"), runStatuses: "" },
showExtEmpsWitch: false showExtEmpsWitch: false, recordDialogVisible: false
}; };
} }
@ -84,6 +85,9 @@ class Index extends Component {
case "exportSelected": case "exportSelected":
this.handleExport(key); this.handleExport(key);
break; break;
case "record":
this.setState({ recordDialogVisible: true });
break;
case "log": case "log":
this.setState({ logDialogVisible: true }); this.setState({ logDialogVisible: true });
break; break;
@ -127,7 +131,7 @@ class Index extends Component {
render() { render() {
const { const {
selectedKey, topTabCount, showSearchAd, isQuery, selectedKey, topTabCount, showSearchAd, isQuery, recordDialogVisible,
logDialogVisible, welfareImpDialog, showExtEmpsWitch logDialogVisible, welfareImpDialog, showExtEmpsWitch
} = this.state; } = this.state;
const { taxAgentStore: { showOperateBtn } } = this.props; const { taxAgentStore: { showOperateBtn } } = this.props;
@ -162,8 +166,11 @@ class Index extends Component {
/> />
{/*提示*/} {/*提示*/}
{!_.isEmpty(tipList) && <WelfareTip dataSource={tipList}/>} {!_.isEmpty(tipList) && <WelfareTip dataSource={tipList}/>}
{/*基数调整记录*/}
<RecordDialog visible={recordDialogVisible} onCancel={() => this.setState({ recordDialogVisible: false })}/>
{/*操作日志*/} {/*操作日志*/}
<LogDialog visible={logDialogVisible} onCancel={() => this.setState({ logDialogVisible: false })}/> <LogDialog visible={logDialogVisible} logFunction="siArchives"
onCancel={() => this.setState({ logDialogVisible: false })}/>
{/* 导入*/} {/* 导入*/}
<WelfareArchivesImportDialog {...welfareImpDialog} <WelfareArchivesImportDialog {...welfareImpDialog}
onCancel={(isFresh) => { onCancel={(isFresh) => {