Merge branch 'hotfix/2.9.42308.02' into develop
This commit is contained in:
commit
def2159e19
|
|
@ -129,16 +129,8 @@ const Routes = (
|
|||
</Route>
|
||||
<Route key="ledger" path="ledger" component={Ledger}/>
|
||||
<Route key="calculate" path="calculate" component={Calculate}/>
|
||||
<Route
|
||||
key="calculateDetail"
|
||||
path="calculateDetail"
|
||||
component={CalculateDetail}
|
||||
/>
|
||||
<Route
|
||||
key="placeOnFileDetail"
|
||||
path="placeOnFileDetail"
|
||||
component={PlaceOnFileDetail}
|
||||
/>
|
||||
<Route key="calculateDetail" path="calculateDetail" component={CalculateDetail}/>
|
||||
<Route key="placeOnFileDetail" path="placeOnFileDetail" component={PlaceOnFileDetail}/>
|
||||
<Route key="compareDetail" path="compareDetail" component={CompareDetail}/>
|
||||
<Route key="payroll" path="payroll" component={Payroll}/>
|
||||
<Route key="watermarkPreview" path="payroll/watermark/preview" component={WatermarkPreview}/>
|
||||
|
|
|
|||
|
|
@ -353,18 +353,10 @@ export default class CalculateDetail extends React.Component {
|
|||
onClick={() => this.downloadTxtfile(accountExceptInfo)}/>);
|
||||
return buttons;
|
||||
};
|
||||
|
||||
const topTab = [
|
||||
{
|
||||
title: "人员确认",
|
||||
viewcondition: "0"
|
||||
},
|
||||
{
|
||||
title: "薪资核算",
|
||||
viewcondition: "1"
|
||||
}
|
||||
{ title: "人员确认", viewcondition: "0" },
|
||||
{ title: "薪资核算", viewcondition: "1" }
|
||||
];
|
||||
|
||||
const adBtn = [
|
||||
// 高级搜索内部按钮
|
||||
<Button type="primary" onClick={() => {
|
||||
|
|
@ -407,19 +399,19 @@ export default class CalculateDetail extends React.Component {
|
|||
return (
|
||||
<Authority ecId={`${this && this.props && this.props.ecId || ""}_Authority@lulowc`}
|
||||
store={{ loading: false, hasRight: payrollPermission && calculateAuth }}>
|
||||
<div style={{ overflowY: "hidden", height: "100%" }}>
|
||||
<div className="calculate-layout">
|
||||
<WeaTab
|
||||
datas={topTab}
|
||||
selectedKey={selectedKey}
|
||||
keyParam="viewcondition"
|
||||
onChange={v => this.setState({ selectedKey: v })}
|
||||
searchType={selectedKey == 1 ? ["base", "advanced"] : []} // base:基础搜索框 advanced:显示高级搜索按钮
|
||||
searchType={selectedKey === "1" ? ["base", "advanced"] : []} // base:基础搜索框 advanced:显示高级搜索按钮
|
||||
showSearchAd={showSearchAd} // 是否展开高级搜索面板
|
||||
setShowSearchAd={(bool) => this.setState({ showSearchAd: bool })} //高级搜索面板受控
|
||||
searchsAd={renderSearch()} // 高级搜索内部数据getSearchs(form, toJS(condition), 2)
|
||||
buttonsAd={adBtn} // 高级搜索内部按钮
|
||||
onSearch={() => this.handleSearch(this.state.searchItemsValue)} // 点搜索按钮时的回调
|
||||
buttons={selectedKey == 1 ? renderRightOperation() : []}
|
||||
buttons={selectedKey === "1" ? renderRightOperation() : []}
|
||||
searchsBasePlaceHolder={"请输入姓名"}
|
||||
onSearchChange={(v) =>
|
||||
this.setState({
|
||||
|
|
@ -431,9 +423,9 @@ export default class CalculateDetail extends React.Component {
|
|||
} // 在搜索框中输入的文字改变时的回调: 这里需要同步高级搜索和外部搜索框的值form.updateFields({ username: v })
|
||||
searchsBaseValue={this.state.searchItemsValue.employeeName} // 外部input搜索值受控: 这里和高级搜索的requestname同步form.getFormParams().username
|
||||
/>
|
||||
{selectedKey == 0 && <UserSure/>}
|
||||
{selectedKey == 1 && <SalaryDetail onChangeAccountIds={(ids) => this.setState({ accountIds: ids })}
|
||||
employeeName={this.state.searchItemsValue}/>}
|
||||
{selectedKey === "0" && <UserSure/>}
|
||||
{selectedKey === "1" && <SalaryDetail onChangeAccountIds={(ids) => this.setState({ accountIds: ids })}
|
||||
employeeName={this.state.searchItemsValue}/>}
|
||||
{acctResultImportVisiable &&
|
||||
<AcctResultImportModal
|
||||
visiable={acctResultImportVisiable}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,17 @@
|
|||
.calculate-layout {
|
||||
height: 100%;
|
||||
overflow-y: hidden;
|
||||
background: #f6f6f6;
|
||||
|
||||
.wea-tab .wea-tab-right {
|
||||
background: #f6f6f6;
|
||||
}
|
||||
|
||||
.wea-input-focus {
|
||||
background: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
.userSure {
|
||||
padding: 20px;
|
||||
|
||||
|
|
@ -8,7 +22,20 @@
|
|||
|
||||
.formWrapper {
|
||||
line-height: 40px;
|
||||
border-bottom: 1px solid #eee;
|
||||
border: 1px solid #eee;
|
||||
background: #fff;
|
||||
|
||||
.ant-col-12 {
|
||||
padding: 0 16px;
|
||||
}
|
||||
|
||||
& > div:first-child {
|
||||
border-bottom: 1px solid #eee;
|
||||
|
||||
& > div:first-child {
|
||||
border-right: 1px solid #e5e5e5;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.operateBarWrapper {
|
||||
|
|
@ -59,8 +86,8 @@
|
|||
}
|
||||
|
||||
.salaryDetail {
|
||||
padding: 10px 20px;
|
||||
overflow-y: scroll;
|
||||
padding: 10px;
|
||||
overflow-y: auto;
|
||||
|
||||
.salaryBarWrapper {
|
||||
padding: 10px;
|
||||
|
|
@ -140,7 +167,8 @@
|
|||
|
||||
.placeOnFileDetail {
|
||||
height: 100%;
|
||||
overflow-y: auto;
|
||||
overflow-y: hidden;
|
||||
background: #f6f6f6;
|
||||
|
||||
.tabWrapper {
|
||||
height: 47px;
|
||||
|
|
@ -242,3 +270,9 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
.salaryMonthTip-layout{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,11 +29,11 @@ class IssuedAndReissueTable extends Component {
|
|||
/>
|
||||
</span>,
|
||||
render: (text, record) => {
|
||||
const { canEdit } = record;
|
||||
const { canEdit, pattern } = record;
|
||||
return <WeaInputNumber
|
||||
disabled={!canEdit}
|
||||
min={0}
|
||||
precision={2}
|
||||
precision={pattern || 2}
|
||||
value={text || 0}
|
||||
onChange={(value) => onChangeIssueReissueValue(record.salaryItemName, value, "issuedAndReissueItems")}
|
||||
/>;
|
||||
|
|
|
|||
|
|
@ -37,10 +37,10 @@ class PayrollItemsTable extends Component {
|
|||
</span>,
|
||||
width: "20%",
|
||||
render: (text, record) => {
|
||||
const { canEdit, dataType } = record;
|
||||
const { canEdit, dataType, pattern } = record;
|
||||
return dataType === "number" ? <WeaInputNumber
|
||||
disabled={!canEdit}
|
||||
precision={2}
|
||||
precision={pattern || 2}
|
||||
value={text || 0}
|
||||
onChange={(value) => onChangeIssueReissueValue(record.salaryItemId, value, "itemsByGroup", salarySobItemGroupId)}
|
||||
/> : <WeaInput
|
||||
|
|
|
|||
|
|
@ -162,7 +162,6 @@ export default class PlaceOnFileDetail extends React.Component {
|
|||
};
|
||||
|
||||
return (
|
||||
|
||||
<div className="placeOnFileDetail">
|
||||
<CustomTab
|
||||
searchOperationItem={
|
||||
|
|
@ -170,7 +169,7 @@ export default class PlaceOnFileDetail extends React.Component {
|
|||
}
|
||||
/>
|
||||
<div className="tabWrapper" style={{ borderBottom: "none" }}>
|
||||
<span>薪资所属月:{baseSalarySobCycle.salaryMonth}</span>
|
||||
<span style={{ marginRight: 10 }}>薪资所属月:{baseSalarySobCycle.salaryMonth}</span>
|
||||
<WeaHelpfulTip
|
||||
width={100}
|
||||
title={`薪资周期\n
|
||||
|
|
|
|||
|
|
@ -6,9 +6,10 @@ import EditSalaryDetail from "./editSalaryDetail";
|
|||
import SlideModalTitle from "../../components/slideModalTitle";
|
||||
import { getQueryString } from "../../util/url";
|
||||
import { inject, observer } from "mobx-react";
|
||||
import ProgressModal from "../../components/progressModal";
|
||||
import { SalaryMonthTip } from "./userSure";
|
||||
import { toJS } from "mobx";
|
||||
import "./index.less";
|
||||
import ProgressModal from "../../components/progressModal";
|
||||
|
||||
@inject("calculateStore", "taxAgentStore")
|
||||
@observer
|
||||
|
|
@ -151,6 +152,7 @@ export default class SalaryDetail extends React.Component {
|
|||
progressVisible: false,
|
||||
progress: 0
|
||||
}, () => {
|
||||
const { current, pageSize } = this.pageInfo;
|
||||
const childFrameObj = document.getElementById("atdTable");
|
||||
const payload = {
|
||||
type: "PR",
|
||||
|
|
@ -158,7 +160,8 @@ export default class SalaryDetail extends React.Component {
|
|||
url: "/api/bs/hrmsalary/salaryacct/acctresult/list",
|
||||
queryParams: {
|
||||
salaryAcctRecordId,
|
||||
...this.props.employeeName
|
||||
...this.props.employeeName,
|
||||
current, pageSize
|
||||
}
|
||||
};
|
||||
childFrameObj.contentWindow.postMessage(JSON.stringify(payload), "*");
|
||||
|
|
@ -186,13 +189,15 @@ export default class SalaryDetail extends React.Component {
|
|||
this.setState({ loading: false });
|
||||
const childFrameObj = document.getElementById("atdTable");
|
||||
const salaryAcctRecordId = getQueryString("id");
|
||||
const { current, pageSize } = this.pageInfo;
|
||||
const payload = {
|
||||
type: "PR",
|
||||
listType: "",
|
||||
url: "/api/bs/hrmsalary/salaryacct/acctresult/list",
|
||||
queryParams: {
|
||||
salaryAcctRecordId,
|
||||
...this.props.employeeName
|
||||
...this.props.employeeName,
|
||||
current, pageSize
|
||||
}
|
||||
};
|
||||
childFrameObj.contentWindow.postMessage(JSON.stringify(payload), "*");
|
||||
|
|
@ -211,17 +216,9 @@ export default class SalaryDetail extends React.Component {
|
|||
<div className="salaryBarWrapper">
|
||||
<span>薪资所属月:{baseSalarySobCycle.salaryMonth}</span>
|
||||
<WeaHelpfulTip
|
||||
style={{ marginLeft: "10px" }}
|
||||
width={200}
|
||||
title={
|
||||
`薪资周期\n
|
||||
${baseSalarySobCycle.salaryCycle && baseSalarySobCycle.salaryCycle.fromDate}至${baseSalarySobCycle.salaryCycle && baseSalarySobCycle.salaryCycle.endDate}\n
|
||||
税款所属期\n
|
||||
${baseSalarySobCycle.taxCycle}\n
|
||||
考勤取值周期\n
|
||||
${baseSalarySobCycle.attendCycle && baseSalarySobCycle.attendCycle.fromDate}至${baseSalarySobCycle.attendCycle && baseSalarySobCycle.attendCycle.endDate}\n
|
||||
福利台账月份\n
|
||||
引用${baseSalarySobCycle.socialSecurityCycle}的福利台账数据`}
|
||||
style={{ marginLeft: 10 }}
|
||||
title={!_.isEmpty(baseSalarySobCycle) ?
|
||||
<SalaryMonthTip baseSalarySobCycle={baseSalarySobCycle}/> : ""}
|
||||
placement="topLeft"
|
||||
/>
|
||||
{/*暂时隐藏*/}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,20 @@
|
|||
import React from "react";
|
||||
import { Button, Col, Icon, message, Modal, Row } from "antd";
|
||||
import { WeaBrowser, WeaFormItem, WeaHelpfulTip, WeaInput, WeaSearchGroup, WeaSelect, WeaTab } from "ecCom";
|
||||
import {
|
||||
WeaBrowser,
|
||||
WeaFormItem,
|
||||
WeaHelpfulTip,
|
||||
WeaInput,
|
||||
WeaLocaleProvider,
|
||||
WeaSearchGroup,
|
||||
WeaSelect,
|
||||
WeaTab
|
||||
} from "ecCom";
|
||||
import { inject, observer } from "mobx-react";
|
||||
import "./index.less";
|
||||
import { getQueryString } from "../../util/url";
|
||||
import "./index.less";
|
||||
|
||||
const { getLabel } = WeaLocaleProvider;
|
||||
@inject("calculateStore", "salaryFileStore")
|
||||
@observer
|
||||
export default class UserSure extends React.Component {
|
||||
|
|
@ -120,7 +130,7 @@ export default class UserSure extends React.Component {
|
|||
url: "/api/bs/hrmsalary/salaryacct/acctemployee/list",
|
||||
queryParams: {
|
||||
salaryAcctRecordId,
|
||||
...this.state.searchItemsValue,
|
||||
...this.state.searchItemsValue
|
||||
}
|
||||
};
|
||||
childFrameObj.contentWindow.postMessage(JSON.stringify(payload), "*"); //window.postMessage
|
||||
|
|
@ -375,12 +385,8 @@ export default class UserSure extends React.Component {
|
|||
<Row>
|
||||
<Col span={6}>
|
||||
薪资所属月:<WeaHelpfulTip
|
||||
width={100}
|
||||
title={`薪资周期\n${baseSalarySobCycle.salaryCycle &&
|
||||
baseSalarySobCycle.salaryCycle.fromDate}至${baseSalarySobCycle.salaryCycle &&
|
||||
baseSalarySobCycle.salaryCycle.endDate}\n税款所属期\n${baseSalarySobCycle.taxCycle}\n考勤取值周期\n${baseSalarySobCycle.attendCycle &&
|
||||
baseSalarySobCycle.attendCycle.fromDate}至${baseSalarySobCycle.attendCycle &&
|
||||
baseSalarySobCycle.attendCycle.endDate}\n福利台账月份\n引用${baseSalarySobCycle.socialSecurityCycle}的福利台账数据`}
|
||||
title={!_.isEmpty(baseSalarySobCycle) ?
|
||||
<SalaryMonthTip baseSalarySobCycle={baseSalarySobCycle}/> : ""}
|
||||
placement="topLeft"
|
||||
/>
|
||||
</Col>
|
||||
|
|
@ -430,7 +436,7 @@ export default class UserSure extends React.Component {
|
|||
url: "/api/bs/hrmsalary/salaryacct/acctemployee/list",
|
||||
queryParams: {
|
||||
salaryAcctRecordId,
|
||||
...this.state.searchItemsValue,
|
||||
...this.state.searchItemsValue
|
||||
}
|
||||
};
|
||||
childFrameObj.contentWindow.postMessage(JSON.stringify(payload), "*"); //window.postMessage
|
||||
|
|
@ -460,7 +466,7 @@ export default class UserSure extends React.Component {
|
|||
url: "/api/bs/hrmsalary/salaryacct/reducedemployee/list",
|
||||
queryParams: {
|
||||
salaryAcctRecordId,
|
||||
...this.state.searchItemsValue,
|
||||
...this.state.searchItemsValue
|
||||
}
|
||||
};
|
||||
childFrameObj.contentWindow.postMessage(JSON.stringify(payload), "*");
|
||||
|
|
@ -490,7 +496,7 @@ export default class UserSure extends React.Component {
|
|||
url: "/api/bs/hrmsalary/salaryacct/addedemployee/list",
|
||||
queryParams: {
|
||||
salaryAcctRecordId,
|
||||
...this.state.searchItemsValue,
|
||||
...this.state.searchItemsValue
|
||||
}
|
||||
};
|
||||
childFrameObj.contentWindow.postMessage(JSON.stringify(payload), "*");
|
||||
|
|
@ -587,3 +593,32 @@ export default class UserSure extends React.Component {
|
|||
);
|
||||
}
|
||||
}
|
||||
|
||||
export const SalaryMonthTip = (props) => {
|
||||
const { baseSalarySobCycle } = props;
|
||||
const { salaryCycle, taxCycle, attendCycle, socialSecurityCycle } = baseSalarySobCycle;
|
||||
const { fromDate: salaryCycleFromDate, endDate: salaryCycleEndDate } = salaryCycle;
|
||||
const { fromDate: attendCycleFromDate, endDate: attendCycleEndDate } = attendCycle;
|
||||
return (
|
||||
<div className="salaryMonthTip-layout">
|
||||
<div className="salaryMonthTipItem">
|
||||
<div className="label">{getLabel(543375, "薪资周期")}</div>
|
||||
<div className="value">{`${salaryCycleFromDate}${getLabel(15322, "至")}${salaryCycleEndDate}`}</div>
|
||||
</div>
|
||||
<div className="salaryMonthTipItem">
|
||||
<div className="label">{getLabel(542240, "税款所属期")}</div>
|
||||
<div className="value">{taxCycle}</div>
|
||||
</div>
|
||||
<div className="salaryMonthTipItem">
|
||||
<div className="label">{getLabel(543475, "考勤取值周期")}</div>
|
||||
<div className="value">{`${attendCycleFromDate}${getLabel(15322, "至")}${attendCycleEndDate}`}</div>
|
||||
</div>
|
||||
<div className="salaryMonthTipItem">
|
||||
<div className="label">{getLabel(543466, "福利台账月份")}</div>
|
||||
<div className="value">
|
||||
{`${getLabel(19422, "引用")}${socialSecurityCycle}${getLabel(543476, "的福利台账数据")}`}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ class FieldSlide extends Component {
|
|||
name: "",
|
||||
useInEmployeeSalary: "1",
|
||||
useDefault: "0",
|
||||
hideDefault: "0",
|
||||
sharedType: "0",
|
||||
shareTypeList: [],
|
||||
taxAgentIds: "",
|
||||
|
|
|
|||
|
|
@ -147,7 +147,7 @@ class LedgerSalaryItemNormal extends Component {
|
|||
const newDateSource = _.map(dataSource, item => {
|
||||
return {
|
||||
...item,
|
||||
items: _.filter(item.items || [], child => child.name.indexOf(salaryItemKeywords) !== -1)
|
||||
items: _.filter(item.items || [], child => (child.name.indexOf(salaryItemKeywords) !== -1 || child.formulaContent.indexOf(salaryItemKeywords) !== -1))
|
||||
};
|
||||
});
|
||||
return (
|
||||
|
|
@ -262,7 +262,7 @@ const TitleComp = (props) => {
|
|||
<Button type="ghost" onClick={() => onAddCategory()} style={{ marginRight: 10 }}>新增分类</Button>
|
||||
}
|
||||
<WeaInputSearch value={salaryItemKeywords} onChange={onChange}
|
||||
placeholder={getLabel(111, "请输入薪资项目名称")}
|
||||
placeholder={getLabel(111, "请输入薪资项目名称或者公式名称")}
|
||||
/>
|
||||
</div>
|
||||
</div>;
|
||||
|
|
|
|||
|
|
@ -255,9 +255,9 @@ class LedgerSalaryItemTable extends Component {
|
|||
dataIndex: "valueType",
|
||||
key: "valueType",
|
||||
render: (e, record) => {
|
||||
const { valueType } = record;
|
||||
const { valueType, formulaContent } = record;
|
||||
const key = !_.isNil(valueType) ? valueType : "";
|
||||
return <span> {key.toString() === "1" ? "输入" : key.toString() === "2" ? "自定义公式" : key.toString() === "3" ? "SQL" : ""} </span>;
|
||||
return <span> {key.toString() === "1" ? "输入" : key.toString() === "2" ? formulaContent : key.toString() === "3" ? formulaContent : ""} </span>;
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
|
|||
|
|
@ -189,7 +189,7 @@ export default class MobilePayroll extends React.Component {
|
|||
salaryItemSet={!_.isEmpty(salaryGroups) ? JSON.stringify([employeeInformation, ...salaryGroups]) : []}
|
||||
>
|
||||
{
|
||||
(_.isNil(mySalaryBillData.confirmStatus) || mySalaryBillData.confirmStatus === "0") &&
|
||||
(!_.isEmpty(salaryGroups) && (_.isNil(mySalaryBillData.confirmStatus) || mySalaryBillData.confirmStatus === "0")) &&
|
||||
<ConfirmBtns
|
||||
confirmSalaryBill={this.confirmSalaryBill}
|
||||
goFeedback={this.handleGoFeedback}
|
||||
|
|
@ -210,7 +210,7 @@ export default class MobilePayroll extends React.Component {
|
|||
salaryItemSet={!_.isEmpty(salaryGroups) ? JSON.stringify([employeeInformation, ...salaryGroups]) : JSON.stringify([])}
|
||||
>
|
||||
{
|
||||
(_.isNil(mySalaryBillData.confirmStatus) || mySalaryBillData.confirmStatus === "0") &&
|
||||
(!_.isEmpty(salaryGroups) && (_.isNil(mySalaryBillData.confirmStatus) || mySalaryBillData.confirmStatus === "0")) &&
|
||||
<ConfirmBtns
|
||||
confirmSalaryBill={this.confirmSalaryBill}
|
||||
goFeedback={this.handleGoFeedback}
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ class MySalaryView extends Component {
|
|||
salaryItemSet={!_.isEmpty(salaryGroups) ? JSON.stringify([employeeInformation, ...salaryGroups]) : []}
|
||||
>
|
||||
{
|
||||
(_.isNil(mySalaryStore.confirmStatus) || mySalaryStore.confirmStatus === "0") &&
|
||||
(!_.isEmpty(salaryGroups) && (_.isNil(mySalaryStore.confirmStatus) || mySalaryStore.confirmStatus === "0")) &&
|
||||
<ConfirmBtns
|
||||
confirmSalaryBill={this.confirmSalaryBill}
|
||||
goFeedback={this.handleGoFeedback}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ import ImportModal from "../../../components/importModal";
|
|||
import * as API from "../../../apis/payrollFiles";
|
||||
import { Menu, Modal } from "antd";
|
||||
import "../index.less";
|
||||
import { convertToUrlString } from "../../../util/url";
|
||||
|
||||
class ImportMenu extends Component {
|
||||
constructor(props) {
|
||||
|
|
@ -114,7 +115,7 @@ class ImportMenu extends Component {
|
|||
};
|
||||
|
||||
render() {
|
||||
const { importType, refreshList, isExtEmp } = this.props;
|
||||
const { importType, refreshList, isExtEmp, searchItemsValue = {} } = this.props;
|
||||
const { importParams, previewColumns, previewDataSource } = this.state;
|
||||
let params = "";
|
||||
if (importParams.importType === "init" || importParams.importType === "salaryItemAdjust") {
|
||||
|
|
@ -153,8 +154,7 @@ class ImportMenu extends Component {
|
|||
}}
|
||||
previewImport={(params) => this.salaryArchivePreview(params)}
|
||||
importFile={(params) => this.handleImportFile(params)}
|
||||
templateLink={
|
||||
"/api/bs/hrmsalary/salaryArchive/downloadTemplate?importType=" + params
|
||||
templateLink={`/api/bs/hrmsalary/salaryArchive/downloadTemplate?importType=${params}&${convertToUrlString(searchItemsValue)}`
|
||||
}
|
||||
visiable={importParams.visible}
|
||||
onCancel={() => {
|
||||
|
|
|
|||
|
|
@ -433,6 +433,7 @@ class Index extends Component {
|
|||
<Dropdown overlay={
|
||||
<ImportMenu
|
||||
importType={importType}
|
||||
searchItemsValue={searchItemsValue}
|
||||
refreshList={() => {
|
||||
this.query();
|
||||
this.setState({ selectedRowKeys: [] });
|
||||
|
|
@ -523,6 +524,7 @@ class Index extends Component {
|
|||
<Dropdown overlay={
|
||||
<ImportMenu
|
||||
isExtEmp importType={importType}
|
||||
searchItemsValue={searchItemsValue}
|
||||
refreshList={() => {
|
||||
this.query();
|
||||
this.setState({ selectedRowKeys: [] });
|
||||
|
|
@ -834,6 +836,7 @@ class Index extends Component {
|
|||
<div style={{ display: "none" }}>
|
||||
<ImportMenu
|
||||
ref={(dom) => this.importRef = dom}
|
||||
searchItemsValue={this.state.searchItemsValue}
|
||||
refreshList={() => {
|
||||
this.query();
|
||||
this.setState({ selectedRowKeys: [] });
|
||||
|
|
|
|||
|
|
@ -76,8 +76,8 @@ export default class Index extends Component {
|
|||
showEncryptOperationButton,
|
||||
saveParams: {
|
||||
...saveParams,
|
||||
ascOrDesc, orderRule, rule, enctry, operateTaxDeclaration, matchRule, confValue, withDrawTaxDeclaration,
|
||||
extEmpsWitch
|
||||
ascOrDesc, orderRule, rule, enctry, matchRule, confValue, withDrawTaxDeclaration,
|
||||
extEmpsWitch, operateTaxDeclaration: (operateTaxDeclaration && operateTaxDeclaration !== "0") ? "1" : "0"
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -152,7 +152,7 @@ export default class SalaryFileViewSlide extends React.Component {
|
|||
item.dataType === "number" ?
|
||||
<WeaInputNumber
|
||||
value={!_.isNil(item.value) ? item.value : 0}
|
||||
precision={2}
|
||||
precision={item.pattern || 2}
|
||||
viewAttr={selectedKey === "pending" ? 2 : 1}
|
||||
onChange={value => {
|
||||
item.value = value;
|
||||
|
|
|
|||
|
|
@ -293,8 +293,10 @@ export default class Archives extends React.Component {
|
|||
|
||||
// 模板点击
|
||||
handleTemplateLinkClick = (exportData) => {
|
||||
const { archivesStore: { form } } = this.props;
|
||||
const formParams = form.getFormParams() || {};
|
||||
const { selectedKey } = this.state;
|
||||
let url = `/api/bs/hrmsalary/scheme/template/export?exportData=${exportData}&runStatuses=${selectedKey === "pending" ? "1" : "2,3"}`;
|
||||
let url = `/api/bs/hrmsalary/scheme/template/export?exportData=${exportData}&runStatuses=${selectedKey === "pending" ? "1" : "2,3"}&${convertToUrlString(formParams)}`;
|
||||
window.open(`${window.location.origin}${url}`);
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -203,7 +203,7 @@ export default class DefaultSlideForm extends React.Component {
|
|||
return (
|
||||
<WeaInputNumber
|
||||
min={0}
|
||||
precision={3}
|
||||
precision={4}
|
||||
value={text}
|
||||
onChange={v => {
|
||||
this.updateDataSource(record, v, "paymentProportion");
|
||||
|
|
|
|||
|
|
@ -2,12 +2,26 @@
|
|||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 100%;
|
||||
background: #f6f6f6;
|
||||
|
||||
.wea-new-top-req-wapper .wea-new-top-req-main {
|
||||
background: #f6f6f6 !important;
|
||||
}
|
||||
|
||||
.wea-new-top-req-wapper .wea-new-top-req {
|
||||
z-index: 0 !important;
|
||||
}
|
||||
|
||||
.wea-search-tab, .wea-input-focus {
|
||||
background: #f6f6f6;
|
||||
}
|
||||
|
||||
.normalWapper {
|
||||
flex: 1;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow: hidden;
|
||||
padding: 0 16px;
|
||||
|
||||
.tableWrapper {
|
||||
flex: 1;
|
||||
|
|
@ -16,12 +30,18 @@
|
|||
.ant-spin-nested-loading, .ant-spin-container {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.wea-new-table {
|
||||
background: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
.topContent {
|
||||
padding: 8px 20px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
background: #fff;
|
||||
margin-top: 16px;
|
||||
|
||||
.month {
|
||||
margin-right: 26px;
|
||||
|
|
@ -69,14 +89,16 @@
|
|||
|
||||
//退差;补差
|
||||
.regressionWrapper, .differenceWrapper {
|
||||
flex: 1;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 16px;
|
||||
|
||||
.tableWrapper {
|
||||
flex: 1;
|
||||
overflow: hidden;
|
||||
|
||||
.ant-spin-nested-loading, .ant-spin-container {
|
||||
height: 100%;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,13 +6,15 @@
|
|||
*/
|
||||
import React, { Component } from "react";
|
||||
import { inject, observer } from "mobx-react";
|
||||
import { WeaTab } from "ecCom";
|
||||
import { WeaLocaleProvider, WeaReqTop } from "ecCom";
|
||||
import NormalIndex from "./components/normal";
|
||||
import OverViewIndex from "./components/overView";
|
||||
import AbnormalListIndex from "./components/abnormalList";
|
||||
import Regression from "./components/regression";
|
||||
import MakeupDifference from "./components/makeupDifference";
|
||||
|
||||
const { getLabel } = WeaLocaleProvider;
|
||||
|
||||
@inject("standingBookStore")
|
||||
@observer
|
||||
class StandingBookDetail extends Component {
|
||||
|
|
@ -43,7 +45,7 @@ class StandingBookDetail extends Component {
|
|||
newTabList.push(newTabList.splice(_.findIndex(newTabList, it => it.id === "4"), 1)[0]);
|
||||
this.setState({
|
||||
selectedKey: newTabList[0].id,
|
||||
tabList: _.map(newTabList, it => ({ title: it.content, viewcondition: it.id })),
|
||||
tabList: _.map(newTabList, it => ({ title: it.content, key: it.id })),
|
||||
remarks, billMonth
|
||||
});
|
||||
});
|
||||
|
|
@ -53,33 +55,31 @@ class StandingBookDetail extends Component {
|
|||
const { selectedKey, tabList, remarks, billMonth } = this.state;
|
||||
return (
|
||||
<div className="standingBookDetailWapper">
|
||||
<WeaTab
|
||||
datas={tabList}
|
||||
keyParam="viewcondition" //主键
|
||||
selectedKey={selectedKey}
|
||||
onChange={(selectedKey) => {
|
||||
this.setState({ selectedKey });
|
||||
}}
|
||||
/>
|
||||
{
|
||||
(selectedKey === "1" || selectedKey === "3") &&
|
||||
<NormalIndex selectedKey={selectedKey} remarks={remarks} billMonth={billMonth} type={this.type}
|
||||
paymentOrganization={this.paymentOrganization} location={this.props.location}/>
|
||||
}
|
||||
{
|
||||
selectedKey === "2" &&
|
||||
<AbnormalListIndex billMonth={billMonth} type={this.type} paymentOrganization={this.paymentOrganization}/>
|
||||
}
|
||||
{
|
||||
selectedKey === "4" &&
|
||||
<OverViewIndex billMonth={billMonth} type={this.type} paymentOrganization={this.paymentOrganization}/>
|
||||
}
|
||||
{
|
||||
selectedKey === "5" && <Regression/>
|
||||
}
|
||||
{
|
||||
selectedKey === "6" && <MakeupDifference/>
|
||||
}
|
||||
<WeaReqTop
|
||||
title={getLabel(538002, "社保福利台账")} icon={<i className="icon-coms-fa"/>}
|
||||
iconBgcolor="#F14A2D" showDropIcon={false} tabDatas={tabList} selectedKey={selectedKey}
|
||||
onChange={selectedKey => this.setState({ selectedKey })}
|
||||
>
|
||||
{
|
||||
(selectedKey === "1" || selectedKey === "3") &&
|
||||
<NormalIndex selectedKey={selectedKey} remarks={remarks} billMonth={billMonth} type={this.type}
|
||||
paymentOrganization={this.paymentOrganization} location={this.props.location}/>
|
||||
}
|
||||
{
|
||||
selectedKey === "2" &&
|
||||
<AbnormalListIndex billMonth={billMonth} type={this.type} paymentOrganization={this.paymentOrganization}/>
|
||||
}
|
||||
{
|
||||
selectedKey === "4" &&
|
||||
<OverViewIndex billMonth={billMonth} type={this.type} paymentOrganization={this.paymentOrganization}/>
|
||||
}
|
||||
{
|
||||
selectedKey === "5" && <Regression/>
|
||||
}
|
||||
{
|
||||
selectedKey === "6" && <MakeupDifference/>
|
||||
}
|
||||
</WeaReqTop>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue