bug修复

This commit is contained in:
黎永顺 2023-02-22 10:39:47 +08:00
parent 3694b009a4
commit d1e0460e39
8 changed files with 145 additions and 252 deletions

View File

@ -173,7 +173,13 @@ class FieldSlide extends Component {
};
render() {
const { title, visible, record: { id: editId }, taxAgentStore: { taxAgentOption }, onCancel } = this.props;
const {
title,
visible,
record: { id: editId },
taxAgentStore: { taxAgentOption, showSalaryItemBtn },
onCancel
} = this.props;
const {
loading,
name,
@ -202,7 +208,7 @@ class FieldSlide extends Component {
tabs={[]}
loading={loading}
showOperateBtn={true}
editable={true}
editable={showSalaryItemBtn}
onSave={this.saveFieldInfo}
/>
}

View File

@ -55,7 +55,7 @@ class FieldTable extends Component {
getColumns = () => {
const { columns } = this.state;
const { taxAgentStore, onEditLedger, onDeleteLedger } = this.props;
const { showOperateBtn } = taxAgentStore;
const { showSalaryItemBtn } = taxAgentStore;
return _.map([...columns, {
dataIndex: "operate",
display: true,
@ -70,9 +70,9 @@ class FieldTable extends Component {
item.render = (text, record) => {
return <div className="optWrapper">
<a href="javascript:void(0);" className="mr10"
onClick={() => onEditLedger(record)}>编辑</a>
onClick={() => onEditLedger(record)}>{showSalaryItemBtn ? "编辑" : "查看"}</a>
{
// showOperateBtn &&
record.canDelete && showSalaryItemBtn &&
<a href="javascript:void(0);" className="mr10" onClick={() => onDeleteLedger(record)}>删除</a>
}
</div>;

View File

@ -71,7 +71,7 @@ class FieldManagement extends Component {
render() {
const { searchVal, doSearch, slideparams } = this.state;
const { taxAgentStore } = this.props;
const { showOperateBtn } = taxAgentStore;
const { showSalaryItemBtn } = taxAgentStore;
const btns = [
<Button
type="primary"
@ -89,8 +89,7 @@ class FieldManagement extends Component {
icon={<i className="icon-coms-fa"/>}
iconBgcolor="#F14A2D"
showDropIcon={false}
// buttons={showOperateBtn ? btns : btns.slice(-1)}
buttons={btns}
buttons={showSalaryItemBtn ? btns : btns.slice(-1)}
>
<div className="fieldManageWrapper">
<FieldTable name={searchVal} doSearch={doSearch} onEditLedger={this.handleEditField}

View File

@ -72,11 +72,11 @@ export default class MySalary extends React.Component {
// 区间改变事件
handleSalaryRangePickerChange = (range) => {
const isNull = _.every(range, it => !!it);
this.setState({
salaryRange: range.map(item => moment(item).format("YYYY-MM"))
salaryRange: isNull ? range.map(item => moment(item).format("YYYY-MM")) : []
}, () => {
const { mySalaryStore: { mySalaryBillList } } = this.props;
const isNull = _.every(range, it => !!it);
if (!_.isEmpty(range) && isNull) {
mySalaryBillList(this.state.salaryRange, this.pageInfo);
} else {
@ -130,7 +130,7 @@ export default class MySalary extends React.Component {
if (this.state.selectedKey === "0") {
return (<div><span className="tabSearchLabel">薪资所属月</span>
<RangePicker picker="month" format="yyyy-MM"
<RangePicker format="YYYY-MM"
value={salaryRange}
onChange={(value) => this.handleSalaryRangePickerChange(value)}
/>

View File

@ -2,7 +2,7 @@ import React from "react";
import { inject, observer } from "mobx-react";
import { Button, Dropdown, Menu, message, Modal, Switch } from "antd";
import { WeaInputSearch, WeaNewScroll, WeaSlideModal, WeaTop } from "ecCom";
import { renderLoading } from "../../util"; // 渲染form数据的方法因为多个页面都会使用所以抽的公共方法在util中
import { renderLoading } from "../../util";
import CustomTab from "../../components/customTab";
import SystemSalaryItemModal from "./systemSalaryItemModal";
import { columns } from "./columns";
@ -97,9 +97,8 @@ export default class SalaryItem extends React.Component {
});
}
// 增加编辑功能重写columns绑定事件
getColumns = () => {
const { salaryItemStore, taxAgentStore: { showOperateBtn, showSalaryItemBtn } } = this.props;
const { salaryItemStore, taxAgentStore: { showSalaryItemBtn } } = this.props;
const { tableColumns } = salaryItemStore;
let columns = tableColumns.map(column => {
let newColumn = column;
@ -127,36 +126,33 @@ export default class SalaryItem extends React.Component {
return (
<a onClick={() => {
this.onEditItem(record, true);
}}>{(showOperateBtn || showSalaryItemBtn) ? "编辑" : "查看"}</a>
}}>{showSalaryItemBtn ? "编辑" : "查看"}</a>
);
}
});
{
// showOperateBtn &&
columns.push({
title: "",
key: "moreOperate",
dataIndex: "moreOperate",
render: (text, record) => {
if (record.canDelete) {
return (
<Dropdown overlay={<Menu>
<Menu.Item>
<a href="javascript: void(0);" onClick={() => {
this.handleDeleteItem(record);
}}>删除</a>
</Menu.Item>
</Menu>}>
<a href="javascript:void(0)" style={{ textDecoration: "none" }}><i className="icon-coms-more"
style={{ fontSize: 18 }}></i></a>
</Dropdown>
);
} else {
return "";
}
columns.push({
title: "",
key: "moreOperate",
dataIndex: "moreOperate",
render: (text, record) => {
if (record.canDelete && showSalaryItemBtn) {
return (
<Dropdown overlay={<Menu>
<Menu.Item>
<a href="javascript: void(0);" onClick={() => {
this.handleDeleteItem(record);
}}>删除</a>
</Menu.Item>
</Menu>}>
<a href="javascript:void(0)" style={{ textDecoration: "none" }}><i className="icon-coms-more"
style={{ fontSize: 18 }}></i></a>
</Dropdown>
);
} else {
return "";
}
});
}
}
});
return [
// {
// title: "序号",
@ -245,14 +241,13 @@ export default class SalaryItem extends React.Component {
);
const renderRightOperation = () => {
const { taxAgentStore: { showOperateBtn } } = this.props;
return (<div style={{ display: "inline-block" }}>
{
(showOperateBtn || showSalaryItemBtn) &&
showSalaryItemBtn &&
<Dropdown.Button overlay={menu} type="primary" style={{ marginRight: "10px" }}>新增</Dropdown.Button>
}
{
(showOperateBtn || showSalaryItemBtn) &&
showSalaryItemBtn &&
<Button
type="primary"
style={{ marginRight: "10px" }}
@ -347,10 +342,10 @@ export default class SalaryItem extends React.Component {
return (
<div className="mySalaryBenefitsWrapper">
<WeaTop
title="薪资项目管理" // 文字
icon={<i className="icon-coms-fa"/>} // 左侧图标
iconBgcolor="#F14A2D" // 左侧图标背景色
showDropIcon={false} // 是否显示下拉按钮
title="薪资项目管理"
icon={<i className="icon-coms-fa"/>}
iconBgcolor="#F14A2D"
showDropIcon={false}
>
<CustomTab searchOperationItem={renderRightOperation()}/>
<div className="tableWrapper">
@ -404,8 +399,8 @@ export default class SalaryItem extends React.Component {
<SlideModalTitle
subtitle={(this.state.isAdd ? "新建" : "修改") + "自定义薪资项目"}
editable={false}
showOperateBtn={showOperateBtn || showSalaryItemBtn}
customOperate={(showOperateBtn || showSalaryItemBtn) ? renderCustomOperate() : []}
showOperateBtn={showSalaryItemBtn}
customOperate={showSalaryItemBtn ? renderCustomOperate() : []}
/>
}
content={

View File

@ -22,6 +22,97 @@ export default class DefaultSlideForm extends React.Component {
cycleSetting: "000000000000"
}
};
}
updateDataSource = (record, e, key) => {
const {
programmeStore: {
defaultCompanyDataSource,
defaultPersonDataSource,
setDefaultPersonDataSource,
setDefaultCompanyDataSource
}
} = this.props;
let result = { ...record };
if (key === "paymentCycle" && e === "1") {
result["accountType"] = "1";
} else if (key === "paymentCycle" && e === "0") {
result["accountType"] = record.accountType;
}
result[key] = e;
if (key === "upperLimit" || key === "lowerLimit") {
let dataSource = [...defaultPersonDataSource],
dataSource_company = [...defaultCompanyDataSource];
dataSource = dataSource.map(item => {
if (item.insuranceName === result.insuranceName) return { ...item, [key]: e };
else return item;
});
dataSource_company = dataSource_company.map(item => {
if (item.insuranceName === result.insuranceName) return { ...item, [key]: e };
else return item;
});
setDefaultPersonDataSource(dataSource);
setDefaultCompanyDataSource(dataSource_company);
} else {
if (this.state.selectedKey === "PERSONAL") {
let dataSource = [...defaultPersonDataSource];
dataSource = dataSource.map(item => {
if (item.id == result.id) return result;
else return item;
});
setDefaultPersonDataSource(dataSource);
} else {
let dataSource = [...defaultCompanyDataSource];
dataSource = dataSource.map(item => {
if (item.id == result.id) return result;
else return item;
});
setDefaultCompanyDataSource(dataSource);
}
}
};
handleSetPaymentPeriod = (cycleSetting) => {
let cycleObj = {
1: "0",
2: "0",
3: "0",
4: "0",
5: "0",
6: "0",
7: "0",
8: "0",
9: "0",
10: "0",
11: "0",
12: "0"
};
if (!_.isEmpty(cycleSetting)) {
_.forEach(cycleSetting, item => {
_.assign(cycleObj, { [item]: "1" });
});
} else {
_.forEach(Object.keys(cycleObj), item => {
_.assign(cycleObj, { [item]: "0" });
});
}
const tmpVStr = _.reduce(Object.values(cycleObj), (pre, cur) => {
return pre + cur;
}, "");
this.setState({
paymentPeriodModal: {
...this.state.paymentPeriodModal,
cycleSetting: tmpVStr
}
}, () => {
this.updateDataSource(this.state.paymentPeriodModal.record, tmpVStr, "cycleSetting");
});
};
render() {
const { paymentPeriodModal } = this.state;
const { programmeStore, requestParams, onChange } = this.props;
const { defaultPersonDataSource, defaultCompanyDataSource } = programmeStore;
insertUpdateColumns.map(item => {
if (item.dataIndex == "isPayment") {
item.render = (text, record) => {
@ -137,7 +228,7 @@ export default class DefaultSlideForm extends React.Component {
item.render = (text, record) => {
return (
<WeaInputNumber
min={0}
min={record.lowerLimit || 0}
precision={2}
value={text}
onChange={v => {
@ -151,6 +242,7 @@ export default class DefaultSlideForm extends React.Component {
return (
<WeaInputNumber
min={0}
max={record.upperLimit || 99999999999}
precision={2}
value={text}
onChange={v => {
@ -243,207 +335,8 @@ export default class DefaultSlideForm extends React.Component {
};
}
});
}
updateDataSource = (record, e, key) => {
const {
programmeStore: {
defaultCompanyDataSource,
defaultPersonDataSource,
setDefaultPersonDataSource,
setDefaultCompanyDataSource
}
} = this.props;
let result = { ...record };
if (key === "paymentCycle" && e === "1") {
result["accountType"] = "1";
} else if (key === "paymentCycle" && e === "0") {
result["accountType"] = record.accountType;
}
result[key] = e;
if (key === "upperLimit" || key === "lowerLimit") {
let dataSource = [...defaultPersonDataSource],
dataSource_company = [...defaultCompanyDataSource];
dataSource = dataSource.map(item => {
if (item.insuranceName === result.insuranceName) return { ...item, [key]: e };
else return item;
});
dataSource_company = dataSource_company.map(item => {
if (item.insuranceName === result.insuranceName) return { ...item, [key]: e };
else return item;
});
setDefaultPersonDataSource(dataSource);
setDefaultCompanyDataSource(dataSource_company);
} else {
if (this.state.selectedKey === "PERSONAL") {
let dataSource = [...defaultPersonDataSource];
dataSource = dataSource.map(item => {
if (item.id == result.id) return result;
else return item;
});
setDefaultPersonDataSource(dataSource);
} else {
let dataSource = [...defaultCompanyDataSource];
dataSource = dataSource.map(item => {
if (item.id == result.id) return result;
else return item;
});
setDefaultCompanyDataSource(dataSource);
}
}
};
handleSetPaymentPeriod = (cycleSetting) => {
let cycleObj = {
1: "0",
2: "0",
3: "0",
4: "0",
5: "0",
6: "0",
7: "0",
8: "0",
9: "0",
10: "0",
11: "0",
12: "0"
};
if (!_.isEmpty(cycleSetting)) {
_.forEach(cycleSetting, item => {
_.assign(cycleObj, { [item]: "1" });
});
} else {
_.forEach(Object.keys(cycleObj), item => {
_.assign(cycleObj, { [item]: "0" });
});
}
const tmpVStr = _.reduce(Object.values(cycleObj), (pre, cur) => {
return pre + cur;
}, "");
this.setState({
paymentPeriodModal: {
...this.state.paymentPeriodModal,
cycleSetting: tmpVStr
}
}, () => {
this.updateDataSource(this.state.paymentPeriodModal.record, tmpVStr, "cycleSetting");
});
};
render() {
const { paymentPeriodModal } = this.state;
const { programmeStore, salaryFileStore, taxAgentStore, requestParams, onChange } = this.props;
const { userStatusList } = salaryFileStore;
const { taxAgentAdminOption, getTaxAgentSelectListAsAdmin } = taxAgentStore;
const { defaultPersonDataSource, defaultCompanyDataSource } = programmeStore;
const options = [
{
key: "",
selected: false,
showname: ""
},
{
key: "SCHEME_TOWN",
selected: true,
showname: "城镇"
},
{
key: "SCHEME_VILLAGE",
selected: false,
showname: "农村"
}
];
return (
<div className="defaultSlideForm">
{/*<div>*/}
{/* <Row style={{ lineHeight: "40px" }}>*/}
{/* <Col span={6}>*/}
{/* 缴纳类型*/}
{/* </Col>*/}
{/* <Col span={18}>*/}
{/* <WeaSelect*/}
{/* style={{ width: "200px" }}*/}
{/* options={options}*/}
{/* viewAttr={3}*/}
{/* value={this.props.requestParams.paymentType}*/}
{/* onChange={(v, showname) => {*/}
{/* let requestParams = { ...this.props.requestParams };*/}
{/* requestParams.paymentType = v;*/}
{/* this.props.onChange(requestParams);*/}
{/* }}*/}
{/* />*/}
{/* </Col>*/}
{/* </Row>*/}
{/* <Row style={{ lineHeight: "40px" }}>*/}
{/* <Col span={6}>*/}
{/* 方案名称*/}
{/* </Col>*/}
{/* <Col span={18}>*/}
{/* <WeaInput*/}
{/* style={{ width: "200px" }}*/}
{/* viewAttr={3}*/}
{/* value={this.props.requestParams.schemeName}*/}
{/* onChange={value => {*/}
{/* let requestParams = { ...this.props.requestParams };*/}
{/* requestParams.schemeName = value;*/}
{/* this.props.onChange(requestParams);*/}
{/* }}*/}
{/* />*/}
{/* </Col>*/}
{/* </Row>*/}
{/* <Row style={{ lineHeight: "40px" }}>*/}
{/* <Col span={6}>可见性</Col>*/}
{/* <Col span={18}>*/}
{/* <WeaSelect*/}
{/* style={{ width: "200px" }}*/}
{/* value={this.props.requestParams.sharedType}*/}
{/* options={userStatusList}*/}
{/* onChange={(visibleVal) => {*/}
{/* let requestParams = { ...this.props.requestParams };*/}
{/* visibleVal === "1" && getTaxAgentSelectListAsAdmin();*/}
{/* (visibleVal === "0" || visibleVal === "") && (requestParams.taxAgentIds = "");*/}
{/* requestParams.sharedType = visibleVal;*/}
{/* this.props.onChange(requestParams);*/}
{/* }}*/}
{/* />*/}
{/* </Col>*/}
{/* </Row>*/}
{/* {*/}
{/* this.props.requestParams.sharedType === "1" &&*/}
{/* <Row style={{ display: "flex", alignItems: "center", height: 40, marginTop: 8 }}>*/}
{/* <Col span={6}>可见性范围</Col>*/}
{/* <Col span={18}>*/}
{/* <WeaSelect*/}
{/* multiple*/}
{/* viewAttr={3}*/}
{/* style={{ width: "200px" }}*/}
{/* value={this.props.requestParams.taxAgentIds}*/}
{/* options={taxAgentAdminOption}*/}
{/* onChange={(value) => {*/}
{/* let requestParams = { ...this.props.requestParams };*/}
{/* requestParams.taxAgentIds = value;*/}
{/* this.props.onChange(requestParams);*/}
{/* }}*/}
{/* />*/}
{/* </Col>*/}
{/* </Row>*/}
{/* }*/}
{/* <Row style={{ lineHeight: "40px" }}>*/}
{/* <Col span={6}>备注</Col>*/}
{/* <Col span={18}>*/}
{/* <WeaInput*/}
{/* style={{ width: "200px" }}*/}
{/* value={this.props.requestParams.remarks}*/}
{/* onChange={value => {*/}
{/* let requestParams = { ...this.props.requestParams };*/}
{/* requestParams.remarks = value;*/}
{/* this.props.onChange(requestParams);*/}
{/* }}*/}
{/* />*/}
{/* </Col>*/}
{/* </Row>*/}
{/*</div>*/}
<SchemeInfoForm {...this.props} onChangeFieldsItem={(val) => onChange({ ...requestParams, ...val })}/>
<div className="tableBar">

View File

@ -62,7 +62,7 @@ export class MySalaryStore {
// Object.assign(this._reqParams, { token });
// this.getFormData({ viewAttr: 1 });
this.hasRight = true;
isRoot && this.mySalaryBillList();
isRoot && this.mySalaryBillList([moment().format("YYYY-MM"), moment().format("YYYY-MM")]);
} else {
this.hasRight = false;
}

View File

@ -140,7 +140,7 @@ export class TaxAgentStore {
this.setShowOperateBtn(
!isOpenDevolution ? true : isAdminEnable ? true : false
);
this.setSalaryItemBtn(isChief);
this.setSalaryItemBtn((isOpenDevolution && (isChief || isAdminEnable)));
resolve({ status, data });
} else {
reject();
@ -218,7 +218,7 @@ export class TaxAgentStore {
API.hasIconInTax().then(
action(res => {
if (res.status) {
this.hideIconInTax= res.data !== "true";
this.hideIconInTax = res.data !== "true";
resolve(res);
} else {
message.error(res.errormsg || "获取失败");