This commit is contained in:
wyw 2024-08-15 15:32:22 +08:00
commit 3bded7145f
2 changed files with 553 additions and 493 deletions

View File

@ -159,6 +159,13 @@ class BI007FormRunAnalysisNew extends React.Component {
title: "未完成",
dataIndex: "UNFINISH_QTY",
key: "UNFINISH_QTY",
render: (text, record) => (
<span>
<a onClick={() => this.showUnfinishModal(record)}>
{record.UNFINISH_QTY}
</a>
</span>
),
},
{
width: "100px",
@ -258,7 +265,7 @@ class BI007FormRunAnalysisNew extends React.Component {
extendRule(json, "CREATE_DATE", 6, startTime);
extendRule(json, "CREATE_DATE", 4, endTime);
extendRule(json, "NOTICE_STATUS", 1, 0);
extendRule(json, "SHOP_DEPARTMENT_ID", 1, record.DEPARTMENT_ID);
extendRule(json, "CLASS_DEPARTMENT_ID", 1, record.DEPARTMENT_ID);
this.props.dispatch({
type: "app/getDataByPost",
payload: json,
@ -294,7 +301,7 @@ class BI007FormRunAnalysisNew extends React.Component {
{
id: departmentId,
name: departmentName,
noticeTitle: departmentName + "安全生产标准化运行情况",
noticeTitle: "安全生产标准化运行情况",
tmpData: newtmpData,
currActivatedMenu: "",
},
@ -441,33 +448,31 @@ class BI007FormRunAnalysisNew extends React.Component {
getDepartId = () => {};
//加载数据赋值
loadData = () => {
// this.ksRun();
// this.xkRun();
var orgId = this.props.login ? this.props.login.OrgId : "";
const jsonTemp = initFilter(orgId);
extendRule(
jsonTemp,
"NAME",
1,
this.props?.login?.currActivatedMenu?.MENU_FORM_PARAMS
);
this.props.dispatch({
type: "app/getDataByPost",
payload: jsonTemp,
url: "FM/Department/OrderEntities",
onComplete: (retDepart) => {
if (retDepart) {
// this.getClassDepartment(retDepart[0].ID);
this.getShopDepartment(retDepart[0].ID);
} else {
message.error(
"未找到部门" +
this.props?.login?.currActivatedMenu?.MENU_FORM_PARAMS +
",请先维护"
);
}
},
});
this.getShopDepartment();
// var orgId = this.props.login ? this.props.login.OrgId : "";
// const jsonTemp = initFilter(orgId);
// extendRule(
// jsonTemp,
// "NAME",
// 1,
// this.props?.login?.currActivatedMenu?.MENU_FORM_PARAMS
// );
// this.props.dispatch({
// type: "app/getDataByPost",
// payload: jsonTemp,
// url: "FM/Department/OrderEntities",
// onComplete: (retDepart) => {
// if (retDepart) {
// this.getShopDepartment(retDepart[0].ID);
// } else {
// message.error(
// "未找到部门" +
// this.props?.login?.currActivatedMenu?.MENU_FORM_PARAMS +
// ",请先维护"
// );
// }
// },
// });
};
//
workTicket = () => {
@ -863,13 +868,14 @@ class BI007FormRunAnalysisNew extends React.Component {
var orgId = this.props.login ? this.props.login.OrgId : "";
const jsonTemp = initFilter(orgId);
extendRule(jsonTemp, "DEPARTMENT_TYPE", 1, 2);
extendRule(jsonTemp, "ENABLE_STATUS", 1, 0);
// extendRule(jsonTemp, 'Nav_Parent.PARENT_ID', 1, this.props.data.id);
extendRule(
jsonTemp,
"Nav_Parent.Nav_Parent.NAME",
1,
this.props?.login?.currActivatedMenu?.MENU_FORM_PARAMS
);
// extendRule(
// jsonTemp,
// "Nav_Parent.Nav_Parent.NAME",
// 1,
// this.props?.login?.currActivatedMenu?.MENU_FORM_PARAMS
// );
extendOrder(jsonTemp, "PARENT_ID", 0);
extendOrder(jsonTemp, "NAME", 0);
this.props.dispatch({
@ -942,17 +948,18 @@ class BI007FormRunAnalysisNew extends React.Component {
});
};
getShopDepartment = (departId) => {
getShopDepartment = () => {
var orgId = this.props.login ? this.props.login.OrgId : "";
const jsonTemp = initFilter(orgId);
extendRule(jsonTemp, "DEPARTMENT_TYPE", 1, 1);
extendRule(jsonTemp, "DEPARTMENT_TYPE", 1, 2);
extendRule(jsonTemp, "ENABLE_STATUS", 1, 0);
// extendRule(jsonTemp, 'PARENT_ID', 1, this.props.data.id);
extendRule(
jsonTemp,
"Nav_Parent.NAME",
1,
this.props?.login?.currActivatedMenu?.MENU_FORM_PARAMS
);
// extendRule(
// jsonTemp,
// "Nav_Parent.NAME",
// 1,
// this.props?.login?.currActivatedMenu?.MENU_FORM_PARAMS
// );
this.props.dispatch({
type: "app/getDataByPost",
payload: jsonTemp,
@ -977,7 +984,7 @@ class BI007FormRunAnalysisNew extends React.Component {
"YYYY-MM-DD 00:00:00"
);
let endTime = this.state.selectEndTime.format("YYYY-MM-DD 23:59:59");
let json = initFilter(orgId, departId, "", 1, "", startTime, endTime);
let json = initFilter(orgId, null, "", 1, "", startTime, endTime);
// extendRule(json, 'TYPE', 1, this.state.timeType);
// extendRule(json, 'DEPARTMENT_TYPE', 1, 1);
// extendRule(json, 'PARENT_DEPARTMENT_ID', 1, this.props.data.id);
@ -1160,7 +1167,6 @@ class BI007FormRunAnalysisNew extends React.Component {
fontWeight: "bold",
}}
>
{this.props?.login?.currActivatedMenu?.MENU_FORM_PARAMS}{" "}
安全生产标准化运行情况
</h1>
<Row style={{ textAlign: "center", fontSize: "15px" }}>
@ -1330,7 +1336,7 @@ class BI007FormRunAnalysisNew extends React.Component {
</Col>
</div>
</Row>
<Row
{/* <Row
style={{
marginTop: "20px",
display: "flex",
@ -1368,11 +1374,6 @@ class BI007FormRunAnalysisNew extends React.Component {
/>
</Col>
</div>
{/* <Col span={7}>
<h3 style={{textAlign:'center',fontWeight:'bold'}}>{this.props.data.name}安全任务完成情况</h3>
<div id="workTicket" style={{ height: '350px',marginLeft:"40px" ,marginRight:"10px" ,backgroundColor:"white",borderStyle:'solid',borderColor:'#ccc',borderWidth:'1px'}}></div>
</Col> */}
</Row>
<hr
style={{
@ -1380,7 +1381,7 @@ class BI007FormRunAnalysisNew extends React.Component {
marginBottom: "20px",
marginTop: "20px",
}}
></hr>
></hr> */}
<Row
style={{
marginTop: "20px",

View File

@ -9,6 +9,7 @@ import styles from "./full.less";
import echarts from "echarts";
import realGif from "../assets/layout/mofang.png";
import logo from "../assets/layout/header-logo.png";
import debounce from "lodash.debounce";
import {
FullScreenContainer,
BorderBox8,
@ -18,6 +19,7 @@ import {
WaterLevelPond,
} from "@jiaminghi/data-view-react";
import { text } from "@jiaminghi/data-view-react/lib/index-cd27b7f6";
import { Scale } from "canvg";
const stud = (eve) => {
return (
@ -39,12 +41,19 @@ const stud = (eve) => {
</div>
);
};
const getScale = () => {
const width = 1920,
height = 1080; // 此处可以根据实际设计稿尺寸修改
let ww = window.innerWidth / width;
let wh = window.innerHeight / height;
return ww < wh ? ww : wh;
};
class FullScreen extends React.Component {
constructor(props) {
super(props);
this.state = {
screenWidh: window.screen.width > 2000 ? true : false,
// screenWidh: window.screen.width > 2000 ? true : false,
nowDate: "",
checkData: [
{ name: "公司检查", value: 103 },
@ -234,6 +243,7 @@ class FullScreen extends React.Component {
value: 132,
},
],
scale: getScale(),
};
// this.scrollConfig = {
// header: ["检查类型", "检查次数", "完成率"],
@ -251,7 +261,15 @@ class FullScreen extends React.Component {
// };
}
setScale = debounce(() => {
// debounce节流
// 获取到缩放比,设置它
let scale = getScale();
this.setState({ scale });
}, 500);
componentDidMount() {
window.addEventListener("resize", this.setScale); // 得到呈现的屏幕宽高比
this.riskLevel();
this.safedanger();
const eve = () => {
@ -294,6 +312,7 @@ class FullScreen extends React.Component {
// });
}
componentWillUnmount() {
window.removeEventListener("resize", this.setScale);
clearInterval(this.timer);
}
getDate = () => {
@ -923,9 +942,22 @@ class FullScreen extends React.Component {
};
render() {
const width = 1920,
height = 1080;
// 固定好16:9的宽高比计算出最合适的缩放比宽高比可根据需要自行更改
const { scale } = this.state;
return (
<React.Fragment>
<FullScreenContainer>
<div
className={styles.box}
style={{
transform: `scale(${scale}) translate(-50%, -50%)`,
WebkitTransform: `scale(${scale}) translate(-50%, -50%)`,
width,
height,
}}
>
<div className={styles.blackBack}>
<div className={styles.backImage}>
<div className={styles.header}>
@ -1009,7 +1041,9 @@ class FullScreen extends React.Component {
{/* <BorderBox10> */}
<div className={styles.title}>
<div className={styles.circle}></div>
<div className={styles.titlename}>风险等级基本信息</div>
<div className={styles.titlename}>
风险等级基本信息
</div>
</div>
<div
@ -1031,7 +1065,9 @@ class FullScreen extends React.Component {
{/* <BorderBox10> */}
<div className={styles.title}>
<div className={styles.circle}></div>
<div className={styles.titlename}>隐患检查基本信息</div>
<div className={styles.titlename}>
隐患检查基本信息
</div>
</div>
<div
style={{
@ -1124,47 +1160,60 @@ class FullScreen extends React.Component {
width: "100%",
}}
>
{this.state.screenWidh ? (
<div className={styles.scoreBox}>
<div className={styles.score}>
{/* <div className={styles.scoreLeft}>矿山</div> */}
<div className={styles.scoreRight}>
<div className={styles.scoreText}>标准化得分</div>
<div className={styles.scoreText}>
标准化得分
</div>
<div className={styles.scoreText2}>83</div>
</div>
</div>
<div className={styles.score2}>
<div className={styles.scoreRight}>
<div className={styles.scoreText}>标准化得分</div>
<div className={styles.scoreText}>
标准化得分
</div>
<div className={styles.scoreText2}>88</div>
</div>
</div>
<div className={styles.score3}>
<div className={styles.scoreRight}>
<div className={styles.scoreText}>标准化得分</div>
<div className={styles.scoreText}>
标准化得分
</div>
<div className={styles.scoreText2}>93</div>
</div>
</div>
</div>
{/* {this.state.screenWidh ? (
) : (
<div className={styles.scoreBox1}>
<div className={styles.score4}>
<div className={styles.scoreLeft}>矿山</div>
<div className={styles.scoreText3}>标准化得分</div>
<div className={styles.scoreText3}>
标准化得分
</div>
<div className={styles.scoreText2}>83</div>
</div>
<div className={styles.score4}>
<div className={styles.scoreLeft}>选矿</div>
<div className={styles.scoreText3}>标准化得分</div>
<div className={styles.scoreText3}>
标准化得分
</div>
<div className={styles.scoreText2}>88</div>
</div>
<div className={styles.score4}>
<div className={styles.scoreLeft}>尾矿</div>
<div className={styles.scoreText3}>标准化得分</div>
<div className={styles.scoreText3}>
标准化得分
</div>
<div className={styles.scoreText2}>93</div>
</div>
</div>
)}
)} */}
</div>
<div
style={{
@ -1224,7 +1273,9 @@ class FullScreen extends React.Component {
{/* <BorderBox10> */}
<div className={styles.title}>
<div className={styles.circle}></div>
<div className={styles.titlename}>基本会议完成情况</div>
<div className={styles.titlename}>
基本会议完成情况
</div>
</div>
<div
style={{
@ -1281,7 +1332,10 @@ class FullScreen extends React.Component {
marginBottom: "10px",
}}
>
<Row gutter={[8, 8]} style={{ padding: "0px 10px" }}>
<Row
gutter={[8, 8]}
style={{ padding: "0px 10px" }}
>
{this.state.meetingData.map((item, index) => (
<Col span={6}>
<div className={styles.gradientThree}>
@ -1308,7 +1362,9 @@ class FullScreen extends React.Component {
{/* <BorderBox10> */}
<div className={styles.title}>
<div className={styles.circle}></div>
<div className={styles.titlename}>安全任务完成情况</div>
<div className={styles.titlename}>
安全任务完成情况
</div>
</div>
<div
style={{
@ -1459,7 +1515,9 @@ class FullScreen extends React.Component {
>
<div className={styles.title}>
<div className={styles.circle}></div>
<div className={styles.titlename}>班组完成率TOP5</div>
<div className={styles.titlename}>
班组完成率TOP5
</div>
</div>
<div className={styles.capsuleChart}>
<CapsuleChart
@ -1474,6 +1532,7 @@ class FullScreen extends React.Component {
</div>
</div>
</div>
</div>
</FullScreenContainer>
</React.Fragment>
);