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

JSON调试

上级 ae986cc0
...@@ -13,1002 +13,996 @@ import { HyperFormula } from 'hyperformula'; ...@@ -13,1002 +13,996 @@ import { HyperFormula } from 'hyperformula';
import TableCom from '../tableCompon'; 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";
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 (isPreview || isChild) {
if (isPreview || isChild) { this.initExcel({ datas: this.props.datas, trees: this.props.trees }, () => {
this.initExcel({ datas: this.props.datas, trees: this.props.trees }, () => { this.setState({
this.setState( ...this.state,
{ ...this.props,
...this.state, formConfig: { ...this.state.formConfig, style: this.props.style },
...this.props, isReady: true,
formConfig: { ...this.state.formConfig, style: this.props.style }, isReady: true, viewMode:
viewMode:this.props.currentFormKey&&this.props.data&&this.props.datas[this.props.currentFormKey]?this.props.datas[this.props.currentFormKey].viewMode:null this.props.currentFormKey &&
}); this.props.data &&
}); this.props.datas[this.props.currentFormKey]
? this.props.datas[this.props.currentFormKey].viewMode
return; : null,
} });
});
const val = postData;
try { return;
/** }
* 数据源不同进行以下区别处理
* this.props.table有传入值表明需要渲染流程中最新表单 const val = postData;
*/ try {
if (isForm) { /**
// 由表格的操作按钮进入 * 数据源不同进行以下区别处理
* this.props.table有传入值表明需要渲染流程中最新表单
const mapData = {}; */
const sqlData = {}; if (isForm) {
const dataObjs = val.form.dataObjModels; // 由表格的操作按钮进入
for (var i = 0; i < dataObjs.length; i++) {
const dob = dataObjs[i]; const mapData = {};
for (var j = 0; j < dob.columnModels.length; j++) { const sqlData = {};
mapData[dob.columnModels[j].base52] = dob.columnModels[j]; const dataObjs = val.form.dataObjModels;
} for (var i = 0; i < dataObjs.length; i++) {
} const dob = dataObjs[i];
const sqls = val.form.sqlModels; for (var j = 0; j < dob.columnModels.length; j++) {
for (var i = 0; i < sqls.length; i++) { mapData[dob.columnModels[j].base52] = dob.columnModels[j];
const dob = sqls[i].dataObjModel; }
for (var j = 0; j < dob.columnModels.length; j++) { }
sqlData[dob.columnModels[j].base52] = dob.columnModels[j]; const sqls = val.form.sqlModels;
} for (var i = 0; i < sqls.length; i++) {
} const dob = sqls[i].dataObjModel;
const obj = JSON.parse(val.form.content); for (var j = 0; j < dob.columnModels.length; j++) {
const xxx = obj.datas[obj.init]; sqlData[dob.columnModels[j].base52] = dob.columnModels[j];
const fk = this.props.table ? val.formKey : obj.init; }
this.initExcel(obj,()=>{ }
this.setState({ const obj = JSON.parse(val.form.content);
datas: obj.datas, const xxx = obj.datas[obj.init];
width: this.props.table ? obj.datas[val.formKey].width : xxx.width, const fk = this.props.table ? val.formKey : obj.init;
isBorder: this.props.table ? obj.datas[val.formKey].isBorder : xxx.isBorder, this.initExcel(obj, () => {
viewMode: this.props.table ? obj.datas[val.formKey].viewMode : xxx.viewMode, this.setState({
isRowCol: this.props.table ? obj.datas[val.formKey].isRowCol : xxx.isRowCol, datas: obj.datas,
mapData, width: this.props.table ? obj.datas[val.formKey].width : xxx.width,
currentFormKey: fk, isBorder: this.props.table ? obj.datas[val.formKey].isBorder : xxx.isBorder,
currentFormTitle: this.getCurrentFormTitle(obj, fk), viewMode: this.props.table ? obj.datas[val.formKey].viewMode : xxx.viewMode,
sqlData, isRowCol: this.props.table ? obj.datas[val.formKey].isRowCol : xxx.isRowCol,
isEdit: !this.props.formKey, mapData,
items: this.props.table ? obj.datas[val.formKey].items : xxx.items, currentFormKey: fk,
defaultValues: val.form.defaultValues, currentFormTitle: this.getCurrentFormTitle(obj, fk),
appId: val.appId, sqlData,
isReady: true, isEdit: !this.props.formKey,
formConfig: xxx, items: this.props.table ? obj.datas[val.formKey].items : xxx.items,
}) defaultValues: val.form.defaultValues,
}) appId: val.appId,
isReady: true,
return; formConfig: xxx,
});
});
return;
}
if (isCg === 'yes') {
// 用户从编辑按钮进入
if (
val.unifiedServicePatternModel.isDefaultError != null &&
val.unifiedServicePatternModel.isDefaultError
) {
if (this.props.get == 'web') {
message.error('当前办理人数较多,服务繁忙,请稍后再试!');
} else {
Toast.fail('当前办理人数较多,服务繁忙,请稍后再试!');
}
router.goBack();
return;
}
const mapData = {};
const sqlData = {};
const sqls = val.unifiedServicePatternModel.sqlModels;
for (var i = 0; i < sqls.length; i++) {
const dob = sqls[i].dataObjModel;
for (var j = 0; j < dob.columnModels.length; j++) {
sqlData[dob.columnModels[j].base52] = dob.columnModels[j];
}
}
const dataObjs = val.unifiedServicePatternModel.dataObjModels;
for (var i = 0; i < dataObjs.length; i++) {
const dob = dataObjs[i];
for (var j = 0; j < dob.columnModels.length; j++) {
mapData[dob.columnModels[j].base52] = dob.columnModels[j];
}
}
const obj = JSON.parse(val.unifiedServicePatternModel.content);
const xxx = obj.datas[obj.init];
this.initExcel(obj, () => {
this.setState({
items: xxx.items,
init: { ...this.state.init, ...JSON.parse(val.content) },
datas: obj.datas,
isEdit: !this.props.formKey,
currentFormKey: obj.init,
currentFormTitle: this.getCurrentFormTitle(obj, obj.init),
width: xxx.width,
isBorder: xxx.isBorder,
viewMode: xxx.viewMode,
isRowCol: xxx.isRowCol,
mapData,
sqlData,
defaultValues: val.unifiedServicePatternModel.defaultValues,
appId: val.appId,
isReady: true,
formConfig: xxx,
defaultBinds: this.props.table
? obj.datas[val.taskFormKey].defaultBinds
: xxx.defaultBinds,
});
});
return;
}
if (
val.unifiedServicePatternModel.isDefaultError != null &&
val.unifiedServicePatternModel.isDefaultError
) {
if (this.props.get == 'web') {
message.error('当前办理人数较多,服务繁忙,请稍后再试!');
} else {
Toast.fail('当前办理人数较多,服务繁忙,请稍后再试!');
}
router.goBack();
return;
}
const mapData = {};
const sqlData = {};
const sqls = val.unifiedServicePatternModel.sqlModels;
for (var i = 0; i < sqls.length; i++) {
const dob = sqls[i].dataObjModel;
for (var j = 0; j < dob.columnModels.length; j++) {
sqlData[dob.columnModels[j].base52] = dob.columnModels[j];
}
}
const dataObjs = val.unifiedServicePatternModel.dataObjModels;
for (var i = 0; i < dataObjs.length; i++) {
const dob = dataObjs[i];
for (var j = 0; j < dob.columnModels.length; j++) {
mapData[dob.columnModels[j].base52] = dob.columnModels[j];
}
}
if(!isJSON(val.unifiedServicePatternModel.content)){
console.error('unifiedServicePatternModel.content 不是一个JSON字符串 请查看配置');
} }
if (isCg === 'yes') { const obj = JSON.parse(val.unifiedServicePatternModel.content);
// 用户从编辑按钮进入 const xxx = obj.datas[this.props.formKey ? this.props.formKey : obj.init]; // 是否是存在历史表单传入值
if ( const fk = this.props.formKey
val.unifiedServicePatternModel.isDefaultError != null && ? this.props.formKey
val.unifiedServicePatternModel.isDefaultError : val.taskFormKey
) { ? val.taskFormKey
if (this.props.get == 'web') { : obj.init;
message.error('当前办理人数较多,服务繁忙,请稍后再试!'); this.initExcel(obj, () =>
} else { this.setState(
Toast.fail('当前办理人数较多,服务繁忙,请稍后再试!'); {
} appId: val.id,
formId: val.id,
router.goBack(); formCode: val.code,
return; datas: obj.datas,
} mapData,
const mapData = {}; sqlData,
const sqlData = {}; defaultValues: val.unifiedServicePatternModel.defaultValues,
const sqls = val.unifiedServicePatternModel.sqlModels; isEdit: !this.props.formKey,
for (var i = 0; i < sqls.length; i++) { currentFormKey: fk,
const dob = sqls[i].dataObjModel; currentFormTitle: this.getCurrentFormTitle(obj, fk),
defaultBinds: this.props.table
for (var j = 0; j < dob.columnModels.length; j++) { ? obj.datas[val.taskFormKey].defaultBinds
sqlData[dob.columnModels[j].base52] = dob.columnModels[j]; : xxx.defaultBinds,
} width: this.props.table ? obj.datas[val.taskFormKey].width : xxx.width,
} isBorder: this.props.table ? obj.datas[val.taskFormKey].isBorder : xxx.isBorder,
const dataObjs = val.unifiedServicePatternModel.dataObjModels; isRowCol: this.props.table ? obj.datas[val.taskFormKey].isRowCol : xxx.isRowCol,
for (var i = 0; i < dataObjs.length; i++) { viewMode: this.props.table ? obj.datas[val.taskFormKey].viewMode : xxx.viewMode,
const dob = dataObjs[i];
items: this.props.table ? obj.datas[val.taskFormKey].items : xxx.items,
for (var j = 0; j < dob.columnModels.length; j++) { isReady: true,
mapData[dob.columnModels[j].base52] = dob.columnModels[j]; init: { ...this.state.init, ...(val.isSecond ? this.props.obj : {}) },
} formConfig: xxx,
} // init:this.props.get==="mobile"?!!val.content?JSON.parse(val.content):'':{},// 移动端默认值设置
const obj = JSON.parse(val.unifiedServicePatternModel.content); },
() => {
const xxx = obj.datas[obj.init]; /**
this.initExcel(obj,()=>{ * 为二维码快捷发起时自动设置新默认值
this.setState({ */
items: xxx.items, if (isQRCode) {
init: { ...this.state.init, ...JSON.parse(val.content) }, this.props.form.setFieldsValue(formDeafault);
datas: obj.datas, }
isEdit: !this.props.formKey, this.initExcel(obj);
currentFormKey: obj.init, },
currentFormTitle: this.getCurrentFormTitle(obj, obj.init), ),
width: xxx.width, );
isBorder: xxx.isBorder, } catch (e) {
viewMode: xxx.viewMode, console.log('公式配置有误/Table/index-262', e);
isRowCol: xxx.isRowCol, }
mapData, }
sqlData,
defaultValues: val.unifiedServicePatternModel.defaultValues, importExcel = (res, callback) => {
appId: val.appId, const { datas, trees } = this.configs;
isReady: true, const sheets = res.sheets;
formConfig: xxx,
defaultBinds: this.props.table for (var s = 0; s < sheets.length; s++) {
? obj.datas[val.taskFormKey].defaultBinds const uuid = sheets[s].key;
: xxx.defaultBinds, const items = [];
}) const cc = sheets[s].cells;
}) for (var i = 0; i < cc.length; i++) {
const rows = [];
return; const rr = cc[i];
} for (var j = 0; j < rr.length; j++) {
const c = rr[j];
if ( if (c.value == null || c.value == '') {
val.unifiedServicePatternModel.isDefaultError != null && rows.push({
val.unifiedServicePatternModel.isDefaultError uuid: 'id_' + UUID.v4().replace(/-/g, '2'),
) row: c.rowSpan,
{ col: c.colSpan,
if (this.props.get == 'web') { content: { comName: 'Excel', cwidth: c.width, cheight: c.height },
message.error('当前办理人数较多,服务繁忙,请稍后再试!'); });
} else { } else {
Toast.fail('当前办理人数较多,服务繁忙,请稍后再试!'); rows.push({
} uuid: 'id_' + UUID.v4().replace(/-/g, '2'),
row: c.rowSpan,
router.goBack(); col: c.colSpan,
return; content: {
} comName: 'Excel',
initialValue: c.value,
const mapData = {}; cwidth: c.width,
const sqlData = {}; cheight: c.height,
const sqls = val.unifiedServicePatternModel.sqlModels; },
for (var i = 0; i < sqls.length; i++) { });
const dob = sqls[i].dataObjModel; }
}
for (var j = 0; j < dob.columnModels.length; j++) { items.push(rows);
sqlData[dob.columnModels[j].base52] = dob.columnModels[j]; }
}
} const charts = sheets[s].charts;
const dataObjs = val.unifiedServicePatternModel.dataObjModels; if (charts && charts.length > 0) {
for (var i = 0; i < dataObjs.length; i++) { const rows = [];
const dob = dataObjs[i]; for (var j = 0; j < charts.length; j++) {
const chartModel = charts[j];
for (var j = 0; j < dob.columnModels.length; j++) { rows.push({
mapData[dob.columnModels[j].base52] = dob.columnModels[j]; uuid: 'id_' + UUID.v4().replace(/-/g, '2'),
} content: {
} comName: 'Echart',
const obj = JSON.parse(val.unifiedServicePatternModel.content); columnIds: { c1: [] },
console.log(obj, '-----content---'); labelSpan: 24,
const xxx = obj.datas[this.props.formKey ? this.props.formKey : obj.init]; // 是否是存在历史表单传入值 wrapperSpan: 24,
const fk = this.props.formKey isLabel: false,
? this.props.formKey formula: 'return ' + JSON.stringify(chartModel.option),
: val.taskFormKey },
? val.taskFormKey });
: obj.init; items.push(rows);
this.initExcel(obj,()=> }
this.setState( }
{ if (datas[uuid] == null) {
appId: val.id, trees.push({ title: sheets[s].name, key: uuid });
formId: val.id, }
formCode: val.code, datas[uuid] = {
datas: obj.datas, width: 400,
mapData, max: 1,
sqlData, isBorder: true,
defaultValues: val.unifiedServicePatternModel.defaultValues, items: items,
isEdit: !this.props.formKey, };
currentFormKey: fk, }
currentFormTitle: this.getCurrentFormTitle(obj, fk), this.initExcel({ datas, trees }, () => {
defaultBinds: this.props.table this.setState({ isChange: !this.state.isChange }, () => {
? obj.datas[val.taskFormKey].defaultBinds if (callback) callback();
: xxx.defaultBinds, });
width: this.props.table ? obj.datas[val.taskFormKey].width : xxx.width,
isBorder: this.props.table ? obj.datas[val.taskFormKey].isBorder : xxx.isBorder, console.log('公式导入excel成功');
isRowCol: this.props.table ? obj.datas[val.taskFormKey].isRowCol : xxx.isRowCol, });
viewMode: this.props.table ? obj.datas[val.taskFormKey]. viewMode : xxx.viewMode, };
items: this.props.table ? obj.datas[val.taskFormKey].items : xxx.items, hfInstance;
isReady: true, childExcel = (sheetData, datas, tr) => {
init: { ...this.state.init, ...(val.isSecond ? this.props.obj : {}) }, if (tr.children == null || tr.children.length == 0) {
formConfig: xxx, } else {
// init:this.props.get==="mobile"?!!val.content?JSON.parse(val.content):'':{},// 移动端默认值设置 for (var c = 0; c < tr.children.length; c++) {
},() => { this.childExcel(sheetData, datas, tr.children[c]);
/** }
* 为二维码快捷发起时自动设置新默认值 }
*/ const data = datas[tr.key];
if (isQRCode) { const all = [];
this.props.form.setFieldsValue(formDeafault); for (var i = 0; i < data.items.length; i++) {
} const row = data.items[i];
this.initExcel(obj); const r = [];
} )); for (var j = 0; j < row.length; j++) {
} catch (e) { const col = row[j];
console.log('公式配置有误', e); if (col.content?.comName == 'Excel') {
} r.push(col.content.initialValue);
} else {
} r.push('');
}
importExcel = (res,callback) => { }
all.push(r);
const { datas, trees } = this.configs; }
const sheets = res.sheets;
sheetData[tr.title] = all;
for (var s = 0; s < sheets.length; s++) { };
const uuid = sheets[s].key; configs;
const items = []; initExcel = (configs, callback) => {
const cc = sheets[s].cells; if (configs == null || configs.trees == null) {
for (var i = 0; i < cc.length; i++) { if (callback) callback();
const rows = []; return;
const rr = cc[i]; }
for (var j = 0; j < rr.length; j++) {
const c = rr[j]; if (configs.trees != null) this.configs = configs;
if (c.value == null || c.value == '') {
rows.push({ const sheetData = {};
uuid: 'id_' + UUID.v4().replace(/-/g, '2'), for (var key in configs.trees) {
row: c.rowSpan, const tr = configs.trees[key];
col: c.colSpan, this.childExcel(sheetData, configs.datas, tr);
content: { comName: 'Excel', cwidth: c.width, cheight: c.height }, }
}); const hfInstance = HyperFormula.buildFromSheets(sheetData, {});
} else {
rows.push({ this.hfInstance = hfInstance;
uuid: 'id_' + UUID.v4().replace(/-/g, '2'), if (callback) callback();
row: c.rowSpan, };
col: c.colSpan, getCellValue = (i, j, currentTitle) => {
content: { comName: 'Excel', initialValue: c.value, cwidth: c.width, cheight: c.height }, let hfInstance = this.props.hfInstance ? this.props.hfInstance : this.hfInstance;
});
} if (hfInstance && currentTitle) {
} let x = hfInstance.getCellValue({
items.push(rows); col: j,
} row: i,
sheet: hfInstance.getSheetId(currentTitle),
});
const charts = sheets[s].charts;
if (charts && charts.length > 0) { if (x && x.value != null) {
const rows = []; x = x.value;
for (var j = 0; j < charts.length; j++) { }
const chartModel = charts[j]; return x;
rows.push({ }
uuid: 'id_' + UUID.v4().replace(/-/g, '2'), };
content: {
comName: 'Echart', componentWillReceiveProps(nextProps) {
columnIds: { c1: [] }, const {
labelSpan: 24, postData, // 数据源
wrapperSpan: 24, isCg, // 用户点击草稿页面进入
isLabel: false, isForm,
formula: 'return ' + JSON.stringify(chartModel.option), isPreview, // 是否为预览模式
}, isChild, // 是否为子表单
}); } = nextProps;
items.push(rows);
} if (isPreview || isChild) {
this.setState(
} {
if (datas[uuid] == null) { ...this.state,
trees.push({ title: sheets[s].name, key: uuid }); ...nextProps,
} isReady: true,
datas[uuid] = { viewMode:
width: 400, nextProps.currentFormKey && nextProps.datas && nextProps.datas[nextProps.currentFormKey]
max: 1, ? nextProps.datas[nextProps.currentFormKey].viewMode
isBorder: true, : null,
items: items, formConfig: { ...this.state.formConfig, style: nextProps.style },
}; },
() => this.initExcel({ datas: nextProps.datas, trees: nextProps.trees }),
} );
this.initExcel({ datas, trees }, () =>{ return;
this.setState({ isChange: !this.state.isChange },()=>{ }
if(callback)callback();
}); try {
debugger;
console.log('公式导入excel成功'); const val = postData;
}) /**
* 数据源不同进行以下区别处理
* this.props.table有传入值表明需要渲染流程中最新表单
}; */
if (isForm) {
hfInstance; // 由表格的操作按钮进入
childExcel = (sheetData, datas, tr) => { const mapData = {};
if (tr.children == null || tr.children.length == 0) { const sqlData = {};
const dataObjs = val.form.dataObjModels;
} else { for (var i = 0; i < dataObjs.length; i++) {
for (var c = 0; c < tr.children.length; c++) { const dob = dataObjs[i];
this.childExcel(sheetData, datas, tr.children[c]); for (var j = 0; j < dob.columnModels.length; j++) {
} mapData[dob.columnModels[j].base52] = dob.columnModels[j];
} }
const data = datas[tr.key]; }
const all = []; const sqls = val.form.sqlModels;
for (var i = 0; i < data.items.length; i++) { for (var i = 0; i < sqls.length; i++) {
const row = data.items[i]; const dob = sqls[i].dataObjModel;
const r = []; for (var j = 0; j < dob.columnModels.length; j++) {
for (var j = 0; j < row.length; j++) { sqlData[dob.columnModels[j].base52] = dob.columnModels[j];
const col = row[j]; }
if (col.content?.comName == 'Excel') { }
r.push(col.content.initialValue); const obj = JSON.parse(val.form.content);
} else { const xxx = obj.datas[obj.init];
r.push(''); this.initExcel(obj, () => {
} this.setState({
datas: obj.datas,
} width: this.props.table ? obj.datas[val.formKey].width : xxx.width,
all.push(r); isRowCol: this.props.table ? obj.datas[val.formKey].isRowCol : xxx.isRowCol,
} isBorder: this.props.table ? obj.datas[val.formKey].isBorder : xxx.isBorder,
mapData,
sheetData[tr.title] = all; currentFormKey: this.props.table ? val.formKey : obj.init,
currentFormTitle: this.getCurrentFormTitle(obj, fk),
}; sqlData,
configs; isEdit: !this.props.formKey,
initExcel = (configs, callback) => { items: this.props.table ? obj.datas[val.formKey].items : xxx.items,
if (configs == null || configs.trees == null){ defaultValues: val.form.defaultValues,
if (callback) callback(); appId: val.appId,
return ; isReady: true,
} formConfig: xxx,
});
if (configs.trees != null) this.configs = configs; });
const sheetData = {}; return;
for (var key in configs.trees) { }
if (isCg === 'yes') {
const tr = configs.trees[key]; // 用户从编辑按钮进入
this.childExcel(sheetData, configs.datas, tr); const mapData = {};
} const sqlData = {};
const hfInstance = HyperFormula.buildFromSheets(sheetData, {}); const sqls = val.unifiedServicePatternModel.sqlModels;
for (var i = 0; i < sqls.length; i++) {
this.hfInstance = hfInstance; const dob = sqls[i].dataObjModel;
if (callback) callback();
}; for (var j = 0; j < dob.columnModels.length; j++) {
getCellValue = (i, j, currentTitle) => { sqlData[dob.columnModels[j].base52] = dob.columnModels[j];
let hfInstance = this.props.hfInstance ? this.props.hfInstance : this.hfInstance; }
}
const dataObjs = val.unifiedServicePatternModel.dataObjModels;
if (hfInstance && currentTitle) { for (var i = 0; i < dataObjs.length; i++) {
let x = hfInstance.getCellValue({ col: j, row: i, sheet: hfInstance.getSheetId(currentTitle) }); const dob = dataObjs[i];
if (x && x.value != null) { for (var j = 0; j < dob.columnModels.length; j++) {
x = x.value; mapData[dob.columnModels[j].base52] = dob.columnModels[j];
} }
return x; }
} const obj = JSON.parse(val.unifiedServicePatternModel.content);
const xxx = obj.datas[obj.init];
}; this.initExcel(obj, () => {
this.setState({
componentWillReceiveProps(nextProps) { items: xxx.items,
const { init: { ...this.state.init, ...JSON.parse(val.content) },
postData, // 数据源 datas: obj.datas,
isCg, // 用户点击草稿页面进入 isEdit: !this.props.formKey,
isForm, currentFormKey: obj.init,
isPreview, // 是否为预览模式 currentFormTitle: this.getCurrentFormTitle(obj, obj.init),
isChild, // 是否为子表单 width: xxx.width,
isBorder: xxx.isBorder,
} = nextProps; isRowCol: xxx.isRowCol,
mapData,
if (isPreview || isChild) { sqlData,
this.setState({ defaultValues: val.unifiedServicePatternModel.defaultValues,
...this.state, appId: val.appId,
...nextProps, isReady: true,
isReady: true, formConfig: xxx,
viewMode:nextProps.currentFormKey&&nextProps.datas&&nextProps.datas[nextProps.currentFormKey]?nextProps.datas[nextProps.currentFormKey].viewMode:null, defaultBinds: this.props.table
formConfig: { ...this.state.formConfig, style: nextProps.style }, ? obj.datas[val.taskFormKey].defaultBinds
}, () => this.initExcel({ datas: nextProps.datas, trees: nextProps.trees })); : xxx.defaultBinds,
return; });
} });
try { return;
const val = postData; }
/** const mapData = {};
* 数据源不同进行以下区别处理 const sqlData = {};
* this.props.table有传入值表明需要渲染流程中最新表单 const sqls = val.unifiedServicePatternModel.sqlModels;
*/ for (var i = 0; i < sqls.length; i++) {
if (isForm) { const dob = sqls[i].dataObjModel;
// 由表格的操作按钮进入
const mapData = {}; for (var j = 0; j < dob.columnModels.length; j++) {
const sqlData = {}; sqlData[dob.columnModels[j].base52] = dob.columnModels[j];
const dataObjs = val.form.dataObjModels; }
for (var i = 0; i < dataObjs.length; i++) { }
const dob = dataObjs[i]; const dataObjs = val.unifiedServicePatternModel.dataObjModels;
for (var j = 0; j < dob.columnModels.length; j++) { for (var i = 0; i < dataObjs.length; i++) {
mapData[dob.columnModels[j].base52] = dob.columnModels[j]; const dob = dataObjs[i];
}
} for (var j = 0; j < dob.columnModels.length; j++) {
const sqls = val.form.sqlModels; mapData[dob.columnModels[j].base52] = dob.columnModels[j];
for (var i = 0; i < sqls.length; i++) { }
const dob = sqls[i].dataObjModel; }
for (var j = 0; j < dob.columnModels.length; j++) { const obj = JSON.parse(val.unifiedServicePatternModel.content);
sqlData[dob.columnModels[j].base52] = dob.columnModels[j]; const xxx = obj.datas[this.props.formKey ? this.props.formKey : obj.init]; // 是否是存在历史表单传入值
}
} if (this.props.isQuery) return;
const obj = JSON.parse(val.form.content); const fk = this.props.formKey
const xxx = obj.datas[obj.init]; ? this.props.formKey
this.initExcel(obj,()=>{ : val.taskFormKey
this.setState({ ? val.taskFormKey
datas: obj.datas, : obj.init;
width: this.props.table ? obj.datas[val.formKey].width : xxx.width, this.initExcel(obj, () => {
isRowCol: this.props.table ? obj.datas[val.formKey].isRowCol : xxx.isRowCol, this.setState({
isBorder: this.props.table ? obj.datas[val.formKey].isBorder : xxx.isBorder, appId: val.id,
mapData, datas: obj.datas,
currentFormKey: this.props.table ? val.formKey : obj.init, mapData,
currentFormTitle: this.getCurrentFormTitle(obj, fk), sqlData,
sqlData, defaultValues: val.unifiedServicePatternModel.defaultValues,
isEdit: !this.props.formKey, isEdit: !this.props.formKey,
items: this.props.table ? obj.datas[val.formKey].items : xxx.items, currentFormKey: fk,
defaultValues: val.form.defaultValues, currentFormTitle: this.getCurrentFormTitle(obj, fk),
appId: val.appId, defaultBinds: this.props.table
isReady: true, ? obj.datas[val.taskFormKey].defaultBinds
formConfig: xxx, : xxx.defaultBinds,
}) width: this.props.table ? obj.datas[val.taskFormKey].width : xxx.width,
}) isBorder: this.props.table ? obj.datas[val.taskFormKey].isBorder : xxx.isBorder,
isRowCol: this.props.table ? obj.datas[val.taskFormKey].isRowCol : xxx.isRowCol,
return; items: this.props.table ? obj.datas[val.taskFormKey].items : xxx.items,
} isReady: true,
if (isCg === 'yes') { init: { ...this.state.init, ...(val.isSecond ? this.props.obj : {}) },
// 用户从编辑按钮进入 formConfig: xxx,
const mapData = {}; // init:this.props.get==="mobile"?!!val.content?JSON.parse(val.content):'':{},// 移动端默认值设置
const sqlData = {}; });
const sqls = val.unifiedServicePatternModel.sqlModels; });
for (var i = 0; i < sqls.length; i++) { } catch (e) {
const dob = sqls[i].dataObjModel; console.log('公式配置有误Table/index.jsx/572', e);
}
for (var j = 0; j < dob.columnModels.length; j++) { }
sqlData[dob.columnModels[j].base52] = dob.columnModels[j];
} checkAllHidden = (row) => {
} for (var i = 0; i < row.length; i++) {
const dataObjs = val.unifiedServicePatternModel.dataObjModels; if (row[i].hidden == null || !row[i].hidden) {
for (var i = 0; i < dataObjs.length; i++) { return false;
const dob = dataObjs[i]; }
}
for (var j = 0; j < dob.columnModels.length; j++) { for (var i = 0; i < row.length; i++) {
mapData[dob.columnModels[j].base52] = dob.columnModels[j]; delete row[i].hidden;
} }
} return true;
const obj = JSON.parse(val.unifiedServicePatternModel.content); };
const xxx = obj.datas[obj.init];
this.initExcel(obj,()=>{ countMax = (items) => {
this.setState({ let max = 0;
items: xxx.items, items.forEach((r) => {
init: { ...this.state.init, ...JSON.parse(val.content) }, if (r.length > max) {
datas: obj.datas, max = r.length;
isEdit: !this.props.formKey, }
currentFormKey: obj.init, });
currentFormTitle: this.getCurrentFormTitle(obj, obj.init), return max;
width: xxx.width, };
isBorder: xxx.isBorder, getCurrentFormTitle = (obj, key) => {
isRowCol: xxx.isRowCol, if (obj == null) return;
mapData, const { trees } = obj;
sqlData, if (trees == null) return;
defaultValues: val.unifiedServicePatternModel.defaultValues, return this.getT(trees, key);
appId: val.appId, };
isReady: true, getCurrentFormTitle2 = (key) => {
formConfig: xxx, if (this.configs == null) return;
defaultBinds: this.props.table const { trees } = this.configs;
? obj.datas[val.taskFormKey].defaultBinds if (trees == null) return;
: xxx.defaultBinds, return this.getT(trees, key);
}) };
}) setRealTimeValues = (obj) => {
this.setState({ objRealTime: obj });
return; };
} getT = (trees, key) => {
const mapData = {}; for (var i = 0; i < trees.length; i++) {
const sqlData = {}; if (trees[i].children == null || trees[i].children.length == 0) {
const sqls = val.unifiedServicePatternModel.sqlModels; if (trees[i].key == key) {
for (var i = 0; i < sqls.length; i++) { return trees[i].title;
const dob = sqls[i].dataObjModel; }
} else {
for (var j = 0; j < dob.columnModels.length; j++) { return this.getT(trees[i].children, key);
sqlData[dob.columnModels[j].base52] = dob.columnModels[j]; }
} }
} };
const dataObjs = val.unifiedServicePatternModel.dataObjModels;
for (var i = 0; i < dataObjs.length; i++) { render() {
const dob = dataObjs[i]; const {
width,
for (var j = 0; j < dob.columnModels.length; j++) { isRowCol,
mapData[dob.columnModels[j].base52] = dob.columnModels[j]; isBorder,
} sqlData,
} mapData,
const obj = JSON.parse(val.unifiedServicePatternModel.content); defaultBinds,
const xxx = obj.datas[this.props.formKey ? this.props.formKey : obj.init]; // 是否是存在历史表单传入值 defaultValues,
items,
if(this.props.isQuery) return; init,
const fk = this.props.formKey modalTitle,
? this.props.formKey currentFormKey,
: val.taskFormKey currentFormTitle,
? val.taskFormKey isEdit,
: obj.init; datas,
this.initExcel(obj,()=>{ isReady,
this.setState({ formConfig,
appId: val.id, formCode,
datas: obj.datas, formId,
mapData, viewMode,
sqlData, } = this.state;
defaultValues: val.unifiedServicePatternModel.defaultValues, const {
isEdit: !this.props.formKey, border,
currentFormKey: fk, obj,
currentFormTitle: this.getCurrentFormTitle(obj, fk), index,
defaultBinds: this.props.table ? obj.datas[val.taskFormKey].defaultBinds : xxx.defaultBinds, fatherCode,
width: this.props.table ? obj.datas[val.taskFormKey].width : xxx.width, routerState, // 场景设计器共享路由参数
isBorder: this.props.table ? obj.datas[val.taskFormKey].isBorder : xxx.isBorder, messageData, // 场景设计器共享变量参数 设计器监听到参数发生变化后会重新渲染组件
isRowCol: this.props.table ? obj.datas[val.taskFormKey].isRowCol : xxx.isRowCol, postData,
items: this.props.table ? obj.datas[val.taskFormKey].items : xxx.items, modalInit,
isReady: true, concealModel, // 场景设计器内置跳转函数
init: { ...this.state.init, ...(val.isSecond ? this.props.obj : {}) }, paddingBottom,
formConfig: xxx, taskAssignee,
// init:this.props.get==="mobile"?!!val.content?JSON.parse(val.content):'':{},// 移动端默认值设置 userId,
}) isDynamic, // 是否为大数据页面
}) isWebPrint, // 打印界面
isWebPrintEnd,
} catch (e) { isPreview,
console.log('公式配置有误', e); trees,
} } = this.props;
} let get;
if (viewMode != null && viewMode != '') {
checkAllHidden = row => { get = viewMode;
for (var i = 0; i < row.length; i++) { } else {
if (row[i].hidden == null || !row[i].hidden) { get = this.props.get;
return false; }
} let style = {};
} if (formConfig.style != null) {
for (var i = 0; i < row.length; i++) { try {
delete row[i].hidden; style = JSON.parse(formConfig.style);
} } catch (e) {
return true; //console.log(e);
}; style = {};
}
countMax = items => { }
let max = 0; const formItemLayout = {
items.forEach(r => { labelCol: {
if (r.length > max) { xs: { span: 24 },
max = r.length; sm: { span: 24 },
} },
}); wrapperCol: {
return max; xs: { span: 24 },
}; sm: { span: 24 },
getCurrentFormTitle = (obj, key) => { },
};
if (obj == null) return; const max = this.countMax(items);
const { trees } = obj; const borderStyle = {
if (trees == null) return; borderRight: '1px solid gray',
return this.getT(trees, key); borderTop: '1px solid gray',
borderLeft: '1px solid gray',
}; borderBottom: '1px solid gray',
getCurrentFormTitle2 = (key) => { };
if (this.configs == null) return; const borderStyleTwo = {
const { trees } = this.configs; // 处理隐藏组件边框样式问题
if (trees == null) return; borderRight: '1px solid gray',
return this.getT(trees, key); borderLeft: '1px solid gray',
borderTop: '1px solid gray',
}; };
setRealTimeValues=(obj)=>{ let updateTime;
this.setState({objRealTime:obj}) const styleDiv = this.props.height
} ? {
getT = (trees, key) => { overflow: isDynamic ? 'hidden' : 'auto',
for (var i = 0; i < trees.length; i++) { // overflowY: isDynamic && 'auto',
width: '100%',
if (trees[i].children == null || trees[i].children.length == 0) { height: this.props.height,
paddingBottom: paddingBottom != null ? paddingBottom : isWebPrint ? 0 : '10px',
if (trees[i].key == key) { }
return trees[i].title; : {
} overflow: isDynamic ? 'hidden' : 'auto',
} else { // overflowY: isDynamic && 'auto',
width: '100%',
return this.getT(trees[i].children, key); paddingBottom: paddingBottom != null ? paddingBottom : isWebPrint ? 0 : '10px',
} };
}
}; if (!isReady) return <></>;
if (this.props.postData?.isUpdate) {
render() { updateTime = moment(+this.props.postData?.updateTime).format('llll');
const { }
width,
isRowCol, switch (get) {
isBorder, case 'web':
sqlData, return (
mapData, <>
defaultBinds, {this.props.postData?.isUpdate ? (
defaultValues, <div style={{ margin: '100px 24px 24px' }}>
items, <div style={{ textAlign: 'center' }}>
init, <img style={{ marginRight: 30 }} src={maintain} />
modalTitle, </div>
currentFormKey, <p
currentFormTitle, style={{
isEdit, textAlign: 'center',
datas, width: '100%',
isReady, fontSize: '16px',
formConfig, fontWeight: 'bold',
formCode, color: '#666666',
formId, }}>
viewMode {updateTime !== 'Invalid date'
} = this.state; ? `升级维护中,预计${updateTime ?? '一万年'}恢复使用,请耐心等待。`
const { : '请耐心等待'}
border, </p>
obj, </div>
index, ) : (
fatherCode, <div id="web_table">
routerState, // 场景设计器共享路由参数 <Form className="login-form">
messageData, // 场景设计器共享变量参数 设计器监听到参数发生变化后会重新渲染组件 {isEdit && defaultBinds
postData, ? Object.keys(defaultBinds).map((k) => {
modalInit, const r = defaultBinds[k];
concealModel, // 场景设计器内置跳转函数 if (
paddingBottom, r.columnIds == null ||
taskAssignee, r.columnIds.length < 2 ||
userId, r.sqls == null ||
isDynamic, // 是否为大数据页面 r.sqls.length < 2
isWebPrint, // 打印界面 ) {
isWebPrintEnd, return '';
isPreview, }
trees, const name = r.columnIds[r.columnIds.length - 1];
} = this.props; const key = r.sqls[r.sqls.length - 1];
let get; const value = defaultValues[key];
if(viewMode!=null&&viewMode!=""){
get= viewMode if (value == null) {
}else{ return '';
get = this.props.get }
}
let style = {}; return this.props.form.getFieldDecorator(name, {
if (formConfig.style != null) { initialValue: value,
try { })(<Input type="hidden" />);
style = JSON.parse(formConfig.style); })
} catch (e) { : ''}
//console.log(e);
style = {}; <Row>
} <Col span={24}>
} <div
const formItemLayout = { style={styleDiv}
labelCol: { ref={(ref) => {
xs: { span: 24 }, this.root = ref;
sm: { span: 24 }, }}>
}, <table
wrapperCol: { style={{
xs: { span: 24 }, overflow: 'auto',
sm: { span: 24 }, margin: max * width > 550 ? 'auto' : '',
}, marginBottom: isWebPrint ? (isWebPrintEnd ? '5px' : 0) : '1px',
}; ...style,
const max = this.countMax(items); }}
const borderStyle = { border={border}
borderRight: '1px solid gray', cellSpacing="0"
borderTop: '1px solid gray', cellPadding="0">
borderLeft: '1px solid gray', <tbody>
borderBottom: '1px solid gray', {items.map((row, i) => {
}; const allhidden = this.checkAllHidden(row);
const borderStyleTwo = { return (
// 处理隐藏组件边框样式问题 <tr key={i}>
borderRight: '1px solid gray', {row.map((cell, j) => {
borderLeft: '1px solid gray', if (!cell.content) {
borderTop: '1px solid gray', return;
}; }
let updateTime; let styles = {};
const styleDiv = this.props.height if (cell.content && cell.content.styles) {
? { try {
overflow: isDynamic ? 'hidden' : 'auto', styles = JSON.parse(cell.content.styles);
// overflowY: isDynamic && 'auto', } catch (e) {
width: '100%', console.log(`第${i}行第${j}列样式配置有误,${e}`);
height: this.props.height, }
paddingBottom: paddingBottom != null ? paddingBottom : isWebPrint ? 0 : '10px', }
} return !allhidden && cell.hidden ? (
: { ''
overflow: isDynamic ? 'hidden' : 'auto', ) : (
// overflowY: isDynamic && 'auto', <td
width: '100%', width={
paddingBottom: paddingBottom != null ? paddingBottom : isWebPrint ? 0 : '10px', i == 0
}; ? (cell.content != null && cell.content.cwidth != null
? cell.content.cwidth
: width) * (cell.col ? cell.col : 1)
if (!isReady) return <></>; : width * (cell.col ? cell.col : 1)
if (this.props.postData?.isUpdate) { }
updateTime = moment(+this.props.postData?.updateTime).format('llll'); rowSpan={cell.row}
} colSpan={cell.col}
key={j}
switch (get) { style={{
case 'web': overflow: 'auto',
return ( textAlign:
<> cell.content && cell.content.calign
{this.props.postData?.isUpdate ? ( ? cell.content.calign
<div style={{ margin: '100px 24px 24px' }}> : 'left',
<div style={{ textAlign: 'center' }}> ...(isBorder
<img style={{ marginRight: 30 }} ? cell?.content?.comName == 'InputHidden' ||
src={maintain}> !cell?.content?.comName
? {}
</img> : borderStyle
</div> : {}),
<p // position: cell.content&&cell.content.comName ==="InputHidden"&&'absolute',
style={{ ...styles,
textAlign: 'center', display:
width: '100%', cell.content &&
fontSize: '16px', (cell.content.comName === 'InputHidden' ||
fontWeight: 'bold', cell.content.isHidden) &&
color: '#666666', 'none',
}} }}>
> <TableCom
{updateTime !== 'Invalid date' taskId={this.props.taskId}
? `升级维护中,预计${updateTime ?? '一万年'}恢复使用,请耐心等待。` importExcel={this.importExcel}
: '请耐心等待'} getCellValue={this.getCellValue}
</p> getCurrentFormTitle={this.getCurrentFormTitle2}
</div> hfInstance={this.hfInstance}
) : ( isWebPrintEnd={isWebPrintEnd}
<div id="web_table"> isWebPrint={isWebPrint}
<Form className="login-form"> isPrint={this.props.isPrint}
{isEdit && defaultBinds formCode={formCode} // 当前表单code
? Object.keys(defaultBinds).map(k => { modalInit={modalInit}
const r = defaultBinds[k]; taskAssignee={taskAssignee} // 提交人
if ( userId={userId}
r.columnIds == null || formId={formId} // 当前表单Id
r.columnIds.length < 2 || i={i} // 当前组件下标
r.sqls == null || j={j} // 当前行数下班
r.sqls.length < 2 isPreview={isPreview}
) { fatherCode={fatherCode}
return ''; index={index}
} fatherObj={this.props.fatherObj}
const name = r.columnIds[r.columnIds.length - 1]; datas={datas}
const key = r.sqls[r.sqls.length - 1]; uuid={cell.uuid}
const value = defaultValues[key]; setRealTimeValues={this.setRealTimeValues}
isEdit={isEdit}
if (value == null) { formKey={currentFormKey}
return ''; currentFormTitle={currentFormTitle}
} init={init}
get={get} // 区分移动端或wen端
return this.props.form.getFieldDecorator(name, { json={cell.content}
initialValue: value, obj={{ ...obj, ...this.state.objRealTime } || {}} // 是否存在默认值
})(<Input type="hidden"/>); mapData={mapData}
}) form={this.props.form} // antd form控件
: ''} sqlData={sqlData}
defaultValues={defaultValues || {}} // 接口中的默认值
<Row> routerState={routerState} // 兼容表单设计器路由传参
<Col span={24}> messageData={messageData} // 场景设计器共享变量参数
<div concealModel={concealModel || {}} // 场景设计器内置路由跳转函数
style={styleDiv} isDynamic={isDynamic} // 是否为场景配置器调用
ref={ref => { trees={trees}
this.root = ref; />
}} </td>
> );
<table })}
style={{ </tr>
overflow: 'auto', );
margin: max * width > 550 ? 'auto' : '', })}
marginBottom: isWebPrint ? (isWebPrintEnd ? '5px' : 0) : '1px', </tbody>
...style, </table>
}}
border={border} {style.pageBreakAfter != null ? (
cellSpacing="0" <div style={{ pageBreakAfter: style.pageBreakAfter }} />
cellPadding="0" ) : (
> ''
<tbody> )}
{items.map((row, i) => { </div>
const allhidden = this.checkAllHidden(row); </Col>
return ( </Row>
<tr key={i}> </Form>
{row.map((cell, j) => { </div>
)}
if (!cell.content) { </>
return; );
} case 'mobile':
let styles = {}; return (
if (cell.content && cell.content.styles) { <>
try { {this.props.postData?.isUpdate ? (
styles = JSON.parse(cell.content.styles); <div style={{ margin: '100px 24px 24px' }}>
} catch (e) { <div style={{ textAlign: 'center' }}>
console.log(`第${i}行第${j}列样式配置有误,${e}`); <img style={{ width: '100%' }} src={maintain} />
} </div>
} <p
return !allhidden && cell.hidden ? ( style={{
'' textAlign: 'center',
) : ( width: '100%',
<td fontSize: '16px',
width={ fontWeight: 'bold',
i == 0 color: '#666666',
? (cell.content != null && cell.content.cwidth != null }}>
? cell.content.cwidth {updateTime !== 'Invalid date'
: width) * (cell.col ? cell.col : 1) ? `升级维护中,预计${updateTime ?? '一万年'}恢复使用,请耐心等待。`
: width * (cell.col ? cell.col : 1) : '请耐心等待'}
} </p>
rowSpan={cell.row} </div>
colSpan={cell.col} ) : (
key={j} <Form {...formItemLayout} id="mobile_table" className="login-form">
style={{ {defaultBinds
overflow: 'auto', ? Object.keys(defaultBinds).map((k) => {
textAlign: const r = defaultBinds[k];
cell.content && cell.content.calign if (
? cell.content.calign r.columnIds == null ||
: 'left', r.columnIds.length < 2 ||
...(isBorder r.sqls == null ||
? cell?.content?.comName == 'InputHidden' || r.sqls.length < 2
!cell?.content?.comName ) {
? {} return '';
: borderStyle }
: {}), const name = r.columnIds[r.columnIds.length - 1];
// position: cell.content&&cell.content.comName ==="InputHidden"&&'absolute', const key = r.sqls[r.sqls.length - 1];
...styles, const value = defaultValues[key];
display:
cell.content && if (value == null) {
(cell.content.comName === 'InputHidden' || return '';
cell.content.isHidden) && }
'none',
}} return this.props.form.getFieldDecorator(name, {
> initialValue: value,
<TableCom })(<Input type="hidden" />);
taskId={this.props.taskId} })
importExcel={this.importExcel} : ''}
getCellValue={this.getCellValue} <IsNewTable
getCurrentFormTitle={this.getCurrentFormTitle2} taskId={this.props.taskId}
hfInstance={this.hfInstance} getCellValue={this.getCellValue}
isWebPrintEnd={isWebPrintEnd} hfInstance={this.hfInstance}
isWebPrint={isWebPrint} getCurrentFormTitle={this.getCurrentFormTitle2}
isPrint={this.props.isPrint} taskAssignee={taskAssignee} // 提交人
formCode={formCode} // 当前表单code userId={userId}
modalInit={modalInit} importExcel={this.importExcel}
taskAssignee={taskAssignee} // 提交人 isPreview={isPreview}
userId={userId} trees={trees}
formId={formId} // 当前表单Id setRealTimeValues={this.setRealTimeValues}
i={i} // 当前组件下标 isRowCol={isRowCol}
j={j} // 当前行数下班 modalInit={modalInit}
isPreview={isPreview} items={items}
fatherCode={fatherCode} checkAllHidden={this.checkAllHidden}
index={index} isBorder={isBorder}
fatherObj={this.props.fatherObj} borderStyle={borderStyle}
datas={datas} fatherCode={fatherCode}
uuid={cell.uuid} index={index}
setRealTimeValues={this.setRealTimeValues} datas={datas}
isEdit={isEdit} isEdit={isEdit}
formKey={currentFormKey} currentFormKey={currentFormKey}
currentFormTitle={currentFormTitle} currentFormTitle={currentFormTitle}
init={init} init={init}
get={get} // 区分移动端或wen端 get={get}
json={cell.content} obj={{ ...obj, ...this.state.objRealTime }}
obj={{...obj,...this.state.objRealTime} || {}} // 是否存在默认值 mapData={mapData}
mapData={mapData} form={this.props.form}
form={this.props.form} // antd form控件 sqlData={sqlData}
sqlData={sqlData} defaultValues={defaultValues}
defaultValues={defaultValues || {}} // 接口中的默认值 width={width}
routerState={routerState} // 兼容表单设计器路由传参 formCode={formCode}
messageData={messageData} // 场景设计器共享变量参数 style={style}
concealModel={concealModel || {}} // 场景设计器内置路由跳转函数 routerState={routerState} // 兼容表单设计器路由传参
isDynamic={isDynamic} // 是否为场景配置器调用 messageData={messageData} // 场景设计器共享变量参数
trees={trees} formId={formId}
/> fatherObj={this.props.fatherObj}
</td> concealModel={concealModel || {}} // 场景设计器内置路由跳转函数
); isDynamic={isDynamic} // 是否为场景配置器调用
})} />
</tr> </Form>
); )}
})} </>
</tbody> );
</table> }
}
{style.pageBreakAfter != null ? (
<div style={{ pageBreakAfter: style.pageBreakAfter }}></div>
) : (
''
)}
</div>
</Col>
</Row>
</Form>
</div>
)}
</>
);
case 'mobile':
return (
<>
{this.props.postData?.isUpdate ? (
<div style={{ margin: '100px 24px 24px' }}>
<div style={{ textAlign: 'center' }}>
<img style={{ width: '100%' }} src={maintain}></img>
</div>
<p
style={{
textAlign: 'center',
width: '100%',
fontSize: '16px',
fontWeight: 'bold',
color: '#666666',
}}
>
{updateTime !== 'Invalid date'
? `升级维护中,预计${updateTime ?? '一万年'}恢复使用,请耐心等待。`
: '请耐心等待'}
</p>
</div>
) : (
<Form {...formItemLayout} id="mobile_table" className="login-form">
{defaultBinds
? Object.keys(defaultBinds).map(k => {
const r = defaultBinds[k];
if (
r.columnIds == null ||
r.columnIds.length < 2 ||
r.sqls == null ||
r.sqls.length < 2
) {
return '';
}
const name = r.columnIds[r.columnIds.length - 1];
const key = r.sqls[r.sqls.length - 1];
const value = defaultValues[key];
if (value == null) {
return '';
}
return this.props.form.getFieldDecorator(name, {
initialValue: value,
})(<Input type="hidden"/>);
})
: ''}
<IsNewTable
taskId={this.props.taskId}
getCellValue={this.getCellValue}
hfInstance={this.hfInstance}
getCurrentFormTitle={this.getCurrentFormTitle2}
taskAssignee={taskAssignee} // 提交人
userId={userId}
importExcel={this.importExcel}
isPreview={isPreview}
trees={trees}
setRealTimeValues={this.setRealTimeValues}
isRowCol={isRowCol}
modalInit={modalInit}
items={items}
checkAllHidden={this.checkAllHidden}
isBorder={isBorder}
borderStyle={borderStyle}
fatherCode={fatherCode}
index={index}
datas={datas}
isEdit={isEdit}
currentFormKey={currentFormKey}
currentFormTitle={currentFormTitle}
init={init}
get={get}
obj={{...obj,...this.state.objRealTime}}
mapData={mapData}
form={this.props.form}
sqlData={sqlData}
defaultValues={defaultValues}
width={width}
formCode={formCode}
style={style}
routerState={routerState} // 兼容表单设计器路由传参
messageData={messageData} // 场景设计器共享变量参数
formId={formId}
fatherObj={this.props.fatherObj}
concealModel={concealModel || {}} // 场景设计器内置路由跳转函数
isDynamic={isDynamic} // 是否为场景配置器调用
/>
</Form>
)}
</>
);
}
}
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论