Merge branch 'feature/V2-数据采集页面重构' into develop
# Conflicts: # pc4mobx/hrmSalary/pages/dataAcquisition/cumDeduct/index.js # pc4mobx/hrmSalary/pages/dataAcquisition/cumSituation/index.js # pc4mobx/hrmSalary/pages/dataAcquisition/otherDeduct/index.js # pc4mobx/hrmSalary/pages/dataAcquisition/specialAddDeduction/index.js # pc4mobx/hrmSalary/pages/socialSecurityBenefits/archives/index.js
This commit is contained in:
commit
e89c2f92f4
|
|
@ -1,5 +1,5 @@
|
||||||
import { WeaTools } from "ecCom";
|
import { WeaTools } from "ecCom";
|
||||||
import { postFetch } from '../util/request';
|
import { postFetch } from "../util/request";
|
||||||
|
|
||||||
//数据采集-累计专项附加扣除列表
|
//数据采集-累计专项附加扣除列表
|
||||||
export const getCumDeductList = (params) => {
|
export const getCumDeductList = (params) => {
|
||||||
|
|
@ -7,9 +7,9 @@ export const getCumDeductList = (params) => {
|
||||||
method: "POST",
|
method: "POST",
|
||||||
mode: "cors",
|
mode: "cors",
|
||||||
headers: {
|
headers: {
|
||||||
"Content-Type": "application/json",
|
"Content-Type": "application/json"
|
||||||
},
|
},
|
||||||
body: JSON.stringify(params),
|
body: JSON.stringify(params)
|
||||||
}).then((res) => res.json());
|
}).then((res) => res.json());
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -52,9 +52,9 @@ export const getCumDeductDetailList = (params) => {
|
||||||
method: "POST",
|
method: "POST",
|
||||||
mode: "cors",
|
mode: "cors",
|
||||||
headers: {
|
headers: {
|
||||||
"Content-Type": "application/json",
|
"Content-Type": "application/json"
|
||||||
},
|
},
|
||||||
body: JSON.stringify(params),
|
body: JSON.stringify(params)
|
||||||
}).then((res) => res.json());
|
}).then((res) => res.json());
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -62,9 +62,9 @@ export const getCumDeductDetailList = (params) => {
|
||||||
export const exportCumDeductDetailList = (id, ids = "") => {
|
export const exportCumDeductDetailList = (id, ids = "") => {
|
||||||
fetch(
|
fetch(
|
||||||
"/api/bs/hrmsalary/addUpDeduction/exportDetail?accumulatedSpecialAdditionalDeductionId=" +
|
"/api/bs/hrmsalary/addUpDeduction/exportDetail?accumulatedSpecialAdditionalDeductionId=" +
|
||||||
id +
|
id +
|
||||||
"&ids=" +
|
"&ids=" +
|
||||||
ids+ "&taxAgentId=" + taxAgentId
|
ids + "&taxAgentId=" + taxAgentId
|
||||||
).then((res) =>
|
).then((res) =>
|
||||||
res.blob().then((blob) => {
|
res.blob().then((blob) => {
|
||||||
var filename = `累计专项附加扣除.xlsx`;
|
var filename = `累计专项附加扣除.xlsx`;
|
||||||
|
|
@ -84,9 +84,9 @@ export const importCumDeductParam = (params) => {
|
||||||
method: "POST",
|
method: "POST",
|
||||||
mode: "cors",
|
mode: "cors",
|
||||||
headers: {
|
headers: {
|
||||||
"Content-Type": "application/json",
|
"Content-Type": "application/json"
|
||||||
},
|
},
|
||||||
body: JSON.stringify(params),
|
body: JSON.stringify(params)
|
||||||
}).then((res) => res.json());
|
}).then((res) => res.json());
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -96,34 +96,44 @@ export const importCumDeductPreview = (params) => {
|
||||||
method: "POST",
|
method: "POST",
|
||||||
mode: "cors",
|
mode: "cors",
|
||||||
headers: {
|
headers: {
|
||||||
"Content-Type": "application/json",
|
"Content-Type": "application/json"
|
||||||
},
|
},
|
||||||
body: JSON.stringify(params),
|
body: JSON.stringify(params)
|
||||||
}).then((res) => res.json());
|
}).then((res) => res.json());
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
//新增累计专项附加扣除
|
//新增累计专项附加扣除
|
||||||
export const createAddUpDeduction = (params) => {
|
export const createAddUpDeduction = (params) => {
|
||||||
return postFetch('/api/bs/hrmsalary/addUpDeduction/createAddUpDeduction', params);
|
return postFetch("/api/bs/hrmsalary/addUpDeduction/createAddUpDeduction", params);
|
||||||
}
|
};
|
||||||
//查看信息
|
//查看信息
|
||||||
export const getAddUpDeduction = (params) => {
|
export const getAddUpDeduction = (params) => {
|
||||||
return postFetch('/api/bs/hrmsalary/addUpDeduction/getAddUpDeduction', params);
|
return postFetch("/api/bs/hrmsalary/addUpDeduction/getAddUpDeduction", params);
|
||||||
}
|
};
|
||||||
//编辑累计专项附加扣除
|
//编辑累计专项附加扣除
|
||||||
export const editAddUpDeduction = (params) => {
|
export const editAddUpDeduction = (params) => {
|
||||||
return postFetch('/api/bs/hrmsalary/addUpDeduction/editAddUpDeduction', params);
|
return postFetch("/api/bs/hrmsalary/addUpDeduction/editAddUpDeduction", params);
|
||||||
}
|
};
|
||||||
//批量删除累计专项附加扣除
|
//批量删除累计专项附加扣除
|
||||||
export const deleteSelectAddUpDeduction = (params) => {
|
export const deleteSelectAddUpDeduction = (params) => {
|
||||||
return postFetch('/api/bs/hrmsalary/addUpDeduction/deleteSelectAddUpDeduction', params);
|
return postFetch("/api/bs/hrmsalary/addUpDeduction/deleteSelectAddUpDeduction", params);
|
||||||
}
|
};
|
||||||
//一键清空累计专项附加扣除
|
//一键清空累计专项附加扣除
|
||||||
export const deleteAllAddUpDeduction = (params) => {
|
export const deleteAllAddUpDeduction = (params) => {
|
||||||
return postFetch('/api/bs/hrmsalary/addUpDeduction/deleteAllAddUpDeduction', params);
|
return postFetch("/api/bs/hrmsalary/addUpDeduction/deleteAllAddUpDeduction", params);
|
||||||
}
|
};
|
||||||
//一键累计
|
//一键累计
|
||||||
export const autoAddAll = (params) => {
|
export const autoAddAll = (params) => {
|
||||||
return postFetch('/api/bs/hrmsalary/addUpDeduction/autoAddAll', params);
|
return postFetch("/api/bs/hrmsalary/addUpDeduction/autoAddAll", params);
|
||||||
}
|
};
|
||||||
|
|
||||||
|
//数据采集列表查询
|
||||||
|
export const getTableDate = ({ url, ...params }) => {
|
||||||
|
return postFetch(url, params);
|
||||||
|
};
|
||||||
|
//数据采集列表详情记录查询
|
||||||
|
export const getTableRecordDate = ({ url, ...params }) => {
|
||||||
|
return postFetch(url, params);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
import React, { Component } from "react";
|
||||||
|
import { WeaTable } from "ecCom";
|
||||||
|
import "./index.less";
|
||||||
|
|
||||||
|
class Index extends Component {
|
||||||
|
|
||||||
|
render() {
|
||||||
|
const { columns, xWidth = 1440 } = this.props;
|
||||||
|
const unifiedColumns = _.map(columns, (item, index) => {
|
||||||
|
if (index === 0 || index === 2) {
|
||||||
|
return { ...item, fixed: "left", width: 150 };
|
||||||
|
} else if (index === 1) {
|
||||||
|
return { ...item, fixed: "left", width: 176 };
|
||||||
|
}
|
||||||
|
if (item.dataIndex === "operate") {
|
||||||
|
return { ...item, fixed: "right", width: "120px" };
|
||||||
|
}
|
||||||
|
return { ...item, width: "33%" };
|
||||||
|
});
|
||||||
|
return (
|
||||||
|
<WeaTable className="unifiedTable" {...this.props} columns={unifiedColumns} scroll={{ x: xWidth }}/>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Index;
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
.unifiedTable {
|
||||||
|
.ellipsis {
|
||||||
|
display: inline-block;
|
||||||
|
width: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.linkWapper {
|
||||||
|
a {
|
||||||
|
color: #4d7ad8;
|
||||||
|
margin-right: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
i {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:hover {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -27,12 +27,33 @@ class AddItems extends Component {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
componentDidMount() {
|
||||||
|
this.setState({
|
||||||
|
baseInfo: {
|
||||||
|
...this.state.baseInfo,
|
||||||
|
declareMonth: this.props.editId.declareMonth || this.props.editId.taxYearMonth,
|
||||||
|
taxAgentId: this.props.editId.taxAgentId,
|
||||||
|
taxAgentName: this.props.editId.taxAgentName,
|
||||||
|
employeeId: this.props.editId.employeeId,
|
||||||
|
employeeName: this.props.editId.username
|
||||||
|
}
|
||||||
|
});
|
||||||
|
const fields = _.map(this.props.condition[0].items, it => {
|
||||||
|
return it.domkey[0];
|
||||||
|
});
|
||||||
|
fields.map(item => {
|
||||||
|
this.props.form.updateFields({
|
||||||
|
[item]: this.props.editId[item] || ""
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
componentWillReceiveProps(nextProps, nextContext) {
|
componentWillReceiveProps(nextProps, nextContext) {
|
||||||
if (nextProps.editId !== this.props.editId) {
|
if (nextProps.editId !== this.props.editId) {
|
||||||
this.setState({
|
this.setState({
|
||||||
baseInfo: {
|
baseInfo: {
|
||||||
...this.state.baseInfo,
|
...this.state.baseInfo,
|
||||||
declareMonth: nextProps.editId.declareMonth,
|
declareMonth: nextProps.editId.declareMonth || nextProps.editId.taxYearMonth,
|
||||||
taxAgentId: nextProps.editId.taxAgentId,
|
taxAgentId: nextProps.editId.taxAgentId,
|
||||||
taxAgentName: nextProps.editId.taxAgentName,
|
taxAgentName: nextProps.editId.taxAgentName,
|
||||||
employeeId: nextProps.editId.employeeId,
|
employeeId: nextProps.editId.employeeId,
|
||||||
|
|
@ -165,9 +186,10 @@ class AddItems extends Component {
|
||||||
return (
|
return (
|
||||||
<div className="addItemsWrapper">
|
<div className="addItemsWrapper">
|
||||||
<WeaSearchGroup
|
<WeaSearchGroup
|
||||||
|
className="baseForm"
|
||||||
title="基础信息"
|
title="基础信息"
|
||||||
items={!isCum ? items : baseInfo.personArea === "ORGANIZATION" ? [...cumSituationitems, ...insider] : baseInfo.personArea === "EXT_EMPLOYEE" ? [...cumSituationitems, ...noSysPerson] : cumSituationitems}
|
items={!isCum ? items : baseInfo.personArea === "ORGANIZATION" ? [...cumSituationitems, ...insider] : baseInfo.personArea === "EXT_EMPLOYEE" ? [...cumSituationitems, ...noSysPerson] : cumSituationitems}
|
||||||
needTigger showGroup center/>
|
needTigger showGroup col={1}/>
|
||||||
{
|
{
|
||||||
getSearchs(form, condition, 2)
|
getSearchs(form, condition, 2)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
.tableRecordWrapper {
|
||||||
|
.accumulated {
|
||||||
|
.wea-form-cell-wrapper {
|
||||||
|
& > div:first-child {
|
||||||
|
width: 10% !important;
|
||||||
|
line-height: 46px;
|
||||||
|
}
|
||||||
|
|
||||||
|
& > div:nth-child(2) {
|
||||||
|
width: 40% !important;
|
||||||
|
|
||||||
|
.wea-form-item-wrapper {
|
||||||
|
display: flex !important;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.to {
|
||||||
|
padding: 0 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
& > div:last-child {
|
||||||
|
width: 40% !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,192 @@
|
||||||
|
/*
|
||||||
|
* Author: 黎永顺
|
||||||
|
* name: 数据采集-详情记录页面
|
||||||
|
* Description:
|
||||||
|
* Date: 2023/2/20
|
||||||
|
*/
|
||||||
|
import React, { Component } from "react";
|
||||||
|
import { WeaSearchGroup } from "ecCom";
|
||||||
|
import UnifiedTable from "../../../components/UnifiedTable";
|
||||||
|
import { getTableRecordDate } from "../../../apis/cumDeduct";
|
||||||
|
import { DataCollectionDateRangePick, DataCollectionSelect, Input } from "../cumDeduct";
|
||||||
|
import "./index.less";
|
||||||
|
|
||||||
|
class TableRecord extends Component {
|
||||||
|
constructor(props) {
|
||||||
|
super(props);
|
||||||
|
this.state = {
|
||||||
|
loading: {
|
||||||
|
query: false
|
||||||
|
},
|
||||||
|
dataSource: [],
|
||||||
|
columns: [],
|
||||||
|
selectedRowKeys: [],
|
||||||
|
pageInfo: {
|
||||||
|
current: 1, pageSize: 10, total: 0
|
||||||
|
},
|
||||||
|
recordPayload: {
|
||||||
|
accumulatedSpecialAdditionalDeductionId: "",
|
||||||
|
otherTaxExemptDeductionId: "",
|
||||||
|
accumulatedSituationId: "",
|
||||||
|
specialAddDeductionId: "",
|
||||||
|
taxAgentId: "",
|
||||||
|
declareMonth: null,
|
||||||
|
taxYearMonth: null
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
componentDidMount() {
|
||||||
|
this.convertData(this.props);
|
||||||
|
}
|
||||||
|
|
||||||
|
componentWillReceiveProps(nextProps, nextContext) {
|
||||||
|
this.convertData(nextProps);
|
||||||
|
}
|
||||||
|
|
||||||
|
convertData = (props) => {
|
||||||
|
const { recordPayload } = this.state;
|
||||||
|
const { record, screenParams } = props;
|
||||||
|
const modules = _.reduce(screenParams, (pre, cur) => (_.assign(pre, {
|
||||||
|
[cur]: record[cur],
|
||||||
|
[screenParams[0]]: record.id
|
||||||
|
})), {});
|
||||||
|
this.setState({
|
||||||
|
recordPayload: {
|
||||||
|
...recordPayload,
|
||||||
|
...modules
|
||||||
|
}
|
||||||
|
}, () => this.getTableRecordData());
|
||||||
|
};
|
||||||
|
|
||||||
|
getTableRecordData = () => {
|
||||||
|
const { loading, pageInfo, recordPayload } = this.state;
|
||||||
|
const { url, screenParams } = this.props;
|
||||||
|
const monthkey = screenParams[screenParams.length - 1];
|
||||||
|
const module = {
|
||||||
|
...pageInfo, ...recordPayload, url,
|
||||||
|
[monthkey]: Object.prototype.toString.call(recordPayload[monthkey]) === "[object Array]" ? _.compact(recordPayload[monthkey]) : recordPayload[monthkey]
|
||||||
|
};
|
||||||
|
this.setState({ loading: { ...loading, query: true } });
|
||||||
|
getTableRecordDate(_.pick(module, [...screenParams, "current", "pageSize", "url"])).then(({ status, data }) => {
|
||||||
|
this.setState({ loading: { ...loading, query: false } });
|
||||||
|
if (status) {
|
||||||
|
const { columns, list: dataSource, pageNum: current, pageSize, total } = data;
|
||||||
|
this.setState({
|
||||||
|
pageInfo: { ...pageInfo, current, pageSize, total },
|
||||||
|
dataSource,
|
||||||
|
columns
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}).catch(() => this.setState({ loading: { ...loading, query: false } }));
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Author: 黎永顺
|
||||||
|
* Description: 详情页面-筛选操作
|
||||||
|
* Params:
|
||||||
|
* Date: 2023/2/20
|
||||||
|
*/
|
||||||
|
handleTablerecordScreen = ({ key, value }) => {
|
||||||
|
const { recordPayload } = this.state;
|
||||||
|
this.setState({
|
||||||
|
recordPayload: {
|
||||||
|
...recordPayload,
|
||||||
|
[key]: value
|
||||||
|
}
|
||||||
|
}, () => this.getTableRecordData());
|
||||||
|
};
|
||||||
|
handleResetSelectKeys = () => {
|
||||||
|
this.setState({
|
||||||
|
selectedRowKeys: [],
|
||||||
|
recordPayload: {
|
||||||
|
accumulatedSpecialAdditionalDeductionId: "",
|
||||||
|
otherTaxExemptDeductionId: "",
|
||||||
|
accumulatedSituationId: "",
|
||||||
|
specialAddDeductionId: "",
|
||||||
|
taxAgentId: "",
|
||||||
|
declareMonth: null,
|
||||||
|
taxYearMonth: null
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
render() {
|
||||||
|
const { className, screenParams, taxAgentOption, record } = this.props;
|
||||||
|
const { columns, dataSource, loading, selectedRowKeys, pageInfo, recordPayload } = this.state;
|
||||||
|
const rowSelection = {
|
||||||
|
selectedRowKeys,
|
||||||
|
onChange: (selectedRowKeys) => this.setState({ selectedRowKeys })
|
||||||
|
};
|
||||||
|
const pagination = {
|
||||||
|
...pageInfo,
|
||||||
|
showTotal: (total) => `共 ${total} 条`,
|
||||||
|
pageSizeOptions: ["10", "20", "50", "100"],
|
||||||
|
showSizeChanger: true,
|
||||||
|
showQuickJumper: true,
|
||||||
|
onShowSizeChange: (current, pageSize) => {
|
||||||
|
this.setState({
|
||||||
|
pageInfo: { ...pageInfo, current, pageSize }
|
||||||
|
}, () => {
|
||||||
|
this.getTableRecordData();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
onChange: (current) => {
|
||||||
|
this.setState({
|
||||||
|
pageInfo: { ...pageInfo, current }
|
||||||
|
}, () => {
|
||||||
|
this.getTableRecordData();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const items = screenParams.length === 1 ? [
|
||||||
|
{
|
||||||
|
com: Input({ value: record.username })
|
||||||
|
}
|
||||||
|
] : [
|
||||||
|
{
|
||||||
|
com: Input({ value: record.username })
|
||||||
|
},
|
||||||
|
{
|
||||||
|
com: DataCollectionDateRangePick({
|
||||||
|
label: "税款所属期",
|
||||||
|
range: recordPayload[screenParams[screenParams.length - 1]] || [],
|
||||||
|
onChange: this.handleTablerecordScreen,
|
||||||
|
key: screenParams[screenParams.length - 1]
|
||||||
|
})
|
||||||
|
},
|
||||||
|
{
|
||||||
|
com: DataCollectionSelect({
|
||||||
|
label: "个税扣缴义务人",
|
||||||
|
value: !_.isNil(recordPayload.taxAgentId) ? recordPayload.taxAgentId.toString() : "",
|
||||||
|
options: [{ key: "", showname: "全部" }, ...taxAgentOption],
|
||||||
|
onChange: this.handleTablerecordScreen,
|
||||||
|
key: "taxAgentId"
|
||||||
|
})
|
||||||
|
}
|
||||||
|
];
|
||||||
|
return (
|
||||||
|
<div className="tableRecordWrapper">
|
||||||
|
{
|
||||||
|
!_.isEmpty(screenParams) &&
|
||||||
|
<WeaSearchGroup className={className} showGroup needTigger={false} items={items} col={3}/>
|
||||||
|
}
|
||||||
|
<UnifiedTable
|
||||||
|
rowKey="id"
|
||||||
|
rowSelection={rowSelection}
|
||||||
|
columns={_.map(columns, item => ({
|
||||||
|
...item,
|
||||||
|
render: (text) => {
|
||||||
|
return <span className="ellipsis" title={text}> {text} </span>;
|
||||||
|
}
|
||||||
|
}))}
|
||||||
|
dataSource={dataSource}
|
||||||
|
pagination={pagination}
|
||||||
|
loading={loading.query}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default TableRecord;
|
||||||
|
|
@ -0,0 +1,48 @@
|
||||||
|
/*
|
||||||
|
* Author: 黎永顺
|
||||||
|
* name: 数据采集-导入选项
|
||||||
|
* Description:
|
||||||
|
* Date: 2023/2/20
|
||||||
|
*/
|
||||||
|
import React, { Component } from "react";
|
||||||
|
import { WeaSearchGroup } from "ecCom";
|
||||||
|
import { DataCollectionDatePicker, DataCollectionSelect } from "../index";
|
||||||
|
|
||||||
|
class ImportFormCom extends Component {
|
||||||
|
screenChange = ({ key, value }) => {
|
||||||
|
const { onChangeImportForm } = this.props;
|
||||||
|
onChangeImportForm(key, value);
|
||||||
|
};
|
||||||
|
|
||||||
|
render() {
|
||||||
|
const { taxAgentOption = [], declareMonth, taxAgentId } = this.props;
|
||||||
|
const items = [
|
||||||
|
{
|
||||||
|
com: DataCollectionDatePicker({
|
||||||
|
label: "税款所属期",
|
||||||
|
value: declareMonth,
|
||||||
|
onChange: this.screenChange,
|
||||||
|
key: "declareMonth",
|
||||||
|
screen: false
|
||||||
|
})
|
||||||
|
},
|
||||||
|
{
|
||||||
|
com: DataCollectionSelect({
|
||||||
|
label: "个税扣缴义务人",
|
||||||
|
value: taxAgentId || "",
|
||||||
|
onChange: this.screenChange,
|
||||||
|
options: [{ key: "", showname: "全部" }, ...taxAgentOption],
|
||||||
|
key: "taxAgentId"
|
||||||
|
})
|
||||||
|
}
|
||||||
|
];
|
||||||
|
!declareMonth && items.shift();
|
||||||
|
_.isNil(taxAgentId) && items.pop();
|
||||||
|
return (
|
||||||
|
<WeaSearchGroup className="screenWrapper" showGroup needTigger={false} items={items}
|
||||||
|
col={2}/>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default ImportFormCom;
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -65,133 +65,6 @@ export const columns = [
|
||||||
key: "title"
|
key: "title"
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
export const modalColumns = [
|
|
||||||
{
|
|
||||||
title: "姓名",
|
|
||||||
dataIndex: "username",
|
|
||||||
key: "username"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "个税扣缴义务人",
|
|
||||||
dataIndex: "taxAgentName",
|
|
||||||
key: "taxAgentName"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "部门",
|
|
||||||
dataIndex: "departmentName",
|
|
||||||
key: "departmentName"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "手机号",
|
|
||||||
dataIndex: "mobile",
|
|
||||||
key: "mobile"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "工号",
|
|
||||||
dataIndex: "jobNum",
|
|
||||||
key: "jobNum"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "证件号码",
|
|
||||||
dataIndex: "idNo",
|
|
||||||
key: "idNo"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "入职日期",
|
|
||||||
dataIndex: "hiredate",
|
|
||||||
key: "hiredate"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "累计收入额",
|
|
||||||
dataIndex: "addUpIncome",
|
|
||||||
key: "addUpIncome"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "累计减除费用",
|
|
||||||
dataIndex: "addUpSubtraction",
|
|
||||||
key: "addUpSubtraction"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "累计社保个人合计",
|
|
||||||
dataIndex: "addUpSocialSecurityTotal",
|
|
||||||
key: "addUpSocialSecurityTotal"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "累计公积金个人合计",
|
|
||||||
dataIndex: "addUpAccumulationFundTotal",
|
|
||||||
key: "addUpAccumulationFundTotal"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "累计子女教育",
|
|
||||||
dataIndex: "addUpChildEducation",
|
|
||||||
key: "addUpChildEducation"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "累计继续教育",
|
|
||||||
dataIndex: "addUpContinuingEducation",
|
|
||||||
key: "addUpContinuingEducation"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "累计住房贷款利息",
|
|
||||||
dataIndex: "addUpHousingLoanInterest",
|
|
||||||
key: "addUpHousingLoanInterest"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "累计住房租金",
|
|
||||||
dataIndex: "addUpHousingRent",
|
|
||||||
key: "addUpHousingRent"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "累计赡养老人",
|
|
||||||
dataIndex: "addUpSupportElderly",
|
|
||||||
key: "addUpSupportElderly"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "累计企业(职业)年金及其他福利",
|
|
||||||
dataIndex: "addUpEnterpriseAndOther",
|
|
||||||
key: "addUpEnterpriseAndOther"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "累计其他免税扣除",
|
|
||||||
dataIndex: "addUpOtherDeduction",
|
|
||||||
key: "addUpOtherDeduction"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "累计免税收入",
|
|
||||||
dataIndex: "addUpTaxExemptIncome",
|
|
||||||
key: "addUpTaxExemptIncome"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "累计准予扣除的捐赠额",
|
|
||||||
dataIndex: "addUpAllowedDonation",
|
|
||||||
key: "addUpAllowedDonation"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "累计减免税额",
|
|
||||||
dataIndex: "addUpTaxSavings",
|
|
||||||
key: "addUpTaxSavings"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "累计已预扣预缴税额",
|
|
||||||
dataIndex: "addUpAdvanceTax",
|
|
||||||
key: "addUpAdvanceTax"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "累计婴幼儿照护",
|
|
||||||
dataIndex: "addUpInfantCare",
|
|
||||||
key: "addUpInfantCare"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "累计大病医疗",
|
|
||||||
dataIndex: "addUpIllnessMedical",
|
|
||||||
key: "addUpIllnessMedical"
|
|
||||||
}
|
|
||||||
|
|
||||||
];
|
|
||||||
|
|
||||||
export const dataSource = [];
|
|
||||||
|
|
||||||
export const dataCollectCondition = [
|
export const dataCollectCondition = [
|
||||||
{
|
{
|
||||||
items: [
|
items: [
|
||||||
|
|
@ -353,11 +226,10 @@ export const dataCollectCondition = [
|
||||||
defaultshow: true
|
defaultshow: true
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
export const taxOptions = [
|
export const taxOptions = [
|
||||||
{
|
{
|
||||||
key: "01",
|
key: "01",
|
||||||
showname: "一月",
|
showname: "一月"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: "02",
|
key: "02",
|
||||||
|
|
@ -402,5 +274,5 @@ export const taxOptions = [
|
||||||
{
|
{
|
||||||
key: "12",
|
key: "12",
|
||||||
showname: "十二月"
|
showname: "十二月"
|
||||||
},
|
}
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -1,201 +0,0 @@
|
||||||
import React from "react";
|
|
||||||
import { Col, DatePicker, Row } from "antd";
|
|
||||||
import { inject, observer } from "mobx-react";
|
|
||||||
import { WeaTable } from "ecCom";
|
|
||||||
import "./editSlideContent.less";
|
|
||||||
import moment from "moment";
|
|
||||||
|
|
||||||
const { MonthPicker } = DatePicker;
|
|
||||||
|
|
||||||
let emptyItem = {
|
|
||||||
incomeLowerLimit: "0.00",
|
|
||||||
incomeUpperLimit: "0.00",
|
|
||||||
dutyFreeValue: "0.00",
|
|
||||||
dutyFreeRate: "0.00",
|
|
||||||
taxableIncomeLl: "0.00",
|
|
||||||
taxableIncomeUl: "0.00",
|
|
||||||
taxRate: "0.00",
|
|
||||||
taxDeduction: "0.00"
|
|
||||||
};
|
|
||||||
|
|
||||||
@inject("cumSituationStore", "taxAgentStore")
|
|
||||||
@observer
|
|
||||||
export default class EditSlideContent extends React.Component {
|
|
||||||
constructor(props) {
|
|
||||||
super(props);
|
|
||||||
this.state = {
|
|
||||||
taxAgentId: "",
|
|
||||||
startDate: "",
|
|
||||||
endDate: "",
|
|
||||||
editable:
|
|
||||||
this.props.editable === undefined ? "true" : this.props.editable
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
componentWillMount() {
|
|
||||||
// 初始化渲染页面
|
|
||||||
const {
|
|
||||||
taxAgentStore: { fetchTaxAgentOption }
|
|
||||||
} = this.props;
|
|
||||||
fetchTaxAgentOption();
|
|
||||||
}
|
|
||||||
|
|
||||||
addItem() {
|
|
||||||
const {
|
|
||||||
taxRateStore: { setDataSource }
|
|
||||||
} = this.props;
|
|
||||||
let dataSource = [...this.props.taxRateStore.dataSource];
|
|
||||||
let indexNum = 1;
|
|
||||||
if (dataSource.length > 0) {
|
|
||||||
indexNum = dataSource[dataSource.length - 1].indexNum + 1;
|
|
||||||
}
|
|
||||||
let item = { ...emptyItem };
|
|
||||||
item.indexNum = indexNum;
|
|
||||||
dataSource.push(item);
|
|
||||||
setDataSource(dataSource);
|
|
||||||
}
|
|
||||||
|
|
||||||
fetchCumDeductDetailList(param) {
|
|
||||||
const { cumSituationStore } = this.props;
|
|
||||||
const { getCumDeductDetailList, currentRecord } = cumSituationStore;
|
|
||||||
getCumDeductDetailList(currentRecord.id, param);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 日期格式变化加载数据
|
|
||||||
handleFetchCumDeductDetailList(startDate, endDate, taxAgentId) {
|
|
||||||
let declareMonth = [];
|
|
||||||
if (startDate != "" && startDate != undefined) {
|
|
||||||
declareMonth.push(startDate);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (endDate != "" && endDate != undefined) {
|
|
||||||
declareMonth.push(endDate);
|
|
||||||
}
|
|
||||||
let item = {
|
|
||||||
taxAgentId: taxAgentId
|
|
||||||
};
|
|
||||||
if (declareMonth.length != 0) {
|
|
||||||
item.taxYearMonth = declareMonth;
|
|
||||||
}
|
|
||||||
this.fetchCumDeductDetailList(item);
|
|
||||||
}
|
|
||||||
|
|
||||||
onSelectChange = (val) => {
|
|
||||||
const { onChangeSlideSelectKey } = this.props;
|
|
||||||
onChangeSlideSelectKey && onChangeSlideSelectKey(val);
|
|
||||||
};
|
|
||||||
|
|
||||||
render() {
|
|
||||||
const { cumSituationStore } = this.props;
|
|
||||||
const { startDate, endDate, taxAgentId } = this.state;
|
|
||||||
const {
|
|
||||||
getCumDeductDetailList,
|
|
||||||
currentRecord,
|
|
||||||
slideColumns,
|
|
||||||
slidePageObj,
|
|
||||||
slideTableDataSource,
|
|
||||||
setSlidePageObj,
|
|
||||||
slideLoading
|
|
||||||
} = cumSituationStore;
|
|
||||||
const declareMonth = [startDate, endDate];
|
|
||||||
|
|
||||||
const pagination = {
|
|
||||||
current: slidePageObj.current,
|
|
||||||
pageSize: slidePageObj.pageSize,
|
|
||||||
total: slidePageObj.total,
|
|
||||||
showTotal: (total) => `共 ${total} 条`,
|
|
||||||
showSizeChanger: true,
|
|
||||||
onShowSizeChange(current, pageSize) {
|
|
||||||
setSlidePageObj({ ...slidePageObj, current, pageSize });
|
|
||||||
getCumDeductDetailList(currentRecord.id, {
|
|
||||||
...slidePageObj,
|
|
||||||
current,
|
|
||||||
pageSize,taxAgentId:currentRecord.taxAgentId,
|
|
||||||
declareMonth: _.filter(declareMonth, item => item)
|
|
||||||
});
|
|
||||||
},
|
|
||||||
onChange(current) {
|
|
||||||
setSlidePageObj({
|
|
||||||
...slidePageObj,
|
|
||||||
current,taxAgentId:currentRecord.taxAgentId,
|
|
||||||
pageSize: slidePageObj.pageSize
|
|
||||||
});
|
|
||||||
getCumDeductDetailList(currentRecord.id, {
|
|
||||||
...slidePageObj,
|
|
||||||
current,
|
|
||||||
pageSize,
|
|
||||||
declareMonth: _.filter(declareMonth, item => item)
|
|
||||||
});
|
|
||||||
}
|
|
||||||
};
|
|
||||||
const newColumns = _.map([...slideColumns], (item) => ({ ...item }));
|
|
||||||
const rowSelection = {
|
|
||||||
selectedRowKeys: this.props.slideSelectedKey,
|
|
||||||
onChange: this.onSelectChange
|
|
||||||
};
|
|
||||||
return (
|
|
||||||
<div className="cumDeductSlide">
|
|
||||||
<Row className="topLabelBar">
|
|
||||||
<Col span={4}>
|
|
||||||
<span className="username">{currentRecord.username}</span>
|
|
||||||
</Col>
|
|
||||||
<Col span={12}>
|
|
||||||
<span className="formLabel">申报月份</span>
|
|
||||||
<div className="weaRangePickerWrapper">
|
|
||||||
<div className="monthPickerWrapper">
|
|
||||||
<MonthPicker
|
|
||||||
width={100}
|
|
||||||
format="YYYY-MM"
|
|
||||||
value={startDate}
|
|
||||||
onChange={(v) => {
|
|
||||||
let startDate = "";
|
|
||||||
if (v != "" && v != undefined) {
|
|
||||||
startDate = moment(v).format("YYYY-MM");
|
|
||||||
}
|
|
||||||
this.setState({ startDate });
|
|
||||||
this.handleFetchCumDeductDetailList(
|
|
||||||
startDate,
|
|
||||||
endDate,
|
|
||||||
taxAgentId
|
|
||||||
);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<span className="betweenLable">至</span>
|
|
||||||
<div className="monthPickerWrapper">
|
|
||||||
<MonthPicker
|
|
||||||
width={100}
|
|
||||||
value={endDate}
|
|
||||||
onChange={(v) => {
|
|
||||||
let endDate = "";
|
|
||||||
if (v != "" && v != undefined) {
|
|
||||||
endDate = moment(v).format("YYYY-MM");
|
|
||||||
}
|
|
||||||
this.setState({ endDate });
|
|
||||||
this.handleFetchCumDeductDetailList(
|
|
||||||
startDate,
|
|
||||||
endDate,
|
|
||||||
currentRecord.taxAgentId
|
|
||||||
);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</Col>
|
|
||||||
</Row>
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<WeaTable
|
|
||||||
rowKey="id"
|
|
||||||
rowSelection={rowSelection}
|
|
||||||
columns={newColumns}
|
|
||||||
dataSource={slideTableDataSource}
|
|
||||||
pagination={pagination}
|
|
||||||
loading={slideLoading}
|
|
||||||
scroll={{ x: newColumns ? newColumns.length * 150 : 900 }}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
.cumDeductSlide {
|
|
||||||
.topLabelBar {
|
|
||||||
padding: 10px 20px;
|
|
||||||
height: 40px;
|
|
||||||
line-height: 40px;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
.formLabel {
|
|
||||||
margin-right: 10px;
|
|
||||||
}
|
|
||||||
.weaRangePickerWrapper {
|
|
||||||
display: inline-block;
|
|
||||||
.monthPickerWrapper {
|
|
||||||
width: 100px;
|
|
||||||
display: inline-block;
|
|
||||||
}
|
|
||||||
.betweenLable {
|
|
||||||
margin-left: 10px;
|
|
||||||
margin-right: 10px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,64 +0,0 @@
|
||||||
.slideOuterWrapper {
|
|
||||||
.wea-slide-modal-title {
|
|
||||||
height: initial;
|
|
||||||
line-height: initial;
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
.rodal-close {
|
|
||||||
z-index: 99;
|
|
||||||
top: 10px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.linkWapper {
|
|
||||||
a {
|
|
||||||
color: #4d7ad8;
|
|
||||||
margin-right: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
i {
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
a:hover {
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.moreIconWrapper {
|
|
||||||
.ant-popover-inner {
|
|
||||||
min-width: 106px
|
|
||||||
}
|
|
||||||
|
|
||||||
.ant-popover-inner-content {
|
|
||||||
padding: 0;
|
|
||||||
|
|
||||||
.ant-menu {
|
|
||||||
.ant-menu-item {
|
|
||||||
border-right: none;
|
|
||||||
height: 30px;
|
|
||||||
line-height: 30px;
|
|
||||||
text-align: center;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (min-width: 1260px) {
|
|
||||||
.slideOuterWrapper {
|
|
||||||
.reqTopWrapper .wea-new-top-req-title > div:first-child > div {
|
|
||||||
max-width: 100% !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (min-width: 1060px) and (max-width: 1260px) {
|
|
||||||
.slideOuterWrapper {
|
|
||||||
.reqTopWrapper .wea-new-top-req-title > div:first-child > div {
|
|
||||||
max-width: calc(100% - 96px) !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -0,0 +1,160 @@
|
||||||
|
/*
|
||||||
|
* Author: 黎永顺
|
||||||
|
* name: 数据采集-列表
|
||||||
|
* Description:
|
||||||
|
* Date: 2023/2/17
|
||||||
|
*/
|
||||||
|
import React, { Component } from "react";
|
||||||
|
import UnifiedTable from "../../components/UnifiedTable";
|
||||||
|
import { getTableDate } from "../../apis/cumDeduct";
|
||||||
|
import { Menu, Popover } from "antd";
|
||||||
|
|
||||||
|
class DataTables extends Component {
|
||||||
|
constructor(props) {
|
||||||
|
super(props);
|
||||||
|
this.state = {
|
||||||
|
loading: {
|
||||||
|
query: false
|
||||||
|
},
|
||||||
|
dataSource: [],
|
||||||
|
columns: [],
|
||||||
|
selectedRowKeys: [],
|
||||||
|
pageInfo: {
|
||||||
|
current: 1, pageSize: 10, total: 0
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
componentDidMount() {
|
||||||
|
this.getTableDate();
|
||||||
|
}
|
||||||
|
|
||||||
|
getTableDate = (extraPayload = {}) => {
|
||||||
|
const { loading, pageInfo } = this.state;
|
||||||
|
const { url, payload } = this.props;
|
||||||
|
const module = { ...pageInfo, url, ...payload, ...extraPayload };
|
||||||
|
this.setState({ loading: { ...loading, query: true } });
|
||||||
|
getTableDate(module).then(({ status, data }) => {
|
||||||
|
this.setState({ loading: { ...loading, query: false } });
|
||||||
|
if (status) {
|
||||||
|
const { columns, list: dataSource, pageNum: current, pageSize, total } = data;
|
||||||
|
this.setState({
|
||||||
|
pageInfo: { ...pageInfo, current, pageSize, total },
|
||||||
|
dataSource,
|
||||||
|
columns
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}).catch(() => this.setState({ loading: { ...loading, query: false } }));
|
||||||
|
};
|
||||||
|
/*
|
||||||
|
* Author: 黎永顺
|
||||||
|
* Description: 清空所选
|
||||||
|
* Params:
|
||||||
|
* Date: 2023/2/20
|
||||||
|
*/
|
||||||
|
handleClearRows = () => this.setState({ selectedRowKeys: [] });
|
||||||
|
|
||||||
|
render() {
|
||||||
|
const { columns, dataSource, loading, selectedRowKeys, pageInfo } = this.state;
|
||||||
|
const { showOperateBtn, onTableOperate, onViewDetails, isSpecial = false } = this.props;
|
||||||
|
const rowSelection = {
|
||||||
|
selectedRowKeys,
|
||||||
|
onChange: (selectedRowKeys) => this.setState({ selectedRowKeys })
|
||||||
|
};
|
||||||
|
const pagination = {
|
||||||
|
...pageInfo,
|
||||||
|
showTotal: (total) => `共 ${total} 条`,
|
||||||
|
pageSizeOptions: ["10", "20", "50", "100"],
|
||||||
|
showSizeChanger: true,
|
||||||
|
showQuickJumper: true,
|
||||||
|
onShowSizeChange: (current, pageSize) => {
|
||||||
|
this.setState({
|
||||||
|
pageInfo: { ...pageInfo, current, pageSize }
|
||||||
|
}, () => {
|
||||||
|
this.getTableDate();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
onChange: (current) => {
|
||||||
|
this.setState({
|
||||||
|
pageInfo: { ...pageInfo, current }
|
||||||
|
}, () => {
|
||||||
|
this.getTableDate();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return <UnifiedTable
|
||||||
|
rowKey="id"
|
||||||
|
rowSelection={rowSelection}
|
||||||
|
columns={_.map(columns, item => {
|
||||||
|
const { dataIndex } = item;
|
||||||
|
if (dataIndex === "username") {
|
||||||
|
return {
|
||||||
|
...item,
|
||||||
|
render: (text, record) => {
|
||||||
|
return <a
|
||||||
|
className="ellipsis"
|
||||||
|
href={`javaScript:openhrm(${record.employeeId});`}
|
||||||
|
onClick={e => window.pointerXY(e)}
|
||||||
|
title={text}
|
||||||
|
>
|
||||||
|
{text}
|
||||||
|
</a>;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
} else if (dataIndex === "operate") {
|
||||||
|
return {
|
||||||
|
...item,
|
||||||
|
render: (text, record) => (
|
||||||
|
<div className="linkWapper">
|
||||||
|
{
|
||||||
|
!isSpecial &&
|
||||||
|
<React.Fragment>
|
||||||
|
<a href="javaScript:void(0);" onClick={() => onViewDetails(record)}>查看明细</a>
|
||||||
|
{
|
||||||
|
showOperateBtn &&
|
||||||
|
<Popover
|
||||||
|
overlayClassName="moreIconWrapper"
|
||||||
|
placement="bottomRight"
|
||||||
|
content={<Menu onClick={(e) => onTableOperate(e, record)}>
|
||||||
|
<Menu.Item key="handleAddData">编辑</Menu.Item>
|
||||||
|
<Menu.Item key="deleteSelectAddUpDeduction">删除</Menu.Item>
|
||||||
|
</Menu>} title="">
|
||||||
|
<i className="icon-coms-more"/>
|
||||||
|
</Popover>
|
||||||
|
}
|
||||||
|
</React.Fragment>
|
||||||
|
}
|
||||||
|
{
|
||||||
|
isSpecial &&
|
||||||
|
<React.Fragment>
|
||||||
|
{
|
||||||
|
showOperateBtn &&
|
||||||
|
<React.Fragment>
|
||||||
|
<a href="javaScript:void(0);"
|
||||||
|
onClick={() => onTableOperate({ key: "handleAddData" }, record)}>编辑</a>
|
||||||
|
<a href="javaScript:void(0);"
|
||||||
|
onClick={() => onTableOperate({ key: "deleteSelectAddUpDeduction" }, record)}>删除</a>
|
||||||
|
</React.Fragment>
|
||||||
|
}
|
||||||
|
</React.Fragment>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
return {
|
||||||
|
...item,
|
||||||
|
render: (text) => {
|
||||||
|
return <span className="ellipsis" title={text}> {text} </span>;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
})}
|
||||||
|
dataSource={dataSource}
|
||||||
|
pagination={pagination}
|
||||||
|
loading={loading.query}
|
||||||
|
/>;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default DataTables;
|
||||||
|
|
@ -1,9 +1,10 @@
|
||||||
.tipWrapper{
|
.tipWrapper {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
margin: 0 25px 20px 25px;
|
margin: 0 25px 20px 25px;
|
||||||
border: 1px solid #e5e5e5;
|
border: 1px solid #e5e5e5;
|
||||||
.title{
|
|
||||||
|
.title {
|
||||||
border-bottom: 1px solid #e5e5e5;
|
border-bottom: 1px solid #e5e5e5;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
line-height: 40px;
|
line-height: 40px;
|
||||||
|
|
@ -11,7 +12,8 @@
|
||||||
background: #f6f6f6;
|
background: #f6f6f6;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
.content{
|
|
||||||
|
.content {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
@ -19,3 +21,126 @@
|
||||||
color: #999;
|
color: #999;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.addItemsWrapper {
|
||||||
|
.baseForm {
|
||||||
|
.wea-form-cell {
|
||||||
|
padding-right: 20% !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.wea-search-group {
|
||||||
|
.wea-form-cell-wrapper {
|
||||||
|
border: 1px solid #e5e5e5;
|
||||||
|
|
||||||
|
& > div:last-child {
|
||||||
|
border-bottom: none
|
||||||
|
}
|
||||||
|
|
||||||
|
.wea-form-cell {
|
||||||
|
padding: 4px 16px;
|
||||||
|
border-bottom: 1px solid #e5e5e5;
|
||||||
|
|
||||||
|
.wea-form-item-wrapper {
|
||||||
|
line-height: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wea-form-item {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.layoutWrapper {
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
|
||||||
|
.wea-tab-left {
|
||||||
|
min-width: 600px !important;
|
||||||
|
max-width: 600px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.screenWrapper {
|
||||||
|
padding: 0;
|
||||||
|
|
||||||
|
.wea-content {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wea-form-cell {
|
||||||
|
padding: 0 16px;
|
||||||
|
|
||||||
|
.wea-date-picker {
|
||||||
|
width: 85%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.wea-helpful-tip {
|
||||||
|
padding-left: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.screenSituationWrapper {
|
||||||
|
padding: 0;
|
||||||
|
|
||||||
|
.wea-content {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wea-form-cell {
|
||||||
|
padding: 0 16px;
|
||||||
|
|
||||||
|
.wea-date-picker {
|
||||||
|
width: 70%;
|
||||||
|
|
||||||
|
input {
|
||||||
|
min-width: inherit !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.wea-helpful-tip {
|
||||||
|
padding-left: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.dataContent {
|
||||||
|
flex: 1;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.slideOuterWrapper {
|
||||||
|
.wea-slide-modal-title {
|
||||||
|
height: initial;
|
||||||
|
line-height: initial;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rodal-close {
|
||||||
|
z-index: 99;
|
||||||
|
top: 10px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 1260px) {
|
||||||
|
.slideOuterWrapper {
|
||||||
|
.reqTopWrapper .wea-new-top-req-title > div:first-child > div {
|
||||||
|
max-width: 100% !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 1060px) and (max-width: 1260px) {
|
||||||
|
.slideOuterWrapper {
|
||||||
|
.reqTopWrapper .wea-new-top-req-title > div:first-child > div {
|
||||||
|
max-width: calc(100% - 96px) !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,134 @@
|
||||||
|
/*
|
||||||
|
* Author: 黎永顺
|
||||||
|
* name: 数据采集-组件框
|
||||||
|
* Description:
|
||||||
|
* Date: 2023/2/17
|
||||||
|
*/
|
||||||
|
import React, { Component } from "react";
|
||||||
|
import { inject, observer } from "mobx-react";
|
||||||
|
import { toJS } from "mobx";
|
||||||
|
import { WeaNewScroll, WeaSlideModal, WeaTab, WeaTop } from "ecCom";
|
||||||
|
import ImportModal from "../../components/importModal";
|
||||||
|
import { modalColumns } from "./cumDeduct/columns";
|
||||||
|
import SlideModalTitle from "../../components/slideModalTitle";
|
||||||
|
import { getSearchs } from "../../util";
|
||||||
|
import "./index.less";
|
||||||
|
|
||||||
|
@inject("taxAgentStore")
|
||||||
|
@observer
|
||||||
|
class Layout extends Component {
|
||||||
|
constructor(props) {
|
||||||
|
super(props);
|
||||||
|
this.state = {
|
||||||
|
showSearchAd: false
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
componentDidMount() {
|
||||||
|
const { taxAgentStore: { fetchTaxAgentOption } } = this.props;
|
||||||
|
fetchTaxAgentOption();
|
||||||
|
window.addEventListener("resize", this.resizeUpdate);
|
||||||
|
}
|
||||||
|
|
||||||
|
componentWillReceiveProps(nextProps, nextContext) {
|
||||||
|
if (nextProps.exportPayloadUrl !== this.props.exportPayloadUrl) {
|
||||||
|
/*
|
||||||
|
* Author: 黎永顺
|
||||||
|
* Description:导出数据采集数据
|
||||||
|
* Params:
|
||||||
|
* Date: 2023/2/20
|
||||||
|
*/
|
||||||
|
window.open(nextProps.exportPayloadUrl, "_self");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
componentWillUnmount() {
|
||||||
|
window.removeEventListener("resize", this.resizeUpdate);
|
||||||
|
}
|
||||||
|
|
||||||
|
resizeUpdate = () => {
|
||||||
|
const { onResizeWindowInnerWidth } = this.props;
|
||||||
|
onResizeWindowInnerWidth(window.innerWidth);
|
||||||
|
};
|
||||||
|
|
||||||
|
render() {
|
||||||
|
const { showSearchAd } = this.state;
|
||||||
|
const {
|
||||||
|
title, btns, leftComp, children, taxAgentStore: { showOperateBtn },
|
||||||
|
slidePayload, onClose, onSave, slideLoading, form, condition,
|
||||||
|
onAdSearch, onCancel, importPayload, onImportSetStep, onImportFile,
|
||||||
|
onPreviewImport, detailOptBtns
|
||||||
|
} = this.props;
|
||||||
|
const { visible, title: subtitle, children: slideChildren } = slidePayload;
|
||||||
|
const {
|
||||||
|
visible: importVisiable, step, importFormComponent, importOpts,
|
||||||
|
importResult, slideDataSource, templateLink
|
||||||
|
} = importPayload;
|
||||||
|
return (
|
||||||
|
<div className="layoutWrapper">
|
||||||
|
<WeaTop title={title} buttons={showOperateBtn ? btns : []}
|
||||||
|
icon={<i className="icon-coms-fa"/>}
|
||||||
|
iconBgcolor="#F14A2D" showDropIcon={false}
|
||||||
|
/>
|
||||||
|
<WeaTab
|
||||||
|
searchType={["base", "advanced"]}
|
||||||
|
replaceLeft={leftComp}
|
||||||
|
searchsAd={getSearchs(form, toJS(condition), 2)}
|
||||||
|
showSearchAd={showSearchAd}
|
||||||
|
setShowSearchAd={bool => this.setState({ showSearchAd: bool })}
|
||||||
|
onAdReset={() => form.resetForm()}
|
||||||
|
onAdSearch={onAdSearch}
|
||||||
|
onSearch={onAdSearch}
|
||||||
|
onSearchChange={(v) => form.updateFields({ username: v })}
|
||||||
|
searchsBaseValue={form.getFormParams().username}
|
||||||
|
/>
|
||||||
|
<div className="dataContent">
|
||||||
|
<WeaNewScroll height="100%">{children}</WeaNewScroll>
|
||||||
|
{/*导入弹框*/}
|
||||||
|
<ImportModal
|
||||||
|
needimportSelected //下载模板需要带上导入所选项
|
||||||
|
columns={modalColumns}
|
||||||
|
params={importOpts}
|
||||||
|
step={step}
|
||||||
|
setStep={onImportSetStep}
|
||||||
|
importResult={importResult}
|
||||||
|
onFinish={() => onCancel(true)}
|
||||||
|
slideDataSource={slideDataSource}
|
||||||
|
previewImport={onPreviewImport}
|
||||||
|
importFile={onImportFile}
|
||||||
|
templateLink={templateLink}
|
||||||
|
renderFormComponent={() => importFormComponent}
|
||||||
|
visiable={importVisiable}
|
||||||
|
onCancel={onCancel}
|
||||||
|
/>
|
||||||
|
{/* 新增-编辑-详情弹框 */}
|
||||||
|
<WeaSlideModal
|
||||||
|
className="slideOuterWrapper"
|
||||||
|
visible={visible}
|
||||||
|
top={0}
|
||||||
|
measureT="%"
|
||||||
|
width={1000}
|
||||||
|
measureX="px"
|
||||||
|
height={100}
|
||||||
|
measureY="%"
|
||||||
|
direction="right"
|
||||||
|
title={
|
||||||
|
<SlideModalTitle
|
||||||
|
subtitle={subtitle}
|
||||||
|
loading={slideLoading}
|
||||||
|
onSave={onSave}
|
||||||
|
editable={subtitle.length <= 2}
|
||||||
|
showOperateBtn={showOperateBtn}
|
||||||
|
customOperate={subtitle.length <= 2 ? [] : detailOptBtns}
|
||||||
|
/>
|
||||||
|
}
|
||||||
|
content={slideChildren}
|
||||||
|
onClose={onClose}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Layout;
|
||||||
|
|
@ -65,68 +65,6 @@ export const columns = [
|
||||||
key: "title"
|
key: "title"
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
export const modalColumns = [
|
|
||||||
{
|
|
||||||
title: "姓名",
|
|
||||||
dataIndex: "username",
|
|
||||||
key: "username"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "个税扣缴义务人",
|
|
||||||
dataIndex: "taxAgentName",
|
|
||||||
key: "taxAgentName"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "部门",
|
|
||||||
dataIndex: "departmentName",
|
|
||||||
key: "departmentName"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "手机号",
|
|
||||||
dataIndex: "mobile",
|
|
||||||
key: "mobile"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "工号",
|
|
||||||
dataIndex: "jobNum",
|
|
||||||
key: "jobNum"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "证件号码",
|
|
||||||
dataIndex: "idNo",
|
|
||||||
key: "idNo"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "入职日期",
|
|
||||||
dataIndex: "hiredate",
|
|
||||||
key: "hiredate"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "商业健康保险",
|
|
||||||
dataIndex: "businessHealthyInsurance",
|
|
||||||
key: "businessHealthyInsurance"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "税延养老保险",
|
|
||||||
dataIndex: "taxDelayEndowmentInsurance",
|
|
||||||
key: "taxDelayEndowmentInsurance"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "其他",
|
|
||||||
dataIndex: "otherDeduction",
|
|
||||||
key: "otherDeduction"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "准予扣除的捐赠额",
|
|
||||||
dataIndex: "deductionAllowedDonation",
|
|
||||||
key: "deductionAllowedDonation"
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
export const dataSource = [];
|
|
||||||
|
|
||||||
export const dataCollectCondition = [
|
export const dataCollectCondition = [
|
||||||
{
|
{
|
||||||
items: [
|
items: [
|
||||||
|
|
|
||||||
|
|
@ -1,213 +0,0 @@
|
||||||
import React from "react";
|
|
||||||
import { Col, DatePicker, Row } from "antd";
|
|
||||||
import { inject, observer } from "mobx-react";
|
|
||||||
import { WeaTable } from "ecCom";
|
|
||||||
import "./editSlideContent.less";
|
|
||||||
import moment from "moment";
|
|
||||||
|
|
||||||
const { MonthPicker } = DatePicker;
|
|
||||||
|
|
||||||
let emptyItem = {
|
|
||||||
incomeLowerLimit: "0.00",
|
|
||||||
incomeUpperLimit: "0.00",
|
|
||||||
dutyFreeValue: "0.00",
|
|
||||||
dutyFreeRate: "0.00",
|
|
||||||
taxableIncomeLl: "0.00",
|
|
||||||
taxableIncomeUl: "0.00",
|
|
||||||
taxRate: "0.00",
|
|
||||||
taxDeduction: "0.00"
|
|
||||||
};
|
|
||||||
|
|
||||||
@inject("otherDeductStore", "taxAgentStore")
|
|
||||||
@observer
|
|
||||||
export default class EditSlideContent extends React.Component {
|
|
||||||
constructor(props) {
|
|
||||||
super(props);
|
|
||||||
this.state = {
|
|
||||||
taxAgentId: "",
|
|
||||||
startDate: "",
|
|
||||||
endDate: "",
|
|
||||||
editable:
|
|
||||||
this.props.editable === undefined ? "true" : this.props.editable
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
componentWillMount() {
|
|
||||||
// 初始化渲染页面
|
|
||||||
const {
|
|
||||||
taxAgentStore: { fetchTaxAgentOption }
|
|
||||||
} = this.props;
|
|
||||||
fetchTaxAgentOption();
|
|
||||||
}
|
|
||||||
|
|
||||||
addItem() {
|
|
||||||
const {
|
|
||||||
taxRateStore: { setDataSource }
|
|
||||||
} = this.props;
|
|
||||||
let dataSource = [...this.props.taxRateStore.dataSource];
|
|
||||||
let indexNum = 1;
|
|
||||||
if (dataSource.length > 0) {
|
|
||||||
indexNum = dataSource[dataSource.length - 1].indexNum + 1;
|
|
||||||
}
|
|
||||||
let item = { ...emptyItem };
|
|
||||||
item.indexNum = indexNum;
|
|
||||||
dataSource.push(item);
|
|
||||||
setDataSource(dataSource);
|
|
||||||
}
|
|
||||||
|
|
||||||
fetchCumDeductDetailList(param) {
|
|
||||||
const { otherDeductStore } = this.props;
|
|
||||||
const { getOtherDeductDetailList, currentRecord } = otherDeductStore;
|
|
||||||
getOtherDeductDetailList(currentRecord.id, param);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 日期格式变化加载数据
|
|
||||||
handleFetchCumDeductDetailList(startDate, endDate, taxAgentId) {
|
|
||||||
let declareMonth = [];
|
|
||||||
if (startDate != "" && startDate != undefined) {
|
|
||||||
declareMonth.push(startDate);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (endDate != "" && endDate != undefined) {
|
|
||||||
declareMonth.push(endDate);
|
|
||||||
}
|
|
||||||
let item = {
|
|
||||||
taxAgentId: taxAgentId
|
|
||||||
};
|
|
||||||
if (declareMonth.length != 0) {
|
|
||||||
item.declareMonth = declareMonth;
|
|
||||||
}
|
|
||||||
this.fetchCumDeductDetailList(item);
|
|
||||||
}
|
|
||||||
|
|
||||||
onSelectChange = (val) => {
|
|
||||||
const { onChangeSlideSelectKey } = this.props;
|
|
||||||
onChangeSlideSelectKey && onChangeSlideSelectKey(val);
|
|
||||||
};
|
|
||||||
|
|
||||||
render() {
|
|
||||||
const { otherDeductStore } = this.props;
|
|
||||||
const {
|
|
||||||
getOtherDeductDetailList,
|
|
||||||
currentRecord,
|
|
||||||
slideColumns,
|
|
||||||
slidePageObj,
|
|
||||||
slideTableDataSource,
|
|
||||||
setSlidePageObj,
|
|
||||||
slideLoading
|
|
||||||
} = otherDeductStore;
|
|
||||||
const { startDate, endDate, taxAgentId } = this.state;
|
|
||||||
const declareMonth = [startDate, endDate];
|
|
||||||
|
|
||||||
const pagination = {
|
|
||||||
current: slidePageObj.current,
|
|
||||||
pageSize: slidePageObj.pageSize,
|
|
||||||
total: slidePageObj.total,
|
|
||||||
showTotal: (total) => `共 ${total} 条`,
|
|
||||||
showSizeChanger: true,
|
|
||||||
onShowSizeChange(current, pageSize) {
|
|
||||||
setSlidePageObj({ ...slidePageObj, current, pageSize });
|
|
||||||
getOtherDeductDetailList(currentRecord.id, {
|
|
||||||
...slidePageObj,
|
|
||||||
current,
|
|
||||||
pageSize,
|
|
||||||
declareMonth: _.filter(declareMonth, item => item)
|
|
||||||
});
|
|
||||||
},
|
|
||||||
onChange(current) {
|
|
||||||
setSlidePageObj({
|
|
||||||
...slidePageObj,
|
|
||||||
current, taxAgentId: currentRecord.taxAgentId,
|
|
||||||
pageSize: slidePageObj.pageSize
|
|
||||||
});
|
|
||||||
getOtherDeductDetailList(currentRecord.id, {
|
|
||||||
...slidePageObj,
|
|
||||||
current, taxAgentId: currentRecord.taxAgentId,
|
|
||||||
declareMonth: _.filter(declareMonth, item => item)
|
|
||||||
});
|
|
||||||
}
|
|
||||||
};
|
|
||||||
const newColumns = _.map([...slideColumns], (item) => ({ ...item }));
|
|
||||||
const rowSelection = {
|
|
||||||
selectedRowKeys: this.props.slideSelectedKey,
|
|
||||||
onChange: this.onSelectChange
|
|
||||||
};
|
|
||||||
return (
|
|
||||||
<div className="cumDeductSlide">
|
|
||||||
<Row className="topLabelBar">
|
|
||||||
<Col span={4}>
|
|
||||||
<span className="username">{currentRecord.username}</span>
|
|
||||||
</Col>
|
|
||||||
<Col span={12}>
|
|
||||||
<span className="formLabel">税款所属期</span>
|
|
||||||
<div className="weaRangePickerWrapper">
|
|
||||||
<div className="monthPickerWrapper">
|
|
||||||
<MonthPicker
|
|
||||||
width={100}
|
|
||||||
format="YYYY-MM"
|
|
||||||
value={startDate}
|
|
||||||
onChange={(v) => {
|
|
||||||
let startDate = "";
|
|
||||||
if (v != "" && v != undefined) {
|
|
||||||
startDate = moment(v).format("YYYY-MM");
|
|
||||||
}
|
|
||||||
this.setState({ startDate });
|
|
||||||
this.handleFetchCumDeductDetailList(
|
|
||||||
startDate,
|
|
||||||
endDate,
|
|
||||||
taxAgentId
|
|
||||||
);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<span className="betweenLable">至</span>
|
|
||||||
<div className="monthPickerWrapper">
|
|
||||||
<MonthPicker
|
|
||||||
width={100}
|
|
||||||
value={endDate}
|
|
||||||
onChange={(v) => {
|
|
||||||
let endDate = "";
|
|
||||||
if (v != "" && v != undefined) {
|
|
||||||
endDate = moment(v).format("YYYY-MM");
|
|
||||||
}
|
|
||||||
this.setState({ endDate });
|
|
||||||
this.handleFetchCumDeductDetailList(
|
|
||||||
startDate,
|
|
||||||
endDate,
|
|
||||||
currentRecord.taxAgentId
|
|
||||||
);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</Col>
|
|
||||||
{/*<Col span={8}>*/}
|
|
||||||
{/* <span className="formLabel">个税扣缴义务人</span>*/}
|
|
||||||
{/* <WeaSelect*/}
|
|
||||||
{/* showSearch // 设置select可搜索*/}
|
|
||||||
{/* style={{ width: 100 }}*/}
|
|
||||||
{/* options={taxAgentOption}*/}
|
|
||||||
{/* value={taxAgentId}*/}
|
|
||||||
{/* onChange={(v) => {*/}
|
|
||||||
{/* this.setState({ taxAgentId: v });*/}
|
|
||||||
{/* this.handleFetchCumDeductDetailList(startDate, endDate, v);*/}
|
|
||||||
{/* }}*/}
|
|
||||||
{/* />*/}
|
|
||||||
{/*</Col>*/}
|
|
||||||
</Row>
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<WeaTable
|
|
||||||
rowKey="id"
|
|
||||||
rowSelection={rowSelection}
|
|
||||||
columns={newColumns}
|
|
||||||
dataSource={slideTableDataSource}
|
|
||||||
pagination={pagination}
|
|
||||||
loading={slideLoading}
|
|
||||||
scroll={{ x: 900 }}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
.cumDeductSlide {
|
|
||||||
.topLabelBar {
|
|
||||||
padding: 10px 20px;
|
|
||||||
height: 40px;
|
|
||||||
line-height: 40px;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
.formLabel {
|
|
||||||
margin-right: 10px;
|
|
||||||
}
|
|
||||||
.weaRangePickerWrapper {
|
|
||||||
display: inline-block;
|
|
||||||
.monthPickerWrapper {
|
|
||||||
width: 100px;
|
|
||||||
display: inline-block;
|
|
||||||
}
|
|
||||||
.betweenLable {
|
|
||||||
margin-left: 10px;
|
|
||||||
margin-right: 10px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,25 +0,0 @@
|
||||||
import React, { Component } from "react";
|
|
||||||
import { Form } from "antd";
|
|
||||||
import { WeaSelect } from "ecCom";
|
|
||||||
import { optionAddWhole } from "../../../../util/options";
|
|
||||||
|
|
||||||
class InlineForm extends Component {
|
|
||||||
|
|
||||||
render() {
|
|
||||||
const { taxAgentOption = [], form, onChange } = this.props;
|
|
||||||
return (
|
|
||||||
<Form inline>
|
|
||||||
<Form.Item label="个税扣缴义务人">
|
|
||||||
<WeaSelect
|
|
||||||
style={{ width: 200 }}
|
|
||||||
showSearch // 设置select可搜索
|
|
||||||
options={optionAddWhole(taxAgentOption)}
|
|
||||||
{...form.getFieldProps("taxAgentId", { initialValue: "", onChange })}
|
|
||||||
/>
|
|
||||||
</Form.Item>
|
|
||||||
</Form>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export default Form.create()(InlineForm);
|
|
||||||
|
|
@ -1,87 +0,0 @@
|
||||||
import React, { Component } from "react";
|
|
||||||
import { WeaTable } from "ecCom";
|
|
||||||
import * as API from "../../../../apis/special";
|
|
||||||
|
|
||||||
class SpecialAddContent extends Component {
|
|
||||||
constructor(props) {
|
|
||||||
super(props);
|
|
||||||
this.state = {
|
|
||||||
dataSource: [],
|
|
||||||
columns: [],
|
|
||||||
loading: {
|
|
||||||
query: false
|
|
||||||
},
|
|
||||||
selectedRowKeys: [],
|
|
||||||
pageInfo: {
|
|
||||||
current: 1,
|
|
||||||
pageSize: 10,
|
|
||||||
total: 0
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
componentWillReceiveProps(nextProps, nextContext) {
|
|
||||||
if (nextProps.specialId !== this.props.specialId) {
|
|
||||||
nextProps.specialId && this.specialAddDeductionGetDetailList({ specialAddDeductionId: nextProps.specialId });
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
specialAddDeductionGetDetailList = (payload) => {
|
|
||||||
this.setState({ loading: { ...this.state.loading, query: true } });
|
|
||||||
API.specialAddDeductionGetDetailList(payload).then(({ status, data }) => {
|
|
||||||
this.setState({ loading: { ...this.state.loading, query: false } });
|
|
||||||
if (status) {
|
|
||||||
const { columns, list: dataSource, pageSize, pageNum, total } = data;
|
|
||||||
this.setState({
|
|
||||||
columns, dataSource,
|
|
||||||
pageInfo: {
|
|
||||||
...this.pageInfo,
|
|
||||||
pageSize, pageNum, total
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
render() {
|
|
||||||
const { columns, dataSource, pageInfo, selectedRowKeys, loading } = this.state;
|
|
||||||
const { specialId } = this.props;
|
|
||||||
const pagination = {
|
|
||||||
...pageInfo,
|
|
||||||
showTotal: (total) => `共 ${total} 条`,
|
|
||||||
pageSizeOptions: ["10", "20", "50", "100"],
|
|
||||||
showSizeChanger: true,
|
|
||||||
showQuickJumper: true,
|
|
||||||
onShowSizeChange: (current, pageSize) => {
|
|
||||||
this.setState({
|
|
||||||
pageInfo: { ...pageInfo, current, pageSize }
|
|
||||||
}, () => {
|
|
||||||
this.specialAddDeductionGetDetailList({ specialAddDeductionId: specialId, current, pageSize });
|
|
||||||
});
|
|
||||||
},
|
|
||||||
onChange: (current) => {
|
|
||||||
this.setState({
|
|
||||||
pageInfo: { ...pageInfo, current }
|
|
||||||
}, () => {
|
|
||||||
this.specialAddDeductionGetDetailList({ specialAddDeductionId: specialId, current });
|
|
||||||
});
|
|
||||||
}
|
|
||||||
};
|
|
||||||
const rowSelection = {
|
|
||||||
selectedRowKeys,
|
|
||||||
onChange: (selectedRowKeys) => this.setState({ selectedRowKeys })
|
|
||||||
};
|
|
||||||
return (
|
|
||||||
<WeaTable
|
|
||||||
rowKey="id"
|
|
||||||
rowSelection={rowSelection}
|
|
||||||
columns={columns}
|
|
||||||
dataSource={dataSource}
|
|
||||||
pagination={pagination}
|
|
||||||
loading={loading.query}
|
|
||||||
/>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export default SpecialAddContent;
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,98 +0,0 @@
|
||||||
.specialAddWrapper {
|
|
||||||
height: 100%;
|
|
||||||
|
|
||||||
.wea-new-top-wapper {
|
|
||||||
.specialAddContent {
|
|
||||||
height: 100%;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
overflow: hidden;
|
|
||||||
|
|
||||||
.tableWrapper {
|
|
||||||
flex: 1;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.wea-tab-search-ad-quick {
|
|
||||||
.wea-tab-left {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.wea-tab-right {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.wea-search-container-search-ad-quick {
|
|
||||||
top: 47px !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.linkWapper {
|
|
||||||
a {
|
|
||||||
color: #4d7ad8;
|
|
||||||
margin-right: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
i {
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
a:hover {
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.moreIconWrapper {
|
|
||||||
.ant-popover-inner {
|
|
||||||
min-width: 106px
|
|
||||||
}
|
|
||||||
|
|
||||||
.ant-popover-inner-content {
|
|
||||||
padding: 0;
|
|
||||||
|
|
||||||
.ant-menu {
|
|
||||||
.ant-menu-item {
|
|
||||||
border-right: none;
|
|
||||||
height: 30px;
|
|
||||||
line-height: 30px;
|
|
||||||
text-align: center;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.specialAddSlideWrapper {
|
|
||||||
.wea-slide-modal-title {
|
|
||||||
height: initial;
|
|
||||||
line-height: initial;
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
.rodal-close {
|
|
||||||
z-index: 99;
|
|
||||||
top: 10px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (min-width: 1260px) {
|
|
||||||
.specialAddSlideWrapper {
|
|
||||||
.reqTopWrapper .wea-new-top-req-title > div:first-child > div {
|
|
||||||
max-width: 100% !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (min-width: 1060px) and (max-width: 1260px) {
|
|
||||||
.specialAddSlideWrapper {
|
|
||||||
.reqTopWrapper .wea-new-top-req-title > div:first-child > div {
|
|
||||||
max-width: calc(100% - 96px) !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -20,7 +20,6 @@ import {
|
||||||
WeaSelect,
|
WeaSelect,
|
||||||
WeaSlideModal,
|
WeaSlideModal,
|
||||||
WeaTab,
|
WeaTab,
|
||||||
WeaTable,
|
|
||||||
WeaTop
|
WeaTop
|
||||||
} from "ecCom";
|
} from "ecCom";
|
||||||
import { WeaTableNew } from "comsMobx";
|
import { WeaTableNew } from "comsMobx";
|
||||||
|
|
@ -33,6 +32,7 @@ import SlideModalTitle from "../../components/slideModalTitle";
|
||||||
import SalaryFileViewSlide from "../salaryFile/saralyFileViewSlide";
|
import SalaryFileViewSlide from "../salaryFile/saralyFileViewSlide";
|
||||||
import ChangeSalaryModal from "../salaryFile/changeSalaryModal";
|
import ChangeSalaryModal from "../salaryFile/changeSalaryModal";
|
||||||
import "./index.less";
|
import "./index.less";
|
||||||
|
import UnifiedTable from "../../components/UnifiedTable";
|
||||||
|
|
||||||
const WeaTableComx = WeaTableNew.WeaTable;
|
const WeaTableComx = WeaTableNew.WeaTable;
|
||||||
|
|
||||||
|
|
@ -445,29 +445,19 @@ class Index extends Component {
|
||||||
return [];
|
return [];
|
||||||
};
|
};
|
||||||
getColumns = () => {
|
getColumns = () => {
|
||||||
const { pageInfo, selectedKey } = this.state;
|
const { selectedKey } = this.state;
|
||||||
const { payrollFilesStore: { tableStore }, taxAgentStore: { showOperateBtn } } = this.props;
|
const { payrollFilesStore: { tableStore }, taxAgentStore: { showOperateBtn } } = this.props;
|
||||||
let columns = _.filter(toJS(tableStore.columns), (item) => item.display === "true");
|
let columns = _.filter(toJS(tableStore.columns), (item) => item.display === "true");
|
||||||
return _.map([
|
return _.map([
|
||||||
// {
|
...columns], item => {
|
||||||
// title: "序号",
|
|
||||||
// dataIndex: "index",
|
|
||||||
// align: "left",
|
|
||||||
// oldWidth: 60,
|
|
||||||
// render: (text, record, index) => {
|
|
||||||
// const { current, pageSize } = pageInfo;
|
|
||||||
// return (current - 1) * pageSize + index + 1;
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
...columns], (item, index) => {
|
|
||||||
if (item.dataIndex === "username") {
|
if (item.dataIndex === "username") {
|
||||||
return {
|
return {
|
||||||
...item,
|
...item,
|
||||||
width: item.oldWidth,
|
|
||||||
render: (text, record) => {
|
render: (text, record) => {
|
||||||
return <a
|
return <a
|
||||||
href={`javaScript:openhrm(${record.employeeId});`}
|
href={`javaScript:openhrm(${record.employeeId});`}
|
||||||
onClick={e => window.pointerXY(e)}
|
onClick={e => window.pointerXY(e)}
|
||||||
|
className="ellipsis"
|
||||||
title={text}
|
title={text}
|
||||||
>
|
>
|
||||||
{text}
|
{text}
|
||||||
|
|
@ -477,8 +467,6 @@ class Index extends Component {
|
||||||
} else if (item.dataIndex === "operate") {
|
} else if (item.dataIndex === "operate") {
|
||||||
return {
|
return {
|
||||||
...item,
|
...item,
|
||||||
fixed: "right",
|
|
||||||
width: 150,
|
|
||||||
render: (text, record) => {
|
render: (text, record) => {
|
||||||
if (!showOperateBtn) {
|
if (!showOperateBtn) {
|
||||||
return <div className="optWrapper">
|
return <div className="optWrapper">
|
||||||
|
|
@ -532,9 +520,8 @@ class Index extends Component {
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
...item,
|
...item,
|
||||||
width: item.oldWidth,
|
|
||||||
render: (text) => {
|
render: (text) => {
|
||||||
return <span className="tdEllipsis" title={text}>{text}</span>;
|
return <span className="ellipsis" title={text}>{text}</span>;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
@ -793,14 +780,25 @@ class Index extends Component {
|
||||||
/>
|
/>
|
||||||
<div className="tableWrapper">
|
<div className="tableWrapper">
|
||||||
<WeaNewScroll height="100%">
|
<WeaNewScroll height="100%">
|
||||||
<WeaTable
|
<UnifiedTable
|
||||||
loading={loading.query}
|
|
||||||
rowKey="id"
|
rowKey="id"
|
||||||
columns={this.getColumns()} dataSource={dataSource} pagination={pagination}
|
loading={loading.query}
|
||||||
// rowClassName={(record) => record.archiveStatus === "ARCHIVE" ? "archiveRow" : ""}
|
columns={this.getColumns()}
|
||||||
|
dataSource={dataSource}
|
||||||
|
pagination={pagination}
|
||||||
rowSelection={rowSelection}
|
rowSelection={rowSelection}
|
||||||
scroll={{ x: 1200 }}
|
xWidth={this.getColumns().length * 120}
|
||||||
/>
|
/>
|
||||||
|
{/*<WeaTable*/}
|
||||||
|
{/* // loading={loading.query}*/}
|
||||||
|
{/* // rowKey="id"*/}
|
||||||
|
{/* // columns={this.getColumns()}*/}
|
||||||
|
{/* // dataSource={dataSource}*/}
|
||||||
|
{/* // pagination={pagination}*/}
|
||||||
|
{/* // rowClassName={(record) => record.archiveStatus === "ARCHIVE" ? "archiveRow" : ""}*/}
|
||||||
|
{/* // rowSelection={rowSelection}*/}
|
||||||
|
{/* // scroll={{ x: 1200 }}*/}
|
||||||
|
{/*/>*/}
|
||||||
{/*人员卡片*/}
|
{/*人员卡片*/}
|
||||||
<WeaPopoverHrm/>
|
<WeaPopoverHrm/>
|
||||||
<WeaTableComx
|
<WeaTableComx
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ import React from "react";
|
||||||
import { inject, observer } from "mobx-react";
|
import { inject, observer } from "mobx-react";
|
||||||
import { toJS } from "mobx";
|
import { toJS } from "mobx";
|
||||||
import { Button, Dropdown, Menu, message, Modal, Popover } from "antd";
|
import { Button, Dropdown, Menu, message, Modal, Popover } from "antd";
|
||||||
import { WeaHelpfulTip, WeaSlideModal, WeaTab, WeaTable, WeaTop, WeaNewScroll } from "ecCom";
|
import { WeaHelpfulTip, WeaNewScroll, WeaSlideModal, WeaTab, WeaTop } from "ecCom";
|
||||||
import { getSearchs, renderLoading } from "../../../util";
|
import { getSearchs, renderLoading } from "../../../util";
|
||||||
import BaseForm from "./baseForm";
|
import BaseForm from "./baseForm";
|
||||||
import SlideModalTitle from "../../../components/slideModalTitle";
|
import SlideModalTitle from "../../../components/slideModalTitle";
|
||||||
|
|
@ -13,6 +13,7 @@ import { tabCondition } from "./config";
|
||||||
import * as API from "../../../apis/welfareArchive";
|
import * as API from "../../../apis/welfareArchive";
|
||||||
import ImportModal from "../../../components/importModal";
|
import ImportModal from "../../../components/importModal";
|
||||||
import TipLabel from "../../../components/TipLabel";
|
import TipLabel from "../../../components/TipLabel";
|
||||||
|
import UnifiedTable from "../../../components/UnifiedTable";
|
||||||
import "./index.less";
|
import "./index.less";
|
||||||
|
|
||||||
@inject("archivesStore", "taxAgentStore")
|
@inject("archivesStore", "taxAgentStore")
|
||||||
|
|
@ -104,40 +105,20 @@ export default class Archives extends React.Component {
|
||||||
getColumns = () => {
|
getColumns = () => {
|
||||||
const { columns, pageInfo, selectedKey } = this.state;
|
const { columns, pageInfo, selectedKey } = this.state;
|
||||||
const { taxAgentStore: { showOperateBtn } } = this.props;
|
const { taxAgentStore: { showOperateBtn } } = this.props;
|
||||||
let tmpV = _.map(columns.filter(item => item.display === "TRUE"), (item, index) => {
|
let tmpV = _.map(columns.filter(item => item.display === "TRUE"), item => {
|
||||||
if (index === 0) {
|
|
||||||
return {
|
|
||||||
...item, dataIndex: item.column,
|
|
||||||
fixed: "left",
|
|
||||||
title: item.text
|
|
||||||
};
|
|
||||||
}
|
|
||||||
return {
|
return {
|
||||||
...item,
|
...item,
|
||||||
dataIndex:
|
dataIndex: item.column,
|
||||||
item.column,
|
|
||||||
title: item.text,
|
title: item.text,
|
||||||
render: (text) => {
|
render: (text) => {
|
||||||
return <span className="tdEllipsis" title={text}>{text}</span>;
|
return <span className="ellipsis" title={text}>{text}</span>;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
return tmpV.length > 0 ? [
|
return tmpV.length > 0 ? [
|
||||||
// {
|
|
||||||
// title: "序号",
|
|
||||||
// dataIndex: "index",
|
|
||||||
// width: 60,
|
|
||||||
// fixed: "left",
|
|
||||||
// render: (text, record, index) => {
|
|
||||||
// const { current, pageSize } = pageInfo;
|
|
||||||
// return (current - 1) * pageSize + index + 1;
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
...tmpV, {
|
...tmpV, {
|
||||||
title: "操作",
|
title: "操作",
|
||||||
dataIndex: "operate",
|
dataIndex: "operate",
|
||||||
fixed: "right",
|
|
||||||
width: "120px",
|
|
||||||
render: (text, record) => {
|
render: (text, record) => {
|
||||||
return (
|
return (
|
||||||
<div className="optWrapper">
|
<div className="optWrapper">
|
||||||
|
|
@ -749,12 +730,14 @@ export default class Archives extends React.Component {
|
||||||
/>
|
/>
|
||||||
<div className="tableWrapper">
|
<div className="tableWrapper">
|
||||||
<WeaNewScroll height="100%">
|
<WeaNewScroll height="100%">
|
||||||
<WeaTable
|
<UnifiedTable
|
||||||
loading={loading.query}
|
loading={loading.query}
|
||||||
rowKey="baseInfo"
|
rowKey="baseInfo"
|
||||||
columns={this.getColumns()} dataSource={dataSourceActive} pagination={pagination}
|
columns={this.getColumns()}
|
||||||
|
dataSource={dataSourceActive}
|
||||||
|
pagination={pagination}
|
||||||
rowSelection={rowSelection}
|
rowSelection={rowSelection}
|
||||||
scroll={{ x: 1200 }}
|
xWidth={this.getColumns().length * 120}
|
||||||
/>
|
/>
|
||||||
{
|
{
|
||||||
!_.isEmpty(this.getColumns()) &&
|
!_.isEmpty(this.getColumns()) &&
|
||||||
|
|
|
||||||
|
|
@ -2,15 +2,15 @@ import React from "react";
|
||||||
import { inject, observer } from "mobx-react";
|
import { inject, observer } from "mobx-react";
|
||||||
import { Button, DatePicker, Dropdown, Menu, message, Modal } from "antd";
|
import { Button, DatePicker, Dropdown, Menu, message, Modal } from "antd";
|
||||||
import { WeaNewScroll, WeaTop } from "ecCom";
|
import { WeaNewScroll, WeaTop } from "ecCom";
|
||||||
import { renderNoright } from "../../../util"; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
|
import { renderNoright } from "../../../util";
|
||||||
import Accountdialog from "./components/accountDialog";
|
import Accountdialog from "./components/accountDialog";
|
||||||
import AbnormalDrawer from "./components/abnormalDrawer";
|
import AbnormalDrawer from "./components/abnormalDrawer";
|
||||||
import CustomPaginationTable from "../../../components/customPaginationTable";
|
|
||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import ProgressModal from "../../../components/progressModal";
|
import ProgressModal from "../../../components/progressModal";
|
||||||
import { getCalculateProgress } from "../../../apis/calculate";
|
import { getCalculateProgress } from "../../../apis/calculate";
|
||||||
import "./index.less";
|
import "./index.less";
|
||||||
|
import UnifiedTable from "../../../components/UnifiedTable";
|
||||||
|
|
||||||
const MonthPicker = DatePicker.MonthPicker;
|
const MonthPicker = DatePicker.MonthPicker;
|
||||||
|
|
||||||
|
|
@ -138,9 +138,8 @@ export default class StandingBook extends React.Component {
|
||||||
...columns,
|
...columns,
|
||||||
{
|
{
|
||||||
title: "操作",
|
title: "操作",
|
||||||
dataIndex: "action",
|
dataIndex: "operate",
|
||||||
key: "action",
|
key: "operate",
|
||||||
fixed: "right",
|
|
||||||
render: (text, r) => {
|
render: (text, r) => {
|
||||||
const { billStatus, billMonth, creator } = r;
|
const { billStatus, billMonth, creator } = r;
|
||||||
return (
|
return (
|
||||||
|
|
@ -441,6 +440,22 @@ export default class StandingBook extends React.Component {
|
||||||
核算
|
核算
|
||||||
</Button>
|
</Button>
|
||||||
];
|
];
|
||||||
|
const pagination = {
|
||||||
|
...this.pageInfo,
|
||||||
|
total: total,
|
||||||
|
showTotal: (total) => `共 ${total} 条`,
|
||||||
|
pageSizeOptions: ["10", "20", "50", "100"],
|
||||||
|
showSizeChanger: true,
|
||||||
|
showQuickJumper: true,
|
||||||
|
onShowSizeChange: (current, pageSize) => {
|
||||||
|
this.pageInfo = { ...this.pageInfo, current, pageSize };
|
||||||
|
this.handleShowSizeChange(this.pageInfo);
|
||||||
|
},
|
||||||
|
onChange: (current) => {
|
||||||
|
this.pageInfo = { ...this.pageInfo, current };
|
||||||
|
this.handleShowSizeChange(this.pageInfo);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="standingbookWrapper">
|
<div className="standingbookWrapper">
|
||||||
|
|
@ -472,31 +487,22 @@ export default class StandingBook extends React.Component {
|
||||||
</div>
|
</div>
|
||||||
<div className="tableWrapper">
|
<div className="tableWrapper">
|
||||||
<WeaNewScroll height="100%">
|
<WeaNewScroll height="100%">
|
||||||
<CustomPaginationTable
|
<UnifiedTable
|
||||||
loading={loading}
|
loading={loading}
|
||||||
columns={_.filter(columns, (it) => it.dataIndex !== "id").map(item => {
|
columns={_.filter(columns, (it) => it.dataIndex !== "id").map(item => {
|
||||||
item.width = "150px";
|
if (item.dataIndex !== "operate") {
|
||||||
if (item.dataIndex === "billMonth") item.fixed = "left";
|
return {
|
||||||
if (item.dataIndex === "action") return { ...item };
|
...item,
|
||||||
return {
|
render: (text) => {
|
||||||
...item,
|
return <span className="ellipsis" title={text}>{text}</span>;
|
||||||
render: (text) => {
|
}
|
||||||
return <span className="tdEllipsis" title={text}>{text}</span>;
|
};
|
||||||
}
|
}
|
||||||
};
|
return { ...item };
|
||||||
})}
|
})}
|
||||||
dataSource={list}
|
dataSource={list}
|
||||||
total={total}
|
pagination={pagination}
|
||||||
current={this.state.current}
|
xWidth={columns.length * 120}
|
||||||
pageSize={this.pageInfo.pageSize}
|
|
||||||
onPageChange={(current) => {
|
|
||||||
this.handleShowSizeChange({ ...this.pageInfo, current });
|
|
||||||
}}
|
|
||||||
onShowSizeChange={(current, pageSize) => {
|
|
||||||
this.pageInfo = { current, pageSize };
|
|
||||||
this.handleShowSizeChange(this.pageInfo);
|
|
||||||
}}
|
|
||||||
scroll={{ x: 2300 }}
|
|
||||||
/>
|
/>
|
||||||
</WeaNewScroll>
|
</WeaNewScroll>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue