{"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\\selector\\EipPlaceSelector.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\src\\components\\selector\\EipPlaceSelector.vue","mtime":1667327529653},{"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//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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: 'EipPleceSelector',\r\n  props: {\r\n    value: {\r\n      type: String,\r\n      default: '',\r\n    },\r\n    placeholder: {\r\n      type: String,\r\n      default: '请选择',\r\n    },\r\n    single: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n    placeList_: {\r\n      type: Array,\r\n      default: () => [],\r\n    },\r\n  },\r\n  data() {\r\n    return {\r\n      place: null,\r\n      dialogVisible: false,\r\n      filterText: '', //树型搜索内容\r\n      isIeExplorer: false,\r\n      isExpand: false,\r\n      isShowAside: true, //左侧菜单默认显示\r\n      loading: false,\r\n      props: {\r\n        label: 'name',\r\n        code: 'code',\r\n        id: 'id',\r\n        children: 'children',\r\n        pcode: 'pcode',\r\n        isLeaf: 'leaf', // 指定节点是否为叶子节点，仅在指定了 lazy 属性的情况下生效\r\n      },\r\n      treeData: [{name: '分组管理', code: 'root', id: '1', children: []}],\r\n      defaultCheckedKeys: [], //默认选中节点\r\n      defaultExpandedKeys: ['1'], //默认展开节点\r\n      node: '',\r\n      resolve: '',\r\n      searchForm: {\r\n        name: '',\r\n        uri: '',\r\n      }, //顶部搜索参数\r\n      data: [],\r\n      pageResult: {\r\n        page: 1,\r\n        pageSize: 20,\r\n        total: 0,\r\n      },\r\n      selectedId: '', // 单选时选中的id\r\n      placeList: [], //会场列表\r\n    }\r\n  },\r\n  // 超级牛\r\n  model: {\r\n    prop: 'value',\r\n    event: 'change',\r\n  },\r\n  watch: {\r\n    value: {\r\n      immediate: true, // 立即执行 :当刷新页面时会立即执行一次handler函数\r\n      handler(val) {\r\n        this.place = val\r\n      },\r\n    },\r\n    filterText(val) {\r\n      this.$refs.tree.filter(val)\r\n    },\r\n    single: {\r\n      immediate: true,\r\n      handler(val) {\r\n        this.single = val\r\n      },\r\n    },\r\n    placeList_: {\r\n      immediate: true,\r\n      handler(val) {\r\n        this.placeList = val\r\n      },\r\n    },\r\n  },\r\n  mounted() {\r\n    this.getTreeData()\r\n  },\r\n  methods: {\r\n    unique(arr) {\r\n      const res = new Map()\r\n      return arr.filter((arr) => !res.has(arr.id) && res.set(arr.id, 1))\r\n    },\r\n    changeInput() {\r\n      this.placeList = this.unique(this.placeList)\r\n      this.$emit('change', this.place)\r\n      this.$emit('showTag', this.placeList)\r\n    },\r\n    changeFoucs() {\r\n      this.placeList = []\r\n      this.selectedId = ''\r\n      this.dialogVisible = true\r\n      this.$nextTick(() => {\r\n        this.$refs.AtTable.clearSelection()\r\n      })\r\n    },\r\n    handleClose() {\r\n      this.dialogVisible = false\r\n    },\r\n    handleSure() {\r\n      this.dialogVisible = false\r\n      this.changeInput()\r\n    },\r\n    //初始节点\r\n    getTreeData() {\r\n      let params = {\r\n        pageBean: {\r\n          pageSize: -1,\r\n        },\r\n      }\r\n      this.$http\r\n        .post('${xqhk}/bizMeetingPlaceName/v1/getJson', params)\r\n        .then((res) => {\r\n          let resp = res.data.value\r\n          this.treeData[0].children = resp\r\n        })\r\n    },\r\n    //点击节点\r\n    handleNodeClick(data) {\r\n      this.searchForm = {\r\n        name: '',\r\n        uri: '',\r\n      }\r\n      this.form = {}\r\n      if (data.name != '分组管理') {\r\n        this.searchForm.name = data.name\r\n      }\r\n      //根组件查询全部节点数据\r\n      this.$refs.AtTable.load()\r\n    },\r\n    filterNode(value, data) {\r\n      if (!value) return true\r\n      return data[this.props.label].indexOf(value) !== -1\r\n    },\r\n    loadNode(node, resolve) {},\r\n    // 树状菜单的全部展开和收起\r\n    handleExpandCollapse() {\r\n      let elTree = this.$refs.tree\r\n      for (var i = 0; i < elTree.store._getAllNodes().length; i++) {\r\n        elTree.store._getAllNodes()[i].expanded = this.isExpand\r\n      }\r\n      this.isExpand = !this.isExpand\r\n    },\r\n    //树状刷新\r\n    refresh() {\r\n      this.loading = true\r\n      this.$emit('refresh', () => {\r\n        this.loading = false\r\n        this.filterText = ''\r\n        this.getTreeData()\r\n      })\r\n      setTimeout(() => {\r\n        this.loading = false\r\n        this.filterText = ''\r\n      }, 2000)\r\n    },\r\n    closeBefore() {\r\n      setTimeout(() => {\r\n        this.dialogVisible2 = false\r\n        this.getTreeData()\r\n      }, 500)\r\n    },\r\n    //隐藏目录\r\n    handleHideMenu() {\r\n      this.isShowAside = !this.isShowAside\r\n    },\r\n    loadData(param, cb) {\r\n      let query = []\r\n      let search = {\r\n        alias: this.searchForm.alias,\r\n        name: this.searchForm.name,\r\n      }\r\n      for (let i in search) {\r\n        if (search[i]) {\r\n          query.push({\r\n            group: 'advance',\r\n            operation: 'LIKE',\r\n            property: i,\r\n            relation: 'AND',\r\n            value: search[i],\r\n          })\r\n        }\r\n      }\r\n      if (param.querys && param.querys.length) {\r\n        param.querys.push(...query)\r\n      } else {\r\n        param.querys = query\r\n      }\r\n\r\n      this.$http\r\n        .post('${xqhk}/bizSiteParamEx/v1/query', param)\r\n        .then(\r\n          (resp) => {\r\n            let response = resp.data\r\n            this.data = response.rows\r\n            this.pageResult = {\r\n              page: response.page,\r\n              pageSize: response.pageSize,\r\n              total: response.total,\r\n            }\r\n          },\r\n          (error) => {\r\n            reject(error)\r\n          }\r\n        )\r\n        .finally(() => {\r\n          if (cb) {\r\n            cb()\r\n          }\r\n        })\r\n    },\r\n    handleSelect(selection) {\r\n      this.placeList = [...selection, ...this.placeList]\r\n      this.place = this.placeList.map((item) => item.name).join(',')\r\n    },\r\n    handleRowClick(data) {\r\n      this.selectedId = data.id\r\n      this.$refs.AtTable.toggleRowSelection(data)\r\n      let rows = this.$refs.AtTable.getSelection()\r\n      if (!this.single) {\r\n        this.placeList = [...rows, ...this.placeList]\r\n        this.place = this.placeList.map((item) => item.name).join(',')\r\n      } else {\r\n        this.placeList = [rows[rows.length-1]] || []\r\n        this.place = this.placeList[0].name\r\n      }\r\n    },\r\n    changeRadio(val) {\r\n      this.selectedId = val\r\n      let data = this.data.filter((item) => item.id == val)\r\n      this.place = data[0].name\r\n      this.placeList = data\r\n    },\r\n    handleTagClose(id) {\r\n      this.placeList = this.placeList.filter((item) => item.id != id)\r\n      this.place = this.placeList.map((item) => item.name).join(',')\r\n      this.$emit('closeTag', this.placeList)\r\n    },\r\n    //查询\r\n    handleSearch() {\r\n      this.pageResult = {\r\n        page: 1,\r\n        pageSize: 20,\r\n        total: 0,\r\n      }\r\n      this.$nextTick(() => {\r\n        this.$refs.AtTable.load()\r\n      })\r\n    },\r\n    handleReset() {\r\n      this.searchForm = {\r\n        name: '',\r\n        uri: '',\r\n      }\r\n      this.$refs['searchForm'].resetFields()\r\n      this.pageResult = {\r\n        page: 1,\r\n        pageSize: 20,\r\n        total: 0,\r\n      }\r\n      this.$nextTick(() => {\r\n        this.$refs.AtTable.load()\r\n      })\r\n    },\r\n    // 防抖(在单位时间内时间再次触发则重新计时)\r\n    debounce(func,wait) {\r\n      let timer = null\r\n      return function(...args) {\r\n        if(timer) clearTimeout(timer)\r\n        timer = setTimeout(() => {\r\n            func.apply(this,args)\r\n        }, wait)\r\n      }\r\n    },\r\n    // 节流(单位时间内不管时间触发多少次，只有一次生效)\r\n    throttle(func, wait){\r\n      let last = 0\r\n      return function(...args) {\r\n        const now = new Date()\r\n        if(now - last > wait) {\r\n          func.apply(this,args)\r\n          last = now\r\n        }\r\n      }\r\n    }\r\n  },\r\n}\r\n",null]}