release/3.0.1.2503.01-合并业务线
This commit is contained in:
parent
122005be2b
commit
4df7696f01
|
|
@ -28,3 +28,7 @@ export const deletePushItemList = (params) => {
|
|||
export const getPushRecordList = (params) => {
|
||||
return postFetch("/api/bs/hrmsalary/push/record/list", params);
|
||||
};
|
||||
// 推送记录详细列表
|
||||
export const getPushRecordDetail = (params) => {
|
||||
return postFetch("/api/bs/hrmsalary/push/record/detail", params);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -0,0 +1,77 @@
|
|||
/*
|
||||
* 推送记录
|
||||
* 查看详情
|
||||
* @Author: 黎永顺
|
||||
* @Date: 2025/4/2
|
||||
* @Wechat:
|
||||
* @Email: 971387674@qq.com
|
||||
* @description:
|
||||
*/
|
||||
import React, { Component } from "react";
|
||||
import { WeaInputSearch, WeaLocaleProvider, WeaSlideModal, WeaTable, WeaTop } from "ecCom";
|
||||
import { getPushRecordDetail } from "../../../../apis/datapush";
|
||||
|
||||
const getLabel = WeaLocaleProvider.getLabel;
|
||||
|
||||
class PushDetailDialog extends Component {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.state = {
|
||||
query: { name: "" }, dataSource: [], columns: [], pageInfo: { current: 1, pageSize: 10, total: 0 }, loading: false
|
||||
};
|
||||
}
|
||||
|
||||
componentWillReceiveProps(nextProps, nextContext) {
|
||||
if (nextProps.visible !== this.props.visible && nextProps.visible) this.getPushRecordDetail(nextProps);
|
||||
if (nextProps.visible !== this.props.visible && !nextProps.visible) this.setState({
|
||||
query: { name: "" }, pageInfo: { current: 1, pageSize: 10, total: 0 }
|
||||
});
|
||||
}
|
||||
|
||||
getPushRecordDetail = (props) => {
|
||||
const { recordId } = props || this.props, { pageInfo, query } = this.state;
|
||||
const payload = { ...query, ...pageInfo, recordId };
|
||||
this.setState({ loading: true });
|
||||
getPushRecordDetail(payload).then(({ status, data }) => {
|
||||
this.setState({ loading: false });
|
||||
if (status) {
|
||||
const { columns, list: dataSource, pageNum: current, pageSize, total } = data;
|
||||
this.setState({ columns, dataSource, pageInfo: { current, pageSize, total } });
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
render() {
|
||||
const { query, loading, dataSource, columns, pageInfo } = this.state;
|
||||
const pagination = {
|
||||
...pageInfo,
|
||||
showTotal: total => `${getLabel(18609, "共")} ${total} ${getLabel(18256, "条")}`,
|
||||
showQuickJumper: true,
|
||||
showSizeChanger: true,
|
||||
pageSizeOptions: ["10", "20", "50", "100"],
|
||||
onShowSizeChange: (current, pageSize) => {
|
||||
this.setState({ pageInfo: { ...pageInfo, current, pageSize } }, () => this.getPushRecordDetail());
|
||||
},
|
||||
onChange: current => {
|
||||
this.setState({ pageInfo: { ...pageInfo, current } }, () => this.getPushRecordDetail());
|
||||
}
|
||||
};
|
||||
return (<WeaSlideModal
|
||||
{...this.props} className="pushDetailDialog"
|
||||
title={<WeaTop title={getLabel(111, "推送详情")} icon={<i className="icon-coms-fa"/>} iconBgcolor="#F14A2D"
|
||||
buttons={[<WeaInputSearch value={query.name} onSearch={() => this.setState({
|
||||
pageInfo: { ...pageInfo, current: 1 }
|
||||
}, () => this.getPushRecordDetail())}
|
||||
onChange={v => this.setState({ query: { ...query, name: v } })}/>]}/>
|
||||
}
|
||||
direction="right" top={0} width={800} height={100}
|
||||
measureT="%" measureX="px" measureY="%"
|
||||
content={<div className="pushDetail_content">
|
||||
<WeaTable loading={loading} dataSource={dataSource} columns={columns} pagination={pagination}
|
||||
scroll={{ y: `calc(100vh - 182px)` }}/>
|
||||
</div>}
|
||||
/>);
|
||||
}
|
||||
}
|
||||
|
||||
export default PushDetailDialog;
|
||||
|
|
@ -14,7 +14,9 @@ import * as API from "../../apis/datapush";
|
|||
import DatapushList from "./components/datapushList";
|
||||
import PushRecord from "./components/pushRecord";
|
||||
import DatapushDialog from "./components/DPDialog";
|
||||
import PushDetailDialog from "./components/pushRecord/pushDetailDialog";
|
||||
import { Button, message, Modal } from "antd";
|
||||
import cs from "classnames";
|
||||
import "./index.less";
|
||||
|
||||
const getLabel = WeaLocaleProvider.getLabel;
|
||||
|
|
@ -26,7 +28,8 @@ class Index extends Component {
|
|||
super(props);
|
||||
this.state = {
|
||||
selectedKey: "datapush", isQuery: false, query: { name: "" },
|
||||
DPDialog: { visible: false, title: "", detail: {} } //数据推送弹框
|
||||
DPDialog: { visible: false, title: "", detail: {} }, //数据推送弹框
|
||||
pushDetailDialog: { visible: false, recordId: "" } //数据推送记录查看推送详情弹框
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -54,13 +57,16 @@ class Index extends Component {
|
|||
}
|
||||
});
|
||||
break;
|
||||
case "view":
|
||||
this.setState({ pushDetailDialog: { visible: true, recordId: detail.id } });
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
||||
render() {
|
||||
const { selectedKey, DPDialog, isQuery, query } = this.state;
|
||||
const { selectedKey, DPDialog, isQuery, query, pushDetailDialog } = this.state;
|
||||
const { taxAgentStore: { PageAndOptAuth } } = this.props;
|
||||
const showOperateBtn = PageAndOptAuth.opts.includes("admin");
|
||||
const tabs = [
|
||||
|
|
@ -77,7 +83,7 @@ class Index extends Component {
|
|||
{
|
||||
title: getLabel(111, "推送记录"), key: "pushRecord", showDropIcon: false, dropMenuDatas: [],
|
||||
buttons: showOperateBtn ? [
|
||||
<Button type="primary" onClick={() => this.handleOperate("create")}>{getLabel(111, "批量推送")}</Button>,
|
||||
<Button type="primary" onClick={() => this.handleOperate("batchpush")}>{getLabel(111, "批量推送")}</Button>,
|
||||
<WeaInputSearch style={{ top: -3 }} value={query.name} onSearch={this.handleAdvanceSearch}
|
||||
onChange={v => this.setState({ query: { ...query, name: v } })}/>
|
||||
] : [<WeaInputSearch style={{ top: -3 }} value={query.name} onSearch={this.handleAdvanceSearch}
|
||||
|
|
@ -88,9 +94,12 @@ class Index extends Component {
|
|||
return (
|
||||
<WeaReqTop
|
||||
title={getLabel(111, "数据推送")} icon={<i className="icon-coms-fa"/>} selectedKey={selectedKey}
|
||||
iconBgcolor="#F14A2D" tabDatas={tabs} className="datapush_wrapper" buttonSpace={10}
|
||||
buttons={_.find(tabs, o => selectedKey === o.key).buttons}
|
||||
onChange={selectedKey => this.setState({ selectedKey })}
|
||||
iconBgcolor="#F14A2D" tabDatas={tabs}
|
||||
className={cs("datapush_wrapper", { "reqZindex0": pushDetailDialog.visible })}
|
||||
buttonSpace={10} buttons={_.find(tabs, o => selectedKey === o.key).buttons}
|
||||
onChange={selectedKey => this.setState({
|
||||
selectedKey, pushDetailDialog: { ...pushDetailDialog, visible: false }
|
||||
})}
|
||||
showDropIcon={_.find(tabs, o => selectedKey === o.key).showDropIcon} onDropMenuClick={this.handleOperate}
|
||||
dropMenuDatas={_.find(tabs, o => selectedKey === o.key).dropMenuDatas}
|
||||
>
|
||||
|
|
@ -98,6 +107,9 @@ class Index extends Component {
|
|||
{/*数据推送框*/}
|
||||
<DatapushDialog {...DPDialog} onClose={() => this.setState({ DPDialog: { ...DPDialog, visible: false } })}
|
||||
onSearch={this.handleAdvanceSearch}/>
|
||||
<PushDetailDialog {...pushDetailDialog} onClose={() => this.setState({
|
||||
pushDetailDialog: { ...pushDetailDialog, visible: false }
|
||||
})}/>
|
||||
</WeaReqTop>
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -77,6 +77,42 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
.pushDetailDialog {
|
||||
.wea-slide-modal-content {
|
||||
height: 100%;
|
||||
|
||||
.wea-new-table {
|
||||
background: #FFF;
|
||||
}
|
||||
|
||||
.pushDetail_content {
|
||||
height: 100%;
|
||||
background: #F6F6F6;
|
||||
padding: 8px 16px;
|
||||
}
|
||||
}
|
||||
|
||||
.wea-slide-modal-title {
|
||||
background: #FFF;
|
||||
text-align: left;
|
||||
height: 44px;
|
||||
}
|
||||
|
||||
.wea-new-top {
|
||||
background: #FFF;
|
||||
|
||||
.ant-col-10 {
|
||||
padding-right: 50px !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.reqZindex0 {
|
||||
.wea-new-top-req {
|
||||
z-index: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
.custom_item_treeselect {
|
||||
|
|
@ -131,4 +167,3 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue