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

26688 就业管理系统,就业处新增专场招聘信息,新增后详情页为空,编辑后也为空,账号:101307

上级 90bf65b7
...@@ -4,42 +4,48 @@ import styles from './index.less'; ...@@ -4,42 +4,48 @@ import styles from './index.less';
import { fetchTemplateByCode, fetchTableItem } from '@/webPublic/Services'; import { fetchTemplateByCode, fetchTableItem } from '@/webPublic/Services';
import { isJSON } from '@/webPublic/zyd_public/utils/utils'; import { isJSON } from '@/webPublic/zyd_public/utils/utils';
export default function RenderForm({ get = 'web', isCg = 'yes', style, ...rest }) { export default function RenderForm({
let content = rest?.postData?.unifiedServicePatternModel?.content; get = 'web',
if (isJSON(content)) { isCg = 'yes',
content = JSON.parse(content); style,
} ...rest
const tableRoot = useRef(); }) {
useEffect(() => { let content = rest?.postData?.unifiedServicePatternModel?.content;
const timerId = setTimeout(() => { if (isJSON(content)) {
const div = tableRoot.current && tableRoot.current.root; content = JSON.parse(content);
if (div) { }
div.style.overflow = 'unset'; const tableRoot = useRef();
} useEffect(() => {
let new_element = document.createElement('style'); const timerId = setTimeout(() => {
new_element.innerHTML = `main>div>#web_table .login-form>div>div>div{ const div = tableRoot.current && tableRoot.current.root;
if (div) {
div.style.overflow = 'unset';
}
let new_element = document.createElement('style');
new_element.innerHTML = `main>div>#web_table .login-form>div>div>div{
overflow: inherit !important; overflow: inherit !important;
}`; }`;
document.body.appendChild(new_element); document.body.appendChild(new_element);
}, 0); }, 0);
return () => { return () => {
clearTimeout(timerId); clearTimeout(timerId);
}; };
}, []); }, []);
if (!content) { if (!content) {
return null; return null;
} }
return (
<div className={styles.zyd_onestop_style_class} style={style}> return (
<ZdyTable ref={tableRoot} <div className={styles.zyd_onestop_style_class} style={style}>
<ZdyTable ref={tableRoot}
get={get} get={get}
{...rest} {...rest}
isQuery={true} isQuery={true}
init={undefined} init={undefined}
{...content} {...content}
/> />
</div> </div>
); );
} }
/** /**
...@@ -47,30 +53,37 @@ export default function RenderForm({ get = 'web', isCg = 'yes', style, ...rest } ...@@ -47,30 +53,37 @@ export default function RenderForm({ get = 'web', isCg = 'yes', style, ...rest }
* @param {Object} content 表单内容,传入对象 * @param {Object} content 表单内容,传入对象
* @param {String} templateCode 表单模板 * @param {String} templateCode 表单模板
*/ */
export function RenderFormByContent({ content, templateCode, form, get, isCg }) { export function RenderFormByContent({
const [formTemplate, setFormTemplate] = useState(); content,
useEffect( templateCode,
() => { form,
fetchTemplateByCode(templateCode).then((res) => { get,
if (res) { isCg
setFormTemplate(res); }) {
} const [formTemplate, setFormTemplate] = useState();
}); useEffect(
}, () => {
[templateCode], fetchTemplateByCode(templateCode)
); .then((res) => {
if (res) {
setFormTemplate(res);
}
});
},
[templateCode],
);
return formTemplate ? ( return formTemplate ? (
<RenderForm <RenderForm
get={get} get={get}
isCg={isCg} isCg={isCg}
postData={{ postData={{
content: JSON.stringify(content), content: JSON.stringify(content),
unifiedServicePatternModel: formTemplate, unifiedServicePatternModel: formTemplate,
}} }}
form={form} form={form}
/> />
) : null; ) : null;
} }
/** /**
...@@ -81,35 +94,40 @@ export function RenderFormByContent({ content, templateCode, form, get, isCg }) ...@@ -81,35 +94,40 @@ export function RenderFormByContent({ content, templateCode, form, get, isCg })
* @param {Function} onLoad 数据加载的回调函数 * @param {Function} onLoad 数据加载的回调函数
*/ */
export function RenderFormByObjId({ export function RenderFormByObjId({
objId, objId,
dataTypeKey, dataTypeKey,
dataTypeValue, dataTypeValue,
onLoad, onLoad,
templateCode, templateCode,
form, form,
get, get,
isCg, isCg,
}) { }) {
const [content, setContent] = useState({}); const [content, setContent] = useState({});
useEffect( useEffect(
() => { () => {
fetchTableItem({ dataObjId: objId, key: dataTypeKey, value: dataTypeValue }).then((res) => { fetchTableItem({
setContent(res || {}); dataObjId: objId,
if (onLoad) { key: dataTypeKey,
onLoad(res); value: dataTypeValue
} })
}); .then((res) => {
}, setContent(res || {});
[objId, dataTypeKey, dataTypeValue], if (onLoad) {
); onLoad(res);
}
});
},
[objId, dataTypeKey, dataTypeValue],
);
return ( return (
<RenderFormByContent <RenderFormByContent
get={get} get={get}
isCg={isCg} isCg={isCg}
content={content} content={content}
templateCode={templateCode} templateCode={templateCode}
form={form} form={form}
/> />
); );
} }
...@@ -14,1016 +14,1046 @@ import TableCom from '../tableCompon'; ...@@ -14,1016 +14,1046 @@ import TableCom from '../tableCompon';
import IsNewTable from './isNewMobileTable'; import IsNewTable from './isNewMobileTable';
import maintain from '../assets/maintain.png'; import maintain from '../assets/maintain.png';
import { isJSON } from '@/webPublic/one_stop_public/copy'; import { isJSON } from '@/webPublic/one_stop_public/copy';
export default class ZdyTable extends Component { export default class ZdyTable extends Component {
constructor(props) { constructor(props) {
super(props); super(props);
this.state = { this.state = {
objRealTime: {}, objRealTime: {},
isChange: false, isChange: false,
selects: new Map(), selects: new Map(),
left: 0, left: 0,
top: 0, top: 0,
max: 4, max: 4,
formId: null, formId: null,
formCode: null, formCode: null,
width: 100, width: 100,
mapData: {}, mapData: {},
defaultBinds: {}, defaultBinds: {},
sqlData: {}, sqlData: {},
defaultValues: {}, defaultValues: {},
currentFormKey: null, currentFormKey: null,
currentFormTitle: null, currentFormTitle: null,
items: [], items: [],
init: this.props.init || {}, init: this.props.init || {},
datas: {}, datas: {},
isEdit: true, isEdit: true,
isRowCol: false, isRowCol: false,
isReady: false, isReady: false,
formConfig: {}, formConfig: {},
}; };
} }
componentDidMount() { componentDidMount() {
const { const {
postData, // 数据源 postData, // 数据源
isCg, // 用户点击草稿页面进入 isCg, // 用户点击草稿页面进入
isForm, isForm,
isPreview, // 是否为预览模式 isPreview, // 是否为预览模式
isChild, // 是否为子表单 isChild, // 是否为子表单
isQRCode = false, // 是否为二维码快捷发起 isQRCode = false, // 是否为二维码快捷发起
formDeafault = '', // 为二维码快捷发起默认值 formDeafault = '', // 为二维码快捷发起默认值
} = this.props; } = this.props;
// if(this.props.currentFormKey === 'aa20cdbd-2019-45ea-8cdf-715aa46e132e'){ // if(this.props.currentFormKey === 'aa20cdbd-2019-45ea-8cdf-715aa46e132e'){
// } // }
if (isPreview || isChild) { if (isPreview || isChild) {
this.initExcel({ datas: this.props.datas, trees: this.props.trees }, () => { this.initExcel({
this.setState({ datas: this.props.datas,
...this.state, trees: this.props.trees
...this.props, }, () => {
formConfig: { ...this.state.formConfig, style: this.props.style }, this.setState({
isReady: true, ...this.state,
viewMode: ...this.props,
this.props.currentFormKey && formConfig: {
this.props.datas && ...this.state.formConfig,
this.props.datas[this.props.currentFormKey] style: this.props.style
? this.props.datas[this.props.currentFormKey].viewMode },
: null, isReady: true,
}); viewMode:
}); this.props.currentFormKey &&
this.props.datas &&
this.props.datas[this.props.currentFormKey]
? this.props.datas[this.props.currentFormKey].viewMode
: null,
});
});
return; return;
} }
const val = postData; const val = postData;
try { try {
/** /**
* 数据源不同进行以下区别处理 * 数据源不同进行以下区别处理
* this.props.table有传入值表明需要渲染流程中最新表单 * this.props.table有传入值表明需要渲染流程中最新表单
*/ */
if (isForm) { if (isForm) {
// 由表格的操作按钮进入 // 由表格的操作按钮进入
const mapData = {}; const mapData = {};
const sqlData = {}; const sqlData = {};
const dataObjs = val.form.dataObjModels; const dataObjs = val.form.dataObjModels;
for (var i = 0; i < dataObjs.length; i++) { for (var i = 0; i < dataObjs.length; i++) {
const dob = dataObjs[i]; const dob = dataObjs[i];
for (var j = 0; j < dob.columnModels.length; j++) { for (var j = 0; j < dob.columnModels.length; j++) {
mapData[dob.columnModels[j].base52] = dob.columnModels[j]; mapData[dob.columnModels[j].base52] = dob.columnModels[j];
} }
} }
const sqls = val.form.sqlModels; const sqls = val.form.sqlModels;
for (var i = 0; i < sqls.length; i++) { for (var i = 0; i < sqls.length; i++) {
const dob = sqls[i].dataObjModel; const dob = sqls[i].dataObjModel;
for (var j = 0; j < dob.columnModels.length; j++) { for (var j = 0; j < dob.columnModels.length; j++) {
sqlData[dob.columnModels[j].base52] = dob.columnModels[j]; sqlData[dob.columnModels[j].base52] = dob.columnModels[j];
} }
} }
const obj = JSON.parse(val.form.content); const obj = JSON.parse(val.form.content);
const xxx = obj.datas[obj.init]; const xxx = obj.datas[obj.init];
const fk = this.props.table ? val.formKey : obj.init; const fk = this.props.table ? val.formKey : obj.init;
this.initExcel(obj, () => { this.initExcel(obj, () => {
this.setState({ this.setState({
datas: obj.datas, datas: obj.datas,
width: this.props.table ? obj.datas[val.formKey].width : xxx.width, width: this.props.table ? obj.datas[val.formKey].width : xxx.width,
isBorder: this.props.table ? obj.datas[val.formKey].isBorder : xxx.isBorder, isBorder: this.props.table ? obj.datas[val.formKey].isBorder : xxx.isBorder,
viewMode: this.props.table ? obj.datas[val.formKey].viewMode : xxx.viewMode, viewMode: this.props.table ? obj.datas[val.formKey].viewMode : xxx.viewMode,
isRowCol: this.props.table ? obj.datas[val.formKey].isRowCol : xxx.isRowCol, isRowCol: this.props.table ? obj.datas[val.formKey].isRowCol : xxx.isRowCol,
mapData, mapData,
currentFormKey: fk, currentFormKey: fk,
currentFormTitle: this.getCurrentFormTitle(obj, fk), currentFormTitle: this.getCurrentFormTitle(obj, fk),
sqlData, sqlData,
isEdit: !this.props.formKey, isEdit: !this.props.formKey,
items: this.props.table ? obj.datas[val.formKey].items : xxx.items, items: this.props.table ? obj.datas[val.formKey].items : xxx.items,
defaultValues: val.form.defaultValues, defaultValues: val.form.defaultValues,
appId: val.appId, appId: val.appId,
isReady: true, isReady: true,
formConfig: xxx, formConfig: xxx,
}); });
}); });
return; return;
} }
if (isCg === 'yes') { if (isCg === 'yes') {
// 用户从编辑按钮进入 // 用户从编辑按钮进入
if ( if (
val.unifiedServicePatternModel.isDefaultError != null && val.unifiedServicePatternModel.isDefaultError != null &&
val.unifiedServicePatternModel.isDefaultError val.unifiedServicePatternModel.isDefaultError
) { ) {
if (this.props.get === 'web') { if (this.props.get === 'web') {
message.error('当前办理人数较多,服务繁忙,请稍后再试!'); message.error('当前办理人数较多,服务繁忙,请稍后再试!');
} else { } else {
Toast.fail('当前办理人数较多,服务繁忙,请稍后再试!'); Toast.fail('当前办理人数较多,服务繁忙,请稍后再试!');
} }
router.goBack(); router.goBack();
return; return;
} }
const mapData = {}; const mapData = {};
const sqlData = {}; const sqlData = {};
const sqls = val.unifiedServicePatternModel.sqlModels; const sqls = val.unifiedServicePatternModel.sqlModels;
for (var i = 0; i < sqls.length; i++) { for (var i = 0; i < sqls.length; i++) {
const dob = sqls[i].dataObjModel; const dob = sqls[i].dataObjModel;
for (var j = 0; j < dob.columnModels.length; j++) { for (var j = 0; j < dob.columnModels.length; j++) {
sqlData[dob.columnModels[j].base52] = dob.columnModels[j]; sqlData[dob.columnModels[j].base52] = dob.columnModels[j];
} }
} }
const dataObjs = val.unifiedServicePatternModel.dataObjModels; const dataObjs = val.unifiedServicePatternModel.dataObjModels;
for (var i = 0; i < dataObjs.length; i++) { for (var i = 0; i < dataObjs.length; i++) {
const dob = dataObjs[i]; const dob = dataObjs[i];
for (var j = 0; j < dob.columnModels.length; j++) { for (var j = 0; j < dob.columnModels.length; j++) {
mapData[dob.columnModels[j].base52] = dob.columnModels[j]; mapData[dob.columnModels[j].base52] = dob.columnModels[j];
} }
} }
const obj = JSON.parse(val.unifiedServicePatternModel.content); const obj = JSON.parse(val.unifiedServicePatternModel.content);
const xxx = obj.datas[obj.init]; const xxx = obj.datas[obj.init];
this.initExcel(obj, () => { this.initExcel(obj, () => {
this.setState({ this.setState({
items: xxx.items, items: xxx.items,
init: { ...this.state.init, ...JSON.parse(val.content) }, init: { ...this.state.init, ...JSON.parse(val.content) },
datas: obj.datas, datas: obj.datas,
isEdit: !this.props.formKey, isEdit: !this.props.formKey,
currentFormKey: obj.init, currentFormKey: obj.init,
currentFormTitle: this.getCurrentFormTitle(obj, obj.init), currentFormTitle: this.getCurrentFormTitle(obj, obj.init),
width: xxx.width, width: xxx.width,
isBorder: xxx.isBorder, isBorder: xxx.isBorder,
viewMode: xxx.viewMode, viewMode: xxx.viewMode,
isRowCol: xxx.isRowCol, isRowCol: xxx.isRowCol,
mapData, mapData,
sqlData, sqlData,
defaultValues: val.unifiedServicePatternModel.defaultValues, defaultValues: val.unifiedServicePatternModel.defaultValues,
appId: val.appId, appId: val.appId,
isReady: true, isReady: true,
formConfig: xxx, formConfig: xxx,
defaultBinds: this.props.table defaultBinds: this.props.table
? obj.datas[val.taskFormKey].defaultBinds ? obj.datas[val.taskFormKey].defaultBinds
: xxx.defaultBinds, : xxx.defaultBinds,
}); });
}); });
return; return;
} }
if ( if (
val.unifiedServicePatternModel.isDefaultError != null && val.unifiedServicePatternModel.isDefaultError != null &&
val.unifiedServicePatternModel.isDefaultError val.unifiedServicePatternModel.isDefaultError
) { ) {
if (this.props.get == 'web') { if (this.props.get == 'web') {
message.error('当前办理人数较多,服务繁忙,请稍后再试!'); message.error('当前办理人数较多,服务繁忙,请稍后再试!');
} else { } else {
Toast.fail('当前办理人数较多,服务繁忙,请稍后再试!'); Toast.fail('当前办理人数较多,服务繁忙,请稍后再试!');
} }
router.goBack(); router.goBack();
return; return;
} }
const mapData = {}; const mapData = {};
const sqlData = {}; const sqlData = {};
const sqls = val.unifiedServicePatternModel.sqlModels; const sqls = val.unifiedServicePatternModel.sqlModels;
for (var i = 0; i < sqls.length; i++) { for (var i = 0; i < sqls.length; i++) {
const dob = sqls[i].dataObjModel; const dob = sqls[i].dataObjModel;
for (var j = 0; j < dob.columnModels.length; j++) { for (var j = 0; j < dob.columnModels.length; j++) {
sqlData[dob.columnModels[j].base52] = dob.columnModels[j]; sqlData[dob.columnModels[j].base52] = dob.columnModels[j];
} }
} }
const dataObjs = val.unifiedServicePatternModel.dataObjModels; const dataObjs = val.unifiedServicePatternModel.dataObjModels;
for (var i = 0; i < dataObjs.length; i++) { for (var i = 0; i < dataObjs.length; i++) {
const dob = dataObjs[i]; const dob = dataObjs[i];
for (var j = 0; j < dob.columnModels.length; j++) { for (var j = 0; j < dob.columnModels.length; j++) {
mapData[dob.columnModels[j].base52] = dob.columnModels[j]; mapData[dob.columnModels[j].base52] = dob.columnModels[j];
} }
} }
if (!isJSON(val.unifiedServicePatternModel.content)) { if (!isJSON(val.unifiedServicePatternModel.content)) {
console.error('unifiedServicePatternModel.content 不是一个JSON字符串 请查看配置'); console.error('unifiedServicePatternModel.content 不是一个JSON字符串 请查看配置');
} }
const obj = JSON.parse(val.unifiedServicePatternModel.content); const obj = JSON.parse(val.unifiedServicePatternModel.content);
const xxx = obj.datas[this.props.formKey ? this.props.formKey : obj.init]; // 是否是存在历史表单传入值 const xxx = obj.datas[this.props.formKey ? this.props.formKey : obj.init]; // 是否是存在历史表单传入值
const fk = this.props.formKey const fk = this.props.formKey
? this.props.formKey ? this.props.formKey
: val.taskFormKey : val.taskFormKey
? val.taskFormKey ? val.taskFormKey
: obj.init; : obj.init;
// console.log('231--------'); // console.log('231--------');
this.initExcel(obj, () => this.initExcel(obj, () =>
this.setState( this.setState(
{ {
appId: val.id, appId: val.id,
formId: val.id, formId: val.id,
formCode: val.code, formCode: val.code,
datas: obj.datas, datas: obj.datas,
mapData, mapData,
sqlData, sqlData,
defaultValues: val.unifiedServicePatternModel.defaultValues, defaultValues: val.unifiedServicePatternModel.defaultValues,
isEdit: !this.props.formKey, isEdit: !this.props.formKey,
currentFormKey: fk, currentFormKey: fk,
currentFormTitle: this.getCurrentFormTitle(obj, fk), currentFormTitle: this.getCurrentFormTitle(obj, fk),
defaultBinds: this.props.table defaultBinds: this.props.table
? obj.datas[val.taskFormKey].defaultBinds ? obj.datas[val.taskFormKey].defaultBinds
: xxx.defaultBinds, : xxx.defaultBinds,
width: this.props.table ? obj.datas[val.taskFormKey].width : xxx.width, width: this.props.table ? obj.datas[val.taskFormKey].width : xxx.width,
isBorder: this.props.table ? obj.datas[val.taskFormKey].isBorder : xxx.isBorder, isBorder: this.props.table ? obj.datas[val.taskFormKey].isBorder : xxx.isBorder,
isRowCol: this.props.table ? obj.datas[val.taskFormKey].isRowCol : xxx.isRowCol, isRowCol: this.props.table ? obj.datas[val.taskFormKey].isRowCol : xxx.isRowCol,
viewMode: this.props.table ? obj.datas[val.taskFormKey].viewMode : xxx.viewMode, viewMode: this.props.table ? obj.datas[val.taskFormKey].viewMode : xxx.viewMode,
items: this.props.table ? obj.datas[val.taskFormKey].items : xxx.items, items: this.props.table ? obj.datas[val.taskFormKey].items : xxx.items,
isReady: true, isReady: true,
init: { ...this.state.init, ...(val.isSecond ? this.props.obj : {}) }, // 重新发起就拿obj 里面的值给初始值 init: { ...this.state.init, ...(val.isSecond ? this.props.obj : {}) }, // 重新发起就拿obj 里面的值给初始值
formConfig: xxx, formConfig: xxx,
// init:this.props.get==="mobile"?!!val.content?JSON.parse(val.content):'':{},// 移动端默认值设置 // init:this.props.get==="mobile"?!!val.content?JSON.parse(val.content):'':{},// 移动端默认值设置
}, },
() => { () => {
/** /**
* 为二维码快捷发起时自动设置新默认值 * 为二维码快捷发起时自动设置新默认值
*/ */
if (isQRCode) { if (isQRCode) {
this.props.form.setFieldsValue(formDeafault); this.props.form.setFieldsValue(formDeafault);
} }
this.initExcel(obj); this.initExcel(obj);
}, },
), ),
); );
} catch (e) { } catch (e) {
console.log('公式配置有误/Table/index-262', e); console.log('公式配置有误/Table/index-262', e);
} }
} }
importExcel = (res, callback) => { importExcel = (res, callback) => {
if(this.props.importExcel) { if (this.props.importExcel) {
this.props.importExcel(res,callback); this.props.importExcel(res, callback);
return } return;
const { datas, trees } = this.configs; }
const sheets = res.sheets; const {
datas,
trees
} = this.configs;
const sheets = res.sheets;
for (var s = 0; s < sheets.length; s++) { for (var s = 0; s < sheets.length; s++) {
const uuid = sheets[s].key; const uuid = sheets[s].key;
const items = []; const items = [];
const cc = sheets[s].cells; const cc = sheets[s].cells;
for (var i = 0; i < cc.length; i++) { for (var i = 0; i < cc.length; i++) {
const rows = []; const rows = [];
const rr = cc[i]; const rr = cc[i];
for (var j = 0; j < rr.length; j++) { for (var j = 0; j < rr.length; j++) {
const c = rr[j]; const c = rr[j];
if (c.value == null || c.value == '') { if (c.value == null || c.value == '') {
rows.push({ rows.push({
uuid: 'id_' + UUID.v4().replace(/-/g, '2'), uuid: 'id_' + UUID.v4()
row: c.rowSpan, .replace(/-/g, '2'),
col: c.colSpan, row: c.rowSpan,
content: { comName: 'Excel', cwidth: c.width, cheight: c.height }, col: c.colSpan,
}); content: {
} else { comName: 'Excel',
rows.push({ cwidth: c.width,
uuid: 'id_' + UUID.v4().replace(/-/g, '2'), cheight: c.height
row: c.rowSpan, },
col: c.colSpan, });
content: { } else {
comName: 'Excel', rows.push({
initialValue: c.value, uuid: 'id_' + UUID.v4()
cwidth: c.width, .replace(/-/g, '2'),
cheight: c.height, row: c.rowSpan,
}, col: c.colSpan,
}); content: {
} comName: 'Excel',
} initialValue: c.value,
items.push(rows); cwidth: c.width,
} cheight: c.height,
},
});
}
}
items.push(rows);
}
const charts = sheets[s].charts; const charts = sheets[s].charts;
if (charts && charts.length > 0) { if (charts && charts.length > 0) {
const rows = []; const rows = [];
for (var j = 0; j < charts.length; j++) { for (var j = 0; j < charts.length; j++) {
const chartModel = charts[j]; const chartModel = charts[j];
rows.push({ rows.push({
uuid: 'id_' + UUID.v4().replace(/-/g, '2'), uuid: 'id_' + UUID.v4()
content: { .replace(/-/g, '2'),
comName: 'Echart', content: {
columnIds: { c1: [] }, comName: 'Echart',
labelSpan: 24, columnIds: { c1: [] },
wrapperSpan: 24, labelSpan: 24,
isLabel: false, wrapperSpan: 24,
formula: 'return ' + JSON.stringify(chartModel.option), isLabel: false,
}, formula: 'return ' + JSON.stringify(chartModel.option),
}); },
items.push(rows); });
} items.push(rows);
} }
if (datas[uuid] == null) { }
trees.push({ title: sheets[s].name, key: uuid }); if (datas[uuid] == null) {
} trees.push({
datas[uuid] = { title: sheets[s].name,
width: 400, key: uuid
max: 1, });
isBorder: true, }
items: items, datas[uuid] = {
}; width: 400,
} max: 1,
this.initExcel( isBorder: true,
{ items: items,
datas, };
trees, }
}, this.initExcel(
() => { {
this.setState({ isChange: !this.state.isChange }, () => { datas,
if (callback) callback(); trees,
}); },
() => {
this.setState({ isChange: !this.state.isChange }, () => {
if (callback) callback();
});
console.log('公式导入excel成功'); console.log('公式导入excel成功');
}, },
); );
}; };
hfInstance; hfInstance;
childExcel = (sheetData, datas, tr) => { childExcel = (sheetData, datas, tr) => {
if (tr.children == null || tr.children.length == 0) { if (tr.children == null || tr.children.length == 0) {
} else { } else {
for (var c = 0; c < tr.children.length; c++) { for (var c = 0; c < tr.children.length; c++) {
this.childExcel(sheetData, datas, tr.children[c]); this.childExcel(sheetData, datas, tr.children[c]);
} }
} }
const data = datas[tr.key]; const data = datas[tr.key];
const all = []; const all = [];
for (var i = 0; i < data.items.length; i++) { for (var i = 0; i < data.items.length; i++) {
const row = data.items[i]; const row = data.items[i];
const r = []; const r = [];
for (var j = 0; j < row.length; j++) { for (var j = 0; j < row.length; j++) {
const col = row[j]; const col = row[j];
if (col.content?.comName == 'Excel') { if (col.content?.comName == 'Excel') {
r.push(col.content.initialValue); r.push(col.content.initialValue);
} else { } else {
r.push(''); r.push('');
} }
} }
all.push(r); all.push(r);
} }
sheetData[tr.title] = all; sheetData[tr.title] = all;
}; };
configs; configs;
initExcel = (configs, callback) => { initExcel = (configs, callback) => {
this.configs = configs; this.configs = configs;
// console.log(configs); // console.log(configs);
if (configs == null || configs.trees == null) { if (configs == null || configs.trees == null) {
if (callback) callback(); if (callback) callback();
return; return;
} }
const sheetData = {}; const sheetData = {};
for (var key in configs.trees) { for (var key in configs.trees) {
const tr = configs.trees[key]; const tr = configs.trees[key];
this.childExcel(sheetData, configs.datas, tr); this.childExcel(sheetData, configs.datas, tr);
} }
const hfInstance = HyperFormula.buildFromSheets(sheetData, {}); const hfInstance = HyperFormula.buildFromSheets(sheetData, {});
this.hfInstance = hfInstance; this.hfInstance = hfInstance;
if (callback) callback(); if (callback) callback();
}; };
getCellValue = (i, j, currentTitle) => { getCellValue = (i, j, currentTitle) => {
let hfInstance = this.props.hfInstance ? this.props.hfInstance : this.hfInstance; let hfInstance = this.props.hfInstance ? this.props.hfInstance : this.hfInstance;
if (hfInstance && currentTitle) { if (hfInstance && currentTitle) {
let x = hfInstance.getCellValue({ let x = hfInstance.getCellValue({
col: j, col: j,
row: i, row: i,
sheet: hfInstance.getSheetId(currentTitle), sheet: hfInstance.getSheetId(currentTitle),
}); });
if (x && x.value != null) { if (x && x.value != null) {
x = x.value; x = x.value;
} }
return x; return x;
} }
}; };
componentWillReceiveProps(nextProps) { componentWillReceiveProps(nextProps) {
const { const {
postData, // 数据源 postData, // 数据源
isCg, // 用户点击草稿页面进入 isCg, // 用户点击草稿页面进入
isForm, isForm,
isPreview, // 是否为预览模式 isPreview, // 是否为预览模式
isChild, // 是否为子表单 isChild, // 是否为子表单
} = nextProps; } = nextProps;
if (isPreview || isChild) { if (isPreview || isChild) {
this.setState( this.setState(
{ {
...this.state, ...this.state,
...nextProps, ...nextProps,
isReady: true, isReady: true,
viewMode: viewMode:
nextProps.currentFormKey && nextProps.datas && nextProps.datas[nextProps.currentFormKey] nextProps.currentFormKey && nextProps.datas && nextProps.datas[nextProps.currentFormKey]
? nextProps.datas[nextProps.currentFormKey].viewMode ? nextProps.datas[nextProps.currentFormKey].viewMode
: null, : null,
formConfig: { ...this.state.formConfig, style: nextProps.style }, formConfig: {
}, ...this.state.formConfig,
() => this.initExcel({ datas: nextProps.datas, trees: nextProps.trees }), style: nextProps.style
); },
return; },
} () => this.initExcel({
datas: nextProps.datas,
trees: nextProps.trees
}),
);
return;
}
try { try {
const val = postData; const val = postData;
/** /**
* 数据源不同进行以下区别处理 * 数据源不同进行以下区别处理
* this.props.table有传入值表明需要渲染流程中最新表单 * this.props.table有传入值表明需要渲染流程中最新表单
*/ */
if (isForm) { if (isForm) {
// 由表格的操作按钮进入 // 由表格的操作按钮进入
const mapData = {}; const mapData = {};
const sqlData = {}; const sqlData = {};
const dataObjs = val.form.dataObjModels; const dataObjs = val.form.dataObjModels;
for (var i = 0; i < dataObjs.length; i++) { for (var i = 0; i < dataObjs.length; i++) {
const dob = dataObjs[i]; const dob = dataObjs[i];
for (var j = 0; j < dob.columnModels.length; j++) { for (var j = 0; j < dob.columnModels.length; j++) {
mapData[dob.columnModels[j].base52] = dob.columnModels[j]; mapData[dob.columnModels[j].base52] = dob.columnModels[j];
} }
} }
const sqls = val.form.sqlModels; const sqls = val.form.sqlModels;
for (var i = 0; i < sqls.length; i++) { for (var i = 0; i < sqls.length; i++) {
const dob = sqls[i].dataObjModel; const dob = sqls[i].dataObjModel;
for (var j = 0; j < dob.columnModels.length; j++) { for (var j = 0; j < dob.columnModels.length; j++) {
sqlData[dob.columnModels[j].base52] = dob.columnModels[j]; sqlData[dob.columnModels[j].base52] = dob.columnModels[j];
} }
} }
const obj = JSON.parse(val.form.content); const obj = JSON.parse(val.form.content);
const xxx = obj.datas[obj.init]; const xxx = obj.datas[obj.init];
this.initExcel(obj, () => { this.initExcel(obj, () => {
this.setState({ this.setState({
datas: obj.datas, datas: obj.datas,
width: this.props.table ? obj.datas[val.formKey].width : xxx.width, width: this.props.table ? obj.datas[val.formKey].width : xxx.width,
isRowCol: this.props.table ? obj.datas[val.formKey].isRowCol : xxx.isRowCol, isRowCol: this.props.table ? obj.datas[val.formKey].isRowCol : xxx.isRowCol,
isBorder: this.props.table ? obj.datas[val.formKey].isBorder : xxx.isBorder, isBorder: this.props.table ? obj.datas[val.formKey].isBorder : xxx.isBorder,
mapData, mapData,
currentFormKey: this.props.table ? val.formKey : obj.init, currentFormKey: this.props.table ? val.formKey : obj.init,
currentFormTitle: this.getCurrentFormTitle(obj, fk), currentFormTitle: this.getCurrentFormTitle(obj, fk),
sqlData, sqlData,
isEdit: !this.props.formKey, isEdit: !this.props.formKey,
items: this.props.table ? obj.datas[val.formKey].items : xxx.items, items: this.props.table ? obj.datas[val.formKey].items : xxx.items,
defaultValues: val.form.defaultValues, defaultValues: val.form.defaultValues,
appId: val.appId, appId: val.appId,
isReady: true, isReady: true,
formConfig: xxx, formConfig: xxx,
}); });
}); });
return; return;
} }
if (isCg === 'yes') { if (isCg === 'yes') {
// 用户从编辑按钮进入 // 用户从编辑按钮进入
const mapData = {}; const mapData = {};
const sqlData = {}; const sqlData = {};
const sqls = val.unifiedServicePatternModel.sqlModels; const sqls = val.unifiedServicePatternModel.sqlModels;
for (var i = 0; i < sqls.length; i++) { for (var i = 0; i < sqls.length; i++) {
const dob = sqls[i].dataObjModel; const dob = sqls[i].dataObjModel;
for (var j = 0; j < dob.columnModels.length; j++) { for (var j = 0; j < dob.columnModels.length; j++) {
sqlData[dob.columnModels[j].base52] = dob.columnModels[j]; sqlData[dob.columnModels[j].base52] = dob.columnModels[j];
} }
} }
const dataObjs = val.unifiedServicePatternModel.dataObjModels; const dataObjs = val.unifiedServicePatternModel.dataObjModels;
for (var i = 0; i < dataObjs.length; i++) { for (var i = 0; i < dataObjs.length; i++) {
const dob = dataObjs[i]; const dob = dataObjs[i];
for (var j = 0; j < dob.columnModels.length; j++) { for (var j = 0; j < dob.columnModels.length; j++) {
mapData[dob.columnModels[j].base52] = dob.columnModels[j]; mapData[dob.columnModels[j].base52] = dob.columnModels[j];
} }
} }
const obj = JSON.parse(val.unifiedServicePatternModel.content); const obj = JSON.parse(val.unifiedServicePatternModel.content);
const xxx = obj.datas[obj.init]; const xxx = obj.datas[obj.init];
this.initExcel(obj, () => { this.initExcel(obj, () => {
this.setState({ this.setState({
items: xxx.items, items: xxx.items,
init: { ...this.state.init, ...JSON.parse(val.content) }, init: { ...this.state.init, ...JSON.parse(val.content) },
datas: obj.datas, datas: obj.datas,
isEdit: !this.props.formKey, isEdit: !this.props.formKey,
currentFormKey: obj.init, currentFormKey: obj.init,
currentFormTitle: this.getCurrentFormTitle(obj, obj.init), currentFormTitle: this.getCurrentFormTitle(obj, obj.init),
width: xxx.width, width: xxx.width,
isBorder: xxx.isBorder, isBorder: xxx.isBorder,
isRowCol: xxx.isRowCol, isRowCol: xxx.isRowCol,
mapData, mapData,
sqlData, sqlData,
defaultValues: val.unifiedServicePatternModel.defaultValues, defaultValues: val.unifiedServicePatternModel.defaultValues,
appId: val.appId, appId: val.appId,
isReady: true, isReady: true,
formConfig: xxx, formConfig: xxx,
defaultBinds: this.props.table defaultBinds: this.props.table
? obj.datas[val.taskFormKey].defaultBinds ? obj.datas[val.taskFormKey].defaultBinds
: xxx.defaultBinds, : xxx.defaultBinds,
}); });
}); });
return; return;
} }
const mapData = {}; const mapData = {};
const sqlData = {}; const sqlData = {};
const sqls = val.unifiedServicePatternModel.sqlModels; const sqls = val.unifiedServicePatternModel.sqlModels;
for (var i = 0; i < sqls.length; i++) { for (var i = 0; i < sqls.length; i++) {
const dob = sqls[i].dataObjModel; const dob = sqls[i].dataObjModel;
for (var j = 0; j < dob.columnModels.length; j++) { for (var j = 0; j < dob.columnModels.length; j++) {
sqlData[dob.columnModels[j].base52] = dob.columnModels[j]; sqlData[dob.columnModels[j].base52] = dob.columnModels[j];
} }
} }
const dataObjs = val.unifiedServicePatternModel.dataObjModels; const dataObjs = val.unifiedServicePatternModel.dataObjModels;
for (var i = 0; i < dataObjs.length; i++) { for (var i = 0; i < dataObjs.length; i++) {
const dob = dataObjs[i]; const dob = dataObjs[i];
for (var j = 0; j < dob.columnModels.length; j++) { for (var j = 0; j < dob.columnModels.length; j++) {
mapData[dob.columnModels[j].base52] = dob.columnModels[j]; mapData[dob.columnModels[j].base52] = dob.columnModels[j];
} }
} }
const obj = JSON.parse(val.unifiedServicePatternModel.content); const obj = JSON.parse(val.unifiedServicePatternModel.content);
const xxx = obj.datas[this.props.formKey ? this.props.formKey : obj.init]; // 是否是存在历史表单传入值 const xxx = obj.datas[this.props.formKey ? this.props.formKey : obj.init]; // 是否是存在历史表单传入值
if (this.props.isQuery) return; if (this.props.isQuery) return;
const fk = this.props.formKey const fk = this.props.formKey
? this.props.formKey ? this.props.formKey
: val.taskFormKey : val.taskFormKey
? val.taskFormKey ? val.taskFormKey
: obj.init; : obj.init;
this.initExcel(obj, () => { this.initExcel(obj, () => {
this.setState({ this.setState({
appId: val.id, appId: val.id,
datas: obj.datas, datas: obj.datas,
mapData, mapData,
sqlData, sqlData,
defaultValues: val.unifiedServicePatternModel.defaultValues, defaultValues: val.unifiedServicePatternModel.defaultValues,
isEdit: !this.props.formKey, isEdit: !this.props.formKey,
currentFormKey: fk, currentFormKey: fk,
currentFormTitle: this.getCurrentFormTitle(obj, fk), currentFormTitle: this.getCurrentFormTitle(obj, fk),
defaultBinds: this.props.table defaultBinds: this.props.table
? obj.datas[val.taskFormKey].defaultBinds ? obj.datas[val.taskFormKey].defaultBinds
: xxx.defaultBinds, : xxx.defaultBinds,
width: this.props.table ? obj.datas[val.taskFormKey].width : xxx.width, width: this.props.table ? obj.datas[val.taskFormKey].width : xxx.width,
isBorder: this.props.table ? obj.datas[val.taskFormKey].isBorder : xxx.isBorder, isBorder: this.props.table ? obj.datas[val.taskFormKey].isBorder : xxx.isBorder,
isRowCol: this.props.table ? obj.datas[val.taskFormKey].isRowCol : xxx.isRowCol, isRowCol: this.props.table ? obj.datas[val.taskFormKey].isRowCol : xxx.isRowCol,
items: this.props.table ? obj.datas[val.taskFormKey].items : xxx.items, items: this.props.table ? obj.datas[val.taskFormKey].items : xxx.items,
isReady: true, isReady: true,
init: { init: {
...this.state.init, ...this.state.init,
...(val.isSecond ? this.props.obj : {}), ...(val.isSecond ? this.props.obj : {}),
}, },
formConfig: xxx, formConfig: xxx,
// init:this.props.get==="mobile"?!!val.content?JSON.parse(val.content):'':{},// 移动端默认值设置 // init:this.props.get==="mobile"?!!val.content?JSON.parse(val.content):'':{},// 移动端默认值设置
}); });
}); });
} catch (e) { } catch (e) {
console.log('公式配置有误Table/index.jsx/572', e); console.log('公式配置有误Table/index.jsx/572', e);
} }
} }
checkAllHidden = (row) => { checkAllHidden = (row) => {
for (var i = 0; i < row.length; i++) { for (var i = 0; i < row.length; i++) {
if (row[i].hidden == null || !row[i].hidden) { if (row[i].hidden == null || !row[i].hidden) {
return false; return false;
} }
} }
for (var i = 0; i < row.length; i++) { for (var i = 0; i < row.length; i++) {
delete row[i].hidden; delete row[i].hidden;
} }
return true; return true;
}; };
countMax = (items) => { countMax = (items) => {
let max = 0; let max = 0;
items.forEach((r) => { items.forEach((r) => {
if (r.length > max) { if (r.length > max) {
max = r.length; max = r.length;
} }
}); });
return max; return max;
}; };
getCurrentFormTitle = (obj, key) => { getCurrentFormTitle = (obj, key) => {
if (obj == null) return; if (obj == null) return;
const { trees } = obj; const { trees } = obj;
if (trees == null) return; if (trees == null) return;
return this.getT(trees, key); return this.getT(trees, key);
}; };
getCurrentFormTitle2 = (key) => { getCurrentFormTitle2 = (key) => {
if (this.configs == null) return; if (this.configs == null) return;
const trees = this.configs&&this.configs.trees?this.configs.trees:this.props.trees; const trees = this.configs && this.configs.trees ? this.configs.trees : this.props.trees;
if (trees == null) return; if (trees == null) return;
return this.getT(trees, key); return this.getT(trees, key);
}; };
setRealTimeValues = (obj) => { setRealTimeValues = (obj) => {
this.setState({ objRealTime: obj }); this.setState({ objRealTime: obj });
}; };
getT = (trees, key) => { getT = (trees, key) => {
for (var i in trees) { for (var i in trees) {
if (trees[i].key == key) { if (trees[i].key == key) {
return trees[i].title; return trees[i].title;
} }
if (trees[i].children != null&& trees[i].children.length> 0) { if (trees[i].children != null && trees[i].children.length > 0) {
const x = this.getT(trees[i].children, key); const x = this.getT(trees[i].children, key);
if(x!=null) return x if (x != null) return x;
} }
} }
return null; return null;
}; };
render() { render() {
const { const {
width, width,
isRowCol, isRowCol,
isBorder, isBorder,
sqlData, sqlData,
mapData, mapData,
defaultBinds, defaultBinds,
defaultValues, defaultValues,
items, items,
init, init,
currentFormKey, currentFormKey,
currentFormTitle, currentFormTitle,
isEdit, isEdit,
datas, datas,
isReady, isReady,
formConfig, formConfig,
formCode, formCode,
formId, formId,
viewMode, viewMode,
} = this.state; } = this.state;
const { const {
border, border,
obj, obj,
index, index,
fatherCode, fatherCode,
routerState, // 场景设计器共享路由参数 routerState, // 场景设计器共享路由参数
messageData, // 场景设计器共享变量参数 设计器监听到参数发生变化后会重新渲染组件 messageData, // 场景设计器共享变量参数 设计器监听到参数发生变化后会重新渲染组件
postData, postData,
modalInit, modalInit,
concealModel, // 场景设计器内置跳转函数 concealModel, // 场景设计器内置跳转函数
paddingBottom, paddingBottom,
taskAssignee, taskAssignee,
userId, userId,
isDynamic, // 是否为大数据页面 isDynamic, // 是否为大数据页面
isWebPrint, // 打印界面 isWebPrint, // 打印界面
isWebPrintEnd, isWebPrintEnd,
isPreview, isPreview,
} = this.props; } = this.props;
const trees = this.configs&&this.configs.trees?this.configs.trees:this.props.trees; const trees = this.configs && this.configs.trees ? this.configs.trees : this.props.trees;
let get; let get;
if (viewMode != null && viewMode != '') { if (viewMode != null && viewMode != '') {
get = viewMode; get = viewMode;
} else { } else {
get = this.props.get; get = this.props.get;
} }
let style = {}; let style = {};
if (formConfig.style != null) { if (formConfig.style != null) {
try { try {
style = JSON.parse(formConfig.style); style = JSON.parse(formConfig.style);
} catch (e) { } catch (e) {
//console.log(e); //console.log(e);
style = {}; style = {};
} }
} }
const formItemLayout = { const formItemLayout = {
labelCol: { labelCol: {
xs: { span: 24 }, xs: { span: 24 },
sm: { span: 24 }, sm: { span: 24 },
}, },
wrapperCol: { wrapperCol: {
xs: { span: 24 }, xs: { span: 24 },
sm: { span: 24 }, sm: { span: 24 },
}, },
}; };
const max = this.countMax(items); const max = this.countMax(items);
const borderStyle = { const borderStyle = {
borderRight: '1px solid gray', borderRight: '1px solid gray',
borderTop: '1px solid gray', borderTop: '1px solid gray',
borderLeft: '1px solid gray', borderLeft: '1px solid gray',
borderBottom: '1px solid gray', borderBottom: '1px solid gray',
}; };
const borderStyleTwo = { let updateTime;
// 处理隐藏组件边框样式问题 const styleDiv = this.props.height
borderRight: '1px solid gray', ? {
borderLeft: '1px solid gray', overflow: isDynamic ? 'hidden' : 'auto',
borderTop: '1px solid gray', // overflowY: isDynamic && 'auto',
}; width: '100%',
let updateTime; height: this.props.height,
const styleDiv = this.props.height paddingBottom: paddingBottom != null ? paddingBottom : isWebPrint ? 0 : '0px',
? { }
overflow: isDynamic ? 'hidden' : 'auto', : {
// overflowY: isDynamic && 'auto', overflow: isDynamic ? 'hidden' : 'auto',
width: '100%', // overflowY: isDynamic && 'auto',
height: this.props.height, width: '100%',
paddingBottom: paddingBottom != null ? paddingBottom : isWebPrint ? 0 : '0px', paddingBottom: paddingBottom != null ? paddingBottom : isWebPrint ? 0 : '0px',
} };
: {
overflow: isDynamic ? 'hidden' : 'auto',
// overflowY: isDynamic && 'auto',
width: '100%',
paddingBottom: paddingBottom != null ? paddingBottom : isWebPrint ? 0 : '0px',
};
if (!isReady) return <></>; if (!isReady) return <></>;
if (this.props.postData?.isUpdate) { if (this.props.postData?.isUpdate) {
updateTime = moment(+this.props.postData?.updateTime).format('llll'); updateTime = moment(+this.props.postData?.updateTime)
} .format('llll');
}
if (this.props.currentFormKey === 'aa20cdbd-2019-45ea-8cdf-715aa46e132e') { if (this.props.currentFormKey === 'a05771be-44c9-4fd6-b579-f8d7b2133206') {
console.log(this); debugger;
} console.log(this);
}
switch (get) { switch (get) {
case 'web': case 'web':
return ( // this.props.form.validateFields()
<> // .then((values) => {
{this.props.postData?.isUpdate ? ( // })
<div style={{ margin: '100px 24px 24px' }}> // .catch(error => console.log(error));
<div style={{ textAlign: 'center' }}> return (
<img style={{ marginRight: 30 }} src={maintain} /> <>
</div> {this.props.postData?.isUpdate ? (
<p <div style={{ margin: '100px 24px 24px' }}>
style={{ <div style={{ textAlign: 'center' }}>
textAlign: 'center', <img style={{ marginRight: 30 }} src={maintain}/>
width: '100%', </div>
fontSize: '16px', <p
fontWeight: 'bold', style={{
color: '#666666', textAlign: 'center',
}}> width: '100%',
{updateTime !== 'Invalid date' fontSize: '16px',
? `升级维护中,预计${updateTime ?? '一万年'}恢复使用,请耐心等待。` fontWeight: 'bold',
: '请耐心等待'} color: '#666666',
</p> }}>
</div> {updateTime !== 'Invalid date'
) : ( ? `升级维护中,预计${updateTime ?? '一万年'}恢复使用,请耐心等待。`
<div id="web_table"> : '请耐心等待'}
<Form className="login-form"> </p>
{isEdit && defaultBinds </div>
? Object.keys(defaultBinds).map((k) => { ) : (
const r = defaultBinds[k]; <div id="web_table">
if ( <Form className="login-form">
r.columnIds == null || {isEdit && defaultBinds
r.columnIds.length < 2 || ? Object.keys(defaultBinds)
r.sqls == null || .map((k) => {
r.sqls.length < 2 const r = defaultBinds[k];
) { if (
return ''; r.columnIds == null ||
} r.columnIds.length < 2 ||
const name = r.columnIds[r.columnIds.length - 1]; r.sqls == null ||
const key = r.sqls[r.sqls.length - 1]; r.sqls.length < 2
const value = defaultValues[key]; ) {
return '';
}
const name = r.columnIds[r.columnIds.length - 1];
const key = r.sqls[r.sqls.length - 1];
const value = defaultValues[key];
if (value === null || value === undefined) { if (value === null || value === undefined) {
return ''; return '';
} }
return this.props.form.getFieldDecorator(name, { return this.props.form.getFieldDecorator(name, {
initialValue: value, initialValue: value,
})(<Input type="hidden" />); })(<Input type="hidden"/>);
}) })
: ''} : ''}
<Row> <Row>
<Col span={24}> <Col span={24}>
<div <div
style={styleDiv} style={styleDiv}
ref={(ref) => { ref={(ref) => {
this.root = ref; this.root = ref;
}}> }}>
<table <table
style={{ style={{
overflow: 'auto', overflow: 'auto',
margin: max * width > 550 ? 'auto' : '', margin: max * width > 550 ? 'auto' : '',
marginBottom: isWebPrint ? (isWebPrintEnd ? '5px' : 0) : '1px', marginBottom: isWebPrint ? (isWebPrintEnd ? '5px' : 0) : '1px',
...style, ...style,
}} }}
border={border} border={border}
cellSpacing="0" cellSpacing="0"
cellPadding="0"> cellPadding="0">
<tbody> <tbody>
{items.map((row, i) => { {items.map((row, i) => {
const allhidden = this.checkAllHidden(row); const allhidden = this.checkAllHidden(row);
// console.log(row); // console.log(row);
return ( return (
<tr key={i}> <tr key={i}>
{row.map((cell, j) => { {row.map((cell, j) => {
if (!cell.content) { if (!cell.content) {
return; return;
} }
let styles = {}; let styles = {};
if (cell.content && cell.content.styles) { if (cell.content && cell.content.styles) {
try { try {
styles = JSON.parse(cell.content.styles); styles = JSON.parse(cell.content.styles);
} catch (e) { } catch (e) {
console.log(`第${i}行第${j}列样式配置有误,${e}`); console.log(`第${i}行第${j}列样式配置有误,${e}`);
} }
} }
return !allhidden && cell.hidden ? ( return !allhidden && cell.hidden ? (
'' ''
) : ( ) : (
<td <td
width={ width={
i == 0 i == 0
? (cell.content != null && cell.content.cwidth != null ? (cell.content != null && cell.content.cwidth != null
? cell.content.cwidth ? cell.content.cwidth
: width) * (cell.col ? cell.col : 1) : width) * (cell.col ? cell.col : 1)
: width * (cell.col ? cell.col : 1) : width * (cell.col ? cell.col : 1)
} }
rowSpan={cell.row} rowSpan={cell.row}
colSpan={cell.col} colSpan={cell.col}
key={j} key={j}
data-cell-id={cell.uuid || 'no_uuid_' + Math.random().slice(0,6)} data-cell-id={cell.uuid || 'no_uuid_' + Math.random()
style={{ .slice(0, 6)}
overflow: 'auto', style={{
textAlign: overflow: 'auto',
cell.content && cell.content.calign textAlign:
? cell.content.calign cell.content && cell.content.calign
: 'left', ? cell.content.calign
...(isBorder : 'left',
? cell?.content?.comName == 'InputHidden' || ...(isBorder
!cell?.content?.comName ? cell?.content?.comName == 'InputHidden' ||
? {} !cell?.content?.comName
: borderStyle ? {}
: {}), : borderStyle
// position: cell.content&&cell.content.comName ==="InputHidden"&&'absolute', : {}),
...styles, // position: cell.content&&cell.content.comName ==="InputHidden"&&'absolute',
display: ...styles,
cell.content && display:
(cell.content.comName === 'InputHidden' || cell.content &&
cell.content.isHidden) && (cell.content.comName === 'InputHidden' ||
'none', cell.content.isHidden) &&
}}> 'none',
<TableCom }}>
taskId={this.props.taskId} <TableCom
importExcel={this.importExcel} taskId={this.props.taskId}
getCellValue={this.getCellValue} importExcel={this.importExcel}
getCurrentFormTitle={this.getCurrentFormTitle2} getCellValue={this.getCellValue}
hfInstance={this.hfInstance} getCurrentFormTitle={this.getCurrentFormTitle2}
isWebPrintEnd={isWebPrintEnd} hfInstance={this.hfInstance}
isWebPrint={isWebPrint} isWebPrintEnd={isWebPrintEnd}
isPrint={this.props.isPrint} isWebPrint={isWebPrint}
formCode={formCode} // 当前表单code isPrint={this.props.isPrint}
modalInit={modalInit} formCode={formCode} // 当前表单code
taskAssignee={taskAssignee} // 提交人 modalInit={modalInit}
userId={userId} taskAssignee={taskAssignee} // 提交人
formId={formId} // 当前表单Id userId={userId}
i={i} // 当前组件下标 formId={formId} // 当前表单Id
j={j} // 当前行数下班 i={i} // 当前组件下标
isPreview={isPreview} j={j} // 当前行数下班
fatherCode={fatherCode} isPreview={isPreview}
index={index} fatherCode={fatherCode}
fatherObj={this.props.fatherObj} index={index}
datas={datas} fatherObj={this.props.fatherObj}
uuid={cell.uuid} datas={datas}
setRealTimeValues={this.setRealTimeValues} uuid={cell.uuid}
isEdit={isEdit} setRealTimeValues={this.setRealTimeValues}
formKey={currentFormKey} isEdit={isEdit}
currentFormTitle={currentFormTitle} formKey={currentFormKey}
init={init} currentFormTitle={currentFormTitle}
get={get} // 区分移动端或wen端 init={init}
json={cell.content} get={get} // 区分移动端或wen端
obj={{ ...obj, ...this.state.objRealTime } || {}} // 是否存在默认值 json={cell.content}
mapData={mapData} obj={{ ...obj, ...this.state.objRealTime } || {}} // 是否存在默认值
form={this.props.form} // antd form控件 mapData={mapData}
sqlData={sqlData} form={this.props.form} // antd form控件
defaultValues={defaultValues || {}} // 接口中的默认值 sqlData={sqlData}
routerState={routerState} // 兼容表单设计器路由传参 defaultValues={defaultValues || {}} // 接口中的默认值
messageData={messageData} // 场景设计器共享变量参数 routerState={routerState} // 兼容表单设计器路由传参
concealModel={concealModel || {}} // 场景设计器内置路由跳转函数 messageData={messageData} // 场景设计器共享变量参数
isDynamic={isDynamic} // 是否为场景配置器调用 concealModel={concealModel || {}} // 场景设计器内置路由跳转函数
trees={trees} isDynamic={isDynamic} // 是否为场景配置器调用
/> trees={trees}
</td> />
); </td>
})} );
</tr> })}
); </tr>
})} );
</tbody> })}
</table> </tbody>
</table>
{style.pageBreakAfter != null ? ( {style.pageBreakAfter != null ? (
<div style={{ pageBreakAfter: style.pageBreakAfter }} /> <div style={{ pageBreakAfter: style.pageBreakAfter }}/>
) : ( ) : (
'' ''
)} )}
</div> </div>
</Col> </Col>
</Row> </Row>
</Form> </Form>
</div> </div>
)} )}
</> </>
); );
case 'mobile': case 'mobile':
return ( return (
<> <>
{this.props.postData?.isUpdate ? ( {this.props.postData?.isUpdate ? (
<div style={{ margin: '100px 24px 24px' }}> <div style={{ margin: '100px 24px 24px' }}>
<div style={{ textAlign: 'center' }}> <div style={{ textAlign: 'center' }}>
<img style={{ width: '100%' }} src={maintain} /> <img style={{ width: '100%' }} src={maintain}/>
</div> </div>
<p <p
style={{ style={{
textAlign: 'center', textAlign: 'center',
width: '100%', width: '100%',
fontSize: '16px', fontSize: '16px',
fontWeight: 'bold', fontWeight: 'bold',
color: '#666666', color: '#666666',
}}> }}>
{updateTime !== 'Invalid date' {updateTime !== 'Invalid date'
? `升级维护中,预计${updateTime ?? '一万年'}恢复使用,请耐心等待。` ? `升级维护中,预计${updateTime ?? '一万年'}恢复使用,请耐心等待。`
: '请耐心等待'} : '请耐心等待'}
</p> </p>
</div> </div>
) : ( ) : (
<Form {...formItemLayout} id="mobile_table" className="login-form"> <Form {...formItemLayout} id="mobile_table" className="login-form">
{defaultBinds {defaultBinds
? Object.keys(defaultBinds).map((k) => { ? Object.keys(defaultBinds)
const r = defaultBinds[k]; .map((k) => {
if ( const r = defaultBinds[k];
r.columnIds == null || if (
r.columnIds.length < 2 || r.columnIds == null ||
r.sqls == null || r.columnIds.length < 2 ||
r.sqls.length < 2 r.sqls == null ||
) { r.sqls.length < 2
return ''; ) {
} return '';
const name = r.columnIds[r.columnIds.length - 1]; }
const key = r.sqls[r.sqls.length - 1]; const name = r.columnIds[r.columnIds.length - 1];
const value = defaultValues[key]; const key = r.sqls[r.sqls.length - 1];
const value = defaultValues[key];
if (value === null || value === undefined) { if (value === null || value === undefined) {
return ''; return '';
} }
return this.props.form.getFieldDecorator(name, { return this.props.form.getFieldDecorator(name, {
initialValue: value, initialValue: value,
})(<Input type="hidden" />); })(<Input type="hidden"/>);
}) })
: ''} : ''}
<IsNewTable <IsNewTable
taskId={this.props.taskId} taskId={this.props.taskId}
getCellValue={this.getCellValue} getCellValue={this.getCellValue}
hfInstance={this.hfInstance} hfInstance={this.hfInstance}
getCurrentFormTitle={this.getCurrentFormTitle2} getCurrentFormTitle={this.getCurrentFormTitle2}
taskAssignee={taskAssignee} // 提交人 taskAssignee={taskAssignee} // 提交人
userId={userId} userId={userId}
importExcel={this.importExcel} importExcel={this.importExcel}
isPreview={isPreview} isPreview={isPreview}
trees={trees} trees={trees}
setRealTimeValues={this.setRealTimeValues} setRealTimeValues={this.setRealTimeValues}
isRowCol={isRowCol} isRowCol={isRowCol}
modalInit={modalInit} modalInit={modalInit}
items={items} items={items}
checkAllHidden={this.checkAllHidden} checkAllHidden={this.checkAllHidden}
isBorder={isBorder} isBorder={isBorder}
borderStyle={borderStyle} borderStyle={borderStyle}
fatherCode={fatherCode} fatherCode={fatherCode}
index={index} index={index}
datas={datas} datas={datas}
isEdit={isEdit} isEdit={isEdit}
currentFormKey={currentFormKey} currentFormKey={currentFormKey}
currentFormTitle={currentFormTitle} currentFormTitle={currentFormTitle}
init={init} init={init}
get={get} get={get}
obj={{ ...obj, ...this.state.objRealTime }} obj={{ ...obj, ...this.state.objRealTime }}
mapData={mapData} mapData={mapData}
form={this.props.form} form={this.props.form}
sqlData={sqlData} sqlData={sqlData}
defaultValues={defaultValues} defaultValues={defaultValues}
width={width} width={width}
formCode={formCode} formCode={formCode}
style={style} style={style}
routerState={routerState} // 兼容表单设计器路由传参 routerState={routerState} // 兼容表单设计器路由传参
messageData={messageData} // 场景设计器共享变量参数 messageData={messageData} // 场景设计器共享变量参数
formId={formId} formId={formId}
fatherObj={this.props.fatherObj} fatherObj={this.props.fatherObj}
concealModel={concealModel || {}} // 场景设计器内置路由跳转函数 concealModel={concealModel || {}} // 场景设计器内置路由跳转函数
isDynamic={isDynamic} // 是否为场景配置器调用 isDynamic={isDynamic} // 是否为场景配置器调用
/> />
</Form> </Form>
)} )}
</> </>
); );
} }
} }
} }
...@@ -22,8 +22,8 @@ export default function prepareShow(postData = {}, content = '') { ...@@ -22,8 +22,8 @@ export default function prepareShow(postData = {}, content = '') {
window.moment = moment; window.moment = moment;
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
if(agg?.unifiedServicePatternModel?.id){ if(agg?.unifiedServicePatternModel?.id){
console.log('%c' + `onestop/#/admin/processServices/modelConfig/templateDetail/designById?id=${agg.unifiedServicePatternModel.id}&token=${getToken()}`, 'color: green;background: white;font-size: 14px'); console.log('%c' + `${window.location.origin}/onestop/#/admin/processServices/modelConfig/templateDetail/designById?id=${agg.unifiedServicePatternModel.id}&token=${getToken()}`, 'color: green;background: white;font-size: 14px');
console.log('%c' + `wisdomSchool/#/designFormByUrl?id=${agg.unifiedServicePatternModel.id}&token=${getToken()}`, 'color: green;background: white;font-size: 14px'); console.log('%c' + `${window.location.origin}/wisdomSchool/#/designFormByUrl?id=${agg.unifiedServicePatternModel.id}&token=${getToken()}`, 'color: green;background: white;font-size: 14px');
} }
let data = agg?.unifiedServicePatternModel?.content || content; let data = agg?.unifiedServicePatternModel?.content || content;
let g = !!data && isJSON(data) && JSON.parse(data)?.templateWillMount; let g = !!data && isJSON(data) && JSON.parse(data)?.templateWillMount;
......
...@@ -69,8 +69,7 @@ import PictureSignature, { ...@@ -69,8 +69,7 @@ import PictureSignature, {
SignArray, SignArray,
} from '@/webPublic/one_stop_public/libs/PictureSignature/PictureSignature'; } from '@/webPublic/one_stop_public/libs/PictureSignature/PictureSignature';
import WangEditor from '@/webPublic/zyd_public/WangEditor/OnstopWang'; import WangEditor from '@/webPublic/zyd_public/WangEditor/OnstopWang';
import { noPrefix, noPrefixRequest, uaaRequest } from '@/webPublic/one_stop_public/utils/request'; import { noPrefixRequest, uaaRequest } from '@/webPublic/one_stop_public/utils/request';
import { giveFilePostDataInfoForTrue } from '@/webPublic/one_stop_public/Base16';
const { TextArea } = Input; const { TextArea } = Input;
const { Option } = Select; const { Option } = Select;
...@@ -1083,7 +1082,7 @@ export default class tableCom extends Component { ...@@ -1083,7 +1082,7 @@ export default class tableCom extends Component {
}, },
this.props.index, this.props.index,
this.props.fatherCode, this.props.fatherCode,
{ { // utils函数的参数
moment, moment,
sql: this.sqlUtil.bind(this, base52, json, callback), sql: this.sqlUtil.bind(this, base52, json, callback),
message, message,
...@@ -1502,7 +1501,8 @@ export default class tableCom extends Component { ...@@ -1502,7 +1501,8 @@ export default class tableCom extends Component {
<> <>
{this.props.form.getFieldDecorator(this.props.uuid, { {this.props.form.getFieldDecorator(this.props.uuid, {
initialValue: fk, initialValue: fk,
})(<Input type="hidden" />)}{' '} })(<Input type="hidden" />)}
{' '}
<ZdyTable <ZdyTable
taskId={this.props.taskId} taskId={this.props.taskId}
importExcel={this.props.importExcel} importExcel={this.props.importExcel}
...@@ -3863,6 +3863,7 @@ ${obj[dataColumn.base52]} ...@@ -3863,6 +3863,7 @@ ${obj[dataColumn.base52]}
); );
} }
} else { } else {
// console.log(datas[modalCode]);
return ( return (
<> <>
{modalCode ? ( {modalCode ? (
......
...@@ -111,15 +111,20 @@ export function preHandle(values) { ...@@ -111,15 +111,20 @@ export function preHandle(values) {
for (let k in objValues) { for (let k in objValues) {
if (k != '' && objValues[k] instanceof Object) { if (k != '' && objValues[k] instanceof Object) {
let childObj = objValues[k]; let childObj = objValues[k];
// console.table(childObj);
for (let j in childObj) { for (let j in childObj) {
// 我写的代码
if (j.indexOf('$') > -1 && Array.isArray(childObj[j]) && childObj[j].length === 2) { if (j.indexOf('$') > -1 && Array.isArray(childObj[j]) && childObj[j].length === 2) {
j.split('$').map((g,index) => { j.split('$').map((g,index) => {
if(moment.isMoment(childObj[j][index])){ if(moment.isMoment(childObj[j][index])){
childObj[g] = childObj[j][index].valueOf(); childObj[j][index] = childObj[j][index].valueOf();
} }
}); });
delete childObj[j]; if(j === 'LckrMFujFgw$LckrXpIoQdc'){
console.log(values[key][k][j], key, k, j);
}
// delete childObj[j];
// 我写的代码
// 欢哥写的代码. // 欢哥写的代码.
// for (var i = 0; i < xxx.length; i++) { // for (var i = 0; i < xxx.length; i++) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论