Merge branch 'hotfix/2.8.3.2307.01' into release/2.8.3.2307.01
# Conflicts: # pc4mobx/hrmSalary/pages/socialSecurityBenefits/archives/index.js
This commit is contained in:
commit
986e2d7f4a
|
|
@ -26,7 +26,7 @@ export default class CalculateDetail extends React.Component {
|
|||
departmentIds: "",
|
||||
positionIds: "",
|
||||
subcompanyIds: "",
|
||||
status: "",
|
||||
statuses: "",
|
||||
consolidatedTaxation: "0"
|
||||
},
|
||||
selectedKey: "0",
|
||||
|
|
@ -115,7 +115,7 @@ export default class CalculateDetail extends React.Component {
|
|||
);
|
||||
};
|
||||
Select = (value, key) => {
|
||||
const { status } = this.state.searchItemsValue;
|
||||
const { statuses } = this.state.searchItemsValue;
|
||||
return (
|
||||
<WeaFormItem
|
||||
label={value}
|
||||
|
|
@ -123,10 +123,13 @@ export default class CalculateDetail extends React.Component {
|
|||
wrapperCol={{ span: 18 }}
|
||||
>
|
||||
<WeaSelect
|
||||
value={status}
|
||||
multiple
|
||||
value={statuses}
|
||||
options={[
|
||||
{ key: "", showname: "" }, { key: "ALL", showname: "全部" },
|
||||
{ key: "NORMAL", showname: "在职" }, { key: "UNAVAILABLE", showname: "离职" }
|
||||
{ key: "0", showname: "试用" }, { key: "1", showname: "正式" },
|
||||
{ key: "2", showname: "临时" }, { key: "3", showname: "试用延期" },
|
||||
{ key: "4", showname: "解雇" }, { key: "5", showname: "离职" },
|
||||
{ key: "6", showname: "退休" }
|
||||
]}
|
||||
onChange={(val) => this.setState({ searchItemsValue: { ...this.state.searchItemsValue, [key]: val } })}/>
|
||||
</WeaFormItem>
|
||||
|
|
@ -338,7 +341,7 @@ export default class CalculateDetail extends React.Component {
|
|||
workcode: "",
|
||||
departmentIds: "",
|
||||
positionIds: "",
|
||||
status: "",
|
||||
statuses: "",
|
||||
consolidatedTaxation: "0"
|
||||
}
|
||||
})}>
|
||||
|
|
@ -356,7 +359,7 @@ export default class CalculateDetail extends React.Component {
|
|||
{ com: this.Browser("分部", "subcompanyIds") },
|
||||
{ com: this.Browser("部门", "departmentIds") },
|
||||
{ com: this.Browser("岗位", "positionIds") },
|
||||
{ com: this.Select("状态", "status") },
|
||||
{ com: this.Select("状态", "statuses") },
|
||||
{ com: this.Checkbox("合并计税", "consolidatedTaxation") }
|
||||
];
|
||||
return <WeaSearchGroup title={"基本信息"} items={searchItems} showGroup/>;
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ export default class UserSure extends React.Component {
|
|||
workcode: "",
|
||||
departmentIds: "",
|
||||
positionIds: "",
|
||||
status: ""
|
||||
statuses: ""
|
||||
},
|
||||
selectedKey: "0",
|
||||
selectedRowKeys: [], // table 选中项
|
||||
|
|
@ -78,7 +78,7 @@ export default class UserSure extends React.Component {
|
|||
);
|
||||
};
|
||||
Select = (value, key) => {
|
||||
const { status } = this.state.searchItemsValue;
|
||||
const { statuses } = this.state.searchItemsValue;
|
||||
return (
|
||||
<WeaFormItem
|
||||
label={value}
|
||||
|
|
@ -86,10 +86,13 @@ export default class UserSure extends React.Component {
|
|||
wrapperCol={{ span: 18 }}
|
||||
>
|
||||
<WeaSelect
|
||||
value={String(status)}
|
||||
multiple
|
||||
value={String(statuses)}
|
||||
options={[
|
||||
{ key: "", showname: "" }, { key: "ALL", showname: "全部" },
|
||||
{ key: "NORMAL", showname: "在职" }, { key: "UNAVAILABLE", showname: "离职" }
|
||||
{ key: "0", showname: "试用" }, { key: "1", showname: "正式" },
|
||||
{ key: "2", showname: "临时" }, { key: "3", showname: "试用延期" },
|
||||
{ key: "4", showname: "解雇" }, { key: "5", showname: "离职" },
|
||||
{ key: "6", showname: "退休" }
|
||||
]}
|
||||
onChange={(val) => this.setState({ searchItemsValue: { ...this.state.searchItemsValue, [key]: val } })}/>
|
||||
</WeaFormItem>
|
||||
|
|
@ -342,7 +345,7 @@ export default class UserSure extends React.Component {
|
|||
employeeName: "",
|
||||
departmentIds: "",
|
||||
positionIds: "",
|
||||
status: ""
|
||||
statuses: ""
|
||||
}
|
||||
})}>
|
||||
重置
|
||||
|
|
@ -358,7 +361,7 @@ export default class UserSure extends React.Component {
|
|||
{ com: this.Input("工号", "workcode") },
|
||||
{ com: this.Browser("部门", "departmentIds") },
|
||||
{ com: this.Browser("岗位", "positionIds") },
|
||||
{ com: this.Select("状态", "status") }
|
||||
{ com: this.Select("状态", "statuses") }
|
||||
];
|
||||
return <WeaSearchGroup title={"基本信息"} items={searchItems} showGroup/>;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -2,12 +2,12 @@
|
|||
.accumulated {
|
||||
.wea-form-cell-wrapper {
|
||||
& > div:first-child {
|
||||
width: 10% !important;
|
||||
height: 46px !important;
|
||||
line-height: 46px;
|
||||
}
|
||||
|
||||
& > div:nth-child(2) {
|
||||
width: 40% !important;
|
||||
//width: 40% !important;
|
||||
|
||||
.wea-form-item-wrapper {
|
||||
display: flex !important;
|
||||
|
|
@ -20,7 +20,7 @@
|
|||
}
|
||||
|
||||
& > div:last-child {
|
||||
width: 40% !important;
|
||||
//width: 40% !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ class TableRecord extends Component {
|
|||
loading: {
|
||||
query: false
|
||||
},
|
||||
width: 0,
|
||||
dataSource: [],
|
||||
columns: [],
|
||||
selectedRowKeys: [],
|
||||
|
|
@ -37,13 +38,23 @@ class TableRecord extends Component {
|
|||
}
|
||||
|
||||
componentDidMount() {
|
||||
this.setState({ width: window.innerWidth });
|
||||
this.convertData(this.props);
|
||||
window.addEventListener("resize", this.resizeWidth);
|
||||
}
|
||||
|
||||
componentWillUnmount() {
|
||||
window.removeEventListener("resize", this.resizeWidth);
|
||||
}
|
||||
|
||||
componentWillReceiveProps(nextProps, nextContext) {
|
||||
this.convertData(nextProps);
|
||||
}
|
||||
|
||||
resizeWidth = (e) => {
|
||||
this.setState({ width: e.target.innerWidth });
|
||||
};
|
||||
|
||||
convertData = (props) => {
|
||||
const { recordPayload } = this.state;
|
||||
const { record, screenParams } = props;
|
||||
|
|
@ -116,7 +127,7 @@ class TableRecord extends Component {
|
|||
|
||||
render() {
|
||||
const { className, screenParams, taxAgentOption, record } = this.props;
|
||||
const { columns, dataSource, loading, selectedRowKeys, pageInfo, recordPayload } = this.state;
|
||||
const { columns, dataSource, loading, selectedRowKeys, pageInfo, recordPayload, width } = this.state;
|
||||
const rowSelection = {
|
||||
selectedRowKeys,
|
||||
onChange: (selectedRowKeys) => this.setState({ selectedRowKeys })
|
||||
|
|
@ -172,7 +183,7 @@ class TableRecord extends Component {
|
|||
<div className="tableRecordWrapper">
|
||||
{
|
||||
!_.isEmpty(screenParams) &&
|
||||
<WeaSearchGroup className={className} showGroup needTigger={false} items={items} col={3}/>
|
||||
<WeaSearchGroup className={className} showGroup needTigger={false} items={items} col={width > 1280 ? 3 : 2}/>
|
||||
}
|
||||
<UnifiedTable
|
||||
rowKey="id"
|
||||
|
|
|
|||
|
|
@ -399,66 +399,73 @@ export const dataCollectCondition = [
|
|||
{
|
||||
items: [
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["addUpChildEducation"],
|
||||
fieldcol: 14,
|
||||
label: "累计子女教育",
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
precision: 2,
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["addUpContinuingEducation"],
|
||||
fieldcol: 14,
|
||||
label: "累计继续教育",
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
precision: 2,
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["addUpHousingLoanInterest"],
|
||||
fieldcol: 14,
|
||||
label: "累计住房贷款利息",
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
precision: 2,
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["addUpHousingRent"],
|
||||
fieldcol: 14,
|
||||
label: "累计住房租金",
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
precision: 2,
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["addUpSupportElderly"],
|
||||
fieldcol: 14,
|
||||
label: "累计赡养老人",
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
precision: 2,
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["addUpIllnessMedical"],
|
||||
fieldcol: 14,
|
||||
label: "累计大病医疗",
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
precision: 2,
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["addUpInfantCare"],
|
||||
fieldcol: 14,
|
||||
label: "累计婴幼儿照护",
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
precision: 2,
|
||||
viewAttr: 2
|
||||
}
|
||||
],
|
||||
|
|
|
|||
|
|
@ -69,156 +69,173 @@ export const dataCollectCondition = [
|
|||
{
|
||||
items: [
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["addUpIncome"],
|
||||
fieldcol: 14,
|
||||
label: "累计收入额",
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
precision: 2,
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["addUpSubtraction"],
|
||||
fieldcol: 14,
|
||||
label: "累计减除费用",
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
precision: 2,
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["addUpSocialSecurityTotal"],
|
||||
fieldcol: 14,
|
||||
label: "累计社保个人合计",
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
precision: 2,
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["addUpAccumulationFundTotal"],
|
||||
fieldcol: 14,
|
||||
label: "累计公积金个人合计",
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
precision: 2,
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["addUpChildEducation"],
|
||||
fieldcol: 14,
|
||||
label: "累计子女教育",
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
precision: 2,
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["addUpContinuingEducation"],
|
||||
fieldcol: 14,
|
||||
label: "累计继续教育",
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
precision: 2,
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["addUpHousingLoanInterest"],
|
||||
fieldcol: 14,
|
||||
label: "累计住房贷款利息",
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
precision: 2,
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["addUpHousingRent"],
|
||||
fieldcol: 14,
|
||||
label: "累计住房租金",
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
precision: 2,
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["addUpSupportElderly"],
|
||||
fieldcol: 14,
|
||||
label: "累计赡养老人",
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
precision: 2,
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["addUpIllnessMedical"],
|
||||
fieldcol: 14,
|
||||
label: "累计大病医疗",
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
precision: 2,
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["addUpEnterpriseAndOther"],
|
||||
fieldcol: 14,
|
||||
label: "累计企业(职业)年金及其他福利",
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
precision: 2,
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["addUpOtherDeduction"],
|
||||
fieldcol: 14,
|
||||
label: "累计其他免税扣除",
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
precision: 2,
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["addUpTaxExemptIncome"],
|
||||
fieldcol: 14,
|
||||
label: "累计免税收入",
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
precision: 2,
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["addUpAllowedDonation"],
|
||||
fieldcol: 14,
|
||||
label: "累计准予扣除的捐赠额",
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
precision: 2,
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["addUpTaxSavings"],
|
||||
fieldcol: 14,
|
||||
label: "累计减免税额",
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
precision: 2,
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["addUpAdvanceTax"],
|
||||
fieldcol: 14,
|
||||
label: "累计已预扣预缴税额",
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
precision: 2,
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["addUpInfantCare"],
|
||||
fieldcol: 14,
|
||||
label: "累计婴幼儿照护",
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
precision: 2,
|
||||
viewAttr: 2
|
||||
}
|
||||
],
|
||||
|
|
|
|||
|
|
@ -69,48 +69,53 @@ export const dataCollectCondition = [
|
|||
{
|
||||
items: [
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["businessHealthyInsurance"],
|
||||
fieldcol: 14,
|
||||
label: "商业健康保险",
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
precision: 2,
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["taxDelayEndowmentInsurance"],
|
||||
fieldcol: 14,
|
||||
label: "税延养老保险",
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
precision: 2,
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["otherDeduction"],
|
||||
fieldcol: 14,
|
||||
label: "其他",
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
precision: 2,
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["deductionAllowedDonation"],
|
||||
fieldcol: 14,
|
||||
label: "准予扣除的捐赠额",
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
precision: 2,
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["privatePension"],
|
||||
fieldcol: 14,
|
||||
label: "个人养老金",
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
precision: 2,
|
||||
viewAttr: 2
|
||||
}
|
||||
],
|
||||
|
|
|
|||
|
|
@ -2,66 +2,73 @@ export const condition = [
|
|||
{
|
||||
items: [
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["childrenEducation"],
|
||||
fieldcol: 14,
|
||||
label: "子女教育",
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
precision: 2,
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["continuingEducation"],
|
||||
fieldcol: 14,
|
||||
label: "继续教育",
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
precision: 2,
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["housingLoanInterest"],
|
||||
fieldcol: 14,
|
||||
label: "住房贷款利息",
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
precision: 2,
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["housingRent"],
|
||||
fieldcol: 14,
|
||||
label: "住房租金",
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
precision: 2,
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["supportingElder"],
|
||||
fieldcol: 14,
|
||||
label: "赡养老人",
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
precision: 2,
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["seriousIllnessTreatment"],
|
||||
fieldcol: 14,
|
||||
label: "大病医疗",
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
precision: 2,
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["infantCare"],
|
||||
fieldcol: 14,
|
||||
label: "婴幼儿照护",
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
precision: 2,
|
||||
viewAttr: 2
|
||||
}
|
||||
],
|
||||
|
|
|
|||
|
|
@ -304,7 +304,7 @@ export default class SlideBaseForm extends React.Component {
|
|||
<WeaCheckbox
|
||||
value={true}
|
||||
viewAttr={1}
|
||||
content="【入职日期≤薪资周期止】且【离职日期≥薪资周期起】"
|
||||
content="【起薪日期≤薪资周期止】且【最后发薪日期≥薪资周期起】"
|
||||
/>
|
||||
</Col>
|
||||
</Row>
|
||||
|
|
|
|||
|
|
@ -184,7 +184,7 @@ class LedgerBaseSetting extends Component {
|
|||
type === "CHECKBOX" ?
|
||||
<React.Fragment>
|
||||
<WeaCheckbox value={true} viewAttr={1}
|
||||
content="【入职日期≤薪资周期止】且【离职日期≥薪资周期起】"/>
|
||||
content="【起薪日期≤薪资周期止】且【最后发薪日期≥薪资周期起】"/>
|
||||
<WeaHelpfulTip width={200} title="提示:最后发薪日期为空,默认为无穷大" placement="topLeft"/>
|
||||
</React.Fragment> :
|
||||
type === "SELECT" ?
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ export default class LedgerSalaryItemPreviewModal extends React.Component {
|
|||
};
|
||||
})
|
||||
};
|
||||
columns.push(columnItem);
|
||||
columnItem.children.length > 0 && columns.push(columnItem);
|
||||
});
|
||||
return { columns };
|
||||
};
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ class WatermarkPreview extends Component {
|
|||
salaryBillBaseSetPreviewWaterMark = (payload) => {
|
||||
salaryBillBaseSetPreviewWaterMark(payload).then(({ status, data }) => {
|
||||
if (status) {
|
||||
const { wmHeight: height, wmWidth: width, wmNoTransparent, wmRotate } = payload;
|
||||
const { wmSetting: { wmHeight: height, wmWidth: width, wmNoTransparent, wmRotate } } = payload;
|
||||
watermark({
|
||||
text: data,
|
||||
src: "",
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ class Index extends Component {
|
|||
workcode: "",
|
||||
departmentIds: "",
|
||||
positionIds: "",
|
||||
userstatus: "",
|
||||
statuses: "",
|
||||
// archiveStatus: "EFFICIENT",
|
||||
taxAgentId: "",
|
||||
subcompanyIds: ""
|
||||
|
|
@ -128,7 +128,7 @@ class Index extends Component {
|
|||
};
|
||||
Select = (value, key) => {
|
||||
const { taxAgentStore } = this.props;
|
||||
const { userstatus, archiveStatus, taxAgentId } = this.state.searchItemsValue;
|
||||
const { statuses, archiveStatus, taxAgentId } = this.state.searchItemsValue;
|
||||
const { archiveStatusList, userStatusList } = this.state;
|
||||
const { taxAgentAdminOption } = taxAgentStore;
|
||||
return (
|
||||
|
|
@ -138,8 +138,9 @@ class Index extends Component {
|
|||
wrapperCol={{ span: 18 }}
|
||||
>
|
||||
<WeaSelect
|
||||
value={key === "userstatus" ? userstatus : key === "taxAgentId" ? taxAgentId : archiveStatus}
|
||||
options={key === "userstatus" ? userStatusList : key === "taxAgentId" ? [{
|
||||
multiple={key === "statuses"}
|
||||
value={key === "statuses" ? statuses : key === "taxAgentId" ? taxAgentId : archiveStatus}
|
||||
options={key === "statuses" ? userStatusList : key === "taxAgentId" ? [{
|
||||
key: "",
|
||||
showname: ""
|
||||
}, ...taxAgentAdminOption] : archiveStatusList}
|
||||
|
|
@ -218,10 +219,7 @@ class Index extends Component {
|
|||
key: String(it.value),
|
||||
showname: it.defaultLabel
|
||||
}))],
|
||||
userStatusList: [{
|
||||
key: "",
|
||||
showname: ""
|
||||
}, ..._.map(userStatusList, it => ({
|
||||
userStatusList: [..._.map(userStatusList, it => ({
|
||||
key: String(it.value),
|
||||
showname: it.defaultLabel
|
||||
}))],
|
||||
|
|
@ -690,7 +688,7 @@ class Index extends Component {
|
|||
{ com: this.Browser("分部", "subcompanyIds") },
|
||||
{ com: this.Browser("部门", "departmentIds") },
|
||||
{ com: this.Browser("岗位", "positionIds") },
|
||||
{ com: this.Select("人员状态", "userstatus") },
|
||||
{ com: this.Select("人员状态", "statuses") },
|
||||
// { com: this.Select("档案状态", "archiveStatus") },
|
||||
{ com: this.Select("个税扣缴义务人", "taxAgentId") },
|
||||
{ com: this.Input("工号", "workcode") }
|
||||
|
|
@ -715,7 +713,7 @@ class Index extends Component {
|
|||
workcode: "",
|
||||
departmentIds: "",
|
||||
positionIds: "",
|
||||
userstatus: "",
|
||||
statuses: "",
|
||||
archiveStatus: ""
|
||||
}
|
||||
})}> 重置 </Button>,
|
||||
|
|
|
|||
|
|
@ -0,0 +1,451 @@
|
|||
import { WeaLocaleProvider } from "ecCom";
|
||||
import { format_with_regex } from "../../../util";
|
||||
|
||||
const { getLabel } = WeaLocaleProvider;
|
||||
export const condition = [
|
||||
{
|
||||
items: [
|
||||
{
|
||||
colSpan: 2,
|
||||
checkbox: false,
|
||||
checkboxValue: false,
|
||||
conditionType: "SELECT",
|
||||
domkey: ["taxAgent"],
|
||||
fieldcol: 18,
|
||||
label: getLabel(111, "个税扣缴义务人"),
|
||||
labelcol: 6,
|
||||
options: [],
|
||||
multiple: true,
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
browserConditionParam: {
|
||||
completeParams: {},
|
||||
conditionDataParams: {},
|
||||
dataParams: {},
|
||||
destDataParams: {},
|
||||
hasAddBtn: false,
|
||||
hasAdvanceSerach: true,
|
||||
idSeparator: ",",
|
||||
isAutoComplete: 1,
|
||||
isDetail: 0,
|
||||
isMultCheckbox: false,
|
||||
isSingle: false,
|
||||
linkUrl: "",
|
||||
pageSize: 10,
|
||||
quickSearchName: "",
|
||||
replaceDatas: [],
|
||||
title: getLabel(111, "分部"),
|
||||
type: "164",
|
||||
viewAttr: 2
|
||||
},
|
||||
colSpan: 2,
|
||||
conditionType: "BROWSER",
|
||||
domkey: ["subCompany"],
|
||||
fieldcol: 18,
|
||||
isQuickSearch: false,
|
||||
label: getLabel(111, "分部"),
|
||||
labelcol: 6,
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
browserConditionParam: {
|
||||
completeParams: {},
|
||||
conditionDataParams: {},
|
||||
dataParams: {},
|
||||
destDataParams: {},
|
||||
hasAddBtn: false,
|
||||
hasAdvanceSerach: true,
|
||||
idSeparator: ",",
|
||||
isAutoComplete: 1,
|
||||
isDetail: 0,
|
||||
isMultCheckbox: false,
|
||||
isSingle: false,
|
||||
linkUrl: "",
|
||||
pageSize: 10,
|
||||
quickSearchName: "",
|
||||
replaceDatas: [],
|
||||
title: getLabel(111, "部门"),
|
||||
type: "57",
|
||||
viewAttr: 2
|
||||
},
|
||||
colSpan: 2,
|
||||
conditionType: "BROWSER",
|
||||
domkey: ["department"],
|
||||
fieldcol: 18,
|
||||
isQuickSearch: false,
|
||||
label: getLabel(111, "部门"),
|
||||
labelcol: 6,
|
||||
viewAttr: 2
|
||||
},
|
||||
// {
|
||||
// browserConditionParam: {
|
||||
// completeParams: {},
|
||||
// conditionDataParams: {},
|
||||
// dataParams: {},
|
||||
// destDataParams: {},
|
||||
// hasAddBtn: false,
|
||||
// hasAdvanceSerach: true,
|
||||
// idSeparator: ",",
|
||||
// isAutoComplete: 1,
|
||||
// isDetail: 0,
|
||||
// isMultCheckbox: false,
|
||||
// isSingle: false,
|
||||
// linkUrl: "",
|
||||
// pageSize: 10,
|
||||
// quickSearchName: "",
|
||||
// replaceDatas: [],
|
||||
// title: getLabel(111, "岗位"),
|
||||
// type: "278",
|
||||
// viewAttr: 2
|
||||
// },
|
||||
// colSpan: 2,
|
||||
// conditionType: "BROWSER",
|
||||
// domkey: ["position"],
|
||||
// fieldcol: 18,
|
||||
// isQuickSearch: false,
|
||||
// label: getLabel(111, "岗位"),
|
||||
// labelcol: 6,
|
||||
// viewAttr: 2
|
||||
// },
|
||||
{
|
||||
browserConditionParam: {
|
||||
completeParams: {},
|
||||
conditionDataParams: {},
|
||||
dataParams: {},
|
||||
destDataParams: {},
|
||||
hasAddBtn: false,
|
||||
hasAdvanceSerach: true,
|
||||
idSeparator: ",",
|
||||
isAutoComplete: 1,
|
||||
isDetail: 0,
|
||||
isMultCheckbox: false,
|
||||
isSingle: false,
|
||||
linkUrl: "",
|
||||
pageSize: 10,
|
||||
quickSearchName: "",
|
||||
replaceDatas: [],
|
||||
title: getLabel(111, "人员"),
|
||||
type: "17",
|
||||
viewAttr: 2
|
||||
},
|
||||
colSpan: 2,
|
||||
conditionType: "BROWSER",
|
||||
domkey: ["employee"],
|
||||
fieldcol: 18,
|
||||
isQuickSearch: false,
|
||||
label: getLabel(111, "人员"),
|
||||
labelcol: 6,
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
colSpan: 2,
|
||||
conditionType: "RANGEPICKER",
|
||||
domkey: ["hiredate1", "hiredate2"],
|
||||
fieldcol: 18,
|
||||
label: getLabel(111, "入职日期"),
|
||||
labelcol: 6,
|
||||
viewAttr: 2
|
||||
}
|
||||
],
|
||||
title: "",
|
||||
defaultshow: true
|
||||
}
|
||||
];
|
||||
|
||||
const colorList = [
|
||||
"#709DF7", "#73DEB3", "#7585A2", "#F7C739", "#5FC3E3", "#AEE279", "#FF7F81", "#709DF7", "#73DEB3", "#7585A2", "#F7C739", "#5FC3E3", "#AEE279", "#FF7F81",
|
||||
"#709DF7", "#73DEB3", "#7585A2", "#F7C739", "#5FC3E3", "#AEE279", "#FF7F81", "#709DF7", "#73DEB3", "#7585A2", "#F7C739", "#5FC3E3", "#AEE279", "#FF7F81",
|
||||
"#709DF7", "#73DEB3", "#7585A2", "#F7C739", "#5FC3E3", "#AEE279", "#FF7F81", "#709DF7", "#73DEB3", "#7585A2", "#F7C739", "#5FC3E3", "#AEE279", "#FF7F81"
|
||||
];
|
||||
export const mapBarOptions = (params) => ({
|
||||
tooltip: {
|
||||
trigger: "axis",
|
||||
axisPointer: {
|
||||
type: "shadow"
|
||||
},
|
||||
backgroundColor: "#FFF",
|
||||
borderColor: "#FFF",
|
||||
borderWidth: "1",
|
||||
borderRadius: "5",
|
||||
textStyle: {
|
||||
color: "#333"
|
||||
},
|
||||
formatter: function (params) {
|
||||
let str = params[0].axisValue + "<br>";
|
||||
for (let item of params) {
|
||||
str += `<div>${item.marker}${item.seriesName}<span style='display:inline-block;width: 10px'></span><span style='font-weight: bold'>${format_with_regex(item.value)}</span></div>`;
|
||||
}
|
||||
return str;
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
type: "scroll",
|
||||
icon: "rect",
|
||||
top: "0%",
|
||||
right: "center",
|
||||
itemGap: 10,
|
||||
textStyle: {
|
||||
fontSize: 12,//字体大小
|
||||
color: "#B8B8B8"//字体颜色
|
||||
}
|
||||
},
|
||||
grid: {
|
||||
top: "10%",
|
||||
right: "0%",
|
||||
left: "5%",
|
||||
bottom: "0%",
|
||||
containLabel: true
|
||||
},
|
||||
xAxis: params.xAxis.map((item, index) => {
|
||||
const data = Array(params.xAxis.length).fill("");
|
||||
data[index] = item;
|
||||
return {
|
||||
type: "category",
|
||||
position: "bottom",
|
||||
data: data,
|
||||
axisTick: {
|
||||
alignWithLabel: true,
|
||||
show: false
|
||||
},
|
||||
axisLabel: {
|
||||
interval: 0,
|
||||
margin: 10,
|
||||
textStyle: {
|
||||
fontSize: 11
|
||||
}
|
||||
}
|
||||
};
|
||||
}),
|
||||
yAxis: {
|
||||
name: params.name,
|
||||
type: "value",
|
||||
axisLabel: {
|
||||
padding: [3, 0, 0, 0],
|
||||
formatter: "{value}",
|
||||
color: "#666",
|
||||
textStyle: {
|
||||
fontSize: 11
|
||||
}
|
||||
},
|
||||
nameTextStyle: {
|
||||
color: "#787E95",
|
||||
fontSize: 12
|
||||
},
|
||||
axisLine: {
|
||||
show: true,
|
||||
lineStyle: {
|
||||
color: "transparent"
|
||||
}
|
||||
},
|
||||
axisTick: {
|
||||
show: false // 不显示坐标轴刻度线
|
||||
},
|
||||
splitLine: {
|
||||
show: false,
|
||||
lineStyle: {
|
||||
color: "rgba(66, 192, 255, 0.1)"
|
||||
}
|
||||
}
|
||||
},
|
||||
series: params.data.map(item => {
|
||||
return [...dealBar(_.map(item.data, (it) => parseFloat(it.replace(/,/g, ""))), item.name)];
|
||||
}).reduce((acc, cur) => acc.concat(cur), [])
|
||||
});
|
||||
export const mapLineOptions = (params) => ({
|
||||
tooltip: {
|
||||
// 坐标轴指示器,坐标轴触发有效
|
||||
trigger: "axis",
|
||||
axisPointer: {
|
||||
// 默认为直线,可选为:'line' | 'shadow'
|
||||
type: "line"
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
type: "scroll",
|
||||
icon: "circle",
|
||||
top: "0%",
|
||||
right: "center",
|
||||
itemGap: 20,
|
||||
textStyle: {
|
||||
fontSize: 12,//字体大小
|
||||
color: "#787E95"//字体颜色
|
||||
}
|
||||
},
|
||||
grid: {
|
||||
top: "10%",
|
||||
left: "3%",
|
||||
right: "2%",
|
||||
bottom: "3%",
|
||||
containLabel: true
|
||||
},
|
||||
xAxis: [
|
||||
{
|
||||
type: "category",
|
||||
boundaryGap: false,
|
||||
data: params.xAxis,
|
||||
axisTick: {
|
||||
alignWithLabel: true,
|
||||
show: false
|
||||
},
|
||||
// 修改坐标值样式
|
||||
axisLabel: {
|
||||
color: "#B8B8B8",
|
||||
fontSize: 12,
|
||||
show: true
|
||||
},
|
||||
axisLine: {
|
||||
show: false
|
||||
}
|
||||
}
|
||||
],
|
||||
yAxis: [
|
||||
{
|
||||
type: "value",
|
||||
// 修改坐标值样式
|
||||
axisLabel: {
|
||||
color: "#787E95",
|
||||
fontSize: 14
|
||||
},
|
||||
nameTextStyle: {
|
||||
color: "#787E95",
|
||||
fontSize: 16
|
||||
},
|
||||
// 修改坐标轴线样式
|
||||
axisLine: {
|
||||
show: true,
|
||||
lineStyle: {
|
||||
color: "transparent"
|
||||
}
|
||||
},
|
||||
axisTick: {
|
||||
show: false // 不显示坐标轴刻度线
|
||||
},
|
||||
splitLine: {
|
||||
lineStyle: {
|
||||
color: "rgba(93,126,158,1)"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
series: _.map(params.data, (item, index) => {
|
||||
return {
|
||||
name: item.name,
|
||||
data: _.map(item.data, (it) => it.replace(/,/g, "")),
|
||||
type: "line",
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: function (params) {
|
||||
return colorList[params.seriesIndex] || colorList[Math.floor((Math.random() * colorList.length))];
|
||||
},
|
||||
lineStyle: {
|
||||
color: colorList[index] || colorList[Math.floor((Math.random() * colorList.length))]
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
})
|
||||
});
|
||||
export const mapPieOptions = (params) => ({
|
||||
tooltip: {
|
||||
show: true,
|
||||
formatter: function (params) {
|
||||
let str = params.seriesName + "<br>";
|
||||
str += params.marker + params.name + ":" + format_with_regex(params.value) + "(" + params.percent + "%" + ")" + "<br>";
|
||||
return str;
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
type: "scroll",
|
||||
icon: "rect",
|
||||
top: "0%",
|
||||
left: "2%",
|
||||
orient: "vertical",
|
||||
itemGap: 10,
|
||||
textStyle: {
|
||||
fontSize: 12,//字体大小
|
||||
color: "#787E95"//字体颜色
|
||||
}
|
||||
},
|
||||
series: _.map(params.data, item => {
|
||||
return {
|
||||
name: item.name,
|
||||
data: _.map(item.data, (it) => ({ ...it, value: it.value.replace(/,/g, "") })),
|
||||
type: "pie",
|
||||
radius: "60%",
|
||||
avoidLabelOverlap: true,
|
||||
animation: false,
|
||||
labelLine: {
|
||||
show: true,
|
||||
normal: {
|
||||
length: 5,
|
||||
align: "center"
|
||||
}
|
||||
},
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: function (colors) {
|
||||
return colorList[colors.dataIndex] || colorList[Math.floor((Math.random() * colorList.length))];
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
})
|
||||
});
|
||||
|
||||
const dealBar = (arr, name) => {
|
||||
const bar = [];
|
||||
arr.forEach((item, index) => {
|
||||
const data = [];
|
||||
for (let i = 0; i < index; i++) {
|
||||
data.push("");
|
||||
}
|
||||
if (item) {
|
||||
data.push(item);
|
||||
bar.push({
|
||||
name,
|
||||
type: "bar",
|
||||
xAxisIndex: index,
|
||||
barWidth: 32,
|
||||
data,
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: function (params) {
|
||||
return colorList[params.seriesIndex] || colorList[Math.floor((Math.random() * colorList.length))];
|
||||
}
|
||||
}
|
||||
},
|
||||
label: {
|
||||
show: true,
|
||||
position: "insideBottom",
|
||||
distance: 15,
|
||||
align: "left",
|
||||
verticalAlign: "middle",
|
||||
rotate: "90",
|
||||
formatter: function (params) {
|
||||
if (parseInt(params.value) === 0) {
|
||||
return ``;
|
||||
} else {
|
||||
return [
|
||||
`{a|${format_with_regex(params.value)}} {b|${params.seriesName}}`
|
||||
];
|
||||
}
|
||||
},
|
||||
rich: {
|
||||
a: {
|
||||
fontWeight: "bold",
|
||||
fontSize: 14,
|
||||
color: "#333",
|
||||
marginRight: 10
|
||||
},
|
||||
b: {
|
||||
fontSize: 12,
|
||||
color: "#333"
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
return bar;
|
||||
};
|
||||
|
|
@ -176,6 +176,7 @@ export const mapBarOptions = (params) => ({
|
|||
}
|
||||
},
|
||||
legend: {
|
||||
type: "scroll",
|
||||
icon: "rect",
|
||||
top: "0%",
|
||||
right: "center",
|
||||
|
|
@ -188,8 +189,8 @@ export const mapBarOptions = (params) => ({
|
|||
grid: {
|
||||
top: "10%",
|
||||
right: "0%",
|
||||
left: "2%",
|
||||
bottom: "0%",
|
||||
left: "5%",
|
||||
bottom: "10%",
|
||||
containLabel: true
|
||||
},
|
||||
xAxis: {
|
||||
|
|
@ -209,6 +210,7 @@ export const mapBarOptions = (params) => ({
|
|||
},
|
||||
yAxis: {
|
||||
name: params.name,
|
||||
type: "value",
|
||||
axisLabel: {
|
||||
padding: [3, 0, 0, 0],
|
||||
formatter: "{value}",
|
||||
|
|
@ -241,6 +243,7 @@ export const mapBarOptions = (params) => ({
|
|||
return {
|
||||
name: item.name,
|
||||
barWidth: "32",
|
||||
barGap: "0%",
|
||||
data: _.map(item.data, (it) => it.replace(/,/g, "")),
|
||||
type: "bar",
|
||||
itemStyle: {
|
||||
|
|
@ -280,7 +283,18 @@ export const mapBarOptions = (params) => ({
|
|||
}
|
||||
}
|
||||
};
|
||||
})
|
||||
}),
|
||||
dataZoom: [
|
||||
{
|
||||
type: "inside"
|
||||
|
||||
},
|
||||
{
|
||||
type: "slider",
|
||||
show: true,
|
||||
bottom: 20,
|
||||
}
|
||||
]
|
||||
});
|
||||
export const mapLineOptions = (params) => ({
|
||||
tooltip: {
|
||||
|
|
@ -360,7 +374,7 @@ export const mapLineOptions = (params) => ({
|
|||
series: _.map(params.data, (item, index) => {
|
||||
return {
|
||||
name: item.name,
|
||||
data: _.map(item.data, (it) => it.replace(/,/g, "")),
|
||||
data: _.map(item.data, (it) => parseFloat(it.replace(/,/g, ""))),
|
||||
type: "line",
|
||||
itemStyle: {
|
||||
normal: {
|
||||
|
|
@ -385,6 +399,7 @@ export const mapPieOptions = (params) => ({
|
|||
}
|
||||
},
|
||||
legend: {
|
||||
type: "scroll",
|
||||
icon: "rect",
|
||||
top: "0%",
|
||||
left: "2%",
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ import * as API from "../../../apis/welfareArchive";
|
|||
import ImportModal from "../../../components/importModal";
|
||||
import TipLabel from "../../../components/TipLabel";
|
||||
import UnifiedTable from "../../../components/UnifiedTable";
|
||||
import { convertToUrlString } from "../../../util/url";
|
||||
import { salaryArchiveDelete } from "../../../apis/payrollFiles";
|
||||
import "./index.less";
|
||||
|
||||
|
|
@ -611,16 +612,16 @@ export default class Archives extends React.Component {
|
|||
let url = `${window.location.origin}/api/bs/hrmsalary/scheme/export?ids=`;
|
||||
switch (selectedKey) {
|
||||
case "pending":
|
||||
url = `${url}&runStatuses=1`;
|
||||
url = `${url}&runStatuses=1&${convertToUrlString(form.getFormParams())}`;
|
||||
break;
|
||||
case "fixed":
|
||||
url = `${url}&runStatuses=2,3`;
|
||||
url = `${url}&runStatuses=2,3&${convertToUrlString(form.getFormParams())}`;
|
||||
break;
|
||||
case "suspend":
|
||||
url = `${url}&runStatuses=3`;
|
||||
url = `${url}&runStatuses=3&${convertToUrlString(form.getFormParams())}`;
|
||||
break;
|
||||
default:
|
||||
url = `${url}&runStatuses=4,5`;
|
||||
url = `${url}&runStatuses=4,5&${convertToUrlString(form.getFormParams())}`;
|
||||
break;
|
||||
}
|
||||
window.open(url, "_self");
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { action, observable } from "mobx";
|
||||
import { WeaTableNew } from "comsMobx";
|
||||
import * as API from "../apis/payrollFiles";
|
||||
import { statisticsEmployeeDetailList, getDataPerspective } from "../apis/statistics";
|
||||
import { getDataPerspective, statisticsEmployeeDetailList } from "../apis/statistics";
|
||||
|
||||
|
||||
const { TableStore } = WeaTableNew;
|
||||
|
|
@ -14,11 +14,12 @@ export class PayrollFilesStore {
|
|||
@action("薪资档案-列表查询")
|
||||
queryList = (payload = {}, searchItemsValue = {}, url = "") => {
|
||||
return new Promise((resolve, reject) => {
|
||||
const { departmentIds, positionIds, subcompanyIds, ...extra } = searchItemsValue;
|
||||
const { departmentIds, positionIds, subcompanyIds, statuses, ...extra } = searchItemsValue;
|
||||
API.queryList({
|
||||
departmentIds: departmentIds ? departmentIds.split(",") : [],
|
||||
positionIds: positionIds ? positionIds.split(",") : [],
|
||||
subcompanyIds: subcompanyIds ? subcompanyIds.split(",") : [],
|
||||
statuses: statuses ? statuses.split(",") : [],
|
||||
...payload, ...extra, url
|
||||
}).then(res => {
|
||||
const { data, status } = res;
|
||||
|
|
|
|||
Loading…
Reference in New Issue