{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\form\\LayoutProperty.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\form\\LayoutProperty.vue","mtime":1675071992022},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["import \"core-js/modules/es7.object.get-own-property-descriptors\";\nimport \"core-js/modules/es6.string.bold\";\nimport _defineProperty from \"D:/jenkins/workspace/xq-web-bpm/node_modules/@babel/runtime/helpers/esm/defineProperty\";\nimport _toConsumableArray from \"D:/jenkins/workspace/xq-web-bpm/node_modules/@babel/runtime/helpers/esm/toConsumableArray\";\nimport \"core-js/modules/es6.string.iterator\";\nimport \"core-js/modules/es6.map\";\nimport \"core-js/modules/es6.object.keys\";\nimport \"core-js/modules/es6.regexp.replace\";\nimport \"core-js/modules/es6.function.name\";\nimport \"core-js/modules/web.dom.iterable\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport Draggable from \"vuedraggable\";\nimport IconDialog from \"@/components/dialog/IconDialog.vue\";\nimport i18nMessageEdit from \"@/components/system/I18nMessageEdit\";\nimport HotTableFieldDialog from \"@/components/form/HotTableFieldDialog\";\nimport HotSubDialog from \"@/components/form/HotSubDialog\";\nimport MathDialog from \"@/components/form/customView/MathDialog.vue\";\nimport MathRowDialog from \"@/components/form/customView/MathRowDialog.vue\";\nimport CellMathDialog from \"@/components/form/customView/CellMathDialog.vue\";\nimport FormTabsDialog from \"@/components/form/FormTabsDialog.vue\";\nimport { Base64 } from \"js-base64\";\nimport utils from \"@/hotent-ui-util.js\";\nimport form from \"@/api/form.js\";\n\nvar EipDataTemplateSelector = function EipDataTemplateSelector() {\n  return import(\"@/components/selector/EipDataTemplateSelector.vue\");\n};\n\nvar SubImportMergeDialog = function SubImportMergeDialog() {\n  return import(\"@/components/form/customView/SubImportMergeDialog.vue\");\n};\n\nimport deepmerge from 'deepmerge';\nexport default {\n  name: \"layout-property\",\n  components: {\n    FormTabsDialog: FormTabsDialog,\n    Draggable: Draggable,\n    IconDialog: IconDialog,\n    i18nMessageEdit: i18nMessageEdit,\n    EipDataTemplateSelector: EipDataTemplateSelector,\n    HotTableFieldDialog: HotTableFieldDialog,\n    HotSubDialog: HotSubDialog,\n    MathDialog: MathDialog,\n    MathRowDialog: MathRowDialog,\n    CellMathDialog: CellMathDialog,\n    SubImportMergeDialog: SubImportMergeDialog\n  },\n  props: [\"data\", \"subTables\", \"sunTables\", \"tablefields\", \"boDefData\", \"formType\"],\n  data: function data() {\n    return {\n      selectQueryDialog: false,\n      subCustomHeader: \"\",\n      customQuerys: [{\n        alias: \"\",\n        name: \"\"\n      }],\n      subTableEnt: [{\n        name: \"\",\n        desc: \"\"\n      }],\n      customDialogs: [],\n      //对话框列表数据,\n      dialogcustDialogVisible: false,\n      dialogSunDialog: false,\n      custDialogprop: {},\n      dialogincluddingFileVisible: false,\n      pageBtnScriptDialog: false,\n      pageBtnScriptBase: \"\",\n      i18nMessageKey: \"\",\n      dialogStyleVisible: false,\n      //编写栅格布局样式对话框\n      selectList: [],\n      bindList: [],\n      dialogDataViewVisible: false,\n      //\n      templateShow: false,\n      style: \"\",\n      //栅格布局样式\n      styleIndex: \"\",\n      //栅格布局样式下标\n      cmStyle: {\n        value: \"\",\n        mode: \"css\",\n        readOnly: false,\n        smartIndent: true,\n        tabSize: 2,\n        theme: \"base16-light\",\n        lineNumbers: true,\n        line: true\n      },\n      relationVisible: false,\n      relations: [],\n      dialogHotHeaderDialogVisible: false,\n      dialogHotCrossMappingVisible: false,\n      dialogHotNestedHeadersVisible: false,\n      dialogHotCountVisible: false,\n      dialogCellCountVisible: false,\n      dialogHotRowsCountVisible: false,\n      currentHotColumnField: {},\n      dialogcustOrgVisible: false,\n      dialogMainTableCalcVisible: false,\n      dialogCellCalcVisible: false,\n      currentMainTableCalcField: {},\n      currentCellCalcField: {},\n      clickColor: \"\",\n      selectBorderType: \"\",\n      borderType: [{\n        value: \" border-style: solid; \",\n        label: \"————————————\"\n      }, {\n        value: \" border-style: dotted; \",\n        label: \"●●●●●●●●●●●●●●●●●●●●\"\n      }, {\n        value: \" border-style: dashed; \",\n        label: \"------------------------------\"\n      }, {\n        value: \" border-style: double; \",\n        label: \"==================\"\n      }],\n      hiddenBorder: \"\",\n      hiddenBorderType: [{\n        value: \" border-left: none; \",\n        label: \"隐藏左边框\"\n      }, {\n        value: \" border-right: none; \",\n        label: \"隐藏右边框\"\n      }, {\n        value: \" border-top: none; \",\n        label: \"隐藏上边框\"\n      }, {\n        value: \" border-bottom: none; \",\n        label: \"隐藏下边框\"\n      }],\n      tableHeaderExample: '<tr class=\"sub-table-header\" @click=\"transitionIndex = -1\">\\n' + \"\\n\" + '    <th colspan=\"2\" style=\"min-width: 200px;font-weight:normal;color:#969799;;;\"><span>*</span>\\n' + '        <span style=\"color:#969799;margin-left: 5px;\">一级表头名称</span>\\n' + \"    </th>\\n\" + \"\\n\" + \"</tr>\\n\" + '<tr class=\"sub-table-header\" @click=\"transitionIndex = -1\">\\n' + \"\\n\" + '    <th v-if=\"permission.fields.表名.字段名!=\\'n\\'\" style=\"min-width: 200px;font-weight:normal;color:#969799;;;\"><span\\n' + \"            v-if=\\\"permission.fields.表名.字段名=='b'\\\">*</span>\\n\" + '        <span style=\"color:#969799;margin-left: 5px;\">默认显示字段名</span>\\n' + \"    </th>\\n\" + '    <th v-if=\"permission.fields.表名.字段名!=\\'n\\'\" style=\"min-width: 200px;font-weight:normal;color:#969799;;;\"><span\\n' + \"            v-if=\\\"permission.fields.表名.字段名=='b'\\\">*</span>\\n\" + '        <span style=\"color:#969799;margin-left: 5px;\">默认显示字段名</span>\\n' + \"    </th>\\n\" + \"\\n\" + \"</tr>\",\n      tableTempAddRowIndex: 0,\n      tableTempAddColIndex: 0,\n      tableTempDelRowIndex: 0,\n      tableTempDelColIndex: 0\n    };\n  },\n  mounted: function mounted() {\n    var _this2 = this;\n\n    //回填显示数据视图控件\n    if (this.data.ctrlType) {\n      if (this.data.templateId) {\n        if (this.data.templateId != \"\") {\n          form.getBpmDataTemplateById(this.data.templateId, \"\").then(function (response) {\n            _this2.data.templateObj = response.data;\n            _this2.templateShow = true;\n          });\n        }\n      } else {\n        this.templateShow = true;\n      }\n    }\n  },\n  watch: {\n    \"data.subtablePagination\": function dataSubtablePagination(newVal) {\n      // 子表不支持前端分页时，也取消前端导入导出。\n      if (!newVal) {\n        delete this.data.subtableImportExport;\n        delete this.data.subtableImportMergeExp;\n      }\n    },\n    \"data.subtableImportExport\": function dataSubtableImportExport(newVal) {\n      // 不支持导入导出时，也删除导入合并代码\n      if (!newVal) {\n        delete this.data.subtableImportMergeExp;\n      }\n    },\n    \"data.templateObj\": function dataTemplateObj(newVal, oldVal) {\n      var _this3 = this;\n\n      if (JSON.stringify(newVal) != \"{}\") {\n        //保存boDefAlias\n        this.tablefields.forEach(function (item) {\n          if (item.type == \"main\") {\n            _this3.data.options.boDefAlias = item.boDefAlias;\n          }\n        });\n\n        if (newVal) {\n          this.data.templateKey = newVal.alias;\n          this.data.templateId = newVal.id;\n          var data = newVal.formField;\n\n          if (data) {\n            this.data.templateField = JSON.parse(data);\n          }\n\n          this.selectList = JSON.parse(JSON.stringify(this.data.options.selectList));\n          this.bindList = JSON.parse(JSON.stringify(this.data.options.bindList));\n        }\n      } else {\n        this.data.templateField = [];\n        this.data.templateKey = \"\";\n        this.data.templateId = \"\";\n        this.data.options = {\n          showLabel: true,\n          boDefAlias: \"\",\n          selectList: [],\n          bindList: []\n        };\n      }\n    },\n    \"data.ctrlType\": function dataCtrlType(newVal, oldVal) {\n      if (newVal != oldVal) {\n        if (newVal == \"hottable\") {\n          if (!this.data.customDialogjson.orgConfig) {\n            this.data.customDialogjson.orgConfig = {\n              name: \"\",\n              code: \"\",\n              id: \"\"\n            };\n          }\n\n          if (!this.data.options.hasOwnProperty(\"initSumRowField\")) {\n            this.data.options.initSumRowField = \"\";\n          }\n\n          if (!this.data.options.hasOwnProperty(\"initSumRowValue\")) {\n            this.data.options.initSumRowValue = \"\";\n          }\n        }\n      }\n    }\n  },\n  methods: {\n    //子表布局切换\n    subChange: function subChange() {\n      if (this.data.ctrlType == \"subtable\" && this.data.list.length > 0) {\n        var oldList = this.data.list;\n        var newList = [];\n\n        for (var i = 0; i < oldList.length; i++) {\n          if (oldList[i].ctrlType == \"grid\") {\n            //DIV子表存在栅格布局\n            if (oldList[i].columns.length > 0) {\n              for (var j = 0; j < oldList[i].columns.length; j++) {\n                if (oldList[i].columns[j].list.length > 0) {\n                  for (var k = 0; k < oldList[i].columns[j].list.length; k++) {\n                    newList.push(oldList[i].columns[j].list[k]);\n                  }\n                }\n              }\n            }\n          } else {\n            newList.push(oldList[i]);\n          }\n        }\n\n        this.data.list = newList;\n      }\n    },\n    openFormtbsDialog: function openFormtbsDialog(index) {\n      this.$refs.FormtbsDialog.openDialog(index);\n    },\n    closeQueryDialog: function closeQueryDialog() {\n      this.selectQueryDialog = false;\n      this.data.customQuery = {\n        isUse: this.data.customQuery.isUse\n      };\n      $message(\"清空成功\");\n    },\n    //选择下拉框控件并绑定关联查询\n    setSelectQuery: function setSelectQuery(alias) {\n      var _this = this;\n\n      _this.customQuerys.forEach(function (item) {\n        //判断选择的关联查询是否存在\n        if (alias == item.alias) {\n          if (typeof item.conditionfield == \"string\") {\n            item.conditionfield = JSON.parse(item.conditionfield); //parseToJson(item.customQuery.conditionfield);\n\n            item.resultfield = JSON.parse(item.resultfield); // parseToJson(item.customQuery.resultfield);\n\n            item.conditionfield.forEach(function (res) {\n              _this.$set(res, \"fieldPath\", \"\"); //关联查询条件字段绑定的表单参数路径\n\n            });\n            item.resultfield.forEach(function (res) {\n              _this.$set(res, \"fieldPath\", \"\"); //关联查询返回字段绑定的表单参数路径\n\n            });\n          } //把当前对象克隆一份到控件属性配置\n\n\n          Object.assign(_this.data.customQuery, item); // 删除多余属性\n\n          _this.slimCustomQuery(_this.data.customQuery);\n        }\n      });\n    },\n    // 当字段与关联查询绑定后，将关联查询中多余的属性删除\n    slimCustomQuery: function slimCustomQuery(customQuery) {\n      if (customQuery && customQuery.constructor == Object) {\n        // 删除多余的属性\n        delete customQuery[\"id\"];\n        delete customQuery[\"createTime\"];\n        delete customQuery[\"pkVal\"];\n        delete customQuery[\"objName\"];\n        delete customQuery[\"needPage\"];\n        delete customQuery[\"pageSize\"];\n        delete customQuery[\"dsalias\"];\n        delete customQuery[\"dataParam\"];\n        delete customQuery[\"sortfield\"];\n        delete customQuery[\"diySql\"];\n        delete customQuery[\"isTable\"];\n        delete customQuery[\"sqlBuildType\"]; // delete customQuery[\"dsType\"];\n\n        delete customQuery[\"url\"];\n        delete customQuery[\"header\"];\n        delete customQuery[\"requestType\"];\n        delete customQuery[\"pageKey\"];\n        delete customQuery[\"pageSizeKey\"];\n        delete customQuery[\"totalKey\"];\n        delete customQuery[\"listKey\"];\n      }\n    },\n    afterCustomQueryLoadData: function afterCustomQueryLoadData(data) {},\n    //打开下拉框绑定关联查询弹框\n    showSelectQueryDialog: function showSelectQueryDialog() {\n      var _this4 = this;\n\n      if (!this.data.options.boSubEntity) {\n        this.$message.warning(\"请先绑定子表\");\n        return;\n      }\n\n      this.subTableEnt = this.subTables.filter(function (ent) {\n        return ent.name == _this4.data.options.boSubEntity;\n      });\n      this.data.customQuery.path = \"data.\" + this.subTableEnt[0].path;\n      this.$http.post(\"${form}/form/customQuery/v1/list\").then(function (res) {\n        _this4.customQuerys = res.data.rows;\n        _this4.selectQueryDialog = true;\n      });\n    },\n    filterFields: function filterFields(obj) {\n      if (obj.nodeType == \"sub\") {\n        return false;\n      } else {\n        return true;\n      }\n    },\n    //编写栅格布局样式后取消事件\n    includeStyleNo: function includeStyleNo() {\n      this.style = \"\";\n      this.styleIndex = \"\";\n      this.clickColor = \"\";\n      this.hiddenBorder = \"\";\n      this.selectBorderType = \"\";\n      this.dialogStyleVisible = false;\n    },\n    //编写栅格布局样式后确认事件\n    includeStyleOk: function includeStyleOk() {\n      var color = \"\";\n\n      if (this.clickColor) {\n        color = \" border-color: \" + this.clickColor + \"; \";\n      }\n\n      var hiddenBorder = \"\";\n\n      if (this.hiddenBorder) {\n        this.hiddenBorder.forEach(function (v) {\n          hiddenBorder += v;\n        });\n      }\n\n      if (this.style || color || this.selectBorderType || hiddenBorder) {\n        this.data.columns[this.styleIndex].style = this.style + color + this.selectBorderType + hiddenBorder;\n      } else {\n        this.data.columns[this.styleIndex].style = \"\";\n      }\n\n      this.style = \"\";\n      this.clickColor = \"\";\n      this.hiddenBorder = \"\";\n      this.selectBorderType = \"\";\n      this.styleIndex = \"\";\n      this.dialogStyleVisible = false;\n    },\n    //打开编写栅格布局样式对话框\n    handleGridColumnStyle: function handleGridColumnStyle(index) {\n      this.styleIndex = index;\n\n      if (this.data.columns[index].style) {\n        this.style = this.data.columns[index].style;\n      } else {\n        this.style = \"\";\n      }\n\n      this.dialogStyleVisible = true;\n    },\n    autoRunJSScript: function autoRunJSScript(type, isBnt) {\n      this.BtnScriptType = type;\n      var script;\n\n      if (type == 1) {\n        //下一步按钮的前置脚本\n        script = this.data.options.nextBntjson.preScript;\n      }\n\n      this.pageBtnScriptDialog = true;\n      if (!script) return;\n      this.pageBtnScriptBase = Base64.decode(script);\n    },\n    pageBtnScriptDialogOk: function pageBtnScriptDialogOk() {\n      this.pageBtnScriptDialog = false;\n    },\n    pageBtnScriptDialogClose: function pageBtnScriptDialogClose() {\n      this.pageBtnScriptDialog = false;\n    },\n    pegeNextIcon: function pegeNextIcon(icon) {\n      this.data.nextButton.icon = icon;\n    },\n    pegeBackIcon: function pegeBackIcon(icon) {\n      this.data.backButton.icon = icon;\n    },\n    includeFilesOk: function includeFilesOk() {\n      this.dialogincluddingFileVisible = false;\n\n      if (this.subCustomHeader) {\n        this.data.customHeader = Base64.encode(this.subCustomHeader, \"utf-8\");\n      } else {\n        this.data.customHeader = \"\";\n      }\n    },\n    includdingFile: function includdingFile() {\n      this.dialogincluddingFileVisible = true;\n\n      if (this.data.customHeader) {\n        this.subCustomHeader = Base64.decode(this.data.customHeader, \"utf-8\");\n      } else {\n        this.subCustomHeader = \"\";\n      }\n    },\n    unbind: function unbind(key) {\n      for (var item in this.custDialogprop) {\n        if (key == item) {\n          this.$set(this.custDialogprop, key, \"\");\n          delete this.custDialogprop[key];\n        }\n      }\n    },\n    editI18nMessage: function editI18nMessage() {\n      this.i18nMessageKey = this.data.options.subTablePath;\n      this.$refs.i18nMessageEdit.handleOpen();\n    },\n    afterSaveI18n: function afterSaveI18n(data) {\n      data.key = data.key.replace(\"$\", \"#\");\n      this.data.desc = data.key;\n      this.data.desc_zh = data.desc;\n    },\n    // 子表对话框确定事件\n    custDialogOk: function custDialogOk(isDialog) {\n      //对话框返回值\n      var mappingConf = [];\n\n      for (var key in this.custDialogprop) {\n        mappingConf.push({\n          from: key,\n          target: [this.custDialogprop[key]]\n        });\n      }\n\n      this.data.customDialogjson.custDialog.mappingConf = mappingConf;\n      this.dialogcustDialogVisible = false;\n    },\n    custOrgDialogOk: function custOrgDialogOk() {\n      this.dialogcustOrgVisible = false;\n    },\n    //打开设置子表对话框返回值\n    custDialogClick: function custDialogClick() {\n      this.dialogcustDialogVisible = true;\n      this.custDialogprop = null;\n      var tempGroup = {};\n      var initConf = this.data.customDialogjson;\n\n      if (initConf.custDialog.mappingConf) {\n        for (var i = 0, c; c = initConf.custDialog.mappingConf[i++];) {\n          if (!c) continue;\n          var target = c.target;\n          if (target) target = target.join(\",\");\n          tempGroup[c.from] = target;\n        }\n      }\n\n      initConf.resultField.forEach(function (f) {\n        if (!tempGroup[f.comment]) {\n          tempGroup[f.comment] = \"\";\n        }\n      });\n      this.custDialogprop = tempGroup;\n    },\n    custOrgClick: function custOrgClick() {\n      if (!this.data.customDialogjson.orgConfig) {\n        this.data.customDialogjson.orgConfig = {\n          name: \"\",\n          code: \"\",\n          id: \"\",\n          instId: \"\"\n        };\n      }\n\n      this.dialogcustOrgVisible = true;\n    },\n    initHotColHeaders: function initHotColHeaders() {\n      var _this5 = this;\n\n      var nowHeaders = this.data.options.colHeadersRelations;\n      var children = [];\n      this.subTables.forEach(function (sub) {\n        if (sub.name == _this5.data.options.boSubEntity) {\n          children = sub.children;\n        }\n      });\n\n      if (children.length > 0) {\n        var _loop = function _loop(index) {\n          var child = children[index];\n          var isExist = false;\n          nowHeaders.forEach(function (f) {\n            if (f.name == child.name) {\n              isExist = true;\n            }\n          });\n\n          if (!isExist) {\n            var columnPropertis = {\n              data: child.name,\n              readOnly: false,\n              readOnlyRows: \"\",\n              required: false,\n              requiredRows: \"\",\n              mergeCell: false,\n              type: \"text\",\n              source: [],\n              dateFormat: \"\",\n              mathExp: \"\",\n              rowMathExp: [],\n              width: 90,\n              style: {\n                size: 0,\n                color: \"\",\n                bold: false,\n                background: \"\",\n                diyStyle: \"\"\n              }\n            };\n\n            _this5.data.options.colHeadersRelations.push({\n              name: child.name,\n              desc: child.comment,\n              column: columnPropertis,\n              isSum: false\n            });\n          }\n        };\n\n        for (var index = 0; index < children.length; index++) {\n          _loop(index);\n        }\n      }\n    },\n    setColHeader: function setColHeader() {\n      this.dialogHotHeaderDialogVisible = true;\n    },\n    setCrossMapping: function setCrossMapping() {\n      if (!this.data.options.crossMapping) {\n        this.data.options.crossMapping = [{\n          toField: \"\",\n          toIndex: 1,\n          fromFields: [{\n            fromSubTabPath: \"\",\n            fromField: \"\",\n            fromIndex: 1\n          }]\n        }];\n      }\n\n      this.dialogHotCrossMappingVisible = true;\n    },\n    setNestedHeaders: function setNestedHeaders() {\n      if (!this.data.options.nestedHeaders) {\n        this.data.options.nestedHeaders = [];\n      }\n\n      this.dialogHotNestedHeadersVisible = true;\n    },\n    setMainTableCalc: function setMainTableCalc() {\n      if (!this.data.options.mainTableCalcs) {\n        this.data.options.mainTableCalcs = [];\n      }\n\n      this.dialogMainTableCalcVisible = true;\n    },\n    setCellCalc: function setCellCalc() {\n      if (!this.data.options.cellCalcs) {\n        this.data.options.cellCalcs = [];\n      }\n\n      this.dialogCellCalcVisible = true;\n    },\n    hotHeaderDialogOk: function hotHeaderDialogOk(isDialog) {\n      if (this.data.options.colHeadersRelations) {\n        var newColHeadersRelations = JSON.stringify(this.data.options.colHeadersRelations);\n        this.data.options.colHeadersRelations = [];\n        this.data.options.colHeadersRelations = JSON.parse(newColHeadersRelations);\n      }\n\n      this.dialogHotHeaderDialogVisible = false;\n    },\n    hotCrossMappingDialogOk: function hotCrossMappingDialogOk() {\n      this.dialogHotCrossMappingVisible = false;\n    },\n    hotMainTableCalcDialogOk: function hotMainTableCalcDialogOk() {\n      this.dialogMainTableCalcVisible = false;\n    },\n    hotCellCalcDialogOk: function hotCellCalcDialogOk() {\n      this.dialogCellCalcVisible = false;\n    },\n    hotNestedHeadersDialogOk: function hotNestedHeadersDialogOk() {\n      this.dialogHotNestedHeadersVisible = false;\n    },\n    addHotCrossMapping: function addHotCrossMapping() {\n      this.data.options.crossMapping.push({\n        toField: \"\",\n        toIndex: 1,\n        fromFields: [{\n          fromSubTabPath: \"\",\n          fromField: \"\",\n          fromIndex: 1\n        }]\n      });\n    },\n    addHotCrossMappingField: function addHotCrossMappingField(field) {\n      field.fromFields.push({\n        fromSubTabPath: \"\",\n        fromField: \"\",\n        fromIndex: 1\n      });\n    },\n    addHotMainTableCalc: function addHotMainTableCalc() {\n      this.data.options.mainTableCalcs.push({\n        name: \"\",\n        mainField: \"\",\n        sumField: \"\"\n      });\n    },\n    addHotCellCalc: function addHotCellCalc() {\n      this.data.options.cellCalcs.push({\n        cellField: \"\",\n        rowIndex: 1,\n        mathExp: \"\"\n      });\n    },\n    addHotNestedHeaders: function addHotNestedHeaders() {\n      this.data.options.nestedHeaders.push({\n        headers: [{\n          name: \"\",\n          startField: \"\",\n          endField: \"\"\n        }]\n      });\n    },\n    hotHeaderRemove: function hotHeaderRemove(item) {\n      this.data.options.colHeadersRelations.remove(item);\n    },\n    hotCrossMappingRemove: function hotCrossMappingRemove(item) {\n      this.data.options.crossMapping.remove(item);\n    },\n    hotCrossMappingFiledRemove: function hotCrossMappingFiledRemove(field, item) {\n      field.fromFields.remove(item);\n    },\n    hotMainTableCalcRemove: function hotMainTableCalcRemove(item) {\n      this.data.options.mainTableCalcs.remove(item);\n    },\n    hotCellCalcRemove: function hotCellCalcRemove(item) {\n      this.data.options.cellCalcs.remove(item);\n    },\n    hotMainTableCalcEdit: function hotMainTableCalcEdit(item) {\n      this.currentHotColumnField = {};\n      this.dialogHotCountVisible = true;\n\n      var _this = this;\n\n      setTimeout(function () {\n        _this.$refs.mathDialog.mathExpAssign(item.script);\n\n        _this.currentMainTableCalcField = item;\n      }, 0);\n    },\n    hotCellCalcEdit: function hotCellCalcEdit(item) {\n      this.currentCellCalcField = {};\n      this.dialogCellCountVisible = true;\n\n      var _this = this;\n\n      setTimeout(function () {\n        _this.$refs.cellMathDialog.mathExpAssign(item.mathExp);\n\n        _this.currentCellCalcField = item;\n      }, 0);\n    },\n    hotNestedHeadersRemove: function hotNestedHeadersRemove(item) {\n      this.data.options.nestedHeaders.remove(item);\n    },\n    hotNestedHeadersItemAdd: function hotNestedHeadersItemAdd(headers) {\n      headers.push({\n        name: \"\",\n        startField: \"\",\n        endField: \"\"\n      });\n    },\n    hotNestedHeadersItemRemove: function hotNestedHeadersItemRemove(headers, item) {\n      headers.remove(item);\n    },\n    setHotMathExp: function setHotMathExp(fillField) {\n      this.currentMainTableCalcField = {};\n      this.dialogHotCountVisible = true;\n\n      var _this = this;\n\n      setTimeout(function () {\n        _this.$refs.mathDialog.mathExpAssign(fillField.column.mathExp);\n\n        _this.currentHotColumnField = fillField;\n      }, 0);\n    },\n    setHotRowMathExp: function setHotRowMathExp(fillField) {\n      this.currentMainTableCalcField = {};\n      this.dialogHotRowsCountVisible = true;\n\n      var _this = this;\n\n      setTimeout(function () {\n        if (!fillField.column.rowMathExp) {\n          fillField.column.rowMathExp = [];\n        }\n\n        _this.$refs.mathRowDialog.mathExpAssign(fillField.column.rowMathExp);\n\n        _this.currentHotColumnField = fillField;\n      }, 0);\n    },\n    setHotColumMathExp: function setHotColumMathExp(exp) {\n      if (Object.keys(this.currentMainTableCalcField) != 0) {\n        this.currentMainTableCalcField.script = exp;\n      } else if (Object.keys(this.currentHotColumnField) != 0) {\n        this.currentHotColumnField.column.mathExp = exp;\n      }\n\n      this.$refs.mathDialog.mathExpAssign(\"\");\n    },\n    setHotCellMathExp: function setHotCellMathExp(exp) {\n      if (Object.keys(this.currentCellCalcField) != 0) {\n        this.currentCellCalcField.mathExp = exp;\n      }\n\n      this.$refs.cellMathDialog.mathExpAssign(\"\");\n    },\n    setHotColumRowMathExp: function setHotColumRowMathExp(exp) {\n      this.currentHotColumnField.column.rowMathExp = exp;\n      this.$refs.mathRowDialog.mathExpAssign([]);\n    },\n    setHotColumType: function setHotColumType(item) {\n      this.$refs.hotTableFieldDialog.handleOpen(item);\n    },\n    hotTableFieldSave: function hotTableFieldSave(field) {},\n    // 孙表对话框确定事件\n    custDialogSunOk: function custDialogSunOk(isDialog) {\n      //对话框返回值\n      var mappingConf = [];\n\n      for (var key in this.custDialogprop) {\n        mappingConf.push({\n          from: key,\n          target: [this.custDialogprop[key]]\n        });\n      }\n\n      this.data.customDialogjson.custDialog.mappingConf = mappingConf;\n      this.dialogSunDialog = false;\n    },\n    //打开设置孙表对话框返回值\n    custDialogSunClick: function custDialogSunClick() {\n      this.dialogSunDialog = true;\n      this.custDialogprop = null;\n      var tempGroup = {};\n      var initConf = this.data.customDialogjson;\n\n      if (initConf.custDialog.mappingConf) {\n        for (var i = 0, c; c = initConf.custDialog.mappingConf[i++];) {\n          if (!c) continue;\n          var target = c.target;\n          if (target) target = target.join(\",\");\n          tempGroup[c.from] = target;\n        }\n      }\n\n      initConf.resultField.forEach(function (f) {\n        if (!tempGroup[f.comment]) {\n          tempGroup[f.comment] = \"\";\n        }\n      });\n      this.custDialogprop = tempGroup;\n    },\n    //数据视图控件方法\n    dataViewClick: function dataViewClick() {\n      if (!this.data.templateKey || this.data.templateKey == \"\") {\n        this.$message.warning(\"请先选择表单列表\");\n        return;\n      }\n\n      if (this.data.options.selectList) {\n        this.selectList = JSON.parse(JSON.stringify(this.data.options.selectList));\n      }\n\n      if (this.data.options.bindList) {\n        this.bindList = JSON.parse(JSON.stringify(this.data.options.bindList));\n      }\n\n      this.dialogDataViewVisible = true;\n    },\n    handleDataRemove: function handleDataRemove() {\n      //删除方法\n      this.selectList = [{\n        selectField: \"\",\n        bindSelectd: \"\"\n      }];\n      this.bindList = [{\n        fillField: \"\",\n        bindFilld: \"\"\n      }];\n      this.data.templateObj = {};\n    },\n    confirmDataView: function confirmDataView() {\n      //校验\n      if (this.selectList && this.selectList.length > 0) {\n        for (var i = 0; i < this.selectList.length; i++) {\n          if (this.selectList[i].selectField == \"\" || this.selectList[i].bindSelectd == \"\") {\n            this.$message.warning(\"关联查询第\" + (i + 1) + \"行表单字段、数据报表字段为空！\");\n            return false;\n          }\n        }\n      }\n\n      if (this.bindList && this.bindList.length > 0) {\n        for (var i = 0; i < this.bindList.length; i++) {\n          if (this.bindList[i].fillField == \"\" || this.bindList[i].bindFilld == \"\") {\n            this.$message.warning(\"关联填充第\" + (i + 1) + \"行表单字段、数据报表字段为空！\");\n            return false;\n          }\n        }\n      }\n\n      var resField = this.isRepeat(this.selectList, \"selectField\");\n\n      if (!resField) {\n        this.$message.warning(\"关联查询字段只能绑定唯一的表单字段\");\n        return false;\n      }\n\n      var resultSelect = this.isRepeat(this.selectList, \"bindSelectd\");\n\n      if (!resultSelect) {\n        this.$message.warning(\"关联查询字段只能绑定唯一的表单列表字段\");\n        return false;\n      }\n\n      var resultFill = this.isRepeat(this.bindList, \"fillField\");\n\n      if (!resultFill) {\n        this.$message.warning(\"关联填充字段只能绑定唯一的表单字段\");\n        return false;\n      }\n\n      var resultBind = this.isRepeat(this.bindList, \"bindFilld\");\n\n      if (!resultBind) {\n        this.$message.warning(\"关联填充字段只能绑定唯一的表单列表字段\");\n        return false;\n      }\n\n      this.data.options.selectList = JSON.parse(JSON.stringify(this.selectList));\n      this.data.options.bindList = JSON.parse(JSON.stringify(this.bindList));\n      this.dialogDataViewVisible = false;\n    },\n    isRepeat: function isRepeat(arr, key) {\n      var obj = {};\n\n      for (var i = 0; i < arr.length; i++) {\n        if (obj[arr[i][key]]) {\n          return false;\n        } else {\n          obj[arr[i][key]] = arr[i];\n        }\n      }\n\n      return true;\n    },\n    addSelectList: function addSelectList() {\n      if (this.tablefields) {\n        for (var i = 0; i < this.tablefields.length; i++) {\n          if (this.tablefields[i].nodeType == 'main') {\n            var children = this.tablefields[i].children;\n\n            if (children) {\n              if (this.selectList.length >= children.length) {\n                this.$message.warning(\"不能添加更多的关联查询字段！\");\n                return false;\n              }\n            }\n          }\n        }\n      }\n\n      var selectObj = {\n        selectField: \"\",\n        bindSelectd: \"\"\n      };\n      this.selectList.push(selectObj);\n    },\n    addBindList: function addBindList() {\n      if (this.tablefields) {\n        for (var i = 0; i < this.tablefields.length; i++) {\n          if (this.tablefields[i].nodeType == 'main') {\n            var children = this.tablefields[i].children;\n\n            if (children) {\n              if (this.bindList.length >= children.length) {\n                this.$message.warning(\"不能添加更多的关联填充字段！\");\n                return false;\n              }\n            }\n          }\n        }\n      }\n\n      var bindObj = {\n        fillField: \"\",\n        bindFilld: \"\"\n      };\n      this.bindList.push(bindObj);\n    },\n    afterCustomDialogLoadData: function afterCustomDialogLoadData(data) {\n      this.customDialogs = data;\n    },\n    icons: function icons(icon) {\n      this.data.options.customDialogjson.icon = icon;\n    },\n    changeCustDialog: function changeCustDialog() {\n      this.custDialogprop = {};\n      this.data.customDialogjson.custDialog.conditions = [];\n      this.data.customDialogjson.custDialog.conditions.custQueryJson = [];\n      this.data.customDialogjson.custDialog.mappingConf = [];\n      if (this.customDialogs.length == 0) return;\n\n      if (this.data.customDialogjson.custDialog.alias == null) {\n        this.data.customDialogjson.custDialog.conditions = [];\n        return;\n      }\n\n      for (var i = 0, d; d = this.customDialogs[i++];) {\n        if (d.alias == this.data.customDialogjson.custDialog.alias) {\n          var treeData;\n\n          if (d.listDialog && d.listDialog.resultfield) {\n            treeData = eval(\"(\" + d.listDialog.resultfield + \")\");\n            this.data.customDialogjson.custDialog.type = \"combiDialog\";\n          }\n\n          if (d.resultfield) {\n            treeData = eval(\"(\" + d.resultfield + \")\");\n            this.data.customDialogjson.custDialog.type = \"custDialog\";\n          }\n\n          for (var q = 0, f; f = treeData[q++];) {\n            f.field = f.comment;\n          }\n\n          this.data.customDialogjson.resultField = treeData;\n          var conditionList = eval(\"(\" + d.conditionfield + \")\");\n          this.data.customDialogjson.custDialog.conditions = []; //只处理类型等于1的对话框参数（defaultType：1：用户输入，2：固定值 ，3：参数传入）\n\n          if (conditionList && conditionList.length > 0) {\n            for (var j = 0, c; c = conditionList[j++];) {\n              if (c.defaultType == \"3\") {\n                var has = false;\n                if (!has) this.data.customDialogjson.custDialog.conditions.push(c);\n              }\n            }\n          }\n        }\n      }\n    },\n    handleGridColumnRemove: function handleGridColumnRemove(index) {\n      if (this.data.options.activeNames != undefined) {\n        this.data.options.activeNames.remove(this.data.columns[index].idKey);\n      }\n\n      this.data.columns.splice(index, 1);\n    },\n    handleGridColumnAdd: function handleGridColumnAdd(type) {\n      if (type == \"tab\") {\n        this.data.columns.push({\n          span: \"标签页\" + (this.data.columns.length + 1),\n          list: [],\n          permission: \"\",\n          permissionPath: \"\"\n        });\n      } else if (type == \"page\") {\n        this.data.columns.push({\n          span: \"分页\" + (this.data.columns.length + 1),\n          list: []\n        });\n      } else if (type == \"collapse\") {\n        this.data.columns.push({\n          span: \"折叠面板\" + (this.data.columns.length + 1),\n          idKey: Date.parse(new Date()) + utils.getName(),\n          isOpen: false,\n          list: []\n        });\n      } else {\n        this.data.columns.push({\n          span: \"\",\n          list: []\n        });\n      }\n    },\n    switchChange: function switchChange(item) {\n      if (eval(item.isOpen)) {\n        this.data.options.activeNames.push(item.idKey);\n      } else {\n        this.data.options.activeNames.remove(item.idKey);\n      }\n    },\n    subTableChange: function subTableChange(value, data) {\n      this.data.name = data.name;\n      this.data.list = [];\n      this.data.desc = data.desc;\n      this.data.options.subTablePath = data.path;\n\n      if (data.show == \"子实体\") {\n        this.data.options.subDivTablePath = data.path;\n      }\n\n      this.data.options.relation = data.relation;\n\n      if (this.data.ctrlType == \"hottable\" && data.children) {\n        var fields = [];\n        var list = [];\n\n        for (var index = 0; index < data.children.length; index++) {\n          var child = data.children[index];\n          var columnPropertis = {\n            data: child.name,\n            readOnly: false,\n            readOnlyRows: \"\",\n            required: false,\n            requiredRows: \"\",\n            mergeCell: false,\n            type: \"text\",\n            source: [],\n            dateFormat: \"\",\n            mathExp: \"\",\n            rowMathExp: [],\n            width: 90,\n            style: {\n              size: 0,\n              color: \"\",\n              bold: false,\n              background: \"\",\n              diyStyle: \"\"\n            }\n          };\n          fields.push({\n            name: child.name,\n            desc: child.comment,\n            column: columnPropertis\n          });\n          var listField = {\n            options: {}\n          };\n          listField.boDefId = child.boDefId;\n          listField.boAttrId = child.id;\n          listField.fieldPath = child.path + \".\" + child.name;\n          listField.name = child.name;\n          listField.desc = child.desc;\n          listField.title = child.desc;\n          listField.entId = child.entId;\n          listField.boDefAlias = child.boDefAlias;\n          listField.tableName = child.tableName;\n          listField.columnType = child.columnType;\n\n          if (child.dataType == \"date\") {\n            listField.options.format = child.format;\n            listField.options.inputFormat = child.format;\n          } else if (child.dataType == \"number\") {\n            listField.options.maxDecimalDigits = child.decimalLen;\n            listField.options.decimalDigits = child.decimalLen;\n          }\n\n          list.push(listField);\n        }\n\n        this.data.list = list;\n        this.data.options.colHeadersRelations = fields;\n      }\n    },\n    addRelation: function addRelation() {\n      var _this6 = this;\n\n      this.relationVisible = true;\n      this.relations = [];\n      this.data.list.forEach(function (item) {\n        if (item.options.mapping) {\n          _this6.relations.push({\n            key_: item.name,\n            value_: item.options.mapping\n          });\n        }\n      });\n    },\n    add: function add() {\n      this.relations.push({\n        key_: \"\",\n        value_: \"\"\n      });\n    },\n    remove: function remove(index) {\n      this.relations.splice(index, 1);\n    },\n    submit: function submit() {\n      var flag = false;\n      var map = new Map();\n      this.relations.forEach(function (item) {\n        if (!item.key_ || !item.value_) {\n          flag = true;\n        }\n\n        map.set(item.key_, item.value_);\n      });\n\n      if (flag) {\n        this.$message(\"映射关系不能为空\");\n        return;\n      }\n\n      this.data.list.forEach(function (item) {\n        if (map.has(item.name)) {\n          item.options.mapping = map.get(item.name);\n        } else {\n          delete item.options.mapping;\n        }\n      });\n      this.relationVisible = false;\n    },\n    initHotTableData: function initHotTableData() {\n      this.$refs.hotSubDialog.showDialog();\n    },\n    hotTableInitData: function hotTableInitData(initData) {\n      this.data.options.initFillbackData = initData;\n    },\n    up: function up(index, data) {\n      if (index === 0) {\n        this.$message({\n          message: \"已经是列表中第一位\",\n          type: \"warning\"\n        });\n      } else {\n        var temp = data[index - 1];\n        this.$set(data, index - 1, data[index]);\n        this.$set(data, index, temp);\n      }\n    },\n    down: function down(index, data) {\n      if (index === data.length - 1) {\n        this.$message({\n          message: \"已经是列表中最后一位\",\n          type: \"warning\"\n        });\n      } else {\n        this.isTransition = true;\n        var i = data[index + 1];\n        this.$set(data, index + 1, data[index]);\n        this.$set(data, index, i);\n      }\n    },\n    handleTableTdClose: function handleTableTdClose(rowIndex, colIndex) {\n      var tempRow = this.data.rows[rowIndex];\n\n      if (tempRow.cols.length > 1) {\n        if (colIndex > 0) {\n          tempRow.cols[colIndex - 1].colspan += 1;\n        } else if (colIndex == 0 && tempRow.cols.length > 1) {\n          tempRow.cols[colIndex + 1].colspan += 1;\n        }\n\n        tempRow.cols.splice(colIndex, 1);\n      } else {\n        var rows = this.data.rows;\n        rows.splice(rowIndex, 1);\n        this.$set(this.data, \"rows\", rows);\n      }\n    },\n    tableOperation: function tableOperation(oType, dType) {\n      var _this7 = this;\n\n      var rows = this.data.rows;\n\n      if (dType == \"row\") {\n        var rowIndex = oType == \"add\" ? this.tableTempAddRowIndex : this.tableTempDelRowIndex;\n\n        if (!rowIndex) {\n          this.$message({\n            message: \"请输入具体下标（大于0）。\",\n            type: \"warning\"\n          });\n          return;\n        }\n\n        if (oType == \"add\" && rowIndex > rows.length + 1 || oType == \"del\" && rowIndex > rows.length) {\n          this.$message({\n            message: \"行下标超出范围，当前最大值为：\" + rows.length,\n            type: \"warning\"\n          });\n          return;\n        }\n\n        if (oType == \"add\") {\n          rows.splice(rowIndex - 1, 0, this.getTableRowInit(rows[0].cols));\n        } else if (oType == \"del\") {\n          rows.splice(rowIndex - 1, 1);\n        }\n\n        this.$set(this.data, \"rows\", _toConsumableArray(rows));\n      } else if (dType == \"col\") {\n        var celIndex = oType == \"add\" ? this.tableTempAddColIndex : this.tableTempDelColIndex;\n\n        if (!celIndex) {\n          this.$message({\n            message: \"请输入具体下标（大于0）。\",\n            type: \"warning\"\n          });\n          return;\n        }\n\n        var colslen = 0;\n        rows[0].cols.forEach(function (_item) {\n          colslen += _item.colspan;\n        });\n\n        if (oType == \"add\" && celIndex > colslen + 1 || oType == \"del\" && celIndex > colslen) {\n          this.$message({\n            message: \"列下标超出范围，当前最大值为：\" + colslen,\n            type: \"warning\"\n          });\n          return;\n        }\n\n        if (oType == \"add\") {\n          rows.forEach(function (item) {\n            var cols = item.cols;\n            cols.splice(celIndex - 1, 0, {\n              colspan: 1,\n              list: []\n            });\n          });\n        } else if (oType == \"del\") {\n          var countColSpan = 0;\n          rows.forEach(function (item) {\n            countColSpan = 0;\n\n            var _celIndex = celIndex - 1;\n\n            var removeColIndex = 0; // 中间的删除\n\n            var modifyColspan = false;\n            item.cols.forEach(function (_item) {\n              countColSpan += _item.colspan;\n\n              if (countColSpan >= _celIndex + 1) {\n                if (_item.colspan > 1) {\n                  //_item.list.pop();\n                  _item.colspan = _item.colspan - 1;\n                  modifyColspan = true;\n                } else {\n                  if (removeColIndex == 0) {\n                    removeColIndex = _celIndex;\n                  }\n                }\n              }\n            });\n\n            if (removeColIndex != 0 && !modifyColspan) {\n              if (removeColIndex >= item.cols.length) {\n                removeColIndex = item.cols.length - 1;\n              }\n\n              item.cols.splice(removeColIndex, 1);\n            }\n          });\n        }\n\n        this.$nextTick(function () {\n          _this7.$set(_this7.data, \"rows\", _toConsumableArray(rows));\n        });\n      }\n    },\n    getTableRowInit: function getTableRowInit(cols) {\n      var size = 2;\n\n      if (cols && cols.length > 0) {\n        size = 0;\n        cols.forEach(function (col) {\n          size += col.colspan;\n        });\n      }\n\n      var row = {\n        cols: []\n      };\n\n      for (var i = 0; i < size; i++) {\n        row.cols.push({\n          colspan: 1,\n          list: []\n        });\n      }\n\n      return _objectSpread({}, row);\n    },\n    isFill: function isFill(column) {\n      if (column.readOnly || column.readOnlyRows || column.required || column.requiredRows || column.mergeCell || column.dateFormat || column.style.background || column.style.color || column.style.bold || column.style.size !== 0 || column.style.diyStyle) {\n        return true;\n      }\n\n      return false;\n    },\n    handleTableCol: function handleTableCol(rowIndex, colIndex) {\n      var rows = this.data.rows;\n\n      if (rows.length == 1 && rows[rowIndex].cols.length == 1) {\n        this.$message({\n          message: \"最后一行不能删除！\",\n          type: \"warning\"\n        });\n        return;\n      }\n\n      if (rows[rowIndex].cols.length == 1) {\n        rows.splice(rowIndex, 1);\n      } else if (rows[rowIndex].cols.length > 1) {\n        if (colIndex > 0) {\n          rows[rowIndex].cols[colIndex - 1].colspan = rows[rowIndex].cols[colIndex - 1].colspan + rows[rowIndex].cols[colIndex].colspan;\n        } else {\n          rows[rowIndex].cols[colIndex + 1].colspan = rows[rowIndex].cols[colIndex + 1].colspan + rows[rowIndex].cols[colIndex].colspan;\n        }\n\n        rows[rowIndex].cols.splice(colIndex, 1);\n      }\n\n      this.$set(this.data, 'rows', _toConsumableArray(rows));\n    },\n    // 打开子表导入数据合并代码的编辑对话框\n    openSubImportMergeDialog: function openSubImportMergeDialog() {\n      this.$refs.subImportMergeDialog && this.$refs.subImportMergeDialog.open();\n    },\n    // 更新子表导入数据合并代码\n    handleUpdateExpression: function handleUpdateExpression(expression) {\n      this.$set(this.data, \"subtableImportMergeExp\", expression);\n    },\n    tableHasColspan: function tableHasColspan(rowIndex) {\n      var row = this.data.rows[rowIndex];\n      var showAdd = false;\n      row.cols.forEach(function (td) {\n        if (td.colspan > 1) {\n          showAdd = true;\n          return true;\n        }\n      });\n      return showAdd;\n    },\n    tableAddTd: function tableAddTd(rowIndex) {\n      var row = this.data.rows[rowIndex];\n      var canAdd = false;\n\n      for (var index = row.cols.length - 1; index >= 0; index--) {\n        var col = row.cols[index];\n\n        if (col.colspan > 1) {\n          --col.colspan;\n          this.data.rows[rowIndex].cols.push({\n            colspan: 1,\n            list: []\n          });\n          return;\n        }\n      }\n\n      this.$message({\n        message: \"当前行列数已达上限，请按整列添加！\",\n        type: \"warning\"\n      });\n    }\n  }\n};",null]}