Compare commits
No commits in common. "5049c1fe5fe31874289bbec0b506b1356dc7230c" and "6e80665802553aee1638ead493850ff79ddf9791" have entirely different histories.
5049c1fe5f
...
6e80665802
@ -1,171 +0,0 @@
|
|||||||
import { Button, Descriptions, Modal, Badge, Popconfirm, Row, Col, Form, Input, Select, Table } from 'antd';
|
|
||||||
import React from 'react';
|
|
||||||
import { initFilter, extendRule, extendInclude, setDataFieldValue, showApprove, guid, initQueryFilter, ShowDateTime, ShowPrintClose, GetFileModel, showFiles } from '../../../utils/common';
|
|
||||||
import ReactToPrint from 'react-to-print';
|
|
||||||
import { ExportToExcel } from '@woowalker/feui'
|
|
||||||
import XLSX from 'xlsx';
|
|
||||||
import { connect } from 'dva';
|
|
||||||
import moment from 'moment';
|
|
||||||
import { message } from 'antd/lib/index';
|
|
||||||
import styles from '../../../components/CustomPages/HI/StepForm.css';
|
|
||||||
import config from '../../../config.js';
|
|
||||||
import FormPage from '../../FormPage'
|
|
||||||
class SE071ShowPrint extends React.Component {
|
|
||||||
constructor(props) {
|
|
||||||
super(props);
|
|
||||||
this.state = {
|
|
||||||
data: null,
|
|
||||||
btndisplay: 'none',
|
|
||||||
isCheck: false, //是否待办 审批
|
|
||||||
fileForm: {
|
|
||||||
title: '',
|
|
||||||
visible: false,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
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');
|
|
||||||
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,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
loadData = (id) => {
|
|
||||||
var isCheck = (this.props.data.tableKey != undefined && this.props.data.tableKey == '1') ? true : false
|
|
||||||
var orgId = this.props.login ? this.props.login.OrgId : '';
|
|
||||||
let json = initFilter(orgId);
|
|
||||||
extendRule(json, 'ID', 1, id);
|
|
||||||
extendInclude(json, 'Nav_Department')
|
|
||||||
extendInclude(json, 'Nav_User')
|
|
||||||
extendInclude(json, 'Nav_Files.Nav_ImgFile.Nav_File')
|
|
||||||
extendInclude(json, 'Nav_ListPlanDetail.Nav_Department')
|
|
||||||
extendInclude(json, 'Nav_ListPlanDetail.Nav_ListDetailDepartment.Nav_Department')
|
|
||||||
extendInclude(json, 'Nav_ListPlanDetail.Nav_TrainTypeEnum')
|
|
||||||
this.props.dispatch({
|
|
||||||
type: 'app/getDataByPost',
|
|
||||||
payload: json,
|
|
||||||
url: 'SE/SETrainPlan/GetSuit',
|
|
||||||
onComplete: (ret) => {
|
|
||||||
if (ret) {
|
|
||||||
this.setState({
|
|
||||||
data: ret,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
render() {
|
|
||||||
const { data } = this.state;
|
|
||||||
const enums = this.props.data.enums ? this.props.data.enums : this.props.app.enums;
|
|
||||||
return <div>
|
|
||||||
<div style={{ padding: '10px' }}>
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td><Button onClick={() => this.onClickApprove(true)} style={{ marginRight: '8px' }} icon='export'>审批详情</Button></td>
|
|
||||||
<td><ReactToPrint trigger={() => <Button type={'default'} icon={'printer'} >打印</Button>} content={() => this.componentRef} /></td>
|
|
||||||
<td><ExportToExcel fileName='年度培训计划' tableId={'tableId' + this.props.data.id} /></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<FormPage {...this.state.tmpData} />
|
|
||||||
<div ref={el => (this.componentRef = el)} style={{ padding: '20px', paddingTop: '20px' }} id={'tableId' + this.props.data.id}>
|
|
||||||
<h1 className={styles.showPrintHead}>年度培训计划</h1>
|
|
||||||
{
|
|
||||||
data ? <div>
|
|
||||||
<Descriptions title='' size='middle' bordered>
|
|
||||||
<Descriptions.Item label="计划年度">{data.YEAR}</Descriptions.Item>
|
|
||||||
<Descriptions.Item label="发起时间">{data.LAUNCH_TIME}</Descriptions.Item>
|
|
||||||
<Descriptions.Item label="发起部门">{data.Nav_Department.NAME}</Descriptions.Item>
|
|
||||||
<Descriptions.Item label="发起人员">{data.Nav_User?.NAME}</Descriptions.Item>
|
|
||||||
<Descriptions.Item label="计划名称">{data.PLAN_NAME}</Descriptions.Item>
|
|
||||||
<Descriptions.Item label="附件">{showFiles(data.Nav_Files, config.picServerHost, this)}</Descriptions.Item>
|
|
||||||
{
|
|
||||||
data.TYPE == 5 ?
|
|
||||||
<Descriptions.Item label="指导原则">{data.GUIDE_PRINCIPLE}</Descriptions.Item>
|
|
||||||
: null
|
|
||||||
}
|
|
||||||
{
|
|
||||||
data.TYPE == 5 ?
|
|
||||||
<Descriptions.Item label="培训要求">{data.TRAIN_REQUIREMENT}</Descriptions.Item>
|
|
||||||
: null
|
|
||||||
}
|
|
||||||
</Descriptions>
|
|
||||||
</div> : null
|
|
||||||
}
|
|
||||||
{
|
|
||||||
(data?.Nav_ListPlanDetail && data?.Nav_ListPlanDetail.length > 0) ?
|
|
||||||
<table className={styles.PrintFormLight}>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td colSpan={10} className={styles.showPrintHead2}>年度培训计划详情</td>
|
|
||||||
</tr>
|
|
||||||
<tr className={styles.PrintFormLightTh}>
|
|
||||||
<td>月份</td>
|
|
||||||
<td>培训性质</td>
|
|
||||||
<td>培训类型</td>
|
|
||||||
<td>培训名称</td>
|
|
||||||
<td>培训对象</td>
|
|
||||||
<td>培训形式</td>
|
|
||||||
<td>考核方式</td>
|
|
||||||
<td>培训学时</td>
|
|
||||||
<td>培训组织</td>
|
|
||||||
{/* <td>培训老师</td> */}
|
|
||||||
{
|
|
||||||
data.TYPE != 5 ?
|
|
||||||
<td>被培训组织</td>
|
|
||||||
: null
|
|
||||||
}
|
|
||||||
</tr>
|
|
||||||
{data?.Nav_ListPlanDetail?.map((item, i) => {
|
|
||||||
return <tr>
|
|
||||||
<td>{item.MONTH} </td>
|
|
||||||
<td>{enums.TrainInOut.enums[item.IN_OUT]} </td>
|
|
||||||
<td>{item.Nav_TrainTypeEnum.NAME} </td>
|
|
||||||
<td>{item.NAME} </td>
|
|
||||||
<td>{item.OBJECT} </td>
|
|
||||||
<td>{enums.TrainType.enums[item.TRAINTYPE]} </td>
|
|
||||||
<td>{enums.PlanCheckType.enums[item.CHECKTYPE]} </td>
|
|
||||||
<td>{item.CLASSHOUR} </td>
|
|
||||||
<td>{item.Nav_Department.NAME} </td>
|
|
||||||
{
|
|
||||||
data.TYPE != 5 ?
|
|
||||||
<td>{item.Nav_ListDetailDepartment?.map((itemtype, j) => { return (j > 0 ? ',' : '') + itemtype.Nav_Department.NAME })}</td>
|
|
||||||
: null
|
|
||||||
}
|
|
||||||
|
|
||||||
</tr>
|
|
||||||
})}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
: null
|
|
||||||
}
|
|
||||||
</div>
|
|
||||||
{
|
|
||||||
GetFileModel(Modal, FormPage, this, this.state.fileForm.visible)
|
|
||||||
}
|
|
||||||
</div>
|
|
||||||
}
|
|
||||||
}
|
|
||||||
export default connect(({ login, app }) => ({ login, app }))(SE071ShowPrint)
|
|
||||||
@ -1,145 +0,0 @@
|
|||||||
import { message } from "antd/lib/index";
|
|
||||||
import { getPropertyData, extendInclude, extendRule, auditOptionShow, initFilter, guid } from "../../utils/common";
|
|
||||||
// import { now } from "core-js/core/date";
|
|
||||||
// import { connect } from 'dva';
|
|
||||||
// import { forEach } from "core-js/core/array";
|
|
||||||
/**
|
|
||||||
* @return {string}
|
|
||||||
*/
|
|
||||||
// 编辑
|
|
||||||
export default {
|
|
||||||
onBeforeSaveHandleRecord(params) {
|
|
||||||
params.record.TaskID = params.data.TaskID //TaskID传递消息表ID
|
|
||||||
params.record.STATUS = params.customParams;
|
|
||||||
// EXPIRY_DATE_EDIT
|
|
||||||
// EXPIRY_START_DATE
|
|
||||||
// EXPIRY_DATE
|
|
||||||
// if (params.record.EXPIRY_DATE_EDIT) {
|
|
||||||
// var dt = params.record.EXPIRY_DATE_EDIT.split(',')
|
|
||||||
// params.record.EXPIRY_START_DATE = dt[0]
|
|
||||||
// params.record.EXPIRY_DATE = dt[1]
|
|
||||||
// }
|
|
||||||
},
|
|
||||||
onBeforeEdit: ({ isNew, dispatch, setRowFieldVisible, setStateData, stateData, getFieldValue, setFieldVisible, login, setFieldValueByBatch }) => {
|
|
||||||
var TYPE = 10
|
|
||||||
if (isNew) {
|
|
||||||
setFieldVisible("AUDIT_OPINION", false)
|
|
||||||
TYPE = (login.user.Nav_Department.DEPARTMENT_TYPE == 5 || login.user.Nav_Department.DEPARTMENT_STATUS == 2) ? 5 : 10
|
|
||||||
var temps = []
|
|
||||||
temps.push({ field: "YEAR", value: (new Date()).getFullYear() });
|
|
||||||
temps.push({ field: "DEPARTMENT_ID", value: login.user.DEPARTMENT_ID });
|
|
||||||
temps.push({ field: "Nav_Department.NAME", value: login.user.Nav_Department.NAME });
|
|
||||||
temps.push({ field: "LAUNCH_USER_ID", value: login.user.ID });
|
|
||||||
temps.push({ field: "Nav_User.NAME", value: login.user.NAME });
|
|
||||||
temps.push({ field: "TYPE", value: TYPE });
|
|
||||||
setFieldValueByBatch(temps);
|
|
||||||
} else {
|
|
||||||
TYPE = stateData.TYPE
|
|
||||||
auditOptionShow(stateData, stateData.STATUS, 40, 'AUDIT_OPINION', stateData.ID, dispatch, setFieldVisible)
|
|
||||||
}
|
|
||||||
if (TYPE == 5) {
|
|
||||||
setRowFieldVisible("T_SE_TRAIN_PLAN_DETAIL", { Nav_ListDetailDepartment: false })
|
|
||||||
} else {
|
|
||||||
setFieldVisible("GUIDE_PRINCIPLE", false)
|
|
||||||
setFieldVisible("TRAIN_REQUIREMENT", false)
|
|
||||||
if (isNew) {
|
|
||||||
var year = getFieldValue("YEAR")
|
|
||||||
if (year == null) {
|
|
||||||
year = stateData.YEAR
|
|
||||||
}
|
|
||||||
if (year == null) {
|
|
||||||
year = (new Date()).getFullYear()
|
|
||||||
}
|
|
||||||
//部门 新增 默认加载 公司培训计划信息
|
|
||||||
let json = initFilter(stateData.ORG_ID, 'false', null, null, null, year);
|
|
||||||
dispatch({
|
|
||||||
type: 'app/getDataByPost',
|
|
||||||
url: 'SE/SETrainPlan/GetIni',
|
|
||||||
payload: json,
|
|
||||||
onlyData: false,
|
|
||||||
onComplete: (ret) => {
|
|
||||||
if (!ret.Data.Nav_Department)
|
|
||||||
ret.Data.Nav_Department = {}
|
|
||||||
if (!ret.Data.Nav_User)
|
|
||||||
ret.Data.Nav_User = {}
|
|
||||||
ret.Data.Nav_Department.NAME = login.user.Nav_Department.NAME
|
|
||||||
ret.Data.DEPARTMENT_ID = login.user.DEPARTMENT_ID
|
|
||||||
ret.Data.Nav_User.NAME = login.user.NAME
|
|
||||||
ret.Data.LAUNCH_USER_ID = login.user.ID
|
|
||||||
setStateData(ret.Data);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
onSubChange: ({ record, colInfo, setDataState, stateData }) => {
|
|
||||||
if (colInfo.FIELD_NAME == "IN_OUT" && record.IN_OUT == '8') {
|
|
||||||
stateData.Nav_ListPlanDetail.forEach(e => {
|
|
||||||
if (e.ID == record.ID) {
|
|
||||||
e.TRAINTYPE = 80
|
|
||||||
e.CHECKTYPE = 81
|
|
||||||
}
|
|
||||||
})
|
|
||||||
setDataState({ ...stateData });
|
|
||||||
}
|
|
||||||
},
|
|
||||||
btnCopy: ({ stateData, getSelectedRecords, setState }) => {
|
|
||||||
let DetailCheck = getSelectedRecords();
|
|
||||||
if (DetailCheck == null || DetailCheck.length < 1) {
|
|
||||||
message.error("请选择需要复制的行!")
|
|
||||||
} else {
|
|
||||||
DetailCheck.forEach(e => {
|
|
||||||
var add = JSON.parse(JSON.stringify(e))
|
|
||||||
|
|
||||||
add.ID = guid()
|
|
||||||
add.ROW_NO = stateData.Nav_ListPlanDetail.length + 1
|
|
||||||
stateData.Nav_ListPlanDetail.push(add)
|
|
||||||
})
|
|
||||||
setState({ data: stateData });
|
|
||||||
}
|
|
||||||
},
|
|
||||||
//向下同步培训组织 单选
|
|
||||||
btnSyncDep: ({ stateData, saveRowRecord }) => {
|
|
||||||
var totalCount = stateData.Nav_ListPlanDetail.length
|
|
||||||
if (totalCount < 2) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
for (var i = 1; i < totalCount; i++) {
|
|
||||||
//本行数据 如果为空 取上一行的 DEPARTMENT_ID Nav_Department
|
|
||||||
if (stateData.Nav_ListPlanDetail[i].DEPARTMENT_ID == null || stateData.Nav_ListPlanDetail[i].DEPARTMENT_ID == undefined) {
|
|
||||||
let iRow = { ...stateData.Nav_ListPlanDetail[i] };
|
|
||||||
iRow.DEPARTMENT_ID = stateData.Nav_ListPlanDetail[i - 1].DEPARTMENT_ID
|
|
||||||
iRow.Nav_Department = stateData.Nav_ListPlanDetail[i - 1].Nav_Department
|
|
||||||
saveRowRecord({ record: iRow, editCode: "T_SE_TRAIN_PLAN_DETAIL" })
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
//向下同步被培训组织 多选
|
|
||||||
btnSyncListDep: ({ stateData, saveRowRecord }) => {
|
|
||||||
var totalCount = stateData.Nav_ListPlanDetail.length
|
|
||||||
var listDetailDepartment = []
|
|
||||||
for (var i = 0; i < totalCount; i++) {
|
|
||||||
if (stateData.Nav_ListPlanDetail[i].Nav_ListDetailDepartment != null && stateData.Nav_ListPlanDetail[i].Nav_ListDetailDepartment.length > 0) {
|
|
||||||
listDetailDepartment = stateData.Nav_ListPlanDetail[i].Nav_ListDetailDepartment //取被同步的数据 只要有数据就赋值
|
|
||||||
} else if (listDetailDepartment != null && listDetailDepartment.length > 0) {
|
|
||||||
let updateList = [];
|
|
||||||
for (let j = 0; j < listDetailDepartment.length; j++) {
|
|
||||||
let updateObj = { ...listDetailDepartment[j] };
|
|
||||||
updateObj["ID"] = guid()
|
|
||||||
updateObj["PLAN_DETAIL_ID"] = stateData.Nav_ListPlanDetail[i].ID
|
|
||||||
updateList.push(updateObj);
|
|
||||||
}
|
|
||||||
let iRow = { ...stateData.Nav_ListPlanDetail[i] };
|
|
||||||
iRow.Nav_ListDetailDepartment = updateList;
|
|
||||||
saveRowRecord({ record: iRow, editCode: "T_SE_TRAIN_PLAN_DETAIL" })
|
|
||||||
|
|
||||||
for (var x = 0; x < totalCount; x++) {
|
|
||||||
if (iRow.ID == stateData.Nav_ListPlanDetail[x].ID) {
|
|
||||||
stateData.Nav_ListPlanDetail[x].Nav_ListDetailDepartment = updateList;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@ -139,7 +139,6 @@ const SE018PaperPage = createLoadableComponent(() => import('../components/Custo
|
|||||||
const SE019ShowPrint = createLoadableComponent(() => import('../components/CustomPages/SE/SE019ShowPrint'))
|
const SE019ShowPrint = createLoadableComponent(() => import('../components/CustomPages/SE/SE019ShowPrint'))
|
||||||
const SE021ShowPrint = createLoadableComponent(() => import('../components/CustomPages/SE/SE021ShowPrint'))
|
const SE021ShowPrint = createLoadableComponent(() => import('../components/CustomPages/SE/SE021ShowPrint'))
|
||||||
const SE061ShowPrint = createLoadableComponent(() => import('../components/CustomPages/SE/SE061ShowPrint'))
|
const SE061ShowPrint = createLoadableComponent(() => import('../components/CustomPages/SE/SE061ShowPrint'))
|
||||||
const SE071ShowPrint = createLoadableComponent(() => import('../components/CustomPages/SE/SE071ShowPrint'))
|
|
||||||
const SE061PaperPage = createLoadableComponent(() => import('../components/CustomPages/SE/SE061PaperPage'))
|
const SE061PaperPage = createLoadableComponent(() => import('../components/CustomPages/SE/SE061PaperPage'))
|
||||||
const SE062ShowPrint = createLoadableComponent(() => import('../components/CustomPages/SE/SE062ShowPrint'))
|
const SE062ShowPrint = createLoadableComponent(() => import('../components/CustomPages/SE/SE062ShowPrint'))
|
||||||
const SE063ShowPrint = createLoadableComponent(() => import('../components/CustomPages/SE/SE063ShowPrint'))
|
const SE063ShowPrint = createLoadableComponent(() => import('../components/CustomPages/SE/SE063ShowPrint'))
|
||||||
@ -341,7 +340,6 @@ export default function (componentName, formId, formParam, data, formCode, formD
|
|||||||
SE021ShowPrint: <SE021ShowPrint formId={formId} formParam={formParam} data={data} formCode={formCode} />,
|
SE021ShowPrint: <SE021ShowPrint formId={formId} formParam={formParam} data={data} formCode={formCode} />,
|
||||||
SE061PaperPage: <SE061PaperPage formId={formId} formParam={formParam} data={data} formCode={formCode} />,
|
SE061PaperPage: <SE061PaperPage formId={formId} formParam={formParam} data={data} formCode={formCode} />,
|
||||||
SE061ShowPrint: <SE061ShowPrint formId={formId} formParam={formParam} data={data} formCode={formCode} />,
|
SE061ShowPrint: <SE061ShowPrint formId={formId} formParam={formParam} data={data} formCode={formCode} />,
|
||||||
SE071ShowPrint: <SE071ShowPrint formId={formId} formParam={formParam} data={data} formCode={formCode} />,
|
|
||||||
SE062ShowPrint: <SE062ShowPrint formId={formId} formParam={formParam} data={data} formCode={formCode} />,
|
SE062ShowPrint: <SE062ShowPrint formId={formId} formParam={formParam} data={data} formCode={formCode} />,
|
||||||
SE063ShowPrint: <SE063ShowPrint formId={formId} formParam={formParam} data={data} formCode={formCode} />,
|
SE063ShowPrint: <SE063ShowPrint formId={formId} formParam={formParam} data={data} formCode={formCode} />,
|
||||||
SE051ShowPrint: <SE051ShowPrint formId={formId} formParam={formParam} data={data} formCode={formCode} />,
|
SE051ShowPrint: <SE051ShowPrint formId={formId} formParam={formParam} data={data} formCode={formCode} />,
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user