{"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\\views\\form\\customDialog\\CustomDialogList.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\views\\form\\customDialog\\CustomDialogList.vue","mtime":1675071992928},{"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.object.keys\";\nimport _defineProperty from \"D:/jenkins/workspace/xq-web-bpm/node_modules/@babel/runtime/helpers/esm/defineProperty\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.function.name\";\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//\nimport { Message, TableColumn } from \"element-ui\";\nimport req from \"@/request.js\";\nimport form from \"@/api/form.js\";\n\nvar customDialogShow = function customDialogShow() {\n return import(\"@/views/form/customDialog/CustomDialogShow.vue\");\n};\n\nvar customDialogShowTree = function customDialogShowTree() {\n return import(\"@/views/form/customDialog/CustomDialogShowTree.vue\");\n};\n\nvar eipTreeDialog = function eipTreeDialog() {\n return import(\"@/views/form/customDialog/EipTreeDialog.vue\");\n};\n\nvar paramSettingDialog = function paramSettingDialog() {\n return import(\"@/views/form/customDialog/ParamSettingDialog.vue\");\n};\n\nvar VariablesSelector = function VariablesSelector() {\n return import(\"@/components/common/VariablesSelector.vue\");\n};\n\nimport deepmerge from \"deepmerge\";\nexport default {\n components: {\n customDialogShow: customDialogShow,\n customDialogShowTree: customDialogShowTree,\n eipTreeDialog: eipTreeDialog,\n paramSettingDialog: paramSettingDialog,\n VariablesSelector: VariablesSelector\n },\n computed: {\n //删除对话框数据的URL\n deleteUrl: function deleteUrl() {\n return window.context.form + \"/form/customDialog/v1/removes\";\n },\n //保存对话框数据的URL (对话框新增修改时)\n saveUrl: function saveUrl() {\n return window.context.form + \"/form/customDialog/v1/save\";\n },\n addColumnsTitle: function addColumnsTitle() {\n var statusWord = \"\";\n\n switch (this.tabStatus) {\n case \"display\":\n statusWord = \"显示\";\n break;\n\n case \"condition\":\n statusWord = \"条件\";\n break;\n\n case \"return\":\n statusWord = \"返回\";\n break;\n\n case \"order\":\n statusWord = \"排序\";\n break;\n }\n\n return \"\\u5C06\\u5DE6\\u4FA7\\u6240\\u9009\\u5B57\\u6BB5\\u6DFB\\u52A0\\u5230\".concat(statusWord, \"\\u5B57\\u6BB5\\u4E2D\");\n }\n },\n data: function data() {\n return {\n selectOp: \"\",\n selectOptions: [],\n isSqlBuildType: false,\n customDialogPreview: {},\n //自定义对话框预览配置参数\n aliasPreview: \"\",\n //自定义对话框预览别名参数\n titlePreview: \"\",\n //自定义对话框预览标题参数\n isSubmit: true,\n //侧边栏是否提交\n number_opList: [{\n value: \"等于\",\n key: \"EQ\"\n }, {\n value: \"大于等于\",\n key: \"GE\"\n }, {\n value: \"大于\",\n key: \"GT\"\n }, {\n value: \"小于\",\n key: \"LT\"\n }, {\n value: \"小于等于\",\n key: \"LE\"\n }, {\n value: \"in\",\n key: \"IN\"\n }],\n //运算条件数组-number\n string_opList: [{\n value: \"等于\",\n key: \"EQ\"\n }, {\n value: \"like\",\n key: \"LK\"\n }, {\n value: \"likeEnd\",\n key: \"LFK\"\n }, {\n value: \"in\",\n key: \"IN\"\n }],\n //运算条件数组-varchar\n date_opList: [{\n value: \"等于\",\n key: \"EQ\"\n }, // { value: \"between\", key: \"BETWEEN\" },\n {\n value: \"大于等于\",\n key: \"GE\"\n }, {\n value: \"小于等于\",\n key: \"LE\"\n }],\n //运算条件数组-日期\n value_sourceList_list: [{\n value: \"参数传入\",\n key: \"3\"\n }, {\n value: \"用户输入\",\n key: \"1\"\n }, {\n value: \"固定值\",\n key: \"2\"\n }, {\n value: \"脚本\",\n key: \"5\"\n }],\n //值来源数组_列表\n value_sourceList_tree: [{\n value: \"固定值\",\n key: \"2\"\n }, {\n value: \"动态传入\",\n key: \"4\"\n }, {\n value: \"脚本\",\n key: \"5\"\n }],\n //值来源数组_树\n sort_typeList: [{\n value: \"升序\",\n key: \"asc\"\n }, {\n value: \"降序\",\n key: \"desc\"\n }],\n //排序字段升序还是降序\n param_ctList: [{\n value: \"单行文本框\",\n key: \"1\"\n }, {\n value: \"单选框\",\n key: \"2\",\n config: {\n options: [],\n choiceType: \"static\",\n //默认固定值\n customQuery: {\n custQueryJson: [],\n valueBind: \"\",\n labelBind: \"\",\n conditionfield: []\n },\n bind: [] //绑定的返回值\n\n }\n }, {\n value: \"下拉框\",\n key: \"3\",\n config: {\n options: [],\n choiceType: \"static\",\n //默认固定值\n customQuery: {\n custQueryJson: [],\n valueBind: \"\",\n labelBind: \"\",\n conditionfield: []\n },\n bind: [] //绑定的返回值\n\n }\n }, {\n value: \"标签\",\n key: \"4\",\n config: {\n defaultValue: [],\n type: \"tag\",\n bind: [],\n //绑定\n tag: \"\",\n //标签别名\n filterable: false,\n //标签是否可搜索\n placeholder: \"请选择\",\n expand: false\n }\n }],\n //控制器的类型\n displayfieldTree: {\n isScript: false\n },\n //用来存储对话框为树形时的显示字段\n tabStatus: \"display\",\n //设置列的条件字段、显示字段、返回字段等的tabs标签页\n table: {},\n //获取设置列获取字段信息\n titleSetting: \"未命名-设置列\",\n //设置列侧边栏的名称\n dialogVisibleSetting: false,\n //是否显示可配置设置列\n disabled: false,\n //是否禁止操作\n // dialogVisiblePost:false,//参数模板设置弹框\n tableOrViewList: [],\n //数据源表\n objName: \"\",\n //查询数据源时表或视图名称\n title: \"添加对话框\",\n data: [],\n //列表数据\n treeSidebarData: {\n diySql: \"\"\n },\n //对话框的新增修改数据\n pageResult: {\n page: 1,\n pageSize: 20,\n total: 0\n },\n dataSourcesInBean: [],\n //数据源池\n isTableList: [{\n key: 0,\n value: \"视图\"\n }, {\n key: 1,\n value: \"表\"\n }],\n //表和视图\n dialogVisible: false,\n //侧边栏是否显示\n uploadDialogVisible: false,\n uploadUrl: window.context.form + \"/form/customDialog/v1/import\",\n fileList: [],\n leftTreeDialogList: [],\n rightDialogList: [],\n treeDialogFields: [],\n listDialogFields: [],\n combinationRule: {\n leftTree: \"\",\n rightDialog: \"\",\n rules: []\n },\n cmOptions: {\n showCursorWhenSelecting: true,\n value: \"\",\n mode: \"application/json\",\n readOnly: false,\n smartIndent: true,\n autofocus: true,\n tabSize: 2,\n theme: \"eclipse\",\n lineNumbers: true,\n line: true,\n inputStyle: \"textarea\"\n },\n innerValidation: true\n };\n },\n methods: {\n handleTabSwitch: function handleTabSwitch(m) {\n if (m.name == \"dataParam\") {\n this.$refs.dataParamCode && this.$refs.dataParamCode.refresh();\n }\n },\n handleVarSelectorClick: function handleVarSelectorClick(s, n) {\n if (n && n.data && n.data.field) {\n var fieldExp = \"${\" + n.data.field + \"}\";\n this.$refs.dataParamCode && this.$refs.dataParamCode.codemirror.replaceSelection(fieldExp);\n }\n },\n //鼠标选中行改变复选框\n rowClick: function rowClick(row, column, event) {\n this.$refs.htTable.$refs.htTable.toggleRowSelection(row);\n },\n returnVal: function returnVal(val, row) {\n row.config = val;\n },\n paramChange: function paramChange(val, row) {\n this.param_ctList.forEach(function (item) {\n if (item.key == val) {\n row.config = item.config;\n }\n });\n console.log(val, row);\n },\n changeOptions: function changeOptions() {\n if (this.treeSidebarData.diySql) {\n this.treeSidebarData.diySql = this.treeSidebarData.diySql + this.selectOp;\n } else {\n this.treeSidebarData.diySql = this.selectOp;\n }\n },\n //监听列表预览页面的确认事件\n handleSavePreview: function handleSavePreview(data) {\n Message.success(\"返回数据为:\" + JSON.stringify(data));\n },\n //预览\n preview: function preview(alias) {\n var this_ = this;\n var url = \"${form}/form/customDialog/v1/getByAlias?alias=\" + alias;\n req.get(url).then(function (customDialog) {\n customDialog = customDialog.data; //格式化对话框的显示字段、返回字段、条件字段、排序字段\n\n customDialog.displayfield = JSON.parse(customDialog.displayfield);\n\n for (var i = 0; i < customDialog.displayfield.length; i++) {\n customDialog.displayfield[i].field = customDialog.displayfield[i].field.toLowerCase();\n }\n\n customDialog.resultfield = JSON.parse(customDialog.resultfield);\n customDialog.sortfield = JSON.parse(customDialog.sortfield);\n customDialog.conditionfield = JSON.parse(customDialog.conditionfield); //列表\n\n if (customDialog.style == 0 || customDialog.style == 2) {\n this_.aliasPreview = alias;\n this_.customDialogPreview = customDialog;\n this_.titlePreview = customDialog.style == 0 ? customDialog.name + \"-对话框列表预览\" : customDialog.name + \"-组合对话框预览\";\n setTimeout(function () {\n this_.$refs.customDialogShow.showDialog(); //显示自定义对话框列表预览弹框\n });\n } else if (customDialog.style == 1) {\n //树形\n this_.aliasPreview = alias;\n this_.customDialogPreview = customDialog;\n this_.titlePreview = customDialog.name + \"-对话框树形预览\";\n var param = {};\n\n if (customDialog.conditionfield.length > 0) {\n for (var _i = customDialog.conditionfield.length - 1; _i >= 0; _i--) {\n //判断条件字段是否是动态传入(defaultType:4:动态传入,2:固定值 )\n if (customDialog.conditionfield[_i].defaultType == \"4\") {\n param[customDialog.conditionfield[_i].field] = customDialog.conditionfield[_i].comment;\n }\n }\n } //有动态传入的字段\n\n\n if (JSON.stringify(param) != \"{}\") {\n customDialog.param = param;\n setTimeout(function () {\n this_.$refs.customDialogShowTree.showDialog(); //显示自定义对话框列表预览弹框\n });\n } else {\n setTimeout(function () {\n this_.$refs.eipTreeDialog.showDialog();\n });\n }\n }\n });\n },\n //判断数据是否包含某个对象,并返回数据包含对象的下标\n indexArray: function indexArray(array, item) {\n if (array.length == 0) {\n return -1;\n }\n\n for (var i = 0; i < array.length; i++) {\n if (JSON.stringify(array[i]) == JSON.stringify(item)) {\n return i;\n }\n }\n\n return -1;\n },\n //批量勾选设置列的字段\n handleSelectionChange: function handleSelectionChange(rows) {\n //先把所有选择的字段设置为未选中\n for (var i = 0; i < this.table.columnList.length; i++) {\n if (this.table.columnList[i].selected) {\n this.table.columnList[i].selected = false;\n }\n }\n\n if (rows && rows.length > 0) {\n //再根据勾选的字段设置为选中\n for (var _i2 = 0; _i2 < rows.length; _i2++) {\n var res = this.indexArray(this.table.columnList, rows[_i2]);\n this.table.columnList[res].selected = true;\n }\n }\n },\n //保存设置列的内容\n save: function save() {\n var this_ = this;\n\n if (this_.treeSidebarData.style == \"1\") {\n this_.$validator.validateAll(\"editSysTypeForm\").then(function (result) {\n if (result) {\n this_.doSave();\n } else {\n this_.$message({\n showClose: true,\n message: \"\\u6709\\u5B57\\u6BB5\\u672A\\u901A\\u8FC7\\u6821\\u9A8C\\uFF0C\\u8BF7\\u6B63\\u786E\\u586B\\u5199\\u8868\\u5355\\u5185\\u5BB9\\u3002\",\n type: \"warning\"\n });\n }\n });\n } else {\n this.doSave();\n }\n },\n doSave: function doSave() {\n var this_ = this;\n this_.$validator.validateAll(\"settingSave\").then(function (result) {\n if (result) {\n //如果是树形对话框则给显示字段重新赋值,把显示字段的数组格式设置为对象格式\n if (this_.treeSidebarData.style == \"1\") {\n this_.treeSidebarData.displayfield = {};\n this_.treeSidebarData.displayfield = _objectSpread({}, this_.displayfieldTree);\n }\n\n if (!this_.treeSidebarData.diySql && this_.isSqlBuildType) {\n Message.warning(\"请添加sql语句\");\n return;\n }\n\n for (var i in this_.treeSidebarData.conditionfield) {\n var column = this_.treeSidebarData.conditionfield[i];\n\n if (column.dbType == \"date\" && column.condition == \"BETWEEN\") {\n column.defaultValue += \"|\" + column.endDate;\n }\n }\n\n if (this_.treeSidebarData.sortfield && this_.treeSidebarData.sortfield.length > 3) {\n Message.warning(\"您添加的排序字段太多,最多只能添加3个排序字段!\");\n return;\n }\n\n this_.innerValidation = true;\n this_.dialogVisibleSetting = false;\n } else {\n var arr = this_.$validator.errors.items.filter(function (item) {\n return item.scope == \"settingSave\";\n });\n var errorLength = arr.length;\n this_.$message({\n showClose: true,\n message: \"\\u6709\\u5B57\\u6BB5\\u672A\\u901A\\u8FC7\\u6821\\u9A8C\\uFF0C\\u8BF7\\u6B63\\u786E\\u586B\\u5199\\u8868\\u5355\\u5185\\u5BB9\\u3002\",\n type: \"warning\"\n });\n }\n });\n },\n //关闭设置列弹框\n close: function close() {\n var this_ = this;\n\n if (this_.treeSidebarData.style == \"1\") {\n this.$validator.validateAll(\"settingSave\").then(function (result) {\n if (!result) {\n this_.innerValidation = false;\n this_.doClose();\n return;\n } else {\n this_.doNextValidate();\n }\n });\n } else {\n this_.doNextValidate();\n }\n },\n doClose: function doClose() {\n this.dialogVisibleSetting = false;\n this.displayfieldTree = {\n isScript: false\n };\n },\n doNextValidate: function doNextValidate() {\n var _this2 = this;\n\n var this_ = this;\n this_.$validator.validateAll(\"settingSave\").then(function (result) {\n if (!result) {\n this_.innerValidation = false;\n\n _this2.doClose();\n\n return;\n } else {\n if (this_.treeSidebarData.style == \"1\") {\n this_.treeSidebarData.displayfield = {};\n this_.treeSidebarData.displayfield = _objectSpread({}, this_.displayfieldTree);\n }\n\n if (!this_.treeSidebarData.diySql && this_.isSqlBuildType) {\n //Message.warning(\"请添加sql语句\");\n this_.innerValidation = false;\n this_.doClose();\n return;\n }\n\n for (var i in this_.treeSidebarData.conditionfield) {\n var column = this_.treeSidebarData.conditionfield[i];\n\n if (column.dbType == \"date\" && column.condition == \"BETWEEN\") {\n column.defaultValue += \"|\" + column.endDate;\n }\n }\n\n if (this_.treeSidebarData.sortfield && this_.treeSidebarData.sortfield.length > 3) {\n //Message.warning(\"您添加的排序字段太多,最多只能添加3个排序字段!\");\n this_.innerValidation = false;\n this_.doClose();\n return;\n }\n\n this_.innerValidation = true;\n this_.doClose();\n }\n });\n },\n //添加设置列的字段\n addFields: function addFields() {\n var column = {};\n column.fieldName = \"\";\n column.comment = \"\";\n column.columnType = \"varchar\";\n this.table.columnList.push(column);\n },\n //把设置列的字段新增到条件字段、显示字段、返回字段等\n addColumns: function addColumns() {\n var _this = this; //检查是否选择了列\n\n\n for (var i in this.table.columnList) {\n var c = this.table.columnList[i];\n if (c.selected) break;\n\n if (i == this.table.columnList.length - 1) {\n if (i == this.table.columnList.length - 1) {\n Message.warning(\"请选择左边的列\");\n }\n }\n } //判断tabs标签页是否选择了显示字段\n\n\n if (this.tabStatus == \"display\") {\n for (var _i3 in this.table.columnList) {\n var _c = this.table.columnList[_i3];\n if (!_c.selected) continue;\n var column = {};\n column.field = _c.fieldName;\n column.comment = _c.comment;\n column.nameKey = \"0\";\n\n if (this.treeSidebarData.style == \"0\") {\n var show = this.judgeAryData(this.treeSidebarData.displayfield, column);\n\n if (show) {\n this.treeSidebarData.displayfield.push(column);\n }\n } else if (this.treeSidebarData.style == \"1\") {\n eval(\"this.\" + this.activeModelStr + \"='\" + _c.fieldName + \"'\");\n }\n } //判断tabs标签页是否选择了条件字段\n\n } else if (this.tabStatus == \"condition\") {\n for (var _i4 in this.table.columnList) {\n var _c2 = this.table.columnList[_i4];\n if (!_c2.selected) continue;\n var _column = {};\n _column.field = _c2.fieldName;\n _column.comment = _c2.comment;\n _column.condition = \"EQ\";\n _column.dbType = _c2.columnType;\n _column.defaultType = \"2\";\n _column.defaultValue = \"\";\n\n var _show = this.judgeAryData(this.treeSidebarData.conditionfield, _column);\n\n if (_show) {\n this.treeSidebarData.conditionfield.push(_column);\n }\n } //去除重复项\n\n\n this.treeSidebarData.resultfield.unique(function (a, b) {\n return a.field == b.field;\n }); //判断tabs标签页是否选择了返回字段\n } else if (this.tabStatus == \"return\") {\n for (var _i5 in this.table.columnList) {\n var _c3 = this.table.columnList[_i5];\n if (!_c3.selected) continue;\n var _column2 = {};\n _column2.field = _c3.fieldName;\n _column2.comment = _c3.comment;\n _column2.idKey = \"0\";\n _column2.AggFuncOp = \"\"; //合计函数运算符\n\n _column2.columnType = _c3.columnType; //字段类型\n\n var _show2 = this.judgeAryData(this.treeSidebarData.resultfield, _column2);\n\n if (_show2) {\n this.treeSidebarData.resultfield.push(_column2);\n }\n } //去除重复项\n\n\n this.treeSidebarData.resultfield.unique(function (a, b) {\n return a.field == b.field;\n }); //判断tabs标签页是否选择了排序字段\n } else if (this.tabStatus == \"order\") {\n var errorMsg = \"\";\n\n for (var _i6 in this.table.columnList) {\n var _c4 = this.table.columnList[_i6];\n if (!_c4.selected) continue; //大文本类型与一些未明确的字段类型不可作为排序字段\n\n if (_c4.columnType == \"clob\" || !_c4.columnType) {\n errorMsg += _c4.fieldName + \" \";\n continue;\n }\n\n var _column3 = {};\n _column3.field = _c4.fieldName;\n _column3.sortType = \"asc\";\n _column3.comment = _c4.comment;\n\n var _show3 = this.judgeAryData(this.treeSidebarData.sortfield, _column3);\n\n if (_show3) {\n this.treeSidebarData.sortfield.push(_column3);\n }\n }\n\n if (errorMsg) {\n this.$message.error(\"字段:\" + errorMsg + \"的字段类型不支持作为排序字段\");\n } //去除重复项\n\n\n this.treeSidebarData.sortfield.unique(function (a, b) {\n return a.field == b.field;\n });\n }\n },\n //判断是否存在重复字段\n judgeAryData: function judgeAryData(data, column) {\n var show = true;\n\n for (var i = 0; i < data.length; i++) {\n if (data[i].field == column.field && data[i].comment == column.comment) {\n show = false;\n break;\n }\n }\n\n return show;\n },\n //删除字段\n deleteSetting: function deleteSetting(list, index) {\n list.splice(index, 1);\n },\n //打开设置列弹框\n showSettingDialog: function showSettingDialog() {\n var _this3 = this;\n\n this.tabStatus = \"display\"; //默认打开显示字段\n\n this.dialogVisibleSetting = true;\n\n if (this.treeSidebarData.style == 1) {\n //树形\n this.displayfieldTree = _objectSpread({}, this.treeSidebarData.displayfield);\n }\n\n if (this.treeSidebarData.conditionfield && this.treeSidebarData.conditionfield.length > 0 && this.selectOptions.length == 0) {\n this.treeSidebarData.conditionfield.forEach(function (item) {\n if (item.defaultType == \"1\") {\n var selectOp = {};\n selectOp.field = item.field;\n selectOp.comment = item.comment;\n\n _this3.selectOptions.push(selectOp);\n } // if(!item.config){\n // item.config = false;\n // }\n\n });\n }\n\n if (this.treeSidebarData.sqlBuildType === 0 || !this.treeSidebarData.sqlBuildType) {\n this.isSqlBuildType = false;\n } else {\n this.isSqlBuildType = true;\n }\n\n if (this.treeSidebarData.name) {\n this.titleSetting = this.treeSidebarData.name + \"-设置列\";\n } else {\n this.titleSetting = \"未命名-设置列\";\n } //打开设置如果是数据源,先获取数据源的字段\n\n\n if (this.treeSidebarData.dsType == \"dataSource\") {\n var params = {\n dsalias: this.treeSidebarData.dsalias,\n isTable: this.treeSidebarData.isTable,\n objName: this.treeSidebarData.objName\n };\n var this_ = this; //获取数据源的字段\n\n var url = window.context.form + \"/form/customQuery/v1/getTable\";\n req.post(url, params).then(function (data) {\n this_.table = data.data.table;\n this_.handleFilterColumn();\n });\n } //打开设置列如果不是数据源\n\n\n if (this.treeSidebarData.dsType != \"dataSource\") {\n //值来源数组_树改变如下\n this.value_sourceList_tree = [{\n value: \"固定值\",\n key: \"2\"\n }]; //判断REST接口是否是GET请求\n\n if (this.treeSidebarData.requestType == \"GET\") {\n //运算条件数组-varchar改变如下\n this.string_opList = [{\n value: \"等于\",\n key: \"EQ\"\n }];\n } else {\n //运算条件数组-varchar改变如下\n this.string_opList = [{\n value: \"等于\",\n key: \"EQ\"\n }, {\n value: \"like\",\n key: \"LK\"\n }, {\n value: \"likeEnd\",\n key: \"LFK\"\n }, {\n value: \"in\",\n key: \"IN\"\n }];\n } //字段设置为空\n\n\n this.table = {\n columnList: []\n };\n } else {\n this.string_opList = [{\n value: \"等于\",\n key: \"EQ\"\n }, {\n value: \"like\",\n key: \"LK\"\n }, {\n value: \"likeEnd\",\n key: \"LFK\"\n }, {\n value: \"in\",\n key: \"IN\"\n }];\n }\n },\n // //保存参数模板设置\n // handleSave(){\n // this.treeSidebarData.dataParam = this.treeSidebarData.dataParam==\"{}\"?\"\":this.treeSidebarData.dataParam;\n // if(this.treeSidebarData.dataParam){\n // Message.success(\"设置成功\");\n // }\n // this.dialogVisiblePost=false;\n // },\n // //打开参数模板设置\n // showSetParamDialog(){\n // this.dialogVisiblePost=true;\n // },\n // //关闭参数模板设置\n // handleClosePost(){\n // this.dialogVisiblePost=false;\n // },\n //查询数据源表或视图\n getByDsObjectName: function getByDsObjectName() {\n if (this.treeSidebarData.id) {\n return;\n }\n\n if (this.treeSidebarData.dsalias == null) {\n Message.warning(\"请选择数据源\");\n return;\n }\n\n this.params = {};\n this.params.dsalias = this.treeSidebarData.dsalias;\n this.params.isTable = this.treeSidebarData.isTable;\n this.params.objName = this.objName;\n var this_ = this;\n var url = window.context.form + \"/form/customQuery/v1/getByDsObjectName\";\n req.post(url, this_.params).then(function (data) {\n this_.tableOrViewList = []; //每次查询前先设置为空\n\n if (!data || data.data.length == 0) {\n Message.warning(\"该数据源中未查询到表或视图\");\n return;\n }\n\n Message.success(\"查询成功\");\n\n for (var i = 0; i < data.data.length; i++) {\n data.data[i].comment = data.data[i].name + \"(\" + data.data[i].comment + \")\";\n this_.tableOrViewList.push(data.data[i]);\n } //选择表或试图时默认选择第一个\n\n\n this_.treeSidebarData.objName = this_.tableOrViewList[0].name;\n });\n },\n //关闭侧边栏\n handleClose: function handleClose() {\n this.treeSidebarData = {}; //清除保存过的数据\n\n this.isSqlBuildType = false;\n this.dialogVisible = false;\n this.combinationRule = {\n leftTree: \"\",\n rightDialog: \"\",\n rules: []\n };\n },\n //对话框新增修改保存后操作\n afterSaveData: function afterSaveData() {\n if (this.treeSidebarData.conditionfield.length == 0) {\n this.selectOptions = [];\n }\n\n this.dialogVisible = false;\n this.$refs.htTable.load(); //重新加载列表数据\n\n this.$store.dispatch(\"form/clearCustomDialog\", this.treeSidebarData.alias);\n this.combinationRule = {\n leftTree: \"\",\n rightDialog: \"\",\n rules: []\n };\n },\n //对话框新增修改保存前操作\n beforeSaveData: function beforeSaveData() {\n if (!this.innerValidation) {\n Message.warning(\"设置列校验失败,请进入设置列中完善信息并点击右上角保存按钮\");\n this.isSubmit = false;\n return;\n } //如果数据来源不是数据源则没有所属数据源\n\n\n if (this.treeSidebarData.dsType != \"dataSource\") {\n this.treeSidebarData.dsalias = \"\";\n } //sql生成的方式(0:页面设置 1:diy)\n\n\n if (this.isSqlBuildType) {\n this.treeSidebarData.sqlBuildType = 1;\n } else {\n this.treeSidebarData.sqlBuildType = 0;\n }\n\n if (this.treeSidebarData.dsType == \"dataSource\" && !this.treeSidebarData.id) {\n if (this.treeSidebarData.objName == \"\" && this.treeSidebarData.style != 2) {\n Message.warning(\"请选择表或视图\");\n this.isSubmit = false;\n return;\n }\n } //树形\n\n\n if (this.treeSidebarData.style == 1) {\n if (this.treeSidebarData.displayfield.length == 0 || this.treeSidebarData.resultfield.length == 0) {\n Message.warning(\"请设置需要显示和返回的字段\");\n this.isSubmit = false;\n return;\n }\n } else if (this.treeSidebarData.style != 2) {\n if (this.treeSidebarData.displayfield.length == 0) {\n Message.warning(\"请设置需要显示的字段\");\n this.isSubmit = false;\n return;\n }\n } else if (this.treeSidebarData.style == 2) {\n //校验数据\n if (!this.combinationRule.leftTree) {\n Message.warning(\"请设置树对话框\");\n this.isSubmit = false;\n return;\n }\n\n if (!this.combinationRule.rightDialog) {\n Message.warning(\"请设置列表对话框\");\n this.isSubmit = false;\n return;\n }\n\n if (!this.combinationRule.rules || this.combinationRule.rules == 0) {\n Message.warning(\"请添加组合规则\");\n this.isSubmit = false;\n return;\n }\n\n for (var i = 0; i < this.combinationRule.rules.length; i++) {\n if (!this.combinationRule.rules[i].treeField || !this.combinationRule.rules[i].listField) {\n Message.warning(\"请完善组合规则\");\n this.isSubmit = false;\n return;\n }\n } //保存组合规则\n\n\n this.treeSidebarData.combinationRule = this.combinationRule;\n }\n\n this.isSubmit = true;\n },\n //添加为关联查询\n saveQueryByDialog: function saveQueryByDialog(id) {\n var _this4 = this;\n\n this.$confirm(\"确认添加为关联查询?\").then(function (_) {\n _this4.getDialogById(id, \"add\");\n }).catch(function (_) {});\n },\n //点击按钮打开侧边栏\n showDialog: function showDialog(action, row) {\n var _this5 = this;\n\n this.loadDialogData();\n this.dialogVisible = false;\n this.$nextTick(function () {\n _this5.dialogVisible = true;\n });\n\n if (action) {\n this.objName = \"\";\n\n if (action == \"add\") {\n this.title = \"添加对话框\";\n this.disabled = false;\n this.treeSidebarData = {\n objName: \"\",\n displayfield: [],\n conditionfield: [],\n resultfield: [],\n sortfield: [],\n style: 0,\n needPage: true,\n selectNum: 1,\n dsType: \"dataSource\",\n width: 800,\n height: 600,\n isTable: 1,\n dsalias: \"LOCAL\",\n alias: \"\",\n requestType: \"POST\",\n pageKey: \"page\",\n pageSizeKey: \"pageSize\",\n totalKey: \"total\",\n listKey: \"rows\"\n };\n } else if (action == \"edit\") {\n this.disabled = true;\n this.title = \"编辑对话框\";\n var this_ = this;\n var data = deepmerge({}, row, {\n clone: true\n });\n this_.treeSidebarData = data;\n this_.treeSidebarData.displayfield = JSON.parse(data.displayfield);\n this_.treeSidebarData.resultfield = JSON.parse(data.resultfield);\n this_.treeSidebarData.sortfield = JSON.parse(data.sortfield);\n this_.treeSidebarData.conditionfield = JSON.parse(data.conditionfield);\n this_.displayfieldTree = _objectSpread({}, this_.treeSidebarData.displayfield);\n\n if (data.style == 2) {\n this_.combinationRule = JSON.parse(data.combinationRule);\n this_.loadDialogFields(this_.combinationRule.leftTree, true);\n this_.loadDialogFields(this_.combinationRule.rightDialog, true);\n }\n }\n }\n },\n //根据对话框信息ID查询对话框所有信息\n getDialogById: function getDialogById(id, action) {\n var this_ = this;\n if (!id) return;\n var url = window.context.form + \"/form/customDialog/v1/\" + id;\n req.get(url).then(function (data) {\n data = data.data;\n this_.treeSidebarData = data;\n this_.treeSidebarData.displayfield = JSON.parse(data.displayfield);\n this_.treeSidebarData.resultfield = JSON.parse(data.resultfield);\n this_.treeSidebarData.sortfield = JSON.parse(data.sortfield);\n this_.treeSidebarData.conditionfield = JSON.parse(data.conditionfield);\n this_.displayfieldTree = _objectSpread({}, this_.treeSidebarData.displayfield);\n\n if (data.style == 2) {\n this_.combinationRule = JSON.parse(data.combinationRule);\n this_.loadDialogFields(this_.combinationRule.leftTree, true);\n this_.loadDialogFields(this_.combinationRule.rightDialog, true);\n } //添加为关联查询\n\n\n if (action && action == \"add\") {\n for (var i = 0; i < this_.treeSidebarData.conditionfield.length; i++) {\n //如果对话框的条件字段有为参数传入的即对应关联查询的参数传入\n //并且对话框的条件字段有为用户输入的即对应关联查询的参数传入\n //(defaultType:1:用户输入,2:固定值 ,3:参数传入 )\n if (this_.treeSidebarData.conditionfield[i].defaultType == \"3\") {\n this_.treeSidebarData.conditionfield[i].defaultType = \"1\";\n }\n }\n\n if (this_.treeSidebarData.needPage == false) {\n this_.treeSidebarData.needPage = 0;\n } else {\n this_.treeSidebarData.needPage = 1;\n }\n\n for (var _i7 = 0; _i7 < this_.treeSidebarData.displayfield.length; _i7++) {\n this_.treeSidebarData.displayfield[_i7].idKey = \"0\";\n this_.treeSidebarData.displayfield[_i7].AggFuncOp = \"\"; //合计函数运算符\n }\n\n var _url = window.context.form + \"/form/customQuery/v1/saveQueryByDialog\";\n\n req.post(_url, this_.treeSidebarData).then(function (rep) {\n rep = rep.data;\n\n if (rep && rep.state) {\n Message.success(rep.message);\n } else {\n Message.error(rep.message || \"保存失败\");\n }\n });\n }\n });\n },\n //页面加载显示数据\n loadData: function loadData(param, cb) {\n var _this6 = this;\n\n req.post(window.context.form + \"/form/customDialog/v1/list\", param).then(function (response) {\n _this6.data = response.data.rows;\n _this6.pageResult = {\n page: response.data.page,\n pageSize: response.data.pageSize,\n total: response.data.total\n };\n }).finally(function () {\n return cb();\n });\n },\n handleCommond: function handleCommond(param) {\n switch (param.command) {\n case \"preview\":\n this.preview(param.row.alias);\n break;\n\n case \"relation\":\n this.saveQueryByDialog(param.row.id);\n break;\n }\n },\n controllerTypeChange: function controllerTypeChange(row) {\n if (row.defaultType == \"1\") {\n var options = {};\n options.comment = row.comment;\n options.field = row.field;\n this.selectOptions.push(options);\n this.$set(row, \"controllerType\", \"1\");\n }\n },\n //导入\n handleImport: function handleImport(param) {\n var _this7 = this;\n\n var formData = new FormData();\n formData.append(\"file\", param.file);\n form.importCustomDialog(formData).then(function (resp) {\n if (resp.state) {\n _this7.$message({\n type: \"success\",\n message: resp.message\n });\n\n _this7.fileList = [];\n _this7.uploadDialogVisible = false;\n\n _this7.$refs.htTable.load(); //重新加载列表数据\n\n } else {\n _this7.beforeClose();\n }\n });\n },\n //导出\n handleExport: function handleExport() {\n var selection = this.$refs.htTable.$refs.htTable.selection;\n\n if (!selection || selection.length == 0) {\n this.$message({\n type: \"warning\",\n message: \"请至少选择一条记录\"\n });\n return;\n }\n\n ;\n var ids = [];\n\n for (var i = 0; i < selection.length; i++) {\n ids.push(selection[i].id);\n }\n\n req.download(window.context.form + \"/form/customDialog/v1\" + \"/export?ids=\" + ids.join(\",\"));\n },\n beforeClose: function beforeClose() {\n this.uploadDialogVisible = false;\n this.fileList = [];\n },\n //加载对话框数据\n loadDialogData: function loadDialogData() {\n var _this8 = this;\n\n this.leftTreeDialogList = [];\n this.rightDialogList = [];\n req.post(window.context.form + \"/form/customDialog/v1/getAll\").then(function (resp) {\n var data = resp.data;\n data.forEach(function (item) {\n if (item.style == 1) {\n _this8.leftTreeDialogList.push({\n alias: item.alias,\n name: item.name\n });\n } else if (item.style == 0) {\n _this8.rightDialogList.push({\n alias: item.alias,\n name: item.name\n });\n }\n });\n });\n },\n uploadSubmit: function uploadSubmit() {\n if (this.$refs.elUpload.uploadFiles.length == 0) {\n this.$message({\n type: \"warning\",\n message: \"请上传文件\"\n });\n return;\n }\n\n this.$refs.elUpload.submit();\n },\n addCombinationRule: function addCombinationRule() {\n this.combinationRule.rules.push({\n treeField: \"\",\n listField: \"\",\n condition: \"\"\n });\n },\n //加载对话框数据\n loadDialogFields: function loadDialogFields(alias, isInit) {\n //清空旧数据\n var this_ = this; //初始化时不清空\n\n if (!isInit) {\n this_.combinationRule.rules.splice(0);\n }\n\n form.getCustomDialogByAlias(alias).then(function (data) {\n //如果是树形对话框,则加载返回值字段\n if (data.style == 1) {\n this_.treeDialogFields.splice(0);\n JSON.parse(data.resultfield).forEach(function (item) {\n this_.treeDialogFields.push({\n name: item.comment,\n alias: item.field\n });\n });\n } else if (data.style == 0) {\n //列表对话框,加载条件字段\n this_.listDialogFields.splice(0);\n JSON.parse(data.conditionfield).forEach(function (item) {\n if (item.defaultType == 3) {\n this_.listDialogFields.push({\n name: item.comment,\n alias: item.field,\n condition: item.condition\n });\n }\n });\n }\n });\n },\n setCondition: function setCondition(alias, index) {\n var this_ = this;\n this_.listDialogFields.forEach(function (item) {\n if (item.alias == alias) {\n this_.combinationRule.rules[index].condition = item.condition;\n }\n });\n },\n deleteRule: function deleteRule(index) {\n this.combinationRule.rules.splice(index, 1);\n },\n handleFilterColumn: function handleFilterColumn() {\n for (var i = this.table.columnList.length - 1; i >= 0; i--) {\n if (this.table.columnList[i].fieldName && this.table.columnList[i].fieldName.toLowerCase() == \"f_form_data_rev_\") {\n this.table.columnList.splice(i, 1);\n }\n }\n }\n },\n mounted: function mounted() {\n this.$validator = this.$root.$validator;\n var this_ = this; //获取数据源池\n\n req.get(window.context.portal + \"/sys/sysDataSource/v1/getDataSources\").then(function (data) {\n this_.dataSourcesInBean = data.data;\n });\n }\n};",null]}