diff --git a/pc4mobx/hrmSalary/index.js b/pc4mobx/hrmSalary/index.js index 3311b26c..af5bbfb0 100644 --- a/pc4mobx/hrmSalary/index.js +++ b/pc4mobx/hrmSalary/index.js @@ -42,7 +42,6 @@ import MySalaryView from "./pages/mySalary/mySalaryView"; import WatermarkPreview from "./pages/payroll/watermarkPreview"; import ExternalPersonManage from "./pages/externalPersonManage"; import AdjustSalaryManage from "./pages/adjustSalaryManage"; -import SalaryItemDiagram from "./pages/salaryItemDiagram"; import stores from "./stores"; import "./style/index"; @@ -96,7 +95,6 @@ const DataAcquisition = (props) => props.children; // reportView 薪酬报表查看 // externalPersonManage 非系统人员管理 // adjustSalaryManage 档案管理 -// salaryItemDiagram 薪资档案拓扑图 const Routes = ( - { + const { type } = data; + if (type === "initDiagram") this.postMessageToChild(this.props); + }; + + componentWillUnmount() { + window.removeEventListener("message", this.handleReceive, false); + } + + postMessageToChild = (payload = {}) => { + const { width, height } = this.diagramRef.state.style; + const i18n = { + "公式": getLabel(18125, "公式") + }; + const childFrameObj = document.getElementById("topologyDiagram"); + childFrameObj.contentWindow.postMessage(JSON.stringify({ ...payload, width, height, i18n }), "*"); + }; + + render() { + return ( + this.diagramRef = dom} + scalable hasScroll className="diagramDialog" initLoadCss + title={getLabel(111, "拓扑图")} + style={{ + width: 1150, + height: 850, + minHeight: 200, + minWidth: 380, + maxHeight: "90%", + maxWidth: "90%", + overflow: "hidden", + transform: "translate(0px, 0px)" + }} + > + + + ); + } +} + +export default DiagramModal; diff --git a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editCalcTable.js b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editCalcTable.js index 36198c34..a09a5052 100644 --- a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editCalcTable.js +++ b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editCalcTable.js @@ -11,6 +11,7 @@ import { inject, observer } from "mobx-react"; import { acctResultList, updateLockStatus } from "../../../../../apis/calculate"; import ProgressModal from "../../../../../components/progressModal"; import EditSalaryCalcSlide from "./editSalaryCalcSlide"; +import DiagramModal from "./diagramModal"; const getLabel = WeaLocaleProvider.getLabel; @@ -22,7 +23,8 @@ class EditCalcTable extends Component { this.state = { loading: false, pageInfo: { current: 1, pageSize: 10, total: 0 }, selectedRowKeys: [], progressVisible: false, progress: 0, - salaryCalcSlide: { visible: false, id: "" } + salaryCalcSlide: { visible: false, id: "" }, + diagramModal: { visible: false, salaryItemId: "", salarySobId: "" } }; this.timerLock = null; } @@ -59,13 +61,24 @@ class EditCalcTable extends Component { salaryCalcSlide: { visible: true, id: salaryCalcId } }); break; + case "DIAGRAM": + const { salarySobId } = this.props; + const { diagramModal } = this.state; + this.setState({ diagramModal: { ...diagramModal, ...params, visible: true, salarySobId } }); + break; default: break; } } }; updateLockStatus = (payload) => { - const { lockStatus } = payload; + const { salarySobId } = this.props; + const { diagramModal } = this.state; + const { lockStatus, salaryItemId } = payload; + if (lockStatus === "DIAGRAM") { + this.setState({ diagramModal: { ...diagramModal, visible: true, salarySobId, salaryItemId } }); + return; + } Modal.confirm({ title: getLabel(131329, "信息确认"), content:
@@ -125,7 +138,7 @@ class EditCalcTable extends Component { "当前状态未锁定,点击锁定": getLabel(111, "当前状态未锁定,点击锁定"), "共": getLabel(18609, "共"), "条": getLabel(18256, "条"), "总计": getLabel(523, "总计"), "批量解锁": getLabel(111, "批量解锁"), - "批量锁定": getLabel(111, "批量锁定") + "批量锁定": getLabel(111, "批量锁定"), "查看拓扑图": getLabel(111, "查看拓扑图") }; const childFrameObj = document.getElementById("atdTable"); childFrameObj.contentWindow.postMessage(JSON.stringify({ ...payload, i18n }), "*"); @@ -160,7 +173,7 @@ class EditCalcTable extends Component { }; render() { - const { loading, progressVisible, progress, salaryCalcSlide } = this.state; + const { loading, progressVisible, progress, salaryCalcSlide, diagramModal } = this.state; return (
@@ -177,6 +190,10 @@ class EditCalcTable extends Component { id: "" } }, () => isFresh === "true" && this.queryCalcResultList())}/> + { + diagramModal.visible && + this.setState({ diagramModal: { visible: false } })}/> + } { progressVisible &&
- this.calcTableRef = dom} + this.calcTableRef = dom} salarySobId={salarySobCycle.salarySobId} {...this.props} showTotalCell={showTotalCell} onShowFormulaTd={this.handleShowFormulaTa}/>
diff --git a/pc4mobx/hrmSalary/pages/salaryItemDiagram/index.js b/pc4mobx/hrmSalary/pages/salaryItemDiagram/index.js index 6de256d3..51e16088 100644 --- a/pc4mobx/hrmSalary/pages/salaryItemDiagram/index.js +++ b/pc4mobx/hrmSalary/pages/salaryItemDiagram/index.js @@ -13,7 +13,7 @@ class Index extends Component { style={{ border: 0, width: "100%", height: "100%" }} src="http://localhost:7607/#/salaryItemDiagram" // src="/spa/hrmSalary/hrmSalaryCalculateDetail/index.html#/salaryItemDiagram" - id="atdTable" + id="topologyDiagram" /> ); }