{"remainingRequest":"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\\customView\\MathDialog.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\form\\customView\\MathDialog.vue","mtime":1675071992131},{"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":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nexport default {\r\n name: \"math-dialog\",\r\n props: [\"visible\", \"boDefData\", \"mathExp\"],\r\n data() {\r\n return {\r\n expandAll: true,\r\n defaultProps: {\r\n children: \"children\",\r\n label: \"desc\"\r\n },\r\n countSetting: { isSingleRecord: \"\", mathExp: \"\" }\r\n };\r\n },\r\n mounted() {\r\n this.mathExpAssign(this.mathExp);\r\n },\r\n watch: {\r\n mathExp(val) {\r\n this.mathExpAssign(val);\r\n }\r\n },\r\n methods: {\r\n mathExpAssign(val) {\r\n this.$set(this.countSetting, \"mathExp\", val);\r\n },\r\n cancel() {\r\n this.$emit(\"update:visible\", false);\r\n },\r\n confirm() {\r\n this.$emit(\"update:mathExp\", this.countSetting.mathExp);\r\n try {\r\n if(this.$parent && this.$parent.$parent.setHotColumMathExp){\r\n this.$parent.$parent.setHotColumMathExp(this.countSetting.mathExp);\r\n }\r\n } catch (error) {}\r\n this.$emit(\"update:visible\", false);\r\n },\r\n //统计函数相关配置\r\n async insert(myValue) {\r\n const myField = document.getElementById('singleText');\r\n var value = myValue;\r\n var endPosition = 0;\r\n if (myValue == \"abs\") {\r\n value = \"FormMath.abs()\";\r\n endPosition = 1;\r\n } else if (myValue == \"round\") {\r\n value = \"FormMath.round()\";\r\n endPosition = 1;\r\n } else if (myValue == \"sqrt\") {\r\n value = \"FormMath.sqrt()\";\r\n endPosition = 1;\r\n } else if (myValue == \"tofixed\") {\r\n endPosition = 3;\r\n value = \"FormMath.tofixed(,2)\";\r\n } else if (myValue == \"convertCurrency\") {\r\n value = \"FormMath.convertCurrency()\";\r\n endPosition = 1;\r\n } else if (myValue == \"()\") {\r\n endPosition = 1;\r\n } else if (myValue == \"sum\") {\r\n value = \"FormMath.sum()\";\r\n endPosition = 1;\r\n } else if (myValue == \"max\") {\r\n value = \"FormMath.max()\";\r\n endPosition = 1;\r\n } else if (myValue == \"min\") {\r\n value = \"FormMath.min()\";\r\n endPosition = 1;\r\n } else if (myValue == \"average\") {\r\n value = \"FormMath.average()\";\r\n endPosition = 1;\r\n }\r\n if (myField.selectionStart || myField.selectionStart === 0) {\r\n var startPos = myField.selectionStart;\r\n var endPos = myField.selectionEnd;\r\n this.countSetting.mathExp =\r\n myField.value.substring(0, startPos) +\r\n value +\r\n myField.value.substring(endPos, myField.value.length);\r\n await this.$nextTick(); // 这句是重点, 圈起来\r\n myField.focus();\r\n myField.setSelectionRange(\r\n endPos + value.length,\r\n endPos + value.length - endPosition\r\n );\r\n } else if(!this.countSetting.mathExp){\r\n this.countSetting.mathExp = value;\r\n }else{\r\n this.countSetting.mathExp += value;\r\n }\r\n },\r\n handleNodeClick(data, treeNode) {\r\n if (data.dataType != \"number\") {\r\n this.$message({ message: \"请选择数字类型的字段! \", type: \"warning\" });\r\n return;\r\n }\r\n var isMain = treeNode.parent.data.nodeType == \"main\";\r\n var path = \"data.\" + data.path + \".\" + data.name;\r\n if (!isMain && this.countSetting.isSingleRecord) {\r\n path = \"item.\" + data.name;\r\n }\r\n\r\n if (isMain && this.countSetting.isSingleRecord) {\r\n this.$message({\r\n message: \"子表中单条记录运算模式下,不能选择主表字段!\",\r\n type: \"warning\"\r\n });\r\n return;\r\n }\r\n var desc = \"\";\r\n if (isMain || this.countSetting.isSingleRecord) {\r\n desc = \"{\" + data.desc + \"(\" + path + \")\" + \"}\";\r\n } else {\r\n desc = \"[{\" + data.desc + \"(\" + path + \")\" + \"}]\";\r\n }\r\n this.insert(desc);\r\n }\r\n }\r\n};\r\n",null]}