安全履职 查看

检查任务取消
This commit is contained in:
wyw 2024-07-12 10:56:02 +08:00
parent ab25d97be2
commit 320eb1e0b5
2 changed files with 502 additions and 13 deletions

View File

@ -7,7 +7,7 @@ import XLSX from 'xlsx';
import { connect } from 'dva';
import moment from 'moment';
import { message } from 'antd/lib/index';
import styles from '../../../components/CustomPages/HI/StepForm.css';
import styles from '../../../components/CustomPages/HI/OperateLog.css';
import config from '../../../config.js';
class BS076ShowOperateLog extends React.Component {
@ -15,8 +15,17 @@ class BS076ShowOperateLog extends React.Component {
super(props);
this.state = {
data: null,
btndisplay: 'none',
isCheck: false, //是否待办 审批
riskCount: 1,
riskHeight: 50,
opEnd: null
// dateFirst: [
// [{ OPERATEPOINT: 10 }, { OPERATEPOINT: 20 }, { OPERATEPOINT: 30 }, { OPERATEPOINT: 40 }],
// [{ OPERATEPOINT: 48 }, { OPERATEPOINT: 50 }, { OPERATEPOINT: 60 }, { OPERATEPOINT: 70 }, { OPERATEPOINT: 80 }],
// [{ OPERATEPOINT: 130 }],
// [
// [{ OPERATEPOINT: 140 }, { OPERATEPOINT: 150 }, { OPERATEPOINT: 160 }, { OPERATEPOINT: 180 }, { OPERATEPOINT: 190 }, { OPERATEPOINT: 200 }, { OPERATEPOINT: 210 }, { OPERATEPOINT: 220 }]
// ]
// ]
}
}
@ -31,29 +40,507 @@ class BS076ShowOperateLog extends React.Component {
}
}
loadData = (ids) => {
loadData = (id) => {
var orgId = this.props.login ? this.props.login.OrgId : '';
let json = initFilter(orgId, ids);
let json = initFilter(orgId, id);
this.props.dispatch({
type: 'app/getDataByPost',
payload: json,
url: 'BS/BSOperateLog/OrderEntities',
onComplete: (ret) => {
debugger
if (ret) {
let riskCount = 1
riskCount = ret.length - 3
var isEnd = false
var opEnd = null
if (ret[ret.length - 1].length == 1 && ret[ret.length - 1][0].OPERATEPOINT == 220) {
isEnd = true
riskCount = riskCount - 1
opEnd = ret[ret.length - 1][0]
}
let dataRiskMore = []
if (riskCount > 0) {
var countOpeate = ret.length
if (isEnd) countOpeate--
for (let i = 4; i < countOpeate; i++) {
dataRiskMore.push(ret[i])
}
}
if (riskCount == 0) riskCount = 1
let riskHeight = 65 * riskCount
this.setState({
data: ret,
dataRiskMore: dataRiskMore,
riskCount: riskCount,
opEnd: opEnd,
riskHeight: riskHeight
})
}
}
});
}
render() {
const { data } = this.state;
const { data, riskCount, dataRiskMore, opEnd, riskHeight } = this.state;
const enums = this.props.data.enums ? this.props.data.enums : this.props.app.enums;
return <div>
<div ref={el => (this.componentRef = el)} style={{ padding: '20px', paddingTop: '20px' }} id={'tableId' + this.props.data.id}>
return <div style={{ textAlign: 'center', margin: "30px 0 0 50px" }}>
<table style={{ marginBottom: "50px" }} >
<tbody >
<tr>
<td style={{ width: "150px", textAlign: "center" }}>
<div className={styles.rectangle} id="step0"></div>
</td>
<td colSpan={10}>
</td>
</tr>
{/* 检查任务 */}
<tr>
<td style={{ width: "150px", textAlign: "center" }}>
<div className={styles.step} id="ste1">检查任务</div>
<div className={styles.rectangle} id="step1"></div>
</td>
<td colSpan={10} style={{ paddingLeft: "30px" }}>
<div className={styles.flowchartx} >
{
data && data[0]?.map((item, index) => {
let resultdiv = []
for (let i = 0; i < 2; i++) {
if (i == 0) {
resultdiv.push(
item.OPERTETIME ?
(
//有操作
item.ISINTTIME ?
(//按时完成 绿色
<div>
<div className={styles.stepx} id="step01">{enums.OPERATEPOINT_Enums.enums[item.OPERATEPOINT]}</div>
<div id="step02" className={styles.discribeSpan}>
<span className={styles.discribeSpanUser}> 用户{item.USRTNAME}</span>
<span className={styles.discribeSpanTime}> 时间{item.CREATE_TIME.split(' ')[0]}</span>
</div>
</div>
)
:
( //超时完成 橙色
<div>
<div className={styles.stepxOutTime} id="step01">{enums.OPERATEPOINT_Enums.enums[item.OPERATEPOINT]}</div>
<div id="step02" className={styles.discribeSpan}>
<span className={styles.discribeSpanUser}> 用户{item.USRTNAME}</span>
<span className={styles.discribeSpanTime}> 时间{item.CREATE_TIME.split(' ')[0]}</span>
</div>
</div>)
)
:
(
//没有操作 灰色
item.USRTNAME ? (
//有用户信息 写入用户
<div>
<div className={styles.stepxEnable} id="step01">{enums.OPERATEPOINT_Enums.enums[item.OPERATEPOINT]}</div>
<div id="step02" className={styles.discribeSpan}>
<span className={styles.discribeSpanUser}> 用户{item.USRTNAME}</span>
<span className={styles.discribeSpanTime}> 时间</span>
</div>
</div>
) : (
//没有用户信息
<div>
<div className={styles.stepxEnable} id="step01">{enums.OPERATEPOINT_Enums.enums[item.OPERATEPOINT]}</div>
</div>
)
)
)
} else if (index != data[0].length - 1) {
resultdiv.push(
<div className={styles.linex}></div>
)
}
}
return resultdiv
})
}
</div>
</td>
</tr>
{/* 检查任务 */}
{/* 检查记录 */}
<tr>
<td style={{ width: "150px", textAlign: "center" }}>
<div className={styles.step} id="ste2">检查记录</div>
<div className={styles.rectangle} id="step2"></div>
</td>
<td colSpan={10} style={{ paddingLeft: "30px" }}>
<div className={styles.flowchartx} >
{
data && data[1]?.map((item, index) => {
let resultdiv = []
for (let i = 0; i < 2; i++) {
if (i == 0) {
resultdiv.push(
item.OPERTETIME ?
(
//有操作
item.ISINTTIME ?
(//按时完成 绿色
<div>
<div className={styles.stepx} id="step20">{enums.OPERATEPOINT_Enums.enums[item.OPERATEPOINT]}</div>
<div id="step21" className={styles.discribeSpan}>
<span className={styles.discribeSpanUser}> 用户{item.USRTNAME}</span>
<span className={styles.discribeSpanTime}> 时间{item.CREATE_TIME.split(' ')[0]}</span>
</div>
</div>
)
:
( //超时完成 橙色
<div>
<div className={styles.stepxOutTime} id="step20">{enums.OPERATEPOINT_Enums.enums[item.OPERATEPOINT]}</div>
<div id="step21" className={styles.discribeSpan}>
<span className={styles.discribeSpanUser}> 用户{item.USRTNAME}</span>
<span className={styles.discribeSpanTime}> 时间{item.CREATE_TIME.split(' ')[0]}</span>
</div>
</div>)
)
:
(
//没有操作 灰色
item.USRTNAME ? (
//有用户信息 写入用户
<div>
<div className={styles.stepxEnable} id="step20">{enums.OPERATEPOINT_Enums.enums[item.OPERATEPOINT]}</div>
<div id="step21" className={styles.discribeSpan}>
<span className={styles.discribeSpanUser}> 用户{item.USRTNAME}</span>
<span className={styles.discribeSpanTime}> 时间</span>
</div>
</div>
) : (
//没有用户信息
<div>
<div className={styles.stepxEnable} id="step20">{enums.OPERATEPOINT_Enums.enums[item.OPERATEPOINT]}</div>
</div>
)
)
)
} else if (index != data[1].length - 1) {
resultdiv.push(
<div className={styles.linex}></div>
)
}
}
return resultdiv
})
}
</div>
</td>
</tr>
{/* 检查记录 */}
{/* 隐患上报 */}
<tr>
<td style={{ width: "150px", textAlign: "center" }}>
<div className={styles.step} id="ste3">隐患上报</div>
<div className={styles.rectangle} id="step3"></div>
</td>
<td colSpan={10} style={{ paddingLeft: "30px" }}>
<div className={styles.flowchartx} >
{
data && data[2]?.map((item, index) => {
let resultdiv = []
for (let i = 0; i < 2; i++) {
if (i == 0) {
resultdiv.push(
item.OPERTETIME ?
(
//有操作
item.ISINTTIME ?
(//按时完成 绿色
<div>
<div className={styles.stepx} id="step30">{enums.OPERATEPOINT_Enums.enums[item.OPERATEPOINT]}</div>
<div id="step31" className={styles.discribeSpan}>
<span className={styles.discribeSpanUser}> 用户{item.USRTNAME}</span>
<span className={styles.discribeSpanTime}> 时间{item.CREATE_TIME.split(' ')[0]}</span>
</div>
</div>
)
:
( //超时完成 橙色
<div>
<div className={styles.stepxOutTime} id="step30">{enums.OPERATEPOINT_Enums.enums[item.OPERATEPOINT]}</div>
<div id="step31" className={styles.discribeSpan}>
<span className={styles.discribeSpanUser}> 用户{item.USRTNAME}</span>
<span className={styles.discribeSpanTime}> 时间{item.CREATE_TIME.split(' ')[0]}</span>
</div>
</div>)
)
:
(
//没有操作 灰色
item.USRTNAME ? (
//有用户信息 写入用户
<div>
<div className={styles.stepxEnable} id="step30">{enums.OPERATEPOINT_Enums.enums[item.OPERATEPOINT]}</div>
<div id="step31" className={styles.discribeSpan}>
<span className={styles.discribeSpanUser}> 用户{item.USRTNAME}</span>
<span className={styles.discribeSpanTime}> 时间</span>
</div>
</div>
) : (
//没有用户信息
<div>
<div className={styles.stepxEnable} id="step30">{enums.OPERATEPOINT_Enums.enums[item.OPERATEPOINT]}</div>
</div>
)
)
)
} else if (index != data[2].length - 1) {
resultdiv.push(
<div className={styles.linex}></div>
)
}
}
return resultdiv
})
}
</div>
</td>
</tr>
{/* 隐患上报 */}
{/* 隐患整改 */}
<tr>
<td rowSpan={riskCount} style={{ width: "150px", textAlign: "center" }}>
<div className={styles.step} id="ste4">隐患整改</div>
{
riskCount > 1 ? <div className={styles.rectangle} style={{ height: riskHeight + "px" }} id="step4"></div> : <div className={styles.rectangle} id="step4"></div>
}
</td>
<td colSpan={10}
style={{ padding:"0 30px 0 30px", border: "1px dashed #D9D9D9" }}>
<div className={styles.flowchartx} >
{
data && data[3]?.map((item, index) => {
let resultdiv = []
for (let i = 0; i < 2; i++) {
if (i == 0) {
resultdiv.push(
item.OPERTETIME ?
(
//有操作
item.ISINTTIME ?
(//按时完成 绿色
<div>
<div className={styles.stepx} id="step40">{enums.OPERATEPOINT_Enums.enums[item.OPERATEPOINT]}</div>
<div id="step41" className={styles.discribeSpan}>
<span className={styles.discribeSpanUser}> 用户{item.USRTNAME}</span>
<span className={styles.discribeSpanTime}> 时间{item.CREATE_TIME.split(' ')[0]}</span>
</div>
</div>
)
:
( //超时完成 橙色
<div>
<div className={styles.stepxOutTime} id="step40">{enums.OPERATEPOINT_Enums.enums[item.OPERATEPOINT]}</div>
<div id="step41" className={styles.discribeSpan}>
<span className={styles.discribeSpanUser}> 用户{item.USRTNAME}</span>
<span className={styles.discribeSpanTime}> 时间{item.CREATE_TIME.split(' ')[0]}</span>
</div>
</div>)
)
:
(
//没有操作 灰色
item.USRTNAME ? (
//有用户信息 写入用户
<div>
<div className={styles.stepxEnable} id="step40">{enums.OPERATEPOINT_Enums.enums[item.OPERATEPOINT]}</div>
<div id="step41" className={styles.discribeSpan}>
<span className={styles.discribeSpanUser}> 用户{item.USRTNAME}</span>
<span className={styles.discribeSpanTime}> 时间</span>
</div>
</div>
) : (
//没有用户信息
<div>
<div className={styles.stepxEnable} id="step40">{enums.OPERATEPOINT_Enums.enums[item.OPERATEPOINT]}</div>
</div>
)
)
)
} else if (index != data[3].length - 1) {
resultdiv.push(
<div className={styles.linex}></div>
)
}
}
return resultdiv
})
}
</div>
</td>
</tr>
{
dataRiskMore?.map(itemR => {
return <tr>
<td colSpan={10} style={{ padding:"0 30px 0 30px", border: "1px dashed #D9D9D9" }}>
<div className={styles.flowchartx} >
{
itemR.map((item, index) => {
let resultdiv = []
for (let i = 0; i < 2; i++) {
if (i == 0) {
resultdiv.push(
item.OPERTETIME ?
(
//有操作
item.ISINTTIME ?
(//按时完成 绿色
<div>
<div className={styles.stepx} id={"step50" + index}>{enums.OPERATEPOINT_Enums.enums[item.OPERATEPOINT]}</div>
<div id={"step51" + index} className={styles.discribeSpan}>
<span className={styles.discribeSpanUser}> 用户{item.USRTNAME}</span>
<span className={styles.discribeSpanTime}> 时间{item.CREATE_TIME.split(' ')[0]}</span>
</div>
</div>
)
:
( //超时完成 橙色
<div>
<div className={styles.stepxOutTime} id={"step50" + index}>{enums.OPERATEPOINT_Enums.enums[item.OPERATEPOINT]}</div>
<div id={"step51" + index} className={styles.discribeSpan}>
<span className={styles.discribeSpanUser}> 用户{item.USRTNAME}</span>
<span className={styles.discribeSpanTime}> 时间{item.CREATE_TIME.split(' ')[0]}</span>
</div>
</div>)
)
:
(
//没有操作 灰色
item.USRTNAME ? (
//有用户信息 写入用户
<div>
<div className={styles.stepxEnable} id={"step50" + index}>{enums.OPERATEPOINT_Enums.enums[item.OPERATEPOINT]}</div>
<div id={"step51" + index} className={styles.discribeSpan}>
<span className={styles.discribeSpanUser}> 用户{item.USRTNAME}</span>
<span className={styles.discribeSpanTime}> 时间</span>
</div>
</div>
) : (
//没有用户信息
<div>
<div className={styles.stepxEnable} id={"step50" + index}>{enums.OPERATEPOINT_Enums.enums[item.OPERATEPOINT]}</div>
</div>
)
)
)
} else if (index != data[4].length - 1) {
resultdiv.push(
<div className={styles.linex}></div>
)
}
}
return resultdiv
})
}
</div>
</td>
</tr>
})
}
{/* 隐患整改 */}
{/* 结束 */}
<tr>
<td style={{ width: "150px", textAlign: "center" }}>
<div className={styles.step} id="step6">结束</div>
</td>
<td colSpan={10} style={{ paddingLeft: "30px" }}>
{
opEnd ? (opEnd.ISINTTIME ?
(//按时完成 绿色
<div>
<div className={styles.stepx} id="step60">{enums.OPERATEPOINT_Enums.enums[opEnd.OPERATEPOINT]}</div>
<div id="step61" className={styles.discribeSpan}>
<span className={styles.discribeSpanUser}> 用户{opEnd.USRTNAME}</span>
<span className={styles.discribeSpanTime}> 时间{opEnd.CREATE_TIME.split(' ')[0]}</span>
</div>
</div>
)
:
( //超时完成 橙色
opEnd.USRTNAME ?
<div>
<div className={styles.stepxOutTime} id="step60">{enums.OPERATEPOINT_Enums.enums[opEnd.OPERATEPOINT]}</div>
<div id="step61" className={styles.discribeSpan}>
<span className={styles.discribeSpanUser}> 用户{opEnd.USRTNAME}</span>
<span className={styles.discribeSpanTime}> 时间{opEnd.CREATE_TIME.split(' ')[0]}</span>
</div>
</div>
:
<div><div className={styles.stepxEnable} id="step60">{enums.OPERATEPOINT_Enums.enums[opEnd.OPERATEPOINT]}</div></div>//
)) : <div></div>
}
</td>
</tr>
{/* 结束 */}
</tbody>
</table>
{/*
<div style={{ width: '200px', minHeight: '800px', padding: '20px', paddingTop: '20px', float: "left" }}>
<div className={styles.flowchart} >
<div className={styles.rectangle} id="step11"></div>
<div className={styles.step} id="step1">检查任务</div>
<div className={styles.rectangle} id="step11"></div>
<div className={styles.step} id="step2">检查记录</div>
<div className={styles.rectangle} id="step22"></div>
<div className={styles.step} id="step3">隐患上报</div>
<div className={styles.rectangle} id="step33"></div>
<div className={styles.step} id="step3">隐患整改</div>
<div className={styles.rectangle} id="step33"></div>
<div className={styles.step} id="step3">结束</div>
</div>
</div>
<div style={{ minWidth: '1200px', minHeight: '800px', padding: '20px', paddingTop: '20px', float: "left" }}>
<div className={styles.flowchartx} >
<div>
<div className={styles.stepx} id="step11">任务获取</div>
<div className={styles.discribeSpan} id="step111">
<span style={{ marginTop: "25px", fontSize: "smaller", padding: '5px 0 0 5px' }}> 发起人王永文</span>
<span style={{ fontSize: "smaller", padding: '0px 0 0 5px' }}> 时间2024-07-10</span>
</div>
</div>
<div className={styles.linex}></div>
<div className={styles.stepx} id="step22">检查任务制定</div>
<div className={styles.linex}></div>
<div className={styles.stepx} id="step33">检查任务审批</div>
<div className={styles.linex} ></div>
<div className={styles.stepx} id="step34">检查任务确认</div>
</div>
<div className={styles.flowchartx} >
<div>
<div className={styles.stepx} id="step11">任务获取</div>
<div id="step111" className={styles.discribeSpan}>
<span style={{ marginTop: "25px", fontSize: "smaller", padding: '5px 0 0 5px' }}> 发起人王永文</span>
<span style={{ fontSize: "smaller", padding: '0px 0 0 5px' }}> 时间2024-07-10</span>
</div>
</div>
<div className={styles.linex}></div>
<div className={styles.stepx} id="step22">检查任务制定</div>
<div className={styles.linex}></div>
<div className={styles.stepx} id="step33">检查任务审批</div>
<div className={styles.linex} ></div>
<div className={styles.stepx} id="step34">检查任务确认</div>
</div>
</div> */}
{/* <div ref={el => (this.componentRef = el)} style={{ padding: '20px', paddingTop: '20px' }} id={'tableId' + this.props.data.id}>
<table className={styles.PrintFormLight}>
<tbody>
<tr>
@ -77,7 +564,8 @@ class BS076ShowOperateLog extends React.Component {
}) : <tr><td colSpan={5} style={{ textAlign: 'left' }}>查无记录</td></tr>}
</tbody>
</table>
</div>
</div> */}
</div>
}
}

View File

@ -273,7 +273,6 @@ export default {
return '';
}
},
btnCancel: ({ record, onCancel, data, dispatch }) => {
let json = initFilter(record.ORG_ID, record.ID, null, null, null, data.TaskID);
dispatch({
@ -282,7 +281,9 @@ export default {
payload: json,
onlyData: false,
onComplete: (ret) => {
message.success('执行成功', null, onCancel())
if (ret.IsSuccessful == true) {
message.success('执行成功', null, onCancel())
}
}
})
},