This commit is contained in:
wyw 2025-11-23 17:52:11 +08:00
commit a8dcb0ed65
18 changed files with 799 additions and 269 deletions

View File

@ -22,7 +22,7 @@ import TableModal from '../../components/Table/TableModal';
import CombinationModal from '../../components/Combination/CombinationModal' import CombinationModal from '../../components/Combination/CombinationModal'
import { get, set } from 'lodash' import { get, set } from 'lodash'
const TabPane = Tabs.TabPane; const TabPane = Tabs.TabPane;
let clickQuery = "";
class EditBaseComponent extends ComponentBase { class EditBaseComponent extends ComponentBase {
constructor(props) { constructor(props) {
super(props); super(props);
@ -568,28 +568,29 @@ params【字段名称显示】
设置表头字段的文字提示 设置表头字段的文字提示
params字段名称显示 params字段名称显示
*/ */
setRowFieldTooltip = (editCode, params) => { setRowFieldTooltip = (editCode, params) => {
const detailColumnConfig = this.getEditConfig({ editCode }); const detailColumnConfig = this.getEditConfig({ editCode });
const cols = detailColumnConfig ? detailColumnConfig.columns : []; const cols = detailColumnConfig ? detailColumnConfig.columns : [];
Object.keys(params).forEach((n) => { Object.keys(params).forEach((n) => {
const temps = cols.filter(t => t.field === n); const temps = cols.filter(t => t.field === n);
if (temps && temps.length) {debugger if (temps && temps.length) {
var temp=temps[0].label; debugger
temps[0].label = <Tooltip title= {params[n]}> var temp = temps[0].label;
<span>{temp}</span> temps[0].label = <Tooltip title={params[n]}>
</Tooltip> <span>{temp}</span>
} </Tooltip>
}); }
this.setEditConfig({ });
editConfig: { columns: cols }, this.setEditConfig({
editCode, editConfig: { columns: cols },
}); editCode,
} });
}
/* /*
设置表头字段的可见性 设置表头字段的可见性
params字段名称=是否可编辑 params字段名称=是否可编辑
*/ */
setRowFieldDisable = (editCode, params) => { setRowFieldDisable = (editCode, params) => {
const detailColumnConfig = this.getEditConfig({ editCode }); const detailColumnConfig = this.getEditConfig({ editCode });
const cols = detailColumnConfig ? detailColumnConfig.columns : []; const cols = detailColumnConfig ? detailColumnConfig.columns : [];
@ -2880,6 +2881,7 @@ params【字段属性】=值
} }
type:0-行按钮 1-按钮 2-右侧按钮 type:0-行按钮 1-按钮 2-右侧按钮
*/ */
getRenderBtn(params) { getRenderBtn(params) {
const { editCode, editConfig, record, btnConfig, type, parentId, parentRecord } = params ? params : {}; const { editCode, editConfig, record, btnConfig, type, parentId, parentRecord } = params ? params : {};
const isRow = record; const isRow = record;
@ -2937,8 +2939,13 @@ params【字段属性】=值
if (!content && btnParam) { if (!content && btnParam) {
const that = this; const that = this;
const clickKey = btnConfig.code ? btnConfig.code : btnConfig.id; const clickKey = btnConfig.code ? btnConfig.code : btnConfig.id;
const regClick = async function () { const regClick = async function () {
const ids = getIds(); const ids = getIds();
if (btnConfig.customParams.indexOf('reset') > -1) {
clickQuery = guid();
}
let isError = false; let isError = false;
if (!ids && !isRow && btnConfig.checkSelected) { if (!ids && !isRow && btnConfig.checkSelected) {
message.error('请选择记录'); message.error('请选择记录');
@ -3028,8 +3035,7 @@ params【字段属性】=值
} }
} }
tempData.clearQuery = clickQuery;
btnParam.content = <FormPage formCode={btnConfig.formCode} data={tempData} />; btnParam.content = <FormPage formCode={btnConfig.formCode} data={tempData} />;
btnParam.click = () => { return regClick() }; btnParam.click = () => { return regClick() };
showData.close = () => { showData.close = () => {

View File

@ -1646,6 +1646,7 @@ class EditComponent extends EditBaseComponent {
saveHeadRecord: (values, onComplete) => { return this.saveHeadRecord(values, onComplete); }, saveHeadRecord: (values, onComplete) => { return this.saveHeadRecord(values, onComplete); },
saveRowRecord: (params) => { this.saveRowRecord(params); }, saveRowRecord: (params) => { this.saveRowRecord(params); },
getSelectedRecords: () => { return this.getEditSelectedRecord({ editCode, parentId }); }, getSelectedRecords: () => { return this.getEditSelectedRecord({ editCode, parentId }); },
getSelectedKeys: () => { return this.getEditSelectedKeys({ editCode, parentId }); },
btnCustomParams: getCustomParams(btnCustomParams), btnCustomParams: getCustomParams(btnCustomParams),
pageTableCustomParams: getCustomParams(editConfig.customParams), pageTableCustomParams: getCustomParams(editConfig.customParams),
}); });
@ -1724,6 +1725,7 @@ class EditComponent extends EditBaseComponent {
this.addOtherLog({ formCode, formId, title, data, extData }); this.addOtherLog({ formCode, formId, title, data, extData });
}, },
editCode: editConfig.editCode, editCode: editConfig.editCode,
getSelectedKeys: () => { return this.getEditSelectedKeys({ editCode, parentId }); },
getSelectedRecords: () => { return this.getEditSelectedRecord({ editCode, parentId }); }, getSelectedRecords: () => { return this.getEditSelectedRecord({ editCode, parentId }); },
emptyEditSelectedKeys: () => { return this.emptyEditSelectedKeys({ editCode, parentId }); }, emptyEditSelectedKeys: () => { return this.emptyEditSelectedKeys({ editCode, parentId }); },
data: this.props.data, data: this.props.data,
@ -1775,6 +1777,7 @@ class EditComponent extends EditBaseComponent {
formId: (editConfig.formId ? editConfig.formId : (editConfig.formData ? editConfig.formData.ID : this.props.formId)), formId: (editConfig.formId ? editConfig.formId : (editConfig.formData ? editConfig.formData.ID : this.props.formId)),
formCode: editConfig.formCode ? editConfig.formCode : (editConfig.formData ? editConfig.formData.CODE : this.props.formCode), formCode: editConfig.formCode ? editConfig.formCode : (editConfig.formData ? editConfig.formData.CODE : this.props.formCode),
getSelectedRecords: () => { return this.getEditSelectedRecord({ editCode, parentId }); }, getSelectedRecords: () => { return this.getEditSelectedRecord({ editCode, parentId }); },
getSelectedKeys: () => { return this.getEditSelectedKeys({ editCode, parentId }); },
data: this.props.data, data: this.props.data,
stateData: this.state.data, stateData: this.state.data,
btnCustomParams: getCustomParams(btnCustomParams), btnCustomParams: getCustomParams(btnCustomParams),
@ -1899,7 +1902,7 @@ class EditComponent extends EditBaseComponent {
setFieldEditable: (field, editable) => { this.setFieldEditable(field, editable, this); }, setFieldEditable: (field, editable) => { this.setFieldEditable(field, editable, this); },
pageCode: editConfig.editPage.CODE, pageCode: editConfig.editPage.CODE,
stateData: this.state.data, stateData: this.state.data,
enums:this.props.app.enums, enums: this.props.app.enums,
setFieldVisible: (field, visible) => { this.setFieldVisible(field, visible, this) }, setFieldVisible: (field, visible) => { this.setFieldVisible(field, visible, this) },
setFieldVisibleByBatch: (list) => { this.setFieldVisibleByBatch(list, this); }, setFieldVisibleByBatch: (list) => { this.setFieldVisibleByBatch(list, this); },
setState: (data, callback) => { setState: (data, callback) => {

View File

@ -24,7 +24,7 @@ class BI009FormRunAnalysis extends React.Component {
constructor(props) { constructor(props) {
super(props); super(props);
this.state = { this.state = {
tableTitle :"宁化行洛坑钨矿有限公司-", tableTitle :"",
selectStartTime: moment(this.getStartDate(), "YYYY-MM-DD 00:00:00"), selectStartTime: moment(this.getStartDate(), "YYYY-MM-DD 00:00:00"),
selectEndTime: moment(this.getEndDate(), "YYYY-MM-DD 23:59:59"), selectEndTime: moment(this.getEndDate(), "YYYY-MM-DD 23:59:59"),
visible: false, visible: false,
@ -268,33 +268,33 @@ class BI009FormRunAnalysis extends React.Component {
//加载数据赋值 //加载数据赋值
loadData = () => { loadData = () => {
this.getCompany(); // this.getCompany();
this.getCount(); this.getCount();
this.workTicket(); this.workTicket();
this.workTicket2(); this.workTicket2();
this.mainJobPie2(); this.mainJobPie2();
this.getBaseInfoData(); this.getBaseInfoData();
}; };
getCompany = ()=> // getCompany = ()=>
{ // {
let json = initFilter(this.props.login.OrgId); // let json = initFilter(this.props.login.OrgId);
extendRule(json, "PARENT_ID", 1, null); // extendRule(json, "PARENT_ID", 1, null);
extendRule(json, "DEPARTMENT_TYPE", 1, 3); // extendRule(json, "DEPARTMENT_TYPE", 1, 3);
extendRule(json, "ENABLE_STATUS", 1, 0); // extendRule(json, "ENABLE_STATUS", 1, 0);
this.props.dispatch({ // this.props.dispatch({
type: "app/getDataByPost", // type: "app/getDataByPost",
url: "FM/Department/Get", // url: "FM/Department/Get",
payload: json, // payload: json,
onlyData: false, // onlyData: false,
onComplete: (ret) => { // onComplete: (ret) => {
if (ret && ret.Data) { // if (ret && ret.Data) {
this.setState({ // this.setState({
tableTitle : ret.Data.NAME+"-" // tableTitle : ret.Data.NAME+"-"
}); // });
} // }
}, // },
}); // });
}; // };
getDiffDay(date_1, date_2) { getDiffDay(date_1, date_2) {
// 计算两个日期之间的差值 // 计算两个日期之间的差值
let totalDays, diffDate; let totalDays, diffDate;
@ -1608,7 +1608,8 @@ class BI009FormRunAnalysis extends React.Component {
}} }}
> >
{this.state.tableTitle}作业现场管理统计分析 {/* {this.state.tableTitle} */}
作业现场管理统计分析
</h1> </h1>
<br></br> <br></br>
<Row> <Row>

View File

@ -720,6 +720,18 @@ class UserEditPage extends React.Component {
</Select>)} </Select>)}
</Form.Item> </Form.Item>
</Col> </Col>
<Col span={8}>
<Form.Item
label={'出生日期'}
{...formItemLayout}
>
<DatePicker
value={moment(this.state.data.BORN_DATE)}
placeholder={'请输入出生日期'}
onChange={(value, dateString) => { onChange('BORN_DATE', dateString, 0) }}
/>
</Form.Item>
</Col>
<Col span={8}> <Col span={8}>
<Form.Item <Form.Item
label={'入职时间'} label={'入职时间'}

View File

@ -108,7 +108,7 @@ class FO035ShowPrint extends React.Component {
<div> <div>
<Descriptions size="middle" bordered className={stylesStep.description}> <Descriptions size="middle" bordered className={stylesStep.description}>
<Descriptions.Item label="编号">{data.CODE}</Descriptions.Item> <Descriptions.Item label="编号">{data.CODE}</Descriptions.Item>
<Descriptions.Item label="交底事项">{data.NAME}</Descriptions.Item> {/* <Descriptions.Item label="交底事项">{data.NAME}</Descriptions.Item> */}
<Descriptions.Item label="交底时间">{data.DISCLOSURE_DATE}</Descriptions.Item> <Descriptions.Item label="交底时间">{data.DISCLOSURE_DATE}</Descriptions.Item>
<Descriptions.Item label="交底地点">{data.JOB_LOCATION}</Descriptions.Item> <Descriptions.Item label="交底地点">{data.JOB_LOCATION}</Descriptions.Item>
<Descriptions.Item label="交底人">{data.Nav_User ? data.Nav_User.NAME : ''}</Descriptions.Item> <Descriptions.Item label="交底人">{data.Nav_User ? data.Nav_User.NAME : ''}</Descriptions.Item>

View File

@ -109,7 +109,7 @@ class FO037ShowPrint extends React.Component {
<div> <div>
<Descriptions size="middle" bordered className={stylesStep.description}> <Descriptions size="middle" bordered className={stylesStep.description}>
<Descriptions.Item label="编号">{data.CODE}</Descriptions.Item> <Descriptions.Item label="编号">{data.CODE}</Descriptions.Item>
<Descriptions.Item label="交底事项">{data.NAME}</Descriptions.Item> {/* <Descriptions.Item label="交底事项">{data.NAME}</Descriptions.Item> */}
<Descriptions.Item label="交底时间">{data.DISCLOSURE_DATE}</Descriptions.Item> <Descriptions.Item label="交底时间">{data.DISCLOSURE_DATE}</Descriptions.Item>
<Descriptions.Item label="交底地点">{data.JOB_LOCATION}</Descriptions.Item> <Descriptions.Item label="交底地点">{data.JOB_LOCATION}</Descriptions.Item>
<Descriptions.Item label="交底人">{data.Nav_User ? data.Nav_User.NAME : ''}</Descriptions.Item> <Descriptions.Item label="交底人">{data.Nav_User ? data.Nav_User.NAME : ''}</Descriptions.Item>

View File

@ -3,7 +3,7 @@ import { Button,Descriptions, Popconfirm, Row, Col, Form, Input, Select, Table }
import React from 'react'; import React from 'react';
import { initFilter, extendRule, extendInclude,extendIgnoreDataRule, setDataFieldValue, guid, initQueryFilter,showFiles, GetFileModel,showUserSign } from "../../../utils/common"; import { initFilter, extendRule, extendInclude,extendIgnoreDataRule, setDataFieldValue, guid, initQueryFilter,showFiles, GetFileModel,showUserSign } from "../../../utils/common";
import ReactToPrint from "react-to-print"; import ReactToPrint from "react-to-print";
import stylesStep from '../HI/StepForm.css'; import styles from '../HI/StepForm.css';
import config from "../../../config"; import config from "../../../config";
import XLSX from 'xlsx'; import XLSX from 'xlsx';
import { connect } from 'dva'; import { connect } from 'dva';
@ -14,7 +14,11 @@ class FO041ShowPrint extends React.Component {
this.state = { this.state = {
data: null, data: null,
enumData: null, enumData: null,
BtnAgreeDisplay: 'none' BtnAgreeDisplay: 'none',
fileForm: {
title: "",
visible: false,
},
}; };
}; };
@ -105,9 +109,9 @@ class FO041ShowPrint extends React.Component {
<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={styles.description}>
<Descriptions.Item label="公司">{data.Nav_Company?.NAME}</Descriptions.Item> <Descriptions.Item label="公司">{data.Nav_Company?.NAME}</Descriptions.Item>
<Descriptions.Item label="生产单元">{data.Nav_ProductionUnit?.NAME}</Descriptions.Item> <Descriptions.Item label="生产单元">{data.Nav_ProductionUnit?.NAME}</Descriptions.Item>
<Descriptions.Item label="发起时间">{data.CREATE_TIME}</Descriptions.Item> <Descriptions.Item label="发起时间">{data.CREATE_TIME}</Descriptions.Item>
@ -122,102 +126,111 @@ class FO041ShowPrint extends React.Component {
<Descriptions.Item label="值班开始时间">{data.JOB_START_DATE}</Descriptions.Item> <Descriptions.Item label="值班开始时间">{data.JOB_START_DATE}</Descriptions.Item>
<Descriptions.Item label="值班结束时间">{data.JOB_END_DATE}</Descriptions.Item> <Descriptions.Item label="值班结束时间">{data.JOB_END_DATE}</Descriptions.Item>
<Descriptions.Item label="班次">{data.Nav_Class?.NAME}</Descriptions.Item> <Descriptions.Item label="班次">{data.Nav_Class?.NAME}</Descriptions.Item>
<Descriptions.Item label="附件">{showFiles(data.Nav_Files, config.picServerHost, this)}</Descriptions.Item>
{
data && data.Nav_Details?
<table style={{ width: '100%', textAlign: 'center', marginTop: '10px', borderTop: '1px solid #333', borderLeft: '1px solid #333' }} className={styles.PrintForm}>
<tbody>
<tr> </Descriptions>
<td width="100px" className={styles.fontBold}>序号</td>
<td className={styles.fontBold}>开始时间</td> <Descriptions size="middle" bordered className={styles.description}>
<td className={styles.fontBold}>结束时间</td> <Descriptions.Item label="交接班地点">{data.PLACE}</Descriptions.Item>
<td className={styles.fontBold}>巡视区域</td> <Descriptions.Item label="交班人">{
<td className={styles.fontBold}>现场情况描述</td> data.Nav_Users && data.Nav_Users.map((item, i) => {
<td className={styles.fontBold}>发现问题</td> return item.Nav_User?.NAME + ' '
<td className={styles.fontBold}>处置措施</td> })
<td className={styles.fontBold}>附件</td> }</Descriptions.Item>
<td className={styles.fontBold}>现场责任人</td> <Descriptions.Item label="接班人">{
<td className={styles.fontBold}>现场责任人签名</td> data.Nav_AfterUsers && data.Nav_AfterUsers.map((item, i) => {
<td className={styles.fontBold}>交接事项</td> return item.Nav_AfterUser?.NAME + ' '
</tr> })
{
data.Nav_Details && data.Nav_Details.map((item, i) => { }</Descriptions.Item>
return <tr> </Descriptions>
<td width="100px">
{i + 1} <Descriptions size="middle" bordered className={styles.description}>
</td> <Descriptions.Item label="交班人签字">{
<td> data.Nav_Users && data.Nav_Users.map((item, i) => {
{item.START_DATE} if (item.DEAL_STATUS == 1) {
</td> showUserSign(item.Nav_User, config.picServerHost)
<td> }
{item.END_DATE}
</td>
<td>
{
item?.Nav_DetailAreas && item?.Nav_DetailAreas.map((item2, i) => {
return <tr> {item2?.Nav_Area?.NAME}</tr>
}) })
}
</td> }</Descriptions.Item>
<td>
{item.DESCRIPTION} <Descriptions.Item label="接班人签字">{
</td> data.Nav_AfterUsers && data.Nav_AfterUsers.map((item, i) => {
<td> if (item.AFTER_USER_DEAL_STATUS == 1) {
{item.QUESTION} showUserSign(item.Nav_AfterUser, config.picServerHost)
</td> }
<td> })
{item.MEASURE} }</Descriptions.Item>
</td> <Descriptions.Item label="附件">{showFiles(data.Nav_Files, config.picServerHost, this)}</Descriptions.Item>
<td> </Descriptions>
{showFiles(item.Nav_DetailFiles, config.picServerHost, this)} {
</td> data && data.Nav_Details?
<td> <table style={{ width: '100%', textAlign: 'center', marginTop: '10px', borderTop: '1px solid #333', borderLeft: '1px solid #333' }} className={styles.PrintForm}>
{item.Nav_User?.NAME} <tbody>
</td>
<td> <tr>
{item.USER_DEAL_STATUS == 1?showUserSign(item.Nav_User, config.picServerHost):item.Nav_User?.NAME} <td width="100px" className={styles.fontBold}>序号</td>
</td> <td className={styles.fontBold}>开始时间</td>
<td> <td className={styles.fontBold}>结束时间</td>
{item.ITEM} <td className={styles.fontBold}>巡视区域</td>
</td> <td className={styles.fontBold}>现场情况描述</td>
</tr> <td className={styles.fontBold}>发现问题</td>
<td className={styles.fontBold}>处置措施</td>
<td className={styles.fontBold}>附件</td>
<td className={styles.fontBold}>现场责任人</td>
<td className={styles.fontBold}>现场责任人签名</td>
<td className={styles.fontBold}>交接事项</td>
</tr>
{
data.Nav_Details && data.Nav_Details.map((item, i) => {
return <tr>
<td width="100px">
{i + 1}
</td>
<td>
{item.START_DATE}
</td>
<td>
{item.END_DATE}
</td>
<td>
{
item?.Nav_DetailAreas && item?.Nav_DetailAreas.map((item2, i) => {
return item2?.Nav_Area?.NAME +';'
}) })
} }
</tbody> </td>
</table> : null <td>
} {item.DESCRIPTION}
<Descriptions.Item label="交接班地点">{data.PLACE}</Descriptions.Item> </td>
<Descriptions.Item label="交班人">{ <td>
data.Nav_PreUsers && data.Nav_PreUsers.map((item, i) => { {item.QUESTION}
return item.Nav_PreUser?.NAME + ' ' </td>
}) <td>
}</Descriptions.Item> {item.MEASURE}
<Descriptions.Item label="交班人签字">{ </td>
data.Nav_PreUsers && data.Nav_PreUsers.map((item, i) => { <td>
if (item.PRE_USER_DEAL_STATUS == 1) { {showFiles(item.Nav_DetailFiles, config.picServerHost, this)}
showUserSign(item.Nav_PreUser, config.picServerHost) </td>
} <td>
}) {item.Nav_User?.NAME}
</td>
<td>
{item.USER_DEAL_STATUS == 1?showUserSign(item.Nav_User, config.picServerHost):null}
</td>
<td>
{item.ITEM}
</td>
</tr>
})
}
</tbody>
</table> : null
}
}</Descriptions.Item> </div>:null
<Descriptions.Item label="接班人">{ }
data.Nav_AfterUsers && data.Nav_AfterUsers.map((item, i) => { </div>
return item.Nav_AfterUser?.NAME + ' '
})
}</Descriptions.Item>
<Descriptions.Item label="接班人签字">{
data.Nav_AfterUsers && data.Nav_AfterUsers.map((item, i) => {
if (item.AFTER_USER_DEAL_STATUS == 1) {
showUserSign(item.Nav_AfterUser, config.picServerHost)
}
})
}</Descriptions.Item>
</Descriptions>
</div> : null
}
</div>
</div> </div>
} }

View File

@ -3,18 +3,23 @@ import { Button,Descriptions, Popconfirm, Row, Col, Form, Input, Select, Table }
import React from 'react'; import React from 'react';
import { initFilter, extendRule, extendInclude,extendIgnoreDataRule, setDataFieldValue, guid, initQueryFilter,showFiles, GetFileModel,showUserSign } from "../../../utils/common"; import { initFilter, extendRule, extendInclude,extendIgnoreDataRule, setDataFieldValue, guid, initQueryFilter,showFiles, GetFileModel,showUserSign } from "../../../utils/common";
import ReactToPrint from "react-to-print"; import ReactToPrint from "react-to-print";
import stylesStep from '../HI/StepForm.css'; import styles from '../HI/StepForm.css';
import config from "../../../config"; import config from "../../../config";
import XLSX from 'xlsx'; import XLSX from 'xlsx';
import { connect } from 'dva'; import { connect } from 'dva';
import moment from 'moment'; import moment from 'moment';
import FormPage from '../../../components/FormPage'
class FO043ShowPrint extends React.Component { class FO043ShowPrint extends React.Component {
constructor(props) { constructor(props) {
super(props); super(props);
this.state = { this.state = {
data: null, data: null,
enumData: null, enumData: null,
BtnAgreeDisplay: 'none' BtnAgreeDisplay: 'none',
fileForm: {
title: "",
visible: false,
},
}; };
}; };
@ -33,14 +38,14 @@ class FO043ShowPrint extends React.Component {
onTableBtnAgree() { onTableBtnAgree() {
this.props.dispatch({ this.props.dispatch({
type: 'app/getDataByPost', type: 'app/getDataByPost',
url: 'FO/FOLeaderWellRecord/PersonalAgree', url: 'FO/FOFireJob/IdentityUpdate',
payload: { payload: {
ID: this.props.data.id, ID: this.props.data.id,
TaskID: this.props.data.TaskID, TaskID: this.props.data.TaskID,
}, },
onComplete: (ret) => { onComplete: (ret) => {
if (ret) { if (ret) {
message.success('确认成功!'); message.success('提交成功!');
this.setState({ BtnAgreeDisplay: 'none' }) this.setState({ BtnAgreeDisplay: 'none' })
this.BtnClose(); this.BtnClose();
} }
@ -60,7 +65,7 @@ class FO043ShowPrint extends React.Component {
this.props.dispatch({ this.props.dispatch({
type: 'app/getDataByPost', type: 'app/getDataByPost',
payload: json, payload: json,
url: 'FO/FOLeaderWellRecord/GetEdit', url: 'FO/FOFireJob/GetEdit',
onComplete: (ret) => { onComplete: (ret) => {
if (ret) { if (ret) {
if(this.props.data && this.props.data.loadDataDeal) if(this.props.data && this.props.data.loadDataDeal)
@ -73,75 +78,212 @@ class FO043ShowPrint extends React.Component {
}else{ }else{
this.setState({ BtnAgreeDisplay: 'inline' }) this.setState({ BtnAgreeDisplay: 'inline' })
} }
this.onClickApprove(false);
} }
} }
}); });
} }
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() { onTableBtnExport() {
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")
} }
render() { render() {
const { data } = this.state; const { data } = this.state;
const enums = this.props.data.enums ? this.props.data.enums : this.props.app.enums;
return <div> return <div>
<div style={{ padding: '10px' }}> <div style={{ padding: '10px' }}>
<Button onClick={() => this.onClickApprove(true)} style={{ marginRight: '8px' }} icon="export">审批详情</Button>
<ReactToPrint <ReactToPrint
trigger={() => <Button type={'default'} icon={'printer'} style={{ marginLeft: '8px',display: data && data.FORM_STATUS === 2?"inline":"none" }}>打印</Button>} trigger={() => <Button type={'default'} icon={'printer'} style={{ marginLeft: '8px',display: data && data.FORM_STATUS === 2?"inline":"none" }}>打印</Button>}
content={() => this.componentRef} content={() => this.componentRef}
pageStyle=".printDIV { padding:0 40px;} img{width :120px}" pageStyle=".printDIV { padding:0 40px;} img{width :120px}"
/> />
<Button style={{ marginLeft: '8px',display: data && data.FORM_STATUS === 2?"inline":"none" }} onClick={() => this.onTableBtnExport()} icon="export" >导出</Button> <Button style={{ marginLeft: '8px',display: data && data.FORM_STATUS === 2?"inline":"none" }} onClick={() => this.onTableBtnExport()} icon="export" >导出</Button>
<Button type="primary" style={{ marginLeft: '8px', display: this.state.BtnAgreeDisplay }} onClick={() => this.onTableBtnAgree()} icon="check" >确认</Button> <Button type="primary" style={{ marginLeft: '8px', display: this.state.BtnAgreeDisplay }} onClick={() => this.onTableBtnAgree()} icon="check" >审阅</Button>
</div> </div>
{/* */} {/* */}
<div ref={el => (this.componentRef = el)} style={{ padding: '20px' }} id={'tableId' + this.props.data.id} className="printDIV"> <div ref={el => (this.componentRef = el)} style={{ padding: '20px' }} id={'tableId' + this.props.data.id} className="printDIV">
<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={styles.description}>
<Descriptions.Item label="编号">{data.CODE}</Descriptions.Item> <Descriptions.Item label="公司">{data.Nav_Company?.NAME}</Descriptions.Item>
<Descriptions.Item label="交底事项">{data.NAME}</Descriptions.Item> <Descriptions.Item label="生产单元">{data.Nav_ProductionUnit?.NAME}</Descriptions.Item>
<Descriptions.Item label="交底时间">{data.DISCLOSURE_DATE}</Descriptions.Item> <Descriptions.Item label="发起时间">{data.CREATE_TIME}</Descriptions.Item>
<Descriptions.Item label="交底地点">{data.JOB_LOCATION}</Descriptions.Item>
<Descriptions.Item label="交底人">{data.Nav_User ? data.Nav_User.NAME : ''}</Descriptions.Item> <Descriptions.Item label="发起部门">{data.Nav_ApplyDepartment?.NAME}</Descriptions.Item>
<Descriptions.Item label="被交底人">{ <Descriptions.Item label="发起人">{data.Nav_ApplyUser?.NAME}</Descriptions.Item>
data.Nav_Person && data.Nav_Person.map((item, i) => { <Descriptions.Item label="工作票编号">{data.CODE}</Descriptions.Item>
if (i == (data.Nav_Person.length - 1)) { <Descriptions.Item label="作业名称">{data.Nav_OperationStep?.NAME}</Descriptions.Item>
if (item.DEAL_STATUS == 0) <Descriptions.Item label="审批层级">{enums.HMOperationTaskAuditEnum.enums[data.AUDIT_LEVEL]}</Descriptions.Item>
return <label style={{ color: 'red' }} title='未签到'> {item.Nav_User?.NAME}</label> <Descriptions.Item label="作业风险等级">{enums.SKEvaluateLevelEnum.enums[data.EVALUATE_LEVEL]}</Descriptions.Item>
else <Descriptions.Item label="动火部门">{data.Nav_FireDepartment?.NAME}</Descriptions.Item>
return item.Nav_User?.NAME <Descriptions.Item label="动火部门负责人">{data.Nav_FireUser?.NAME}</Descriptions.Item>
} else { <Descriptions.Item label="安全生产管理人员">{data.Nav_SafeUser?.NAME}</Descriptions.Item>
if (item.DEAL_STATUS == 0) <Descriptions.Item label="动火区域">{data.Nav_Area?.NAME}</Descriptions.Item>
return <label style={{ color: 'red' }} title='未签到'>{item.Nav_User?.NAME + ' '}</label> <Descriptions.Item label="动火地点">{data.JOB_CONTENT}</Descriptions.Item>
else <Descriptions.Item label="动火方式">{data.Nav_Type?.NAME}</Descriptions.Item>
return item.Nav_User?.NAME + ' ' <Descriptions.Item label="动火具体事项">{data.JOB_CONTENT}</Descriptions.Item>
} <Descriptions.Item label="作业监护人">{data.Nav_MonitorUser?.NAME}</Descriptions.Item>
}) <Descriptions.Item label="动火计划开始时间">{data.JOB_DATE}</Descriptions.Item>
}</Descriptions.Item> <Descriptions.Item label="动火计划结束时间">{data.JOB_END_DATE}</Descriptions.Item>
<Descriptions.Item label="交底内容">{data.DisclosureContent}</Descriptions.Item> <Descriptions.Item label="存在的风险">{ data.Nav_Risks && data.Nav_Risks.map((item, i) => {
<Descriptions.Item label="交底人签字">{ return item.RISK_NAME + ' '
(data.Nav_User && data.Nav_User.FILE_PATH)? })}</Descriptions.Item>
showUserSign(data.Nav_User, config.picServerHost):null <Descriptions.Item label="附件">{showFiles(data.Nav_Files, config.picServerHost, this)}</Descriptions.Item>
<Descriptions.Item label="动火作业现场条件验收情况">{data.COMPLETED_CONDITION}</Descriptions.Item>
<Descriptions.Item label="是否可以动火">{enums.FOYesOrNoEnum.enums[data.IS_FIRE]}</Descriptions.Item>
<Descriptions.Item label="动火实际开始时间">{data.ACT_DATE}</Descriptions.Item>
<Descriptions.Item label="附件"> {showFiles(data.Nav_FireFiles, config.picServerHost, this)}</Descriptions.Item>
<Descriptions.Item label="矿调度室人员">{data.Nav_DispatchUser?.NAME}</Descriptions.Item>
<Descriptions.Item label="动火部门负责人签名">{
data.USER_DEAL_STATUS == 1?
showUserSign(data.Nav_FireUser, config.picServerHost)
:null
}</Descriptions.Item> }</Descriptions.Item>
<Descriptions.Item label="被交底人签字">{ <Descriptions.Item label="安全管理人员签名">{
data.Nav_Person && data.Nav_Person.map((item, i) => {
if (item.DEAL_STATUS == 1) { data.SAFE_DEAL_STATUS == 1?
showUserSign(item.Nav_User, config.picServerHost) showUserSign(data.Nav_SafeUser, config.picServerHost)
} :null
})
}</Descriptions.Item>
<Descriptions.Item label="矿调度人员签名">{
data.DISPATCH_DEAL_STATUS == 1?
showUserSign(data.Nav_DispatchUser, config.picServerHost)
:null
}</Descriptions.Item>
<Descriptions.Item label="动火作业完工验收情况">{
data.COMPLETED_CONTENT
}</Descriptions.Item> }</Descriptions.Item>
<Descriptions.Item label="是否可以撤离">{
enums.FOYesOrNoEnum.enums[data.IS_LEAVE]
}</Descriptions.Item>
<Descriptions.Item label="动火实际结束时间">{
data.ACT_END_DATE
}</Descriptions.Item>
<Descriptions.Item label="离开现场时间">{
data.LEAVE_DATE
}</Descriptions.Item>
<Descriptions.Item label="附件">{
showFiles(data.Nav_MonitorFiles, config.picServerHost, this)
}</Descriptions.Item>
<Descriptions.Item label="动火部门负责人签字">{
data.USER_DEAL_FINISH_STATUS == 1?
showUserSign(data.Nav_FireUser, config.picServerHost)
:null
}</Descriptions.Item>
<Descriptions.Item label="安全生产管理人员签字">{
data.SAFE_DEAL_FINISH_STATUS == 1?
showUserSign(data.Nav_SafeUser, config.picServerHost)
:null
}</Descriptions.Item>
</Descriptions> </Descriptions>
<FormPage {...this.state.tmpData} />
{
data && data.Nav_Users?
<table style={{ width: '100%', textAlign: 'center', marginTop: '10px', borderTop: '1px solid #333', borderLeft: '1px solid #333' }} className={styles.PrintForm}>
<tbody>
<tr>
<td width="100px" className={styles.fontBold}>序号</td>
<td className={styles.fontBold}>作业人员类别</td>
<td className={styles.fontBold}>姓名</td>
<td className={styles.fontBold}>证书编号</td>
<td className={styles.fontBold}>附件</td>
{/* <td className={styles.fontBold}>签名</td> */}
</tr>
{
data.Nav_Users && data.Nav_Users.map((item, i) => {
return <tr>
<td width="100px">
{i + 1}
</td>
<td>
{item.Nav_UserType?.NAME}
</td>
<td>
{item.Nav_User?.NAME}
</td>
<td>
{item.CERTIFICATE_CODE}
</td>
<td>
{showFiles(item.Nav_UserFiles, config.picServerHost, this)}
</td>
{/* <td>
{ item.DEAL_STATUS == 1?
showUserSign(item.Nav_User, config.picServerHost):null
}
</td> */}
</tr>
})
}
</tbody>
</table> : null
}
{
data && data.Nav_Details?
<table style={{ width: '100%', textAlign: 'center', marginTop: '10px', borderTop: '1px solid #333', borderLeft: '1px solid #333' }} className={styles.PrintForm}>
<tbody>
<tr>
<td width="100px" className={styles.fontBold}>序号</td>
<td className={styles.fontBold}>作业阶段</td>
<td className={styles.fontBold}>作业流程及安全措施</td>
<td className={styles.fontBold}>是否确认</td>
<td className={styles.fontBold}>附件</td>
</tr>
{
data.Nav_Details && data.Nav_Details.map((item, i) => {
return <tr>
<td width="100px">
{i + 1}
</td>
<td>
{enums.FOJobStepEnum.enums[item.JOB_STEP]}
</td>
<td>
{item.CONTENT}
</td>
<td>
{item.IS_CONFIRM_NEW ? "是" : "否"}
{/* {enums.FOYesOrNoEnum.enums[item.IS_CONFIRM]} */}
</td>
<td>
{showFiles(item.Nav_DetailFiles, config.picServerHost, this)}
</td>
</tr>
})
}
</tbody>
</table> : null
}
</div> : null </div> : null
} }
</div> </div>
@ -149,4 +291,4 @@ class FO043ShowPrint extends React.Component {
} }
} }
export default connect(({ login }) => ({ login }))(FO043ShowPrint) export default connect(({ login,app }) => ({ login,app }))(FO043ShowPrint)

View File

@ -3,18 +3,23 @@ import { Button,Descriptions, Popconfirm, Row, Col, Form, Input, Select, Table }
import React from 'react'; import React from 'react';
import { initFilter, extendRule, extendInclude,extendIgnoreDataRule, setDataFieldValue, guid, initQueryFilter,showFiles, GetFileModel,showUserSign } from "../../../utils/common"; import { initFilter, extendRule, extendInclude,extendIgnoreDataRule, setDataFieldValue, guid, initQueryFilter,showFiles, GetFileModel,showUserSign } from "../../../utils/common";
import ReactToPrint from "react-to-print"; import ReactToPrint from "react-to-print";
import stylesStep from '../HI/StepForm.css'; import styles from '../HI/StepForm.css';
import config from "../../../config"; import config from "../../../config";
import XLSX from 'xlsx'; import XLSX from 'xlsx';
import { connect } from 'dva'; import { connect } from 'dva';
import moment from 'moment'; import moment from 'moment';
import FormPage from '../../../components/FormPage'
class FO045ShowPrint extends React.Component { class FO045ShowPrint extends React.Component {
constructor(props) { constructor(props) {
super(props); super(props);
this.state = { this.state = {
data: null, data: null,
enumData: null, enumData: null,
BtnAgreeDisplay: 'none' BtnAgreeDisplay: 'none',
fileForm: {
title: "",
visible: false,
},
}; };
}; };
@ -33,14 +38,14 @@ class FO045ShowPrint extends React.Component {
onTableBtnAgree() { onTableBtnAgree() {
this.props.dispatch({ this.props.dispatch({
type: 'app/getDataByPost', type: 'app/getDataByPost',
url: 'FO/FOLeaderWellRecord/PersonalAgree', url: 'FO/FOFireJobWb/IdentityUpdate',
payload: { payload: {
ID: this.props.data.id, ID: this.props.data.id,
TaskID: this.props.data.TaskID, TaskID: this.props.data.TaskID,
}, },
onComplete: (ret) => { onComplete: (ret) => {
if (ret) { if (ret) {
message.success('确认成功!'); message.success('提交成功!');
this.setState({ BtnAgreeDisplay: 'none' }) this.setState({ BtnAgreeDisplay: 'none' })
this.BtnClose(); this.BtnClose();
} }
@ -60,7 +65,7 @@ class FO045ShowPrint extends React.Component {
this.props.dispatch({ this.props.dispatch({
type: 'app/getDataByPost', type: 'app/getDataByPost',
payload: json, payload: json,
url: 'FO/FOLeaderWellRecord/GetEdit', url: 'FO/FOFireJobWb/GetEdit',
onComplete: (ret) => { onComplete: (ret) => {
if (ret) { if (ret) {
if(this.props.data && this.props.data.loadDataDeal) if(this.props.data && this.props.data.loadDataDeal)
@ -73,75 +78,204 @@ class FO045ShowPrint extends React.Component {
}else{ }else{
this.setState({ BtnAgreeDisplay: 'inline' }) this.setState({ BtnAgreeDisplay: 'inline' })
} }
this.onClickApprove(false);
} }
} }
}); });
} }
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() { onTableBtnExport() {
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")
} }
render() { render() {
const { data } = this.state; const { data } = this.state;
const enums = this.props.data.enums ? this.props.data.enums : this.props.app.enums;
return <div> return <div>
<div style={{ padding: '10px' }}> <div style={{ padding: '10px' }}>
<Button onClick={() => this.onClickApprove(true)} style={{ marginRight: '8px' }} icon="export">审批详情</Button>
<ReactToPrint <ReactToPrint
trigger={() => <Button type={'default'} icon={'printer'} style={{ marginLeft: '8px',display: data && data.FORM_STATUS === 2?"inline":"none" }}>打印</Button>} trigger={() => <Button type={'default'} icon={'printer'} style={{ marginLeft: '8px',display: data && data.FORM_STATUS === 2?"inline":"none" }}>打印</Button>}
content={() => this.componentRef} content={() => this.componentRef}
pageStyle=".printDIV { padding:0 40px;} img{width :120px}" pageStyle=".printDIV { padding:0 40px;} img{width :120px}"
/> />
<Button style={{ marginLeft: '8px',display: data && data.FORM_STATUS === 2?"inline":"none" }} onClick={() => this.onTableBtnExport()} icon="export" >导出</Button> <Button style={{ marginLeft: '8px',display: data && data.FORM_STATUS === 2?"inline":"none" }} onClick={() => this.onTableBtnExport()} icon="export" >导出</Button>
<Button type="primary" style={{ marginLeft: '8px', display: this.state.BtnAgreeDisplay }} onClick={() => this.onTableBtnAgree()} icon="check" >确认</Button> <Button type="primary" style={{ marginLeft: '8px', display: this.state.BtnAgreeDisplay }} onClick={() => this.onTableBtnAgree()} icon="check" >审阅</Button>
</div> </div>
{/* */} {/* */}
<div ref={el => (this.componentRef = el)} style={{ padding: '20px' }} id={'tableId' + this.props.data.id} className="printDIV"> <div ref={el => (this.componentRef = el)} style={{ padding: '20px' }} id={'tableId' + this.props.data.id} className="printDIV">
<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={styles.description}>
<Descriptions.Item label="编号">{data.CODE}</Descriptions.Item> <Descriptions.Item label="公司">{data.Nav_Company?.NAME}</Descriptions.Item>
<Descriptions.Item label="交底事项">{data.NAME}</Descriptions.Item> <Descriptions.Item label="生产单元">{data.Nav_ProductionUnit?.NAME}</Descriptions.Item>
<Descriptions.Item label="交底时间">{data.DISCLOSURE_DATE}</Descriptions.Item> <Descriptions.Item label="发起时间">{data.CREATE_TIME}</Descriptions.Item>
<Descriptions.Item label="交底地点">{data.JOB_LOCATION}</Descriptions.Item>
<Descriptions.Item label="交底人">{data.Nav_User ? data.Nav_User.NAME : ''}</Descriptions.Item>
<Descriptions.Item label="被交底人">{
data.Nav_Person && data.Nav_Person.map((item, i) => {
if (i == (data.Nav_Person.length - 1)) {
if (item.DEAL_STATUS == 0)
return <label style={{ color: 'red' }} title='未签到'> {item.Nav_User?.NAME}</label>
else
return item.Nav_User?.NAME
} else {
if (item.DEAL_STATUS == 0)
return <label style={{ color: 'red' }} title='未签到'>{item.Nav_User?.NAME + ' '}</label>
else
return item.Nav_User?.NAME + ' '
}
})
}</Descriptions.Item>
<Descriptions.Item label="交底内容">{data.DisclosureContent}</Descriptions.Item>
<Descriptions.Item label="交底人签字">{
(data.Nav_User && data.Nav_User.FILE_PATH)?
showUserSign(data.Nav_User, config.picServerHost):null
<Descriptions.Item label="发起部门">{data.Nav_ApplyDepartment?.NAME}</Descriptions.Item>
<Descriptions.Item label="发起人">{data.Nav_ApplyUser?.NAME}</Descriptions.Item>
<Descriptions.Item label="工作票编号">{data.CODE}</Descriptions.Item>
<Descriptions.Item label="作业名称">{data.Nav_OperationStep?.NAME}</Descriptions.Item>
<Descriptions.Item label="审批层级">{enums.HMOperationTaskAuditEnum.enums[data.AUDIT_LEVEL]}</Descriptions.Item>
<Descriptions.Item label="作业风险等级">{enums.SKEvaluateLevelEnum.enums[data.EVALUATE_LEVEL]}</Descriptions.Item>
<Descriptions.Item label="施工单位">{data.Nav_Related?.NAME}</Descriptions.Item>
<Descriptions.Item label="施工单位负责人">{data.USER_NAME}</Descriptions.Item>
<Descriptions.Item label="负责人电话">{data.USER_PHONE}</Descriptions.Item>
<Descriptions.Item label="安全生产管理人员">{data.SAFE_USER_NAME}</Descriptions.Item>
<Descriptions.Item label="安全员电话">{data.SAFE_USER_PHONE}</Descriptions.Item>
<Descriptions.Item label="动火区域">{data.Nav_Area?.NAME}</Descriptions.Item>
<Descriptions.Item label="动火地点">{data.JOB_CONTENT}</Descriptions.Item>
<Descriptions.Item label="动火方式">{data.Nav_Type?.NAME}</Descriptions.Item>
<Descriptions.Item label="动火具体事项">{data.JOB_CONTENT}</Descriptions.Item>
<Descriptions.Item label="作业监护人">{data.Nav_MonitorUser?.NAME}</Descriptions.Item>
<Descriptions.Item label="动火计划开始时间">{data.JOB_DATE}</Descriptions.Item>
<Descriptions.Item label="动火计划结束时间">{data.JOB_END_DATE}</Descriptions.Item>
<Descriptions.Item label="存在的风险">{ data.Nav_Risks && data.Nav_Risks.map((item, i) => {
return item.RISK_NAME + ' '
})}</Descriptions.Item>
<Descriptions.Item label="附件">{showFiles(data.Nav_Files, config.picServerHost, this)}</Descriptions.Item>
<Descriptions.Item label="动火作业现场条件验收情况">{data.COMPLETED_CONDITION}</Descriptions.Item>
<Descriptions.Item label="是否可以动火">{enums.FOYesOrNoEnum.enums[data.IS_FIRE]}</Descriptions.Item>
<Descriptions.Item label="动火实际开始时间">{data.ACT_DATE}</Descriptions.Item>
<Descriptions.Item label="附件"> {showFiles(data.Nav_FireFiles, config.picServerHost, this)}</Descriptions.Item>
<Descriptions.Item label="动火部门负责人签名">{
data.USER_DEAL_STATUS == 1 && data.Nav_FireUser[0] && data.Nav_FireUser[0].Nav_ImgFile?
<img style={{ margin: "0 0 0 15px", width: '150px' }} src={config.picServerHost + data.Nav_FireUser[0].Nav_ImgFile.FILE_PATH} />
:null
}</Descriptions.Item> }</Descriptions.Item>
<Descriptions.Item label="被交底人签字">{ <Descriptions.Item label="安全管理人员签名">{
data.Nav_Person && data.Nav_Person.map((item, i) => {
if (item.DEAL_STATUS == 1) { data.SAFE_DEAL_STATUS == 1 && data.Nav_SafeUser[0] && data.Nav_SafeUser[0].Nav_ImgFile?
showUserSign(item.Nav_User, config.picServerHost) <img style={{ margin: "0 0 0 15px", width: '150px' }} src={config.picServerHost + data.Nav_SafeUser[0].Nav_ImgFile.FILE_PATH} />
} :null
})
}</Descriptions.Item>
<Descriptions.Item label="动火作业完工验收情况">{
data.COMPLETED_CONTENT
}</Descriptions.Item> }</Descriptions.Item>
<Descriptions.Item label="是否可以撤离">{
enums.FOYesOrNoEnum.enums[data.IS_LEAVE]
}</Descriptions.Item>
<Descriptions.Item label="动火实际结束时间">{
data.ACT_END_DATE
}</Descriptions.Item>
<Descriptions.Item label="离开现场时间">{
data.LEAVE_DATE
}</Descriptions.Item>
<Descriptions.Item label="附件">{
showFiles(data.Nav_MonitorFiles, config.picServerHost, this)
}</Descriptions.Item>
<Descriptions.Item label="动火部门负责人签字">{
data.USER_DEAL_FINISH_STATUS == 1 && data.Nav_FireUser[0] && data.Nav_FireUser[0].Nav_ImgFile?
<img style={{ margin: "0 0 0 15px", width: '150px' }} src={config.picServerHost + data.Nav_FireUser[0].Nav_ImgFile.FILE_PATH} />
:null
}</Descriptions.Item>
<Descriptions.Item label="安全生产管理人员签字">{
data.SAFE_DEAL_FINISH_STATUS == 1 && data.Nav_SafeUser[0] && data.Nav_SafeUser[0].Nav_ImgFile?
<img style={{ margin: "0 0 0 15px", width: '150px' }} src={config.picServerHost + data.Nav_SafeUser[0].Nav_ImgFile.FILE_PATH} />
:null
}</Descriptions.Item>
</Descriptions> </Descriptions>
<FormPage {...this.state.tmpData} />
{
data && data.Nav_Users?
<table style={{ width: '100%', textAlign: 'center', marginTop: '10px', borderTop: '1px solid #333', borderLeft: '1px solid #333' }} className={styles.PrintForm}>
<tbody>
<tr>
<td width="100px" className={styles.fontBold}>序号</td>
<td className={styles.fontBold}>作业人员类别</td>
<td className={styles.fontBold}>姓名</td>
<td className={styles.fontBold}>证书编号</td>
<td className={styles.fontBold}>附件</td>
{/* <td className={styles.fontBold}>签名</td> */}
</tr>
{
data.Nav_Users && data.Nav_Users.map((item, i) => {
return <tr>
<td width="100px">
{i + 1}
</td>
<td>
{item.Nav_UserType?.NAME}
</td>
<td>
{item.Nav_User?.NAME}
</td>
<td>
{item.CERTIFICATE_CODE}
</td>
<td>
{showFiles(item.Nav_UserFiles, config.picServerHost, this)}
</td>
{/* <td>
{ item.DEAL_STATUS == 1?
showUserSign(item.Nav_User, config.picServerHost):null
}
</td> */}
</tr>
})
}
</tbody>
</table> : null
}
{
data && data.Nav_Details?
<table style={{ width: '100%', textAlign: 'center', marginTop: '10px', borderTop: '1px solid #333', borderLeft: '1px solid #333' }} className={styles.PrintForm}>
<tbody>
<tr>
<td width="100px" className={styles.fontBold}>序号</td>
<td className={styles.fontBold}>作业阶段</td>
<td className={styles.fontBold}>作业流程及安全措施</td>
<td className={styles.fontBold}>是否确认</td>
<td className={styles.fontBold}>附件</td>
</tr>
{
data.Nav_Details && data.Nav_Details.map((item, i) => {
return <tr>
<td width="100px">
{i + 1}
</td>
<td>
{enums.FOJobStepEnum.enums[item.JOB_STEP]}
</td>
<td>
{item.CONTENT}
</td>
<td>
{item.IS_CONFIRM_NEW ? "是" : "否"}
{/* {enums.FOYesOrNoEnum.enums[item.IS_CONFIRM]} */}
</td>
<td>
{showFiles(item.Nav_DetailFiles, config.picServerHost, this)}
</td>
</tr>
})
}
</tbody>
</table> : null
}
</div> : null </div> : null
} }
</div> </div>
@ -149,4 +283,4 @@ class FO045ShowPrint extends React.Component {
} }
} }
export default connect(({ login }) => ({ login }))(FO045ShowPrint) export default connect(({ login,app }) => ({ login,app }))(FO045ShowPrint)

View File

@ -49,6 +49,15 @@ class ListPage extends React.Component {
} }
} }
componentWillReceiveProps(nextProps) {
const prevFlag = (this.props && (this.props.clearQuery || (this.props.data && this.props.data.clearQuery))) || false
const nextFlag = (nextProps && (nextProps.clearQuery || (nextProps.data && nextProps.data.clearQuery))) || false
if (nextFlag && nextFlag !== prevFlag) {
this.refOfSearch && this.refOfSearch.resetQuery && this.refOfSearch.resetQuery()
this.loadData({ rules: [], groups: [] })
}
}
loadData = (params) => { loadData = (params) => {
if (this.state.loadDataFunc) { if (this.state.loadDataFunc) {
if (!this.state.loadDataFunc.length) { if (!this.state.loadDataFunc.length) {

View File

@ -462,8 +462,7 @@ class MultiSelectPagination extends React.Component {
this.setState({ this.setState({
value: stateValue, value: stateValue,
searchKey: "" searchKey: ""
//fetching: false, });
}, () => this.initFilterJson("", 1));
let retVal = this.getDataValue(stateValue); let retVal = this.getDataValue(stateValue);
this.state.baseNav.forEach(db => { this.state.baseNav.forEach(db => {
const index = stateValue.findIndex(i => i.key == db[this.state.saveId]); const index = stateValue.findIndex(i => i.key == db[this.state.saveId]);

View File

@ -3,6 +3,7 @@ import React from 'react'
import { connect } from 'dva' import { connect } from 'dva'
// 组件库 // 组件库
import { Tabs } from 'antd' import { Tabs } from 'antd'
import storage from '../utils/storage'
import AdvanceSearch from './AdvanceSearch' import AdvanceSearch from './AdvanceSearch'
import SearchGroupField from './SearchGroupField' import SearchGroupField from './SearchGroupField'
import EditTabPane from './EditTabPane' import EditTabPane from './EditTabPane'
@ -186,6 +187,30 @@ class Search extends React.Component {
}) })
} }
resetQuery = () => {
const { filterList } = this.state
if (Array.isArray(filterList)) {
filterList.forEach(item => {
const key = item && item.SHARE_KEY
if (key) {
this.props.dispatch({
type: 'search/setShareData',
payload: { key, data: [] }
})
storage('session').removeItem(key)
}
})
}
Object.keys(this.refsOfField || {}).forEach((id) => {
const inst = this.refsOfField[id]
inst && inst.setState && inst.setState({ data: {} })
})
Object.keys(this.refsOfGroup || {}).forEach((id) => {
const inst = this.refsOfGroup[id]
inst && inst.setState && inst.setState({ data: {} })
})
}
renderTabBar = (props, DefaultTabBar) => { renderTabBar = (props, DefaultTabBar) => {
const { filterList } = this.state const { filterList } = this.state
if (filterList.length <= 1) { if (filterList.length <= 1) {

57
src/files/edit/FO039.js Normal file
View File

@ -0,0 +1,57 @@
import { message } from "antd/lib/index";
import { getPropertyData, extendInclude, extendRule, getDataFieldValue, setDataFieldValue, initFilter, guid } from "../../utils/common";
import moment from 'moment';
/**
* @return {string}
*/
// 编辑
export default {
onChange: ({ colInfo, getFieldValue, setFieldValueByBatch,setFieldValue, dispatch,login,updateSubTableData }) => {
if (!(colInfo.FIELD_NAME == 'Nav_User.NAME'))
return;
let code = getFieldValue('USER_ID')
let json = initFilter(login.OrgId,code);
dispatch({
type: 'app/getDataByPost',
url: 'FO/FOProfessionalResume/GetUserAge',
payload: json,
onlyData: false,
onComplete: (re) => {
if (re && re.IsSuccessful && re.Data) {
setFieldValue('AGE',re.Data.AGE)
}
}
})
},
onSubChange: ({ row, getFieldValue, setFieldValueByBatch, pageCode, record, setDataState, colInfo, dispatch, stateData, saveRowRecord }) => {
if (colInfo.FIELD_NAME === "START_DATE" ||colInfo.FIELD_NAME === "END_DATE" ) {
let startDate = getDataFieldValue(record, 'START_DATE');
let endDate =getDataFieldValue(record, 'END_DATE');
if(startDate && endDate)
{
const start = new Date(startDate);
const end = new Date(endDate);
const years = end.getFullYear() - start.getFullYear();
const months = end.getMonth() - start.getMonth();
let yearsWithDecimal = (years + (months / 12)).toFixed(1); // 保留一位小数
if (yearsWithDecimal.endsWith('.0')) {
// 去掉末尾的.0,但不四舍五入
yearsWithDecimal = yearsWithDecimal.substring(0, yearsWithDecimal.length - 2);
}
record["WORK_YEAR"] = yearsWithDecimal;
saveRowRecord(record)
if(stateData && stateData.Nav_Details)
{
let year = 0;
stateData.Nav_Details.map(t=>{
year = Math.round(year + t.WORK_YEAR);
})
stateData.YEAR=year
setDataState(stateData)
}
}
}
}
}

108
src/files/edit/FO043.js Normal file
View File

@ -0,0 +1,108 @@
import { message } from "antd/lib/index";
import { getPropertyData, extendInclude, extendRule, getDataFieldValue, setDataFieldValue, initFilter, guid } from "../../utils/common";
import moment from 'moment';
/**
* @return {string}
*/
// 编辑
export default {
onBeforeSaveHandleRecord(params) {
params.record.TaskID = params.data.TaskID //TaskID传递消息表ID
params.record.PUBLISH = params.customParams;
},
onBeforeEdit: ({ isNew,login,record, dispatch,stateData, setFieldEditable,setFieldVisible,setFieldValue,setFieldValueByBatch }) => {
if (isNew) {
let json = initFilter(login.OrgId);
extendRule(json, "ID", 1, login.userId);
extendInclude(json, 'Nav_Department.Nav_Unit');
dispatch({
type: 'app/getDataByPost',
url: 'FM/User/Get',
payload: json,
onComplete: (ret) => {
if (ret) {
let temps = [];
temps.push({ field: 'APPLY_USER_ID', value: ret.ID})
temps.push({ field: 'Nav_ApplyUser.NAME', value: ret.NAME })
temps.push({ field: 'APPLY_DEPARTMENT_ID', value: ret.DEPARTMENT_ID})
temps.push({ field: 'Nav_ApplyDepartment.NAME', value: ret.Nav_Department?.NAME })
temps.push({ field: 'PRODUCTION_UNIT_ID', value: ret.Nav_Department?.PRODUCTION_UNIT_ID})
temps.push({ field: 'Nav_ProductionUnit.NAME', value: ret.Nav_Department?.Nav_Unit?.NAME })
setFieldValueByBatch(temps);
}
}
});
///发起人不能编辑
setFieldEditable('COMPLETED_CONDITION', false)
setFieldEditable('IS_FIRE', false)
setFieldEditable('ACT_DATE', false)
setFieldEditable('Nav_FireFiles', false)
setFieldEditable('Nav_DispatchUser.NAME', false)
setFieldEditable('COMPLETED_CONTENT', false)
setFieldEditable('IS_LEAVE', false)
setFieldEditable('ACT_END_DATE', false)
setFieldEditable('LEAVE_DATE', false)
setFieldEditable('Nav_MonitorFiles', false)
}
else if(stateData.FIRE_STATUS == 10)
{
setFieldEditable('COMPLETED_CONDITION', true)
setFieldEditable('IS_FIRE', true)
setFieldEditable('ACT_DATE', true)
setFieldEditable('Nav_FireFiles', true)
setFieldEditable('Nav_DispatchUser.NAME', true)
setFieldEditable('COMPLETED_CONTENT', false)
setFieldEditable('IS_LEAVE', false)
setFieldEditable('ACT_END_DATE', false)
setFieldEditable('LEAVE_DATE', false)
setFieldEditable('Nav_MonitorFiles', false)
}
else if(stateData.FIRE_STATUS == 18)
{
setFieldEditable('COMPLETED_CONDITION', false)
setFieldEditable('IS_FIRE', false)
setFieldEditable('ACT_DATE', false)
setFieldEditable('Nav_FireFiles', false)
setFieldEditable('Nav_DispatchUser.NAME', false)
setFieldEditable('COMPLETED_CONTENT', true)
setFieldEditable('IS_LEAVE', true)
setFieldEditable('ACT_END_DATE', true)
setFieldEditable('LEAVE_DATE', true)
setFieldEditable('Nav_MonitorFiles', true)
}else
{
setFieldEditable('COMPLETED_CONDITION', false)
setFieldEditable('IS_FIRE', false)
setFieldEditable('ACT_DATE', false)
setFieldEditable('Nav_FireFiles', false)
setFieldEditable('Nav_DispatchUser.NAME', false)
setFieldEditable('COMPLETED_CONTENT', false)
setFieldEditable('IS_LEAVE', false)
setFieldEditable('ACT_END_DATE', false)
setFieldEditable('LEAVE_DATE', false)
setFieldEditable('Nav_MonitorFiles', false)
}
},
onChange: ({ colInfo, getFieldValue, setFieldValueByBatch, dispatch,login,updateSubTableData }) => {
if (!(colInfo.FIELD_NAME == 'Nav_OperationStep.NAME'))
return;
let code = getFieldValue('OPERATION_STEP_ID')
let json = initFilter(login.OrgId,code);
dispatch({
type: 'app/getDataByPost',
url: 'FO/FOFireJob/GetAnalyzeDetail',
payload: json,
onlyData: false,
onComplete: (re) => {
if (re && re.IsSuccessful && re.Data) {
let temps = [];
temps.push({ field: 'Nav_Details', value: re.Data.Nav_Details })
temps.push({ field: 'EVALUATE_LEVEL', value: re.Data.EVALUATE_LEVEL })
temps.push({ field: 'AUDIT_LEVEL', value: re.Data.AUDIT_LEVEL})
setFieldValueByBatch(temps);
}
}
})
},
}

View File

@ -135,6 +135,10 @@ export default {
onComplete: (re) => { onComplete: (re) => {
if (re && re.IsSuccessful && re.Data) { if (re && re.IsSuccessful && re.Data) {
let temps = []; let temps = [];
let rets=re.Data?.map((item,i)=>{
item['ROW_NO'] = i+1;
return item;
});
temps.push({ field: 'Nav_CheckNoticeDetails', value: re.Data }) temps.push({ field: 'Nav_CheckNoticeDetails', value: re.Data })
setFieldValueByBatch(temps); setFieldValueByBatch(temps);
// stateData.Nav_CheckNoticeDetails = re.Data // stateData.Nav_CheckNoticeDetails = re.Data

View File

@ -1,40 +1,57 @@
import { message } from "antd/lib/index"; import { message } from "antd/lib/index";
import { getPropertyData, extendInclude, extendRule, getDataFieldValue, setDataFieldValue, initFilter, guid } from "../../utils/common"; import { getPropertyData, extendInclude, extendRule, initFilterGroup, extendGroupRule,getDataFieldValue, setDataFieldValue, initFilter, guid } from "../../utils/common";
import moment from 'moment'; import moment from 'moment';
import FormPage from '../../components/FormPage'; import FormPage from '../../components/FormPage';
import ListPage from '../../components/Table/ListPage'; import ListPage from '../../components/Table/ListPage';
import { Button, Row, Col, Form, Input, Select, Upload, Icon, Modal, Spin,Table } from 'antd'; import { Button, Row, Col, Form, Input, Select, Upload, Icon, Modal, Spin, Table } from 'antd';
/** /**
* @return {string} * @return {string}
*/ */
// 编辑 // 编辑
export default { export default {
btnSaveNotice: ({params,row,loadData, pageCode,close, record, dispatch,colInfo,login, stateData, clearSelectedRowKeys, saveRowRecord,setFieldValueByBatch, getSelectedRecords }) => { btnSaveNotice: ({ params, row, loadData, pageCode, close, record, dispatch, colInfo, login, stateData, getSelectedRowKeys, clearSelectedRowKeys, saveRowRecord, setFieldValueByBatch, getSelectedRecords }) => {
let DetailCheck = getSelectedRecords(); let selectedKeys = getSelectedRowKeys();
if (DetailCheck && DetailCheck.length > 0) { let filter = initFilter();
let temps = []; let filterGroup = initFilterGroup(false);
DetailCheck.map((item,index)=>{ selectedKeys.forEach((item) => {
let tmpData = { extendGroupRule(filterGroup, "ID", 1, item);
ID:item.ID, })
NUM:index+1, filter.FilterGroup = filterGroup;
CHECKCONTENT: item.CHECKCONTENT, dispatch({
Nav_ListCheckQuestion: item.Nav_ListCheckQuestion, type: 'app/getDataByPost',
} url: 'SK/CheckContents/Entities',
temps.push(tmpData); payload: filter,
}); onlyData: false,
onComplete: (re) => {
if (re && re.IsSuccessful) {
message.success("执行成功");
clearSelectedRowKeys();
let DetailCheck=re.Data;
if (DetailCheck && DetailCheck.length > 0) {
let temps = [];
DetailCheck.map((item, index) => {
let tmpData = {
ID: item.ID,
NUM: index + 1,
CHECKCONTENT: item.CHECKCONTENT,
Nav_ListCheckQuestion: item.Nav_ListCheckQuestion,
}
temps.push(tmpData);
});
if(!temps||temps.length==0){ if (!temps || temps.length == 0) {
message.error('请选择要导入的内容'); message.error('请选择要导入的内容');
}else } else {
{ login.tempContents = temps
login.tempContents=temps clearSelectedRowKeys();
clearSelectedRowKeys(); }
// loadData(); }
// close(); else {
message.error('请选择要导入的内容');
}
}
} }
} });
else{
message.error('请选择要导入的内容');
}
}, },
} }

View File

@ -156,7 +156,7 @@ const BI002HomeDetail = createLoadableComponent(() => import('../components/Cust
// const BI054HomeDetail = createLoadableComponent(() => import('../components/CustomPages/BI/BI054HomeDetail')) // const BI054HomeDetail = createLoadableComponent(() => import('../components/CustomPages/BI/BI054HomeDetail'))
// const BI055HomeDetail = createLoadableComponent(() => import('../components/CustomPages/BI/BI055HomeDetail')) // const BI055HomeDetail = createLoadableComponent(() => import('../components/CustomPages/BI/BI055HomeDetail'))
// const BI004FormRunAnalysis = createLoadableComponent(() => import('../components/CustomPages/BI/BI004FormRunAnalysis')) // const BI004FormRunAnalysis = createLoadableComponent(() => import('../components/CustomPages/BI/BI004FormRunAnalysis'))
// const BI005LoginRecord = createLoadableComponent(() => import('../components/CustomPages/BI/BI005LoginRecord')) const BI005LoginRecord = createLoadableComponent(() => import('../components/CustomPages/BI/BI005LoginRecord'))
// const BI006FormRunAnalysis = createLoadableComponent(() => import('../components/CustomPages/BI/BI006FormRunAnalysis')) // const BI006FormRunAnalysis = createLoadableComponent(() => import('../components/CustomPages/BI/BI006FormRunAnalysis'))
// const BI006FormRunAnalysisNew = createLoadableComponent(() => import('../components/CustomPages/BI/BI006FormRunAnalysisNew')) // const BI006FormRunAnalysisNew = createLoadableComponent(() => import('../components/CustomPages/BI/BI006FormRunAnalysisNew'))
// const BI007FormRunAnalysis = createLoadableComponent(() => import('../components/CustomPages/BI/BI007FormRunAnalysis')) // const BI007FormRunAnalysis = createLoadableComponent(() => import('../components/CustomPages/BI/BI007FormRunAnalysis'))
@ -168,7 +168,7 @@ const BI011FormRunAnalysis = createLoadableComponent(() => import('../components
const BI011TrainSafeAnalysis = createLoadableComponent(() => import('../components/CustomPages/BI/BI011TrainSafeAnalysis')) const BI011TrainSafeAnalysis = createLoadableComponent(() => import('../components/CustomPages/BI/BI011TrainSafeAnalysis'))
// const BI012NotificationTaskAnalysis = createLoadableComponent(() => import('../components/CustomPages/BI/BI012NotificationTaskAnalysis')) // const BI012NotificationTaskAnalysis = createLoadableComponent(() => import('../components/CustomPages/BI/BI012NotificationTaskAnalysis'))
// const BI013RiskAnalysisModel = createLoadableComponent(() => import('../components/CustomPages/BI/BI013RiskAnalysisModel')) // const BI013RiskAnalysisModel = createLoadableComponent(() => import('../components/CustomPages/BI/BI013RiskAnalysisModel'))
// const BI030FormRunAnalysis = createLoadableComponent(() => import('../components/CustomPages/BI/BI030FormRunAnalysis')) const BI030FormRunAnalysis = createLoadableComponent(() => import('../components/CustomPages/BI/BI030FormRunAnalysis'))
// const BI060MapeShow = createLoadableComponent(() => import('../components/CustomPages/BI/BI060MapeShow')) // const BI060MapeShow = createLoadableComponent(() => import('../components/CustomPages/BI/BI060MapeShow'))
// const BI060MapePoint = createLoadableComponent(() => import('../components/CustomPages/BI/BI060MapePoint')) // const BI060MapePoint = createLoadableComponent(() => import('../components/CustomPages/BI/BI060MapePoint'))
@ -188,9 +188,9 @@ const BI056Performance = createLoadableComponent(() => import('../components/Cus
// const BI056Dilg3_1 = createLoadableComponent(() => import('../components/CustomPages/BI/BI056Dilg3_1')) // const BI056Dilg3_1 = createLoadableComponent(() => import('../components/CustomPages/BI/BI056Dilg3_1'))
// const BI056Dilg3_2 = createLoadableComponent(() => import('../components/CustomPages/BI/BI056Dilg3_2')) // const BI056Dilg3_2 = createLoadableComponent(() => import('../components/CustomPages/BI/BI056Dilg3_2'))
// const BI003StatiscialAnalysis = createLoadableComponent(() => import('../components/CustomPages/BI/BI003StatiscialAnalysis')) // const BI003StatiscialAnalysis = createLoadableComponent(() => import('../components/CustomPages/BI/BI003StatiscialAnalysis'))
// const BI020ApproveAnalysis = createLoadableComponent(() => import('../components/CustomPages/BI/BI020ApproveAnalysis')) const BI020ApproveAnalysis = createLoadableComponent(() => import('../components/CustomPages/BI/BI020ApproveAnalysis'))
const BI014RiskPerformanceModel = createLoadableComponent(() => import('../components/CustomPages/BI/BI014RiskPerformanceModel')) const BI014RiskPerformanceModel = createLoadableComponent(() => import('../components/CustomPages/BI/BI014RiskPerformanceModel'))
// const BI012FormRunAnalysis = createLoadableComponent(() => import('../components/CustomPages/BI/BI012FormRunAnalysis')) const BI012FormRunAnalysis = createLoadableComponent(() => import('../components/CustomPages/BI/BI012FormRunAnalysis'))
const PF136FormRunAnalysis = createLoadableComponent(() => import('../components/CustomPages/PF/PF136FormRunAnalysis')) const PF136FormRunAnalysis = createLoadableComponent(() => import('../components/CustomPages/PF/PF136FormRunAnalysis'))
const PF139FormRunAnalysis = createLoadableComponent(() => import('../components/CustomPages/PF/PF139FormRunAnalysis')) const PF139FormRunAnalysis = createLoadableComponent(() => import('../components/CustomPages/PF/PF139FormRunAnalysis'))
@ -392,7 +392,7 @@ export default function (componentName, formId, formParam, data, formCode, formD
BI001HomeDetail: <BI001HomeDetail formId={formId} formParam={formParam} data={data} formCode={formCode} />, BI001HomeDetail: <BI001HomeDetail formId={formId} formParam={formParam} data={data} formCode={formCode} />,
// BI002HomeDetail: <BI002HomeDetail formId={formId} formParam={formParam} data={data} formCode={formCode} />, // BI002HomeDetail: <BI002HomeDetail formId={formId} formParam={formParam} data={data} formCode={formCode} />,
// BI004FormRunAnalysis: <BI004FormRunAnalysis formId={formId} formParam={formParam} data={data} formCode={formCode} />, // BI004FormRunAnalysis: <BI004FormRunAnalysis formId={formId} formParam={formParam} data={data} formCode={formCode} />,
// BI005LoginRecord: <BI005LoginRecord formId={formId} formParam={formParam} data={data} formCode={formCode} />, BI005LoginRecord: <BI005LoginRecord formId={formId} formParam={formParam} data={data} formCode={formCode} />,
// BI006FormRunAnalysis: <BI006FormRunAnalysis formId={formId} formParam={formParam} data={data} formCode={formCode} />, // BI006FormRunAnalysis: <BI006FormRunAnalysis formId={formId} formParam={formParam} data={data} formCode={formCode} />,
// BI006FormRunAnalysisNew: <BI006FormRunAnalysisNew formId={formId} formParam={formParam} data={data} formCode={formCode} />, // BI006FormRunAnalysisNew: <BI006FormRunAnalysisNew formId={formId} formParam={formParam} data={data} formCode={formCode} />,
// BI007FormRunAnalysis: <BI007FormRunAnalysis formId={formId} formParam={formParam} data={data} formCode={formCode} />, // BI007FormRunAnalysis: <BI007FormRunAnalysis formId={formId} formParam={formParam} data={data} formCode={formCode} />,
@ -405,13 +405,13 @@ export default function (componentName, formId, formParam, data, formCode, formD
// BI012NotificationTaskAnalysis: <BI012NotificationTaskAnalysis formId={formId} formParam={formParam} data={data} formCode={formCode} />, // BI012NotificationTaskAnalysis: <BI012NotificationTaskAnalysis formId={formId} formParam={formParam} data={data} formCode={formCode} />,
// BI013RiskAnalysisModel: <BI013RiskAnalysisModel formId={formId} formParam={formParam} data={data} formCode={formCode} />, // BI013RiskAnalysisModel: <BI013RiskAnalysisModel formId={formId} formParam={formParam} data={data} formCode={formCode} />,
BI014RiskPerformanceModel: <BI014RiskPerformanceModel formId={formId} formParam={formParam} data={data} formCode={formCode} />, BI014RiskPerformanceModel: <BI014RiskPerformanceModel formId={formId} formParam={formParam} data={data} formCode={formCode} />,
// BI030FormRunAnalysis: <BI030FormRunAnalysis formId={formId} formParam={formParam} data={data} formCode={formCode} />, BI030FormRunAnalysis: <BI030FormRunAnalysis formId={formId} formParam={formParam} data={data} formCode={formCode} />,
// BI060MapeShow: <BI060MapeShow formId={formId} formParam={formParam} data={data} formCode={formCode} />, // BI060MapeShow: <BI060MapeShow formId={formId} formParam={formParam} data={data} formCode={formCode} />,
// BI060MapePoint: <BI060MapePoint formId={formId} formParam={formParam} data={data} formCode={formCode} />, // BI060MapePoint: <BI060MapePoint formId={formId} formParam={formParam} data={data} formCode={formCode} />,
// BI061MapeGISShow: <BI061MapeGISShow formId={formId} formParam={formParam} data={data} formCode={formCode} />, // BI061MapeGISShow: <BI061MapeGISShow formId={formId} formParam={formParam} data={data} formCode={formCode} />,
BI009FormRunAnalysis: <BI009FormRunAnalysis formId={formId} formParam={formParam} data={data} formCode={formCode} />, BI009FormRunAnalysis: <BI009FormRunAnalysis formId={formId} formParam={formParam} data={data} formCode={formCode} />,
// BI020ApproveAnalysis: <BI020ApproveAnalysis formId={formId} formParam={formParam} data={data} formCode={formCode} />, BI020ApproveAnalysis: <BI020ApproveAnalysis formId={formId} formParam={formParam} data={data} formCode={formCode} />,
// BI012FormRunAnalysis: <BI012FormRunAnalysis formId={formId} formParam={formParam} data={data} formCode={formCode} />, BI012FormRunAnalysis: <BI012FormRunAnalysis formId={formId} formParam={formParam} data={data} formCode={formCode} />,
PF136FormRunAnalysis: <PF136FormRunAnalysis formId={formId} formParam={formParam} data={data} formCode={formCode} />, PF136FormRunAnalysis: <PF136FormRunAnalysis formId={formId} formParam={formParam} data={data} formCode={formCode} />,
PF139FormRunAnalysis: <PF139FormRunAnalysis formId={formId} formParam={formParam} data={data} formCode={formCode} />, PF139FormRunAnalysis: <PF139FormRunAnalysis formId={formId} formParam={formParam} data={data} formCode={formCode} />,
FO025ShowPrint: <FO025ShowPrint formId={formId} formParam={formParam} data={data} formCode={formCode} />, FO025ShowPrint: <FO025ShowPrint formId={formId} formParam={formParam} data={data} formCode={formCode} />,