{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-fvue\\src\\components\\eipControl\\EipHotSubDialog.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\src\\components\\eipControl\\EipHotSubDialog.vue","mtime":1667327529247},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\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//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nimport { mapState } from \"vuex\";\r\nimport utils from \"@/utils.js\";\r\nimport { Message } from \"element-ui\";\r\n\r\nexport default {\r\n  name: \"ht-hot-subDialog\",\r\n  props: [\"validate\", \"value\", \"btnName\", \"atter\", \"single\", \"custdialog\"],\r\n  data() {\r\n    return {\r\n      customDialogShowList: false,\r\n      customDialogShowTree: false,\r\n      selectOrgProps: {\r\n        label: \"btnName\"\r\n      },\r\n      style: \"\", //对话框宽高\r\n      selectOrgs: null,\r\n      inputSuffixHeight: 30,\r\n      config: null,\r\n      updating: false,\r\n      displayfield: [], //显示字段\r\n      customDialog: {}, //\r\n      comment: \"\",\r\n      queryParam: \"\",\r\n      props1: [],\r\n      showData: [],\r\n      checkBoxDataAll: [], //选中对象的集合\r\n      defaultProps: {\r\n        children: \"childrens\",\r\n        label: \"label\"\r\n      },\r\n      propsData: [],\r\n      querysShow: false, //是否显示搜索框\r\n      undefineda: \"\",\r\n      opMap:{'EQ':'EQUAL','GE':'GREAT_EQUAL','GT':'GREAT','LT':'LESS','LE':'LESS_EQUAL','IN':'IN','LK':'LIKE','LFK':'LEFT_LIKE','RHK':'RIGHT_LIKE'},\r\n    };\r\n  },\r\n  computed: mapState({\r\n    pagination: state => state.dialog.pagination,\r\n    total: state => state.dialog.total,\r\n    dialogData: state => {\r\n      return state.dialog.rows;\r\n    },\r\n    inputVal: function() {\r\n      if (!this.value) {\r\n        return null;\r\n      } else {\r\n        let nameAry = this.value.split(\",\");\r\n        if (this.value.indexOf(\"||\") > 0) {\r\n          nameAry = this.value.split(\"||\")[0].split(\",\");\r\n          this.showData = JSON.parse(this.value.split(\"||\")[1]);\r\n        }\r\n        let idAry = null;\r\n        let accountAry = null;\r\n        let result = [];\r\n        nameAry.forEach((m, i) => {\r\n          let n = { value: m };\r\n          result.push(n);\r\n        });\r\n        return result;\r\n      }\r\n    },\r\n    inputWriteable: function() {\r\n      return utils.getWriteable(this.permission);\r\n    },\r\n    inputValidate: function() {\r\n      var validateObj = this.$store.state.index.validate;\r\n      return utils.addRequiredOrNot(\r\n        this.permission,\r\n        this.validate,\r\n        validateObj,\r\n        this\r\n      );\r\n    },\r\n    inputName: function() {\r\n      return this.name ? this.name : utils.getName();\r\n    },\r\n    // 是否有回填设置\r\n    bindSet: function() {\r\n      return this.selectorconfig ? this.selectorconfig.bind : null;\r\n    },\r\n    getPlaceholder: function() {\r\n      return this.custdialog.name;\r\n    }\r\n  }),\r\n  mounted() {},\r\n  created() {\r\n    this.$validator = this.$root.$validator;\r\n  },\r\n  watch: {\r\n    customDialogShowTree: function(newVal) {\r\n      if (newVal) {\r\n        this.checkBoxDataAll = [];\r\n        if (this.inputVal && this.inputVal.constructor == Array) {\r\n          this.selectOrgs = [...this.inputVal];\r\n        } else {\r\n          this.selectOrgs = [];\r\n        }\r\n      }\r\n    },\r\n    customDialogShowList: function(newVal) {\r\n      if (newVal) {\r\n        this.checkBoxDataAll = [];\r\n        if (this.inputVal && this.inputVal.constructor == Array) {\r\n          this.selectOrgs = [...this.inputVal];\r\n        } else {\r\n          this.selectOrgs = [];\r\n        }\r\n      }\r\n    }\r\n  },\r\n  methods: {\r\n    handleSizeChange: function(size) {\r\n      //每页下拉显示数据\r\n      this.$store.dispatch(\"dialog/setPaginationSize\", size);\r\n      this.search();\r\n    },\r\n    handleCurrentChange: function(currentPage) {\r\n      const this_ = this;\r\n      if (this.selectOrgs != undefined && this.selectOrgs.length > 0) {\r\n        this.selectOrgs.forEach(row => {\r\n          let res = this_.indexArray(this_.checkBoxDataAll, row);\r\n          if (res == -1) {\r\n            this_.checkBoxDataAll.push(row);\r\n          }\r\n        });\r\n      }\r\n      this_.selectOrgs = this_.checkBoxDataAll;\r\n      //点击第几页\r\n      this.$store.dispatch(\"dialog/setPaginationPageNum\", currentPage);\r\n      this.search();\r\n    },\r\n    checkList() {\r\n      const this_ = this;\r\n      setTimeout(() => {\r\n        if (this_.selectOrgs != undefined && this_.selectOrgs.length > 0) {\r\n          if (this_.selectOrgs == undefined || this_.selectOrgs.length == 0) {\r\n            this_.selectOrgs = this_.checkBoxDataAll;\r\n          }\r\n          if (this_.selectOrgs != undefined && this_.selectOrgs.length > 0) {\r\n            this_.selectOrgs.forEach(row => {\r\n              let res = this_.indexArray(this_.dialogData, row);\r\n              if (res != -1) {\r\n                this_.$refs.orgTable.toggleRowSelection(\r\n                  this_.dialogData[res],\r\n                  true\r\n                );\r\n              }\r\n            });\r\n          }\r\n        } else {\r\n          if (this_.showData != undefined && this_.showData.length > 0) {\r\n            this_.showData.forEach(row => {\r\n              let res = this_.indexArray(this_.dialogData, row);\r\n              if (res != -1) {\r\n                this_.$refs.orgTable.toggleRowSelection(\r\n                  this_.dialogData[res],\r\n                  true\r\n                );\r\n              }\r\n            });\r\n          }\r\n        }\r\n      }, 250);\r\n    },\r\n    showDialog(item) {\r\n      let selectNum = -1;\r\n      let subRelationObj = $(item.target).parents(\"[sub-relation]\");\r\n      if (\r\n        subRelationObj.length > 0 &&\r\n        $(subRelationObj[0]).attr(\"sub-relation\") == \"onetoone\"\r\n      ) {\r\n        selectNum = 1;\r\n      }\r\n      var alias = this.custdialog.custDialog.alias;\r\n      this.$store.dispatch(\"dialog/setDialogData\", []);\r\n      this.$store.dispatch(\"form/getByAlias\", alias).then(customDialog => {\r\n        if (!customDialog || !customDialog.alias) {\r\n          Message.error(\"对话框别名【\" + alias + \"】不存在！\");\r\n          return;\r\n        }\r\n        customDialog.selectNum = selectNum;\r\n        var list = JSON.parse(customDialog.conditionfield);\r\n        var param = {};\r\n        list.forEach(ele => {\r\n          if (ele.defaultType == \"4\") {\r\n            param[ele.field] = ele.comment;\r\n          }\r\n        });\r\n        this.style = \"height:\" + customDialog.height + \"px\";\r\n\r\n        if (JSON.stringify(param) == \"{}\") {\r\n          //没有动态传入的字段\r\n          if (customDialog.style == 0) {\r\n            this.customDialogShow({ alias: alias, customDialog: customDialog });\r\n          } else {\r\n            this.customDialogTreeShow({\r\n              alias: alias,\r\n              customDialog: customDialog\r\n            });\r\n          }\r\n        } else {\r\n         \r\n        }\r\n      });\r\n    },\r\n    indexArray(array, item) {\r\n      var id = \"\";\r\n      if (typeof item == \"object\") {\r\n        id = item.id;\r\n      } else {\r\n        id = item;\r\n      }\r\n\r\n      for (var i = 0; i < array.length; i++) {\r\n        if (array[i].id == id) {\r\n          return i;\r\n        }\r\n      }\r\n      return -1;\r\n    },\r\n    onTableSelect(rows, row) {\r\n      let selected = rows.length && rows.indexOf(row) !== -1;\r\n      if (!selected) {\r\n        let res = this.indexArray(this.checkBoxDataAll, row);\r\n        this.checkBoxDataAll.splice(res, 1);\r\n        if (this.checkBoxDataAll.length == 0) {\r\n          this.selectOrgs = [];\r\n        }\r\n      }\r\n    },\r\n    orgRowClick(row, column, event) {\r\n      if (this.customDialog.selectNum === 1) {\r\n        $(event.currentTarget.children[0].children[0].children[0]).trigger(\r\n          \"click\"\r\n        );\r\n        this.selectOrgs = [row];\r\n      }\r\n      this.$refs.orgTable.toggleRowSelection(row);\r\n    },\r\n    orgTableSelection(selection) {\r\n      if (\r\n        this.customDialog.selectNum != 1 &&\r\n        selection &&\r\n        selection.length > 0\r\n      ) {\r\n        this.selectOrgs = selection;\r\n      }\r\n    },\r\n    dialogConfirm() {\r\n      this.$store.dispatch(\"dialog/setDialogData\", []);\r\n      this.customDialogShowList = false;\r\n      this.calacInputSuffixHeight();\r\n      this.syncInputValue();\r\n    }, //重置\r\n    reset() {\r\n      this.queryParam = \"\";\r\n      this.search();\r\n    },\r\n    search() {\r\n      let querys = []; //查询条件\r\n      let queryFilter = {};\r\n      let pageBean = { pageBean: this.pagination };\r\n      let _this = this;\r\n      if (this.queryParam != \"\") {\r\n        var conditionfield = JSON.parse(this.customDialog.conditionfield);\r\n        conditionfield.forEach(item => {\r\n          if(item.defaultType == '1'){\r\n            querys.push({\r\n              property: item.field,\r\n              value: this.queryParam,\r\n              group: \"main\",\r\n              operation: _this.opMap[item.condition],\r\n              relation: \"OR\"\r\n            });\r\n          } \r\n        });\r\n      }\r\n      //处理参数传入\r\n      const conditions = this.custdialog.custDialog.conditions;\r\n      const formInst = utils.getOnlineFormInstance(this);\r\n      if(conditions && conditions.length>0 && formInst && formInst['data']){\r\n        const curData = formInst['data'];\r\n        conditions.forEach(item =>{\r\n          if(item.defaultType == \"3\" && item.bind){\r\n            let obj = {};\r\n            item.field = item.field;\r\n            const bindArray = item.bind.split('.');\r\n            if(bindArray.length==3){\r\n              const targetValue = curData[bindArray[1]][bindArray[2]];\r\n              querys.push({\r\n                property: item.field,\r\n                value: targetValue,\r\n                group: \"type3\",\r\n                operation: _this.opMap[item.condition],\r\n                relation: \"AND\"\r\n              });\r\n            }\r\n          }\r\n        });\r\n      }\r\n      if (querys.length > 0) {\r\n        queryFilter = { pageBean: this.pagination, querys };\r\n        this.customDialog.pageBean = queryFilter;\r\n        this.$store.dispatch(\"dialog/getlistJson\", this.customDialog);\r\n      } else {\r\n        this.customDialog.pageBean = pageBean;\r\n        this.$store.dispatch(\"dialog/getlistJson\", this.customDialog);\r\n      }\r\n      this.checkList();\r\n    },\r\n    searchTree(requestParams) {\r\n      if (this.props1.length < 1) {\r\n        this.$store.dispatch(\"dialog/getTreeData\", requestParams).then(res => {\r\n          if (this.customDialog.displayfield && this.customDialog.resultfield) {\r\n            var displayfield = JSON.parse(this.customDialog.displayfield);\r\n            this.defaultProps.label = displayfield.displayName;\r\n            var resultfield = JSON.parse(this.customDialog.resultfield);\r\n            this.props1 = this.toTreeData(\r\n              res,\r\n              displayfield.id,\r\n              displayfield.pid,\r\n              displayfield.displayName,\r\n              displayfield.pvalue ? displayfield.pvalue : \"0\",\r\n              resultfield\r\n            );\r\n          }\r\n        });\r\n      }\r\n    },\r\n    // 同步选择结果\r\n    syncInputValue() {\r\n      var returnStr = JSON.parse(this.customDialog.resultfield);\r\n      //拿到返回的字段\r\n      var field = new Array([returnStr.length]);\r\n      var comment = new Array([returnStr.length]);\r\n      var str = [];\r\n      var ids = [];\r\n      for (var i = 0; i < returnStr.length; i++) {\r\n        field[i] =\r\n          this.customDialog.dsType == \"dataSource\"\r\n            ? returnStr[i].field.toUpperCase()\r\n            : returnStr[i].field;\r\n        comment[i] =\r\n          this.customDialog.dsType == \"dataSource\"\r\n            ? returnStr[i].comment.toUpperCase()\r\n            : returnStr[i].comment;\r\n      }\r\n      const this_ = this;\r\n      this.selectOrgs.forEach(row => {\r\n        if (this_.checkBoxDataAll || this_.checkBoxDataAll.length < 1) {\r\n          this_.checkBoxDataAll.push(row);\r\n        } else if (\r\n          JSON.stringify(this_.indexArray).indexOf(JSON.stringify(row)) == -1\r\n        ) {\r\n          this_.checkBoxDataAll.push(row);\r\n        }\r\n      });\r\n      var s = this.checkBoxDataAll;\r\n\r\n      if (this.customDialog.selectNum === 1) {\r\n        var temp = \"\";\r\n        for (var i = 0; i < comment.length; i++) {\r\n          const va = s[0][field[i]];\r\n          va = typeof(va)=='undefined'?'':va;\r\n          temp += '\"' + comment[i] + '\":\"' + va + '\",';\r\n        }\r\n        if (temp != \"\") {\r\n          temp = \"{\" + temp.substring(0, temp.length - 1) + \"}\";\r\n        }\r\n        str.push(utils.parseToJson(temp));\r\n        ids.push(s[0].id);\r\n      } else {\r\n        for (var i = 0; i < s.length; i++) {\r\n          var temp = \"\";\r\n          for (var j = 0; j < comment.length; j++) {\r\n            const va = s[i][field[j]];\r\n            va = typeof(va)=='undefined'?'':va;\r\n            temp += '\"' + comment[j] + '\":\"' + va + '\",';\r\n          }\r\n          if (temp != \"\") {\r\n            temp = \"{\" + temp.substring(0, temp.length - 1) + \"}\";\r\n          }\r\n          str.push(utils.parseToJson(temp));\r\n          ids.push(s[i].id);\r\n        }\r\n      }\r\n      const returnData = str;\r\n      const _this = this;\r\n      const formInst = utils.getOnlineFormInstance(this);\r\n      let hotTableTarget = '';\r\n      returnData.forEach(row => {\r\n        var targetArray = null;\r\n        var subLineData = {};\r\n        this.custdialog.custDialog.mappingConf.forEach(con => {\r\n          if (con.target[0]) {\r\n            hotTableTarget = con.target[0];\r\n            targetArray = con.target[0].split(\".\");\r\n            var from = \"\";\r\n            if (_this.customDialog.dsType == \"restful\") {\r\n              from = con.from;\r\n            } else {\r\n              from = con.from.toUpperCase();\r\n            }\r\n            subLineData[targetArray[targetArray.length - 1]] = row[from];\r\n          }\r\n        });\r\n        if (targetArray) {\r\n          var subBo = formInst[\"data\"][targetArray[0]][targetArray[1]];\r\n          if (_this.customDialog.selectNum == 1 && subBo.length > 0) {\r\n            subBo.shift();\r\n          }\r\n          //子表回填 自动把之前添加的字段且为空的也回填\r\n          // if (formInst[\"data\"][targetArray[0]][targetArray[1]]) {\r\n          //   formInst[\"data\"][targetArray[0]][targetArray[1]].forEach(obj => {\r\n          //     for (let item in obj) {\r\n          //       if (!obj[item]) {\r\n          //         for (let subData in subLineData) {\r\n          //           obj[item] = subLineData[item];\r\n          //         }\r\n          //       }\r\n          //     }\r\n          //   });\r\n          // }\r\n          subBo.push(subLineData);\r\n          //把子表回填值存在控件的父组件中\r\n          formInst.subBackfill.set(\r\n            \"data.\" + targetArray[0] + \".\" + targetArray[1],\r\n            subLineData\r\n          );\r\n        }\r\n      });\r\n      if(hotTableTarget){\r\n        formInst.hotTableFillback = hotTableTarget+'_timestamp_'+Date.parse(new Date());\r\n      }\r\n    },\r\n    dialogCancel() {\r\n      this.$store.dispatch(\"dialog/setDialogData\", []);\r\n      this.customDialogShowList = false;\r\n      if (this.selectOrgs) {\r\n        this.selectOrgs.forEach(item => {\r\n          if (!this.inputVal || this.inputVal.indexOf(item) === -1) {\r\n            this.$refs.orgTable.toggleRowSelection(item, false);\r\n          } else {\r\n            this.$refs.orgTable.toggleRowSelection(item, true);\r\n          }\r\n        });\r\n      }\r\n      // this.selectOrgs = this.inputVal ? this.inputVal : null;\r\n    },\r\n    dialogTreeConfirm() {\r\n      this.$store.dispatch(\"dialog/setDialogData\", []);\r\n      var returnStr = JSON.parse(this.customDialog.resultfield);\r\n      var field = new Array([returnStr.length]);\r\n      var comment = new Array([returnStr.length]);\r\n      var str = [];\r\n      for (var i = 0; i < returnStr.length; i++) {\r\n        field[i] = returnStr[i].field;\r\n        comment[i] = returnStr[i].comment;\r\n      }\r\n      if (this.customDialog.selectNum === 1) {\r\n        var nodes = this.propsData[0];\r\n        var temp = \"\";\r\n        for (var i = 0; i < comment.length; i++) {\r\n          temp += '\"' + comment[i] + '\":\"' + nodes[field[i]] + '\",';\r\n        }\r\n        if (temp != \"\") {\r\n          temp = \"{\" + temp.substring(0, temp.length - 1) + \"}\";\r\n        }\r\n        str.push(utils.parseToJson(temp));\r\n      } else {\r\n        var nodes = this.propsData;\r\n        nodes.forEach((item, k) => {\r\n          var temp = \"\";\r\n          for (var i = 0; i < comment.length; i++) {\r\n            temp += '\"' + comment[i] + '\":\"' + nodes[field[i]] + '\",';\r\n            temp += '\"' + comment[i] + '\":\"' + nodes[k][field[i]] + '\",';\r\n          }\r\n          if (temp != \"\") {\r\n            temp = \"{\" + temp.substring(0, temp.length - 1) + \"}\";\r\n          }\r\n          str.push(utils.parseToJson(temp));\r\n        });\r\n      }\r\n      const returnData = str;\r\n      const _this = this;\r\n      const formInst = utils.getOnlineFormInstance(this);\r\n      returnData.forEach(row => {\r\n        var targetArray = null;\r\n        var subLineData = {};\r\n        this.custdialog.custDialog.mappingConf.forEach(con => {\r\n          targetArray = con.target[0].split(\".\");\r\n          var from = \"\";\r\n          if (_this.customDialog.dsType == \"restful\") {\r\n            from = con.from;\r\n          } else {\r\n            from = con.from.toUpperCase();\r\n          }\r\n          subLineData[targetArray[targetArray.length - 1]] = row[from];\r\n        });\r\n        if (targetArray) {\r\n          var subBo = formInst[\"data\"][targetArray[0]][targetArray[1]];\r\n          if (_this.customDialog.selectNum == 1 && subBo.length > 0) {\r\n            subBo.shift();\r\n          }\r\n          subBo.push(subLineData);\r\n        }\r\n      });\r\n      //this.$emit(\"input\", JSON.stringify(str));\r\n      this.customDialogShowTree = false;\r\n    },\r\n    dialogCancelTree() {\r\n      this.$store.dispatch(\"dialog/setDialogData\", []);\r\n      this.customDialogShowTree = false;\r\n    },\r\n    getChecked(data, checked, indeterminate) {\r\n      if (this.customDialog.selectNum === 1) {\r\n        this.propsData = [];\r\n        this.propsData.push(data);\r\n      } else {\r\n        this.propsData = this.$refs.tree.getCheckedNodes();\r\n      }\r\n    },\r\n    treeClick(data, n, i) {\r\n      if (this.customDialog.selectNum === 1) {\r\n        this.propsData = [];\r\n        this.propsData.push(data);\r\n      }\r\n    },\r\n    clearAllSelectOrgs() {\r\n      this.selectOrgs = null;\r\n      this.$refs.orgTable.clearSelection();\r\n    },\r\n    removeSelectOrgs() {\r\n      let ary = this.$refs.selectTree.getCheckedNodes();\r\n      ary.forEach(item => {\r\n        this.selectOrgs.remove(item);\r\n        this.$refs.orgTable.toggleRowSelection(item, false);\r\n      });\r\n    },\r\n    removeSelectOrg(item) {\r\n      if (this.customDialog.selectNum === 1) {\r\n        this.$emit(\"input\", \"\");\r\n      } else {\r\n        this.inputVal.splice(item, 1);\r\n        this.showData.splice(item, 1);\r\n        this.calacInputSuffixHeight();\r\n        let value = \"\";\r\n        this.inputVal.forEach(val => {\r\n          value += val.value + \",\";\r\n        });\r\n        if (value.length > 0) {\r\n          value = value.substring(0, value.length - 1);\r\n        }\r\n        if (value != \"\") {\r\n          value = value + \"||\" + JSON.stringify(this.showData);\r\n        }\r\n        this.$emit(\"input\", value);\r\n      }\r\n    },\r\n    calacInputSuffixHeight() {\r\n      setTimeout(() => {\r\n        if (!this.$refs.tagSpans) return;\r\n        if (this.$refs.tagSpans.offsetHeight) {\r\n          this.inputSuffixHeight = this.$refs.tagSpans.offsetHeight + 5;\r\n        } else {\r\n          this.inputSuffixHeight = 30;\r\n        }\r\n        // 触发验证\r\n        this.$validator.validate();\r\n      }, 0);\r\n    },\r\n    customDialogShow(pageParam) {\r\n      this.customDialogShowList = true;\r\n      this.customDialog = pageParam.customDialog;\r\n      this.customDialog.queryUrl =\r\n        this.customDialog.dsType == \"dataSource\"\r\n          ? \"${form}/form/customDialog/v1/getListData?alias=\" +\r\n            this.customDialog.alias +\r\n            \"&mapParam=\" +\r\n            (this.customDialog.mapParam ? this.customDialog.mapParam : \"\")\r\n          : this.customDialog.url;\r\n\r\n      var conditionfield = JSON.parse(this.customDialog.conditionfield);\r\n      if (!this.comment && conditionfield.length > 0) {\r\n        conditionfield.forEach(item => {\r\n          if (item.controllerType == 1 && item.dbType == \"varchar\") {\r\n            this.comment += item.comment + \",\";\r\n          }\r\n        });\r\n        if (this.comment) {\r\n          this.querysShow = true;\r\n          this.comment =\r\n            \"通过\" +\r\n            this.comment.substring(0, this.comment.length - 1) +\r\n            \"查询\";\r\n        }\r\n      }\r\n      if (this.dialogData.length < 1) {\r\n        this.search();\r\n        this.displayfield = JSON.parse(pageParam.customDialog.displayfield);\r\n        if (this.customDialog.dsType == \"dataSource\") {\r\n          for (var i = 0; i < this.displayfield.length; i++) {\r\n            this.displayfield[i].field = this.displayfield[\r\n              i\r\n            ].field.toUpperCase();\r\n          }\r\n        }\r\n      }\r\n    },\r\n    customDialogTreeShow(pageParam) {\r\n      this.customDialog = pageParam.customDialog;\r\n      var customDialog = this.customDialog;\r\n      var mapParam = \"\";\r\n      if (pageParam.param != undefined) {\r\n        mapParam = JSON.stringify(pageParam.param);\r\n        mapParam = mapParam.substring(1, mapParam.length - 1);\r\n      }\r\n      var requestType =\r\n        customDialog.dsType == \"dataSource\"\r\n          ? \"GET\"\r\n          : customDialog.requestType\r\n          ? customDialog.requestType\r\n          : \"POST\";\r\n      var url =\r\n        \"${form}/form/customDialog/v1/getTreeData?alias=\" +\r\n        pageParam.alias +\r\n        \"&mapParam=\" +\r\n        mapParam;\r\n      var paramsObj = {};\r\n      if (customDialog.dsType != \"dataSource\") {\r\n        url = customDialog.url;\r\n        var templatePa = customDialog.dataParam;\r\n        if (customDialog.conditionfield) {\r\n          var conditions = JSON.parse(customDialog.conditionfield);\r\n          for (var i = 0; i < conditions.length; i++) {\r\n            var con = conditions[i];\r\n            if (requestType == \"POST\") {\r\n              if (templatePa) {\r\n                templatePa = templatePa.replace(\r\n                  new RegExp(\"\\\\{\" + con.field + \"\\\\}\", \"g\"),\r\n                  con.defaultValue\r\n                );\r\n              } else {\r\n                paramsObj[con.field] = con.defaultValue;\r\n              }\r\n            } else {\r\n              var ljChar = url.indexOf(\"?\") == -1 ? \"?\" : \"&\";\r\n              url = url + ljChar + con.field + \"=\" + con.defaultValue;\r\n            }\r\n          }\r\n          if (templatePa) {\r\n            paramsObj = JSON.parse(templatePa);\r\n          }\r\n        }\r\n      }\r\n      var requestParams = {};\r\n      requestParams.requestType = requestType;\r\n      requestParams.url = url;\r\n      requestParams.paramsObj = paramsObj;\r\n      this.searchTree(requestParams);\r\n      this.customDialogShowTree = true;\r\n    },\r\n    toTreeData(data, id, pid, name, pvalue, returnStr) {\r\n      // 建立个树形结构,需要定义个最顶层的父节点，pvalue是0\r\n      var ztree = translateDataToTree(data, pid, id, name);\r\n      function translateDataToTree(data, pid, id, name) {\r\n        let parents = data.filter(\r\n          value =>\r\n            value[id] == value[pid] ||\r\n            value[pid] == null ||\r\n            value[pid] == null ||\r\n            value[pid] == 0\r\n        );\r\n        parents.label = parents[name];\r\n        let childrens = data.filter(\r\n          value =>\r\n            value[pid] !== \"undefined\" &&\r\n            value[pid] != null &&\r\n            value[id] != value[pid]\r\n        );\r\n        let translator = (parents, childrens) => {\r\n          parents.forEach(parent => {\r\n            childrens.forEach((current, index) => {\r\n              if (current[pid] === parent[id]) {\r\n                let temp = JSON.parse(JSON.stringify(childrens));\r\n                temp.splice(index, 1);\r\n                translator([current], temp);\r\n                current.label = current[name];\r\n                typeof parent.childrens !== \"undefined\"\r\n                  ? parent.childrens.push(current)\r\n                  : (parent.childrens = [current]);\r\n              }\r\n            });\r\n          });\r\n        };\r\n        translator(parents, childrens);\r\n\r\n        return parents;\r\n      }\r\n      return ztree;\r\n    }\r\n  }\r\n};\r\n",null]}