@@ -612,7 +635,7 @@ export default class PayrollGrant extends React.Component {
{
- !_.isEmpty(this.getColumns()) ?
+ !loading ?
}
+ {/*工资单预览*/}
+
this.setState({
+ payrollPreviewDialog: {
+ ...payrollPreviewDialog,
+ visible: false
+ }
+ })}/>
);
}
diff --git a/pc4mobx/hrmSalary/pages/payroll/stepForm/salaryItemSettings.js b/pc4mobx/hrmSalary/pages/payroll/stepForm/salaryItemSettings.js
index ba853f81..e1f85aca 100644
--- a/pc4mobx/hrmSalary/pages/payroll/stepForm/salaryItemSettings.js
+++ b/pc4mobx/hrmSalary/pages/payroll/stepForm/salaryItemSettings.js
@@ -290,6 +290,7 @@ class SalaryItemSettings extends Component {
render() {
const { onChangeSalaryItem, salaryBillItemNameSet } = this.props;
const { dataList, modalPayload, checkedValue } = this.state;
+ if (_.isEmpty(dataList)) return null;
return (
{
const { watermark, watermarkStatus, wmSetting, ackFeedbackSetting, salaryBillViewingLimitSetting } = this.state;
- const { feedBackUrl, mobileFeedbackUrl } = ackFeedbackSetting;
- if (!feedBackUrl || !mobileFeedbackUrl) {
+ const { feedBackUrl, mobileFeedbackUrl, feedbackStatus, autoAckDays, ackStatus } = ackFeedbackSetting;
+ if (ackStatus === "1" && _.isNil(autoAckDays)) {
+ Modal.warning({
+ title: getLabel(111, "信息确认"),
+ content: getLabel(111, "必要信息不完整,红色*为必填项!")
+ });
+ return;
+ }
+ if (feedbackStatus === "1" && (!feedBackUrl || !mobileFeedbackUrl)) {
Modal.warning({
title: getLabel(111, "信息确认"),
content: getLabel(111, "必要信息不完整,红色*为必填项!")
@@ -99,7 +106,7 @@ class TemplateBaseSettings extends Component {
render() {
const { watermarkStatus, watermark, watermarkSet, ackFeedbackSetting, salaryBillViewingLimitSetting } = this.state;
const { ackStatus, feedbackStatus, autoAckDays, feedBackUrl, mobileFeedbackUrl } = ackFeedbackSetting;
- const { limitMonth = 0 } = salaryBillViewingLimitSetting;
+ const { limitMonth, burningAfterReadingMin } = salaryBillViewingLimitSetting;
return (
@@ -209,6 +216,20 @@ class TemplateBaseSettings extends Component {
style={{ marginLeft: 10 }}
placement="top"/>
+
+ {getLabel(111, "首次查看")}
+ this.setState({
+ salaryBillViewingLimitSetting: {
+ ...salaryBillViewingLimitSetting, burningAfterReadingMin
+ }
+ })}/>
+ {getLabel(111, "分钟后无法查看工资单")}
+
+
);
diff --git a/pc4mobx/hrmSalary/pages/payrollFiles/components/salaryFileAdvanceSearchPannel/index.js b/pc4mobx/hrmSalary/pages/payrollFiles/components/salaryFileAdvanceSearchPannel/index.js
index d7b43cd5..3f164873 100644
--- a/pc4mobx/hrmSalary/pages/payrollFiles/components/salaryFileAdvanceSearchPannel/index.js
+++ b/pc4mobx/hrmSalary/pages/payrollFiles/components/salaryFileAdvanceSearchPannel/index.js
@@ -41,7 +41,7 @@ class salaryFileAdvanceSearchPannel extends Component {
...child,
options: _.map(userStatusList, o => ({ key: String(o.value), showname: o.defaultLabel }))
};
- } else if (getKey(child) === "taxAgentId") {
+ } else if (getKey(child) === "taxAgentIds") {
return {
...child,
options: _.map(taxAgentList, o => ({ key: o.id, showname: o.content }))
diff --git a/pc4mobx/hrmSalary/pages/payrollFiles/components/salaryFileImportDialog/index.js b/pc4mobx/hrmSalary/pages/payrollFiles/components/salaryFileImportDialog/index.js
index 1a60b901..313a8675 100644
--- a/pc4mobx/hrmSalary/pages/payrollFiles/components/salaryFileImportDialog/index.js
+++ b/pc4mobx/hrmSalary/pages/payrollFiles/components/salaryFileImportDialog/index.js
@@ -51,7 +51,7 @@ class Index extends Component {
if (isExtEmp) payload = { ...payload, extSalaryArchiveList: true };
this.setState({
importDialog: {
- ...this.state.importDialog, extraPreview,
+ ...this.state.importDialog, extraPreview, importResult: {},
link: `/api/bs/hrmsalary/salaryArchive/downloadTemplate?${convertToUrlString(payload)}`
}
});
diff --git a/pc4mobx/hrmSalary/pages/payrollFiles/components/salaryFileList/index.js b/pc4mobx/hrmSalary/pages/payrollFiles/components/salaryFileList/index.js
index bf3cfc17..efe2605b 100644
--- a/pc4mobx/hrmSalary/pages/payrollFiles/components/salaryFileList/index.js
+++ b/pc4mobx/hrmSalary/pages/payrollFiles/components/salaryFileList/index.js
@@ -45,7 +45,7 @@ class Index extends Component {
}
componentDidMount() {
- this.getSalaryFileList(this.props);
+ this.getSalaryFileList(this.props, true);
window.addEventListener("message", this.handleReceive, false);
window.addEventListener("resize", this.handleResize, false);
}
@@ -109,6 +109,9 @@ class Index extends Component {
}
});
break;
+ case "log":
+ this.props.onFilterLog(id, params.record.id);
+ break;
default:
break;
}
@@ -143,12 +146,13 @@ class Index extends Component {
"删除待办": getLabel(543181, "删除待办"), "查看": getLabel(33564, "查看"),
"取消停薪": getLabel(543309, "取消停薪"), "共": getLabel(18609, "共"),
"条": getLabel(18256, "条"), "设为发薪人员": getLabel(543308, "设为发薪人员"),
- "停薪": getLabel(542692, "停薪"), "编辑": getLabel(501169, "编辑")
+ "停薪": getLabel(542692, "停薪"), "编辑": getLabel(501169, "编辑"),
+ "操作日志": getLabel(545781, "操作日志")
};
const childFrameObj = document.getElementById("atdTable");
childFrameObj.contentWindow.postMessage(JSON.stringify({ ...payload, i18n }), "*");
};
- getSalaryFileList = (props) => {
+ getSalaryFileList = (props, init = false) => {
const { pageInfo } = this.state;
const {
payrollFilesStore: { salaryFileQueryForm, queryList }, selectedKey, onChangeTopTabCount
@@ -162,7 +166,7 @@ class Index extends Component {
this.setState({
pageInfo: { ...pageInfo, current, pageSize, total }, dataSource
}, () => {
- onChangeTopTabCount(selectedKey, total);
+ onChangeTopTabCount(selectedKey, total, init);
});
}
}).catch(() => this.setState({ loading: false }));
diff --git a/pc4mobx/hrmSalary/pages/payrollFiles/components/salaryFilesEditSlide/index.js b/pc4mobx/hrmSalary/pages/payrollFiles/components/salaryFilesEditSlide/index.js
index d4eaf520..d93c4aba 100644
--- a/pc4mobx/hrmSalary/pages/payrollFiles/components/salaryFilesEditSlide/index.js
+++ b/pc4mobx/hrmSalary/pages/payrollFiles/components/salaryFilesEditSlide/index.js
@@ -62,7 +62,8 @@ class Index extends Component {
conditions: _.map(salaryFilesConditions, o => {
if (o.salaryFile) {
return {
- ...o, items: _.map(adjustSalaryItems, g => {
+ ...o, title: getLabel(o.lanId, o.title), titleHelpful: getLabel(o.titleHelpfulLanId, o.titleHelpful),
+ items: _.map(adjustSalaryItems, g => {
const otherParams = g.dataType === "number" ? { precision: g.pattern } : {};
return {
colSpan: 3, fieldcol: 14, label: g.name, labelcol: 10, ...otherParams,
@@ -73,7 +74,7 @@ class Index extends Component {
};
}
return {
- ...o, items: _.map(o.items, g => {
+ ...o, title: getLabel(o.lanId, o.title), items: _.map(o.items, g => {
if (getKey(g) === "payStartDate") {
return {
...g, label: getLabel(g.lanId, g.label),
diff --git a/pc4mobx/hrmSalary/pages/payrollFiles/config/index.js b/pc4mobx/hrmSalary/pages/payrollFiles/config/index.js
index 360b03bf..e1ee1288 100644
--- a/pc4mobx/hrmSalary/pages/payrollFiles/config/index.js
+++ b/pc4mobx/hrmSalary/pages/payrollFiles/config/index.js
@@ -43,11 +43,11 @@ export const tabCondition = [
}
];
export const tabList = [
- { viewcondition: "pending", title: getLabel(542689, "待定薪"), showcount: true, groupid: "PENDING" },
- { viewcondition: "fixed", title: getLabel(544638, "发薪员工"), showcount: true, groupid: "FIXED" },
- { viewcondition: "suspend", title: getLabel(542691, "待停薪"), showcount: true, groupid: "SUSPEND" },
- { viewcondition: "stop", title: getLabel(544637, "停薪员工"), showcount: true, groupid: "STOP" },
- { viewcondition: "ext", title: getLabel(542679, "非系统人员"), showcount: true, groupid: "EXT" }
+ { viewcondition: "pending", title: "待定薪", lanId: 542689, showcount: true, groupid: "PENDING" },
+ { viewcondition: "fixed", title: "发薪员工", lanId: 544638, showcount: true, groupid: "FIXED" },
+ { viewcondition: "suspend", title: "待停薪", lanId: 542691, showcount: true, groupid: "SUSPEND" },
+ { viewcondition: "stop", title: "停薪员工", lanId: 544637, showcount: true, groupid: "STOP" },
+ { viewcondition: "ext", title: "非系统人员", lanId: 542679, showcount: true, groupid: "EXT" }
];
export const renderReqBtns = (selectedKey, salaryImportTypes, onSalaryOpts, showOperateBtn) => {
let reqBtns = [
@@ -115,6 +115,10 @@ export const renderDropMenuDatas = (selectedKey, showOperateBtn) => {
key: "custom_cols",
icon:
,
content: getLabel(32535, "显示列定制")
+ }, {
+ key: "log",
+ icon:
,
+ content: getLabel(545781, "操作日志")
}];
switch (selectedKey) {
case "pending":
@@ -320,10 +324,11 @@ export const salaryFileSearchConditions = [
},
{
conditionType: "SELECT",
- domkey: ["taxAgentId"],
+ domkey: ["taxAgentIds"],
fieldcol: 16,
label: getLabel(537996, "个税扣缴义务人"),
labelcol: 8,
+ multiple: true,
options: [],
viewAttr: 2
},
@@ -363,7 +368,7 @@ export const salaryFileSearchConditions = [
export const salaryFilesConditions = [
{
defaultshow: true, title: getLabel(1361, "基本信息"),
- col: 3,
+ col: 3, lanId: 1361,
items: [
{
colSpan: 3,
@@ -435,7 +440,7 @@ export const salaryFilesConditions = [
},
{
defaultshow: true, title: getLabel(543329, "发薪设置"),
- col: 1,
+ col: 1,lanId: 543329,
items: [
{
colSpan: 1,
@@ -465,7 +470,8 @@ export const salaryFilesConditions = [
{
defaultshow: true, title: getLabel(538004, "薪资档案"),
titleHelpful: getLabel(543330, "提示:显示已生效的最新数据"),
- col: 2, salaryFile: true,
+ titleHelpfulLanId: 543330,
+ col: 2, salaryFile: true,lanId: 538004,
items: []
}
];
@@ -479,6 +485,6 @@ const HelpfulDiv = () => {
{getLabel(544746, "c.返聘人员使用调薪功能调整薪资档案值或使用调整个税扣缴;")}
{getLabel(545755, "2.调薪:档案中已存在的人员批量调整薪资项目值(包括返聘人员的情况);")}
-
{getLabel(545756, "3.调整个税扣缴义务人:档案中已存在的人员批量调整个税扣缴义务人(包括返聘人员的情况);")}
+ {/*
{getLabel(545756, "3.调整个税扣缴义务人:档案中已存在的人员批量调整个税扣缴义务人(包括返聘人员的情况);")}*/}
;
};
diff --git a/pc4mobx/hrmSalary/pages/payrollFiles/salaryFiles.js b/pc4mobx/hrmSalary/pages/payrollFiles/salaryFiles.js
index 8ef3c6df..344a3284 100644
--- a/pc4mobx/hrmSalary/pages/payrollFiles/salaryFiles.js
+++ b/pc4mobx/hrmSalary/pages/payrollFiles/salaryFiles.js
@@ -15,6 +15,7 @@ import SalaryFileList from "./components/salaryFileList";
import * as API from "../../apis/payrollFiles";
import { sysinfo } from "../../apis/ruleconfig";
import { convertToUrlString } from "../../util/url";
+import LogDialog from "../../components/logViewModal";
import cs from "classnames";
import "./index.less";
@@ -29,7 +30,7 @@ class SalaryFiles extends Component {
selectedKey: "pending", showSearchAd: false, isQuery: false, showDelSalaryFileBtn: false,
topTabCount: { PENDING: 0, FIXED: 0, SUSPEND: 0, STOP: 0, EXT: 0 }, showExtEmpsWitch: false,
salaryFileImpDialog: { visible: false, title: getLabel(24023, "数据导入"), importType: "", isExtEmp: false },
- salaryImportTypes: []
+ salaryImportTypes: [], logDialogVisible: false, filterConditions: ""
};
this.salaryFileListRef = null;
}
@@ -48,9 +49,15 @@ class SalaryFiles extends Component {
handleOpenAdvanceSearch = () => this.setState({ showSearchAd: true });
handleAdvanceSearch = () => this.setState({ isQuery: !this.state.isQuery });
onAdSearch = () => this.setState({ showSearchAd: false, isQuery: !this.state.isQuery });
- onDropMenuClick = (key) => {
+ onDropMenuClick = (key, targetid = "") => {
const { state, handleSalaryOpts } = this.salaryFileListRef.wrappedInstance || {};
switch (key) {
+ case "log":
+ this.setState({
+ logDialogVisible: true,
+ filterConditions: targetid ? `[{\"connectCondition\":\"AND\",\"columIndex\":\"targetid\",\"type\":\"=\",\"value\":\"${targetid}\"}]` : "[]"
+ });
+ break;
case "custom_cols":
const { payrollFilesStore: { tableStore } } = this.props;
tableStore.setColSetVisible(true);
@@ -78,15 +85,21 @@ class SalaryFiles extends Component {
break;
}
};
- queryInsuranceTabTotal = (active, total) => {
- API.queryTabTotal().then(({ status, data }) => {
- if (status) {
- const key = _.find(tabList, o => o.viewcondition === active).groupid;
- this.setState({
- topTabCount: { ...this.state.topTabCount, ...data, [key]: total }
- });
- }
- });
+ queryInsuranceTabTotal = (active, total, init) => {
+ const key = _.find(tabList, o => o.viewcondition === active).groupid;
+ if (init) {
+ API.queryTabTotal().then(({ status, data }) => {
+ if (status) {
+ this.setState({
+ topTabCount: { ...this.state.topTabCount, ...data, [key]: total }
+ });
+ }
+ });
+ } else {
+ this.setState({
+ topTabCount: { ...this.state.topTabCount, [key]: total }
+ });
+ }
};
handleReqBtnsCLick = (type, importType) => {
const { state, handleSalaryOpts } = this.salaryFileListRef.wrappedInstance || {};
@@ -224,7 +237,7 @@ class SalaryFiles extends Component {
message.warning(getLabel(543345, "请选择需要导出的数据!"));
return;
}
- payload = { ids: selectedRowKeys.join(",") };
+ payload = { ids: selectedRowKeys.join(","), runStatusList };
}
window.open(`${url}?${convertToUrlString(payload)}`, "_blank");
};
@@ -232,9 +245,10 @@ class SalaryFiles extends Component {
render() {
const {
selectedKey, topTabCount, showSearchAd, isQuery, showDelSalaryFileBtn, showExtEmpsWitch,
- salaryFileImpDialog, salaryImportTypes
+ salaryFileImpDialog, salaryImportTypes, logDialogVisible, filterConditions
} = this.state;
const { taxAgentStore: { showOperateBtn } } = this.props;
+ const tabs = _.map(tabList, o => ({ ...o, title: getLabel(o.lanId, o.title) }));
return (