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 { postFetch } from '../util/request';
|
||||
import { postFetch } from "../util/request";
|
||||
|
||||
//数据采集-累计专项附加扣除列表
|
||||
export const getCumDeductList = (params) => {
|
||||
|
|
@ -7,9 +7,9 @@ export const getCumDeductList = (params) => {
|
|||
method: "POST",
|
||||
mode: "cors",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
"Content-Type": "application/json"
|
||||
},
|
||||
body: JSON.stringify(params),
|
||||
body: JSON.stringify(params)
|
||||
}).then((res) => res.json());
|
||||
};
|
||||
|
||||
|
|
@ -52,9 +52,9 @@ export const getCumDeductDetailList = (params) => {
|
|||
method: "POST",
|
||||
mode: "cors",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
"Content-Type": "application/json"
|
||||
},
|
||||
body: JSON.stringify(params),
|
||||
body: JSON.stringify(params)
|
||||
}).then((res) => res.json());
|
||||
};
|
||||
|
||||
|
|
@ -62,9 +62,9 @@ export const getCumDeductDetailList = (params) => {
|
|||
export const exportCumDeductDetailList = (id, ids = "") => {
|
||||
fetch(
|
||||
"/api/bs/hrmsalary/addUpDeduction/exportDetail?accumulatedSpecialAdditionalDeductionId=" +
|
||||
id +
|
||||
"&ids=" +
|
||||
ids+ "&taxAgentId=" + taxAgentId
|
||||
id +
|
||||
"&ids=" +
|
||||
ids + "&taxAgentId=" + taxAgentId
|
||||
).then((res) =>
|
||||
res.blob().then((blob) => {
|
||||
var filename = `累计专项附加扣除.xlsx`;
|
||||
|
|
@ -84,9 +84,9 @@ export const importCumDeductParam = (params) => {
|
|||
method: "POST",
|
||||
mode: "cors",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
"Content-Type": "application/json"
|
||||
},
|
||||
body: JSON.stringify(params),
|
||||
body: JSON.stringify(params)
|
||||
}).then((res) => res.json());
|
||||
};
|
||||
|
||||
|
|
@ -96,34 +96,44 @@ export const importCumDeductPreview = (params) => {
|
|||
method: "POST",
|
||||
mode: "cors",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
"Content-Type": "application/json"
|
||||
},
|
||||
body: JSON.stringify(params),
|
||||
body: JSON.stringify(params)
|
||||
}).then((res) => res.json());
|
||||
};
|
||||
|
||||
|
||||
//新增累计专项附加扣除
|
||||
export const createAddUpDeduction = (params) => {
|
||||
return postFetch('/api/bs/hrmsalary/addUpDeduction/createAddUpDeduction', params);
|
||||
}
|
||||
return postFetch("/api/bs/hrmsalary/addUpDeduction/createAddUpDeduction", 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) => {
|
||||
return postFetch('/api/bs/hrmsalary/addUpDeduction/editAddUpDeduction', params);
|
||||
}
|
||||
return postFetch("/api/bs/hrmsalary/addUpDeduction/editAddUpDeduction", 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) => {
|
||||
return postFetch('/api/bs/hrmsalary/addUpDeduction/deleteAllAddUpDeduction', params);
|
||||
}
|
||||
return postFetch("/api/bs/hrmsalary/addUpDeduction/deleteAllAddUpDeduction", 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) {
|
||||
if (nextProps.editId !== this.props.editId) {
|
||||
this.setState({
|
||||
baseInfo: {
|
||||
...this.state.baseInfo,
|
||||
declareMonth: nextProps.editId.declareMonth,
|
||||
declareMonth: nextProps.editId.declareMonth || nextProps.editId.taxYearMonth,
|
||||
taxAgentId: nextProps.editId.taxAgentId,
|
||||
taxAgentName: nextProps.editId.taxAgentName,
|
||||
employeeId: nextProps.editId.employeeId,
|
||||
|
|
@ -165,9 +186,10 @@ class AddItems extends Component {
|
|||
return (
|
||||
<div className="addItemsWrapper">
|
||||
<WeaSearchGroup
|
||||
className="baseForm"
|
||||
title="基础信息"
|
||||
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)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
}
|
||||
];
|
||||
|
||||
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 = [
|
||||
{
|
||||
items: [
|
||||
|
|
@ -353,11 +226,10 @@ export const dataCollectCondition = [
|
|||
defaultshow: true
|
||||
}
|
||||
];
|
||||
|
||||
export const taxOptions = [
|
||||
{
|
||||
key: "01",
|
||||
showname: "一月",
|
||||
showname: "一月"
|
||||
},
|
||||
{
|
||||
key: "02",
|
||||
|
|
@ -402,5 +274,5 @@ export const taxOptions = [
|
|||
{
|
||||
key: "12",
|
||||
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;
|
||||
flex-direction: column;
|
||||
margin: 0 25px 20px 25px;
|
||||
border: 1px solid #e5e5e5;
|
||||
.title{
|
||||
|
||||
.title {
|
||||
border-bottom: 1px solid #e5e5e5;
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
|
|
@ -11,7 +12,8 @@
|
|||
background: #f6f6f6;
|
||||
font-size: 14px;
|
||||
}
|
||||
.content{
|
||||
|
||||
.content {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
|
@ -19,3 +21,126 @@
|
|||
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"
|
||||
}
|
||||
];
|
||||
|
||||
|
||||
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 = [
|
||||
{
|
||||
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,
|
||||
WeaSlideModal,
|
||||
WeaTab,
|
||||
WeaTable,
|
||||
WeaTop
|
||||
} from "ecCom";
|
||||
import { WeaTableNew } from "comsMobx";
|
||||
|
|
@ -33,6 +32,7 @@ import SlideModalTitle from "../../components/slideModalTitle";
|
|||
import SalaryFileViewSlide from "../salaryFile/saralyFileViewSlide";
|
||||
import ChangeSalaryModal from "../salaryFile/changeSalaryModal";
|
||||
import "./index.less";
|
||||
import UnifiedTable from "../../components/UnifiedTable";
|
||||
|
||||
const WeaTableComx = WeaTableNew.WeaTable;
|
||||
|
||||
|
|
@ -445,29 +445,19 @@ class Index extends Component {
|
|||
return [];
|
||||
};
|
||||
getColumns = () => {
|
||||
const { pageInfo, selectedKey } = this.state;
|
||||
const { selectedKey } = this.state;
|
||||
const { payrollFilesStore: { tableStore }, taxAgentStore: { showOperateBtn } } = this.props;
|
||||
let columns = _.filter(toJS(tableStore.columns), (item) => item.display === "true");
|
||||
return _.map([
|
||||
// {
|
||||
// title: "序号",
|
||||
// dataIndex: "index",
|
||||
// align: "left",
|
||||
// oldWidth: 60,
|
||||
// render: (text, record, index) => {
|
||||
// const { current, pageSize } = pageInfo;
|
||||
// return (current - 1) * pageSize + index + 1;
|
||||
// }
|
||||
// },
|
||||
...columns], (item, index) => {
|
||||
...columns], item => {
|
||||
if (item.dataIndex === "username") {
|
||||
return {
|
||||
...item,
|
||||
width: item.oldWidth,
|
||||
render: (text, record) => {
|
||||
return <a
|
||||
href={`javaScript:openhrm(${record.employeeId});`}
|
||||
onClick={e => window.pointerXY(e)}
|
||||
className="ellipsis"
|
||||
title={text}
|
||||
>
|
||||
{text}
|
||||
|
|
@ -477,8 +467,6 @@ class Index extends Component {
|
|||
} else if (item.dataIndex === "operate") {
|
||||
return {
|
||||
...item,
|
||||
fixed: "right",
|
||||
width: 150,
|
||||
render: (text, record) => {
|
||||
if (!showOperateBtn) {
|
||||
return <div className="optWrapper">
|
||||
|
|
@ -532,9 +520,8 @@ class Index extends Component {
|
|||
}
|
||||
return {
|
||||
...item,
|
||||
width: item.oldWidth,
|
||||
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">
|
||||
<WeaNewScroll height="100%">
|
||||
<WeaTable
|
||||
loading={loading.query}
|
||||
<UnifiedTable
|
||||
rowKey="id"
|
||||
columns={this.getColumns()} dataSource={dataSource} pagination={pagination}
|
||||
// rowClassName={(record) => record.archiveStatus === "ARCHIVE" ? "archiveRow" : ""}
|
||||
loading={loading.query}
|
||||
columns={this.getColumns()}
|
||||
dataSource={dataSource}
|
||||
pagination={pagination}
|
||||
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/>
|
||||
<WeaTableComx
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import React from "react";
|
|||
import { inject, observer } from "mobx-react";
|
||||
import { toJS } from "mobx";
|
||||
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 BaseForm from "./baseForm";
|
||||
import SlideModalTitle from "../../../components/slideModalTitle";
|
||||
|
|
@ -13,6 +13,7 @@ import { tabCondition } from "./config";
|
|||
import * as API from "../../../apis/welfareArchive";
|
||||
import ImportModal from "../../../components/importModal";
|
||||
import TipLabel from "../../../components/TipLabel";
|
||||
import UnifiedTable from "../../../components/UnifiedTable";
|
||||
import "./index.less";
|
||||
|
||||
@inject("archivesStore", "taxAgentStore")
|
||||
|
|
@ -104,40 +105,20 @@ export default class Archives extends React.Component {
|
|||
getColumns = () => {
|
||||
const { columns, pageInfo, selectedKey } = this.state;
|
||||
const { taxAgentStore: { showOperateBtn } } = this.props;
|
||||
let tmpV = _.map(columns.filter(item => item.display === "TRUE"), (item, index) => {
|
||||
if (index === 0) {
|
||||
return {
|
||||
...item, dataIndex: item.column,
|
||||
fixed: "left",
|
||||
title: item.text
|
||||
};
|
||||
}
|
||||
let tmpV = _.map(columns.filter(item => item.display === "TRUE"), item => {
|
||||
return {
|
||||
...item,
|
||||
dataIndex:
|
||||
item.column,
|
||||
dataIndex: item.column,
|
||||
title: item.text,
|
||||
render: (text) => {
|
||||
return <span className="tdEllipsis" title={text}>{text}</span>;
|
||||
return <span className="ellipsis" title={text}>{text}</span>;
|
||||
}
|
||||
};
|
||||
});
|
||||
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, {
|
||||
title: "操作",
|
||||
dataIndex: "operate",
|
||||
fixed: "right",
|
||||
width: "120px",
|
||||
render: (text, record) => {
|
||||
return (
|
||||
<div className="optWrapper">
|
||||
|
|
@ -749,12 +730,14 @@ export default class Archives extends React.Component {
|
|||
/>
|
||||
<div className="tableWrapper">
|
||||
<WeaNewScroll height="100%">
|
||||
<WeaTable
|
||||
<UnifiedTable
|
||||
loading={loading.query}
|
||||
rowKey="baseInfo"
|
||||
columns={this.getColumns()} dataSource={dataSourceActive} pagination={pagination}
|
||||
columns={this.getColumns()}
|
||||
dataSource={dataSourceActive}
|
||||
pagination={pagination}
|
||||
rowSelection={rowSelection}
|
||||
scroll={{ x: 1200 }}
|
||||
xWidth={this.getColumns().length * 120}
|
||||
/>
|
||||
{
|
||||
!_.isEmpty(this.getColumns()) &&
|
||||
|
|
|
|||
|
|
@ -2,15 +2,15 @@ import React from "react";
|
|||
import { inject, observer } from "mobx-react";
|
||||
import { Button, DatePicker, Dropdown, Menu, message, Modal } from "antd";
|
||||
import { WeaNewScroll, WeaTop } from "ecCom";
|
||||
import { renderNoright } from "../../../util"; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
|
||||
import { renderNoright } from "../../../util";
|
||||
import Accountdialog from "./components/accountDialog";
|
||||
import AbnormalDrawer from "./components/abnormalDrawer";
|
||||
import CustomPaginationTable from "../../../components/customPaginationTable";
|
||||
import moment from "moment";
|
||||
import _ from "lodash";
|
||||
import ProgressModal from "../../../components/progressModal";
|
||||
import { getCalculateProgress } from "../../../apis/calculate";
|
||||
import "./index.less";
|
||||
import UnifiedTable from "../../../components/UnifiedTable";
|
||||
|
||||
const MonthPicker = DatePicker.MonthPicker;
|
||||
|
||||
|
|
@ -138,9 +138,8 @@ export default class StandingBook extends React.Component {
|
|||
...columns,
|
||||
{
|
||||
title: "操作",
|
||||
dataIndex: "action",
|
||||
key: "action",
|
||||
fixed: "right",
|
||||
dataIndex: "operate",
|
||||
key: "operate",
|
||||
render: (text, r) => {
|
||||
const { billStatus, billMonth, creator } = r;
|
||||
return (
|
||||
|
|
@ -441,6 +440,22 @@ export default class StandingBook extends React.Component {
|
|||
核算
|
||||
</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 (
|
||||
<div className="standingbookWrapper">
|
||||
|
|
@ -472,31 +487,22 @@ export default class StandingBook extends React.Component {
|
|||
</div>
|
||||
<div className="tableWrapper">
|
||||
<WeaNewScroll height="100%">
|
||||
<CustomPaginationTable
|
||||
<UnifiedTable
|
||||
loading={loading}
|
||||
columns={_.filter(columns, (it) => it.dataIndex !== "id").map(item => {
|
||||
item.width = "150px";
|
||||
if (item.dataIndex === "billMonth") item.fixed = "left";
|
||||
if (item.dataIndex === "action") return { ...item };
|
||||
return {
|
||||
...item,
|
||||
render: (text) => {
|
||||
return <span className="tdEllipsis" title={text}>{text}</span>;
|
||||
}
|
||||
};
|
||||
if (item.dataIndex !== "operate") {
|
||||
return {
|
||||
...item,
|
||||
render: (text) => {
|
||||
return <span className="ellipsis" title={text}>{text}</span>;
|
||||
}
|
||||
};
|
||||
}
|
||||
return { ...item };
|
||||
})}
|
||||
dataSource={list}
|
||||
total={total}
|
||||
current={this.state.current}
|
||||
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 }}
|
||||
pagination={pagination}
|
||||
xWidth={columns.length * 120}
|
||||
/>
|
||||
</WeaNewScroll>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Reference in New Issue