{"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\\MathRowDialog.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\form\\customView\\MathRowDialog.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\r\nexport default {\r\n  name: \"math-row-dialog\",\r\n  props: [\"visible\", \"boDefData\", \"rowMathExp\",\"boSubEntity\",\"subTables\"],\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: false, rowMathExps: [] },\r\n      curMathExp:'',\r\n      curMathExpIndex:-1,\r\n    };\r\n  },\r\n  mounted() {\r\n    this.mathExpAssign(this.rowMathExp);\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      if(!val){\r\n        val = [];\r\n      }\r\n      this.$set(this.countSetting, \"rowMathExps\", val);\r\n    },\r\n    cancel() {\r\n      this.$emit(\"update:visible\", false);\r\n    },\r\n    confirm() {\r\n      this.$emit(\"update:rowMathExp\", this.countSetting.rowMathExps);\r\n      try {\r\n        if(this.$parent && this.$parent.$parent.setHotColumRowMathExp){\r\n          this.$parent.$parent.setHotColumRowMathExp(this.countSetting.rowMathExps);\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 cindex = this.curMathExpIndex;\r\n      const myField = document.getElementById(cindex+'_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.curMathExp =\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      }\r\n      if(!this.countSetting.rowMathExps[cindex]['mathExp']){\r\n        this.countSetting.rowMathExps[cindex]['mathExp'] = value;\r\n      }else{\r\n        this.countSetting.rowMathExps[cindex]['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    addMathExp(){\r\n      this.countSetting.rowMathExps.push({desc:'',mathExp:''});\r\n    },\r\n    rowClick(index){\r\n      this.curMathExpIndex = index;\r\n      this.curMathExp = this.countSetting.rowMathExps[index]['mathExp'];\r\n    },\r\n    mathExpRemove(item){\r\n      this.countSetting.rowMathExps.remove(item);\r\n    },\r\n    up(index, data) {\r\n      if (index === 0) {\r\n        this.$message({\r\n          message: \"已经是列表中第一位\",\r\n          type: \"warning\"\r\n        });\r\n      } else {\r\n        let temp = data[index - 1];\r\n        Vue.set(data, index - 1, data[index]);\r\n        Vue.set(data, index, temp);\r\n      }\r\n    },\r\n    down(index, data) {\r\n      if (index === data.length - 1) {\r\n        this.$message({\r\n          message: \"已经是列表中最后一位\",\r\n          type: \"warning\"\r\n        });\r\n      } else {\r\n        this.isTransition = true;\r\n        let i = data[index + 1];\r\n        Vue.set(data, index + 1, data[index]);\r\n        Vue.set(data, index, i);\r\n      }\r\n    },\r\n  }\r\n};\r\n",null]}