提交 ce543fef authored 作者: 钟是志's avatar 钟是志

28479 北电]免缓军训管理,流程详情开出打印预览-任翠林

上级 dcb629b9
......@@ -5,13 +5,14 @@
*
* */
import React from 'react';
import React, { useContext } from 'react';
import * as service from '../publicApiService';
import AuditPage from './AuditPage';
import * as destructionFunc from '../destruction';
import { Link } from 'dva/router';
import { CreateC } from '../../ExportComponent/ActiveMenuComponent';
export default class Index extends React.Component {
class Index extends React.Component {
static defaultProps = {
hasBatchAudit: false, // 是否有批量审核按钮 默认关掉 如果有需要再在外面包一层 2020年5月6日 18:44:11 钟是志
batchAuditButtonName: '批量审核', // 如果需要批量审核 则直接用 BatchAudit.js 文件
......@@ -19,7 +20,6 @@ export default class Index extends React.Component {
constructor(props) {
super(props);
let pathname = this.props.location.pathname;
this.state = {
columns: [],
......@@ -39,12 +39,19 @@ export default class Index extends React.Component {
getFormDetail = (workId) => {
const { dataBaseId } = this.state;
service.getFormDetail(workId).then((response) => {
service.getFormDetail(workId)
.then((response) => {
if (typeof response.unifiedServicePatternModel === 'undefined') {
return false;
}
destructionFunc.destructionGetDetail(response).then((x) => {
const { addFields, tableInfo, allConfigSetInfo, searchCondition } = x;
destructionFunc.destructionGetDetail(response)
.then((x) => {
const {
addFields,
tableInfo,
allConfigSetInfo,
searchCondition
} = x;
this.setState(
{
addFields,
......@@ -61,8 +68,14 @@ export default class Index extends React.Component {
};
giveDetailColumns = () => {
const { columns, workId, dataBaseId, addFields, tableInfo } = this.state;
const { showPrint } = this.props;
const {
columns,
workId,
dataBaseId,
addFields,
tableInfo
} = this.state;
const { showPrint, routerConfig } = this.props;
const process_status = columns.find((x) => {
return x.name === 'process_status';
});
......@@ -86,7 +99,7 @@ export default class Index extends React.Component {
record,
addFields,
tableInfo,
showPrint,
showPrint: showPrint || routerConfig.showPrint === '1',
},
}}>
详情
......@@ -101,26 +114,22 @@ export default class Index extends React.Component {
getColumn = () => {
const { workId } = this.state;
service.getColumns(workId).then((response) => {
if(!response || !Array.isArray(response)){
service.getColumns(workId)
.then((response) => {
if (!response || !Array.isArray(response)) {
response = [];
}
for(let item of response){
if(item.dataIndex === 'taskName' && !item.width){
for (let item of response) {
if (item.dataIndex === 'taskName' && !item.width) {
item.width = 200;
}
if(item.dataIndex === 'createTime' && !item.width){
if (item.dataIndex === 'createTime' && !item.width) {
item.width = 200;
}
}
response = response.filter((x) => {
return x.title !== '流程进度';
});
// for(let item of response){
// if(!item.width){
// // item.width = 90; // 给一个默认宽度
// }
// }
if (response && response.length) {
this.setState(
{
......@@ -140,7 +149,8 @@ export default class Index extends React.Component {
if (workId) {
this.getColumn();
} else {
service.getId(pathname).then((x) => {
service.getId(pathname)
.then((x) => {
this.setState(
{
workId: x.workId,
......@@ -164,7 +174,13 @@ export default class Index extends React.Component {
allConfigSetInfo,
tableInfo,
} = this.state;
const { hasBatchAudit, batchAuditButtonName, showPrint, noNeedForm, tab2Buttons = [] } = this.props;
const {
hasBatchAudit,
batchAuditButtonName,
showPrint,
noNeedForm,
tab2Buttons = []
} = this.props;
if (!workId) {
return null;
}
......@@ -186,3 +202,10 @@ export default class Index extends React.Component {
);
}
}
export default function Pr(props) {
const { routerConfig } = useContext(CreateC);
return (
<Index {...props} routerConfig={routerConfig}/>
);
}
......@@ -83,7 +83,6 @@ export default class Detail extends Component {
// 贵建把打印预览显示出来
showPrint = true;
}
console.log(showPrint);
let iframeUrl = `${url[0]}/#/IframeForDetail?id=${id}&token=${getToken()}`;
if (showPrint) {
iframeUrl = iframeUrl + '&showPrint=true';
......@@ -92,6 +91,7 @@ export default class Detail extends Component {
iframeUrl = config.gateWayPort + `/portal/#/showAuditIframe?id=${id}&hasSingle=false&token=${getToken()}&isPrint=false`;
}
// iframeUrl = `http://localhost:8000/onestop/IframeForDetail?id=${id}&token=${getToken()}`;
// console.log(showPrint);
return (
<PageHeaderWrapper title=''>
<Shell>
......
import React, { useEffect, useState } from 'react';
import React, { useEffect, useState, createContext } from 'react';
import CheckRecord from '@/webPublic/FormInsertDiy/ExportComponent/CheckRecord'; // 查询类
import Apply from '@/webPublic/FormInsertDiy/AffairPage/ApplyPage'; // 申请
import BatchAudit from '@/webPublic/FormInsertDiy/AffairPage/AuditPage/BatchAudit'; // 批量审批
import Audit from '@/webPublic/FormInsertDiy/AffairPage/AuditPage/index.js'; // 审批
import Detail from '@/webPublic/FormInsertDiy/AffairPage/Detail'; //详情
import { Modal, message, notification, Popconfirm } from 'antd';
import { connect } from 'dva';
export const CreateC = createContext({
routerConfig: {},
});
window.iframeParentComponent = {
Modal,
......@@ -13,8 +19,14 @@ window.iframeParentComponent = {
Popconfirm,
};
export default function ActiveMenuComponent({ routerConfig, ...otherProps }) {
const { component = '', appId } = routerConfig;
function ActiveMenuComponent({
routerConfig,
...otherProps
}) {
const {
component = '',
appId
} = routerConfig;
const { location } = otherProps;
const record = location?.state?.record;
const [show, setShow] = useState(false);
......@@ -33,19 +45,38 @@ export default function ActiveMenuComponent({ routerConfig, ...otherProps }) {
return null;
}
let Res = <div>暂无此功能</div>;
switch (component) {
case 'CheckRecord': // 查询类应用
return <CheckRecord workId={appId} />;
case 'Apply': // 申请类 详情是 iframe
return <Apply workId={appId} {...otherProps} />;
case 'Audit': // 审批类 详情是 iframe
return <Audit workId={appId} {...otherProps} />;
case 'BatchAudit': // 批量审批 详情是 iframe
return <BatchAudit workId={appId} {...otherProps} />;
case 'Detail': // 详情 iframe
return <Detail {...otherProps} />;
Res = <CheckRecord workId={appId}/>;
break;
case 'Apply': // 申请类
Res = <Apply workId={appId} {...otherProps} />;
break;
case 'Audit': // 审批类
Res = <Audit workId={appId} {...otherProps} />;
break;
case 'BatchAudit': // 批量审批
Res = <BatchAudit workId={appId}
{...otherProps}
/>;
break;
case 'Detail': // 详情
Res = <Detail {...otherProps} />;
break;
default:
console.log(component, '没有找到此组件');
return <div>暂无此功能</div>;
break;
}
return (
<CreateC.Provider value={{
routerConfig,
}}>
{Res}
</CreateC.Provider>
);
}
export default connect(({}) => {
return {};
})(ActiveMenuComponent);
......@@ -17,6 +17,7 @@ export default function ActiveMenuComponent2({
if(appId){
setShow(false);
setTimeout(() => {
setShow(true);
}, 1000);
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论