diff --git a/src/baseComponents/EditBaseComponent/index.js b/src/baseComponents/EditBaseComponent/index.js index d80d0c9..4055532 100644 --- a/src/baseComponents/EditBaseComponent/index.js +++ b/src/baseComponents/EditBaseComponent/index.js @@ -22,7 +22,7 @@ import TableModal from '../../components/Table/TableModal'; import CombinationModal from '../../components/Combination/CombinationModal' import { get, set } from 'lodash' const TabPane = Tabs.TabPane; - +let clickQuery = ""; class EditBaseComponent extends ComponentBase { constructor(props) { super(props); @@ -568,28 +568,29 @@ params【字段名称显示】 设置表头字段的文字提示 params【字段名称显示】 */ -setRowFieldTooltip = (editCode, params) => { - const detailColumnConfig = this.getEditConfig({ editCode }); - const cols = detailColumnConfig ? detailColumnConfig.columns : []; - Object.keys(params).forEach((n) => { - const temps = cols.filter(t => t.field === n); - if (temps && temps.length) {debugger - var temp=temps[0].label; - temps[0].label = - {temp} - - } - }); - this.setEditConfig({ - editConfig: { columns: cols }, - editCode, - }); -} + setRowFieldTooltip = (editCode, params) => { + const detailColumnConfig = this.getEditConfig({ editCode }); + const cols = detailColumnConfig ? detailColumnConfig.columns : []; + Object.keys(params).forEach((n) => { + const temps = cols.filter(t => t.field === n); + if (temps && temps.length) { + debugger + var temp = temps[0].label; + temps[0].label = + {temp} + + } + }); + this.setEditConfig({ + editConfig: { columns: cols }, + editCode, + }); + } -/* -设置表头字段的可见性 -params【字段名称】=是否可编辑 - */ + /* + 设置表头字段的可见性 + params【字段名称】=是否可编辑 + */ setRowFieldDisable = (editCode, params) => { const detailColumnConfig = this.getEditConfig({ editCode }); const cols = detailColumnConfig ? detailColumnConfig.columns : []; @@ -2880,6 +2881,7 @@ params【字段属性】=值 } type:0-行按钮 1-按钮 2-右侧按钮 */ + getRenderBtn(params) { const { editCode, editConfig, record, btnConfig, type, parentId, parentRecord } = params ? params : {}; const isRow = record; @@ -2937,8 +2939,13 @@ params【字段属性】=值 if (!content && btnParam) { const that = this; const clickKey = btnConfig.code ? btnConfig.code : btnConfig.id; + const regClick = async function () { const ids = getIds(); + if (btnConfig.customParams.indexOf('reset') > -1) { + clickQuery = guid(); + } + let isError = false; if (!ids && !isRow && btnConfig.checkSelected) { message.error('请选择记录'); @@ -3028,8 +3035,7 @@ params【字段属性】=值 } } - - + tempData.clearQuery = clickQuery; btnParam.content = ; btnParam.click = () => { return regClick() }; showData.close = () => { diff --git a/src/baseComponents/EditComponent/index.js b/src/baseComponents/EditComponent/index.js index 158b418..8bca666 100644 --- a/src/baseComponents/EditComponent/index.js +++ b/src/baseComponents/EditComponent/index.js @@ -1646,6 +1646,7 @@ class EditComponent extends EditBaseComponent { saveHeadRecord: (values, onComplete) => { return this.saveHeadRecord(values, onComplete); }, saveRowRecord: (params) => { this.saveRowRecord(params); }, getSelectedRecords: () => { return this.getEditSelectedRecord({ editCode, parentId }); }, + getSelectedKeys: () => { return this.getEditSelectedKeys({ editCode, parentId }); }, btnCustomParams: getCustomParams(btnCustomParams), pageTableCustomParams: getCustomParams(editConfig.customParams), }); @@ -1724,6 +1725,7 @@ class EditComponent extends EditBaseComponent { this.addOtherLog({ formCode, formId, title, data, extData }); }, editCode: editConfig.editCode, + getSelectedKeys: () => { return this.getEditSelectedKeys({ editCode, parentId }); }, getSelectedRecords: () => { return this.getEditSelectedRecord({ editCode, parentId }); }, emptyEditSelectedKeys: () => { return this.emptyEditSelectedKeys({ editCode, parentId }); }, 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)), formCode: editConfig.formCode ? editConfig.formCode : (editConfig.formData ? editConfig.formData.CODE : this.props.formCode), getSelectedRecords: () => { return this.getEditSelectedRecord({ editCode, parentId }); }, + getSelectedKeys: () => { return this.getEditSelectedKeys({ editCode, parentId }); }, data: this.props.data, stateData: this.state.data, btnCustomParams: getCustomParams(btnCustomParams), @@ -1899,7 +1902,7 @@ class EditComponent extends EditBaseComponent { setFieldEditable: (field, editable) => { this.setFieldEditable(field, editable, this); }, pageCode: editConfig.editPage.CODE, stateData: this.state.data, - enums:this.props.app.enums, + enums: this.props.app.enums, setFieldVisible: (field, visible) => { this.setFieldVisible(field, visible, this) }, setFieldVisibleByBatch: (list) => { this.setFieldVisibleByBatch(list, this); }, setState: (data, callback) => { diff --git a/src/components/CustomPages/BI/BI009FormRunAnalysis.js b/src/components/CustomPages/BI/BI009FormRunAnalysis.js index c4e595d..5e56d7b 100644 --- a/src/components/CustomPages/BI/BI009FormRunAnalysis.js +++ b/src/components/CustomPages/BI/BI009FormRunAnalysis.js @@ -24,7 +24,7 @@ class BI009FormRunAnalysis extends React.Component { constructor(props) { super(props); this.state = { - tableTitle :"宁化行洛坑钨矿有限公司-", + tableTitle :"", selectStartTime: moment(this.getStartDate(), "YYYY-MM-DD 00:00:00"), selectEndTime: moment(this.getEndDate(), "YYYY-MM-DD 23:59:59"), visible: false, @@ -268,33 +268,33 @@ class BI009FormRunAnalysis extends React.Component { //加载数据赋值 loadData = () => { - this.getCompany(); + // this.getCompany(); this.getCount(); this.workTicket(); this.workTicket2(); this.mainJobPie2(); this.getBaseInfoData(); }; - getCompany = ()=> - { - let json = initFilter(this.props.login.OrgId); - extendRule(json, "PARENT_ID", 1, null); - extendRule(json, "DEPARTMENT_TYPE", 1, 3); - extendRule(json, "ENABLE_STATUS", 1, 0); - this.props.dispatch({ - type: "app/getDataByPost", - url: "FM/Department/Get", - payload: json, - onlyData: false, - onComplete: (ret) => { - if (ret && ret.Data) { - this.setState({ - tableTitle : ret.Data.NAME+"-" - }); - } - }, - }); - }; + // getCompany = ()=> + // { + // let json = initFilter(this.props.login.OrgId); + // extendRule(json, "PARENT_ID", 1, null); + // extendRule(json, "DEPARTMENT_TYPE", 1, 3); + // extendRule(json, "ENABLE_STATUS", 1, 0); + // this.props.dispatch({ + // type: "app/getDataByPost", + // url: "FM/Department/Get", + // payload: json, + // onlyData: false, + // onComplete: (ret) => { + // if (ret && ret.Data) { + // this.setState({ + // tableTitle : ret.Data.NAME+"-" + // }); + // } + // }, + // }); + // }; getDiffDay(date_1, date_2) { // 计算两个日期之间的差值 let totalDays, diffDate; @@ -1608,7 +1608,8 @@ class BI009FormRunAnalysis extends React.Component { }} > - {this.state.tableTitle}作业现场管理统计分析 + {/* {this.state.tableTitle} */} + 作业现场管理统计分析

diff --git a/src/components/CustomPages/FM/UserEditPage.js b/src/components/CustomPages/FM/UserEditPage.js index dd0805c..cb14934 100644 --- a/src/components/CustomPages/FM/UserEditPage.js +++ b/src/components/CustomPages/FM/UserEditPage.js @@ -720,6 +720,18 @@ class UserEditPage extends React.Component { )} + + + { onChange('BORN_DATE', dateString, 0) }} + /> + + {data.CODE} - {data.NAME} + {/* {data.NAME} */} {data.DISCLOSURE_DATE} {data.JOB_LOCATION} {data.Nav_User ? data.Nav_User.NAME : ''} diff --git a/src/components/CustomPages/FO/FO037ShowPrint.js b/src/components/CustomPages/FO/FO037ShowPrint.js index 6296fb5..3873198 100644 --- a/src/components/CustomPages/FO/FO037ShowPrint.js +++ b/src/components/CustomPages/FO/FO037ShowPrint.js @@ -109,7 +109,7 @@ class FO037ShowPrint extends React.Component {
{data.CODE} - {data.NAME} + {/* {data.NAME} */} {data.DISCLOSURE_DATE} {data.JOB_LOCATION} {data.Nav_User ? data.Nav_User.NAME : ''} diff --git a/src/components/CustomPages/FO/FO041ShowPrint.js b/src/components/CustomPages/FO/FO041ShowPrint.js index 74d8807..d779ee9 100644 --- a/src/components/CustomPages/FO/FO041ShowPrint.js +++ b/src/components/CustomPages/FO/FO041ShowPrint.js @@ -3,7 +3,7 @@ import { Button,Descriptions, Popconfirm, Row, Col, Form, Input, Select, Table } import React from 'react'; import { initFilter, extendRule, extendInclude,extendIgnoreDataRule, setDataFieldValue, guid, initQueryFilter,showFiles, GetFileModel,showUserSign } from "../../../utils/common"; import ReactToPrint from "react-to-print"; -import stylesStep from '../HI/StepForm.css'; +import styles from '../HI/StepForm.css'; import config from "../../../config"; import XLSX from 'xlsx'; import { connect } from 'dva'; @@ -14,7 +14,11 @@ class FO041ShowPrint extends React.Component { this.state = { data: null, enumData: null, - BtnAgreeDisplay: 'none' + BtnAgreeDisplay: 'none', + fileForm: { + title: "", + visible: false, + }, }; }; @@ -104,10 +108,10 @@ class FO041ShowPrint extends React.Component {
(this.componentRef = el)} style={{ padding: '20px' }} id={'tableId' + this.props.data.id} className="printDIV">

领导带班下井记录

- { - data ? + { + data?
- + {data.Nav_Company?.NAME} {data.Nav_ProductionUnit?.NAME} {data.CREATE_TIME} @@ -122,102 +126,111 @@ class FO041ShowPrint extends React.Component { {data.JOB_START_DATE} {data.JOB_END_DATE} {data.Nav_Class?.NAME} - {showFiles(data.Nav_Files, config.picServerHost, this)} - { - data && data.Nav_Details? - - + + - - - - - - - - - - - - - - { - data.Nav_Details && data.Nav_Details.map((item, i) => { - return - - - - {item2?.Nav_Area?.NAME} + + {data.PLACE} + { + data.Nav_Users && data.Nav_Users.map((item, i) => { + return item.Nav_User?.NAME + ' ' + }) + } + { + data.Nav_AfterUsers && data.Nav_AfterUsers.map((item, i) => { + return item.Nav_AfterUser?.NAME + ' ' + }) + + } + + + + { + data.Nav_Users && data.Nav_Users.map((item, i) => { + if (item.DEAL_STATUS == 1) { + showUserSign(item.Nav_User, config.picServerHost) + } }) - } - - - - - - - - - + + } + + { + data.Nav_AfterUsers && data.Nav_AfterUsers.map((item, i) => { + if (item.AFTER_USER_DEAL_STATUS == 1) { + showUserSign(item.Nav_AfterUser, config.picServerHost) + } + }) + } + {showFiles(data.Nav_Files, config.picServerHost, this)} + + { + data && data.Nav_Details? +
序号开始时间结束时间巡视区域现场情况描述发现问题处置措施附件现场责任人现场责任人签名交接事项
- {i + 1} - - {item.START_DATE} - - {item.END_DATE} - - { - item?.Nav_DetailAreas && item?.Nav_DetailAreas.map((item2, i) => { - return
- {item.DESCRIPTION} - - {item.QUESTION} - - {item.MEASURE} - - {showFiles(item.Nav_DetailFiles, config.picServerHost, this)} - - {item.Nav_User?.NAME} - - {item.USER_DEAL_STATUS == 1?showUserSign(item.Nav_User, config.picServerHost):item.Nav_User?.NAME} - - {item.ITEM} -
+ + + + + + + + + + + + + + + + { + data.Nav_Details && data.Nav_Details.map((item, i) => { + return + + + + -
序号开始时间结束时间巡视区域现场情况描述发现问题处置措施附件现场责任人现场责任人签名交接事项
+ {i + 1} + + {item.START_DATE} + + {item.END_DATE} + + { + item?.Nav_DetailAreas && item?.Nav_DetailAreas.map((item2, i) => { + return item2?.Nav_Area?.NAME +';' }) } -
: null - } - {data.PLACE} - { - data.Nav_PreUsers && data.Nav_PreUsers.map((item, i) => { - return item.Nav_PreUser?.NAME + ' ' - }) - } - { - data.Nav_PreUsers && data.Nav_PreUsers.map((item, i) => { - if (item.PRE_USER_DEAL_STATUS == 1) { - showUserSign(item.Nav_PreUser, config.picServerHost) - } - }) - - } - { - data.Nav_AfterUsers && data.Nav_AfterUsers.map((item, i) => { - return item.Nav_AfterUser?.NAME + ' ' - }) - - } - { - data.Nav_AfterUsers && data.Nav_AfterUsers.map((item, i) => { - if (item.AFTER_USER_DEAL_STATUS == 1) { - showUserSign(item.Nav_AfterUser, config.picServerHost) - } - }) - } -
-
: null - } -
+ + + {item.DESCRIPTION} + + + {item.QUESTION} + + + {item.MEASURE} + + + {showFiles(item.Nav_DetailFiles, config.picServerHost, this)} + + + {item.Nav_User?.NAME} + + + {item.USER_DEAL_STATUS == 1?showUserSign(item.Nav_User, config.picServerHost):null} + + + {item.ITEM} + + + }) + } + + : null + } + +
:null + } + } diff --git a/src/components/CustomPages/FO/FO043ShowPrint.js b/src/components/CustomPages/FO/FO043ShowPrint.js index 6c9b6e2..8d30fe2 100644 --- a/src/components/CustomPages/FO/FO043ShowPrint.js +++ b/src/components/CustomPages/FO/FO043ShowPrint.js @@ -3,18 +3,23 @@ import { Button,Descriptions, Popconfirm, Row, Col, Form, Input, Select, Table } import React from 'react'; import { initFilter, extendRule, extendInclude,extendIgnoreDataRule, setDataFieldValue, guid, initQueryFilter,showFiles, GetFileModel,showUserSign } from "../../../utils/common"; import ReactToPrint from "react-to-print"; -import stylesStep from '../HI/StepForm.css'; +import styles from '../HI/StepForm.css'; import config from "../../../config"; import XLSX from 'xlsx'; import { connect } from 'dva'; import moment from 'moment'; +import FormPage from '../../../components/FormPage' class FO043ShowPrint extends React.Component { constructor(props) { super(props); this.state = { data: null, enumData: null, - BtnAgreeDisplay: 'none' + BtnAgreeDisplay: 'none', + fileForm: { + title: "", + visible: false, + }, }; }; @@ -33,14 +38,14 @@ class FO043ShowPrint extends React.Component { onTableBtnAgree() { this.props.dispatch({ type: 'app/getDataByPost', - url: 'FO/FOLeaderWellRecord/PersonalAgree', + url: 'FO/FOFireJob/IdentityUpdate', payload: { ID: this.props.data.id, TaskID: this.props.data.TaskID, }, onComplete: (ret) => { if (ret) { - message.success('确认成功!'); + message.success('提交成功!'); this.setState({ BtnAgreeDisplay: 'none' }) this.BtnClose(); } @@ -60,7 +65,7 @@ class FO043ShowPrint extends React.Component { this.props.dispatch({ type: 'app/getDataByPost', payload: json, - url: 'FO/FOLeaderWellRecord/GetEdit', + url: 'FO/FOFireJob/GetEdit', onComplete: (ret) => { if (ret) { if(this.props.data && this.props.data.loadDataDeal) @@ -73,75 +78,212 @@ class FO043ShowPrint extends React.Component { }else{ 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() { 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") + XLSX.writeFile(wb, "动火作业工作票.xlsx") } render() { const { data } = this.state; + const enums = this.props.data.enums ? this.props.data.enums : this.props.app.enums; return
+ } content={() => this.componentRef} pageStyle=".printDIV { padding:0 40px;} img{width :120px}" /> - +
{/* */}
(this.componentRef = el)} style={{ padding: '20px' }} id={'tableId' + this.props.data.id} className="printDIV"> -

领导带班下井记录

+

动火作业工作票

{ data ?
- - {data.CODE} - {data.NAME} - {data.DISCLOSURE_DATE} - {data.JOB_LOCATION} - {data.Nav_User ? data.Nav_User.NAME : ''} - { - data.Nav_Person && data.Nav_Person.map((item, i) => { - if (i == (data.Nav_Person.length - 1)) { - if (item.DEAL_STATUS == 0) - return - else - return item.Nav_User?.NAME - } else { - if (item.DEAL_STATUS == 0) - return - else - return item.Nav_User?.NAME + ' ' - } - }) - } - {data.DisclosureContent} - { - (data.Nav_User && data.Nav_User.FILE_PATH)? - showUserSign(data.Nav_User, config.picServerHost):null + + {data.Nav_Company?.NAME} + {data.Nav_ProductionUnit?.NAME} + {data.CREATE_TIME} + + {data.Nav_ApplyDepartment?.NAME} + {data.Nav_ApplyUser?.NAME} + {data.CODE} + {data.Nav_OperationStep?.NAME} + {enums.HMOperationTaskAuditEnum.enums[data.AUDIT_LEVEL]} + {enums.SKEvaluateLevelEnum.enums[data.EVALUATE_LEVEL]} + {data.Nav_FireDepartment?.NAME} + {data.Nav_FireUser?.NAME} + {data.Nav_SafeUser?.NAME} + {data.Nav_Area?.NAME} + {data.JOB_CONTENT} + {data.Nav_Type?.NAME} + {data.JOB_CONTENT} + {data.Nav_MonitorUser?.NAME} + {data.JOB_DATE} + {data.JOB_END_DATE} + { data.Nav_Risks && data.Nav_Risks.map((item, i) => { + return item.RISK_NAME + ' ' + })} + {showFiles(data.Nav_Files, config.picServerHost, this)} + + {data.COMPLETED_CONDITION} + {enums.FOYesOrNoEnum.enums[data.IS_FIRE]} + {data.ACT_DATE} + {showFiles(data.Nav_FireFiles, config.picServerHost, this)} + {data.Nav_DispatchUser?.NAME} + { + + data.USER_DEAL_STATUS == 1? + showUserSign(data.Nav_FireUser, config.picServerHost) + :null } - { - data.Nav_Person && data.Nav_Person.map((item, i) => { - if (item.DEAL_STATUS == 1) { - showUserSign(item.Nav_User, config.picServerHost) - } - }) + { + + data.SAFE_DEAL_STATUS == 1? + showUserSign(data.Nav_SafeUser, config.picServerHost) + :null + + } + { + + data.DISPATCH_DEAL_STATUS == 1? + showUserSign(data.Nav_DispatchUser, config.picServerHost) + :null + + } + { + data.COMPLETED_CONTENT } + { + enums.FOYesOrNoEnum.enums[data.IS_LEAVE] + } + { + data.ACT_END_DATE + } + { + data.LEAVE_DATE + } + { + showFiles(data.Nav_MonitorFiles, config.picServerHost, this) + } + { + data.USER_DEAL_FINISH_STATUS == 1? + showUserSign(data.Nav_FireUser, config.picServerHost) + :null + } + { + data.SAFE_DEAL_FINISH_STATUS == 1? + showUserSign(data.Nav_SafeUser, config.picServerHost) + :null + } + + + { + data && data.Nav_Users? + + + + + + + + + + {/* */} + + { + data.Nav_Users && data.Nav_Users.map((item, i) => { + return + + + + + + {/* */} + + }) + } + +
序号作业人员类别姓名证书编号附件签名
+ {i + 1} + + {item.Nav_UserType?.NAME} + + {item.Nav_User?.NAME} + + {item.CERTIFICATE_CODE} + + {showFiles(item.Nav_UserFiles, config.picServerHost, this)} + + { item.DEAL_STATUS == 1? + showUserSign(item.Nav_User, config.picServerHost):null + } +
: null + } + { + data && data.Nav_Details? + + + + + + + + + + + { + data.Nav_Details && data.Nav_Details.map((item, i) => { + return + + + + + + + + }) + } + +
序号作业阶段作业流程及安全措施是否确认附件
+ {i + 1} + + {enums.FOJobStepEnum.enums[item.JOB_STEP]} + + {item.CONTENT} + + {item.IS_CONFIRM_NEW ? "是" : "否"} + {/* {enums.FOYesOrNoEnum.enums[item.IS_CONFIRM]} */} + + {showFiles(item.Nav_DetailFiles, config.picServerHost, this)} +
: null + } +
: null }
@@ -149,4 +291,4 @@ class FO043ShowPrint extends React.Component { } } -export default connect(({ login }) => ({ login }))(FO043ShowPrint) \ No newline at end of file +export default connect(({ login,app }) => ({ login,app }))(FO043ShowPrint) \ No newline at end of file diff --git a/src/components/CustomPages/FO/FO045ShowPrint.js b/src/components/CustomPages/FO/FO045ShowPrint.js index 77104cc..389c079 100644 --- a/src/components/CustomPages/FO/FO045ShowPrint.js +++ b/src/components/CustomPages/FO/FO045ShowPrint.js @@ -3,18 +3,23 @@ import { Button,Descriptions, Popconfirm, Row, Col, Form, Input, Select, Table } import React from 'react'; import { initFilter, extendRule, extendInclude,extendIgnoreDataRule, setDataFieldValue, guid, initQueryFilter,showFiles, GetFileModel,showUserSign } from "../../../utils/common"; import ReactToPrint from "react-to-print"; -import stylesStep from '../HI/StepForm.css'; +import styles from '../HI/StepForm.css'; import config from "../../../config"; import XLSX from 'xlsx'; import { connect } from 'dva'; import moment from 'moment'; +import FormPage from '../../../components/FormPage' class FO045ShowPrint extends React.Component { constructor(props) { super(props); this.state = { data: null, enumData: null, - BtnAgreeDisplay: 'none' + BtnAgreeDisplay: 'none', + fileForm: { + title: "", + visible: false, + }, }; }; @@ -33,14 +38,14 @@ class FO045ShowPrint extends React.Component { onTableBtnAgree() { this.props.dispatch({ type: 'app/getDataByPost', - url: 'FO/FOLeaderWellRecord/PersonalAgree', + url: 'FO/FOFireJobWb/IdentityUpdate', payload: { ID: this.props.data.id, TaskID: this.props.data.TaskID, }, onComplete: (ret) => { if (ret) { - message.success('确认成功!'); + message.success('提交成功!'); this.setState({ BtnAgreeDisplay: 'none' }) this.BtnClose(); } @@ -60,7 +65,7 @@ class FO045ShowPrint extends React.Component { this.props.dispatch({ type: 'app/getDataByPost', payload: json, - url: 'FO/FOLeaderWellRecord/GetEdit', + url: 'FO/FOFireJobWb/GetEdit', onComplete: (ret) => { if (ret) { if(this.props.data && this.props.data.loadDataDeal) @@ -73,75 +78,204 @@ class FO045ShowPrint extends React.Component { }else{ 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() { 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") + XLSX.writeFile(wb, "动火作业工作票(外包).xlsx") } render() { const { data } = this.state; + const enums = this.props.data.enums ? this.props.data.enums : this.props.app.enums; return
+ } content={() => this.componentRef} pageStyle=".printDIV { padding:0 40px;} img{width :120px}" /> - +
{/* */}
(this.componentRef = el)} style={{ padding: '20px' }} id={'tableId' + this.props.data.id} className="printDIV"> -

领导带班下井记录

+

动火作业工作票(外包)

{ data ?
- - {data.CODE} - {data.NAME} - {data.DISCLOSURE_DATE} - {data.JOB_LOCATION} - {data.Nav_User ? data.Nav_User.NAME : ''} - { - data.Nav_Person && data.Nav_Person.map((item, i) => { - if (i == (data.Nav_Person.length - 1)) { - if (item.DEAL_STATUS == 0) - return - else - return item.Nav_User?.NAME - } else { - if (item.DEAL_STATUS == 0) - return - else - return item.Nav_User?.NAME + ' ' - } - }) - } - {data.DisclosureContent} - { - (data.Nav_User && data.Nav_User.FILE_PATH)? - showUserSign(data.Nav_User, config.picServerHost):null - + + {data.Nav_Company?.NAME} + {data.Nav_ProductionUnit?.NAME} + {data.CREATE_TIME} + + {data.Nav_ApplyDepartment?.NAME} + {data.Nav_ApplyUser?.NAME} + {data.CODE} + {data.Nav_OperationStep?.NAME} + {enums.HMOperationTaskAuditEnum.enums[data.AUDIT_LEVEL]} + {enums.SKEvaluateLevelEnum.enums[data.EVALUATE_LEVEL]} + {data.Nav_Related?.NAME} + {data.USER_NAME} + {data.USER_PHONE} + {data.SAFE_USER_NAME} + {data.SAFE_USER_PHONE} + {data.Nav_Area?.NAME} + {data.JOB_CONTENT} + {data.Nav_Type?.NAME} + {data.JOB_CONTENT} + {data.Nav_MonitorUser?.NAME} + {data.JOB_DATE} + {data.JOB_END_DATE} + { data.Nav_Risks && data.Nav_Risks.map((item, i) => { + return item.RISK_NAME + ' ' + })} + {showFiles(data.Nav_Files, config.picServerHost, this)} + + {data.COMPLETED_CONDITION} + {enums.FOYesOrNoEnum.enums[data.IS_FIRE]} + {data.ACT_DATE} + {showFiles(data.Nav_FireFiles, config.picServerHost, this)} + + { + data.USER_DEAL_STATUS == 1 && data.Nav_FireUser[0] && data.Nav_FireUser[0].Nav_ImgFile? + + :null } - { - data.Nav_Person && data.Nav_Person.map((item, i) => { - if (item.DEAL_STATUS == 1) { - showUserSign(item.Nav_User, config.picServerHost) - } - }) + { + + data.SAFE_DEAL_STATUS == 1 && data.Nav_SafeUser[0] && data.Nav_SafeUser[0].Nav_ImgFile? + + :null + + } + { + data.COMPLETED_CONTENT } + { + enums.FOYesOrNoEnum.enums[data.IS_LEAVE] + } + { + data.ACT_END_DATE + } + { + data.LEAVE_DATE + } + { + showFiles(data.Nav_MonitorFiles, config.picServerHost, this) + } + { + data.USER_DEAL_FINISH_STATUS == 1 && data.Nav_FireUser[0] && data.Nav_FireUser[0].Nav_ImgFile? + + :null + } + { + data.SAFE_DEAL_FINISH_STATUS == 1 && data.Nav_SafeUser[0] && data.Nav_SafeUser[0].Nav_ImgFile? + + :null + } + + + { + data && data.Nav_Users? + + + + + + + + + + {/* */} + + { + data.Nav_Users && data.Nav_Users.map((item, i) => { + return + + + + + + {/* */} + + }) + } + +
序号作业人员类别姓名证书编号附件签名
+ {i + 1} + + {item.Nav_UserType?.NAME} + + {item.Nav_User?.NAME} + + {item.CERTIFICATE_CODE} + + {showFiles(item.Nav_UserFiles, config.picServerHost, this)} + + { item.DEAL_STATUS == 1? + showUserSign(item.Nav_User, config.picServerHost):null + } +
: null + } + { + data && data.Nav_Details? + + + + + + + + + + + { + data.Nav_Details && data.Nav_Details.map((item, i) => { + return + + + + + + + + }) + } + +
序号作业阶段作业流程及安全措施是否确认附件
+ {i + 1} + + {enums.FOJobStepEnum.enums[item.JOB_STEP]} + + {item.CONTENT} + + {item.IS_CONFIRM_NEW ? "是" : "否"} + {/* {enums.FOYesOrNoEnum.enums[item.IS_CONFIRM]} */} + + {showFiles(item.Nav_DetailFiles, config.picServerHost, this)} +
: null + }
: null }
@@ -149,4 +283,4 @@ class FO045ShowPrint extends React.Component { } } -export default connect(({ login }) => ({ login }))(FO045ShowPrint) \ No newline at end of file +export default connect(({ login,app }) => ({ login,app }))(FO045ShowPrint) \ No newline at end of file diff --git a/src/components/Table/ListPage.js b/src/components/Table/ListPage.js index fc4fbf3..fb09a2e 100644 --- a/src/components/Table/ListPage.js +++ b/src/components/Table/ListPage.js @@ -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) => { if (this.state.loadDataFunc) { if (!this.state.loadDataFunc.length) { diff --git a/src/components/common/MultiSelectPagination.js b/src/components/common/MultiSelectPagination.js index f7ceb21..783628a 100644 --- a/src/components/common/MultiSelectPagination.js +++ b/src/components/common/MultiSelectPagination.js @@ -462,8 +462,7 @@ class MultiSelectPagination extends React.Component { this.setState({ value: stateValue, searchKey: "" - //fetching: false, - }, () => this.initFilterJson("", 1)); + }); let retVal = this.getDataValue(stateValue); this.state.baseNav.forEach(db => { const index = stateValue.findIndex(i => i.key == db[this.state.saveId]); diff --git a/src/feui/search/index.js b/src/feui/search/index.js index e07b7ef..f1e9ce2 100644 --- a/src/feui/search/index.js +++ b/src/feui/search/index.js @@ -3,6 +3,7 @@ import React from 'react' import { connect } from 'dva' // 组件库 import { Tabs } from 'antd' +import storage from '../utils/storage' import AdvanceSearch from './AdvanceSearch' import SearchGroupField from './SearchGroupField' 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) => { const { filterList } = this.state if (filterList.length <= 1) { diff --git a/src/files/edit/FOO035.js b/src/files/edit/FO035.js similarity index 100% rename from src/files/edit/FOO035.js rename to src/files/edit/FO035.js diff --git a/src/files/edit/FO039.js b/src/files/edit/FO039.js new file mode 100644 index 0000000..de1bee1 --- /dev/null +++ b/src/files/edit/FO039.js @@ -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) + } + } + } +} +} \ No newline at end of file diff --git a/src/files/edit/FO043.js b/src/files/edit/FO043.js new file mode 100644 index 0000000..f2ffa80 --- /dev/null +++ b/src/files/edit/FO043.js @@ -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); + } + } + }) + }, +} diff --git a/src/files/edit/SK006.js b/src/files/edit/SK006.js index 841fe7b..4831e12 100644 --- a/src/files/edit/SK006.js +++ b/src/files/edit/SK006.js @@ -135,6 +135,10 @@ export default { onComplete: (re) => { if (re && re.IsSuccessful && re.Data) { let temps = []; + let rets=re.Data?.map((item,i)=>{ + item['ROW_NO'] = i+1; + return item; + }); temps.push({ field: 'Nav_CheckNoticeDetails', value: re.Data }) setFieldValueByBatch(temps); // stateData.Nav_CheckNoticeDetails = re.Data diff --git a/src/files/list/SK058.js b/src/files/list/SK058.js index 4dc5216..1642ef1 100644 --- a/src/files/list/SK058.js +++ b/src/files/list/SK058.js @@ -1,40 +1,57 @@ 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 FormPage from '../../components/FormPage'; 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} */ // 编辑 export default { - btnSaveNotice: ({params,row,loadData, pageCode,close, record, dispatch,colInfo,login, stateData, clearSelectedRowKeys, saveRowRecord,setFieldValueByBatch, getSelectedRecords }) => { - let DetailCheck = getSelectedRecords(); - 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, + btnSaveNotice: ({ params, row, loadData, pageCode, close, record, dispatch, colInfo, login, stateData, getSelectedRowKeys, clearSelectedRowKeys, saveRowRecord, setFieldValueByBatch, getSelectedRecords }) => { + let selectedKeys = getSelectedRowKeys(); + let filter = initFilter(); + let filterGroup = initFilterGroup(false); + selectedKeys.forEach((item) => { + extendGroupRule(filterGroup, "ID", 1, item); + }) + filter.FilterGroup = filterGroup; + dispatch({ + type: 'app/getDataByPost', + url: 'SK/CheckContents/Entities', + 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) { + message.error('请选择要导入的内容'); + } else { + login.tempContents = temps + clearSelectedRowKeys(); + } + } + else { + message.error('请选择要导入的内容'); + } } - temps.push(tmpData); - }); - - if(!temps||temps.length==0){ - message.error('请选择要导入的内容'); - }else - { - login.tempContents=temps - clearSelectedRowKeys(); - // loadData(); - // close(); } - } - else{ - message.error('请选择要导入的内容'); - } + }); + }, } diff --git a/src/utils/customConfig.js b/src/utils/customConfig.js index 7b07a2a..fdeca64 100644 --- a/src/utils/customConfig.js +++ b/src/utils/customConfig.js @@ -156,7 +156,7 @@ const BI002HomeDetail = createLoadableComponent(() => import('../components/Cust // const BI054HomeDetail = createLoadableComponent(() => import('../components/CustomPages/BI/BI054HomeDetail')) // const BI055HomeDetail = createLoadableComponent(() => import('../components/CustomPages/BI/BI055HomeDetail')) // 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 BI006FormRunAnalysisNew = createLoadableComponent(() => import('../components/CustomPages/BI/BI006FormRunAnalysisNew')) // 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 BI012NotificationTaskAnalysis = createLoadableComponent(() => import('../components/CustomPages/BI/BI012NotificationTaskAnalysis')) // 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 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_2 = createLoadableComponent(() => import('../components/CustomPages/BI/BI056Dilg3_2')) // 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 BI012FormRunAnalysis = createLoadableComponent(() => import('../components/CustomPages/BI/BI012FormRunAnalysis')) +const BI012FormRunAnalysis = createLoadableComponent(() => import('../components/CustomPages/BI/BI012FormRunAnalysis')) const PF136FormRunAnalysis = createLoadableComponent(() => import('../components/CustomPages/PF/PF136FormRunAnalysis')) const PF139FormRunAnalysis = createLoadableComponent(() => import('../components/CustomPages/PF/PF139FormRunAnalysis')) @@ -392,7 +392,7 @@ export default function (componentName, formId, formParam, data, formCode, formD BI001HomeDetail: , // BI002HomeDetail: , // BI004FormRunAnalysis: , - // BI005LoginRecord: , + BI005LoginRecord: , // BI006FormRunAnalysis: , // BI006FormRunAnalysisNew: , // BI007FormRunAnalysis: , @@ -405,13 +405,13 @@ export default function (componentName, formId, formParam, data, formCode, formD // BI012NotificationTaskAnalysis: , // BI013RiskAnalysisModel: , BI014RiskPerformanceModel: , - // BI030FormRunAnalysis: , + BI030FormRunAnalysis: , // BI060MapeShow: , // BI060MapePoint: , // BI061MapeGISShow: , BI009FormRunAnalysis: , - // BI020ApproveAnalysis: , - // BI012FormRunAnalysis: , + BI020ApproveAnalysis: , + BI012FormRunAnalysis: , PF136FormRunAnalysis: , PF139FormRunAnalysis: , FO025ShowPrint: ,