双控模块添加json.Parameter22 = this.props.data.ORG_ID_HV;

This commit is contained in:
何美荣 2025-12-22 16:57:43 +08:00
parent f685435a77
commit c02396c64d
28 changed files with 3031 additions and 3027 deletions

View File

@ -1,6 +1,6 @@
import { Button, Descriptions,Popconfirm, Row, Col, Form,Modal, Input, Select, Table } from 'antd'; import { Button, Descriptions, Popconfirm, Row, Col, Form, Modal, Input, Select, Table } from 'antd';
import React from 'react'; import React from 'react';
import { initFilter, extendRule, extendInclude, extendIgnoreDataRule,setDataFieldValue, guid, initQueryFilter } from "../../../utils/common"; import { initFilter, extendRule, extendInclude, extendIgnoreDataRule, setDataFieldValue, guid, initQueryFilter } from "../../../utils/common";
import ReactToPrint from "react-to-print"; import ReactToPrint from "react-to-print";
import stylesStep from '../HI/StepForm.css'; import stylesStep from '../HI/StepForm.css';
import config from "../../../config"; import config from "../../../config";
@ -20,15 +20,16 @@ class SK002ShowSummary extends React.Component {
}; };
componentDidMount() { componentDidMount() {
this.loadData(); this.loadData();
} }
BtnClose = () => { BtnClose = () => {
if (typeof this.props.data.onCancel != "undefined"&&typeof this.props.data.onCancel == 'function') if (typeof this.props.data.onCancel != "undefined" && typeof this.props.data.onCancel == 'function')
this.props.data.onCancel(); this.props.data.onCancel();
} }
loadData = () => { loadData = () => {
let json = initFilter(this.props.login.OrgId,"","",1,1); let json = initFilter(this.props.login.OrgId, "", "", 1, 1);
json.Parameter22 = this.props.data.ORG_ID_HV;
extendInclude(json, 'Nav_Type'); extendInclude(json, 'Nav_Type');
extendInclude(json, 'Nav_Area'); extendInclude(json, 'Nav_Area');
extendInclude(json, 'Nav_Details'); extendInclude(json, 'Nav_Details');
@ -37,23 +38,23 @@ class SK002ShowSummary extends React.Component {
extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_DetailBasics.Nav_Law'); extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_DetailBasics.Nav_Law');
extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_DetailHiddens.Nav_Question'); extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_DetailHiddens.Nav_Question');
// extendIgnoreDataRule(json) // extendIgnoreDataRule(json)
this.props.dispatch({ this.props.dispatch({
type: "app/getDataByPost", type: "app/getDataByPost",
url: "SK/BasicLibrary/OrderEntities", url: "SK/BasicLibrary/OrderEntities",
payload: json, payload: json,
onlyData: false, onlyData: false,
onComplete: (ret) => { onComplete: (ret) => {
if (ret && ret.Data) { if (ret && ret.Data) {
this.setState({ this.setState({
data : ret.Data data: ret.Data
}); });
} }
}, },
}); });
} }
onTableBtnExport() { onTableBtnExport() {
const enums=this.props.data.enums ? this.props.data.enums :this.props.app.enums ; const enums = this.props.data.enums ? this.props.data.enums : this.props.app.enums;
let TableWrap = document.getElementById('tableId' + this.props.data.id); let TableWrap = document.getElementById('tableId' + this.props.data.id);
let Table = TableWrap.getElementsByTagName('table')[0]; let Table = TableWrap.getElementsByTagName('table')[0];
const wb = XLSX.utils.table_to_book(Table); const wb = XLSX.utils.table_to_book(Table);
@ -62,66 +63,66 @@ class SK002ShowSummary extends React.Component {
render() { render() {
const { data } = this.state; const { data } = this.state;
const enums=this.props.data.enums ? this.props.data.enums :this.props.app.enums ; const enums = this.props.data.enums ? this.props.data.enums : this.props.app.enums;
// let aaa = Math.random(); // let aaa = Math.random();
return <div> return <div>
<div style={{ padding: '10px' }}> <div style={{ padding: '10px' }}>
{/* <Button onClick={() => this.onClickApprove(true)} style={{ marginRight: '8px'}} icon="export">审批详情</Button> */} {/* <Button onClick={() => this.onClickApprove(true)} style={{ marginRight: '8px'}} icon="export">审批详情</Button> */}
<ReactToPrint <ReactToPrint
trigger={() => <Button style={{ marginLeft: '8px', display: "inline"}} type={'default'} icon={'printer'} >打印</Button>} trigger={() => <Button style={{ marginLeft: '8px', display: "inline" }} type={'default'} icon={'printer'} >打印</Button>}
content={() => this.componentRef} content={() => this.componentRef}
/> />
<Button onClick={() => this.onTableBtnExport()} icon="export" style={{ marginLeft: '8px', display: "inline" }}>导出</Button> <Button onClick={() => this.onTableBtnExport()} icon="export" style={{ marginLeft: '8px', display: "inline" }}>导出</Button>
</div> </div>
<div ref={el => (this.componentRef = el)} style={{ padding: '20px' }} id={'tableId' + this.props.data.id}> <div ref={el => (this.componentRef = el)} style={{ padding: '20px' }} id={'tableId' + this.props.data.id}>
<h1 style={{ textAlign: 'center', margin: '15px' }}>双重预防机制基础库</h1> <h1 style={{ textAlign: 'center', margin: '15px' }}>双重预防机制基础库</h1>
{ {
data ? <table style={{ width: '100%', textAlign: 'left'}} className={stylesStep.PrintForm1}> data ? <table style={{ width: '100%', textAlign: 'left' }} className={stylesStep.PrintForm1}>
<tr> <tr>
<td width='60px' textAlign='center' className={stylesStep.fontBold}>序号</td> <td width='60px' textAlign='center' className={stylesStep.fontBold}>序号</td>
<td className={stylesStep.fontBold}>生产单元</td> <td className={stylesStep.fontBold}>生产单元</td>
<td className={stylesStep.fontBold}>辨识区域</td> <td className={stylesStep.fontBold}>辨识区域</td>
<td className={stylesStep.fontBold}>风险名称</td> <td className={stylesStep.fontBold}>风险名称</td>
<td className={stylesStep.fontBold}>风险描述</td> <td className={stylesStep.fontBold}>风险描述</td>
<td className={stylesStep.fontBold}>风险类别</td> <td className={stylesStep.fontBold}>风险类别</td>
{/* <td className={stylesStep.fontBold}>L</td> {/* <td className={stylesStep.fontBold}>L</td>
<td className={stylesStep.fontBold}>风险评价E</td> <td className={stylesStep.fontBold}>风险评价E</td>
<td className={stylesStep.fontBold}>风险评价C</td> <td className={stylesStep.fontBold}>风险评价C</td>
<td className={stylesStep.fontBold}>分值D</td> */} <td className={stylesStep.fontBold}>分值D</td> */}
<td className={stylesStep.fontBold}>风险等级</td> <td className={stylesStep.fontBold}>风险等级</td>
<td className={stylesStep.fontBold}>应急处置</td> <td className={stylesStep.fontBold}>应急处置</td>
<td className={stylesStep.fontBold}>管控层级</td> <td className={stylesStep.fontBold}>管控层级</td>
<td className={stylesStep.fontBold}>管控措施</td> <td className={stylesStep.fontBold}>管控措施</td>
<td className={stylesStep.fontBold}>检查内容</td> <td className={stylesStep.fontBold}>检查内容</td>
{/* <td className={stylesStep.fontBold}></td> {/* <td className={stylesStep.fontBold}></td>
<td className={stylesStep.fontBold}>判定标准</td> */} <td className={stylesStep.fontBold}>判定标准</td> */}
<td className={stylesStep.fontBold}>隐患描述</td> <td className={stylesStep.fontBold}>隐患描述</td>
<td className={stylesStep.fontBold}>隐患等级</td> <td className={stylesStep.fontBold}>隐患等级</td>
<td className={stylesStep.fontBold}>整改措施</td> <td className={stylesStep.fontBold}>整改措施</td>
</tr> </tr>
{ {
data && data.map((item,i)=>{ data && data.map((item, i) => {
return <tr> return <tr>
<td> <td>
{i+1} {i + 1}
</td> </td>
<td> <td>
{item.Nav_ProductionUnit?.NAME} {item.Nav_ProductionUnit?.NAME}
</td> </td>
<td> <td>
{item.Nav_Area?.NAME} {item.Nav_Area?.NAME}
</td> </td>
<td> <td>
{item.RISK_NAME} {item.RISK_NAME}
</td> </td>
<td> <td>
{item.RISK_DESCRIPTION} {item.RISK_DESCRIPTION}
</td> </td>
<td> <td>
{item.Nav_Type?.NAME} {item.Nav_Type?.NAME}
</td> </td>
{/* <td> {/* <td>
{item.Nav_SCOREL? item.Nav_SCOREL?.SCORE : 0} {item.Nav_SCOREL? item.Nav_SCOREL?.SCORE : 0}
</td> </td>
<td> <td>
@ -133,49 +134,49 @@ class SK002ShowSummary extends React.Component {
<td> <td>
{item.EVALUATE_SCORE} {item.EVALUATE_SCORE}
</td> */} </td> */}
<td> <td>
{enums.SKEvaluateLevelEnum.enums[item.EVALUATE_LEVEL]} {enums.SKEvaluateLevelEnum.enums[item.EVALUATE_LEVEL]}
</td> </td>
<td> <td>
{item.EMERGENCY} {item.EMERGENCY}
</td> </td>
<td> <td>
{ item.DEPARTMENT_TYPE && item.DEPARTMENT_TYPE.split("_").map((item2, i) => { {item.DEPARTMENT_TYPE && item.DEPARTMENT_TYPE.split("_").map((item2, i) => {
if (item2) { if (item2) {
return <label> {enums.SKDepartmentTypeEnum.enums[item2]}</label> return <label> {enums.SKDepartmentTypeEnum.enums[item2]}</label>
} }
})} })}
</td> </td>
<td> <td>
{ item.MEASURE} {item.MEASURE}
{/* { item.Nav_Details && item.Nav_Details?.map((item2, i) => { {/* { item.Nav_Details && item.Nav_Details?.map((item2, i) => {
if (item2) { if (item2) {
return <label> {(i+1)+"、"+item2.MEASURES_NAME}<br></br></label> return <label> {(i+1)+"、"+item2.MEASURES_NAME}<br></br></label>
} }
})} */} })} */}
</td> </td>
<td> <td>
{ item.CHECKCONTENTS} {item.CHECKCONTENTS}
</td> </td>
{/* <td> {/* <td>
{item.CHECKBASICS } {item.CHECKBASICS }
</td> </td>
<td> <td>
{ item.CHECKSTANDARDS } { item.CHECKSTANDARDS }
</td> */} </td> */}
<td> <td>
{ item.HIDDENSCRIPTION } {item.HIDDENSCRIPTION}
</td> </td>
<td> <td>
{ item.HIDDENLEVEL } {item.HIDDENLEVEL}
</td> </td>
<td> <td>
{item.RECIFYMEASURE } {item.RECIFYMEASURE}
</td> </td>
</tr> </tr>
}) })
} }
</table>:null </table> : null
} }
{/* <FormPage {...this.state.tmpData} /> */} {/* <FormPage {...this.state.tmpData} /> */}
</div> </div>
@ -184,4 +185,4 @@ class SK002ShowSummary extends React.Component {
} }
export default connect(({ login,app }) => ({ login,app }))(SK002ShowSummary) export default connect(({ login, app }) => ({ login, app }))(SK002ShowSummary)

View File

@ -1,6 +1,6 @@
import { Button, Descriptions,Popconfirm, Row, Col, Form,Modal, Input, Select, Table } from 'antd'; import { Button, Descriptions, Popconfirm, Row, Col, Form, Modal, Input, Select, Table } from 'antd';
import React , { useState }from 'react'; import React, { useState } from 'react';
import { initFilter, extendRule, extendInclude, extendIgnoreDataRule,setDataFieldValue, guid, initQueryFilter } from "../../../utils/common"; import { initFilter, extendRule, extendInclude, extendIgnoreDataRule, setDataFieldValue, guid, initQueryFilter } from "../../../utils/common";
import ReactToPrint from "react-to-print"; import ReactToPrint from "react-to-print";
import stylesStep from '../HI/StepForm.css'; import stylesStep from '../HI/StepForm.css';
import config from "../../../config"; import config from "../../../config";
@ -11,488 +11,485 @@ import { message } from "antd/lib/index";
import FormPage from '../../../components/FormPage' import FormPage from '../../../components/FormPage'
import DropDownPagination from '../../common/DropDownPaginationEx' import DropDownPagination from '../../common/DropDownPaginationEx'
class SK004CheckList extends React.Component { class SK004CheckList extends React.Component {
constructor(props) { constructor(props) {
super(props); super(props);
this.state = { this.state = {
inputText:"", inputText: "",
inputText2:"", inputText2: "",
inputText3:"", inputText3: "",
checkType:{}, checkType: {},
data: {}, data: {},
dataList: [], dataList: [],
MineType:0, MineType: 0,
CHECK_CYCLE:0, CHECK_CYCLE: 0,
CHECK_TYPE:0, CHECK_TYPE: 0,
CHECK_CYCLE_ID:null, CHECK_CYCLE_ID: null,
BtnAgreeDisplay: 'none', BtnAgreeDisplay: 'none',
showDetail:false, showDetail: false,
showDetailContent: false, showDetailContent: false,
Details:[], Details: [],
DetailContents:[], DetailContents: [],
columnContents : [ columnContents: [
{ {
title: '序号', title: '序号',
dataIndex: 'NUM', dataIndex: 'NUM',
key: "NUM", key: "NUM",
render: (text, record, index) => { render: (text, record, index) => {
return <label>{index+1}</label> return <label>{index + 1}</label>
} }
}, },
{ {
title: "风险名称", title: "风险名称",
dataIndex: "RISK_NAME", dataIndex: "RISK_NAME",
key: "RISK_NAME", key: "RISK_NAME",
}, },
{ {
title: "检查区域", title: "检查区域",
dataIndex: "Nav_Area.NAME", dataIndex: "Nav_Area.NAME",
key: "Nav_Area.NAME", key: "Nav_Area.NAME",
}, },
{ {
title: "检查内容", title: "检查内容",
dataIndex: "Nav_Contents.CHECKCONTENT", dataIndex: "Nav_Contents.CHECKCONTENT",
key: "Nav_Contents.CHECKCONTENT", key: "Nav_Contents.CHECKCONTENT",
}, },
// { // {
// title: "检查依据", // title: "检查依据",
// dataIndex: "Nav_DetailBasics", // dataIndex: "Nav_DetailBasics",
// key: "Nav_DetailBasics", // key: "Nav_DetailBasics",
// render: (text, record) => // render: (text, record) =>
// { // {
// return <label>{ // return <label>{
// record.Nav_DetailBasics && record.Nav_DetailBasics.map((item, i) => { // record.Nav_DetailBasics && record.Nav_DetailBasics.map((item, i) => {
// return item?.Nav_Law?.NAME+' ' // return item?.Nav_Law?.NAME+' '
// }) // })
// }</label> // }</label>
// } // }
// }, // },
// { // {
// title: "判定标准", // title: "判定标准",
// dataIndex: "CHECK_STANDARD", // dataIndex: "CHECK_STANDARD",
// key: "CHECK_STANDARD", // key: "CHECK_STANDARD",
// }, // },
], ],
columns : [ columns: [
{ {
title: '序号', title: '序号',
dataIndex: 'NUM', dataIndex: 'NUM',
key: "NUM", key: "NUM",
render: (text, record, index) => { render: (text, record, index) => {
return <label>{index+1}</label> return <label>{index + 1}</label>
} }
}, },
{ {
title: "检查部门", title: "检查部门",
dataIndex: "Nav_Department.NAME", dataIndex: "Nav_Department.NAME",
key: "Nav_Department.NAME", key: "Nav_Department.NAME",
}, },
{ {
title: "检查岗位", title: "检查岗位",
dataIndex: "POST_NAME", dataIndex: "POST_NAME",
key: "POST_NAME", key: "POST_NAME",
}, },
{ {
title: '操作', title: '操作',
dataIndex: '', dataIndex: '',
key: '', key: '',
render: (text, record, index) => { render: (text, record, index) => {
return <Button type='defualt' size='small' onClick={(e) => { this.showModalContent(record) }} icon='eye' /> return <Button type='defualt' size='small' onClick={(e) => { this.showModalContent(record) }} icon='eye' />
} }
} }
], ],
columndatas : [ columndatas: [
{ {
title: '序号', title: '序号',
dataIndex: 'NUM', dataIndex: 'NUM',
key: "NUM", key: "NUM",
render: (text, record, index) => { render: (text, record, index) => {
return <label>{index+1}</label> return <label>{index + 1}</label>
} }
}, },
{ {
title: "生产单元", title: "生产单元",
dataIndex: "Nav_ProductionUnit.NAME", dataIndex: "Nav_ProductionUnit.NAME",
key: "Nav_ProductionUnit.NAME", key: "Nav_ProductionUnit.NAME",
// render: (text, record, index) => { // render: (text, record, index) => {
// return <label>{this.props.app.enums.SKProductionUnit.enums[record.MineType]}</label> // return <label>{this.props.app.enums.SKProductionUnit.enums[record.MineType]}</label>
// } // }
}, },
{ {
title: "检查层级", title: "检查层级",
dataIndex: "CHECK_TYPE", dataIndex: "CHECK_TYPE",
key: "CHECK_TYPE", key: "CHECK_TYPE",
render: (text, record, index) => { render: (text, record, index) => {
return <label>{this.props.app.enums.SKDepartmentTypeEnum.enums[record.CHECK_TYPE]}</label> return <label>{this.props.app.enums.SKDepartmentTypeEnum.enums[record.CHECK_TYPE]}</label>
} }
}, },
{ {
title: "检查类型", title: "检查类型",
dataIndex: "Nav_CheckType.NAME", dataIndex: "Nav_CheckType.NAME",
key: "Nav_CheckType.NAME", key: "Nav_CheckType.NAME",
}, },
{ {
title: "检查周期", title: "检查周期",
dataIndex: "CHECK_CYCLE", dataIndex: "CHECK_CYCLE",
key: "CHECK_CYCLE", key: "CHECK_CYCLE",
render: (text, record, index) => { render: (text, record, index) => {
return <label>{this.props.app.enums.SKPLANCHECKFREQUENCYEnum.enums[record.CHECK_CYCLE]}</label> return <label>{this.props.app.enums.SKPLANCHECKFREQUENCYEnum.enums[record.CHECK_CYCLE]}</label>
} }
}, },
{ {
title: '操作', title: '操作',
dataIndex: '', dataIndex: '',
key: '', key: '',
render: (text, record, index) => { render: (text, record, index) => {
return <Button type='defualt' size='small' onClick={(e) => { this.showModal(record) }} icon='eye' /> return <Button type='defualt' size='small' onClick={(e) => { this.showModal(record) }} icon='eye' />
} }
} }
] ]
};
}; };
};
componentDidMount() { componentDidMount() {
if (this.props.data?.btnConfig?.id) if (this.props.data?.btnConfig?.id) { this.loadData(); }
{this.loadData();} }
}
componentWillReceiveProps(NextProps) { componentWillReceiveProps(NextProps) {
if (NextProps.data?.btnConfig?.id && this.props.data?.btnConfig?.id != NextProps.data?.btnConfig?.id) if (NextProps.data?.btnConfig?.id && this.props.data?.btnConfig?.id != NextProps.data?.btnConfig?.id) { this.loadData(); }
{this.loadData();} }
} BtnClose = () => {
BtnClose = () => { if (typeof this.props.data.onCancel != "undefined" && typeof this.props.data.onCancel == 'function')
if (typeof this.props.data.onCancel != "undefined"&&typeof this.props.data.onCancel == 'function') this.props.data.onCancel();
this.props.data.onCancel(); }
}
loadData = () => { loadData = () => {
let json = initFilter(this.props.login.OrgId); let json = initFilter(this.props.login.OrgId);
extendIgnoreDataRule(json) json.Parameter22 = this.props.data.ORG_ID_HV;
this.props.dispatch({ extendIgnoreDataRule(json)
type: 'app/getDataByPost', this.props.dispatch({
payload: json, type: 'app/getDataByPost',
url: 'SK/SKEnterpriseLibrary/GetCheckList', payload: json,
onComplete: (ret) => { url: 'SK/SKEnterpriseLibrary/GetCheckList',
if (ret) { onComplete: (ret) => {
this.setState({data:ret, dataList: ret }); if (ret) {
} this.setState({ data: ret, dataList: ret });
} }
});
}
loadData2()
{
let temp=this.state.data
if(this.state.inputText)
{
// let minetype=0
// if(this.state.inputText.includes("露天"))
// {
// minetype=30
// }
// if(this.state.inputText.includes("选矿"))
// {
// minetype=10
// }
// if(this.state.inputText.includes("尾矿"))
// {
// minetype=20
// }
// if(this.state.inputText.includes("职能"))
// {
// minetype=31
// }
// if(this.state.inputText.includes("非金"))
// {
// minetype=32
// }
// if(this.state.inputText.includes("地下"))
// {
// minetype=40
// }
temp=temp.filter(t=>t.MineType ==this.state.inputText);
} }
if(this.state.inputText2) });
{ }
// let checktype=3 loadData2() {
// if(this.state.inputText2.includes("部门")) let temp = this.state.data
// { if (this.state.inputText) {
// checktype=0 // let minetype=0
// } // if(this.state.inputText.includes("露天"))
// if(this.state.inputText2.includes("车间")) // {
// { // minetype=30
// checktype=1 // }
// } // if(this.state.inputText.includes("选矿"))
// if(this.state.inputText2.includes("班组")) // {
// { // minetype=10
// checktype=2 // }
// } // if(this.state.inputText.includes("尾矿"))
// if(this.state.inputText2.includes("岗位")) // {
// { // minetype=20
// checktype=4 // }
// } // if(this.state.inputText.includes("职能"))
temp=temp.filter(t=>t.CHECK_TYPE==this.state.inputText2); // {
} // minetype=31
if(this.state.inputText3) // }
{ // if(this.state.inputText.includes("非金"))
temp=temp.filter(t=>t.Nav_CheckType?.NAME.includes(this.state.inputText3)); // {
} // minetype=32
this.setState({dataList :temp}) // }
// if(this.state.inputText.includes("地下"))
// {
// minetype=40
// }
temp = temp.filter(t => t.MineType == this.state.inputText);
} }
onTableBtnExport() { if (this.state.inputText2) {
const enums=this.props.data.enums ? this.props.data.enums :this.props.app.enums ; // let checktype=3
let TableWrap = document.getElementById('tableId' + this.props.data.id); // if(this.state.inputText2.includes("部门"))
let Table = TableWrap.getElementsByTagName('table')[0]; // {
const wb = XLSX.utils.table_to_book(Table); // checktype=0
XLSX.writeFile(wb, "检查清单.xlsx") // }
// if(this.state.inputText2.includes("车间"))
// {
// checktype=1
// }
// if(this.state.inputText2.includes("班组"))
// {
// checktype=2
// }
// if(this.state.inputText2.includes("岗位"))
// {
// checktype=4
// }
temp = temp.filter(t => t.CHECK_TYPE == this.state.inputText2);
} }
if (this.state.inputText3) {
temp = temp.filter(t => t.Nav_CheckType?.NAME.includes(this.state.inputText3));
}
this.setState({ dataList: temp })
}
onTableBtnExport() {
const enums = this.props.data.enums ? this.props.data.enums : this.props.app.enums;
let TableWrap = document.getElementById('tableId' + this.props.data.id);
let Table = TableWrap.getElementsByTagName('table')[0];
const wb = XLSX.utils.table_to_book(Table);
XLSX.writeFile(wb, "检查清单.xlsx")
}
showModalContent = (item) => { showModalContent = (item) => {
this.setState({ this.setState({
showDetailContent: true, showDetailContent: true,
},()=>{ }, () => {
this.setState({ this.setState({
DetailContents:item.Nav_ContentDatas, DetailContents: item.Nav_ContentDatas,
}); });
// let json = initFilter(this.props.login.OrgId,'','','','',this.state.MineType,this.state.CHECK_CYCLE,this.state.CHECK_TYPE,this.state.CHECK_TYPE_ID,item.DEPARTMENT_ID,item.POST_ID); // let json = initFilter(this.props.login.OrgId,'','','','',this.state.MineType,this.state.CHECK_CYCLE,this.state.CHECK_TYPE,this.state.CHECK_TYPE_ID,item.DEPARTMENT_ID,item.POST_ID);
// extendIgnoreDataRule(json) // extendIgnoreDataRule(json)
// this.props.dispatch({ // this.props.dispatch({
// type: 'app/getDataByPost', // type: 'app/getDataByPost',
// payload: json, // payload: json,
// url: 'SK/SKEnterpriseLibrary/GetCheckListContent', // url: 'SK/SKEnterpriseLibrary/GetCheckListContent',
// onComplete: (ret) => { // onComplete: (ret) => {
// if (ret) { // if (ret) {
// this.setState({ DetailContents: ret }); // this.setState({ DetailContents: ret });
// } // }
// } // }
// }); // });
}); });
}; };
showModal = (item) => { showModal = (item) => {
this.setState({ this.setState({
showDetail: true, showDetail: true,
},()=>{ }, () => {
let json = initFilter(this.props.login.OrgId,item.MineType,'','','',item.CHECK_TYPE_ID,item.CHECK_CYCLE,item.CHECK_TYPE); let json = initFilter(this.props.login.OrgId, item.MineType, '', '', '', item.CHECK_TYPE_ID, item.CHECK_CYCLE, item.CHECK_TYPE);
extendIgnoreDataRule(json) extendIgnoreDataRule(json)
this.props.dispatch({ this.props.dispatch({
type: 'app/getDataByPost', type: 'app/getDataByPost',
payload: json, payload: json,
url: 'SK/SKEnterpriseLibrary/GetCheckDetailList', url: 'SK/SKEnterpriseLibrary/GetCheckDetailList',
onComplete: (ret) => { onComplete: (ret) => {
if (ret) { if (ret) {
this.setState({ Details: ret, this.setState({
MineType:item.MineType, Details: ret,
CHECK_CYCLE:item.CHECK_CYCLE, MineType: item.MineType,
CHECK_TYPE:item.CHECK_TYPE, CHECK_CYCLE: item.CHECK_CYCLE,
CHECK_TYPE_ID:item.CHECK_TYPE_ID, }); CHECK_TYPE: item.CHECK_TYPE,
} CHECK_TYPE_ID: item.CHECK_TYPE_ID,
} });
}); }
}); }
}; });
handleCancel = () => { });
this.setState({ };
showDetail: false, handleCancel = () => {
Details:[], this.setState({
MineType:0, showDetail: false,
CHECK_CYCLE:0, Details: [],
CHECK_TYPE:0, MineType: 0,
CHECK_CYCLE_ID:null CHECK_CYCLE: 0,
}); CHECK_TYPE: 0,
}; CHECK_CYCLE_ID: null
closeModal = () => { });
this.setState({ };
showDetail: false, closeModal = () => {
Details:[], this.setState({
MineType:0, showDetail: false,
CHECK_CYCLE:0, Details: [],
CHECK_TYPE:0, MineType: 0,
CHECK_CYCLE_ID:null CHECK_CYCLE: 0,
}); CHECK_TYPE: 0,
}; CHECK_CYCLE_ID: null
handleCancelContent = () => { });
this.setState({ };
showDetailContent: false, handleCancelContent = () => {
DetailContents:[] this.setState({
}); showDetailContent: false,
}; DetailContents: []
closeModalContent = () => { });
this.setState({ };
showDetailContent: false, closeModalContent = () => {
DetailContents:[] this.setState({
}); showDetailContent: false,
}; DetailContents: []
// handleSearch = (evt) => { });
// const { value } = evt.target; };
// this.setState({ inputText: value ? value : "" }); // handleSearch = (evt) => {
// }; // const { value } = evt.target;
handleSearch=(value)=>{ // this.setState({ inputText: value ? value : "" });
this.setState({ // };
inputText: value handleSearch = (value) => {
}) this.setState({
} inputText: value
// handleSearch2 = (evt) => { })
// const { value } = evt.target; }
// this.setState({ inputText2: value ? value : "" }); // handleSearch2 = (evt) => {
// }; // const { value } = evt.target;
handleSearch2=(value)=>{ // this.setState({ inputText2: value ? value : "" });
this.setState({ // };
inputText2: value handleSearch2 = (value) => {
}) this.setState({
} inputText2: value
handleSearch3 = ({data, record}) => { })
// const { value } = evt.target; }
// this.setState({ inputText3: value ? value : "" }); handleSearch3 = ({ data, record }) => {
this.setState({ // const { value } = evt.target;
checkType: { // this.setState({ inputText3: value ? value : "" });
...this.state.checkType, this.setState({
ID: data[0], checkType: {
NAME: record?.NAME , ...this.state.checkType,
}, ID: data[0],
inputText3: record?.NAME NAME: record?.NAME,
}) },
}; inputText3: record?.NAME
render() { })
const formItemLayout = { };
labelCol: { span: 8 }, render() {
wrapperCol: { span: 16 }, const formItemLayout = {
} labelCol: { span: 8 },
const enums=this.props.data.enums ? this.props.data.enums :this.props.app.enums ; wrapperCol: { span: 16 },
// let aaa = Math.random(); }
return <div> const enums = this.props.data.enums ? this.props.data.enums : this.props.app.enums;
<Modal // let aaa = Math.random();
visible={this.state.showDetailContent} return <div>
title="检查内容" <Modal
maskClosable={false} visible={this.state.showDetailContent}
onCancel={this.handleCancelContent} title="检查内容"
footer={null} maskClosable={false}
className="antd-modal-fullscreen" onCancel={this.handleCancelContent}
closeModal={this.closeModalContent} footer={null}
> className="antd-modal-fullscreen"
<Table closeModal={this.closeModalContent}
dataSource={this.state.DetailContents} >
columns={this.state.columnContents} <Table
pagination={false} dataSource={this.state.DetailContents}
bordered columns={this.state.columnContents}
loading={false} pagination={false}
size="small" bordered
/> loading={false}
size="small"
</Modal> />
<Modal
visible={this.state.showDetail} </Modal>
title="检查部门岗位" <Modal
maskClosable={false} visible={this.state.showDetail}
onCancel={this.handleCancel} title="检查部门岗位"
footer={null} maskClosable={false}
className="antd-modal-fullscreen" onCancel={this.handleCancel}
closeModal={this.closeModal} footer={null}
> className="antd-modal-fullscreen"
<Table closeModal={this.closeModal}
dataSource={this.state.Details} >
columns={this.state.columns} <Table
pagination={false} dataSource={this.state.Details}
bordered columns={this.state.columns}
loading={false} pagination={false}
size="small" bordered
/> loading={false}
</Modal> size="small"
{/* <div style={{ padding: '10px' }}> />
</Modal>
{/* <div style={{ padding: '10px' }}>
<ReactToPrint <ReactToPrint
trigger={() => <Button style={{ marginLeft: '8px', display: dataList && dataList.STATUS === 30?"inline":"none" }} type={'default'} icon={'printer'} >打印</Button>} trigger={() => <Button style={{ marginLeft: '8px', display: dataList && dataList.STATUS === 30?"inline":"none" }} type={'default'} icon={'printer'} >打印</Button>}
content={() => this.componentRef} content={() => this.componentRef}
/> />
<Button onClick={() => this.onTableBtnExport()} icon="export" style={{ marginLeft: '8px', display: dataList && dataList.STATUS === 30?"inline":"none" }}>导出</Button> <Button onClick={() => this.onTableBtnExport()} icon="export" style={{ marginLeft: '8px', display: dataList && dataList.STATUS === 30?"inline":"none" }}>导出</Button>
</div> */} </div> */}
<br></br> <br></br>
{/* <Row> {/* <Row>
<Col span={1} style={{ marginLeft:"20px" }}><Button icon="export" onClick={() => this.onTableBtnExport()}>导出</Button></Col> <Col span={1} style={{ marginLeft:"20px" }}><Button icon="export" onClick={() => this.onTableBtnExport()}>导出</Button></Col>
</Row> */} </Row> */}
<Row style={{width:"1250px",margin:"auto"}}> <Row style={{ width: "1250px", margin: "auto" }}>
<Col span={5} style={{ marginLeft: "10px" }}> <Col span={5} style={{ marginLeft: "10px" }}>
<Form.Item <Form.Item
label={'生产单元'} label={'生产单元'}
{...formItemLayout} {...formItemLayout}
> >
<Select <Select
// defaultValue="风险管理" // defaultValue="风险管理"
style={{width:'180px'}} style={{ width: '180px' }}
allowClear allowClear
onChange={this.handleSearch} onChange={this.handleSearch}
> >
<Option value="0">全公司</Option> <Option value="0">全公司</Option>
<Option value="30">露天矿</Option> <Option value="30">露天矿</Option>
<Option value="10">选矿厂</Option> <Option value="10">选矿厂</Option>
<Option value="20">尾矿库</Option> <Option value="20">尾矿库</Option>
<Option value="32">非金属</Option> <Option value="32">非金属</Option>
<Option value="31">职能口</Option> <Option value="31">职能口</Option>
<Option value="40">地下矿</Option> <Option value="40">地下矿</Option>
</Select> </Select>
{/* <Input {/* <Input
onChange={this.handleSearch} onChange={this.handleSearch}
style={{ width: "150px" }} style={{ width: "150px" }}
></Input> */} ></Input> */}
</Form.Item> </Form.Item>
</Col> </Col>
<Col span={5} style={{ marginLeft: "10px" }}> <Col span={5} style={{ marginLeft: "10px" }}>
<Form.Item <Form.Item
label={'检查层级'} label={'检查层级'}
{...formItemLayout} {...formItemLayout}
> >
<Select <Select
// defaultValue="风险管理" // defaultValue="风险管理"
allowClear allowClear
style={{width:'180px'}} style={{ width: '180px' }}
onChange={this.handleSearch2} onChange={this.handleSearch2}
> >
<Option value="2">班组级</Option> <Option value="2">班组级</Option>
<Option value="1">车间级</Option> <Option value="1">车间级</Option>
<Option value="0">部门级</Option> <Option value="0">部门级</Option>
<Option value="3">公司级</Option> <Option value="3">公司级</Option>
<Option value="4">岗位级</Option> <Option value="4">岗位级</Option>
</Select> </Select>
{/* <Input {/* <Input
onChange={this.handleSearch2} onChange={this.handleSearch2}
style={{ width: "150px" }} style={{ width: "150px" }}
></Input> */} ></Input> */}
</Form.Item> </Form.Item>
</Col> </Col>
<Col span={5} style={{ marginLeft: "10px" }}> <Col span={5} style={{ marginLeft: "10px" }}>
<Form.Item <Form.Item
label={'检查类型'} label={'检查类型'}
{...formItemLayout} {...formItemLayout}
> >
{/* <Input {/* <Input
onChange={this.handleSearch3} onChange={this.handleSearch3}
style={{ width: "150px" }} style={{ width: "150px" }}
></Input> */} ></Input> */}
<DropDownPagination inputDataApi={'SK/CheckType/OrderPaged'} fieldName={'NAME'} <DropDownPagination inputDataApi={'SK/CheckType/OrderPaged'} fieldName={'NAME'}
data={this.state.checkType} onSelect={this.handleSearch3} onFilter={({ params }) => { data={this.state.checkType} onSelect={this.handleSearch3} onFilter={({ params }) => {
params.OrderType = 1 params.OrderType = 1
params.OrgId = this.props.login.OrgId params.OrgId = this.props.login.OrgId
}} /> }} />
</Form.Item> </Form.Item>
</Col> </Col>
<Col span={1} style={{ marginLeft: "20px" }}><Button type='primary' onClick={() => this.loadData2()}>查询</Button></Col> <Col span={1} style={{ marginLeft: "20px" }}><Button type='primary' onClick={() => this.loadData2()}>查询</Button></Col>
</Row> </Row>
<div> <div>
<h1 style={{ textAlign: 'center', margin: '15px' }}>检查清单</h1> <h1 style={{ textAlign: 'center', margin: '15px' }}>检查清单</h1>
{this.state.dataList? {this.state.dataList ?
<Table style={{ width:"1250px",margin:"auto",alignContent:"center",backgroundColor:"white"}} <Table style={{ width: "1250px", margin: "auto", alignContent: "center", backgroundColor: "white" }}
dataSource={this.state.dataList} dataSource={this.state.dataList}
columns={this.state.columndatas} columns={this.state.columndatas}
pagination={false} pagination={false}
bordered bordered
loading={false} loading={false}
size="small" size="small"
/> />
:[]} : []}
</div> </div>
</div> </div>
} }
} }
export default connect(({ login,app }) => ({ login,app }))(SK004CheckList) export default connect(({ login, app }) => ({ login, app }))(SK004CheckList)

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
import { Button, Descriptions,Popconfirm, Row, Col, Form,Modal, Input, Select, Table } from 'antd'; import { Button, Descriptions, Popconfirm, Row, Col, Form, Modal, Input, Select, Table } from 'antd';
import React , { useState }from 'react'; import React, { useState } from 'react';
import { initFilter, extendRule, extendInclude, extendIgnoreDataRule,setDataFieldValue,GetFileModel, guid, initQueryFilter,showFiles } from "../../../utils/common"; import { initFilter, extendRule, extendInclude, extendIgnoreDataRule, setDataFieldValue, GetFileModel, guid, initQueryFilter, showFiles } from "../../../utils/common";
import ReactToPrint from "react-to-print"; import ReactToPrint from "react-to-print";
import stylesStep from '../HI/StepForm.css'; import stylesStep from '../HI/StepForm.css';
import config from "../../../config"; import config from "../../../config";
@ -11,401 +11,394 @@ import { message } from "antd/lib/index";
import FormPage from '../../../components/FormPage' import FormPage from '../../../components/FormPage'
import DropDownPagination from '../../common/DropDownPaginationEx' import DropDownPagination from '../../common/DropDownPaginationEx'
class SK004CheckPost extends React.Component { class SK004CheckPost extends React.Component {
constructor(props) { constructor(props) {
super(props); super(props);
this.state = { this.state = {
fileForm: { fileForm: {
title: "", title: "",
visible: false, visible: false,
},
inputText: "",
inputText2: "",
inputText3: "",
departId: null,
data: {},
depart: {},
departName: '',
postName: '',
phone: '',
post: {},
cards: {},
dataList: [],
MineType: 0,
CHECK_CYCLE: 0,
CHECK_TYPE: 0,
CHECK_CYCLE_ID: null,
BtnAgreeDisplay: 'none',
showDetail: false,
Details: [],
columns: [
{
title: '序号',
dataIndex: 'NUM',
key: "NUM",
render: (text, record, index) => {
return <label>{index + 1}</label>
}
}, },
inputText:"", {
inputText2:"", title: "生产单元",
inputText3:"", dataIndex: "Nav_ProductionUnit.NAME",
departId:null, key: "Nav_ProductionUnit.NAME",
data: {}, // render: (text, record, index) => {
depart: {}, // return <label>{this.props.app.enums.SKProductionUnit.enums[record.MineType]}</label>
departName:'', // }
postName:'', },
phone:'', {
post: {}, title: "辨识区域",
cards: {}, dataIndex: "Nav_Area.NAME",
dataList: [], key: "Nav_Area.NAME",
MineType:0, },
CHECK_CYCLE:0, {
CHECK_TYPE:0, title: "风险名称",
CHECK_CYCLE_ID:null, dataIndex: "RISK_NAME",
BtnAgreeDisplay: 'none', key: "RISK_NAME",
showDetail:false, },
Details:[], {
columns : [ title: "风险描述",
{ dataIndex: "RISK_DESCRIPTION",
title: '序号', key: "RISK_DESCRIPTION",
dataIndex: 'NUM', },
key: "NUM", {
render: (text, record, index) => { title: "风险类别",
return <label>{index+1}</label> dataIndex: "Nav_Type.NAME",
} key: "Nav_Type.NAME",
}, },
{ // {
title: "生产单元", // title: "风险评价L",
dataIndex: "Nav_ProductionUnit.NAME", // dataIndex: "EVALUATE_L",
key: "Nav_ProductionUnit.NAME", // key: "EVALUATE_L",
// render: (text, record, index) => { // },
// return <label>{this.props.app.enums.SKProductionUnit.enums[record.MineType]}</label> // {
// } // title: "风险评价E",
}, // dataIndex: "EVALUATE_E",
{ // key: "EVALUATE_E",
title: "辨识区域", // },
dataIndex: "Nav_Area.NAME", // {
key: "Nav_Area.NAME", // title: "风险评价C",
}, // dataIndex: "EVALUATE_C",
{ // key: "EVALUATE_C",
title: "风险名称", // },
dataIndex: "RISK_NAME", // {
key: "RISK_NAME", // title: "分值D",
}, // dataIndex: "EVALUATE_SCORE",
{ // key: "EVALUATE_SCORE",
title: "风险描述", // },
dataIndex: "RISK_DESCRIPTION", {
key: "RISK_DESCRIPTION", title: "风险等级",
}, dataIndex: "EVALUATE_LEVEL",
{ key: "EVALUATE_LEVEL",
title: "风险类别", render: (text, record, index) => {
dataIndex: "Nav_Type.NAME", return <label>{this.props.app.enums.SKEvaluateLevelEnum.enums[record.EVALUATE_LEVEL]}</label>
key: "Nav_Type.NAME", }
}, },
// { // {
// title: "风险评价L", // title: '操作',
// dataIndex: "EVALUATE_L", // dataIndex: '',
// key: "EVALUATE_L", // key: '',
// }, // render: (text, record, index) => {
// { // return <Button type='defualt' size='small' onClick={(e) => { this.showModalCard(record) }} icon='eye' />
// title: "风险评价E", // }
// dataIndex: "EVALUATE_E", // }
// key: "EVALUATE_E", ],
// }, columndatas: [
// { {
// title: "风险评价C", title: '序号',
// dataIndex: "EVALUATE_C", dataIndex: 'NUM',
// key: "EVALUATE_C", key: "NUM",
// }, render: (text, record, index) => {
// { return <label>{index + 1}</label>
// title: "分值D", }
// dataIndex: "EVALUATE_SCORE", },
// key: "EVALUATE_SCORE", {
// }, title: "生产单元",
{ dataIndex: "Nav_Library.Nav_ProductionUnit.NAME",
title: "风险等级", key: "Nav_Library.Nav_ProductionUnit.NAME",
dataIndex: "EVALUATE_LEVEL", // render: (text, record, index) => {
key: "EVALUATE_LEVEL", // return <label>{this.props.app.enums.SKProductionUnit.enums[record.Nav_Librarys[0]?.MineType]}</label>
render: (text, record, index) => { // }
return <label>{this.props.app.enums.SKEvaluateLevelEnum.enums[record.EVALUATE_LEVEL]}</label> },
} {
}, title: "辨识部门",
// { dataIndex: "Nav_Department.NAME",
// title: '操作', key: "Nav_Department.NAME",
// dataIndex: '', },
// key: '', {
// render: (text, record, index) => { title: "辨识岗位",
// return <Button type='defualt' size='small' onClick={(e) => { this.showModalCard(record) }} icon='eye' /> dataIndex: "POST_NAME",
// } key: "POST_NAME",
// } },
], {
columndatas : [ title: '操作',
{ dataIndex: '',
title: '序号', key: '',
dataIndex: 'NUM', render: (text, record, index) => {
key: "NUM", return <Button type='defualt' size='small' onClick={(e) => { this.showModal(record) }} icon='eye' />
render: (text, record, index) => { }
return <label>{index+1}</label> }
} ]
},
{
title: "生产单元",
dataIndex: "Nav_Library.Nav_ProductionUnit.NAME",
key: "Nav_Library.Nav_ProductionUnit.NAME",
// render: (text, record, index) => {
// return <label>{this.props.app.enums.SKProductionUnit.enums[record.Nav_Librarys[0]?.MineType]}</label>
// }
},
{
title: "辨识部门",
dataIndex: "Nav_Department.NAME",
key: "Nav_Department.NAME",
},
{
title: "辨识岗位",
dataIndex: "POST_NAME",
key: "POST_NAME",
},
{
title: '操作',
dataIndex: '',
key: '',
render: (text, record, index) => {
return <Button type='defualt' size='small' onClick={(e) => { this.showModal(record) }} icon='eye' />
}
}
]
};
}; };
};
componentDidMount() { componentDidMount() {
if (this.props.data?.btnConfig?.id) if (this.props.data?.btnConfig?.id) { this.loadData(); }
{this.loadData();} }
}
componentWillReceiveProps(NextProps) { componentWillReceiveProps(NextProps) {
if (NextProps.data?.btnConfig?.id && this.props.data?.btnConfig?.id != NextProps.data?.btnConfig?.id) if (NextProps.data?.btnConfig?.id && this.props.data?.btnConfig?.id != NextProps.data?.btnConfig?.id) { this.loadData(); }
{this.loadData();} }
} BtnClose = () => {
BtnClose = () => { if (typeof this.props.data.onCancel != "undefined" && typeof this.props.data.onCancel == 'function')
if (typeof this.props.data.onCancel != "undefined"&&typeof this.props.data.onCancel == 'function') this.props.data.onCancel();
this.props.data.onCancel(); }
}
loadData = () => { loadData = () => {
let json = initFilter(this.props.login.OrgId); let json = initFilter(this.props.login.OrgId);
extendIgnoreDataRule(json) json.Parameter22 = this.props.data.ORG_ID_HV;
this.props.dispatch({ extendIgnoreDataRule(json)
type: 'app/getDataByPost', this.props.dispatch({
payload: json, type: 'app/getDataByPost',
url: 'SK/SKEnterpriseLibrary/GetPostRiskList', payload: json,
onComplete: (ret) => { url: 'SK/SKEnterpriseLibrary/GetPostRiskList',
if (ret) { onComplete: (ret) => {
this.setState({ data:ret,dataList: ret }); if (ret) {
} this.setState({ data: ret, dataList: ret });
} }
});
}
loadData2()
{
let temp=this.state.data
if(this.state.inputText)
{
temp=temp.filter(t=>t.Nav_Department?.NAME.includes(this.state.inputText));
} }
if(this.state.inputText2) });
{ }
temp=temp.filter(t=>t.POST_NAME.includes(this.state.inputText2)); loadData2() {
} let temp = this.state.data
if(this.state.inputText3) if (this.state.inputText) {
{ temp = temp.filter(t => t.Nav_Department?.NAME.includes(this.state.inputText));
temp=temp.filter(t=>t.Nav_Library?.Nav_ProductionUnit?.NAME.includes(this.state.inputText3));
}
this.setState({dataList :temp})
} }
onTableBtnExport() { if (this.state.inputText2) {
const enums=this.props.data.enums ? this.props.data.enums :this.props.app.enums ; temp = temp.filter(t => t.POST_NAME.includes(this.state.inputText2));
let TableWrap = document.getElementById('tableId' + this.props.data.id);
let Table = TableWrap.getElementsByTagName('table')[0];
const wb = XLSX.utils.table_to_book(Table);
XLSX.writeFile(wb, "岗位风险清单.xlsx")
} }
if (this.state.inputText3) {
temp = temp.filter(t => t.Nav_Library?.Nav_ProductionUnit?.NAME.includes(this.state.inputText3));
}
this.setState({ dataList: temp })
}
onTableBtnExport() {
const enums = this.props.data.enums ? this.props.data.enums : this.props.app.enums;
let TableWrap = document.getElementById('tableId' + this.props.data.id);
let Table = TableWrap.getElementsByTagName('table')[0];
const wb = XLSX.utils.table_to_book(Table);
XLSX.writeFile(wb, "岗位风险清单.xlsx")
}
showModal = (item) => { showModal = (item) => {
this.setState({ this.setState({
showDetail: true, showDetail: true,
},()=>{ }, () => {
this.setState({ this.setState({
Details:item.Nav_Librarys, Details: item.Nav_Librarys,
departName:item.Nav_Department?.NAME, departName: item.Nav_Department?.NAME,
postName:item.POST_NAME, postName: item.POST_NAME,
phone:item.PHONE, phone: item.PHONE,
}); });
}); });
}; };
handleCancel = () => { handleCancel = () => {
this.setState({ this.setState({
showDetail: false, showDetail: false,
Details:[] Details: []
}); });
}; };
closeModal = () => { closeModal = () => {
this.setState({ this.setState({
showDetail: false, showDetail: false,
Details:[] Details: []
}); });
}; };
handleCancelCard = () => { handleCancelCard = () => {
this.setState({ this.setState({
showCard: false, showCard: false,
cards:{} cards: {}
}); });
}; };
showModalCard = (record) => { showModalCard = (record) => {
this.setState({ this.setState({
showCard: true, showCard: true,
},()=>{ }, () => {
let tmpData = []; let tmpData = [];
if(record.Nav_Details) if (record.Nav_Details) {
{ for (var i = 0; i < record.Nav_Details.length; i++) {
for(var i = 0; i <record.Nav_Details.length ; i++) tmpData = tmpData + "\r\n" + (i + 1) + "、" + record.Nav_Details[i].MEASURES_NAME
{ }
tmpData = tmpData+ "\r\n"+ (i+1)+"、" +record.Nav_Details[i].MEASURES_NAME
}
}
let temps={
RISK_NAME:record.RISK_NAME,
RISK_CODE:"01",
EVALUATE_LEVEL:this.props.app.enums.SKEvaluateLevelEnum.enums[record.EVALUATE_LEVEL],
RISK_DESCRIPTION:record.RISK_DESCRIPTION,
MEASURES_NAME:tmpData,
RISK_TYPE:record.Nav_Type.NAME,
EMERGENCY:record.EMERGENCY,
photo:record.Nav_Photo[0]
}
this.setState({
cards:temps,
});
});
};
closeModalCard = () => {
this.setState({
showCard: false,
cards:{}
});
};
handleSearch = ({data, record}) => {
this.setState({
depart: {
...this.state.depart,
DEPARTMENT_ID: data[0],
Nav_Department: { NAME: record?.NAME },
},
inputText: record?.NAME,
departId: record?.ID
})
};
handleSearch2 = ({data, record}) => {
// const { value } = evt.target;
// this.setState({ inputText2: value ? value : "" });
this.setState({
post: {
...this.state.post,
POST_ID: data[0],
Nav_Post: { NAME: record?.NAME },
},
inputText2: record?.NAME
})
};
handleSearch3=(value)=>{
this.setState({
inputText3: value
})
} }
render() { let temps = {
const formItemLayout = { RISK_NAME: record.RISK_NAME,
labelCol: { span: 8 }, RISK_CODE: "01",
wrapperCol: { span: 16 }, EVALUATE_LEVEL: this.props.app.enums.SKEvaluateLevelEnum.enums[record.EVALUATE_LEVEL],
RISK_DESCRIPTION: record.RISK_DESCRIPTION,
MEASURES_NAME: tmpData,
RISK_TYPE: record.Nav_Type.NAME,
EMERGENCY: record.EMERGENCY,
photo: record.Nav_Photo[0]
} }
const enums=this.props.data.enums ? this.props.data.enums :this.props.app.enums ; this.setState({
// let aaa = Math.random(); cards: temps,
return <div> });
<div> });
<Modal };
visible={this.state.showCard} closeModalCard = () => {
title="岗位风险点告知卡" this.setState({
maskClosable={false} showCard: false,
onCancel={this.handleCancelCard} cards: {}
footer={null} });
className="antd-modal-fullscreen" };
closeModal={this.closeModalCard} handleSearch = ({ data, record }) => {
> this.setState({
<br></br> depart: {
<h2 style={{textAlign:'center',fontWeight:'bold',margin:"auto",color:"red"}}> {this.state.postName}岗位风险点告知卡</h2> ...this.state.depart,
<br></br> DEPARTMENT_ID: data[0],
<table style={{margin:"auto",alignContent:"center",width:"1000px"}} className={stylesStep.PrintForm} > Nav_Department: { NAME: record?.NAME },
<tr> },
<td style={{backgroundColor:"yellow",width:"120px",textAlign:'center'}}> inputText: record?.NAME,
departId: record?.ID
})
};
handleSearch2 = ({ data, record }) => {
// const { value } = evt.target;
// this.setState({ inputText2: value ? value : "" });
this.setState({
post: {
...this.state.post,
POST_ID: data[0],
Nav_Post: { NAME: record?.NAME },
},
inputText2: record?.NAME
})
};
handleSearch3 = (value) => {
this.setState({
inputText3: value
})
}
render() {
const formItemLayout = {
labelCol: { span: 8 },
wrapperCol: { span: 16 },
}
const enums = this.props.data.enums ? this.props.data.enums : this.props.app.enums;
// let aaa = Math.random();
return <div>
<div>
<Modal
visible={this.state.showCard}
title="岗位风险点告知卡"
maskClosable={false}
onCancel={this.handleCancelCard}
footer={null}
className="antd-modal-fullscreen"
closeModal={this.closeModalCard}
>
<br></br>
<h2 style={{ textAlign: 'center', fontWeight: 'bold', margin: "auto", color: "red" }}> {this.state.postName}岗位风险点告知卡</h2>
<br></br>
<table style={{ margin: "auto", alignContent: "center", width: "1000px" }} className={stylesStep.PrintForm} >
<tr>
<td style={{ backgroundColor: "yellow", width: "120px", textAlign: 'center' }}>
风险点名称 风险点名称
</td> </td>
<td> <td>
{this.state.cards?.RISK_NAME} {this.state.cards?.RISK_NAME}
</td> </td>
<td style={{backgroundColor:"red",color:"white",width:"150px",textAlign:'center'}} rowSpan={3}> <td style={{ backgroundColor: "red", color: "white", width: "150px", textAlign: 'center' }} rowSpan={3}>
主要危险因素描述 主要危险因素描述
</td> </td>
<td rowSpan={3}> <td rowSpan={3}>
{this.state.cards?.RISK_DESCRIPTION} {this.state.cards?.RISK_DESCRIPTION}
</td> </td>
</tr> </tr>
<tr> <tr>
<td style={{backgroundColor:"yellow",width:"120px",textAlign:'center'}}>风险点编号</td> <td style={{ backgroundColor: "yellow", width: "120px", textAlign: 'center' }}>风险点编号</td>
<td> {this.state.cards?.RISK_CODE}</td> <td> {this.state.cards?.RISK_CODE}</td>
</tr> </tr>
<tr> <tr>
<td style={{backgroundColor:"yellow",width:"120px",textAlign:'center'}}>风险等级</td> <td style={{ backgroundColor: "yellow", width: "120px", textAlign: 'center' }}>风险等级</td>
<td> {this.state.cards?.EVALUATE_LEVEL}</td> <td> {this.state.cards?.EVALUATE_LEVEL}</td>
</tr> </tr>
<tr> <tr>
<td style={{backgroundColor:"yellow",width:"120px",textAlign:'center'}}>安全标志</td> <td style={{ backgroundColor: "yellow", width: "120px", textAlign: 'center' }}>安全标志</td>
<td> {this.state.cards?.photo?showFiles(this.state.cards?.photo, config.picServerHost, this) <td> {this.state.cards?.photo ? showFiles(this.state.cards?.photo, config.picServerHost, this)
:<img title={"安全标志"} src={require("../../../../src/assets/aqbz.png")} /> : <img title={"安全标志"} src={require("../../../../src/assets/aqbz.png")} />
} }
</td> </td>
<td style={{backgroundColor:"red",color:"white",width:"150px",textAlign:'center'}}>主要风险控制措施</td> <td style={{ backgroundColor: "red", color: "white", width: "150px", textAlign: 'center' }}>主要风险控制措施</td>
<td> {this.state.cards?.MEASURES_NAME}</td> <td> {this.state.cards?.MEASURES_NAME}</td>
</tr> </tr>
<tr> <tr>
<td style={{backgroundColor:"rgba(1,203,253)",color:"white",width:"120px",textAlign:'center'}}>责任单位</td> <td style={{ backgroundColor: "rgba(1,203,253)", color: "white", width: "120px", textAlign: 'center' }}>责任单位</td>
<td> {this.state?.departName}</td> <td> {this.state?.departName}</td>
<td style={{backgroundColor:"red",color:"white",width:"150px",textAlign:'center'}}>主要事故类型</td> <td style={{ backgroundColor: "red", color: "white", width: "150px", textAlign: 'center' }}>主要事故类型</td>
<td> {this.state.cards?.RISK_TYPE}</td> <td> {this.state.cards?.RISK_TYPE}</td>
</tr> </tr>
<tr> <tr>
<td style={{backgroundColor:"rgba(1,203,253)",color:"white",width:"120px",textAlign:'center'}}>责任人联系电话</td> <td style={{ backgroundColor: "rgba(1,203,253)", color: "white", width: "120px", textAlign: 'center' }}>责任人联系电话</td>
<td> {this.state?.phone}</td> <td> {this.state?.phone}</td>
<td style={{backgroundColor:"red",color:"white",width:"150px",textAlign:'center'}}>应急处置措施</td> <td style={{ backgroundColor: "red", color: "white", width: "150px", textAlign: 'center' }}>应急处置措施</td>
<td> {this.state.cards?.EMERGENCY}</td> <td> {this.state.cards?.EMERGENCY}</td>
</tr> </tr>
</table> </table>
<br></br>
</Modal>
<br></br> <br></br>
<Modal </Modal>
visible={this.state.showDetail} <br></br>
title="岗位风险清单" <Modal
maskClosable={false} visible={this.state.showDetail}
onCancel={this.handleCancel} title="岗位风险清单"
footer={null} maskClosable={false}
className="antd-modal-fullscreen" onCancel={this.handleCancel}
closeModal={this.closeModal} footer={null}
> className="antd-modal-fullscreen"
<Table closeModal={this.closeModal}
dataSource={this.state.Details} >
columns={this.state.columns} <Table
pagination={true} dataSource={this.state.Details}
bordered columns={this.state.columns}
loading={false} pagination={true}
size="small" bordered
/> loading={false}
</Modal> size="small"
<br></br> />
<Row style={{width:"1250px",margin:"auto"}}> </Modal>
<br></br>
<Row style={{ width: "1250px", margin: "auto" }}>
<Col span={5}> <Col span={5}>
<Form.Item <Form.Item
label={'生产单元'} label={'生产单元'}
{...formItemLayout} {...formItemLayout}
> >
<Select <Select
style={{width:'180px'}} style={{ width: '180px' }}
allowClear allowClear
onChange={this.handleSearch3} onChange={this.handleSearch3}
> >
<Option value="30">露天矿</Option> <Option value="30">露天矿</Option>
<Option value="10">选矿厂</Option> <Option value="10">选矿厂</Option>
<Option value="20">尾矿库</Option> <Option value="20">尾矿库</Option>
<Option value="31">职能口</Option> <Option value="31">职能口</Option>
<Option value="32">非金属</Option> <Option value="32">非金属</Option>
<Option value="40">地下矿</Option> <Option value="40">地下矿</Option>
</Select> </Select>
</Form.Item> </Form.Item>
</Col> </Col>
<Col span={5} style={{ marginLeft: "10px" }}> <Col span={5} style={{ marginLeft: "10px" }}>
{/* <Form.Item {/* <Form.Item
label={'辨识部门'} label={'辨识部门'}
{...formItemLayout} {...formItemLayout}
> >
@ -414,58 +407,58 @@ class SK004CheckPost extends React.Component {
style={{ width: "150px" }} style={{ width: "150px" }}
></Input> ></Input>
</Form.Item> */} </Form.Item> */}
<Form.Item <Form.Item
label={'辨识部门'} label={'辨识部门'}
{...formItemLayout} {...formItemLayout}
> >
<DropDownPagination inputDataApi={'SK/SKEnterpriseLibrary/DepartOrderPaged'} fieldName={'Nav_Department.NAME'} <DropDownPagination inputDataApi={'SK/SKEnterpriseLibrary/DepartOrderPaged'} fieldName={'Nav_Department.NAME'}
data={this.state.depart} onSelect={this.handleSearch} onFilter={({ params }) => { data={this.state.depart} onSelect={this.handleSearch} onFilter={({ params }) => {
params.OrderType = 1 params.OrderType = 1
params.Keyword = this.state.inputText3 params.Keyword = this.state.inputText3
params.OrgId = this.props.login.OrgId params.OrgId = this.props.login.OrgId
}} /> }} />
</Form.Item> </Form.Item>
</Col> </Col>
<Col span={5} style={{ marginLeft: "10px" }}> <Col span={5} style={{ marginLeft: "10px" }}>
<Form.Item <Form.Item
label={'辨识岗位'} label={'辨识岗位'}
{...formItemLayout} {...formItemLayout}
> >
{/* <Input {/* <Input
onChange={this.handleSearch2} onChange={this.handleSearch2}
style={{ width: "150px" }} style={{ width: "150px" }}
></Input> */} ></Input> */}
<DropDownPagination inputDataApi={'SK/SKEnterpriseLibrary/PostOrderPaged'} fieldName={'Nav_Post.NAME'} <DropDownPagination inputDataApi={'SK/SKEnterpriseLibrary/PostOrderPaged'} fieldName={'Nav_Post.NAME'}
data={this.state.post} onSelect={this.handleSearch2} onFilter={({ params }) => { data={this.state.post} onSelect={this.handleSearch2} onFilter={({ params }) => {
params.OrderType = 1 params.OrderType = 1
params.Keyword = this.state.departId params.Keyword = this.state.departId
params.OrgId = this.props.login.OrgId params.OrgId = this.props.login.OrgId
}} /> }} />
</Form.Item> </Form.Item>
</Col> </Col>
<Col span={1} style={{ marginLeft: "20px" }}><Button type='primary' onClick={() => this.loadData2()}>查询</Button></Col> <Col span={1} style={{ marginLeft: "20px" }}><Button type='primary' onClick={() => this.loadData2()}>查询</Button></Col>
</Row> </Row>
<div> <div>
<h1 style={{ textAlign: 'center', margin: '15px' }}>岗位风险清单</h1> <h1 style={{ textAlign: 'center', margin: '15px' }}>岗位风险清单</h1>
{this.state.dataList? {this.state.dataList ?
<Table style={{ width:"1250px",margin:"auto",alignContent:"center",backgroundColor:"white"}} <Table style={{ width: "1250px", margin: "auto", alignContent: "center", backgroundColor: "white" }}
dataSource={this.state.dataList} dataSource={this.state.dataList}
columns={this.state.columndatas} columns={this.state.columndatas}
pagination={true} pagination={true}
bordered bordered
loading={false} loading={false}
size="small" size="small"
/> />
:[]} : []}
</div>
</div> </div>
{
GetFileModel(Modal, FormPage, this, this.state.fileForm.visible)
}
</div> </div>
} {
GetFileModel(Modal, FormPage, this, this.state.fileForm.visible)
}
</div>
}
} }
export default connect(({ login,app }) => ({ login,app }))(SK004CheckPost) export default connect(({ login, app }) => ({ login, app }))(SK004CheckPost)

View File

@ -1,6 +1,6 @@
import { Button, Descriptions,Popconfirm, Row, Col, Form,Modal, Input, Select, Table } from 'antd'; import { Button, Descriptions, Popconfirm, Row, Col, Form, Modal, Input, Select, Table } from 'antd';
import React from 'react'; import React from 'react';
import { initFilter, extendRule, extendInclude, extendIgnoreDataRule,setDataFieldValue, guid, initQueryFilter } from "../../../utils/common"; import { initFilter, extendRule, extendInclude, extendIgnoreDataRule, setDataFieldValue, guid, initQueryFilter } from "../../../utils/common";
import ReactToPrint from "react-to-print"; import ReactToPrint from "react-to-print";
import stylesStep from '../HI/StepForm.css'; import stylesStep from '../HI/StepForm.css';
import config from "../../../config"; import config from "../../../config";
@ -10,426 +10,423 @@ import moment from 'moment';
import { message } from "antd/lib/index"; import { message } from "antd/lib/index";
import FormPage from '../../../components/FormPage' import FormPage from '../../../components/FormPage'
class SK004ShowPrint extends React.Component { class SK004ShowPrint extends React.Component {
constructor(props) { constructor(props) {
super(props); super(props);
this.state = { this.state = {
data: null, data: null,
BtnAgreeDisplay: 'none', BtnAgreeDisplay: 'none',
tmpData: {}, tmpData: {},
showDetail:false, showDetail: false,
showDetailContent: false, showDetailContent: false,
Details:{}, Details: {},
columns:[], columns: [],
DetailContents:{}, DetailContents: {},
columnContents:[], columnContents: [],
DetailPosts:{}, DetailPosts: {},
columnPosts:[] columnPosts: []
};
}; };
};
componentDidMount() { componentDidMount() {
if (this.props.data?.id) if (this.props.data?.id)
this.loadData(this.props.data?.id); this.loadData(this.props.data?.id);
this.state.columnContents = [ this.state.columnContents = [
{ {
title: '序号', title: '序号',
dataIndex: 'NUM', dataIndex: 'NUM',
key: "NUM", key: "NUM",
}, },
// { // {
// title: "检查内容", // title: "检查内容",
// dataIndex: "Nav_Contents.CHECKCONTENT", // dataIndex: "Nav_Contents.CHECKCONTENT",
// key: "Nav_Contents.CHECKCONTENT", // key: "Nav_Contents.CHECKCONTENT",
// }, // },
{ {
title: "检查内容", title: "检查内容",
dataIndex: "Nav_Contents.CHECKCONTENT", dataIndex: "Nav_Contents.CHECKCONTENT",
key: "Nav_Contents.CHECKCONTENT", key: "Nav_Contents.CHECKCONTENT",
}, },
// { // {
// title: "检查依据", // title: "检查依据",
// dataIndex: "Nav_DetailBasics", // dataIndex: "Nav_DetailBasics",
// key: "Nav_DetailBasics", // key: "Nav_DetailBasics",
// render: (text, record) => // render: (text, record) =>
// { // {
// return <label>{ // return <label>{
// record.Nav_DetailBasics && record.Nav_DetailBasics.map((item, i) => { // record.Nav_DetailBasics && record.Nav_DetailBasics.map((item, i) => {
// return item?.Nav_Law?.NAME+' ' // return item?.Nav_Law?.NAME+' '
// }) // })
// }</label> // }</label>
// } // }
// }, // },
// { // {
// title: "判定标准", // title: "判定标准",
// dataIndex: "CHECK_STANDARD", // dataIndex: "CHECK_STANDARD",
// key: "CHECK_STANDARD", // key: "CHECK_STANDARD",
// }, // },
{ {
title: '操作', title: '操作',
dataIndex: '', dataIndex: '',
key: '', key: '',
render: (text, record, index) => { render: (text, record, index) => {
return <Button type='defualt' size='small' onClick={(e) => { this.showModal(record) }} icon='eye' /> return <Button type='defualt' size='small' onClick={(e) => { this.showModal(record) }} icon='eye' />
}
}
];
this.state.columnPosts = [
{
title: "检查层级",
dataIndex: "CHECK_TYPE",
key: "CHECK_TYPE",
render: (text, record) =>
{
return <label>{this.props.app.enums.SKDepartmentTypeEnum.enums[record.CHECK_TYPE]}</label>
}
},
{
title: "检查部门",
dataIndex: "Nav_Department.NAME",
key: "Nav_Department.NAME",
},
{
title: "检查岗位",
dataIndex: "Nav_DetailPosts",
key: "Nav_DetailPosts",
render: (text, record) =>
{
return <label>{
record.Nav_DetailPosts && record.Nav_DetailPosts.map((item, i) => {
return item.Nav_Post.NAME+' '
})
}</label>
}
},
{
title: "检查类型",
dataIndex: "Nav_CheckType.NAME",
key: "Nav_CheckType.NAME",
},
{
title: "检查周期",
dataIndex: "CHECK_CYCLE",
key: "CHECK_CYCLE",
render: (text, record) =>
{
return <label>{this.props.app.enums.SKPLANCHECKFREQUENCYEnum.enums[record.CHECK_CYCLE]}</label>
}
},
];
this.state.columns = [
{
title: '序号',
dataIndex: 'NUM',
key: "NUM",
},
{
title: "隐患描述",
dataIndex: "HIDDEN_DESCRIPTION",
key: "HIDDEN_DESCRIPTION",
},
{
title: "隐患等级",
dataIndex: "HIDDEN_LEVEL",
key: "HIDDEN_LEVEL",
render: (text, record) => this.ShowState(record),
},
{
title: "整改措施",
dataIndex: "RECTIFICATION_MEASURES",
key: "RECTIFICATION_MEASURES",
},
];
}
componentWillReceiveProps(NextProps) {
if (NextProps.data?.id && this.props.data?.id != NextProps.data?.id) {
this.loadData(NextProps.data?.id);
}
}
ShowState(obj) {
if (obj.HIDDEN_LEVEL === 0) {
return "一般";
} else {
return "重大";
} }
} }
BtnClose = () => { ];
if (typeof this.props.data.onCancel != "undefined"&&typeof this.props.data.onCancel == 'function') this.state.columnPosts = [
this.props.data.onCancel(); {
} title: "检查层级",
dataIndex: "CHECK_TYPE",
loadData = (dataId) => { key: "CHECK_TYPE",
let that=this; render: (text, record) => {
let json = initFilter(that.props.login.OrgId); return <label>{this.props.app.enums.SKDepartmentTypeEnum.enums[record.CHECK_TYPE]}</label>
extendRule(json, 'ID', 1, dataId);
// extendInclude(json, 'Nav_Type');
// extendInclude(json, 'Nav_Area');
// extendInclude(json, 'Nav_Posts');
// extendInclude(json, 'Nav_RiskName');
// extendInclude(json, 'Nav_Posts.Nav_PostDetails.Nav_Post');
// extendInclude(json, 'Nav_Departs');
// extendInclude(json, 'Nav_Departs.Nav_Department');
// extendInclude(json, 'Nav_Departs.Nav_User');
// extendInclude(json, 'Nav_Details');
// extendInclude(json, 'Nav_Details.Nav_DetailContents');
// extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_Contents');
// extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_DetailHiddens.Nav_Question');
// extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_DetailDeparts');
// extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_DetailBasics.Nav_Law');
// extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_DetailDeparts.Nav_Department');
// extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_DetailDeparts.Nav_CheckType');
// extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_DetailDeparts.Nav_DetailPosts');
// extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_DetailDeparts.Nav_DetailPosts.Nav_Post');
extendIgnoreDataRule(json)
that.props.dispatch({
type: 'app/getDataByPost',
payload: json,
url: 'SK/SKEnterpriseLibrary/SKGet',
onComplete: (ret) => {
if (ret) {
if(that.props.data && that.props.data.loadDataDeal)
{
that.props.data.loadDataDeal(1);
}
that.setState({ data: ret });
if (that.props.data.tableKey==="2" ||that.props.data.tableKey===undefined) {
that.setState({ BtnAgreeDisplay: 'none' })
}else{
that.setState({ BtnAgreeDisplay: 'inline' })
}
this.onClickApprove(false);
//归档才显示打印和导出按钮
// if(ret.PRE_MEETING_STATUS==5){
// this.setState({ isFinished: 'inline' })
// }
}
}
});
}
onTableBtnExport() {
const enums=this.props.data.enums ? this.props.data.enums :this.props.app.enums ;
let TableWrap = document.getElementById('tableId' + this.props.data.id);
let Table = TableWrap.getElementsByTagName('table')[0];
const wb = XLSX.utils.table_to_book(Table);
XLSX.writeFile(wb, "双控企业库.xlsx")
}
onClickApprove=(appVisible)=>{
const newtmpData = {
data: { id: this.props.data.id, isShow: true,key:guid(),param:this.props.data.param,appVisible:appVisible,BtnAgreeDisplay:'inline'},
formCode: "PF123",
} }
this.setState({ },
tmpData: newtmpData, {
}); title: "检查部门",
dataIndex: "Nav_Department.NAME",
key: "Nav_Department.NAME",
},
{
title: "检查岗位",
dataIndex: "Nav_DetailPosts",
key: "Nav_DetailPosts",
render: (text, record) => {
return <label>{
record.Nav_DetailPosts && record.Nav_DetailPosts.map((item, i) => {
return item.Nav_Post.NAME + ' '
})
}</label>
}
},
{
title: "检查类型",
dataIndex: "Nav_CheckType.NAME",
key: "Nav_CheckType.NAME",
},
{
title: "检查周期",
dataIndex: "CHECK_CYCLE",
key: "CHECK_CYCLE",
render: (text, record) => {
return <label>{this.props.app.enums.SKPLANCHECKFREQUENCYEnum.enums[record.CHECK_CYCLE]}</label>
}
},
];
this.state.columns = [
{
title: '序号',
dataIndex: 'NUM',
key: "NUM",
},
{
title: "隐患描述",
dataIndex: "HIDDEN_DESCRIPTION",
key: "HIDDEN_DESCRIPTION",
},
{
title: "隐患等级",
dataIndex: "HIDDEN_LEVEL",
key: "HIDDEN_LEVEL",
render: (text, record) => this.ShowState(record),
},
{
title: "整改措施",
dataIndex: "RECTIFICATION_MEASURES",
key: "RECTIFICATION_MEASURES",
},
];
}
componentWillReceiveProps(NextProps) {
if (NextProps.data?.id && this.props.data?.id != NextProps.data?.id) {
this.loadData(NextProps.data?.id);
} }
showModalContent = (item) => { }
this.setState({ ShowState(obj) {
showDetailContent: true, if (obj.HIDDEN_LEVEL === 0) {
},()=>{ return "一般";
this.setState({ } else {
DetailContents:item.Nav_DetailContents return "重大";
}); }
}); }
}; BtnClose = () => {
showModal = (item) => { if (typeof this.props.data.onCancel != "undefined" && typeof this.props.data.onCancel == 'function')
this.setState({ this.props.data.onCancel();
showDetail: true, }
},()=>{
this.setState({ loadData = (dataId) => {
Details:item.Nav_DetailHiddens, let that = this;
DetailPosts:item.Nav_DetailDeparts let json = initFilter(that.props.login.OrgId);
}); json.Parameter22 = this.props.data.ORG_ID_HV;
}); extendRule(json, 'ID', 1, dataId);
}; // extendInclude(json, 'Nav_Type');
handleCancel = () => { // extendInclude(json, 'Nav_Area');
this.setState({ // extendInclude(json, 'Nav_Posts');
showDetail: false, // extendInclude(json, 'Nav_RiskName');
}); // extendInclude(json, 'Nav_Posts.Nav_PostDetails.Nav_Post');
}; // extendInclude(json, 'Nav_Departs');
closeModal = () => { // extendInclude(json, 'Nav_Departs.Nav_Department');
this.setState({ // extendInclude(json, 'Nav_Departs.Nav_User');
showDetail: false, // extendInclude(json, 'Nav_Details');
}); // extendInclude(json, 'Nav_Details.Nav_DetailContents');
}; // extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_Contents');
handleCancelContent = () => { // extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_DetailHiddens.Nav_Question');
this.setState({ // extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_DetailDeparts');
showDetailContent: false, // extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_DetailBasics.Nav_Law');
}); // extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_DetailDeparts.Nav_Department');
}; // extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_DetailDeparts.Nav_CheckType');
closeModalContent = () => { // extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_DetailDeparts.Nav_DetailPosts');
this.setState({ // extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_DetailDeparts.Nav_DetailPosts.Nav_Post');
showDetailContent: false, extendIgnoreDataRule(json)
}); that.props.dispatch({
}; type: 'app/getDataByPost',
render() { payload: json,
const { data } = this.state; url: 'SK/SKEnterpriseLibrary/SKGet',
const enums=this.props.data.enums ? this.props.data.enums :this.props.app.enums ; onComplete: (ret) => {
// let aaa = Math.random(); if (ret) {
return <div> if (that.props.data && that.props.data.loadDataDeal) {
<Modal that.props.data.loadDataDeal(1);
visible={this.state.showDetailContent} }
title="检查明细" that.setState({ data: ret });
maskClosable={false} if (that.props.data.tableKey === "2" || that.props.data.tableKey === undefined) {
onCancel={this.handleCancelContent} that.setState({ BtnAgreeDisplay: 'none' })
footer={null} } else {
className="antd-modal-fullscreen" that.setState({ BtnAgreeDisplay: 'inline' })
closeModal={this.closeModalContent} }
> this.onClickApprove(false);
<Table //归档才显示打印和导出按钮
dataSource={this.state.DetailContents} // if(ret.PRE_MEETING_STATUS==5){
columns={this.state.columnContents} // this.setState({ isFinished: 'inline' })
pagination={false} // }
bordered }
loading={false} }
size="small" });
/> }
</Modal>
<Modal onTableBtnExport() {
visible={this.state.showDetail} const enums = this.props.data.enums ? this.props.data.enums : this.props.app.enums;
title="隐患查看" let TableWrap = document.getElementById('tableId' + this.props.data.id);
maskClosable={false} let Table = TableWrap.getElementsByTagName('table')[0];
onCancel={this.handleCancel} const wb = XLSX.utils.table_to_book(Table);
footer={null} XLSX.writeFile(wb, "双控企业库.xlsx")
className="antd-modal-fullscreen" }
closeModal={this.closeModal}
> onClickApprove = (appVisible) => {
<Table const newtmpData = {
dataSource={this.state.Details} data: { id: this.props.data.id, isShow: true, key: guid(), param: this.props.data.param, appVisible: appVisible, BtnAgreeDisplay: 'inline' },
columns={this.state.columns} formCode: "PF123",
pagination={false} }
bordered this.setState({
loading={false} tmpData: newtmpData,
size="small" });
/> }
<br></br> showModalContent = (item) => {
<Table this.setState({
dataSource={this.state.DetailPosts} showDetailContent: true,
columns={this.state.columnPosts} }, () => {
pagination={false} this.setState({
bordered DetailContents: item.Nav_DetailContents
loading={false} });
size="small" });
/> };
</Modal> showModal = (item) => {
<div style={{ padding: '10px' }}> this.setState({
{/* <Button onClick={() => this.onClickApprove(true)} style={{ marginRight: '8px'}} icon="export">审批详情</Button> */} showDetail: true,
<ReactToPrint }, () => {
trigger={() => <Button style={{ marginLeft: '8px', display: data && data.STATUS === 30?"inline":"none" }} type={'default'} icon={'printer'} >打印</Button>} this.setState({
content={() => this.componentRef} Details: item.Nav_DetailHiddens,
/> DetailPosts: item.Nav_DetailDeparts
<Button onClick={() => this.onTableBtnExport()} icon="export" style={{ marginLeft: '8px', display: data && data.STATUS === 30?"inline":"none" }}>导出</Button> });
</div> });
<div ref={el => (this.componentRef = el)} style={{ padding: '20px' }} id={'tableId' + this.props.data.id}> };
<h1 style={{ textAlign: 'center', margin: '15px' }}>双控企业库</h1> handleCancel = () => {
{ this.setState({
data ? showDetail: false,
<div> });
<Descriptions size="middle" bordered className={stylesStep.description}> };
<Descriptions.Item label="生产单元">{data.Nav_ProductionUnit?.NAME}</Descriptions.Item> closeModal = () => {
<Descriptions.Item label="辨识区域">{data.Nav_Area? data.Nav_Area?.NAME : ''}</Descriptions.Item> this.setState({
<Descriptions.Item label="风险名称">{data.RISK_NAME}</Descriptions.Item> showDetail: false,
<Descriptions.Item label="风险描述">{data.RISK_DESCRIPTION}</Descriptions.Item> });
<Descriptions.Item label="风险类别">{data.Nav_Type? data.Nav_Type?.NAME : ''}</Descriptions.Item> };
<Descriptions.Item label="风险评价L"> {data.Nav_SCOREL? data.Nav_SCOREL?.SCORE : 0}</Descriptions.Item> handleCancelContent = () => {
<Descriptions.Item label="风险评价E"> {data.Nav_SCOREE? data.Nav_SCOREE?.SCORE : 0}</Descriptions.Item> this.setState({
<Descriptions.Item label="风险评价C"> {data.Nav_SCOREC? data.Nav_SCOREC?.SCORE : 0}</Descriptions.Item> showDetailContent: false,
<Descriptions.Item label="分值D">{data.EVALUATE_SCORE}</Descriptions.Item> });
<Descriptions.Item label="风险等级">{enums.SKEvaluateLevelEnum.enums[data.EVALUATE_LEVEL]}</Descriptions.Item> };
<Descriptions.Item label="应急处置">{data.EMERGENCY}</Descriptions.Item> closeModalContent = () => {
<Descriptions.Item label="是否有效">{enums.FMEnableStatusEnum.enums[data.ENABLE_STATUS]}</Descriptions.Item> this.setState({
</Descriptions> showDetailContent: false,
</div>:null });
} };
{ render() {
data ? <table style={{ width: '100%', textAlign: 'left'}} className={stylesStep.PrintForm1}> const { data } = this.state;
<tr> const enums = this.props.data.enums ? this.props.data.enums : this.props.app.enums;
<td width='150px' textAlign='center' className={stylesStep.fontBold}>序号</td> // let aaa = Math.random();
<td className={stylesStep.fontBold}>管控层级</td> return <div>
<td className={stylesStep.fontBold}>管控部门</td> <Modal
<td className={stylesStep.fontBold}>管控责任人</td> visible={this.state.showDetailContent}
</tr> title="检查明细"
{ maskClosable={false}
data.Nav_Departs && data.Nav_Departs.sort((x, y) => x.DEPARTMENT_TYPE - y.DEPARTMENT_TYPE).map((item,i)=>{ onCancel={this.handleCancelContent}
return <tr> footer={null}
<td> className="antd-modal-fullscreen"
{i+1} closeModal={this.closeModalContent}
</td> >
<td> <Table
{enums.SKDepartmentTypeEnum.enums[item.DEPARTMENT_TYPE]} dataSource={this.state.DetailContents}
</td> columns={this.state.columnContents}
<td> pagination={false}
{item.Nav_Department?.NAME} bordered
</td> loading={false}
<td> size="small"
{item.Nav_User?.NAME} />
</td> </Modal>
</tr> <Modal
}) visible={this.state.showDetail}
} title="隐患查看"
</table>:null maskClosable={false}
} onCancel={this.handleCancel}
{ footer={null}
data ? <table style={{ width: '100%', textAlign: 'left'}} className={stylesStep.PrintForm1}> className="antd-modal-fullscreen"
<tr> closeModal={this.closeModal}
<td width='150px' textAlign='center' className={stylesStep.fontBold}>序号</td> >
<td className={stylesStep.fontBold}>管控措施</td> <Table
{/* <td className={stylesStep.fontBold}>应急处置</td> */} dataSource={this.state.Details}
<td className={stylesStep.fontBold}>查看</td> columns={this.state.columns}
</tr> pagination={false}
{ bordered
data.Nav_Details && data.Nav_Details.sort((x, y) => x.NUM - y.NUM).map((item,i)=>{ loading={false}
return <tr> size="small"
<td> />
{item.NUM} <br></br>
</td> <Table
<td> dataSource={this.state.DetailPosts}
{item.MEASURES_NAME} columns={this.state.columnPosts}
</td> pagination={false}
{/* <td> bordered
loading={false}
size="small"
/>
</Modal>
<div style={{ padding: '10px' }}>
{/* <Button onClick={() => this.onClickApprove(true)} style={{ marginRight: '8px'}} icon="export">审批详情</Button> */}
<ReactToPrint
trigger={() => <Button style={{ marginLeft: '8px', display: data && data.STATUS === 30 ? "inline" : "none" }} type={'default'} icon={'printer'} >打印</Button>}
content={() => this.componentRef}
/>
<Button onClick={() => this.onTableBtnExport()} icon="export" style={{ marginLeft: '8px', display: data && data.STATUS === 30 ? "inline" : "none" }}>导出</Button>
</div>
<div ref={el => (this.componentRef = el)} style={{ padding: '20px' }} id={'tableId' + this.props.data.id}>
<h1 style={{ textAlign: 'center', margin: '15px' }}>双控企业库</h1>
{
data ?
<div>
<Descriptions size="middle" bordered className={stylesStep.description}>
<Descriptions.Item label="生产单元">{data.Nav_ProductionUnit?.NAME}</Descriptions.Item>
<Descriptions.Item label="辨识区域">{data.Nav_Area ? data.Nav_Area?.NAME : ''}</Descriptions.Item>
<Descriptions.Item label="风险名称">{data.RISK_NAME}</Descriptions.Item>
<Descriptions.Item label="风险描述">{data.RISK_DESCRIPTION}</Descriptions.Item>
<Descriptions.Item label="风险类别">{data.Nav_Type ? data.Nav_Type?.NAME : ''}</Descriptions.Item>
<Descriptions.Item label="风险评价L"> {data.Nav_SCOREL ? data.Nav_SCOREL?.SCORE : 0}</Descriptions.Item>
<Descriptions.Item label="风险评价E"> {data.Nav_SCOREE ? data.Nav_SCOREE?.SCORE : 0}</Descriptions.Item>
<Descriptions.Item label="风险评价C"> {data.Nav_SCOREC ? data.Nav_SCOREC?.SCORE : 0}</Descriptions.Item>
<Descriptions.Item label="分值D">{data.EVALUATE_SCORE}</Descriptions.Item>
<Descriptions.Item label="风险等级">{enums.SKEvaluateLevelEnum.enums[data.EVALUATE_LEVEL]}</Descriptions.Item>
<Descriptions.Item label="应急处置">{data.EMERGENCY}</Descriptions.Item>
<Descriptions.Item label="是否有效">{enums.FMEnableStatusEnum.enums[data.ENABLE_STATUS]}</Descriptions.Item>
</Descriptions>
</div> : null
}
{
data ? <table style={{ width: '100%', textAlign: 'left' }} className={stylesStep.PrintForm1}>
<tr>
<td width='150px' textAlign='center' className={stylesStep.fontBold}>序号</td>
<td className={stylesStep.fontBold}>管控层级</td>
<td className={stylesStep.fontBold}>管控部门</td>
<td className={stylesStep.fontBold}>管控责任人</td>
</tr>
{
data.Nav_Departs && data.Nav_Departs.sort((x, y) => x.DEPARTMENT_TYPE - y.DEPARTMENT_TYPE).map((item, i) => {
return <tr>
<td>
{i + 1}
</td>
<td>
{enums.SKDepartmentTypeEnum.enums[item.DEPARTMENT_TYPE]}
</td>
<td>
{item.Nav_Department?.NAME}
</td>
<td>
{item.Nav_User?.NAME}
</td>
</tr>
})
}
</table> : null
}
{
data ? <table style={{ width: '100%', textAlign: 'left' }} className={stylesStep.PrintForm1}>
<tr>
<td width='150px' textAlign='center' className={stylesStep.fontBold}>序号</td>
<td className={stylesStep.fontBold}>管控措施</td>
{/* <td className={stylesStep.fontBold}>应急处置</td> */}
<td className={stylesStep.fontBold}>查看</td>
</tr>
{
data.Nav_Details && data.Nav_Details.sort((x, y) => x.NUM - y.NUM).map((item, i) => {
return <tr>
<td>
{item.NUM}
</td>
<td>
{item.MEASURES_NAME}
</td>
{/* <td>
{item.EMERGENCY} {item.EMERGENCY}
</td> */} </td> */}
<td><Button type="defualt" icon='eye' onClick={() => this.showModalContent(item)}></Button></td> <td><Button type="defualt" icon='eye' onClick={() => this.showModalContent(item)}></Button></td>
</tr> </tr>
}) })
} }
</table>:null </table> : null
} }
{ {
data ? <table style={{ width: '100%', textAlign: 'left'}} className={stylesStep.PrintForm1}> data ? <table style={{ width: '100%', textAlign: 'left' }} className={stylesStep.PrintForm1}>
<tr> <tr>
<td width='150px' textAlign='center' className={stylesStep.fontBold}>序号</td> <td width='150px' textAlign='center' className={stylesStep.fontBold}>序号</td>
<td className={stylesStep.fontBold}>辨识部门</td> <td className={stylesStep.fontBold}>辨识部门</td>
<td className={stylesStep.fontBold}>辨识岗位</td> <td className={stylesStep.fontBold}>辨识岗位</td>
</tr> </tr>
{
data.Nav_Posts && data.Nav_Posts.map((item, i) => {
return <tr>
<td>
{i + 1}
</td>
<td>
{item.Nav_Department?.NAME}
</td>
<td>
{ {
data.Nav_Posts && data.Nav_Posts.map((item,i)=>{ item?.Nav_PostDetails && item?.Nav_PostDetails.map((item2, i) => {
return <tr> return (i > 0 ? ";" : "") + item2?.Nav_Post?.NAME
<td> // return <tr><label> {item2.Nav_Post?.NAME}</label></tr>
{i+1} })
</td> }
<td> </td>
{item.Nav_Department?.NAME} </tr>
</td> })
<td> }
{ </table> : null
item?.Nav_PostDetails && item?.Nav_PostDetails.map((item2, i) => { }
return (i > 0 ? ";" : "") + item2?.Nav_Post?.NAME <FormPage {...this.state.tmpData} />
// return <tr><label> {item2.Nav_Post?.NAME}</label></tr> </div>
}) </div>
} }
</td>
</tr>
})
}
</table>:null
}
<FormPage {...this.state.tmpData} />
</div>
</div>
}
} }
export default connect(({ login,app }) => ({ login,app }))(SK004ShowPrint) export default connect(({ login, app }) => ({ login, app }))(SK004ShowPrint)

View File

@ -1,6 +1,6 @@
import { Button, Descriptions,Popconfirm, Row, Col, Form,Modal, Input, Select, Table } from 'antd'; import { Button, Descriptions, Popconfirm, Row, Col, Form, Modal, Input, Select, Table } from 'antd';
import React from 'react'; import React from 'react';
import { initFilter, extendRule, extendInclude, extendIgnoreDataRule,setDataFieldValue, guid, initQueryFilter } from "../../../utils/common"; import { initFilter, extendRule, extendInclude, extendIgnoreDataRule, setDataFieldValue, guid, initQueryFilter } from "../../../utils/common";
import ReactToPrint from "react-to-print"; import ReactToPrint from "react-to-print";
import stylesStep from '../HI/StepForm.css'; import stylesStep from '../HI/StepForm.css';
import config from "../../../config"; import config from "../../../config";
@ -20,15 +20,16 @@ class SK004ShowSummary extends React.Component {
}; };
componentDidMount() { componentDidMount() {
this.loadData(); this.loadData();
} }
BtnClose = () => { BtnClose = () => {
if (typeof this.props.data.onCancel != "undefined"&&typeof this.props.data.onCancel == 'function') if (typeof this.props.data.onCancel != "undefined" && typeof this.props.data.onCancel == 'function')
this.props.data.onCancel(); this.props.data.onCancel();
} }
loadData = () => { loadData = () => {
let json = initFilter(this.props.login.OrgId,"","",1,1); let json = initFilter(this.props.login.OrgId, "", "", 1, 1);
json.Parameter22 = this.props.data.ORG_ID_HV;
extendInclude(json, 'Nav_Type'); extendInclude(json, 'Nav_Type');
extendInclude(json, 'Nav_Area'); extendInclude(json, 'Nav_Area');
extendInclude(json, 'Nav_Details'); extendInclude(json, 'Nav_Details');
@ -42,23 +43,23 @@ class SK004ShowSummary extends React.Component {
extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_DetailBasics.Nav_Law'); extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_DetailBasics.Nav_Law');
extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_DetailHiddens.Nav_Question'); extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_DetailHiddens.Nav_Question');
extendIgnoreDataRule(json) extendIgnoreDataRule(json)
this.props.dispatch({ this.props.dispatch({
type: "app/getDataByPost", type: "app/getDataByPost",
url: "SK/SKEnterpriseLibrary/SKOrderEntities", url: "SK/SKEnterpriseLibrary/SKOrderEntities",
payload: json, payload: json,
onlyData: false, onlyData: false,
onComplete: (ret) => { onComplete: (ret) => {
if (ret && ret.Data) { if (ret && ret.Data) {
this.setState({ this.setState({
data : ret.Data data: ret.Data
}); });
} }
}, },
}); });
} }
onTableBtnExport() { onTableBtnExport() {
const enums=this.props.data.enums ? this.props.data.enums :this.props.app.enums ; const enums = this.props.data.enums ? this.props.data.enums : this.props.app.enums;
let TableWrap = document.getElementById('tableId' + this.props.data.id); let TableWrap = document.getElementById('tableId' + this.props.data.id);
let Table = TableWrap.getElementsByTagName('table')[0]; let Table = TableWrap.getElementsByTagName('table')[0];
const wb = XLSX.utils.table_to_book(Table); const wb = XLSX.utils.table_to_book(Table);
@ -67,73 +68,73 @@ class SK004ShowSummary extends React.Component {
render() { render() {
const { data } = this.state; const { data } = this.state;
const enums=this.props.data.enums ? this.props.data.enums :this.props.app.enums ; const enums = this.props.data.enums ? this.props.data.enums : this.props.app.enums;
// let aaa = Math.random(); // let aaa = Math.random();
return <div> return <div>
<div style={{ padding: '10px' }}> <div style={{ padding: '10px' }}>
{/* <Button onClick={() => this.onClickApprove(true)} style={{ marginRight: '8px'}} icon="export">审批详情</Button> */} {/* <Button onClick={() => this.onClickApprove(true)} style={{ marginRight: '8px'}} icon="export">审批详情</Button> */}
<ReactToPrint <ReactToPrint
trigger={() => <Button style={{ marginLeft: '8px', display: "inline"}} type={'default'} icon={'printer'} >打印</Button>} trigger={() => <Button style={{ marginLeft: '8px', display: "inline" }} type={'default'} icon={'printer'} >打印</Button>}
content={() => this.componentRef} content={() => this.componentRef}
/> />
<Button onClick={() => this.onTableBtnExport()} icon="export" style={{ marginLeft: '8px', display: "inline" }}>导出</Button> <Button onClick={() => this.onTableBtnExport()} icon="export" style={{ marginLeft: '8px', display: "inline" }}>导出</Button>
</div> </div>
<div ref={el => (this.componentRef = el)} style={{ padding: '20px' }} id={'tableId' + this.props.data.id}> <div ref={el => (this.componentRef = el)} style={{ padding: '20px' }} id={'tableId' + this.props.data.id}>
<h1 style={{ textAlign: 'center', margin: '15px' }}>双重预防机制企业库</h1> <h1 style={{ textAlign: 'center', margin: '15px' }}>双重预防机制企业库</h1>
{ {
data ? <table style={{ width: '100%', textAlign: 'left'}} className={stylesStep.PrintForm1}> data ? <table style={{ width: '100%', textAlign: 'left' }} className={stylesStep.PrintForm1}>
<tr> <tr>
<td width='60px' textAlign='center' className={stylesStep.fontBold}>序号</td> <td width='60px' textAlign='center' className={stylesStep.fontBold}>序号</td>
<td className={stylesStep.fontBold}>生产单元</td> <td className={stylesStep.fontBold}>生产单元</td>
<td className={stylesStep.fontBold}>辨识区域</td> <td className={stylesStep.fontBold}>辨识区域</td>
<td className={stylesStep.fontBold}>风险名称</td> <td className={stylesStep.fontBold}>风险名称</td>
<td className={stylesStep.fontBold}>风险描述</td> <td className={stylesStep.fontBold}>风险描述</td>
<td className={stylesStep.fontBold}>风险类别</td> <td className={stylesStep.fontBold}>风险类别</td>
{/* <td className={stylesStep.fontBold}>L</td> {/* <td className={stylesStep.fontBold}>L</td>
<td className={stylesStep.fontBold}>风险评价E</td> <td className={stylesStep.fontBold}>风险评价E</td>
<td className={stylesStep.fontBold}>风险评价C</td> <td className={stylesStep.fontBold}>风险评价C</td>
<td className={stylesStep.fontBold}>分值D</td> */} <td className={stylesStep.fontBold}>分值D</td> */}
<td className={stylesStep.fontBold}>风险等级</td> <td className={stylesStep.fontBold}>风险等级</td>
<td className={stylesStep.fontBold}>管控层级</td> <td className={stylesStep.fontBold}>管控层级</td>
<td className={stylesStep.fontBold}>管控部门</td> <td className={stylesStep.fontBold}>管控部门</td>
<td className={stylesStep.fontBold}>管控责任人</td> <td className={stylesStep.fontBold}>管控责任人</td>
<td className={stylesStep.fontBold}>管控措施</td> <td className={stylesStep.fontBold}>管控措施</td>
<td className={stylesStep.fontBold}>应急处置</td> <td className={stylesStep.fontBold}>应急处置</td>
<td className={stylesStep.fontBold}>检查内容</td> <td className={stylesStep.fontBold}>检查内容</td>
<td className={stylesStep.fontBold}>隐患描述</td> <td className={stylesStep.fontBold}>隐患描述</td>
{/* <td className={stylesStep.fontBold}>隐患等级</td> */} {/* <td className={stylesStep.fontBold}>隐患等级</td> */}
<td className={stylesStep.fontBold}>整改措施</td> <td className={stylesStep.fontBold}>整改措施</td>
{/* <td className={stylesStep.fontBold}></td> {/* <td className={stylesStep.fontBold}></td>
<td className={stylesStep.fontBold}>判定标准</td> */} <td className={stylesStep.fontBold}>判定标准</td> */}
<td className={stylesStep.fontBold}>检查层级</td> <td className={stylesStep.fontBold}>检查层级</td>
<td className={stylesStep.fontBold}>检查类型</td> <td className={stylesStep.fontBold}>检查类型</td>
{/* <td className={stylesStep.fontBold}></td> {/* <td className={stylesStep.fontBold}></td>
<td className={stylesStep.fontBold}>检查岗位</td> */} <td className={stylesStep.fontBold}>检查岗位</td> */}
</tr> </tr>
{ {
data && data.map((item,i)=>{ data && data.map((item, i) => {
return <tr> return <tr>
<td> <td>
{i+1} {i + 1}
</td> </td>
<td> <td>
{item.Nav_ProductionUnit?.NAME} {item.Nav_ProductionUnit?.NAME}
</td> </td>
<td> <td>
{item.Nav_Area?.NAME} {item.Nav_Area?.NAME}
</td> </td>
<td> <td>
{item.RISK_NAME} {item.RISK_NAME}
</td> </td>
<td> <td>
{item.RISK_DESCRIPTION} {item.RISK_DESCRIPTION}
</td> </td>
<td> <td>
{item.Nav_Type?.NAME} {item.Nav_Type?.NAME}
</td> </td>
{/* <td> {/* <td>
{item.EVALUATE_L} {item.EVALUATE_L}
</td> </td>
<td> <td>
@ -145,64 +146,64 @@ class SK004ShowSummary extends React.Component {
<td> <td>
{item.EVALUATE_SCORE} {item.EVALUATE_SCORE}
</td> */} </td> */}
<td> <td>
{enums.SKEvaluateLevelEnum.enums[item.EVALUATE_LEVEL]} {enums.SKEvaluateLevelEnum.enums[item.EVALUATE_LEVEL]}
</td> </td>
<td> <td>
{item.CONTROLLEVEL} {item.CONTROLLEVEL}
</td> </td>
<td> <td>
{item.CONTROLDEPT} {item.CONTROLDEPT}
</td> </td>
<td> <td>
{item.CONTROLUSER} {item.CONTROLUSER}
</td> </td>
<td> <td>
{ item.MEASURE} {item.MEASURE}
{/* { item.Nav_Details && item.Nav_Details?.map((item2, i) => { {/* { item.Nav_Details && item.Nav_Details?.map((item2, i) => {
if (item2) { if (item2) {
return <label> {(i+1)+"、"+item2.MEASURES_NAME}<br></br></label> return <label> {(i+1)+"、"+item2.MEASURES_NAME}<br></br></label>
} }
})} */} })} */}
</td> </td>
<td> <td>
{item.EMERGENCY} {item.EMERGENCY}
</td> </td>
<td> <td>
{ item.CHECKCONTENTS} {item.CHECKCONTENTS}
</td> </td>
<td> <td>
{ item.HIDDENSCRIPTION } {item.HIDDENSCRIPTION}
</td> </td>
{/* <td> {/* <td>
{ item.HIDDENLEVEL } { item.HIDDENLEVEL }
</td> */} </td> */}
<td> <td>
{item.RECIFYMEASURE } {item.RECIFYMEASURE}
</td> </td>
{/* <td> {/* <td>
{item.CHECKBASICS } {item.CHECKBASICS }
</td> </td>
<td> <td>
{ item.CHECKSTANDARDS } { item.CHECKSTANDARDS }
</td> */} </td> */}
<td> <td>
{ item.CHECKLEVEL } {item.CHECKLEVEL}
</td> </td>
{/* <td> {/* <td>
{ item.CHECKDEPT } { item.CHECKDEPT }
</td> </td>
<td> <td>
{item.CHECKPOST } {item.CHECKPOST }
</td> */} </td> */}
<td> <td>
{ item.CHECKTYPE } {item.CHECKTYPE}
</td> </td>
</tr> </tr>
}) })
} }
</table>:null </table> : null
} }
{/* <FormPage {...this.state.tmpData} /> */} {/* <FormPage {...this.state.tmpData} /> */}
</div> </div>
@ -211,4 +212,4 @@ class SK004ShowSummary extends React.Component {
} }
export default connect(({ login,app }) => ({ login,app }))(SK004ShowSummary) export default connect(({ login, app }) => ({ login, app }))(SK004ShowSummary)

View File

@ -63,6 +63,7 @@ class SK006ShowOperateLog extends React.Component {
loadData = (id) => { loadData = (id) => {
var orgId = this.props.login ? this.props.login.OrgId : ''; var orgId = this.props.login ? this.props.login.OrgId : '';
let json = initFilter(orgId, id); let json = initFilter(orgId, id);
json.Parameter22 = this.props.data.ORG_ID_HV;
this.props.dispatch({ this.props.dispatch({
type: 'app/getDataByPost', type: 'app/getDataByPost',
payload: json, payload: json,
@ -192,12 +193,12 @@ class SK006ShowOperateLog extends React.Component {
item1.STATUS === 0 item1.STATUS === 0
? '#A5A5A5' // STATUS=0 → 灰色背景 ? '#A5A5A5' // STATUS=0 → 灰色背景
: item1.STATUS === 10 : item1.STATUS === 10
? '#FFC000' // STATUS=10 → 橙色背景 ? '#FFC000' // STATUS=10 → 橙色背景
: item1.STATUS === 20 : item1.STATUS === 20
? '#f56c6c' // STATUS=20 → 红色背景 ? '#f56c6c' // STATUS=20 → 红色背景
: item1.STATUS === 16 : item1.STATUS === 16
? '#ADCDEA' // STATUS=16 → 蓝色背景 ? '#ADCDEA' // STATUS=16 → 蓝色背景
: '#70AD47', // STATUS=515 → 绿色背景 : '#70AD47', // STATUS=515 → 绿色背景
}} }}
id="step20" id="step20"
> >

View File

@ -79,12 +79,13 @@ class SK006ShowPrint extends React.Component {
} }
this.onClickApprove(false); this.onClickApprove(false);
} }
} }
}); });
} }
loadDataTask = (dataId) => { loadDataTask = (dataId) => {
let json = initFilter(this.props.login.OrgId); let json = initFilter(this.props.login.OrgId);
json.Parameter22 = this.props.data.ORG_ID_HV;
extendRule(json, 'ID', 1, dataId); extendRule(json, 'ID', 1, dataId);
extendIgnoreDataRule(json) extendIgnoreDataRule(json)
// extendRule(json, 'ID', 1, dataId); // extendRule(json, 'ID', 1, dataId);
@ -115,7 +116,7 @@ class SK006ShowPrint extends React.Component {
} }
this.onClickApprove(false); this.onClickApprove(false);
} }
} }
}); });
} }

View File

@ -1,6 +1,6 @@
import { Button, Descriptions,Popconfirm, Row, Col, Form,Modal, Input, Select, Table } from 'antd'; import { Button, Descriptions, Popconfirm, Row, Col, Form, Modal, Input, Select, Table } from 'antd';
import React , { useState }from 'react'; import React, { useState } from 'react';
import { initFilter, extendRule, extendInclude, extendIgnoreDataRule,setDataFieldValue, guid, initQueryFilter,ShowPrintClose } from "../../../utils/common"; import { initFilter, extendRule, extendInclude, extendIgnoreDataRule, setDataFieldValue, guid, initQueryFilter, ShowPrintClose } from "../../../utils/common";
import ReactToPrint from "react-to-print"; import ReactToPrint from "react-to-print";
import stylesStep from '../HI/StepForm.css'; import stylesStep from '../HI/StepForm.css';
import config from "../../../config"; import config from "../../../config";
@ -10,345 +10,346 @@ import moment from 'moment';
import { message } from "antd/lib/index"; import { message } from "antd/lib/index";
import FormPage from '../../../components/FormPage' import FormPage from '../../../components/FormPage'
class SK010CheckList extends React.Component { class SK010CheckList extends React.Component {
constructor(props) { constructor(props) {
super(props); super(props);
this.state = { this.state = {
selectedRowKeys:[], selectedRowKeys: [],
taskSelects: [], taskSelects: [],
dataList: [], dataList: [],
PRODUCTION_UNIT_ID:null, PRODUCTION_UNIT_ID: null,
CHECK_CYCLE:0, CHECK_CYCLE: 0,
CHECK_TYPE:0, CHECK_TYPE: 0,
CHECK_CYCLE_ID:null, CHECK_CYCLE_ID: null,
BtnAgreeDisplay: 'none', BtnAgreeDisplay: 'none',
showDetail:false, showDetail: false,
showDetailContent: false, showDetailContent: false,
Details:[], Details: [],
DetailContents:[], DetailContents: [],
columnContents : [ columnContents: [
{
title: '序号',
dataIndex: 'NUM',
key: "NUM",
render: (text, record, index) => {
return <label>{index+1}</label>
}
},
{
title: "检查区域",
dataIndex: "AREA_NAME",
key: "AREA_NAME",
},
{
title: "检查内容",
dataIndex: "Nav_Contents.CHECKCONTENT",
key: "Nav_Contents.CHECKCONTENT",
},
// {
// title: "检查依据",
// dataIndex: "Nav_DetailBasics",
// key: "Nav_DetailBasics",
// render: (text, record) =>
// {
// return <label>{
// record.Nav_DetailBasics && record.Nav_DetailBasics.map((item, i) => {
// return item?.Nav_Law?.NAME+' '
// })
// }</label>
// }
// },
// {
// title: "判定标准",
// dataIndex: "CHECK_STANDARD",
// key: "CHECK_STANDARD",
// },
],
columns : [
{
title: '序号',
dataIndex: 'NUM',
key: "NUM",
render: (text, record, index) => {
return <label>{index+1}</label>
}
},
{
title: "检查部门",
dataIndex: "Nav_Department.NAME",
key: "Nav_Department.NAME",
},
{
title: "检查岗位",
dataIndex: "POST_NAME",
key: "POST_NAME",
},
{
title: '操作',
dataIndex: '',
key: '',
render: (text, record, index) => {
return <Button type='defualt' size='small' onClick={(e) => { this.showModalContent(record) }} icon='eye' />
}
}
],
columndatas : [
{
title: '序号',
dataIndex: 'NUM',
key: "NUM",
render: (text, record, index) => {
return <label>{index+1}</label>
}
},
{
title: "生产单元",
dataIndex: "MINE_NAME",
key: "MINE_NAME",
// render: (text, record, index) => {
// return <label>{this.props.app.enums.SKProductionUnit.enums[record.MineType]}</label>
// }
},
{
title: "检查层级",
dataIndex: "CHECK_TYPE",
key: "CHECK_TYPE",
render: (text, record, index) => {
return <label>{this.props.app.enums.SKDepartmentTypeEnum.enums[record.CHECK_TYPE]}</label>
}
},
{
title: "检查类型",
dataIndex: "Nav_CheckType.NAME",
key: "Nav_CheckType.NAME",
},
{
title: "检查周期",
dataIndex: "CHECK_CYCLE",
key: "CHECK_CYCLE",
render: (text, record, index) => {
return <label>{this.props.app.enums.SKPLANCHECKFREQUENCYEnum.enums[record.CHECK_CYCLE]}</label>
}
},
{
title: '操作',
dataIndex: '',
key: '',
render: (text, record, index) => {
return <Button type='defualt' size='small' onClick={(e) => { this.showModal(record) }} icon='eye' />
}
}
]
};
};
componentDidMount() {
if (this.props.data?.clickKey)
{this.loadData();}
}
componentWillReceiveProps(NextProps) {
if (NextProps.data?.clickKey && this.props.data?.clickKey != NextProps.data?.clickKey)
{this.loadData();}
}
BtnClose = () => {
if (typeof this.props.data.onCancel != "undefined"&&typeof this.props.data.onCancel == 'function')
this.props.data.onCancel();
}
loadData = () => {
let json = initFilter(this.props.login.OrgId);
extendIgnoreDataRule(json)
this.props.dispatch({
type: 'app/getDataByPost',
payload: json,
url: 'SK/SKEnterpriseLibrary/GetCheckList',
onComplete: (ret) => {
if (ret) {
this.setState({ dataList: ret });
}
}
});
}
onTableBtnExport() {
const enums=this.props.data.enums ? this.props.data.enums :this.props.app.enums ;
let TableWrap = document.getElementById('tableId' + this.props.data.id);
let Table = TableWrap.getElementsByTagName('table')[0];
const wb = XLSX.utils.table_to_book(Table);
XLSX.writeFile(wb, "检查清单.xlsx")
}
showModalContent = (item) => {
this.setState({
showDetailContent: true,
},()=>{
this.setState({
DetailContents:item.Nav_ContentDatas,
});
// let json = initFilter(this.props.login.OrgId,'','','','',this.state.MineType,this.state.CHECK_CYCLE,this.state.CHECK_TYPE,this.state.CHECK_TYPE_ID,item.DEPARTMENT_ID,item.POST_ID);
// extendIgnoreDataRule(json)
// this.props.dispatch({
// type: 'app/getDataByPost',
// payload: json,
// url: 'SK/SKEnterpriseLibrary/GetCheckListContent',
// onComplete: (ret) => {
// if (ret) {
// this.setState({ DetailContents: ret });
// }
// }
// });
});
};
showModal = (item) => {
this.setState({
showDetail: true,
},()=>{
let json = initFilter(this.props.login.OrgId,item.PRODUCTION_UNIT_ID,'','','',item.CHECK_TYPE_ID,item.CHECK_CYCLE,item.CHECK_TYPE);
extendIgnoreDataRule(json)
this.props.dispatch({
type: 'app/getDataByPost',
payload: json,
url: 'SK/SKEnterpriseLibrary/GetCheckDetailList',
onComplete: (ret) => {
if (ret) {
this.setState({ Details: ret,
PRODUCTION_UNIT_ID :item.PRODUCTION_UNIT_ID,
CHECK_CYCLE:item.CHECK_CYCLE,
CHECK_TYPE:item.CHECK_TYPE,
CHECK_TYPE_ID:item.CHECK_TYPE_ID, });
}
}
});
});
};
handleCancel = () => {
this.setState({
showDetail: false,
});
};
closeModal = () => {
this.setState({
showDetail: false,
});
};
handleCancelContent = () => {
this.setState({
showDetailContent: false,
});
};
closeModalContent = () => {
this.setState({
showDetailContent: false,
});
};
closeTasks() {
let temps = [];
this.state.taskSelects.forEach(item => {
let tmpData = {
RISK_AREA_ID: item.AREA_ID,
Nav_RiskArea: item.Nav_Area,
CHECK_CONTENTS_ID: item.CHECK_CONTENTS_ID,
Nav_Contents: item.Nav_Contents,
CHECKSTANDARD: item.CHECKSTANDARD,
Nav_CheckRecordDetailBasics: item.Nav_DetailBasics,
}
temps.push(tmpData);
});
if(!temps||temps.length==0){
message.error('请选择要导入的内容');
}else
{ {
this.props.login.tempDatas=temps title: '序号',
this.state.taskSelects = []; dataIndex: 'NUM',
this.state.selectedRowKeys = []; key: "NUM",
this.closeModalContent() render: (text, record, index) => {
this.closeModal() return <label>{index + 1}</label>
ShowPrintClose(this.props) }
},
{
title: "检查区域",
dataIndex: "AREA_NAME",
key: "AREA_NAME",
},
{
title: "检查内容",
dataIndex: "Nav_Contents.CHECKCONTENT",
key: "Nav_Contents.CHECKCONTENT",
},
// {
// title: "检查依据",
// dataIndex: "Nav_DetailBasics",
// key: "Nav_DetailBasics",
// render: (text, record) =>
// {
// return <label>{
// record.Nav_DetailBasics && record.Nav_DetailBasics.map((item, i) => {
// return item?.Nav_Law?.NAME+' '
// })
// }</label>
// }
// },
// {
// title: "判定标准",
// dataIndex: "CHECK_STANDARD",
// key: "CHECK_STANDARD",
// },
],
columns: [
{
title: '序号',
dataIndex: 'NUM',
key: "NUM",
render: (text, record, index) => {
return <label>{index + 1}</label>
}
},
{
title: "检查部门",
dataIndex: "Nav_Department.NAME",
key: "Nav_Department.NAME",
},
{
title: "检查岗位",
dataIndex: "POST_NAME",
key: "POST_NAME",
},
{
title: '操作',
dataIndex: '',
key: '',
render: (text, record, index) => {
return <Button type='defualt' size='small' onClick={(e) => { this.showModalContent(record) }} icon='eye' />
}
} }
}; ],
onSelectChange = (selectedRowKeys,selectedRows) => { // 选择菜单行 columndatas: [
this.setState({selectedRowKeys:selectedRowKeys, {
taskSelects:selectedRows title: '序号',
}); dataIndex: 'NUM',
}; key: "NUM",
render() { render: (text, record, index) => {
const {selectedRowKeys} =this.state; return <label>{index + 1}</label>
const rowSelection = { }
selectedRowKeys:selectedRowKeys, },
fixed: false, {
columnWidth: 20, title: "生产单元",
hideDefaultSelections:false, dataIndex: "MINE_NAME",
onChange: this.onSelectChange key: "MINE_NAME",
}; // render: (text, record, index) => {
const enums=this.props.data.enums ? this.props.data.enums :this.props.app.enums ; // return <label>{this.props.app.enums.SKProductionUnit.enums[record.MineType]}</label>
// let aaa = Math.random(); // }
return <div> },
<Modal {
visible={this.state.showDetailContent} title: "检查层级",
title="检查内容" dataIndex: "CHECK_TYPE",
maskClosable={false} key: "CHECK_TYPE",
onCancel={this.handleCancelContent} render: (text, record, index) => {
footer={null} return <label>{this.props.app.enums.SKDepartmentTypeEnum.enums[record.CHECK_TYPE]}</label>
className="antd-modal-fullscreen" }
closeModal={this.closeModalContent} },
> {
<div style={{ padding: '10px' }}> title: "检查类型",
<Button type='primary' onClick={() => this.closeTasks()} icon="export" style={{ marginLeft: '8px', display: "inline" }}>导入</Button> dataIndex: "Nav_CheckType.NAME",
</div> key: "Nav_CheckType.NAME",
<Table },
rowSelection={rowSelection} {
dataSource={this.state.DetailContents} title: "检查周期",
columns={this.state.columnContents} dataIndex: "CHECK_CYCLE",
pagination={false} key: "CHECK_CYCLE",
bordered render: (text, record, index) => {
loading={false} return <label>{this.props.app.enums.SKPLANCHECKFREQUENCYEnum.enums[record.CHECK_CYCLE]}</label>
size="small" }
/> },
{
</Modal> title: '操作',
<Modal dataIndex: '',
visible={this.state.showDetail} key: '',
title="检查部门岗位" render: (text, record, index) => {
maskClosable={false} return <Button type='defualt' size='small' onClick={(e) => { this.showModal(record) }} icon='eye' />
onCancel={this.handleCancel} }
footer={null} }
className="antd-modal-fullscreen" ]
closeModal={this.closeModal} };
> };
<Table
dataSource={this.state.Details} componentDidMount() {
columns={this.state.columns} if (this.props.data?.clickKey) { this.loadData(); }
pagination={false} }
bordered
loading={false} componentWillReceiveProps(NextProps) {
size="small" if (NextProps.data?.clickKey && this.props.data?.clickKey != NextProps.data?.clickKey) { this.loadData(); }
/> }
</Modal> BtnClose = () => {
{/* <div style={{ padding: '10px' }}> if (typeof this.props.data.onCancel != "undefined" && typeof this.props.data.onCancel == 'function')
this.props.data.onCancel();
}
loadData = () => {
let json = initFilter(this.props.login.OrgId);
json.Parameter22 = this.props.data.ORG_ID_HV;
extendIgnoreDataRule(json)
this.props.dispatch({
type: 'app/getDataByPost',
payload: json,
url: 'SK/SKEnterpriseLibrary/GetCheckList',
onComplete: (ret) => {
if (ret) {
this.setState({ dataList: ret });
}
}
});
}
onTableBtnExport() {
const enums = this.props.data.enums ? this.props.data.enums : this.props.app.enums;
let TableWrap = document.getElementById('tableId' + this.props.data.id);
let Table = TableWrap.getElementsByTagName('table')[0];
const wb = XLSX.utils.table_to_book(Table);
XLSX.writeFile(wb, "检查清单.xlsx")
}
showModalContent = (item) => {
this.setState({
showDetailContent: true,
}, () => {
this.setState({
DetailContents: item.Nav_ContentDatas,
});
// let json = initFilter(this.props.login.OrgId,'','','','',this.state.MineType,this.state.CHECK_CYCLE,this.state.CHECK_TYPE,this.state.CHECK_TYPE_ID,item.DEPARTMENT_ID,item.POST_ID);
// extendIgnoreDataRule(json)
// this.props.dispatch({
// type: 'app/getDataByPost',
// payload: json,
// url: 'SK/SKEnterpriseLibrary/GetCheckListContent',
// onComplete: (ret) => {
// if (ret) {
// this.setState({ DetailContents: ret });
// }
// }
// });
});
};
showModal = (item) => {
this.setState({
showDetail: true,
}, () => {
let json = initFilter(this.props.login.OrgId, item.PRODUCTION_UNIT_ID, '', '', '', item.CHECK_TYPE_ID, item.CHECK_CYCLE, item.CHECK_TYPE);
extendIgnoreDataRule(json)
this.props.dispatch({
type: 'app/getDataByPost',
payload: json,
url: 'SK/SKEnterpriseLibrary/GetCheckDetailList',
onComplete: (ret) => {
if (ret) {
this.setState({
Details: ret,
PRODUCTION_UNIT_ID: item.PRODUCTION_UNIT_ID,
CHECK_CYCLE: item.CHECK_CYCLE,
CHECK_TYPE: item.CHECK_TYPE,
CHECK_TYPE_ID: item.CHECK_TYPE_ID,
});
}
}
});
});
};
handleCancel = () => {
this.setState({
showDetail: false,
});
};
closeModal = () => {
this.setState({
showDetail: false,
});
};
handleCancelContent = () => {
this.setState({
showDetailContent: false,
});
};
closeModalContent = () => {
this.setState({
showDetailContent: false,
});
};
closeTasks() {
let temps = [];
this.state.taskSelects.forEach(item => {
let tmpData = {
RISK_AREA_ID: item.AREA_ID,
Nav_RiskArea: item.Nav_Area,
CHECK_CONTENTS_ID: item.CHECK_CONTENTS_ID,
Nav_Contents: item.Nav_Contents,
CHECKSTANDARD: item.CHECKSTANDARD,
Nav_CheckRecordDetailBasics: item.Nav_DetailBasics,
}
temps.push(tmpData);
});
if (!temps || temps.length == 0) {
message.error('请选择要导入的内容');
} else {
this.props.login.tempDatas = temps
this.state.taskSelects = [];
this.state.selectedRowKeys = [];
this.closeModalContent()
this.closeModal()
ShowPrintClose(this.props)
}
};
onSelectChange = (selectedRowKeys, selectedRows) => { // 选择菜单行
this.setState({
selectedRowKeys: selectedRowKeys,
taskSelects: selectedRows
});
};
render() {
const { selectedRowKeys } = this.state;
const rowSelection = {
selectedRowKeys: selectedRowKeys,
fixed: false,
columnWidth: 20,
hideDefaultSelections: false,
onChange: this.onSelectChange
};
const enums = this.props.data.enums ? this.props.data.enums : this.props.app.enums;
// let aaa = Math.random();
return <div>
<Modal
visible={this.state.showDetailContent}
title="检查内容"
maskClosable={false}
onCancel={this.handleCancelContent}
footer={null}
className="antd-modal-fullscreen"
closeModal={this.closeModalContent}
>
<div style={{ padding: '10px' }}>
<Button type='primary' onClick={() => this.closeTasks()} icon="export" style={{ marginLeft: '8px', display: "inline" }}>导入</Button>
</div>
<Table
rowSelection={rowSelection}
dataSource={this.state.DetailContents}
columns={this.state.columnContents}
pagination={false}
bordered
loading={false}
size="small"
/>
</Modal>
<Modal
visible={this.state.showDetail}
title="检查部门岗位"
maskClosable={false}
onCancel={this.handleCancel}
footer={null}
className="antd-modal-fullscreen"
closeModal={this.closeModal}
>
<Table
dataSource={this.state.Details}
columns={this.state.columns}
pagination={false}
bordered
loading={false}
size="small"
/>
</Modal>
{/* <div style={{ padding: '10px' }}>
<ReactToPrint <ReactToPrint
trigger={() => <Button style={{ marginLeft: '8px', display: dataList && dataList.STATUS === 30?"inline":"none" }} type={'default'} icon={'printer'} >打印</Button>} trigger={() => <Button style={{ marginLeft: '8px', display: dataList && dataList.STATUS === 30?"inline":"none" }} type={'default'} icon={'printer'} >打印</Button>}
content={() => this.componentRef} content={() => this.componentRef}
/> />
<Button onClick={() => this.onTableBtnExport()} icon="export" style={{ marginLeft: '8px', display: dataList && dataList.STATUS === 30?"inline":"none" }}>导出</Button> <Button onClick={() => this.onTableBtnExport()} icon="export" style={{ marginLeft: '8px', display: dataList && dataList.STATUS === 30?"inline":"none" }}>导出</Button>
</div> */} </div> */}
<div> <div>
<h1 style={{ textAlign: 'center', margin: '15px' }}>检查清单</h1> <h1 style={{ textAlign: 'center', margin: '15px' }}>检查清单</h1>
{this.state.dataList? {this.state.dataList ?
<Table style={{ width:"1250px",margin:"auto",alignContent:"center",backgroundColor:"white"}} <Table style={{ width: "1250px", margin: "auto", alignContent: "center", backgroundColor: "white" }}
dataSource={this.state.dataList} dataSource={this.state.dataList}
columns={this.state.columndatas} columns={this.state.columndatas}
pagination={false} pagination={false}
bordered bordered
loading={false} loading={false}
size="small" size="small"
/> />
:[]} : []}
</div> </div>
</div> </div>
} }
} }
export default connect(({ login,app }) => ({ login,app }))(SK010CheckList) export default connect(({ login, app }) => ({ login, app }))(SK010CheckList)

View File

@ -60,6 +60,7 @@ class SK010ShowPrint extends React.Component {
loadData = (dataId, taskID) => { loadData = (dataId, taskID) => {
let json = initFilter(this.props.login.OrgId); let json = initFilter(this.props.login.OrgId);
json.Parameter22 = this.props.data.ORG_ID_HV;
extendRule(json, 'ID', 1, dataId); extendRule(json, 'ID', 1, dataId);
extendRule(json, 'TASK_ID', 1, taskID); extendRule(json, 'TASK_ID', 1, taskID);
extendIgnoreDataRule(json) extendIgnoreDataRule(json)
@ -91,7 +92,7 @@ class SK010ShowPrint extends React.Component {
} }
this.onClickApprove(false); this.onClickApprove(false);
} }
} }
}); });
} }
@ -207,7 +208,7 @@ class SK010ShowPrint extends React.Component {
</td> </td>
<td> <td>
{ {
item.CHECK_RESULT == null? "无隐患" :enums.SKCheckResultEnum.enums[item.CHECK_RESULT] item.CHECK_RESULT == null ? "无隐患" : enums.SKCheckResultEnum.enums[item.CHECK_RESULT]
} }
</td> </td>
<td> <td>

View File

@ -1,7 +1,7 @@
import { message } from "antd/lib/index"; import { message } from "antd/lib/index";
import { Button, Descriptions, Popconfirm, Row, Col, Form, Input, Select, Modal } from 'antd'; import { Button, Descriptions, Popconfirm, Row, Col, Form, Input, Select, Modal } from 'antd';
import React from 'react'; import React from 'react';
import { initFilter, extendRule, extendInclude, extendIgnoreDataRule, setDataFieldValue, guid, showFiles, GetFileModel,showUserSign } from "../../../utils/common"; import { initFilter, extendRule, extendInclude, extendIgnoreDataRule, setDataFieldValue, guid, showFiles, GetFileModel, showUserSign } from "../../../utils/common";
import ReactToPrint from "react-to-print"; import ReactToPrint from "react-to-print";
import config from "../../../config"; import config from "../../../config";
import XLSX from 'xlsx'; import XLSX from 'xlsx';
@ -15,7 +15,7 @@ class SK012ShowPrint extends React.Component {
this.state = { this.state = {
data: null, data: null,
enumData: null, enumData: null,
detailUsers:[], detailUsers: [],
BtnAgreeDisplay: 'none', BtnAgreeDisplay: 'none',
fileForm: { fileForm: {
title: "", title: "",
@ -61,6 +61,7 @@ class SK012ShowPrint extends React.Component {
loadData = (dataId, taskID) => { loadData = (dataId, taskID) => {
let json = initFilter(this.props.login.OrgId); let json = initFilter(this.props.login.OrgId);
json.Parameter22 = this.props.data.ORG_ID_HV;
extendRule(json, 'ID', 1, dataId); extendRule(json, 'ID', 1, dataId);
extendRule(json, 'TASK_ID', 1, taskID); extendRule(json, 'TASK_ID', 1, taskID);
extendIgnoreDataRule(json) extendIgnoreDataRule(json)
@ -84,19 +85,17 @@ class SK012ShowPrint extends React.Component {
if (this.props.data && this.props.data.loadDataDeal) { if (this.props.data && this.props.data.loadDataDeal) {
this.props.data.loadDataDeal(1); this.props.data.loadDataDeal(1);
} }
let users=[] let users = []
let uniqueUsers =[] let uniqueUsers = []
if(ret.Nav_CheckRecordDetails) if (ret.Nav_CheckRecordDetails) {
{
ret.Nav_CheckRecordDetails.forEach(item => { ret.Nav_CheckRecordDetails.forEach(item => {
item.Nav_CheckRecordDetailUsers.forEach(item2=>{ item.Nav_CheckRecordDetailUsers.forEach(item2 => {
users.push(item2) users.push(item2)
}) })
}) })
} }
if(users) if (users) {
{ uniqueUsers = users.reduce((acc, user) => {
uniqueUsers= users.reduce((acc, user) => {
// 如果累积数组中还没有这个 user_id则添加 // 如果累积数组中还没有这个 user_id则添加
if (!acc.some(item => item.USER_ID === user.USER_ID)) { if (!acc.some(item => item.USER_ID === user.USER_ID)) {
acc.push(user); acc.push(user);
@ -104,7 +103,7 @@ class SK012ShowPrint extends React.Component {
return acc; return acc;
}, []); }, []);
} }
this.setState({ data: ret,detailUsers:uniqueUsers }) this.setState({ data: ret, detailUsers: uniqueUsers })
if (this.props.data.tableKey == "2" || this.props.data.tableKey == undefined) { if (this.props.data.tableKey == "2" || this.props.data.tableKey == undefined) {
this.setState({ BtnAgreeDisplay: 'none' }) this.setState({ BtnAgreeDisplay: 'none' })
} else { } else {
@ -112,7 +111,7 @@ class SK012ShowPrint extends React.Component {
} }
this.onClickApprove(false); this.onClickApprove(false);
} }
} }
}); });
} }
@ -228,7 +227,7 @@ class SK012ShowPrint extends React.Component {
</td> </td>
<td> <td>
{ {
item.CHECK_RESULT == null? "无隐患" :enums.SKCheckResultEnum.enums[item.CHECK_RESULT] item.CHECK_RESULT == null ? "无隐患" : enums.SKCheckResultEnum.enums[item.CHECK_RESULT]
} }
</td> </td>
<td> <td>
@ -267,15 +266,15 @@ class SK012ShowPrint extends React.Component {
</table> </table>
{ {
this.state.detailUsers ? this.state.detailUsers ?
<div> <div>
<Descriptions size="middle" bordered> <Descriptions size="middle" bordered>
<Descriptions.Item label="检查人签名">{ <Descriptions.Item label="检查人签名">{
this.state.detailUsers?.filter(it => it.ISCHECK).map((item, i) => { this.state.detailUsers?.filter(it => it.ISCHECK).map((item, i) => {
return showUserSign(item.Nav_User, config.picServerHost) return showUserSign(item.Nav_User, config.picServerHost)
}) })
}</Descriptions.Item> }</Descriptions.Item>
</Descriptions> </Descriptions>
</div>:null </div> : null
} }
<FormPage {...this.state.tmpData} /> <FormPage {...this.state.tmpData} />
</div> </div>

View File

@ -1,7 +1,7 @@
import { message } from "antd/lib/index"; import { message } from "antd/lib/index";
import { Button, Descriptions, Popconfirm, Row, Col, Form, Input, Select, Modal } from 'antd'; import { Button, Descriptions, Popconfirm, Row, Col, Form, Input, Select, Modal } from 'antd';
import React from 'react'; import React from 'react';
import { initFilter, extendRule, extendInclude, extendIgnoreDataRule, setDataFieldValue, guid, showFiles, GetFileModel,showUserSign } from "../../../utils/common"; import { initFilter, extendRule, extendInclude, extendIgnoreDataRule, setDataFieldValue, guid, showFiles, GetFileModel, showUserSign } from "../../../utils/common";
import ReactToPrint from "react-to-print"; import ReactToPrint from "react-to-print";
import config from "../../../config"; import config from "../../../config";
import XLSX from 'xlsx'; import XLSX from 'xlsx';
@ -60,6 +60,7 @@ class SK014ShowPrint extends React.Component {
loadData = (dataId, taskID) => { loadData = (dataId, taskID) => {
let json = initFilter(this.props.login.OrgId); let json = initFilter(this.props.login.OrgId);
json.Parameter22 = this.props.data.ORG_ID_HV;
extendRule(json, 'ID', 1, dataId); extendRule(json, 'ID', 1, dataId);
extendRule(json, 'TASK_ID', 1, taskID); extendRule(json, 'TASK_ID', 1, taskID);
extendIgnoreDataRule(json) extendIgnoreDataRule(json)
@ -191,7 +192,7 @@ class SK014ShowPrint extends React.Component {
item.HIDDEN_PLACE item.HIDDEN_PLACE
} }
</td> </td>
<td> <td>
{ {
item?.Nav_ReportDetailReasons && item?.Nav_ReportDetailReasons.map((item2, i) => { item?.Nav_ReportDetailReasons && item?.Nav_ReportDetailReasons.map((item2, i) => {
@ -203,8 +204,8 @@ class SK014ShowPrint extends React.Component {
</td> </td>
<td> <td>
{ {
item.ISCHECK? <a style={{ color: "rgba(0, 0, 0, 0.65)" }}>{item.Nav_RecitifyUser?.NAME}</a>: item.ISCHECK ? <a style={{ color: "rgba(0, 0, 0, 0.65)" }}>{item.Nav_RecitifyUser?.NAME}</a> :
<a style={{ color: "red" }}>{item.Nav_RecitifyUser?.NAME}</a> <a style={{ color: "red" }}>{item.Nav_RecitifyUser?.NAME}</a>
} }
{/* { {/* {
item.Nav_RecitifyUser?.NAME item.Nav_RecitifyUser?.NAME
@ -225,18 +226,18 @@ class SK014ShowPrint extends React.Component {
} }
</table> </table>
{ {
data && data.Nav_ReportDetails ? data && data.Nav_ReportDetails ?
<div> <div>
<Descriptions size="middle" bordered> <Descriptions size="middle" bordered>
<Descriptions.Item label="整改责任人签名">{ <Descriptions.Item label="整改责任人签名">{
data.Nav_ReportDetails?.map((item, i) => { data.Nav_ReportDetails?.map((item, i) => {
if (item && item.ISCHECK ) { if (item && item.ISCHECK) {
showUserSign(item.Nav_RecitifyUser, config.picServerHost) showUserSign(item.Nav_RecitifyUser, config.picServerHost)
} }
}) })
}</Descriptions.Item> }</Descriptions.Item>
</Descriptions> </Descriptions>
</div>:null </div> : null
} }
<FormPage {...this.state.tmpData} /> <FormPage {...this.state.tmpData} />
</div> </div>

View File

@ -41,6 +41,7 @@ class SK016ShowPrint extends React.Component {
loadData = (dataId, taskID) => { loadData = (dataId, taskID) => {
let json = initFilter(this.props.login.OrgId); let json = initFilter(this.props.login.OrgId);
json.Parameter22 = this.props.data.ORG_ID_HV;
extendRule(json, 'ID', 1, dataId); extendRule(json, 'ID', 1, dataId);
// extendRule(json, 'TASK_ID', 1, taskID); // extendRule(json, 'TASK_ID', 1, taskID);
extendInclude(json, 'Nav_ApplyUser'); extendInclude(json, 'Nav_ApplyUser');
@ -71,7 +72,7 @@ class SK016ShowPrint extends React.Component {
} }
this.onClickApprove(false); this.onClickApprove(false);
} }
} }
}); });
} }

View File

@ -57,6 +57,7 @@ class SK018ShowPrint extends React.Component {
} }
loadData = (dataId, taskID) => { loadData = (dataId, taskID) => {
let json = initFilter(this.props.login.OrgId); let json = initFilter(this.props.login.OrgId);
json.Parameter22 = this.props.data.ORG_ID_HV;
extendRule(json, 'ID', 1, dataId); extendRule(json, 'ID', 1, dataId);
// extendRule(json, 'TASK_ID', 1, taskID); // extendRule(json, 'TASK_ID', 1, taskID);
extendInclude(json, 'Nav_Report'); extendInclude(json, 'Nav_Report');
@ -102,7 +103,7 @@ class SK018ShowPrint extends React.Component {
} }
this.onClickApprove(false); this.onClickApprove(false);
} }
} }
}); });
} }
@ -165,7 +166,7 @@ class SK018ShowPrint extends React.Component {
<Descriptions.Item label="系统隐患描述">{data.Nav_Question?.DESCREPTION}</Descriptions.Item> <Descriptions.Item label="系统隐患描述">{data.Nav_Question?.DESCREPTION}</Descriptions.Item>
<Descriptions.Item label="隐患等级">{enums.SKHiddenLevel.enums[data.HIDDEN_LEVEL]}</Descriptions.Item> <Descriptions.Item label="隐患等级">{enums.SKHiddenLevel.enums[data.HIDDEN_LEVEL]}</Descriptions.Item>
<Descriptions.Item label="整改措施">{data.RECTIFICATION_MEASURES}</Descriptions.Item> <Descriptions.Item label="整改措施">{data.RECTIFICATION_MEASURES}</Descriptions.Item>
<Descriptions.Item label="隐患原因">{ <Descriptions.Item label="隐患原因">{
data?.Nav_Reasons && data?.Nav_Reasons.map((item2, i) => { data?.Nav_Reasons && data?.Nav_Reasons.map((item2, i) => {
return <a>{(i > 0 ? "," : "") + item2.Nav_Reason.NAME}</a> return <a>{(i > 0 ? "," : "") + item2.Nav_Reason.NAME}</a>
@ -176,9 +177,9 @@ class SK018ShowPrint extends React.Component {
{/* <Descriptions.Item label="">{enums.FMDepartmentType.enums[data.DEPARTMENT_TYPE]}</Descriptions.Item> {/* <Descriptions.Item label="">{enums.FMDepartmentType.enums[data.DEPARTMENT_TYPE]}</Descriptions.Item>
<Descriptions.Item label="检查类型">{data.Nav_CheckType ? data.Nav_CheckType.NAME : ''}</Descriptions.Item> <Descriptions.Item label="检查类型">{data.Nav_CheckType ? data.Nav_CheckType.NAME : ''}</Descriptions.Item>
<Descriptions.Item label="检查周期">{enums.BSPLANCHECKFREQUENCYEnum.enums[data.PLANCHECKFREQUENCY]}</Descriptions.Item> */} <Descriptions.Item label="检查周期">{enums.BSPLANCHECKFREQUENCYEnum.enums[data.PLANCHECKFREQUENCY]}</Descriptions.Item> */}
<Descriptions.Item label="整改责任人">{ data.STATUS == 30 && data.Nav_RecitifyUser && data.Nav_RecitifyUser.FILE_PATH ? <Descriptions.Item label="整改责任人">{data.STATUS == 30 && data.Nav_RecitifyUser && data.Nav_RecitifyUser.FILE_PATH ?
showUserSign(data.Nav_RecitifyUser, config.picServerHost) showUserSign(data.Nav_RecitifyUser, config.picServerHost)
: data.Nav_RecitifyUser ? data.Nav_RecitifyUser.NAME : ''}</Descriptions.Item> : data.Nav_RecitifyUser ? data.Nav_RecitifyUser.NAME : ''}</Descriptions.Item>
<Descriptions.Item label="整改期限">{moment(data.RECITIFY_TIME).format('YYYY-MM-DD')}</Descriptions.Item> <Descriptions.Item label="整改期限">{moment(data.RECITIFY_TIME).format('YYYY-MM-DD')}</Descriptions.Item>
<Descriptions.Item label="附件">{ <Descriptions.Item label="附件">{
showFiles(data?.Nav_Files, config.picServerHost, this) showFiles(data?.Nav_Files, config.picServerHost, this)

View File

@ -60,6 +60,7 @@ class SK020ShowPrint extends React.Component {
loadData = (dataId, taskID) => { loadData = (dataId, taskID) => {
let json = initFilter(this.props.login.OrgId); let json = initFilter(this.props.login.OrgId);
json.Parameter22 = this.props.data.ORG_ID_HV;
extendRule(json, 'ID', 1, dataId); extendRule(json, 'ID', 1, dataId);
extendRule(json, 'TASK_ID', 1, taskID); extendRule(json, 'TASK_ID', 1, taskID);
extendIgnoreDataRule(json) extendIgnoreDataRule(json)
@ -91,7 +92,7 @@ class SK020ShowPrint extends React.Component {
} }
this.onClickApprove(false); this.onClickApprove(false);
} }
} }
}); });
} }
@ -179,7 +180,7 @@ class SK020ShowPrint extends React.Component {
</td> */} </td> */}
<td> <td>
{ {
item.Nav_Question?.DESCREPTION?item.Nav_Question.DESCREPTION:item.HIDDEN_DESCRIPTION item.Nav_Question?.DESCREPTION ? item.Nav_Question.DESCREPTION : item.HIDDEN_DESCRIPTION
} }
</td> </td>
<td> <td>

View File

@ -1,7 +1,7 @@
import { message } from "antd/lib/index"; import { message } from "antd/lib/index";
import { Button, Descriptions, Popconfirm, Row, Col, Form, Input, Select, Modal } from 'antd'; import { Button, Descriptions, Popconfirm, Row, Col, Form, Input, Select, Modal } from 'antd';
import React from 'react'; import React from 'react';
import { initFilter, extendRule, extendInclude, extendIgnoreDataRule, setDataFieldValue, guid, showFiles,showUserSign,showFileImg, GetFileModel } from "../../../utils/common"; import { initFilter, extendRule, extendInclude, extendIgnoreDataRule, setDataFieldValue, guid, showFiles, showUserSign, showFileImg, GetFileModel } from "../../../utils/common";
import ReactToPrint from "react-to-print"; import ReactToPrint from "react-to-print";
import config from "../../../config"; import config from "../../../config";
import XLSX from 'xlsx'; import XLSX from 'xlsx';
@ -57,6 +57,7 @@ class SK022ShowPrint extends React.Component {
} }
loadData = (dataId, taskID) => { loadData = (dataId, taskID) => {
let json = initFilter(this.props.login.OrgId); let json = initFilter(this.props.login.OrgId);
json.Parameter22 = this.props.data.ORG_ID_HV;
extendRule(json, 'ID', 1, dataId); extendRule(json, 'ID', 1, dataId);
// extendRule(json, 'TASK_ID', 1, taskID); // extendRule(json, 'TASK_ID', 1, taskID);
// extendInclude(json, 'Nav_ApplyUser'); // extendInclude(json, 'Nav_ApplyUser');
@ -92,7 +93,7 @@ class SK022ShowPrint extends React.Component {
} }
this.onClickApprove(false); this.onClickApprove(false);
} }
} }
}); });
} }
@ -124,7 +125,7 @@ class SK022ShowPrint extends React.Component {
pageStyle=".printDIV { padding:0 40px;} img{width :120px}" pageStyle=".printDIV { padding:0 40px;} img{width :120px}"
/> />
<Button style={{ marginLeft: '8px', display: data && data.STATUS === 30 ? "inline" : "none" }} onClick={() => this.onTableBtnExport()} icon="export" >导出</Button> <Button style={{ marginLeft: '8px', display: data && data.STATUS === 30 ? "inline" : "none" }} onClick={() => this.onTableBtnExport()} icon="export" >导出</Button>
<Button type="primary" style={{ marginLeft: '8px', display: data && data.STATUS === 21 ? "inline" : "none" }} onClick={() => this.onTableBtnAgree()} icon="check" >审阅</Button> <Button type="primary" style={{ marginLeft: '8px', display: data && data.STATUS === 21 ? "inline" : "none" }} onClick={() => this.onTableBtnAgree()} icon="check" >审阅</Button>
</div> </div>
<div ref={el => (this.componentRef = el)} style={{ padding: '20px' }} id={'tableId' + this.props.data.id}> <div ref={el => (this.componentRef = el)} style={{ padding: '20px' }} id={'tableId' + this.props.data.id}>
<h1 style={{ textAlign: 'center', margin: '15px' }}>隐患整改记录</h1> <h1 style={{ textAlign: 'center', margin: '15px' }}>隐患整改记录</h1>
@ -147,21 +148,21 @@ class SK022ShowPrint extends React.Component {
// return <tr><label> {item2.Nav_User?.NAME}</label></tr> // return <tr><label> {item2.Nav_User?.NAME}</label></tr>
}) })
}</Descriptions.Item> }</Descriptions.Item>
<Descriptions.Item label="隐患描述">{data.Nav_Question?.DESCREPTION?data.Nav_Question.DESCREPTION:data.HIDDEN_DESCRIPTION}</Descriptions.Item> <Descriptions.Item label="隐患描述">{data.Nav_Question?.DESCREPTION ? data.Nav_Question.DESCREPTION : data.HIDDEN_DESCRIPTION}</Descriptions.Item>
<Descriptions.Item label="隐患等级">{enums.SKHiddenLevel.enums[data.HIDDEN_LEVEL]}</Descriptions.Item> <Descriptions.Item label="隐患等级">{enums.SKHiddenLevel.enums[data.HIDDEN_LEVEL]}</Descriptions.Item>
<Descriptions.Item label="整改措施">{data.RECTIFICATION_MEASURES}</Descriptions.Item> <Descriptions.Item label="整改措施">{data.RECTIFICATION_MEASURES}</Descriptions.Item>
<Descriptions.Item label="整改期限">{moment(data.RECITIFY_TIME).format('YYYY-MM-DD')}</Descriptions.Item> <Descriptions.Item label="整改期限">{moment(data.RECITIFY_TIME).format('YYYY-MM-DD')}</Descriptions.Item>
<Descriptions.Item label="整改部门">{data.Nav_RecitifyUser && data.Nav_RecitifyUser.Nav_Department ? data.Nav_RecitifyUser.Nav_Department.NAME : ''}</Descriptions.Item> <Descriptions.Item label="整改部门">{data.Nav_RecitifyUser && data.Nav_RecitifyUser.Nav_Department ? data.Nav_RecitifyUser.Nav_Department.NAME : ''}</Descriptions.Item>
<Descriptions.Item label="整改责任人">{data.Nav_RecitifyUser ? data.Nav_RecitifyUser.NAME : ''}</Descriptions.Item> <Descriptions.Item label="整改责任人">{data.Nav_RecitifyUser ? data.Nav_RecitifyUser.NAME : ''}</Descriptions.Item>
<Descriptions.Item label="整改落实人">{ <Descriptions.Item label="整改落实人">{
data.STATUS == 21 && data.STATUS == 21 &&
data.Nav_ImplementUser && data.Nav_ImplementUser.FILE_PATH ? data.Nav_ImplementUser && data.Nav_ImplementUser.FILE_PATH ?
showUserSign(data.Nav_ImplementUser, config.picServerHost) showUserSign(data.Nav_ImplementUser, config.picServerHost)
: data.Nav_ImplementUser ? data.Nav_ImplementUser.NAME : ''}</Descriptions.Item> : data.Nav_ImplementUser ? data.Nav_ImplementUser.NAME : ''}</Descriptions.Item>
<Descriptions.Item label="整改验收人">{data.Nav_AcceptUser ? data.Nav_AcceptUser.NAME : ''}</Descriptions.Item> <Descriptions.Item label="整改验收人">{data.Nav_AcceptUser ? data.Nav_AcceptUser.NAME : ''}</Descriptions.Item>
<Descriptions.Item label="整改情况描述">{data.RECTIFICATION_DESCRIPTION}</Descriptions.Item> <Descriptions.Item label="整改情况描述">{data.RECTIFICATION_DESCRIPTION}</Descriptions.Item>
<Descriptions.Item label="整改资金(元)">{data.RECTIFICATION_MONEY}</Descriptions.Item> <Descriptions.Item label="整改资金(元)">{data.RECTIFICATION_MONEY}</Descriptions.Item>
<Descriptions.Item label="整改完成时间">{data.COMPLETE_DATE?moment(data.COMPLETE_DATE).format('YYYY-MM-DD'):null}</Descriptions.Item> <Descriptions.Item label="整改完成时间">{data.COMPLETE_DATE ? moment(data.COMPLETE_DATE).format('YYYY-MM-DD') : null}</Descriptions.Item>
<Descriptions.Item label="整改前照片">{ <Descriptions.Item label="整改前照片">{
showFileImg(data?.Nav_RectifyPhotoas, config.picServerHost, this) showFileImg(data?.Nav_RectifyPhotoas, config.picServerHost, this)
}</Descriptions.Item> }</Descriptions.Item>
@ -171,17 +172,17 @@ class SK022ShowPrint extends React.Component {
<Descriptions.Item label="预案或方案">{ <Descriptions.Item label="预案或方案">{
showFiles(data?.Nav_RectifyFiles, config.picServerHost, this) showFiles(data?.Nav_RectifyFiles, config.picServerHost, this)
}</Descriptions.Item> }</Descriptions.Item>
<Descriptions.Item style={{display:(data.STATUS ==20 ||data.STATUS==30)?"inline":"none"}} label="验收时间">{data.ACCEPT_DATE?moment(data.ACCEPT_DATE).format('YYYY-MM-DD'):null}</Descriptions.Item> <Descriptions.Item style={{ display: (data.STATUS == 20 || data.STATUS == 30) ? "inline" : "none" }} label="验收时间">{data.ACCEPT_DATE ? moment(data.ACCEPT_DATE).format('YYYY-MM-DD') : null}</Descriptions.Item>
<Descriptions.Item style={{display:(data.STATUS ==20 ||data.STATUS==30)?"inline":"none"}} label="验收结论">{enums.SKAcceptResultEnum.enums[data.ACCEPT_RESULTE]}</Descriptions.Item> <Descriptions.Item style={{ display: (data.STATUS == 20 || data.STATUS == 30) ? "inline" : "none" }} label="验收结论">{enums.SKAcceptResultEnum.enums[data.ACCEPT_RESULTE]}</Descriptions.Item>
<Descriptions.Item style={{display:(data.STATUS ==20 ||data.STATUS==30)?"inline":"none"}} label="验收意见">{data.ACCEPT_OPINION}</Descriptions.Item> <Descriptions.Item style={{ display: (data.STATUS == 20 || data.STATUS == 30) ? "inline" : "none" }} label="验收意见">{data.ACCEPT_OPINION}</Descriptions.Item>
<Descriptions.Item label="整改责任人签名">{ <Descriptions.Item label="整改责任人签名">{
data.Nav_RecitifyUser && data.Nav_RecitifyUser.FILE_PATH ? data.Nav_RecitifyUser && data.Nav_RecitifyUser.FILE_PATH ?
showUserSign(data.Nav_RecitifyUser, config.picServerHost) showUserSign(data.Nav_RecitifyUser, config.picServerHost)
: data.Nav_RecitifyUser ? data.Nav_RecitifyUser.NAME : '' : data.Nav_RecitifyUser ? data.Nav_RecitifyUser.NAME : ''
}</Descriptions.Item> }</Descriptions.Item>
<Descriptions.Item label="验收人签名">{ <Descriptions.Item label="验收人签名">{
(data.STATUS == 20 ||data.STATUS == 30)&& data.Nav_AcceptUser && data.Nav_AcceptUser.FILE_PATH ? (data.STATUS == 20 || data.STATUS == 30) && data.Nav_AcceptUser && data.Nav_AcceptUser.FILE_PATH ?
showUserSign(data.Nav_RecitifyUser, config.picServerHost) showUserSign(data.Nav_RecitifyUser, config.picServerHost)
: data.Nav_AcceptUser ? data.Nav_AcceptUser.NAME : '' : data.Nav_AcceptUser ? data.Nav_AcceptUser.NAME : ''
}</Descriptions.Item> }</Descriptions.Item>
</Descriptions> </Descriptions>

View File

@ -57,6 +57,7 @@ class SK024ShowPrint extends React.Component {
loadData = (dataId, taskID) => { loadData = (dataId, taskID) => {
let json = initFilter(this.props.login.OrgId); let json = initFilter(this.props.login.OrgId);
json.Parameter22 = this.props.data.ORG_ID_HV;
extendRule(json, 'ID', 1, dataId); extendRule(json, 'ID', 1, dataId);
// extendRule(json, 'TASK_ID', 1, taskID); // extendRule(json, 'TASK_ID', 1, taskID);
extendInclude(json, 'Nav_ApplyUser'); extendInclude(json, 'Nav_ApplyUser');
@ -84,7 +85,7 @@ class SK024ShowPrint extends React.Component {
} }
this.onClickApprove(false); this.onClickApprove(false);
} }
} }
}); });
} }

View File

@ -228,6 +228,7 @@ class SK026ShowPrint extends React.Component {
loadData = (dataId) => { loadData = (dataId) => {
let that = this; let that = this;
let json = initFilter(that.props.login.OrgId); let json = initFilter(that.props.login.OrgId);
json.Parameter22 = this.props.data.ORG_ID_HV;
extendRule(json, 'ID', 1, dataId); extendRule(json, 'ID', 1, dataId);
// extendInclude(json, 'Nav_ApplyUser'); // extendInclude(json, 'Nav_ApplyUser');
// extendInclude(json, 'Nav_ApplyDepartment'); // extendInclude(json, 'Nav_ApplyDepartment');
@ -272,7 +273,7 @@ class SK026ShowPrint extends React.Component {
// this.setState({ isFinished: 'inline' }) // this.setState({ isFinished: 'inline' })
// } // }
} }
} }
}); });
} }
@ -496,7 +497,7 @@ class SK026ShowPrint extends React.Component {
{i + 1} {i + 1}
</td> </td>
<td> <td>
{item.Nav_ProductionUnit?.NAME} {item.Nav_ProductionUnit?.NAME}
</td> </td>
<td> <td>
{item.Nav_Area ? item.Nav_Area.NAME : ''} {item.Nav_Area ? item.Nav_Area.NAME : ''}
@ -511,13 +512,13 @@ class SK026ShowPrint extends React.Component {
{item.Nav_Type ? item.Nav_Type?.NAME : ''} {item.Nav_Type ? item.Nav_Type?.NAME : ''}
</td> </td>
<td> <td>
{item.Nav_SCOREL? item.Nav_SCOREL?.SCORE : 0} {item.Nav_SCOREL ? item.Nav_SCOREL?.SCORE : 0}
</td> </td>
<td> <td>
{item.Nav_SCOREE? item.Nav_SCOREE?.SCORE : 0} {item.Nav_SCOREE ? item.Nav_SCOREE?.SCORE : 0}
</td> </td>
<td> <td>
{item.Nav_SCOREC? item.Nav_SCOREC?.SCORE : 0} {item.Nav_SCOREC ? item.Nav_SCOREC?.SCORE : 0}
</td> </td>
<td> <td>
{item.EVALUATE_SCORE} {item.EVALUATE_SCORE}

View File

@ -47,6 +47,7 @@ class SK027ShowPrint extends React.Component {
loadData = (dataId) => { loadData = (dataId) => {
let json = initFilter(this.props.login.OrgId); let json = initFilter(this.props.login.OrgId);
json.Parameter22 = this.props.data.ORG_ID_HV;
extendRule(json, 'ID', 1, dataId); extendRule(json, 'ID', 1, dataId);
extendIgnoreDataRule(json) extendIgnoreDataRule(json)
// extendRule(json, 'ID', 1, dataId); // extendRule(json, 'ID', 1, dataId);
@ -77,7 +78,7 @@ class SK027ShowPrint extends React.Component {
} }
this.onClickApprove(false); this.onClickApprove(false);
} }
} }
}); });
} }

View File

@ -41,6 +41,7 @@ class SK031ShowPrint extends React.Component {
loadData = (dataId, taskID) => { loadData = (dataId, taskID) => {
let json = initFilter(this.props.login.OrgId); let json = initFilter(this.props.login.OrgId);
json.Parameter22 = this.props.data.ORG_ID_HV;
extendRule(json, 'ID', 1, dataId); extendRule(json, 'ID', 1, dataId);
// extendRule(json, 'TASK_ID', 1, taskID); // extendRule(json, 'TASK_ID', 1, taskID);
// extendInclude(json, 'Nav_ApplyUser'); // extendInclude(json, 'Nav_ApplyUser');
@ -68,7 +69,7 @@ class SK031ShowPrint extends React.Component {
} }
this.onClickApprove(false); this.onClickApprove(false);
} }
} }
}); });
} }

View File

@ -42,7 +42,15 @@ class SK033ShowPrint extends React.Component {
loadData = (dataId, taskID) => { loadData = (dataId, taskID) => {
let json = initFilter(this.props.login.OrgId); let json = initFilter(this.props.login.OrgId);
json.Parameter22 = this.props.data?.TASK_ORGID if (this.props.data.ORG_ID_HV) {
json.Parameter22 = this.props.data.ORG_ID_HV;
}
else if (this.props.data?.TASK_ORGID) {
json.Parameter22 = this.props.data?.TASK_ORGID
}
else {
json.Parameter22 = this.props.data.ORG_ID_HV;
}
extendRule(json, 'ID', 1, dataId); extendRule(json, 'ID', 1, dataId);
// extendRule(json, 'TASK_ID', 1, taskID); // extendRule(json, 'TASK_ID', 1, taskID);
// extendInclude(json, 'Nav_ApplyUser'); // extendInclude(json, 'Nav_ApplyUser');

View File

@ -1,6 +1,6 @@
import { Button, Descriptions,Popconfirm, Row, Col, Form,Modal, Input, Select, Table } from 'antd'; import { Button, Descriptions, Popconfirm, Row, Col, Form, Modal, Input, Select, Table } from 'antd';
import React from 'react'; import React from 'react';
import { initFilter, extendRule, extendInclude, extendIgnoreDataRule,setDataFieldValue, guid, initQueryFilter } from "../../../utils/common"; import { initFilter, extendRule, extendInclude, extendIgnoreDataRule, setDataFieldValue, guid, initQueryFilter } from "../../../utils/common";
import ReactToPrint from "react-to-print"; import ReactToPrint from "react-to-print";
import stylesStep from '../HI/StepForm.css'; import stylesStep from '../HI/StepForm.css';
import config from "../../../config"; import config from "../../../config";
@ -10,434 +10,431 @@ import moment from 'moment';
import { message } from "antd/lib/index"; import { message } from "antd/lib/index";
import FormPage from '../../../components/FormPage' import FormPage from '../../../components/FormPage'
class SK035CheckLibrary extends React.Component { class SK035CheckLibrary extends React.Component {
constructor(props) { constructor(props) {
super(props); super(props);
this.state = { this.state = {
data: null, data: null,
BtnAgreeDisplay: 'none', BtnAgreeDisplay: 'none',
tmpData: {}, tmpData: {},
showDetail:false, showDetail: false,
showDetailContent: false, showDetailContent: false,
Details:{}, Details: {},
columns:[], columns: [],
DetailContents:{}, DetailContents: {},
columnContents:[], columnContents: [],
DetailPosts:{}, DetailPosts: {},
columnPosts:[] columnPosts: []
};
}; };
};
componentDidMount() { componentDidMount() {
if (this.props.data?.id) if (this.props.data?.id)
this.loadData(this.props.data?.id); this.loadData(this.props.data?.id);
this.state.columnContents = [ this.state.columnContents = [
{ {
title: '序号', title: '序号',
dataIndex: 'NUM', dataIndex: 'NUM',
key: "NUM", key: "NUM",
}, },
// { // {
// title: "检查内容", // title: "检查内容",
// dataIndex: "Nav_Contents.CHECKCONTENT", // dataIndex: "Nav_Contents.CHECKCONTENT",
// key: "Nav_Contents.CHECKCONTENT", // key: "Nav_Contents.CHECKCONTENT",
// }, // },
{ {
title: "检查内容", title: "检查内容",
dataIndex: "Nav_Contents.CHECKCONTENT", dataIndex: "Nav_Contents.CHECKCONTENT",
key: "Nav_Contents.CHECKCONTENT", key: "Nav_Contents.CHECKCONTENT",
}, },
{ {
title: "检查依据", title: "检查依据",
dataIndex: "CHECK_BASIC", dataIndex: "CHECK_BASIC",
key: "CHECK_BASIC", key: "CHECK_BASIC",
}, },
{ {
title: "判定标准", title: "判定标准",
dataIndex: "CHECK_STANDARD", dataIndex: "CHECK_STANDARD",
key: "CHECK_STANDARD", key: "CHECK_STANDARD",
}, },
{ {
title: '操作', title: '操作',
dataIndex: '', dataIndex: '',
key: '', key: '',
render: (text, record, index) => { render: (text, record, index) => {
return <Button type='defualt' size='small' onClick={(e) => { this.showModal(record) }} icon='eye' /> return <Button type='defualt' size='small' onClick={(e) => { this.showModal(record) }} icon='eye' />
}
}
];
this.state.columnPosts = [
{
title: "检查层级",
dataIndex: "CHECK_TYPE",
key: "CHECK_TYPE",
render: (text, record) =>
{
return <label>{this.props.app.enums.SKDepartmentTypeEnum.enums[record.CHECK_TYPE]}</label>
}
},
{
title: "检查部门",
dataIndex: "Nav_Department.NAME",
key: "Nav_Department.NAME",
},
// {
// title: "检查岗位",
// dataIndex: "Nav_DetailPosts",
// key: "Nav_DetailPosts",
// render: (text, record) =>
// {
// return <label>{
// record.Nav_DetailPosts && record.Nav_DetailPosts.map((item, i) => {
// return item.Nav_Post.NAME+' '
// })
// }</label>
// }
// },
{
title: "检查类型",
dataIndex: "Nav_CheckType.NAME",
key: "Nav_CheckType.NAME",
},
{
title: "检查周期",
dataIndex: "CHECK_CYCLE",
key: "CHECK_CYCLE",
render: (text, record) =>
{
return <label>{this.props.app.enums.SKPLANCHECKFREQUENCYEnum.enums[record.CHECK_CYCLE]}</label>
}
},
];
this.state.columns = [
{
title: '序号',
dataIndex: 'NUM',
key: "NUM",
},
{
title: "隐患描述",
dataIndex: "HIDDEN_DESCRIPTION",
key: "HIDDEN_DESCRIPTION",
},
{
title: "隐患等级",
dataIndex: "HIDDEN_LEVEL",
key: "HIDDEN_LEVEL",
render: (text, record) => this.ShowState(record),
},
{
title: "整改措施",
dataIndex: "RECTIFICATION_MEASURES",
key: "RECTIFICATION_MEASURES",
},
];
}
componentWillReceiveProps(NextProps) {
if (NextProps.data?.id && this.props.data?.id != NextProps.data?.id) {
this.loadData(NextProps.data?.id);
}
}
ShowState(obj) {
if (obj.HIDDEN_LEVEL === 0) {
return "一般";
} else {
return "重大";
} }
} }
BtnClose = () => { ];
if (typeof this.props.data.onCancel != "undefined"&&typeof this.props.data.onCancel == 'function') this.state.columnPosts = [
this.props.data.onCancel(); {
} title: "检查层级",
dataIndex: "CHECK_TYPE",
key: "CHECK_TYPE",
render: (text, record) => {
return <label>{this.props.app.enums.SKDepartmentTypeEnum.enums[record.CHECK_TYPE]}</label>
}
},
{
title: "检查部门",
dataIndex: "Nav_Department.NAME",
key: "Nav_Department.NAME",
},
// {
// title: "检查岗位",
// dataIndex: "Nav_DetailPosts",
// key: "Nav_DetailPosts",
// render: (text, record) =>
// {
// return <label>{
// record.Nav_DetailPosts && record.Nav_DetailPosts.map((item, i) => {
// return item.Nav_Post.NAME+' '
// })
// }</label>
// }
// },
{
title: "检查类型",
dataIndex: "Nav_CheckType.NAME",
key: "Nav_CheckType.NAME",
},
{
title: "检查周期",
dataIndex: "CHECK_CYCLE",
key: "CHECK_CYCLE",
render: (text, record) => {
return <label>{this.props.app.enums.SKPLANCHECKFREQUENCYEnum.enums[record.CHECK_CYCLE]}</label>
}
},
];
this.state.columns = [
{
title: '序号',
dataIndex: 'NUM',
key: "NUM",
},
{
title: "隐患描述",
dataIndex: "HIDDEN_DESCRIPTION",
key: "HIDDEN_DESCRIPTION",
},
{
title: "隐患等级",
dataIndex: "HIDDEN_LEVEL",
key: "HIDDEN_LEVEL",
render: (text, record) => this.ShowState(record),
},
{
title: "整改措施",
dataIndex: "RECTIFICATION_MEASURES",
key: "RECTIFICATION_MEASURES",
},
];
}
loadData = (dataId) => { componentWillReceiveProps(NextProps) {
let that=this; if (NextProps.data?.id && this.props.data?.id != NextProps.data?.id) {
let jsonTemp = initFilter(that.props.login.OrgId); this.loadData(NextProps.data?.id);
extendRule(jsonTemp, 'ID', 1, dataId); }
that.props.dispatch({ }
type: 'app/getDataByPost', ShowState(obj) {
payload: jsonTemp, if (obj.HIDDEN_LEVEL === 0) {
url: 'SK/SKRiskIdentifyResult/GetDetail', return "一般";
onComplete: (retTemp) => { } else {
if (retTemp) { return "重大";
let json = initFilter(that.props.login.OrgId); }
extendRule(json, 'PRODUCTION_UNIT_ID', 1, retTemp.PRODUCTION_UNIT_ID); }
extendRule(json, 'AREA_ID', 1, retTemp.AREA_ID); BtnClose = () => {
extendRule(json, 'TYPE_ID', 1, retTemp.TYPE_ID); if (typeof this.props.data.onCancel != "undefined" && typeof this.props.data.onCancel == 'function')
extendRule(json, 'RISK_NAME', 1, retTemp.RISK_NAME); this.props.data.onCancel();
extendRule(json, 'RISK_DESCRIPTION', 1, retTemp.RISK_DESCRIPTION); }
// extendInclude(json, 'Nav_Type');
// extendInclude(json, 'Nav_Area'); loadData = (dataId) => {
// extendInclude(json, 'Nav_Posts'); let that = this;
// extendInclude(json, 'Nav_Posts.Nav_PostDetails.Nav_Post'); let jsonTemp = initFilter(that.props.login.OrgId);
// extendInclude(json, 'Nav_Departs'); json.Parameter22 = this.props.data.ORG_ID_HV;
// extendInclude(json, 'Nav_Departs.Nav_Department'); extendRule(jsonTemp, 'ID', 1, dataId);
// extendInclude(json, 'Nav_Departs.Nav_User'); that.props.dispatch({
// extendInclude(json, 'Nav_Details'); type: 'app/getDataByPost',
// extendInclude(json, 'Nav_Details.Nav_DetailContents'); payload: jsonTemp,
// extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_Contents'); url: 'SK/SKRiskIdentifyResult/GetDetail',
// extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_DetailHiddens'); onComplete: (retTemp) => {
// extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_DetailDeparts'); if (retTemp) {
// extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_DetailDeparts.Nav_Department'); let json = initFilter(that.props.login.OrgId);
// extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_DetailDeparts.Nav_CheckType'); extendRule(json, 'PRODUCTION_UNIT_ID', 1, retTemp.PRODUCTION_UNIT_ID);
// extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_DetailDeparts.Nav_DetailPosts'); extendRule(json, 'AREA_ID', 1, retTemp.AREA_ID);
// extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_DetailDeparts.Nav_DetailPosts.Nav_Post'); extendRule(json, 'TYPE_ID', 1, retTemp.TYPE_ID);
extendIgnoreDataRule(json) extendRule(json, 'RISK_NAME', 1, retTemp.RISK_NAME);
that.props.dispatch({ extendRule(json, 'RISK_DESCRIPTION', 1, retTemp.RISK_DESCRIPTION);
// extendInclude(json, 'Nav_Type');
// extendInclude(json, 'Nav_Area');
// extendInclude(json, 'Nav_Posts');
// extendInclude(json, 'Nav_Posts.Nav_PostDetails.Nav_Post');
// extendInclude(json, 'Nav_Departs');
// extendInclude(json, 'Nav_Departs.Nav_Department');
// extendInclude(json, 'Nav_Departs.Nav_User');
// extendInclude(json, 'Nav_Details');
// extendInclude(json, 'Nav_Details.Nav_DetailContents');
// extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_Contents');
// extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_DetailHiddens');
// extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_DetailDeparts');
// extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_DetailDeparts.Nav_Department');
// extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_DetailDeparts.Nav_CheckType');
// extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_DetailDeparts.Nav_DetailPosts');
// extendInclude(json, 'Nav_Details.Nav_DetailContents.Nav_DetailDeparts.Nav_DetailPosts.Nav_Post');
extendIgnoreDataRule(json)
that.props.dispatch({
type: 'app/getDataByPost', type: 'app/getDataByPost',
payload: json, payload: json,
url: 'SK/SKEnterpriseLibrary/SKGet', url: 'SK/SKEnterpriseLibrary/SKGet',
onComplete: (ret) => { onComplete: (ret) => {
if (ret) { if (ret) {
if(that.props.data && that.props.data.loadDataDeal) if (that.props.data && that.props.data.loadDataDeal) {
{ that.props.data.loadDataDeal(1);
that.props.data.loadDataDeal(1);
}
that.setState({ data: ret });
if (that.props.data.tableKey==="2" ||that.props.data.tableKey===undefined) {
that.setState({ BtnAgreeDisplay: 'none' })
}else{
that.setState({ BtnAgreeDisplay: 'inline' })
}
this.onClickApprove(false);
//归档才显示打印和导出按钮
// if(ret.PRE_MEETING_STATUS==5){
// this.setState({ isFinished: 'inline' })
// }
} }
else that.setState({ data: ret });
{ message.error('企业库无对应风险!');} if (that.props.data.tableKey === "2" || that.props.data.tableKey === undefined) {
} that.setState({ BtnAgreeDisplay: 'none' })
}); } else {
that.setState({ BtnAgreeDisplay: 'inline' })
} }
this.onClickApprove(false);
//归档才显示打印和导出按钮
// if(ret.PRE_MEETING_STATUS==5){
// this.setState({ isFinished: 'inline' })
// }
}
else { message.error('企业库无对应风险!'); }
} }
}); });
}
onTableBtnExport() {
const enums=this.props.data.enums ? this.props.data.enums :this.props.app.enums ;
let TableWrap = document.getElementById('tableId' + this.props.data.id);
let Table = TableWrap.getElementsByTagName('table')[0];
const wb = XLSX.utils.table_to_book(Table);
XLSX.writeFile(wb, "双控企业库.xlsx")
}
onClickApprove=(appVisible)=>{
const newtmpData = {
data: { id: this.props.data.id, isShow: true,key:guid(),param:this.props.data.param,appVisible:appVisible,BtnAgreeDisplay:'inline'},
formCode: "PF123",
} }
this.setState({
tmpData: newtmpData, }
}); });
}
onTableBtnExport() {
const enums = this.props.data.enums ? this.props.data.enums : this.props.app.enums;
let TableWrap = document.getElementById('tableId' + this.props.data.id);
let Table = TableWrap.getElementsByTagName('table')[0];
const wb = XLSX.utils.table_to_book(Table);
XLSX.writeFile(wb, "双控企业库.xlsx")
}
onClickApprove = (appVisible) => {
const newtmpData = {
data: { id: this.props.data.id, isShow: true, key: guid(), param: this.props.data.param, appVisible: appVisible, BtnAgreeDisplay: 'inline' },
formCode: "PF123",
} }
showModalContent = (item) => { this.setState({
this.setState({ tmpData: newtmpData,
showDetailContent: true, });
},()=>{ }
this.setState({ showModalContent = (item) => {
DetailContents:item.Nav_DetailContents this.setState({
}); showDetailContent: true,
}); }, () => {
}; this.setState({
showModal = (item) => { DetailContents: item.Nav_DetailContents
this.setState({ });
showDetail: true, });
},()=>{ };
this.setState({ showModal = (item) => {
Details:item.Nav_DetailHiddens, this.setState({
DetailPosts:item.Nav_DetailDeparts showDetail: true,
}); }, () => {
}); this.setState({
}; Details: item.Nav_DetailHiddens,
handleCancel = () => { DetailPosts: item.Nav_DetailDeparts
this.setState({ });
showDetail: false, });
}); };
}; handleCancel = () => {
closeModal = () => { this.setState({
this.setState({ showDetail: false,
showDetail: false, });
}); };
}; closeModal = () => {
handleCancelContent = () => { this.setState({
this.setState({ showDetail: false,
showDetailContent: false, });
}); };
}; handleCancelContent = () => {
closeModalContent = () => { this.setState({
this.setState({ showDetailContent: false,
showDetailContent: false, });
}); };
}; closeModalContent = () => {
render() { this.setState({
const { data } = this.state; showDetailContent: false,
const enums=this.props.data.enums ? this.props.data.enums :this.props.app.enums ; });
// let aaa = Math.random(); };
return <div> render() {
<Modal const { data } = this.state;
visible={this.state.showDetailContent} const enums = this.props.data.enums ? this.props.data.enums : this.props.app.enums;
title="检查明细" // let aaa = Math.random();
maskClosable={false} return <div>
onCancel={this.handleCancelContent} <Modal
footer={null} visible={this.state.showDetailContent}
className="antd-modal-fullscreen" title="检查明细"
closeModal={this.closeModalContent} maskClosable={false}
> onCancel={this.handleCancelContent}
<Table footer={null}
dataSource={this.state.DetailContents} className="antd-modal-fullscreen"
columns={this.state.columnContents} closeModal={this.closeModalContent}
pagination={false} >
bordered <Table
loading={false} dataSource={this.state.DetailContents}
size="small" columns={this.state.columnContents}
/> pagination={false}
</Modal> bordered
<Modal loading={false}
visible={this.state.showDetail} size="small"
title="隐患查看" />
maskClosable={false} </Modal>
onCancel={this.handleCancel} <Modal
footer={null} visible={this.state.showDetail}
className="antd-modal-fullscreen" title="隐患查看"
closeModal={this.closeModal} maskClosable={false}
> onCancel={this.handleCancel}
<Table footer={null}
dataSource={this.state.Details} className="antd-modal-fullscreen"
columns={this.state.columns} closeModal={this.closeModal}
pagination={false} >
bordered <Table
loading={false} dataSource={this.state.Details}
size="small" columns={this.state.columns}
/> pagination={false}
<br></br> bordered
<Table loading={false}
dataSource={this.state.DetailPosts} size="small"
columns={this.state.columnPosts} />
pagination={false} <br></br>
bordered <Table
loading={false} dataSource={this.state.DetailPosts}
size="small" columns={this.state.columnPosts}
/> pagination={false}
</Modal> bordered
<div style={{ padding: '10px' }}> loading={false}
{/* <Button onClick={() => this.onClickApprove(true)} style={{ marginRight: '8px'}} icon="export">审批详情</Button> */} size="small"
<ReactToPrint />
trigger={() => <Button style={{ marginLeft: '8px', display: data && data.STATUS === 30?"inline":"none" }} type={'default'} icon={'printer'} >打印</Button>} </Modal>
content={() => this.componentRef} <div style={{ padding: '10px' }}>
/> {/* <Button onClick={() => this.onClickApprove(true)} style={{ marginRight: '8px'}} icon="export">审批详情</Button> */}
<Button onClick={() => this.onTableBtnExport()} icon="export" style={{ marginLeft: '8px', display: data && data.STATUS === 30?"inline":"none" }}>导出</Button> <ReactToPrint
</div> trigger={() => <Button style={{ marginLeft: '8px', display: data && data.STATUS === 30 ? "inline" : "none" }} type={'default'} icon={'printer'} >打印</Button>}
<div ref={el => (this.componentRef = el)} style={{ padding: '20px' }} id={'tableId' + this.props.data.id}> content={() => this.componentRef}
<h1 style={{ textAlign: 'center', margin: '15px' }}>双控企业库</h1> />
{ <Button onClick={() => this.onTableBtnExport()} icon="export" style={{ marginLeft: '8px', display: data && data.STATUS === 30 ? "inline" : "none" }}>导出</Button>
data ? </div>
<div> <div ref={el => (this.componentRef = el)} style={{ padding: '20px' }} id={'tableId' + this.props.data.id}>
<Descriptions size="middle" bordered className={stylesStep.description}> <h1 style={{ textAlign: 'center', margin: '15px' }}>双控企业库</h1>
<Descriptions.Item label="生产单元">{data.Nav_ProductionUnit?.NAME}</Descriptions.Item> {
<Descriptions.Item label="辨识区域">{data.Nav_Area? data.Nav_Area?.NAME : ''}</Descriptions.Item> data ?
<Descriptions.Item label="风险名称">{data.RISK_NAME}</Descriptions.Item> <div>
<Descriptions.Item label="风险描述">{data.RISK_DESCRIPTION}</Descriptions.Item> <Descriptions size="middle" bordered className={stylesStep.description}>
<Descriptions.Item label="风险类别">{data.Nav_Type? data.Nav_Type?.NAME : ''}</Descriptions.Item> <Descriptions.Item label="生产单元">{data.Nav_ProductionUnit?.NAME}</Descriptions.Item>
<Descriptions.Item label="风险评价L">{data.EVALUATE_L}</Descriptions.Item> <Descriptions.Item label="辨识区域">{data.Nav_Area ? data.Nav_Area?.NAME : ''}</Descriptions.Item>
<Descriptions.Item label="风险评价E">{data.EVALUATE_E}</Descriptions.Item> <Descriptions.Item label="风险名称">{data.RISK_NAME}</Descriptions.Item>
<Descriptions.Item label="风险评价C">{data.EVALUATE_C}</Descriptions.Item> <Descriptions.Item label="风险描述">{data.RISK_DESCRIPTION}</Descriptions.Item>
<Descriptions.Item label="分值D">{data.EVALUATE_SCORE}</Descriptions.Item> <Descriptions.Item label="风险类别">{data.Nav_Type ? data.Nav_Type?.NAME : ''}</Descriptions.Item>
<Descriptions.Item label="风险等级">{enums.SKEvaluateLevelEnum.enums[data.EVALUATE_LEVEL]}</Descriptions.Item> <Descriptions.Item label="风险评价L">{data.EVALUATE_L}</Descriptions.Item>
<Descriptions.Item label="应急处置">{data.EMERGENCY}</Descriptions.Item> <Descriptions.Item label="风险评价E">{data.EVALUATE_E}</Descriptions.Item>
<Descriptions.Item label="是否有效">{enums.FMEnableStatusEnum.enums[data.ENABLE_STATUS]}</Descriptions.Item> <Descriptions.Item label="风险评价C">{data.EVALUATE_C}</Descriptions.Item>
</Descriptions> <Descriptions.Item label="分值D">{data.EVALUATE_SCORE}</Descriptions.Item>
</div>:null <Descriptions.Item label="风险等级">{enums.SKEvaluateLevelEnum.enums[data.EVALUATE_LEVEL]}</Descriptions.Item>
} <Descriptions.Item label="应急处置">{data.EMERGENCY}</Descriptions.Item>
{ <Descriptions.Item label="是否有效">{enums.FMEnableStatusEnum.enums[data.ENABLE_STATUS]}</Descriptions.Item>
data ? <table style={{ width: '100%', textAlign: 'left'}} className={stylesStep.PrintForm1}> </Descriptions>
<tr> </div> : null
<td width='150px' textAlign='center' className={stylesStep.fontBold}>序号</td> }
<td className={stylesStep.fontBold}>管控层级</td> {
<td className={stylesStep.fontBold}>管控部门</td> data ? <table style={{ width: '100%', textAlign: 'left' }} className={stylesStep.PrintForm1}>
<td className={stylesStep.fontBold}>管控责任人</td> <tr>
</tr> <td width='150px' textAlign='center' className={stylesStep.fontBold}>序号</td>
{ <td className={stylesStep.fontBold}>管控层级</td>
data.Nav_Departs && data.Nav_Departs.sort((x, y) => x.DEPARTMENT_TYPE - y.DEPARTMENT_TYPE).map((item,i)=>{ <td className={stylesStep.fontBold}>管控部门</td>
return <tr> <td className={stylesStep.fontBold}>管控责任人</td>
<td> </tr>
{i+1} {
</td> data.Nav_Departs && data.Nav_Departs.sort((x, y) => x.DEPARTMENT_TYPE - y.DEPARTMENT_TYPE).map((item, i) => {
<td> return <tr>
{enums.SKDepartmentTypeEnum.enums[item.DEPARTMENT_TYPE]} <td>
</td> {i + 1}
<td> </td>
{item.Nav_Department?.NAME} <td>
</td> {enums.SKDepartmentTypeEnum.enums[item.DEPARTMENT_TYPE]}
<td> </td>
{item.Nav_User?.NAME} <td>
</td> {item.Nav_Department?.NAME}
</tr> </td>
}) <td>
} {item.Nav_User?.NAME}
</table>:null </td>
} </tr>
{ })
data ? <table style={{ width: '100%', textAlign: 'left'}} className={stylesStep.PrintForm1}> }
<tr> </table> : null
<td width='150px' textAlign='center' className={stylesStep.fontBold}>序号</td> }
<td className={stylesStep.fontBold}>管控措施</td> {
{/* <td className={stylesStep.fontBold}>应急处置</td> */} data ? <table style={{ width: '100%', textAlign: 'left' }} className={stylesStep.PrintForm1}>
<td className={stylesStep.fontBold}>查看</td> <tr>
</tr> <td width='150px' textAlign='center' className={stylesStep.fontBold}>序号</td>
{ <td className={stylesStep.fontBold}>管控措施</td>
data.Nav_Details && data.Nav_Details.sort((x, y) => x.NUM - y.NUM).map((item,i)=>{ {/* <td className={stylesStep.fontBold}>应急处置</td> */}
return <tr> <td className={stylesStep.fontBold}>查看</td>
<td> </tr>
{item.NUM} {
</td> data.Nav_Details && data.Nav_Details.sort((x, y) => x.NUM - y.NUM).map((item, i) => {
<td> return <tr>
{item.MEASURES_NAME} <td>
</td> {item.NUM}
{/* <td> </td>
<td>
{item.MEASURES_NAME}
</td>
{/* <td>
{item.EMERGENCY} {item.EMERGENCY}
</td> */} </td> */}
<td><Button type="defualt" icon='eye' onClick={() => this.showModalContent(item)}></Button></td> <td><Button type="defualt" icon='eye' onClick={() => this.showModalContent(item)}></Button></td>
</tr> </tr>
}) })
} }
</table>:null </table> : null
} }
{ {
data ? <table style={{ width: '100%', textAlign: 'left'}} className={stylesStep.PrintForm1}> data ? <table style={{ width: '100%', textAlign: 'left' }} className={stylesStep.PrintForm1}>
<tr> <tr>
<td width='150px' textAlign='center' className={stylesStep.fontBold}>序号</td> <td width='150px' textAlign='center' className={stylesStep.fontBold}>序号</td>
<td className={stylesStep.fontBold}>辨识部门</td> <td className={stylesStep.fontBold}>辨识部门</td>
<td className={stylesStep.fontBold}>辨识岗位</td> <td className={stylesStep.fontBold}>辨识岗位</td>
</tr> </tr>
{
data.Nav_Posts && data.Nav_Posts.map((item, i) => {
return <tr>
<td>
{i + 1}
</td>
<td>
{item.Nav_Department?.NAME}
</td>
<td>
{ {
data.Nav_Posts && data.Nav_Posts.map((item,i)=>{ item?.Nav_PostDetails && item?.Nav_PostDetails.map((item2, i) => {
return <tr> return (i > 0 ? ";" : "") + item2?.Nav_Post?.NAME
<td> // return <tr><label> {item2.Nav_Post?.NAME}</label></tr>
{i+1} })
</td> }
<td> </td>
{item.Nav_Department?.NAME} </tr>
</td> })
<td> }
{ </table> : null
item?.Nav_PostDetails && item?.Nav_PostDetails.map((item2, i) => { }
return (i > 0 ? ";" : "") + item2?.Nav_Post?.NAME <FormPage {...this.state.tmpData} />
// return <tr><label> {item2.Nav_Post?.NAME}</label></tr> </div>
}) </div>
} }
</td>
</tr>
})
}
</table>:null
}
<FormPage {...this.state.tmpData} />
</div>
</div>
}
} }
export default connect(({ login,app }) => ({ login,app }))(SK035CheckLibrary) export default connect(({ login, app }) => ({ login, app }))(SK035CheckLibrary)

View File

@ -41,6 +41,7 @@ class SK035ShowPrint extends React.Component {
loadData = (dataId, taskID) => { loadData = (dataId, taskID) => {
let json = initFilter(this.props.login.OrgId); let json = initFilter(this.props.login.OrgId);
json.Parameter22 = this.props.data.ORG_ID_HV;
extendRule(json, 'ID', 1, dataId); extendRule(json, 'ID', 1, dataId);
// extendRule(json, 'TASK_ID', 1, taskID); // extendRule(json, 'TASK_ID', 1, taskID);
// extendInclude(json, 'Nav_ApplyUser'); // extendInclude(json, 'Nav_ApplyUser');
@ -72,7 +73,7 @@ class SK035ShowPrint extends React.Component {
} }
this.onClickApprove(false); this.onClickApprove(false);
} }
} }
}); });
} }
@ -147,7 +148,7 @@ class SK035ShowPrint extends React.Component {
{i + 1} {i + 1}
</td> </td>
<td> <td>
{item.Nav_ProductionUnit?.NAME} {item.Nav_ProductionUnit?.NAME}
</td> </td>
<td> <td>
{item.Nav_Area?.NAME} {item.Nav_Area?.NAME}

View File

@ -42,6 +42,7 @@ class SK037ShowPrint extends React.Component {
loadData = (dataId, taskID) => { loadData = (dataId, taskID) => {
let json = initFilter(this.props.login.OrgId); let json = initFilter(this.props.login.OrgId);
json.Parameter22 = this.props.data.ORG_ID_HV;
extendRule(json, 'ID', 1, dataId); extendRule(json, 'ID', 1, dataId);
// extendRule(json, 'TASK_ID', 1, taskID); // extendRule(json, 'TASK_ID', 1, taskID);
// extendInclude(json, 'Nav_ApplyUser'); // extendInclude(json, 'Nav_ApplyUser');
@ -73,7 +74,7 @@ class SK037ShowPrint extends React.Component {
} }
this.onClickApprove(false); this.onClickApprove(false);
} }
} }
}); });
} }
@ -148,7 +149,7 @@ class SK037ShowPrint extends React.Component {
{i + 1} {i + 1}
</td> </td>
<td> <td>
{item.Nav_ProductionUnit?.NAME} {item.Nav_ProductionUnit?.NAME}
</td> </td>
<td> <td>
{item.Nav_Area?.NAME} {item.Nav_Area?.NAME}

View File

@ -41,6 +41,7 @@ class SK039ShowPrint extends React.Component {
loadData = (dataId, taskID) => { loadData = (dataId, taskID) => {
let json = initFilter(this.props.login.OrgId); let json = initFilter(this.props.login.OrgId);
json.Parameter22 = this.props.data.ORG_ID_HV;
extendRule(json, 'ID', 1, dataId); extendRule(json, 'ID', 1, dataId);
// extendRule(json, 'TASK_ID', 1, taskID); // extendRule(json, 'TASK_ID', 1, taskID);
// extendInclude(json, 'Nav_ApplyUser'); // extendInclude(json, 'Nav_ApplyUser');
@ -73,7 +74,7 @@ class SK039ShowPrint extends React.Component {
} }
this.onClickApprove(false); this.onClickApprove(false);
} }
} }
}); });
} }
@ -152,7 +153,7 @@ class SK039ShowPrint extends React.Component {
{i + 1} {i + 1}
</td> </td>
<td> <td>
{item.Nav_ProductionUnit?.NAME} {item.Nav_ProductionUnit?.NAME}
</td> </td>
<td> <td>
{item.Nav_Area?.NAME} {item.Nav_Area?.NAME}
@ -170,13 +171,13 @@ class SK039ShowPrint extends React.Component {
{enums.SKEvaluateLevelEnum.enums[item.EVALUATE_LEVEL]} {enums.SKEvaluateLevelEnum.enums[item.EVALUATE_LEVEL]}
</td> </td>
<td> <td>
{item.Nav_SCOREL? item.Nav_SCOREL?.SCORE : 0} {item.Nav_SCOREL ? item.Nav_SCOREL?.SCORE : 0}
</td> </td>
<td> <td>
{item.Nav_SCOREE? item.Nav_SCOREE?.SCORE : 0} {item.Nav_SCOREE ? item.Nav_SCOREE?.SCORE : 0}
</td> </td>
<td> <td>
{item.Nav_SCOREC? item.Nav_SCOREC?.SCORE : 0} {item.Nav_SCOREC ? item.Nav_SCOREC?.SCORE : 0}
</td> </td>
<td> <td>
{item.EVALUATE_SCORE} {item.EVALUATE_SCORE}
@ -185,7 +186,7 @@ class SK039ShowPrint extends React.Component {
{ {
//item.MEASURE //item.MEASURE
item?.Nav_DetailMeasures && item?.Nav_DetailMeasures.map((item2, i) => { item?.Nav_DetailMeasures && item?.Nav_DetailMeasures.map((item2, i) => {
return <tr> {item2?.NUM+"、" + item2?.MEASURES_NAME}</tr> return <tr> {item2?.NUM + "、" + item2?.MEASURES_NAME}</tr>
}) })
} }
</td> </td>

View File

@ -1,5 +1,5 @@
import { message } from "antd/lib/index"; import { message } from "antd/lib/index";
import { Button, Descriptions, Popconfirm, Row, Col, Form, Input, Select, Table ,Modal} from 'antd'; import { Button, Descriptions, Popconfirm, Row, Col, Form, Input, Select, Table, Modal } from 'antd';
import React from 'react'; import React from 'react';
import { initFilter, extendRule, extendInclude, extendIgnoreDataRule, setDataFieldValue, guid, showFiles, GetFileModel } from "../../../utils/common"; import { initFilter, extendRule, extendInclude, extendIgnoreDataRule, setDataFieldValue, guid, showFiles, GetFileModel } from "../../../utils/common";
import ReactToPrint from "react-to-print"; import ReactToPrint from "react-to-print";
@ -41,6 +41,7 @@ class SK041ShowPrint extends React.Component {
loadData = (dataId, taskID) => { loadData = (dataId, taskID) => {
let json = initFilter(this.props.login.OrgId); let json = initFilter(this.props.login.OrgId);
json.Parameter22 = this.props.data.ORG_ID_HV;
extendRule(json, 'ID', 1, dataId); extendRule(json, 'ID', 1, dataId);
// extendRule(json, 'TASK_ID', 1, taskID); // extendRule(json, 'TASK_ID', 1, taskID);
// extendInclude(json, 'Nav_ApplyUser'); // extendInclude(json, 'Nav_ApplyUser');
@ -73,7 +74,7 @@ class SK041ShowPrint extends React.Component {
} }
this.onClickApprove(false); this.onClickApprove(false);
} }
} }
}); });
} }
@ -152,7 +153,7 @@ class SK041ShowPrint extends React.Component {
{i + 1} {i + 1}
</td> </td>
<td> <td>
{item.Nav_ProductionUnit?.NAME} {item.Nav_ProductionUnit?.NAME}
</td> </td>
<td> <td>
{item.Nav_Area?.NAME} {item.Nav_Area?.NAME}
@ -170,13 +171,13 @@ class SK041ShowPrint extends React.Component {
{enums.SKEvaluateLevelEnum.enums[item.EVALUATE_LEVEL]} {enums.SKEvaluateLevelEnum.enums[item.EVALUATE_LEVEL]}
</td> </td>
<td> <td>
{item.Nav_SCOREL? item.Nav_SCOREL?.SCORE : 0} {item.Nav_SCOREL ? item.Nav_SCOREL?.SCORE : 0}
</td> </td>
<td> <td>
{item.Nav_SCOREE? item.Nav_SCOREE?.SCORE : 0} {item.Nav_SCOREE ? item.Nav_SCOREE?.SCORE : 0}
</td> </td>
<td> <td>
{item.Nav_SCOREC? item.Nav_SCOREC?.SCORE : 0} {item.Nav_SCOREC ? item.Nav_SCOREC?.SCORE : 0}
</td> </td>
<td> <td>
{item.EVALUATE_SCORE} {item.EVALUATE_SCORE}
@ -185,7 +186,7 @@ class SK041ShowPrint extends React.Component {
{ {
//item.MEASURE //item.MEASURE
item?.Nav_DetailMeasures && item?.Nav_DetailMeasures.map((item2, i) => { item?.Nav_DetailMeasures && item?.Nav_DetailMeasures.map((item2, i) => {
return <tr> {item2?.NUM +"、"+item2?.MEASURES_NAME}</tr> return <tr> {item2?.NUM + "、" + item2?.MEASURES_NAME}</tr>
}) })
} }
</td> </td>

View File

@ -1,6 +1,6 @@
import { Button, Descriptions,Popconfirm, Row, Col, Form,Modal, Input, Select, Table } from 'antd'; import { Button, Descriptions, Popconfirm, Row, Col, Form, Modal, Input, Select, Table } from 'antd';
import React from 'react'; import React from 'react';
import { initFilter, extendRule, extendInclude, extendIgnoreDataRule,setDataFieldValue, guid, initQueryFilter } from "../../../utils/common"; import { initFilter, extendRule, extendInclude, extendIgnoreDataRule, setDataFieldValue, guid, initQueryFilter } from "../../../utils/common";
import ReactToPrint from "react-to-print"; import ReactToPrint from "react-to-print";
import stylesStep from '../HI/StepForm.css'; import stylesStep from '../HI/StepForm.css';
import config from "../../../config"; import config from "../../../config";
@ -29,15 +29,16 @@ class SK043ShowPrint extends React.Component {
this.loadData(NextProps.data?.id); this.loadData(NextProps.data?.id);
} }
} }
BtnClose = () => { BtnClose = () => {
if (typeof this.props.data.onCancel != "undefined"&&typeof this.props.data.onCancel == 'function') if (typeof this.props.data.onCancel != "undefined" && typeof this.props.data.onCancel == 'function')
this.props.data.onCancel(); this.props.data.onCancel();
} }
loadData = (dataId) => { loadData = (dataId) => {
let that=this; let that = this;
let json = initFilter(that.props.login.OrgId); let json = initFilter(that.props.login.OrgId);
json.Parameter22 = this.props.data.ORG_ID_HV;
extendRule(json, 'ID', 1, dataId); extendRule(json, 'ID', 1, dataId);
extendInclude(json, 'Nav_Type'); extendInclude(json, 'Nav_Type');
extendInclude(json, 'Nav_Area'); extendInclude(json, 'Nav_Area');
@ -45,20 +46,19 @@ class SK043ShowPrint extends React.Component {
extendInclude(json, 'Nav_Contents.Nav_Contents'); extendInclude(json, 'Nav_Contents.Nav_Contents');
extendInclude(json, 'Nav_Hiddens'); extendInclude(json, 'Nav_Hiddens');
extendIgnoreDataRule(json) extendIgnoreDataRule(json)
that.props.dispatch({ that.props.dispatch({
type: 'app/getDataByPost', type: 'app/getDataByPost',
payload: json, payload: json,
url: 'SK/BasicLibraryTemp/Get', url: 'SK/BasicLibraryTemp/Get',
onComplete: (ret) => { onComplete: (ret) => {
if (ret) { if (ret) {
if(that.props.data && that.props.data.loadDataDeal) if (that.props.data && that.props.data.loadDataDeal) {
{
that.props.data.loadDataDeal(1); that.props.data.loadDataDeal(1);
} }
that.setState({ data: ret }); that.setState({ data: ret });
if (that.props.data.tableKey==="2" ||that.props.data.tableKey===undefined) { if (that.props.data.tableKey === "2" || that.props.data.tableKey === undefined) {
that.setState({ BtnAgreeDisplay: 'none' }) that.setState({ BtnAgreeDisplay: 'none' })
}else{ } else {
that.setState({ BtnAgreeDisplay: 'inline' }) that.setState({ BtnAgreeDisplay: 'inline' })
} }
this.onClickApprove(false); this.onClickApprove(false);
@ -67,22 +67,22 @@ class SK043ShowPrint extends React.Component {
// this.setState({ isFinished: 'inline' }) // this.setState({ isFinished: 'inline' })
// } // }
} }
} }
}); });
} }
onTableBtnExport() { onTableBtnExport() {
const enums=this.props.data.enums ? this.props.data.enums :this.props.app.enums ; const enums = this.props.data.enums ? this.props.data.enums : this.props.app.enums;
let TableWrap = document.getElementById('tableId' + this.props.data.id); let TableWrap = document.getElementById('tableId' + this.props.data.id);
let Table = TableWrap.getElementsByTagName('table')[0]; let Table = TableWrap.getElementsByTagName('table')[0];
const wb = XLSX.utils.table_to_book(Table); const wb = XLSX.utils.table_to_book(Table);
XLSX.writeFile(wb, "双控基础库.xlsx") XLSX.writeFile(wb, "双控基础库.xlsx")
} }
onClickApprove=(appVisible)=>{ onClickApprove = (appVisible) => {
const newtmpData = { const newtmpData = {
data: { id: this.props.data.id, isShow: true,key:guid(),param:this.props.data.param,appVisible:appVisible,BtnAgreeDisplay:'inline'}, data: { id: this.props.data.id, isShow: true, key: guid(), param: this.props.data.param, appVisible: appVisible, BtnAgreeDisplay: 'inline' },
formCode: "PF123", formCode: "PF123",
} }
this.setState({ this.setState({
@ -91,81 +91,81 @@ class SK043ShowPrint extends React.Component {
} }
render() { render() {
const { data } = this.state; const { data } = this.state;
const enums=this.props.data.enums ? this.props.data.enums :this.props.app.enums ; const enums = this.props.data.enums ? this.props.data.enums : this.props.app.enums;
// let aaa = Math.random(); // let aaa = Math.random();
return <div> return <div>
<div style={{ padding: '10px' }}> <div style={{ padding: '10px' }}>
{/* <Button onClick={() => this.onClickApprove(true)} style={{ marginRight: '8px'}} icon="export">审批详情</Button> */} {/* <Button onClick={() => this.onClickApprove(true)} style={{ marginRight: '8px'}} icon="export">审批详情</Button> */}
<ReactToPrint <ReactToPrint
trigger={() => <Button style={{ marginLeft: '8px', display: data && data.STATUS === 30?"inline":"none" }} type={'default'} icon={'printer'} >打印</Button>} trigger={() => <Button style={{ marginLeft: '8px', display: data && data.STATUS === 30 ? "inline" : "none" }} type={'default'} icon={'printer'} >打印</Button>}
content={() => this.componentRef} content={() => this.componentRef}
/> />
<Button onClick={() => this.onTableBtnExport()} icon="export" style={{ marginLeft: '8px', display: data && data.STATUS === 30?"inline":"none" }}>导出</Button> <Button onClick={() => this.onTableBtnExport()} icon="export" style={{ marginLeft: '8px', display: data && data.STATUS === 30 ? "inline" : "none" }}>导出</Button>
</div> </div>
<div ref={el => (this.componentRef = el)} style={{ padding: '20px' }} id={'tableId' + this.props.data.id}> <div ref={el => (this.componentRef = el)} style={{ padding: '20px' }} id={'tableId' + this.props.data.id}>
<h1 style={{ textAlign: 'center', margin: '15px' }}>双控基础库</h1> <h1 style={{ textAlign: 'center', margin: '15px' }}>双控基础库</h1>
{ {
data ? data ?
<div> <div>
<Descriptions size="middle" bordered className={stylesStep.description}> <Descriptions size="middle" bordered className={stylesStep.description}>
<Descriptions.Item label="生产单元"> {data.Nav_ProductionUnit?.NAME}</Descriptions.Item> <Descriptions.Item label="生产单元"> {data.Nav_ProductionUnit?.NAME}</Descriptions.Item>
<Descriptions.Item label="辨识区域">{data.Nav_Area? data.Nav_Area?.NAME : ''}</Descriptions.Item> <Descriptions.Item label="辨识区域">{data.Nav_Area ? data.Nav_Area?.NAME : ''}</Descriptions.Item>
<Descriptions.Item label="风险名称">{data.RISK_NAME}</Descriptions.Item> <Descriptions.Item label="风险名称">{data.RISK_NAME}</Descriptions.Item>
<Descriptions.Item label="风险描述">{data.RISK_DESCRIPTION}</Descriptions.Item> <Descriptions.Item label="风险描述">{data.RISK_DESCRIPTION}</Descriptions.Item>
<Descriptions.Item label="风险类别">{data.Nav_Type? data.Nav_Type?.NAME : ''}</Descriptions.Item> <Descriptions.Item label="风险类别">{data.Nav_Type ? data.Nav_Type?.NAME : ''}</Descriptions.Item>
<Descriptions.Item label="风险评价L">{data.EVALUATE_L}</Descriptions.Item> <Descriptions.Item label="风险评价L">{data.EVALUATE_L}</Descriptions.Item>
<Descriptions.Item label="风险评价E">{data.EVALUATE_E}</Descriptions.Item> <Descriptions.Item label="风险评价E">{data.EVALUATE_E}</Descriptions.Item>
<Descriptions.Item label="风险评价C">{data.EVALUATE_C}</Descriptions.Item> <Descriptions.Item label="风险评价C">{data.EVALUATE_C}</Descriptions.Item>
<Descriptions.Item label="分值D">{data.EVALUATE_SCORE}</Descriptions.Item> <Descriptions.Item label="分值D">{data.EVALUATE_SCORE}</Descriptions.Item>
<Descriptions.Item label="风险等级">{enums.SKEvaluateLevelEnum.enums[data.EVALUATE_LEVEL]}</Descriptions.Item> <Descriptions.Item label="风险等级">{enums.SKEvaluateLevelEnum.enums[data.EVALUATE_LEVEL]}</Descriptions.Item>
</Descriptions> </Descriptions>
<Descriptions size="middle" bordered className={stylesStep.description}> <Descriptions size="middle" bordered className={stylesStep.description}>
<Descriptions.Item label="管控措施"> <Descriptions.Item label="管控措施">
{ {
data?.Nav_Measures && data?.Nav_Measures.map((item, i) => { data?.Nav_Measures && data?.Nav_Measures.map((item, i) => {
return <tr> return <tr>
<td> <td>
{(i+1)+"."+item?.MEASURES_NAME} {(i + 1) + "." + item?.MEASURES_NAME}
</td> </td>
<td> <td>
{item?.EMERGENCY} {item?.EMERGENCY}
</td> </td>
<td> <td>
{ {
item?.Nav_Levels && item?.Nav_Levels.map((item2, i) => { item?.Nav_Levels && item?.Nav_Levels.map((item2, i) => {
return <tr> {enums.SKDepartmentTypeEnum.enums[item2?.DEPARTMENT_TYPE]}</tr> return <tr> {enums.SKDepartmentTypeEnum.enums[item2?.DEPARTMENT_TYPE]}</tr>
}) })
} }
</td> </td>
</tr>
})
}
</Descriptions.Item>
</Descriptions>
<Descriptions size="middle" bordered className={stylesStep.description}>
<Descriptions.Item label="检查内容">{
data?.Nav_Contents && data?.Nav_Contents.map((item, i) => {
return <tr><td> {(i + 1) + "." + item?.CHECK_CONTENT}</td>
<td> {item?.CHECK_BASIC}</td>
<td> {item?.CHECK_STANDARD}</td>
</tr> </tr>
}) })
} }</Descriptions.Item>
</Descriptions.Item> </Descriptions>
</Descriptions> <Descriptions size="middle" bordered className={stylesStep.description}>
<Descriptions size="middle" bordered className={stylesStep.description}> <Descriptions.Item label="隐患描述">{
<Descriptions.Item label="检查内容">{ data?.Nav_Hiddens && data?.Nav_Hiddens.map((item, i) => {
data?.Nav_Contents && data?.Nav_Contents.map((item, i) => { return <tr><td> {(i + 1) + "." + item?.HIDDEN_DESCRIPTION}</td>
return <tr><td> {(i+1)+"."+item?.CHECK_CONTENT}</td> <td> {enums.SKHiddenLevel.enums[item?.HIDDEN_LEVEL]}</td>
<td> {item?.CHECK_BASIC}</td> <td> {item?.RECTIFICATION_MEASURES}</td></tr>
<td> {item?.CHECK_STANDARD}</td> })
</tr> }</Descriptions.Item>
}) </Descriptions>
}</Descriptions.Item> </div> : null
</Descriptions>
<Descriptions size="middle" bordered className={stylesStep.description}>
<Descriptions.Item label="隐患描述">{
data?.Nav_Hiddens && data?.Nav_Hiddens.map((item, i) => {
return <tr><td> {(i+1)+"."+item?.HIDDEN_DESCRIPTION}</td>
<td> {enums.SKHiddenLevel.enums[item?.HIDDEN_LEVEL]}</td>
<td> {item?.RECTIFICATION_MEASURES}</td></tr>
})
}</Descriptions.Item>
</Descriptions>
</div>:null
} }
<FormPage {...this.state.tmpData} /> <FormPage {...this.state.tmpData} />
</div> </div>
</div> </div>
@ -173,4 +173,4 @@ class SK043ShowPrint extends React.Component {
} }
export default connect(({ login,app }) => ({ login,app }))(SK043ShowPrint) export default connect(({ login, app }) => ({ login, app }))(SK043ShowPrint)

View File

@ -1,6 +1,6 @@
import { Button, Descriptions,Popconfirm, Row, Col, Form,Modal, Input, Select, Table } from 'antd'; import { Button, Descriptions, Popconfirm, Row, Col, Form, Modal, Input, Select, Table } from 'antd';
import React from 'react'; import React from 'react';
import { initFilter, extendRule, extendInclude, extendIgnoreDataRule,setDataFieldValue, guid, initQueryFilter } from "../../../utils/common"; import { initFilter, extendRule, extendInclude, extendIgnoreDataRule, setDataFieldValue, guid, initQueryFilter } from "../../../utils/common";
import ReactToPrint from "react-to-print"; import ReactToPrint from "react-to-print";
import stylesStep from '../HI/StepForm.css'; import stylesStep from '../HI/StepForm.css';
import config from "../../../config"; import config from "../../../config";
@ -29,15 +29,16 @@ class SK045ShowPrint extends React.Component {
this.loadData(NextProps.data?.id); this.loadData(NextProps.data?.id);
} }
} }
BtnClose = () => { BtnClose = () => {
if (typeof this.props.data.onCancel != "undefined"&&typeof this.props.data.onCancel == 'function') if (typeof this.props.data.onCancel != "undefined" && typeof this.props.data.onCancel == 'function')
this.props.data.onCancel(); this.props.data.onCancel();
} }
loadData = (dataId) => { loadData = (dataId) => {
let that=this; let that = this;
let json = initFilter(that.props.login.OrgId); let json = initFilter(that.props.login.OrgId);
json.Parameter22 = this.props.data.ORG_ID_HV;
extendRule(json, 'ID', 1, dataId); extendRule(json, 'ID', 1, dataId);
// extendInclude(json, 'Nav_Type'); // extendInclude(json, 'Nav_Type');
// extendInclude(json, 'Nav_Area'); // extendInclude(json, 'Nav_Area');
@ -49,20 +50,19 @@ class SK045ShowPrint extends React.Component {
// extendInclude(json, 'Nav_Contents.Nav_Departs.Nav_Posts.Nav_Post'); // extendInclude(json, 'Nav_Contents.Nav_Departs.Nav_Posts.Nav_Post');
// extendInclude(json, 'Nav_Hiddens'); // extendInclude(json, 'Nav_Hiddens');
extendIgnoreDataRule(json) extendIgnoreDataRule(json)
that.props.dispatch({ that.props.dispatch({
type: 'app/getDataByPost', type: 'app/getDataByPost',
payload: json, payload: json,
url: 'SK/SKEnterpriseLibraryTemp/FullGet', url: 'SK/SKEnterpriseLibraryTemp/FullGet',
onComplete: (ret) => { onComplete: (ret) => {
if (ret) { if (ret) {
if(that.props.data && that.props.data.loadDataDeal) if (that.props.data && that.props.data.loadDataDeal) {
{
that.props.data.loadDataDeal(1); that.props.data.loadDataDeal(1);
} }
that.setState({ data: ret }); that.setState({ data: ret });
if (that.props.data.tableKey==="2" ||that.props.data.tableKey===undefined) { if (that.props.data.tableKey === "2" || that.props.data.tableKey === undefined) {
that.setState({ BtnAgreeDisplay: 'none' }) that.setState({ BtnAgreeDisplay: 'none' })
}else{ } else {
that.setState({ BtnAgreeDisplay: 'inline' }) that.setState({ BtnAgreeDisplay: 'inline' })
} }
this.onClickApprove(false); this.onClickApprove(false);
@ -71,22 +71,22 @@ class SK045ShowPrint extends React.Component {
// this.setState({ isFinished: 'inline' }) // this.setState({ isFinished: 'inline' })
// } // }
} }
} }
}); });
} }
onTableBtnExport() { onTableBtnExport() {
const enums=this.props.data.enums ? this.props.data.enums :this.props.app.enums ; const enums = this.props.data.enums ? this.props.data.enums : this.props.app.enums;
let TableWrap = document.getElementById('tableId' + this.props.data.id); let TableWrap = document.getElementById('tableId' + this.props.data.id);
let Table = TableWrap.getElementsByTagName('table')[0]; let Table = TableWrap.getElementsByTagName('table')[0];
const wb = XLSX.utils.table_to_book(Table); const wb = XLSX.utils.table_to_book(Table);
XLSX.writeFile(wb, "双控企业库.xlsx") XLSX.writeFile(wb, "双控企业库.xlsx")
} }
onClickApprove=(appVisible)=>{ onClickApprove = (appVisible) => {
const newtmpData = { const newtmpData = {
data: { id: this.props.data.id, isShow: true,key:guid(),param:this.props.data.param,appVisible:appVisible,BtnAgreeDisplay:'inline'}, data: { id: this.props.data.id, isShow: true, key: guid(), param: this.props.data.param, appVisible: appVisible, BtnAgreeDisplay: 'inline' },
formCode: "PF123", formCode: "PF123",
} }
this.setState({ this.setState({
@ -95,105 +95,105 @@ class SK045ShowPrint extends React.Component {
} }
render() { render() {
const { data } = this.state; const { data } = this.state;
const enums=this.props.data.enums ? this.props.data.enums :this.props.app.enums ; const enums = this.props.data.enums ? this.props.data.enums : this.props.app.enums;
// let aaa = Math.random(); // let aaa = Math.random();
return <div> return <div>
<div style={{ padding: '10px' }}> <div style={{ padding: '10px' }}>
{/* <Button onClick={() => this.onClickApprove(true)} style={{ marginRight: '8px'}} icon="export">审批详情</Button> */} {/* <Button onClick={() => this.onClickApprove(true)} style={{ marginRight: '8px'}} icon="export">审批详情</Button> */}
<ReactToPrint <ReactToPrint
trigger={() => <Button style={{ marginLeft: '8px', display: data && data.STATUS === 30?"inline":"none" }} type={'default'} icon={'printer'} >打印</Button>} trigger={() => <Button style={{ marginLeft: '8px', display: data && data.STATUS === 30 ? "inline" : "none" }} type={'default'} icon={'printer'} >打印</Button>}
content={() => this.componentRef} content={() => this.componentRef}
/> />
<Button onClick={() => this.onTableBtnExport()} icon="export" style={{ marginLeft: '8px', display: data && data.STATUS === 30?"inline":"none" }}>导出</Button> <Button onClick={() => this.onTableBtnExport()} icon="export" style={{ marginLeft: '8px', display: data && data.STATUS === 30 ? "inline" : "none" }}>导出</Button>
</div> </div>
<div ref={el => (this.componentRef = el)} style={{ padding: '20px' }} id={'tableId' + this.props.data.id}> <div ref={el => (this.componentRef = el)} style={{ padding: '20px' }} id={'tableId' + this.props.data.id}>
<h1 style={{ textAlign: 'center', margin: '15px' }}>双控企业库</h1> <h1 style={{ textAlign: 'center', margin: '15px' }}>双控企业库</h1>
{ {
data ? data ?
<div> <div>
<Descriptions size="middle" bordered className={stylesStep.description}> <Descriptions size="middle" bordered className={stylesStep.description}>
<Descriptions.Item label="生产单元"> {data.Nav_ProductionUnit?.NAME}</Descriptions.Item> <Descriptions.Item label="生产单元"> {data.Nav_ProductionUnit?.NAME}</Descriptions.Item>
<Descriptions.Item label="辨识区域">{data.Nav_Area? data.Nav_Area?.NAME : ''}</Descriptions.Item> <Descriptions.Item label="辨识区域">{data.Nav_Area ? data.Nav_Area?.NAME : ''}</Descriptions.Item>
<Descriptions.Item label="风险名称">{data.RISK_NAME}</Descriptions.Item> <Descriptions.Item label="风险名称">{data.RISK_NAME}</Descriptions.Item>
<Descriptions.Item label="风险描述">{data.RISK_DESCRIPTION}</Descriptions.Item> <Descriptions.Item label="风险描述">{data.RISK_DESCRIPTION}</Descriptions.Item>
<Descriptions.Item label="风险类别">{data.Nav_Type? data.Nav_Type?.NAME : ''}</Descriptions.Item> <Descriptions.Item label="风险类别">{data.Nav_Type ? data.Nav_Type?.NAME : ''}</Descriptions.Item>
<Descriptions.Item label="风险评价L">{data.EVALUATE_L}</Descriptions.Item> <Descriptions.Item label="风险评价L">{data.EVALUATE_L}</Descriptions.Item>
<Descriptions.Item label="风险评价E">{data.EVALUATE_E}</Descriptions.Item> <Descriptions.Item label="风险评价E">{data.EVALUATE_E}</Descriptions.Item>
<Descriptions.Item label="风险评价C">{data.EVALUATE_C}</Descriptions.Item> <Descriptions.Item label="风险评价C">{data.EVALUATE_C}</Descriptions.Item>
<Descriptions.Item label="分值D">{data.EVALUATE_SCORE}</Descriptions.Item> <Descriptions.Item label="分值D">{data.EVALUATE_SCORE}</Descriptions.Item>
<Descriptions.Item label="风险等级">{enums.SKEvaluateLevelEnum.enums[data.EVALUATE_LEVEL]}</Descriptions.Item> <Descriptions.Item label="风险等级">{enums.SKEvaluateLevelEnum.enums[data.EVALUATE_LEVEL]}</Descriptions.Item>
<Descriptions.Item label="入库时间">{data.CREATE_TIME}</Descriptions.Item> <Descriptions.Item label="入库时间">{data.CREATE_TIME}</Descriptions.Item>
<Descriptions.Item label="状态">{enums.FMEnableStatusEnum.enums[data.ENABLE_STATUS]}</Descriptions.Item> <Descriptions.Item label="状态">{enums.FMEnableStatusEnum.enums[data.ENABLE_STATUS]}</Descriptions.Item>
</Descriptions> </Descriptions>
<Descriptions size="middle" bordered className={stylesStep.description}> <Descriptions size="middle" bordered className={stylesStep.description}>
<Descriptions.Item label="管控措施"> <Descriptions.Item label="管控措施">
{ {
data?.Nav_Measures && data?.Nav_Measures.map((item, i) => { data?.Nav_Measures && data?.Nav_Measures.map((item, i) => {
return <tr> return <tr>
<td> <td>
{(i+1)+"."+item?.MEASURES_NAME} {(i + 1) + "." + item?.MEASURES_NAME}
</td> </td>
<td> <td>
{item?.EMERGENCY} {item?.EMERGENCY}
</td> </td>
<td> <td>
{ {
item?.Nav_Departs && item?.Nav_Departs.map((item2, i) => { item?.Nav_Departs && item?.Nav_Departs.map((item2, i) => {
return <tr> return <tr>
<td>{enums.SKDepartmentTypeEnum.enums[item2?.DEPARTMENT_TYPE]}</td> <td>{enums.SKDepartmentTypeEnum.enums[item2?.DEPARTMENT_TYPE]}</td>
<td>{item2?.Nav_Department?.NAME}</td> <td>{item2?.Nav_Department?.NAME}</td>
<td>{item2?.Nav_User?.NAME}</td> <td>{item2?.Nav_User?.NAME}</td>
</tr> </tr>
}) })
} }
</td> </td>
</tr> </tr>
}) })
} }
</Descriptions.Item> </Descriptions.Item>
</Descriptions> </Descriptions>
<Descriptions size="middle" bordered className={stylesStep.description}> <Descriptions size="middle" bordered className={stylesStep.description}>
<Descriptions.Item label="检查内容">{ <Descriptions.Item label="检查内容">{
data?.Nav_Contents && data?.Nav_Contents.map((item, i) => { data?.Nav_Contents && data?.Nav_Contents.map((item, i) => {
return <tr><td> {(i+1)+"."+item?.CHECK_CONTENT}</td> return <tr><td> {(i + 1) + "." + item?.CHECK_CONTENT}</td>
<td> {item?.CHECK_BASIC}</td> <td> {item?.CHECK_BASIC}</td>
<td> {item?.CHECK_STANDARD}</td> <td> {item?.CHECK_STANDARD}</td>
<td> <td>
{ {
item?.Nav_Departs && item?.Nav_Departs.map((item2, i) => { item?.Nav_Departs && item?.Nav_Departs.map((item2, i) => {
return <tr> return <tr>
<td>{enums.SKDepartmentTypeEnum.enums[item2?.CHECK_TYPE]}</td> <td>{enums.SKDepartmentTypeEnum.enums[item2?.CHECK_TYPE]}</td>
<td>{ <td>{
item2?.Nav_Posts && item2?.Nav_Posts.map((item3, i) => { item2?.Nav_Posts && item2?.Nav_Posts.map((item3, i) => {
return <tr> return <tr>
<td>{item3?.Nav_Post?.NAME}</td> <td>{item3?.Nav_Post?.NAME}</td>
</tr>
})
}</td>
<td>{item2?.Nav_CheckType?.NAME}</td>
<td>{enums.SKPLANCHECKFREQUENCYEnum.enums[item2?.CHECK_CYCLE]}</td>
</tr> </tr>
}) })
}</td> }
<td>{item2?.Nav_CheckType?.NAME}</td> </td>
<td>{enums.SKPLANCHECKFREQUENCYEnum.enums[item2?.CHECK_CYCLE]}</td> </tr>
</tr> })
}) }</Descriptions.Item>
} </Descriptions>
</td> <Descriptions size="middle" bordered className={stylesStep.description}>
</tr> <Descriptions.Item label="隐患描述">{
}) data?.Nav_Hiddens && data?.Nav_Hiddens.map((item, i) => {
}</Descriptions.Item> return <tr><td> {(i + 1) + "." + item?.HIDDEN_DESCRIPTION}</td>
</Descriptions> <td> {enums.SKHiddenLevel.enums[item?.HIDDEN_LEVEL]}</td>
<Descriptions size="middle" bordered className={stylesStep.description}> <td> {item?.RECTIFICATION_MEASURES}</td></tr>
<Descriptions.Item label="隐患描述">{ })
data?.Nav_Hiddens && data?.Nav_Hiddens.map((item, i) => { }</Descriptions.Item>
return <tr><td> {(i+1)+"."+item?.HIDDEN_DESCRIPTION}</td> </Descriptions>
<td> {enums.SKHiddenLevel.enums[item?.HIDDEN_LEVEL]}</td> </div> : null
<td> {item?.RECTIFICATION_MEASURES}</td></tr>
})
}</Descriptions.Item>
</Descriptions>
</div>:null
} }
<FormPage {...this.state.tmpData} /> <FormPage {...this.state.tmpData} />
</div> </div>
</div> </div>
@ -201,4 +201,4 @@ class SK045ShowPrint extends React.Component {
} }
export default connect(({ login,app }) => ({ login,app }))(SK045ShowPrint) export default connect(({ login, app }) => ({ login, app }))(SK045ShowPrint)