import { Checkbox, message, Radio } from "antd/lib/index"; import { Button, Descriptions, Badge, Popconfirm, Row, Col, Form, Input, Select, Table } from 'antd'; import React from 'react'; import { initFilter, extendRule, extendInclude, extendIgnoreDataRule, setDataFieldValue, guid, initQueryFilter, showFiles, showApprove, showUserSign, showUsersSign } from "../../../utils/common"; import { ExportToExcel } from '@woowalker/feui' import styles from '../HI/StepForm.css'; import ReactToPrint from "react-to-print"; import moment from 'moment'; import config from "../../../config.js"; import XLSX from 'xlsx'; import { connect } from 'dva'; import FormPage from '../../FormPage' class SC030ShowPrint extends React.Component { constructor(props) { super(props); this.state = { data: null, item: null, btndisplay: 'none', isTaskSign: false, //是否待办 审批 JOINRESULT: 0, //10 参加 20 请假 NOTJOINREASON: '',//请假原因 isHasOpinion: false,//会议意见库 isMinutesDetail: false,//会议纪要落实 listSign: []//会议签到 } } 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); } } onTableBtnExport() { // let TableWrap = document.getElementById('table1' + this.props.record.ID); let TableWrap = document.getElementById('table1'); let Table = TableWrap.getElementsByTagName('table1')[0]; const wb = XLSX.utils.table_to_book(Table); XLSX.writeFile(wb, this.props.record.Nav_Department.NAME + ".xlsx") } onClickApprove = (appVisible) => { const newtmpData = { data: { id: this.props.data.id, isShow: true, key: guid(), param: this.props.data.param, appVisible: appVisible, BtnAgreeDisplay: 'none' }, formCode: "PF123", } this.setState({ tmpData: newtmpData, }); } //审批意见 改变 NOTJOINREASONCHANGE = (val) => { this.state.NOTJOINREASON = val } //请假/参加 sign = () => { let json = initFilter(this.props.login.OrgId, this.props.data.id, null, null, null, this.props.data.TaskID); extendIgnoreDataRule(json) this.props.dispatch({ type: 'app/getDataByPost', payload: json, url: 'SC/SCMtMeetingMinutes/MeetingMinutesSign', onComplete: (ret) => { if (ret) { this.props.data.onCancel(); } } }); } //请假/参加 sureCheck = (val) => { if (val && val == 20 && (this.state.NOTJOINREASON == undefined || this.state.NOTJOINREASON == null || this.state.NOTJOINREASON.length < 1)) { message.error("请填写请假备注!"); return false } let json = initFilter(this.props.login.OrgId, this.props.data.id, null, null, null, this.props.data.TaskID, val, this.state.NOTJOINREASON); extendIgnoreDataRule(json) this.props.dispatch({ type: 'app/getDataByPost', payload: json, url: 'SC/SCMTMeeting/PAllCheck', onComplete: (ret) => { if (ret) { this.props.data.onCancel(); } } }); } //加载数据(传过来的参数都在props里面,包括登录信息) loadData = (id) => { var taskID = this.props.data.TaskID var loginID = this.props.login.user.ID var orgId = this.props.login ? this.props.login.OrgId : ''; //登录后有存储登录信息 let json = initFilter(orgId); extendRule(json, 'ID', 1, id); //ID=‘’,字段,等于,条件值, 1代表=,2代表不等于,3小于,4小于等于,5大于,6大于等于,7以开始的Like,8以结束的Like,9包含 extendInclude(json, 'Nav_Meeting'); extendInclude(json, 'Nav_ListPReview.Nav_User'); // extendInclude(json, 'Nav_ListPReview'); // extendInclude(json, 'Nav_ListPReview.Nav_User.Nav_Person.Nav_Post'); // extendInclude(json, 'Nav_ListPReview.Nav_User.Nav_Department.Nav_Parent'); extendInclude(json, 'Nav_ListMinutesDetail.Nav_UserDeal'); extendInclude(json, 'Nav_ListMinutesDetail.Nav_DepartmentDeal'); extendInclude(json, 'Nav_ListMinutesDetail.Nav_Files.Nav_ImgFile.Nav_File'); extendInclude(json, 'Nav_Meeting.Nav_Department'); extendInclude(json, 'Nav_Meeting.Nav_UserHost'); extendInclude(json, 'Nav_Meeting.Nav_UserRecorder'); extendInclude(json, 'Nav_ListPAskForLeave.Nav_User'); extendInclude(json, 'Nav_ListPAbsence.Nav_User'); extendInclude(json, 'Nav_Files.Nav_ImgFile.Nav_File'); // extendInclude(json, 'Nav_ListPJoin.Nav_User.Nav_Person.Nav_Post'); // extendInclude(json, 'Nav_ListPJoin.Nav_User.Nav_Department.Nav_Parent'); extendInclude(json, 'Nav_ListPJoin.Nav_User.Nav_UserSignFiles.Nav_ImgFile.Nav_File'); extendInclude(json, 'Nav_Approve.Nav_ApproveDetails.Nav_ApproveUser.Nav_UserSignFiles.Nav_ImgFile.Nav_File'); extendInclude(json, 'Nav_ListContent.Nav_Content.Nav_ContentName'); extendInclude(json, 'Nav_ListContent.Nav_Content.Nav_ListContentDeal');//.Nav_ListContentDeal.CONTENTDETAIL extendInclude(json, 'Nav_ListContent.Nav_ListContentDeal.Nav_ContentDeal');//.CONTENT_DEAL_ID extendIgnoreDataRule(json) let attendanceAry = [], leaveAry = []; let that = this; let btndisplay = 'none'; this.props.dispatch({ type: 'app/getDataByPost', payload: json, url: 'SC/SCMtMeetingMinutes/Get', onComplete: (ret) => { //返回查询结果ret if (ret) { //判断是否有记录 var isTaskSign = false var isHasOpinion = false var isMinutesDetail = false if (this.props.data.tableKey != undefined && this.props.data.tableKey != "2") { isTaskSign = true } if (ret.STATUS == 10 && taskID != undefined && taskID.length > 0) { for (let i = 0; i < ret.Nav_ListPJoin.length; i++) { if (ret.Nav_ListPJoin[i].USER_ID == loginID && ret.Nav_ListPJoin[i].ISRECORDRED == false) { isTaskSign = true break } } if (!isTaskSign && ret.Nav_ListPReview != null && ret.Nav_ListPReview.length > 0) { for (let i = 0; i < ret.Nav_ListPReview.length; i++) { if (ret.Nav_ListPReview[i].USER_ID == loginID && ret.Nav_ListPReview[i].ISRECORDRED == false) { isTaskSign = true break } } } } if (ret.Nav_ListContent != null && ret.Nav_ListContent.length > 0) { for (let j = 0; j < ret.Nav_ListContent.length; j++) { if (!isHasOpinion && ret.Nav_ListContent[j].Nav_Content.Nav_ListContentDeal != null && ret.Nav_ListContent[j].Nav_Content.Nav_ListContentDeal.length > 0) { isHasOpinion = true } } } if (ret.Nav_ListMinutesDetail != null && ret.Nav_ListMinutesDetail.length > 0) { isMinutesDetail = true } var listSign = [] if (ret.Nav_ListPJoin != undefined && ret.Nav_ListPJoin.length > 0) { ret.Nav_ListPJoin.forEach(element => { if (element.ISRECORDRED != undefined && element.ISRECORDRED == true) { listSign.push(element)//element.Nav_User } }); } this.setState({ //设置setState全局变量 data: ret, //将ret对象赋值给data, data供页面调用 isTaskSign: isTaskSign,// isTaskSign//有taskID 状态 审核完成 登陆者 属于参会人 isHasOpinion: isHasOpinion,//有会议意见 isMinutesDetail: isMinutesDetail,//会议纪要落实 listSign: listSign//会议签到 }) } } }); } //渲染页面 render() { const { data, isTaskSign, isMinutesDetail, isHasOpinion, listSign } = this.state; return
{isTaskSign ? : null}
} content={() => this.componentRef} />
{/* 安全检查 */}
(this.componentRef = el)} style={{ padding: '20px', paddingTop: '20px' }} id={'tableId' + this.props.data.id}> {/*

会议纪要

*/}

会议纪要

{ data ?
{data.Nav_Meeting.THEME} {data.Nav_Meeting.CODE} {/* {data.Nav_Meeting.BEGIN_TIME} */} {data.Nav_Meeting.Nav_Department.NAME} {data.Nav_Meeting.Nav_UserHost.NAME} {data.Nav_Meeting.Nav_UserRecorder.NAME} {data.Nav_Meeting.BEGIN_TIME} {data.Nav_Meeting.ADDRESS} { data.Nav_Meeting.MEETINGTYPE == 20 ? {data.RESOLUTION} : ( data.Nav_Meeting.MEETINGTYPE == 30 ? {data.RESOLUTION} : ( data.Nav_Meeting.MEETINGTYPE == 10 ? {data.RESOLUTION} : null ) ) } {data.MEETINGRECORD} { showFiles(data.Nav_Files, config.picServerHost) } { data?.Nav_ListPAskForLeave.map((item, i) => { return (i > 0 ? "," : "") + item.Nav_User.NAME }) } {data?.Nav_ListPAbsence.map((item, i) => { return (i > 0 ? "," : "") + item.Nav_User.NAME }) } {data?.Nav_ListPJoin.map((item, i) => { return ( {(i > 0 ? "," : "") + item.Nav_User.NAME}) }) } {/* extendInclude(json, 'Nav_Meeting.Nav_ListPReView.Nav_User'); */} { (data?.Nav_ListPReview && data.Nav_ListPReview.length > 0) ? { data?.Nav_ListPReview?.map((item, i) => { //return (i > 0 ? "," : "") + item.Nav_User.NAME // debugger return ( {(i > 0 ? "," : "") + item.Nav_User.NAME}) }) } : null } { showUsersSign(listSign, config.picServerHost, 75, 39) } {/* { {data?.Nav_ListMinutesDetail.map((item, i) => { return })}
会议决议 是否需要落实 落实部门 落实责任人 责任人意见 落实情况反馈 落实效果
{item.RESOLUTION} {item.ISNEEDDEAL ? "是" : "否"} {item?.Nav_DepartmentDeal?.NAME} {item?.Nav_UserDeal?.NAME} {item.OPINION} {item.DEALBACK} {item.DEALEFFECT ? this.props.app.enums.DEALEFFECT.enums[item.DEALEFFECT] : ""}
}
*/} { showApprove(data.Nav_Approve?.Nav_ApproveDetails, this.props.app.enums.NodeApproveStatus.enums, config.picServerHost, 100, 65) }
: null } {/* 会议决议 */} {isMinutesDetail ? {/*部门/车间 班组人员归到车间 */} {data?.Nav_ListMinutesDetail.map((item, i) => { return {/*部门/车间 班组人员归到车间 */} })}

会议决议

会议决议 是否需要落实 落实部门落实责任人 责任人意见 落实情况反馈 落实期限 附件 落实效果
{item.RESOLUTION} {item.ISNEEDDEAL ? "是" : "否"} {item?.Nav_DepartmentDeal?.NAME}{item?.Nav_UserDeal?.NAME} {item.OPINION} {item.DEALBACK} {item.LIMITDATETIME?.split(' ')[0]} {showFiles(item.Nav_Files, config.picServerHost)} {item.DEALEFFECT ? this.props.app.enums.DEALEFFECT.enums[item.DEALEFFECT] : ""}
: null } {/* 纪要意见 */} {isHasOpinion ? {data?.Nav_ListContent.map((item, i) => { var arryCheck = [] var radid = '' if (item.Nav_Content.CHECKTYPE == 20) { //复选 return {/* params.record.Nav_Content.Nav_ContentName.NAME */} } else { // 单选 var arry = [] if (item.Nav_ListContentDeal != undefined && item.Nav_ListContentDeal.length > 0) { for (let j = 0; j < item.Nav_ListContentDeal.length; j++) { if (item.Nav_ListContentDeal[j].ISCHECK) { arryCheck.push(item.Nav_ListContentDeal[j].CONTENT_DEAL_ID) break } } } return } })}
会议意见
序号 会议内容 题目 会议意见
{(i + 1)} {item.Nav_Content.Nav_ContentName.NAME}{item.Nav_Content.TITLE} { { item.Nav_Content.Nav_ListContentDeal.map((itemDetail, k) => { for (let j = 0; j < item.Nav_ListContentDeal.length; j++) { if (itemDetail.ID == item.Nav_ListContentDeal[j].CONTENT_DEAL_ID && item.Nav_ListContentDeal[j].ISCHECK) { arryCheck.push(itemDetail.ID) } } return {itemDetail.CONTENTDETAIL} }) } }
{(i + 1)} {item.Nav_Content.Nav_ContentName.NAME} {item.Nav_Content.TITLE} { { item.Nav_Content.Nav_ListContentDeal.map((itemDetail, k) => { return {itemDetail.CONTENTDETAIL} }) } }
: null } {/* 会议签到表 */} {/*部门/车间 班组人员归到车间 */} {/* {item.Nav_User.Nav_Department.DEPARTMENT_TYPE == 2 ? item.Nav_User.Nav_Department.Nav_Parent.NAME : item.Nav_User.Nav_Department.NAME} */} {/* { data?.Nav_ListPJoin ? {data?.Nav_ListPJoin.map((item, i) => { return })} {data?.Nav_ListPReview?.map((item, i) => { return })}

会议签到表

序号 部门/车间 姓名 岗位 电子签名
{(i + 1)} {item.Nav_User.Nav_Department.DEPARTMENT_TYPE == 2 ? item.Nav_User.Nav_Department.Nav_Parent.NAME : item.Nav_User.Nav_Department.NAME} {item.Nav_User.NAME} {item.Nav_User.Nav_Person?.Nav_Post?.NAME} { item.ISRECORDRED ? showUserSign(item.Nav_User, config.picServerHost, 100, 30) : null }
{(i + 1)} {item.Nav_User.Nav_Department.DEPARTMENT_TYPE == 2 ? item.Nav_User.Nav_Department.Nav_Parent.NAME : item.Nav_User.Nav_Department.NAME} {item.Nav_User.NAME} {item.Nav_User.Nav_Person?.Nav_Post?.NAME} { item.ISRECORDRED ? showUserSign(item.Nav_User, config.picServerHost, 100, 30) : null }
: null } */}
} } export default connect(({ login, app }) => ({ login, app }))(SC030ShowPrint)