{"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]}