提交 469894ac authored 作者: 姚鑫国's avatar 姚鑫国

修改冲突

...@@ -51,7 +51,6 @@ const GJLZJXJApply = (WrappedComponent) => ...@@ -51,7 +51,6 @@ const GJLZJXJApply = (WrappedComponent) =>
}; };
componentDidMount() { componentDidMount() {
console.log(this.instanceComponent);
this.diyFunction(); this.diyFunction();
} }
......
...@@ -85,7 +85,6 @@ const KNXSJTQKSQ = (WrappedComponent) => ...@@ -85,7 +85,6 @@ const KNXSJTQKSQ = (WrappedComponent) =>
}; };
componentDidMount() { componentDidMount() {
console.log(this.instanceComponent);
this.diyFunction(); this.diyFunction();
} }
......
...@@ -51,7 +51,6 @@ const KNXSRDApply = (WrappedComponent) => ...@@ -51,7 +51,6 @@ const KNXSRDApply = (WrappedComponent) =>
}; };
componentDidMount() { componentDidMount() {
console.log(this.instanceComponent);
this.diyFunction(); this.diyFunction();
} }
......
...@@ -248,6 +248,7 @@ export default class List extends Component { ...@@ -248,6 +248,7 @@ export default class List extends Component {
noSelectRow: !listConfig.selectRows, noSelectRow: !listConfig.selectRows,
onSelectRow: this.handleSelectRows, onSelectRow: this.handleSelectRows,
scroll: { x: window.location.href.includes('Portal/#/') ? 'max-content' : true }, scroll: { x: window.location.href.includes('Portal/#/') ? 'max-content' : true },
selectType: 'radio',
}; };
// console.log(tableProps); // console.log(tableProps);
if (!listConfig.paging) { if (!listConfig.paging) {
......
import { getIsBei_Dian } from '@/webPublic/zyd_public/utils/getSchoolType';
import { message, Modal } from 'antd';
import { uaaRequest } from '@/webPublic/one_stop_public/utils/request';
export default function rebackButton(serviceInfo){
let reBack = [];
if (getIsBei_Dian() && serviceInfo?.isCanRecall) { // 撤销按钮
reBack.push({
type: 'chehui',
name: '撤回',
buttonType: 'danger',
component: 'Normal',
handleClick: (selectRows, formValues, getPage, search, columns) => {
if (!selectRows || !selectRows.length || selectRows.length !== 1) {
message.warning('请选择一条需要撤回的数据!');
return false;
}
if (!selectRows[0].isBack) {
message.warning('当前流程无法撤回,请选择其他数据');
return false;
}
Modal.confirm({
title: '撤回',
content: '确定撤回吗?',
okText: '确认',
cancelText: '取消',
onOk: () => {
return uaaRequest('/UnifiedAppFormApi/regressionProcess', {
taskIds: [selectRows[0].taskId],
})
.then((res) => {
if (res) {
Modal.info({
title: '提示',
content: '撤回成功, 点击详情可再次编辑并提交申请',
});
getPage();
} else {
message.info('操作失败');
return false;
}
});
},
});
},
});
}
return reBack;
}
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
* *
* */ * */
import { message } from 'antd'; import { message, Modal } from 'antd';
import React, { useEffect, useState, } from 'react'; import React, { useEffect, useState } from 'react';
import * as service from '../publicApiService'; import * as service from '../publicApiService';
import * as destructionFunc from '../destruction'; import * as destructionFunc from '../destruction';
import { Link } from 'dva/router'; import { Link } from 'dva/router';
...@@ -18,393 +18,379 @@ import List from './List'; ...@@ -18,393 +18,379 @@ import List from './List';
import pageSetting from './pageSetting'; import pageSetting from './pageSetting';
import ButtonDiy from '@/baseComponent/ButtonDiy'; import ButtonDiy from '@/baseComponent/ButtonDiy';
import Shell from '@/baseComponent/Shell'; import Shell from '@/baseComponent/Shell';
import { deepCopy } from '@/webPublic/zyd_public/utils/utils'; import { deepCopy, getIsBei_Dian } from '@/webPublic/zyd_public/utils/utils';
import ApplyForZyd from '@/webPublic/one_stop_public/ForZydApply/index'; import ApplyForZyd from '@/webPublic/one_stop_public/ForZydApply/index';
import { uaaRequest } from '@/webPublic/one_stop_public/utils/request';
import rebackButton from '@/webPublic/FormInsertDiy/AffairPage/ApplyPage/ReBackButton';
export default function index(props) { export default function index(props) {
const { state = {} } = props.location; const { state = {} } = props.location;
const [show, setShow] = useState(false); const [show, setShow] = useState(false);
useEffect(() => { useEffect(
setShow(false); () => {
setTimeout(() => { setShow(false);
setShow(true); setTimeout(() => {
}, 100); setShow(true);
}, 100);
}, [props.location.pathname]); },
if(!show){ [props.location.pathname],
return null; );
} if (!show) {
if (state.justApply) { return null;
return <JustApply {...props} />; }
} else { if (state.justApply) {
return <AffairPage {...props} />; return <JustApply {...props} />;
} } else {
return <AffairPage {...props} />;
}
} }
class AffairPage extends React.Component { class AffairPage extends React.Component {
constructor(props) { constructor(props) {
super(props); super(props);
let pathname = this.props.location.pathname; let pathname = this.props.location.pathname;
const { const { dataBaseId, workId } = this.props;
dataBaseId, this.state = {
workId showIframe: false,
} = this.props; columns: [],
this.state = { pathname,
showIframe: false, workId: workId || '',
columns: [], searchCondition: [],
pathname, dataBaseId: '',
workId: workId || '', addFields: [], // 新增时填写的字段。
searchCondition: [], renderIframe: false,
dataBaseId: '', allConfigSetInfo: null,
addFields: [], // 新增时填写的字段。 serviceInfo: null,
renderIframe: false, };
allConfigSetInfo: null, }
};
}
getFormDetail = (workId) => {
service.getFormDetail(workId)
.then((response) => {
if (typeof response.unifiedServicePatternModel === 'undefined') {
return false;
}
destructionFunc.destructionGetDetail(response)
.then((x) => {
const {
addFields,
tableInfo,
allConfigSetInfo
} = x;
this.setState(
{
addFields,
tableInfo,
allConfigSetInfo,
},
() => {
this.giveDetailColumns();
},
);
});
});
};
giveDetailColumns = () => {
const {
columns,
workId,
dataBaseId,
addFields
} = this.state;
const process_status = columns.find((x) => {
return x.name === 'process_status';
});
if (process_status && process_status.dataIndex) {
process_status.render = (text, record) => {
return record.statusName || record[process_status.dataIndex];
};
}
let findCz = columns.find((g) => g.dataIndex === 'operation');
if (!findCz) {
columns.push({
dataIndex: 'operation',
title: '操作',
fixed: columns.length > 12 ? 'right' : false,
render: (text, record) => {
return (
<Link
to={{
pathname: './Detail',
state: {
workId,
dataBaseId,
record,
addFields,
}, getServiceDetail = (serviceId) => {
}}> service.getServiceDetail(serviceId).then((res) => {
详情 console.log(res);
</Link> this.setState({
); serviceInfo: res,
}, });
}); });
} };
getFormDetail = (workId) => {
service.getFormDetail(workId).then((response) => {
console.log(response);
if (typeof response.unifiedServicePatternModel === 'undefined') {
return false;
}
if(response.serviceId){
this.getServiceDetail(response.serviceId);
}
destructionFunc.destructionGetDetail(response).then((x) => {
const { addFields, tableInfo, allConfigSetInfo } = x;
this.setState(
{
addFields,
tableInfo,
allConfigSetInfo,
},
() => {
this.giveDetailColumns();
},
);
});
});
};
this.setState({ giveDetailColumns = () => {
columns, const { columns, workId, dataBaseId, addFields } = this.state;
}); const process_status = columns.find((x) => {
}; return x.name === 'process_status';
});
if (process_status && process_status.dataIndex) {
process_status.render = (text, record) => {
return record.statusName || record[process_status.dataIndex];
};
}
let findCz = columns.find((g) => g.dataIndex === 'operation');
if (!findCz) {
columns.push({
dataIndex: 'operation',
title: '操作',
fixed: columns.length > 12 ? 'right' : false,
render: (text, record) => {
return (
<Link
to={{
pathname: './Detail',
state: {
workId,
dataBaseId,
record,
addFields,
},
}}>
详情
</Link>
);
},
});
}
handleButtonSet = () => { this.setState({
const { columns,
canApply, });
otherButtons = [], };
} = this.props;
const { allConfigSetInfo } = this.state;
if (!allConfigSetInfo) {
return [];
}
const isCloseStart = allConfigSetInfo?.isCloseStart;
if (canApply === false || isCloseStart) { handleButtonSet = () => {
return [...otherButtons]; const { canApply, otherButtons = [] } = this.props;
} const { allConfigSetInfo, serviceInfo } = this.state;
if (!allConfigSetInfo) {
return [];
}
const isCloseStart = allConfigSetInfo?.isCloseStart;
return [ if (canApply === false || isCloseStart) {
{ return [...otherButtons];
type: 'add', }
name: '申请',
component: 'Normal',
handleClick: () => {
this.setState(
{
showIframe: true,
renderIframe: true,
},
() => {
},
);
},
},
...otherButtons,
];
};
handleSearchSet = () => { return [
const { {
columns, type: 'add',
searchCondition name: '申请',
} = this.state; component: 'Normal',
const { onResponse } = this.props; handleClick: () => {
const pageSearch = { this.setState(
search: { {
field: {}, showIframe: true,
getPageService: getApplyPage, renderIframe: true,
responseCallBack: (response) => { },
if (onResponse) { () => {},
onResponse(response); );
} },
return response; },
}, ...rebackButton(serviceInfo),
condition: searchCondition, ...otherButtons,
nameSpan: { ];
big: 8, };
small: 9
},
fileSpan: {
big: 4,
small: 4
},
},
tableRowKey: 'id',
columns,
};
return pageSearch;
};
getColumns = () => { handleSearchSet = () => {
const { workId } = this.state; const { columns, searchCondition } = this.state;
service.getColumns(workId) const { onResponse } = this.props;
.then((response) => { const pageSearch = {
if (response && Array.isArray(response)) { search: {
response = response.filter((x) => { field: {},
return x.title !== '流程进度'; getPageService: getApplyPage,
}); responseCallBack: (response) => {
} if (onResponse) {
onResponse(response);
}
return response;
},
condition: searchCondition,
nameSpan: {
big: 8,
small: 9,
},
fileSpan: {
big: 4,
small: 4,
},
},
tableRowKey: 'id',
columns,
};
return pageSearch;
};
if (response) { getColumns = () => {
this.setState( const { workId } = this.state;
{ service.getColumns(workId).then((response) => {
columns: response, if (response && Array.isArray(response)) {
}, response = response.filter((x) => {
() => { return x.title !== '流程进度';
this.getFormDetail(workId); });
}, }
);
}
});
};
if (response) {
this.setState(
{
columns: response,
},
() => {
this.getFormDetail(workId);
},
);
}
});
};
initData = () => { initData = () => {
if (!getToken()) { if (!getToken()) {
message.error('您的数据未同步,请联系管理员!'); message.error('您的数据未同步,请联系管理员!');
return false; return false;
} }
const { pathname } = this.state; const { pathname } = this.state;
const { const { dataBaseId, workId, iframeHeight } = this.props;
dataBaseId, if (dataBaseId || workId) {
workId, this.setState(
iframeHeight {
} = this.props; workId,
if (dataBaseId || workId) { dataBaseId,
this.setState( },
{ () => {
workId, this.getColumns();
dataBaseId, },
}, );
() => { } else {
this.getColumns(); service.getId(pathname).then((x) => {
}, this.setState(
); {
} else { workId: x.workId,
service.getId(pathname) dataBaseId: x.dataBaseId,
.then((x) => { },
this.setState( () => {
{ this.getColumns();
workId: x.workId, },
dataBaseId: x.dataBaseId, );
}, });
() => { }
this.getColumns();
},
);
});
}
window.addEventListener( window.addEventListener(
'message', 'message',
(event) => { (event) => {
if (event.data === 'returnList') { if (event.data === 'returnList') {
this.returnList(true); this.returnList(true);
} }
if (event && event.data && event.data.indexOf && event.data.indexOf('iframeHeight') > -1) { if (event && event.data && event.data.indexOf && event.data.indexOf('iframeHeight') > -1) {
console.log(event.data); console.log(event.data);
let height = Number(event.data.split('-')[1]); let height = Number(event.data.split('-')[1]);
const iframe = document.getElementById('applyIframeId'); const iframe = document.getElementById('applyIframeId');
if (iframe) { if (iframe) {
iframe.height = height + (iframeHeight || 50); iframe.height = height + (iframeHeight || 50);
} }
} }
}, },
false, false,
); );
return true; return true;
}; };
componentDidMount() { componentDidMount() {
this.initData(); this.initData();
} }
componentDidUpdate(prevProps, prevState) { componentDidUpdate(prevProps, prevState) {
if (prevProps.workId !== this.props.workId) { if (prevProps.workId !== this.props.workId) {
// console.log('123123', prevProps, this.props); // console.log('123123', prevProps, this.props);
this.initData(); this.initData();
} }
} }
returnList = (needSearchList = false) => { returnList = (needSearchList = false) => {
console.log(needSearchList); console.log(needSearchList);
const { workId } = this.state; const { workId } = this.state;
this.setState( this.setState(
{ {
renderIframe: false, renderIframe: false,
}, },
() => { () => {
if (needSearchList) { if (needSearchList) {
this.ListComponent.getPage(); this.ListComponent.getPage();
setTimeout(() => { setTimeout(() => {
this.getFormDetail(workId); this.getFormDetail(workId);
}, 2000); }, 2000);
} }
this.setState({ this.setState({
showIframe: false, showIframe: false,
}); });
}, },
); );
}; };
render() { render() {
const { iframeUrlDiy } = this.props; const { iframeUrlDiy } = this.props;
const { const {
workId, workId,
dataBaseId, dataBaseId,
addFields, addFields,
showIframe, showIframe,
renderIframe, renderIframe,
allConfigSetInfo, allConfigSetInfo,
} = this.state; } = this.state;
if (!workId || !allConfigSetInfo) { if (!workId || !allConfigSetInfo) {
return null; return null;
} }
// console.log(allConfigSetInfo.isCloseStart); // console.log(allConfigSetInfo.isCloseStart);
// const url = config.onestopPC.split('/#/'); // const url = config.onestopPC.split('/#/');
// let iframeUrl = iframeUrlDiy || `${url[0]}/#/IFrameForApply?id=${workId}&token=${getToken()}`; // let iframeUrl = iframeUrlDiy || `${url[0]}/#/IFrameForApply?id=${workId}&token=${getToken()}`;
let buttons = this.handleButtonSet({}); let buttons = this.handleButtonSet({});
let listConfig = pageSetting.listConfig; let listConfig = pageSetting.listConfig;
if (!buttons.length) { if (!buttons.length) {
listConfig = deepCopy(listConfig); listConfig = deepCopy(listConfig);
listConfig.buttonArea = false; listConfig.buttonArea = false;
} }
return ( return (
<PageHeaderWrapper title=""> <PageHeaderWrapper title="">
<div <div
style={{ style={{
display: showIframe ? 'none' : 'block', display: showIframe ? 'none' : 'block',
}}> }}>
<List <List
listConfig={listConfig} listConfig={listConfig}
pageButton={buttons} pageButton={buttons}
pageSearch={this.handleSearchSet({})} pageSearch={this.handleSearchSet({})}
addFields={addFields} addFields={addFields}
ref={(ListComponent) => (this.ListComponent = ListComponent)} ref={(ListComponent) => (this.ListComponent = ListComponent)}
workId={workId} workId={workId}
dataBaseId={dataBaseId} dataBaseId={dataBaseId}
/> />
</div> </div>
<div <div
style={{ style={{
visibility: showIframe ? 'visible' : 'hidden', visibility: showIframe ? 'visible' : 'hidden',
height: showIframe ? 'auto' : '0px', height: showIframe ? 'auto' : '0px',
width: '100%', width: '100%',
backgroundColor: '#fff', backgroundColor: '#fff',
paddingLeft: '24px', paddingLeft: '24px',
}}> }}>
<Shell> <Shell>
<div <div
style={{ style={{
height: '54px', height: '54px',
padding: '12px 0 12px 12px', padding: '12px 0 12px 12px',
display: showIframe ? 'block' : 'none', display: showIframe ? 'block' : 'none',
}}> }}>
<ButtonDiy <ButtonDiy
name="返回" name="返回"
className="defaultBlue" className="defaultBlue"
handleClick={this.returnList} handleClick={this.returnList}
icon="arrow-left" icon="arrow-left"
/> />
</div> </div>
</Shell> </Shell>
{renderIframe ? ( {renderIframe ? (
iframeUrlDiy ? iframeUrlDiy ? (
<iframe <iframe
src={iframeUrlDiy} src={iframeUrlDiy}
frameBorder={0} frameBorder={0}
id="applyIframeId" id="applyIframeId"
name="applyIframe" name="applyIframe"
marginWidth="0" marginWidth="0"
marginHeight="0" marginHeight="0"
allowTransparency="yes" allowTransparency="yes"
seamless seamless
scrolling={'auto'} scrolling={'auto'}
style={{ style={{
width: '100%', width: '100%',
minHeight: '800px', minHeight: '800px',
overflowY: 'hidden', overflowY: 'hidden',
backgroundColor: '#fff', backgroundColor: '#fff',
}} }}
/> : />
<ApplyForZyd ) : (
{...this.props} <ApplyForZyd {...this.props} returnList={this.returnList} id={workId} />
returnList={this.returnList} )
id={workId} ) : null}
/> </div>
) : null} </PageHeaderWrapper>
</div> );
</PageHeaderWrapper> }
);
}
} }
...@@ -31,6 +31,7 @@ export default class ButtonListDom extends Component { ...@@ -31,6 +31,7 @@ export default class ButtonListDom extends Component {
<ButtonDiy <ButtonDiy
name={item.name} name={item.name}
key={item.type} key={item.type}
type={item.buttonType}
className={item.className || 'defaultBule'} className={item.className || 'defaultBule'}
handleClick={() => { handleClick={() => {
item.handleClick(selectRows, formValues, getPage, search, columns); item.handleClick(selectRows, formValues, getPage, search, columns);
......
...@@ -144,6 +144,19 @@ const getFormDetail = (id) => { ...@@ -144,6 +144,19 @@ const getFormDetail = (id) => {
}); });
}; };
/**
*
* */
const getServiceDetail = (id) => {
return apiRequest('/UnifiedServiceApi/getDetail', { id }).then((x) => {
if (x) {
return x;
} else {
return {};
}
});
};
/** /**
* 发起流程 * 发起流程
* */ * */
...@@ -248,6 +261,7 @@ export { ...@@ -248,6 +261,7 @@ export {
getColumns, getColumns,
getPages, getPages,
getFormDetail, getFormDetail,
getServiceDetail,
getOptions, getOptions,
getBatchOptions, getBatchOptions,
startProcess, startProcess,
......
...@@ -61,7 +61,9 @@ export default function SelectPerson(props) { ...@@ -61,7 +61,9 @@ export default function SelectPerson(props) {
// 第二栏树形数据 // 第二栏树形数据
const getTreeList = () => { const getTreeList = () => {
requestData({}, apis.findTree) requestData({
...propsDiy.apiParams,
}, apis.findTree)
.then(res => { .then(res => {
if (res) { if (res) {
res = formatTreeData(res); res = formatTreeData(res);
...@@ -83,6 +85,7 @@ export default function SelectPerson(props) { ...@@ -83,6 +85,7 @@ export default function SelectPerson(props) {
{ {
keyword: searchKey, keyword: searchKey,
isExact: jqpp, isExact: jqpp,
...propsDiy.apiParams,
}, },
apis.search, apis.search,
) )
...@@ -111,6 +114,7 @@ export default function SelectPerson(props) { ...@@ -111,6 +114,7 @@ export default function SelectPerson(props) {
{ {
businessKey: bKey, businessKey: bKey,
selectType, selectType,
...propsDiy.apiParams,
}, },
apis.findList, apis.findList,
) )
...@@ -151,8 +155,8 @@ export default function SelectPerson(props) { ...@@ -151,8 +155,8 @@ export default function SelectPerson(props) {
const auth = () => { const auth = () => {
const data = { const data = {
businessKey: [...sgUserIds, ...checkedList.map(g => g.businessKey)], businessKey: [...sgUserIds, ...checkedList.map(g => g.businessKey)],
...propsDiy.apiParams,
}; };
if (!data.businessKey.length) { if (!data.businessKey.length) {
message.warning(propsDiy.getResultProps.emptySelectMessage); message.warning(propsDiy.getResultProps.emptySelectMessage);
return false; return false;
......
export default function lowCodeProps(info) { export default function lowCodeProps(info) {
return { return {
searchType: 'instructorSearch', // teacherSearch || studentSearch || instructorSearch searchType: 'instructorSearch', // teacherSearch || studentSearch || instructorSearch
apiParams: { // 30357 北电]辅导员考核-考核批次设置,辅导员筛选那50个辅导员
isCounselor: true,
},
ModalProps: { ModalProps: {
// 弹窗的属性 // 弹窗的属性
title: '选择辅导员', title: '选择辅导员',
......
...@@ -36,6 +36,9 @@ const encryptApiList = [ ...@@ -36,6 +36,9 @@ const encryptApiList = [
{ {
api: 'UnifiedAppFormApi/getFormDetail', api: 'UnifiedAppFormApi/getFormDetail',
}, },
{
api: 'UnifiedAppFormApi/getWaitPage',
},
{ {
api: 'UnifiedWebPatternApi/save', api: 'UnifiedWebPatternApi/save',
}, },
...@@ -147,6 +150,9 @@ const resBinaryApiList = [ ...@@ -147,6 +150,9 @@ const resBinaryApiList = [
{ {
api: 'UnifiedAppApi/getDetail', api: 'UnifiedAppApi/getDetail',
}, },
{
api: 'DataColumnApi/getHeaderList',
},
{ {
api: 'UnifiedServiceApi/getDetail', api: 'UnifiedServiceApi/getDetail',
}, },
......
import React from 'react'; import React from 'react';
import {Upload, message} from 'antd'; import { Upload, message, Badge, Icon } from 'antd';
import config from '@/webPublic/one_stop_public/config'; import config from '@/webPublic/one_stop_public/config';
import {zipImage} from "@/webPublic/zyd_public/utils/handlePhoto"; import { zipImage } from '@/webPublic/zyd_public/utils/handlePhoto';
import { getToken } from '@/webPublic/one_stop_public/utils/token'; import { getToken } from '@/webPublic/one_stop_public/utils/token';
import { queryFileUrl } from '@/webPublic/one_stop_public/utils/queryConfig'; import { queryFileUrl } from '@/webPublic/one_stop_public/utils/queryConfig';
...@@ -14,7 +14,7 @@ export default class ImgUploadCom extends React.Component { ...@@ -14,7 +14,7 @@ export default class ImgUploadCom extends React.Component {
}; };
} }
triggerChange = changedValue => { triggerChange = (changedValue) => {
// Should provide an event to pass value to Form. // Should provide an event to pass value to Form.
const onChange = this.props.onChange; const onChange = this.props.onChange;
if (onChange) { if (onChange) {
...@@ -26,7 +26,7 @@ export default class ImgUploadCom extends React.Component { ...@@ -26,7 +26,7 @@ export default class ImgUploadCom extends React.Component {
// Should be a controlled component. // Should be a controlled component.
if ('value' in nextProps) { if ('value' in nextProps) {
const value = nextProps.value; const value = nextProps.value;
this.setState({url: value}); this.setState({ url: value });
} }
} }
...@@ -35,23 +35,34 @@ export default class ImgUploadCom extends React.Component { ...@@ -35,23 +35,34 @@ export default class ImgUploadCom extends React.Component {
message.success(`图片上传成功`); message.success(`图片上传成功`);
if (!('value' in this.props)) { if (!('value' in this.props)) {
this.setState({url: info.file.response}); this.setState({ url: info.file.response });
} }
this.triggerChange(info.file.response); this.triggerChange(info.file.response);
} else if (info.file.status === 'error') { } else if (info.file.status === 'error') {
message.error(`图片上传失败`); message.error(`图片上传失败`);
} }
}; };
changePos = obj => { changePos = (obj) => {
if (!('value' in this.props)) { if (!('value' in this.props)) {
this.setState({...obj}); this.setState({ ...obj });
} }
this.triggerChange({...obj}); this.triggerChange({ ...obj });
};
removePicture = (e) => {
if (e && e.stopPropagation) {
e.stopPropagation();
e.preventDefault();
}
this.triggerChange('');
}; };
render() { render() {
const {json, disabled} = this.props; const {
const {url} = this.state; json,
disabled
} = this.props;
const { url } = this.state;
return ( return (
<Upload.Dragger <Upload.Dragger
disabled={disabled} disabled={disabled}
...@@ -64,25 +75,37 @@ export default class ImgUploadCom extends React.Component { ...@@ -64,25 +75,37 @@ export default class ImgUploadCom extends React.Component {
token: getToken(), token: getToken(),
}} }}
beforeUpload={(file) => { beforeUpload={(file) => {
return zipImage(file, 4); return zipImage(file, 4);
// 图片压缩函数. 超过fileSizeLimitMb兆的图片 直接压缩成原来的 30% 如果后续有其他需求考虑 做成全局配置项 配置可以压缩的图片的范围 // 图片压缩函数. 超过fileSizeLimitMb兆的图片 直接压缩成原来的 30% 如果后续有其他需求考虑 做成全局配置项 配置可以压缩的图片的范围
// 禅道bug 23185 // 禅道bug 23185
}} }}
showUploadList={false} showUploadList={false}
name="file" name="file"
action={config.uploadUrl} action={config.uploadUrl}
onChange={this.changeUrl} onChange={this.changeUrl}
multiple={false} multiple={false}
style={{padding: 0}} style={{ padding: 0 }}>
>
{url ? ( {url ? (
<img src={queryFileUrl(url)} style={{ <Badge count={<Icon type="close-circle"
height: json.height, style={{ color: 'red' }}
width: json.width, onClick={this.removePicture}
maxWidth: '60vw', // 解决图片在移动端过宽的bug />}>
}}/> <img
src={queryFileUrl(url)}
style={{
height: json.height,
width: json.width,
maxWidth: '60vw', // 解决图片在移动端过宽的bug
}}
/>
</Badge>
) : ( ) : (
<div style={{height: json.height, width: json.width}}/> <div
style={{
height: json.height,
width: json.width,
}}
/>
)} )}
</Upload.Dragger> </Upload.Dragger>
); );
......
...@@ -348,23 +348,29 @@ class TreeList extends React.Component { ...@@ -348,23 +348,29 @@ class TreeList extends React.Component {
payload: { objCode: this.props.objCode }, payload: { objCode: this.props.objCode },
callback: (dataObj) => { callback: (dataObj) => {
this.setState({ objId: dataObj.id, isTable: data.isTable }, () => { this.setState({ objId: dataObj.id, isTable: data.isTable }, () => {
dispatch({ /**
type: 'DataRight/getUserRight', * 2022年10月27日
payload: { objId: this.state.objId }, * 欢哥说这个权限功能没用了 在一站式后台元数据管理-数据授权里面修改 实际已经废弃了
callback: (data) => { * 问了姚新国也说没用了. 有问题就还原回来
if (!this.props.rights) { * */
this.setState({ rights: data }); this.initColumn();
} // dispatch({
dispatch({ // type: 'DataRight/getUserRight',
type: 'DataRight/getUserColumnRight', // payload: { objId: this.state.objId },
payload: { objId: this.state.objId }, // callback: (data) => {
callback: (data) => { // if (!this.props.rights) {
this.setState({ columnRights: data }); // this.setState({ rights: data });
this.initColumn(); // }
}, // dispatch({
}); // type: 'DataRight/getUserColumnRight',
}, // payload: { objId: this.state.objId },
}); // callback: (data) => {
// this.setState({ columnRights: data });
// this.initColumn();
// },
// });
// },
// });
}); });
}, },
}); });
...@@ -377,23 +383,29 @@ class TreeList extends React.Component { ...@@ -377,23 +383,29 @@ class TreeList extends React.Component {
this.setState({ isTable: data.isTable }); this.setState({ isTable: data.isTable });
}, },
}); });
dispatch({ /**
type: 'DataRight/getUserRight', * 2022年10月27日
payload: { objId: this.state.objId }, * 欢哥说这个权限功能没用了 在一站式后台元数据管理-数据授权里面修改 实际已经废弃了
callback: (data) => { * 问了姚新国也说没用了. 有问题就还原回来
if (!this.props.rights) { * */
this.setState({ rights: data }); this.initColumn();
} // dispatch({
dispatch({ // type: 'DataRight/getUserRight',
type: 'DataRight/getUserColumnRight', // payload: { objId: this.state.objId },
payload: { objId: this.state.objId }, // callback: (data) => {
callback: (data) => { // if (!this.props.rights) {
this.setState({ columnRights: data }); // this.setState({ rights: data });
this.initColumn(); // }
}, // dispatch({
}); // type: 'DataRight/getUserColumnRight',
}, // payload: { objId: this.state.objId },
}); // callback: (data) => {
// this.setState({ columnRights: data });
// this.initColumn();
// },
// });
// },
// });
} }
} }
......
...@@ -303,23 +303,29 @@ class FormList extends React.Component { ...@@ -303,23 +303,29 @@ class FormList extends React.Component {
isTable: dataObj.isTable, isTable: dataObj.isTable,
}, },
() => { () => {
dispatch({ this.initColumn();
type: 'DataRight/getUserRight', /**
payload: { objId: this.state.objId }, * 2022年10月27日
callback: (data) => { * 欢哥说这个权限功能没用了 在一站式后台元数据管理-数据授权里面修改 实际已经废弃了
if (!this.props.rights) { * 问了姚新国也说没用了. 有问题就还原回来
this.setState({ rights: data }); * */
} // dispatch({
dispatch({ // type: 'DataRight/getUserRight',
type: 'DataRight/getUserColumnRight', // payload: { objId: this.state.objId },
payload: { objId: this.state.objId }, // callback: (data) => {
callback: (data) => { // if (!this.props.rights) {
this.setState({ columnRights: data }); // this.setState({ rights: data });
this.initColumn(); // }
}, // dispatch({
}); // type: 'DataRight/getUserColumnRight',
}, // payload: { objId: this.state.objId },
}); // callback: (data) => {
// this.setState({ columnRights: data });
// this.initColumn();
// },
// });
// },
// });
}, },
); );
}, },
...@@ -333,23 +339,29 @@ class FormList extends React.Component { ...@@ -333,23 +339,29 @@ class FormList extends React.Component {
this.setState({ isTable: data.isTable }); this.setState({ isTable: data.isTable });
}, },
}); });
dispatch({ /**
type: 'DataRight/getUserRight', * 2022年10月27日
payload: { objId: this.state.objId }, * 欢哥说这个权限功能没用了
callback: (data) => { * 问了姚新国也说没用了
if (!this.props.rights) { * */
this.setState({ rights: data }); this.initColumn();
} // dispatch({
dispatch({ // type: 'DataRight/getUserRight',
type: 'DataRight/getUserColumnRight', // payload: { objId: this.state.objId },
payload: { objId: this.state.objId }, // callback: (data) => {
callback: (data) => { // if (!this.props.rights) {
this.setState({ columnRights: data }); // this.setState({ rights: data });
this.initColumn(); // }
}, // dispatch({
}); // type: 'DataRight/getUserColumnRight',
}, // payload: { objId: this.state.objId },
}); // callback: (data) => {
// this.setState({ columnRights: data });
// this.initColumn();
// },
// });
// },
// });
} }
} }
...@@ -617,7 +629,7 @@ class FormList extends React.Component { ...@@ -617,7 +629,7 @@ class FormList extends React.Component {
getPage = (params, values, callPage, pageNo) => { getPage = (params, values, callPage, pageNo) => {
const { objCode } = this.props; const { objCode } = this.props;
if (this.columns == null || this.columns.length == 0) { if (this.columns == null || this.columns.length === 0) {
return; return;
} }
const { dispatch } = this.props; const { dispatch } = this.props;
...@@ -1444,7 +1456,8 @@ class FormList extends React.Component { ...@@ -1444,7 +1456,8 @@ class FormList extends React.Component {
onSelectRow={this.handleSelectRows} onSelectRow={this.handleSelectRows}
onChange={this.handleStandardTableChange} onChange={this.handleStandardTableChange}
loading={loading} loading={loading}
/> getCheckboxProps={this.props.getCheckboxProps || undefined}
/>
)} )}
</div> </div>
) : ( ) : (
......
import React, { } from 'react'; import React from 'react';
import { Button } from 'antd';
import { getModal } from '@/webPublic/one_stop_public/utils/utils'; import { getModal } from '@/webPublic/one_stop_public/utils/utils';
import styles from './style.less'
const Modal = getModal(); const Modal = getModal();
export default class FormModal extends React.Component { export default class FormModal extends React.Component {
render() { render() {
const showFullScreen = () => {
let dom = document.getElementById('smartFormModal');
dom.requestFullscreen();
console.log(dom);
};
return ( return (
<Modal <Modal
bodyStyle={{ bodyStyle={{
maxHeight: '80vh', maxHeight: '80vh',
overflowY: 'auto', overflowY: 'auto',
}} }}
{...this.props} {...this.props}
destroyOnClose destroyOnClose
title={this.props.title} title={this.props.title}
maskClosable={false} maskClosable={false}
...@@ -19,7 +27,14 @@ export default class FormModal extends React.Component { ...@@ -19,7 +27,14 @@ export default class FormModal extends React.Component {
visible={this.props.visible} visible={this.props.visible}
footer={null} footer={null}
onCancel={this.props.handleCancel}> onCancel={this.props.handleCancel}>
{this.props.children} {this.props.showFullScreen && (
<Button type={'primary'} onClick={showFullScreen}>
全屏查看
</Button>
)}
<div id={'smartFormModal'} className={styles.fullScreen}>
{this.props.children}
</div>
</Modal> </Modal>
); );
} }
......
...@@ -2579,12 +2579,13 @@ ${obj[dataColumn.base52]} ...@@ -2579,12 +2579,13 @@ ${obj[dataColumn.base52]}
src={filePath} src={filePath}
style={{ style={{
marginLeft: 5, marginLeft: 5,
minHeight: get === 'mobile' ? '200px' : 'auto',
width: width:
get === 'mobile' get === 'mobile'
? document.documentElement.clientWidth - 10 || ? 'auto'
document.body.clientWidth - 10
: json.width, : json.width,
height: get === 'mobile' ? '' : json.height, height: get === 'mobile' ? '' : json.height,
}} }}
/> />
); );
......
.fullScreen {
&:-webkit-full-screen {
width: 100%;
height: 100%;
padding: 100px;
background-color: #fff;
}
//&:div[data-page-formkey]{
// overflow: hidden;
//}
}
:global { :global {
// table{ // table{
// border-collapse:collapse; // border-collapse:collapse;
// } // }
#web_table .ant-form-item { #web_table .ant-form-item {
margin-bottom: 2.5px; margin-bottom: 2.5px;
margin-top: 2.5px; margin-top: 2.5px;
...@@ -264,6 +279,9 @@ ...@@ -264,6 +279,9 @@
.mobileList { .mobileList {
:global { :global {
.am-list-content {
white-space: pre-wrap !important; // 禅道30442
}
.am-list-item .am-list-line .am-list-extra { .am-list-item .am-list-line .am-list-extra {
white-space: normal; white-space: normal;
...@@ -290,7 +308,8 @@ ...@@ -290,7 +308,8 @@
min-height: 50px; min-height: 50px;
} }
} }
.bigTitle{
.bigTitle {
text-align: center; text-align: center;
font-size: 18px; font-size: 18px;
margin-bottom: 20px; margin-bottom: 20px;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论