From fdb9badd88159ced138dadaaf769c8bc62562c79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=BE=8E=E8=8D=A3?= <10755671+mei-rong-he@user.noreply.gitee.com> Date: Fri, 14 Nov 2025 00:11:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E7=8E=B0=E5=9C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CustomPages/FO/FO035ShowPrint.js | 158 ++++++++++++++++++ .../CustomPages/FO/FO037ShowPrint.js | 158 ++++++++++++++++++ .../CustomPages/FO/FO041ShowPrint.js | 153 +++++++++++++++++ src/files/edit/FO041.js | 37 ++++ src/files/edit/FOO035.js | 35 ++++ src/files/edit/SK006.js | 7 +- src/utils/customConfig.js | 10 ++ 7 files changed, 557 insertions(+), 1 deletion(-) create mode 100644 src/components/CustomPages/FO/FO035ShowPrint.js create mode 100644 src/components/CustomPages/FO/FO037ShowPrint.js create mode 100644 src/components/CustomPages/FO/FO041ShowPrint.js create mode 100644 src/files/edit/FO041.js create mode 100644 src/files/edit/FOO035.js diff --git a/src/components/CustomPages/FO/FO035ShowPrint.js b/src/components/CustomPages/FO/FO035ShowPrint.js new file mode 100644 index 0000000..a53d47d --- /dev/null +++ b/src/components/CustomPages/FO/FO035ShowPrint.js @@ -0,0 +1,158 @@ +import { message } from "antd/lib/index"; +import { Button,Descriptions, Popconfirm, Row, Col, Form, Input, Select, Table } from 'antd'; +import React from 'react'; +import { initFilter, extendRule, extendInclude,extendIgnoreDataRule, setDataFieldValue, guid, initQueryFilter,showUserSign } from "../../../utils/common"; +import ReactToPrint from "react-to-print"; +import stylesStep from '../HI/StepForm.css'; +import config from "../../../config"; +import XLSX from 'xlsx'; +import { connect } from 'dva'; +import moment from 'moment'; +class FO035ShowPrint extends React.Component { + constructor(props) { + super(props); + this.state = { + data: null, + enumData: null, + BtnAgreeDisplay: 'none' + }; + }; + + componentDidMount() { + if (this.props.data?.id) + this.loadData(this.props.data?.id); + } + + componentWillReceiveProps(NextProps) { + if (NextProps.data?.id && this.props.data?.id != NextProps.data?.id) { + this.loadData(NextProps.data?.id); + } + } + + + onTableBtnAgree() { + this.props.dispatch({ + type: 'app/getDataByPost', + url: 'FO/FOTechDisclosureFromTech/PersonalAgree', + payload: { + ID: this.props.data.id, + TaskID: this.props.data.TaskID, + }, + onComplete: (ret) => { + if (ret) { + message.success('确认成功!'); + this.setState({ BtnAgreeDisplay: 'none' }) + this.BtnClose(); + } + } + }) + } + + BtnClose = () => { + if (typeof this.props.data.onCancel != "undefined"&&typeof this.props.data.onCancel == 'function') + this.props.data.onCancel(); + } + + loadData = (dataId) => { + let json = initFilter(this.props.login.OrgId); + extendRule(json, 'ID', 1, dataId); + extendIgnoreDataRule(json) + this.props.dispatch({ + type: 'app/getDataByPost', + payload: json, + url: 'FO/FOTechDisclosureFromTech/GetEdit', + onComplete: (ret) => { + if (ret) { + if(this.props.data && this.props.data.loadDataDeal) + { + this.props.data.loadDataDeal(1); + } + this.setState({ data: ret }) + if (this.props.data.tableKey=="2" ||this.props.data.tableKey==undefined) { + this.setState({ BtnAgreeDisplay: 'none' }) + }else{ + this.setState({ BtnAgreeDisplay: 'inline' }) + } + } + else + { message.error('请先尝试刷新,若仍然加载失败,请联系管理员排查!');} + } + }); + } + + 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") + } + + render() { + const { data } = this.state; + 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_User?.NAME} + // :data.Nav_User?.NAME + } + { + data.Nav_Person && data.Nav_Person.map((item, i) => { + if (item.DEAL_STATUS == 1) { + showUserSign(item.Nav_User, config.picServerHost) + // if (item.Nav_User != null && item.Nav_User.FILE_PATH != null) + // return {item.Nav_User?.NAME} + // else + // return + } + }) + } + +
: null + } +
+
+ } + +} +export default connect(({ login }) => ({ login }))(FO035ShowPrint) \ No newline at end of file diff --git a/src/components/CustomPages/FO/FO037ShowPrint.js b/src/components/CustomPages/FO/FO037ShowPrint.js new file mode 100644 index 0000000..73869af --- /dev/null +++ b/src/components/CustomPages/FO/FO037ShowPrint.js @@ -0,0 +1,158 @@ +import { message } from "antd/lib/index"; +import { Button,Descriptions, Popconfirm, Row, Col, Form, Input, Select, Table } from 'antd'; +import React from 'react'; +import { initFilter, extendRule, extendInclude,extendIgnoreDataRule, setDataFieldValue, guid, initQueryFilter,showUserSign } from "../../../utils/common"; +import ReactToPrint from "react-to-print"; +import stylesStep from '../HI/StepForm.css'; +import config from "../../../config"; +import XLSX from 'xlsx'; +import { connect } from 'dva'; +import moment from 'moment'; +class FO037ShowPrint extends React.Component { + constructor(props) { + super(props); + this.state = { + data: null, + enumData: null, + BtnAgreeDisplay: 'none' + }; + }; + + componentDidMount() { + if (this.props.data?.id) + this.loadData(this.props.data?.id); + } + + componentWillReceiveProps(NextProps) { + if (NextProps.data?.id && this.props.data?.id != NextProps.data?.id) { + this.loadData(NextProps.data?.id); + } + } + + + onTableBtnAgree() { + this.props.dispatch({ + type: 'app/getDataByPost', + url: 'FO/FOTechDisclosureFromSafe/PersonalAgree', + payload: { + ID: this.props.data.id, + TaskID: this.props.data.TaskID, + }, + onComplete: (ret) => { + if (ret) { + message.success('确认成功!'); + this.setState({ BtnAgreeDisplay: 'none' }) + this.BtnClose(); + } + } + }) + } + + BtnClose = () => { + if (typeof this.props.data.onCancel != "undefined"&&typeof this.props.data.onCancel == 'function') + this.props.data.onCancel(); + } + + loadData = (dataId) => { + let json = initFilter(this.props.login.OrgId); + extendRule(json, 'ID', 1, dataId); + extendIgnoreDataRule(json) + this.props.dispatch({ + type: 'app/getDataByPost', + payload: json, + url: 'FO/FOTechDisclosureFromSafe/GetEdit', + onComplete: (ret) => { + if (ret) { + if(this.props.data && this.props.data.loadDataDeal) + { + this.props.data.loadDataDeal(1); + } + this.setState({ data: ret }) + if (this.props.data.tableKey=="2" ||this.props.data.tableKey==undefined) { + this.setState({ BtnAgreeDisplay: 'none' }) + }else{ + this.setState({ BtnAgreeDisplay: 'inline' }) + } + } + else + { message.error('请先尝试刷新,若仍然加载失败,请联系管理员排查!');} + } + }); + } + + 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") + } + + render() { + const { data } = this.state; + 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_User?.NAME} + // :data.Nav_User?.NAME + } + { + data.Nav_Person && data.Nav_Person.map((item, i) => { + if (item.DEAL_STATUS == 1) { + showUserSign(item.Nav_User, config.picServerHost) + // if (item.Nav_User != null && item.Nav_User.FILE_PATH != null) + // return {item.Nav_User?.NAME} + // else + // return + } + }) + } + +
: null + } +
+
+ } + +} +export default connect(({ login }) => ({ login }))(FO037ShowPrint) \ No newline at end of file diff --git a/src/components/CustomPages/FO/FO041ShowPrint.js b/src/components/CustomPages/FO/FO041ShowPrint.js new file mode 100644 index 0000000..b01ea89 --- /dev/null +++ b/src/components/CustomPages/FO/FO041ShowPrint.js @@ -0,0 +1,153 @@ +import { message } from "antd/lib/index"; +import { Button,Descriptions, Popconfirm, Row, Col, Form, Input, Select, Table } from 'antd'; +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 config from "../../../config"; +import XLSX from 'xlsx'; +import { connect } from 'dva'; +import moment from 'moment'; +class FO041ShowPrint extends React.Component { + constructor(props) { + super(props); + this.state = { + data: null, + enumData: null, + BtnAgreeDisplay: 'none' + }; + }; + + componentDidMount() { + if (this.props.data?.id) + this.loadData(this.props.data?.id); + } + + componentWillReceiveProps(NextProps) { + if (NextProps.data?.id && this.props.data?.id != NextProps.data?.id) { + this.loadData(NextProps.data?.id); + } + } + + + onTableBtnAgree() { + this.props.dispatch({ + type: 'app/getDataByPost', + url: 'FO/FOLeaderWellRecord/PersonalAgree', + payload: { + ID: this.props.data.id, + TaskID: this.props.data.TaskID, + }, + onComplete: (ret) => { + if (ret) { + message.success('确认成功!'); + this.setState({ BtnAgreeDisplay: 'none' }) + this.BtnClose(); + } + } + }) + } + + BtnClose = () => { + if (typeof this.props.data.onCancel != "undefined"&&typeof this.props.data.onCancel == 'function') + this.props.data.onCancel(); + } + + loadData = (dataId) => { + let json = initFilter(this.props.login.OrgId); + extendRule(json, 'ID', 1, dataId); + extendIgnoreDataRule(json) + this.props.dispatch({ + type: 'app/getDataByPost', + payload: json, + url: 'FO/FOLeaderWellRecord/GetEdit', + onComplete: (ret) => { + if (ret) { + if(this.props.data && this.props.data.loadDataDeal) + { + this.props.data.loadDataDeal(1); + } + this.setState({ data: ret }) + if (this.props.data.tableKey=="2" ||this.props.data.tableKey==undefined) { + this.setState({ BtnAgreeDisplay: 'none' }) + }else{ + this.setState({ BtnAgreeDisplay: 'inline' }) + } + } + else + { message.error('请先尝试刷新,若仍然加载失败,请联系管理员排查!');} + } + }); + } + + 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") + } + + render() { + const { data } = this.state; + 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_Person && data.Nav_Person.map((item, i) => { + if (item.DEAL_STATUS == 1) { + showUserSign(item.Nav_User, config.picServerHost) + } + }) + } + +
: null + } +
+
+ } + +} +export default connect(({ login }) => ({ login }))(FO041ShowPrint) \ No newline at end of file diff --git a/src/files/edit/FO041.js b/src/files/edit/FO041.js new file mode 100644 index 0000000..2071f7a --- /dev/null +++ b/src/files/edit/FO041.js @@ -0,0 +1,37 @@ +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, 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); + } + } + }); + } + } +} diff --git a/src/files/edit/FOO035.js b/src/files/edit/FOO035.js new file mode 100644 index 0000000..0efbc2a --- /dev/null +++ b/src/files/edit/FOO035.js @@ -0,0 +1,35 @@ +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, setFieldVisible,setFieldValue,setFieldValueByBatch }) => { + if (isNew) { + let json = initFilter(login.OrgId); + extendRule(json, "ID", 1, login.userId); + extendInclude(json, 'Nav_Department'); + dispatch({ + type: 'app/getDataByPost', + url: 'FM/User/Get', + payload: json, + onComplete: (ret) => { + if (ret) { + let temps = []; + temps.push({ field: 'USER_ID', value: ret.ID}) + temps.push({ field: 'Nav_User.NAME', value: ret.NAME }) + temps.push({ field: 'DEPARTMENT_ID', value: ret.DEPARTMENT_ID}) + temps.push({ field: 'Nav_Department.NAME', value: ret.Nav_Department?.NAME }) + setFieldValueByBatch(temps); + } + } + }); + } + } +} diff --git a/src/files/edit/SK006.js b/src/files/edit/SK006.js index a6b61cf..f45fde6 100644 --- a/src/files/edit/SK006.js +++ b/src/files/edit/SK006.js @@ -216,7 +216,12 @@ btnSubContents: ({row, srcRecord,getSelectedRecords,record,saveRowRecord,colInfo payload: stateData, onlyData: false, onComplete: (re) => { - if (re && re.IsSuccessful && re.Data) { + if(re && re.ErrorMessage) + { + message.error(re.ErrorMessage) + return + } + else if (re && re.IsSuccessful && re.Data) { stateData.Nav_CheckNoticeDetails = re.Data saveRowRecord({ record: stateData, editCode: "T_SK_SECURITY_INSPECTION_NOTICE_DETAIL" }) } diff --git a/src/utils/customConfig.js b/src/utils/customConfig.js index 02a90b0..2c57814 100644 --- a/src/utils/customConfig.js +++ b/src/utils/customConfig.js @@ -97,6 +97,11 @@ const FO015ShowPrint = createLoadableComponent(() => import('../components/Custo const FO008ShowPrint = createLoadableComponent(() => import('../components/CustomPages/FO/FO008ShowPrint')) const FO021EditPage = createLoadableComponent(() => import('../components/CustomPages/FO/FO021EditPage')) const FO019ShowPrint = createLoadableComponent(() => import('../components/CustomPages/FO/FO019ShowPrint')) +const FO035ShowPrint = createLoadableComponent(() => import('../components/CustomPages/FO/FO035ShowPrint')) +const FO037ShowPrint = createLoadableComponent(() => import('../components/CustomPages/FO/FO037ShowPrint')) +const FO041ShowPrint = createLoadableComponent(() => import('../components/CustomPages/FO/FO041ShowPrint')) +const FO043ShowPrint = createLoadableComponent(() => import('../components/CustomPages/FO/FO043ShowPrint')) +const FO045ShowPrint = createLoadableComponent(() => import('../components/CustomPages/FO/FO045ShowPrint')) const PreMeetingTask = createLoadableComponent(() => import('../components/CustomPages/Mobile/PreMeetingTask')) const PreOperSchTask = createLoadableComponent(() => import('../components/CustomPages/Mobile/PreOperSchTask')) @@ -301,6 +306,11 @@ export default function (componentName, formId, formParam, data, formCode, formD FO022ShowPrint: , FO021EditPage: , FO015ShowPrint: , + FO035ShowPrint: , + FO037ShowPrint: , + FO041ShowPrint: , + FO043ShowPrint: , + FO045ShowPrint: , HM104ShowPrint: , HM087ShowPrint: ,