{"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\\control\\HtDialog.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\src\\components\\control\\HtDialog.vue","mtime":1667327529075},{"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//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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-dialog\",\r\n  props: [\r\n    \"validate\",\r\n    \"value\",\r\n    \"name\",\r\n    \"permission\",\r\n    \"atter\",\r\n    \"single\",\r\n    \"selectorconfig\",\r\n    \"custdialog\",\r\n    \"tooltipplacement\",\r\n    \"placeholder\",\r\n    \"isFromList\"\r\n  ],\r\n  data() {\r\n    return {\r\n      nodeKey:\"ID_\",//树形数据父Id\r\n      customDialogShowList: false,\r\n      customDialogShowTree: false,\r\n      selectOrgProps: {\r\n        label: \"name\"\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: \"children\",\r\n        label: \"label\"\r\n      },\r\n      propsData: [],\r\n      searchForm: {},\r\n      querysShow: false, //是否显示搜索框\r\n      undefineda:\"\",\r\n      isCurrentChange:false  //是否不执行 orgTableSelection方法\r\n    };\r\n  },\r\n  watch: {\r\n    props1: function(newVal, oldVal) {\r\n        //树形\r\n        if(this.showData!=undefined&&this.showData.length>0){\r\n          const this_ = this;\r\n          let  data = [];\r\n          for(let i =0;i<this.showData.length;i++){\r\n            data.push(this.showData[i]);\r\n          }\r\n          setTimeout(() => {\r\n            for(let i =0;i<data.length;i++){\r\n              this_.$refs.tree.setChecked(data[i],true);\r\n            }\r\n          },200);\r\n        }\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 || this.value =='||[]') {\r\n        this.checkBoxDataAll = [];\r\n        // this.showData = [];\r\n        return null;\r\n      } else {\r\n        let nameAry = this.value.split(\",\");\r\n        if(!nameAry[nameAry.length-1]){\r\n          nameAry.splice(nameAry.length-1,1);\r\n        }\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        //  this.showData =this.selectOrgs;\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      let labeldesc = \"\";\r\n      if(this.$slots && this.$slots.labeldesc && this.$slots.labeldesc[0].children && this.$slots.labeldesc[0].children[0].text){\r\n        labeldesc = this.$slots.labeldesc[0].children[0].text;\r\n        return this.name ? this.name : utils.getName()+ \"-\" +labeldesc;\r\n      }else{\r\n        return this.name ? this.name : utils.getName();\r\n      }\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      if(this.placeholder){\r\n        return this.placeholder;\r\n      }\r\n      return this.custdialog.name;\r\n    }\r\n  }),\r\n  created() {\r\n    this.$validator = this.$root.$validator;\r\n  },\r\n  methods: {\r\n    //回车查询\r\n    searchEnterFun:function(e){\r\n        var keyCode = window.event? e.keyCode:e.which;\r\n        if(keyCode == 13){\r\n            this.search();\r\n        }\r\n    },\r\n    handleSizeChange: function(size) {\r\n      this.isCurrentChange = true;\r\n      //每页下拉显示数据\r\n      this.$store.dispatch(\"dialog/setPaginationSize\", size).then(()=>{\r\n          this.search();\r\n      });\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.isCurrentChange = true;\r\n      //点击第几页\r\n      this.$store.dispatch(\"dialog/setPaginationPageNum\", currentPage).then(()=>{\r\n          this.search();\r\n      });\r\n    },\r\n    checkList(){\r\n      const this_ = this;\r\n      setTimeout(() => {\r\n        //列表\r\n        if(this_.checkBoxDataAll!=undefined&&this_.checkBoxDataAll.length>0){\r\n          this_.checkBoxDataAll.forEach(row => {\r\n            let res=this_.indexArray(this_.dialogData,row);\r\n            this_.undefineda=res;\r\n            if(res!=-1){\r\n                this_.isCurrentChange=true;\r\n                this_.toggleRowSelection(res,true);\r\n            }\r\n          });\r\n        }\r\n      }, 300);\r\n    },\r\n    toggleRowSelection(res,val){\r\n        this.$refs.orgTable.toggleRowSelection(this.dialogData[res],val);\r\n    },\r\n    showDialog(item) {\r\n      const this_ = this;\r\n      var alias = this.custdialog.custDialog.alias;\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        if(customDialog.style==1){\r\n          var displaylist = JSON.parse(customDialog.displayfield);\r\n          this_.nodeKey = displaylist.id;\r\n        }\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      if(array.length==0){\r\n        return -1;\r\n      }\r\n      for (let i = 0; i <array.length ; i++) {\r\n        if(JSON.stringify(array[i])==JSON.stringify(item)){\r\n            return i;\r\n        }\r\n      }\r\n      return -1;\r\n    },\r\n    //点击列表某一个复选框时触发\r\n    onTableSelect(rows, row){\r\n       this.isCurrentChange=false;\r\n     //判断点击列表数据时复选框是否勾选  selected：true不勾选，false勾选\r\n      let selected = (this.selectOrgs && this.selectOrgs.length>0) && this.indexArray(this.selectOrgs,row) !== -1;\r\n      if(selected){\r\n        this.isCurrentChange=true;\r\n        let res=this.indexArray(this.selectOrgs,row);\r\n        this.selectOrgs.splice(res,1);\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(\"click\");\r\n         this.selectOrgs=[];\r\n         this.selectOrgs.push(row);\r\n      }else if(this.customDialog.selectNum!=1){\r\n        this.isCurrentChange=false;\r\n        //判断点击列表数据时复选框是否勾选  selected：true不勾选，false勾选\r\n        let selected = (this.selectOrgs && this.selectOrgs.length>0) && this.indexArray(this.selectOrgs,row) !== -1;\r\n        if(selected){\r\n          this.isCurrentChange=true;\r\n          let res=this.indexArray(this.selectOrgs,row);\r\n          this.selectOrgs.splice(res,1);\r\n        }\r\n        this.$refs.orgTable.toggleRowSelection(row);\r\n      }\r\n    },\r\n    //列表复选框有改变时触发\r\n    orgTableSelection(selection) {\r\n      //多选\r\n      if(this.customDialog.selectNum!=1 && !this.isCurrentChange){\r\n         if(selection && selection.length>0){\r\n            if(selection.length==1 && (!this.selectOrgs || this.selectOrgs.length==0)){\r\n                this.selectOrgs = selection;\r\n            }else if((!this.selectOrgs || this.selectOrgs.length==0) && selection.length>1){\r\n                if(!this.selectOrgs){\r\n                  this.selectOrgs=[];\r\n                }\r\n                for (let i = selection.length-1; i >=0 ; i--) {\r\n                  this.selectOrgs.push(selection[i]);\r\n                }\r\n            }else{\r\n                for (let i = selection.length-1; i >=0 ; i--) {\r\n                  this.selectOrgs.push(selection[i]);\r\n                  break;\r\n                }\r\n            }\r\n          }\r\n      }\r\n    },\r\n    dialogConfirm() {\r\n      this.customDialogShowList = false;\r\n      this.calacInputSuffixHeight();\r\n      this.syncInputValue();\r\n      // this.$store.dispatch(\"dialog/setDialogData\", []);\r\n    },\r\n    //重置\r\n    reset() {\r\n      this.queryParam = \"\";\r\n      this.search();\r\n    },\r\n    //查询\r\n    search() {\r\n      let querys = []; //查询条件\r\n      let queryFilter = {};\r\n      if(JSON.stringify(this.pagination)==\"{}\"){\r\n           this.pagination = {\"page\":\"1\",\"pageSize\":\"10\",\"showTotal\":\"true\"};\r\n      }\r\n      let pageBean = { pageBean: this.pagination };\r\n      if (this.queryParam != \"\") {\r\n        var conditionfield = JSON.parse(this.customDialog.conditionfield);\r\n        conditionfield.forEach(item => {\r\n          querys.push({\r\n            property: item.field,\r\n            value: this.queryParam,\r\n            group: \"main\",\r\n            operation: \"LIKE\",\r\n            relation: \"OR\"\r\n          });\r\n        });\r\n      }\r\n      \r\n     //对话框按表单字段查询（参数传入的）\r\n        let bindList = this.custdialog.custDialog.conditions;\r\n        if (bindList.length > 0) {\r\n          const pInst = utils.getInstanceByTag(this,'ht-dataview-runtime-template');\r\n          bindList.forEach(ele => {\r\n            //绑定表单字段\r\n            if (ele.defaultType == '3' && ele.bind && pInst.searchForm) {\r\n              let value=\"\";\r\n              for (let item in pInst.searchForm){\r\n                  if(ele.bind.toLowerCase()==item.toLowerCase()){\r\n                     value=pInst.searchForm[item];\r\n                  }\r\n              }\r\n              if(value){\r\n                querys.push({\r\n                property: ele.field,\r\n                value: value,\r\n                group: 'main',\r\n                operation: 'LIKE',\r\n                relation: 'AND'\r\n                })\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).then(()=>{\r\n            this.checkList();\r\n        });\r\n      } else {\r\n        this.customDialog.pageBean = pageBean;\r\n        this.$store.dispatch(\"dialog/getlistJson\", this.customDialog).then(()=>{\r\n            this.checkList();\r\n        });\r\n      }\r\n    },\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.displayfield = displayfield;\r\n            this.defaultProps.label=displayfield.displayName;\r\n            var resultfield = JSON.parse(this.customDialog.resultfield);\r\n            this.treeData = res;\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      let subIndex = null;\r\n      if (this.$el) {\r\n        subIndex = utils.getSomeAttributeFromParentElement(\r\n          this.$el,\r\n          \"data-index\"\r\n        );\r\n      }\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      for (var i = 0; i < returnStr.length; i++) {\r\n        field[i] =\r\n          this.customDialog.dsType == \"dataSource\"\r\n            ? returnStr[i].field.toLowerCase()\r\n            : returnStr[i].field;\r\n        comment[i] =\r\n          this.customDialog.dsType == \"dataSource\"\r\n            ? returnStr[i].comment.toLowerCase()\r\n            : returnStr[i].comment;\r\n      }\r\n      const this_ = this;\r\n      var s =  this.selectOrgs;\r\n      this.showData = [...this.selectOrgs];\r\n      this.checkBoxDataAll = [...this.selectOrgs];\r\n      if(this.customDialog.selectNum === 1){\r\n        s=this.selectOrgs;\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          temp += '\"' + comment[i] + '\":\"' + s[0][field[i]] + '\",';\r\n        }\r\n        if (temp != \"\") {\r\n          temp = \"{\" + temp.substring(0, temp.length - 1) + \"}\";\r\n        }\r\n        str.push(JSON.parse(temp));\r\n\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            temp += '\"' + comment[j] + '\":\"' + s[i][field[j]] + '\",';\r\n          }\r\n          if (temp != \"\") {\r\n            temp = \"{\" + temp.substring(0, temp.length - 1) + \"}\";\r\n          }\r\n          str.push(JSON.parse(temp));\r\n        }\r\n      }\r\n\r\n\r\n      // const pInst = utils.getOnlineFormInstance(this);\r\n      const pInst = utils.getInstanceByTag(this,['ht-dataview-runtime-template', \"ht-runtime-template\"]);\r\n      const _this = this;\r\n      this.custdialog.custDialog.mappingConf.forEach(con => {\r\n        var val = \"\";\r\n        var from=\"\";\r\n        if(_this.customDialog.dsType==\"restful\") {\r\n          from = con.from;\r\n        }else{\r\n          from = con.from.toLowerCase();\r\n        }\r\n        str.forEach(item => {\r\n          val += item[from] + \",\";\r\n        });\r\n        if(val != \"\"){\r\n          val=val.substring(0, val.length - 1);\r\n        }\r\n         this.$emit(\"input\", val);\r\n        if (this.atter == \"data.\" + con[\"target\"][0]) {\r\n          utils.setValueByPath(\r\n            pInst,\r\n            \"data.\" + con[\"target\"][0],val,subIndex\r\n          );\r\n        } else if(this.atter.indexOf(\"searchForm\") !=-1){\r\n         if(this.isFromList){\r\n           pInst.$set(pInst.searchForm,con[\"target\"][0], val);\r\n         }else{\r\n           utils.setValueByPath(\r\n            _this,\r\n            \"searchForm.\" + con[\"target\"][0],\r\n            val.substring(0, val.length - 1),\r\n            subIndex\r\n          );\r\n         }\r\n        } else {\r\n          utils.setValueByPath(\r\n            pInst,\r\n            \"data.\" + con[\"target\"][0],\r\n            val.substring(0, val.length - 1),\r\n            subIndex\r\n          );\r\n        }\r\n      });\r\n    },\r\n    //取消按钮\r\n    dialogCancel() {\r\n      const this_ = this;\r\n      this_.$store.dispatch(\"dialog/setDialogData\", []).then(()=>{\r\n        this_.customDialogShowList = false;\r\n        //判断是否是点击了确认再点击取消的  inputVal没有值则表示直接点击的取消\r\n        if(!this_.inputVal){\r\n          this_.selectOrgs=[];\r\n        }else{\r\n          this_.selectOrgs = [...this_.showData]\r\n          this.checkBoxDataAll = [...this_.selectOrgs]\r\n        }\r\n      });\r\n    },\r\n    dialogTreeConfirm() {\r\n      this.calacInputSuffixHeight()\r\n      let subIndex = null;\r\n      if (this.$el) {\r\n        subIndex = utils.getSomeAttributeFromParentElement(\r\n          this.$el,\r\n          \"data-index\"\r\n        );\r\n      }\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(JSON.parse(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(JSON.parse(temp));\r\n        });\r\n      }\r\n      // const pInst = utils.getOnlineFormInstance(this);\r\n      const pInst = utils.getInstanceByTag(this,['ht-dataview-runtime-template', \"ht-runtime-template\"]);\r\n      this.custdialog.custDialog.mappingConf.forEach(con => {\r\n        var val = \"\";\r\n        str.forEach(item => {\r\n          val += item[con.from] + \",\";\r\n        });\r\n        if (this.atter == \"data.\" + con[\"target\"][0]) {\r\n          utils.setValueByPath(\r\n            pInst,\r\n            \"data.\" + con[\"target\"][0],\r\n            val.substring(0, val.length - 1),\r\n            subIndex\r\n          );\r\n        } else if(this.atter == \"searchForm.\" + con[\"target\"][0]){\r\n          utils.setValueByPath(\r\n            pInst,\r\n            \"searchForm.\" + con[\"target\"][0],\r\n            val.substring(0, val.length - 1),\r\n            subIndex\r\n          );\r\n        }else{\r\n          utils.setValueByPath(\r\n            pInst,\r\n            \"data.\" + con[\"target\"][0],\r\n            val.substring(0, val.length - 1),\r\n            subIndex\r\n          );\r\n        }\r\n      });\r\n      //this.$emit(\"input\", JSON.stringify(str));\r\n      this.showData = [...this.propsData];//回显的值\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    removeSelectOrg(item) {\r\n      if(this.customDialog.selectNum === 1){\r\n        this.$emit(\"input\", \"\");\r\n        this.selectOrgs.splice(item,1);\r\n        this.showData.splice(item,1);\r\n      }else{\r\n          this.inputVal.splice(item,1);\r\n          // let removeId = this.showData[item];\r\n          //树形\r\n          if(this.propsData.length>0){\r\n            this.propsData.splice(item,1);\r\n          }\r\n          //列表\r\n          if(this.selectOrgs!=null){\r\n            this.selectOrgs.splice(item,1);\r\n            this.checkBoxDataAll.splice(item,1);\r\n            this.selectOrgs.forEach(row => {\r\n              // if(item.id ==removeId ){\r\n              this.isCurrentChange=true;\r\n              this.toggleRowSelection(row, false);\r\n            // }\r\n          });\r\n          }\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.defaultType == 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        \tfor (var i = 0; i < this.displayfield.length; i++) {\r\n                this.displayfield[i].field = this.displayfield[i].field.toLowerCase();\r\n            }\r\n        }\r\n      }else if(this.dialogData.length>1){\r\n        this.search();\r\n      }\r\n      if(this.dialogData.length > 0 && this.displayfield.length==0){\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[i].field.toLowerCase();\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      let parents = data.filter(value => value[id] == value[pid] || value[pid] == null || value[pid] == pvalue);\r\n      if (!parents){\r\n        parents = data.filter(value => value[pid] !== 'undefined' && value[pid] != null && value[id] != value[pid]);\r\n      }\r\n      return parents;\r\n    },\r\n    loadTree(node, resolve){\r\n      if(node && !Array.isArray(node.data)){\r\n        let _this = this;\r\n        resolve(this.treeData.filter(value => value[_this.displayfield.pid] === node.data[_this.displayfield.id]));\r\n      }else{\r\n        resolve([]);\r\n      }\r\n    }\r\n  }\r\n};\r\n",null]}