🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

virtual-tree-select

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

virtual-tree-select - npm Package Compare versions

Package was removed
Sorry, it seems this package was removed from the registry
Comparing version
1.0.5
to
1.0.6
+115
-72
dist/index.esm.js
var name = "virtual-tree-select";
var description = "虚拟下拉树选择框";
var version = "1.0.4";
var version = "1.0.5";
var author = "xyl <786549791@qq.com>";

@@ -222,9 +222,10 @@ var license = "MIT";

*/
function treeToListDFS(tree, defaultExpandAll) {
var nodeKey = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "id";
var nodeLable = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "lable";
var childrenKey = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : "children";
var initialLevel = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;
function treeToListDFS(tree, defaultExpandAll, defaultExpandedKeys) {
var nodeKey = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "id";
var nodeLable = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : "lable";
var childrenKey = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : "children";
var initialLevel = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : 0;
var result = [];
var _defaultExpandedKeys = new Set(defaultExpandedKeys);
var levelSet = new Set();
/**

@@ -239,5 +240,13 @@ * 递归遍历节点

// 创建包含扩展属性的节点对象(不修改原对象)
var collapse = true;
// 全部展开
if (defaultExpandAll) {
collapse = false;
} else if (_defaultExpandedKeys.has(node[nodeKey])) {
collapse = false;
levelSet.add(currentLevel + 1); // 下一级展示出来
}
var nodeWithLevel = Object.seal(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({
data: node
}, nodeKey, node[nodeKey]), nodeLable, node[nodeLable]), "level", currentLevel), "collapse", !defaultExpandAll), "isIndeterminate", false), "checked", false), "hide", currentLevel != 0 ? !defaultExpandAll : false), "children", !!(node[childrenKey] && node[childrenKey].length)), "idx", result.length), "fatherId", pNodeId));
}, nodeKey, node[nodeKey]), nodeLable, node[nodeLable]), "level", currentLevel), "collapse", collapse), "isIndeterminate", false), "checked", false), "hide", currentLevel != 0 ? collapse ? !levelSet.has(currentLevel) : false : false), "children", !!(node[childrenKey] && node[childrenKey].length)), "idx", result.length), "fatherId", pNodeId));
// 将节点存入全局映射表,便于后续快速查找父级关系

@@ -338,2 +347,8 @@ treeMap[node[nodeKey]] = nodeWithLevel;

},
defaultExpandedKeys: {
type: Array,
default: function _default() {
return [];
}
},
remoteSearch: {

@@ -360,3 +375,3 @@ type: Boolean,

var arr = this.listData.filter(function (item) {
return _this.ids[item[_this.nodeKey]];
return _this.ids[item[_this.nodeKey]] && !item.hide;
});

@@ -412,2 +427,3 @@ return arr;

var checkArr = new Set(vals);
var cs = false;
for (var index = 0; index < this.listData.length; index++) {

@@ -417,7 +433,20 @@ var item = this.listData[index];

if (checkArr.has(item[this.nodeKey])) {
cs = true;
item.checked = true;
}
}
this._emitChange('CHANGE');
// 如果没有找到 就先不更新
if (cs) {
this._emitChange('CHANGE');
}
},
// 设置节点
setExpandKeys: function setExpandKeys(vals, type) {
for (var i = 0; i < vals.length; i++) {
var item = treeMap[vals[i]];
if (item) {
this._changeStatus(item);
}
}
},
// 清空

@@ -476,2 +505,3 @@ clear: function clear() {

data.checked = true;
this.$emit('emitClick');
}

@@ -700,3 +730,3 @@ this._emitChange(type);

var arr = this.listData.filter(function (item) {
return item[_this4.props.label].indexOf(_this4.searchText) > -1;
return item[_this4.props.label] && item[_this4.props.label].indexOf(_this4.searchText) > -1;
});

@@ -735,3 +765,3 @@ var that = this;

if (v && v.length) {
this.listData = treeToListDFS(v, this.defaultExpandAll, this.nodeKey, this.props.label);
this.listData = treeToListDFS(v, this.defaultExpandAll, this.defaultExpandedKeys, this.nodeKey, this.props.label);
// 设置默认选中

@@ -890,7 +920,7 @@ this.setSelectedId();

if (!inject) return
inject("data-v-50544520_0", { source: ".list[data-v-50544520]{overflow:auto;flex:1;position:relative;height:100%}.list ul[data-v-50544520]{list-style:none;user-select:none;position:absolute;left:0;top:0;right:0}.list ul li[data-v-50544520]{line-height:30px;white-space:nowrap;display:flex;align-items:center;font-size:16px;height:30px;cursor:pointer}.list ul li.active-li[data-v-50544520]{background:#d7e5f9;color:#165ac6}.list ul li i[data-v-50544520]{display:inline-block;width:14px;color:#a9c4df;margin-right:5px;margin-top:2px}.list ul li i.el-icon-caret-bottom[data-v-50544520]{cursor:pointer}.list ul li i.hide[data-v-50544520]{transform-origin:50% 50%;transform:rotate(-90deg)}.list .no-data[data-v-50544520]{text-align:center;line-height:50px;color:#999}", map: undefined, media: undefined });
inject("data-v-7d91dfbc_0", { source: ".list[data-v-7d91dfbc]{overflow:auto;flex:1;position:relative;height:100%}.list ul[data-v-7d91dfbc]{list-style:none;user-select:none;position:absolute;left:0;top:0;right:0}.list ul li[data-v-7d91dfbc]{line-height:30px;white-space:nowrap;display:flex;align-items:center;font-size:16px;height:30px;cursor:pointer}.list ul li.active-li[data-v-7d91dfbc]{background:#d7e5f9;color:#165ac6}.list ul li i[data-v-7d91dfbc]{display:inline-block;width:14px;color:#a9c4df;margin-right:5px;margin-top:2px}.list ul li i.el-icon-caret-bottom[data-v-7d91dfbc]{cursor:pointer}.list ul li i.hide[data-v-7d91dfbc]{transform-origin:50% 50%;transform:rotate(-90deg)}.list .no-data[data-v-7d91dfbc]{text-align:center;line-height:50px;color:#999}", map: undefined, media: undefined });
};
/* scoped */
const __vue_scope_id__$2 = "data-v-50544520";
const __vue_scope_id__$2 = "data-v-7d91dfbc";
/* module identifier */

@@ -963,2 +993,3 @@ const __vue_module_identifier__$2 = undefined;

document.addEventListener("click", this.handleClickOutside);
this.virtualTree = this.$refs.virtualTree;
},

@@ -1025,8 +1056,8 @@ destroyed: function destroyed() {

if (!inject) return
inject("data-v-091fb738_0", { source: ".virtualSelect[data-v-091fb738]{background:#fff;height:34px;line-height:34px;border-radius:3px;padding:0 10px;outline:0;border:1px solid #a9c4df;cursor:pointer;user-select:none}.virtualSelect .xz[data-v-091fb738]{display:flex;outline:0}.virtualSelect .xz>span[data-v-091fb738]{flex:1;overflow:hidden;color:#879bc1}.virtualSelect .xz>span.single[data-v-091fb738]{color:#4f5e7b}.virtualSelect .xz .el-tag[data-v-091fb738]{line-height:22px;height:24px;font-size:16px;color:#4084f0;background-color:#d7e5f9;margin-top:3px;border:1px solid #a9c4df}.virtualSelect .xz i[data-v-091fb738]{width:20px;line-height:34px}.virtualSelect .xz i.el-icon-circle-close[data-v-091fb738]{display:none}.virtualSelect .xz:hover i.el-icon-circle-close[data-v-091fb738]{display:block}", map: undefined, media: undefined })
,inject("data-v-091fb738_1", { source: ".list-popover{min-height:100px;max-height:400px;min-width:150px;display:flex;flex-direction:column;position:relative}.list-popover .list{overflow:auto;flex:1;position:relative}.list-popover .btn{height:36px;line-height:36px;display:flex;background:#fff}.list-popover .btn .search{padding:0 10px;font-size:14px}.list-popover .btn .search input{height:30px;line-height:28px;border:0;border-bottom:1px solid #a9c4df;outline:0}.list-popover .btn .an{position:relative;top:-1px}.list-popover .btn .an .el-button{background:#ebf4fe!important;border:1px solid #a9c4df!important;color:#5e7bad!important;font-size:14px;height:30px;line-height:28px;padding:0 10px!important}.list-popover ul{list-style:none;user-select:none;position:absolute;left:0;top:0;right:0}.list-popover ul li{line-height:30px;white-space:nowrap;display:flex;align-items:center;font-size:16px;height:30px;cursor:pointer}.list-popover ul li.active-li{background:#d7e5f9;color:#165ac6}.list-popover ul li .el-checkbox{display:flex;overflow:hidden;align-items:center;flex:1}.list-popover ul li .el-checkbox .el-checkbox__input{position:relative;top:1px;margin:0}.list-popover ul li .el-checkbox .el-checkbox__label{text-overflow:ellipsis;overflow:hidden;line-height:16px!important}.list-popover ul li i{display:inline-block;width:14px;color:#a9c4df;margin-right:5px;margin-top:2px}.list-popover ul li i.el-icon-caret-bottom{cursor:pointer}.list-popover ul li i.hide{transform-origin:50% 50%;transform:rotate(-90deg)}.list-popover ul .el-checkbox .el-checkbox__label{text-indent:0;font-size:16px;color:#606266}.list-popover ul .el-checkbox__input.is-checked+.el-checkbox__label{color:#606266}.treeSelect_v_popover[x-placement^=bottom]{margin-top:4px;margin-left:-10px;padding:5px 5px 5px 10px}.treeSelect_v_popover[x-placement^=bottom] .popper__arrow{display:none}.treeSelect_v_popover[x-placement^=bottom] p{text-align:center;color:#b1b8c5;padding-top:20px}", map: undefined, media: undefined });
inject("data-v-f56841a6_0", { source: ".virtualSelect[data-v-f56841a6]{background:#fff;height:34px;line-height:34px;border-radius:3px;padding:0 10px;outline:0;border:1px solid #a9c4df;cursor:pointer;user-select:none}.virtualSelect .xz[data-v-f56841a6]{display:flex;outline:0}.virtualSelect .xz>span[data-v-f56841a6]{flex:1;overflow:hidden;color:#879bc1}.virtualSelect .xz>span.single[data-v-f56841a6]{color:#4f5e7b}.virtualSelect .xz .el-tag[data-v-f56841a6]{line-height:22px;height:24px;font-size:16px;color:#4084f0;background-color:#d7e5f9;margin-top:3px;border:1px solid #a9c4df}.virtualSelect .xz i[data-v-f56841a6]{width:20px;line-height:34px}.virtualSelect .xz i.el-icon-circle-close[data-v-f56841a6]{display:none}.virtualSelect .xz:hover i.el-icon-circle-close[data-v-f56841a6]{display:block}", map: undefined, media: undefined })
,inject("data-v-f56841a6_1", { source: ".list-popover{min-height:100px;max-height:400px;min-width:150px;display:flex;flex-direction:column;position:relative}.list-popover .list{overflow:auto;flex:1;position:relative}.list-popover .btn{height:36px;line-height:36px;display:flex;background:#fff}.list-popover .btn .search{padding:0 10px;font-size:14px}.list-popover .btn .search input{height:30px;line-height:28px;border:0;border-bottom:1px solid #a9c4df;outline:0}.list-popover .btn .an{position:relative;top:-1px}.list-popover .btn .an .el-button{background:#ebf4fe!important;border:1px solid #a9c4df!important;color:#5e7bad!important;font-size:14px;height:30px;line-height:28px;padding:0 10px!important}.list-popover ul{list-style:none;user-select:none;position:absolute;left:0;top:0;right:0}.list-popover ul li{line-height:30px;white-space:nowrap;display:flex;align-items:center;font-size:16px;height:30px;cursor:pointer}.list-popover ul li.active-li{background:#d7e5f9;color:#165ac6}.list-popover ul li .el-checkbox{display:flex;overflow:hidden;align-items:center;flex:1}.list-popover ul li .el-checkbox .el-checkbox__input{position:relative;top:1px;margin:0}.list-popover ul li .el-checkbox .el-checkbox__label{text-overflow:ellipsis;overflow:hidden;line-height:16px!important}.list-popover ul li i{display:inline-block;width:14px;color:#a9c4df;margin-right:5px;margin-top:2px}.list-popover ul li i.el-icon-caret-bottom{cursor:pointer}.list-popover ul li i.hide{transform-origin:50% 50%;transform:rotate(-90deg)}.list-popover ul .el-checkbox .el-checkbox__label{text-indent:0;font-size:16px;color:#606266}.list-popover ul .el-checkbox__input.is-checked+.el-checkbox__label{color:#606266}.treeSelect_v_popover[x-placement^=bottom]{margin-top:4px;margin-left:-10px;padding:5px 5px 5px 10px}.treeSelect_v_popover[x-placement^=bottom] .popper__arrow{display:none}.treeSelect_v_popover[x-placement^=bottom] p{text-align:center;color:#b1b8c5;padding-top:20px}", map: undefined, media: undefined });
};
/* scoped */
const __vue_scope_id__$1 = "data-v-091fb738";
const __vue_scope_id__$1 = "data-v-f56841a6";
/* module identifier */

@@ -1061,12 +1092,12 @@ const __vue_module_identifier__$1 = undefined;

"dm": "110000",
"mc": "北京"
"mc": "北京市"
}, {
"dm": "120000",
"mc": "天津"
"mc": "天津市"
}, {
"dm": "130000",
"mc": "河北"
"mc": "河北省"
}, {
"dm": "140000",
"mc": "山西"
"mc": "山西省"
}, {

@@ -1077,42 +1108,42 @@ "dm": "150000",

"dm": "210000",
"mc": "辽宁"
"mc": "辽宁省"
}, {
"dm": "220000",
"mc": "吉林"
"mc": "吉林省"
}, {
"dm": "230000",
"mc": "黑龙江"
"mc": "黑龙江省"
}, {
"dm": "310000",
"mc": "上海"
"mc": "上海市"
}, {
"dm": "320000",
"mc": "江苏"
"mc": "江苏省"
}, {
"dm": "330000",
"mc": "浙江"
"mc": "浙江省"
}, {
"dm": "340000",
"mc": "安徽"
"mc": "安徽省"
}, {
"dm": "350000",
"mc": "福建"
"mc": "福建省"
}, {
"dm": "360000",
"mc": "江西"
"mc": "江西省"
}, {
"dm": "370000",
"mc": "山东"
"mc": "山东省"
}, {
"dm": "410000",
"mc": "河南"
"mc": "河南省"
}, {
"dm": "420000",
"mc": "湖北"
"mc": "湖北省"
}, {
"dm": "430000",
"mc": "湖南"
"mc": "湖南省"
}, {
"dm": "440000",
"mc": "广东"
"mc": "广东省"
}, {

@@ -1123,15 +1154,15 @@ "dm": "450000",

"dm": "460000",
"mc": "海南"
"mc": "海南省"
}, {
"dm": "500000",
"mc": "重庆"
"mc": "重庆市"
}, {
"dm": "510000",
"mc": "四川"
"mc": "四川省"
}, {
"dm": "520000",
"mc": "贵州"
"mc": "贵州省"
}, {
"dm": "530000",
"mc": "云南"
"mc": "云南省"
}, {

@@ -1142,9 +1173,9 @@ "dm": "540000",

"dm": "610000",
"mc": "陕西"
"mc": "陕西省"
}, {
"dm": "620000",
"mc": "甘肃"
"mc": "甘肃省"
}, {
"dm": "630000",
"mc": "青海"
"mc": "青海省"
}, {

@@ -1181,3 +1212,3 @@ "dm": "640000",

// 搜索关键字
popoverWidth: 150,
popoverWidth: 490,
// 弹出层宽度

@@ -1238,6 +1269,9 @@ isShowSelect: false // 是否显示下拉框

// 设置默认选中的省份代码
this.selectDwbm = this.dwbm.substring(0, 2) + '0000';
this.selectDwbm = this.unitDwbm;
},
// 计算属性
computed: {
unitDwbm: function unitDwbm() {
return this.dwbm.substring(0, 2) + '0000';
},
// 获取省份列表数据

@@ -1248,3 +1282,3 @@ provinces: function provinces() {

var arr = provinceArr.filter(function (item) {
if (item.dm !== _this.dwbm + '0000') {
if (item.dm !== _this.unitDwbm) {
return true;

@@ -1256,3 +1290,3 @@ } else {

arr.unshift({
dm: this.dwbm,
dm: this.unitDwbm,
mc: obj.mc || '本省'

@@ -1278,7 +1312,8 @@ });

// 设置弹出层宽度(比触发区域宽10px)
var minWidth = this.$refs.xz_content.clientWidth + 10;
this.popoverWidth = minWidth > 370 ? minWidth : 370;
var minWidth = this.$refs.xz_content.clientWidth;
this.popoverWidth = minWidth > 490 ? minWidth : 490 + 10;
this.virtualTree = this.$refs.virtualTree;
// 添加全局点击事件监听,用于点击外部关闭下拉框
document.addEventListener("click", this.handleClickOutside);
this._initSelectIds();
},

@@ -1339,3 +1374,2 @@ // 组件销毁前的生命周期钩子

var objMap = {};
// 按省份代码分组(取节点ID前两位+0000作为省份标识)

@@ -1352,2 +1386,3 @@ v.forEach(function (item) {

this._initSelectIds();
this._emitFn();
},

@@ -1434,3 +1469,2 @@ /**

this.selectedMap = {};
this.isShowSelect = false;
}

@@ -1441,2 +1475,26 @@ // 将虚拟树组件的选中数组更新到当前省份的映射中 //加载中的时候 不设置

}
},
// emit 事件
_emitFn: function _emitFn() {
var _this4 = this;
if (!this.$attrs['multiple']) {
if (this.selectedArr[0]) {
this.$emit("changeModel", this.selectedArr.map(function (item) {
return item[_this4.$attrs['node-key']];
})[0]);
this.$emit("change", this.selectedArr[0][this.$attrs['node-key']], this.selectedArr[0].data || this.selectedArr[0]);
} else {
this.$emit("changeModel", null);
this.$emit("change", '', null);
}
} else {
this.$emit("changeModel", this.selectedArr.map(function (item) {
return item[_this4.$attrs['node-key']];
}));
this.$emit("change", this.selectedArr.map(function (item) {
return item[_this4.$attrs['node-key']];
}), this.selectedArr.map(function (item) {
return item.data;
}));
}
}

@@ -1459,19 +1517,4 @@ },

selectedArr: function selectedArr(v, old) {
var _this4 = this;
// 向外触发changeModel事件,传递所有选中节点的ID数组
if (!this.$attrs['multiple']) {
this.$emit("changeModel", this.selectedArr.map(function (item) {
return item[_this4.$attrs['node-key']];
})[0]);
this.$emit("change", this.selectedArr[0][this.$attrs['node-key']], this.selectedArr[0].data);
} else {
this.$emit("changeModel", this.selectedArr.map(function (item) {
return item[_this4.$attrs['node-key']];
}));
this.$emit("change", this.selectedArr.map(function (item) {
return item[_this4.$attrs['node-key']];
}), this.selectedArr.map(function (item) {
return item.data;
}));
}
this._emitFn();
}

@@ -1485,3 +1528,3 @@ }

/* template */
var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"virtualSelect",attrs:{"role":"button","tabindex":"0","aria-label":"请选择"}},[_c('el-popover',{attrs:{"popper-class":"treeSelect_v_popover","placement":"bottom-start","width":_vm.popoverWidth,"trigger":"manual"},model:{value:(_vm.isShowSelect),callback:function ($$v) {_vm.isShowSelect=$$v;},expression:"isShowSelect"}},[_c('div',{ref:"xz_content",staticClass:"xz",attrs:{"slot":"reference"},on:{"click":_vm.toggleSelect},slot:"reference"},[(_vm.$attrs.multiple && _vm.selectedArr.length)?_c('span',[_c('el-tag',{attrs:{"closable":"","title":_vm.selectedArr.map(function (item) { return item[_vm.$attrs.props.label]; }).join(';')},on:{"close":function($event){return _vm.closeTag(0)}}},[_vm._v(_vm._s(_vm.selectedArr[0][_vm.$attrs.props.label].substr(0, 4))+"\n "+_vm._s(_vm.selectedArr[0][_vm.$attrs.props.label].length > 4 ? "..." : ""))]),_vm._v(" "),_c('el-tag',{directives:[{name:"show",rawName:"v-show",value:(_vm.selectedArr.length > 1),expression:"selectedArr.length > 1"}]},[_vm._v("+"+_vm._s(_vm.selectedArr.length - 1))])],1):(_vm.selectedArr.length)?_c('span',{staticClass:"single",attrs:{"title":_vm.selectedArr[0][_vm.$attrs.props.label]}},[_vm._v(_vm._s(_vm.selectedArr[0][_vm.$attrs.props.label]))]):_c('span',[_vm._v("请选择")]),_vm._v(" "),(_vm.$attrs.multiple && _vm.selectedArr.length && _vm.clearable)?_c('i',{staticClass:"el-icon-circle-close",on:{"click":function($event){$event.stopPropagation();return _vm.clear.apply(null, arguments)}}}):_vm._e(),_vm._v(" "),_c('i',{staticClass:"el-icon-arrow-down"}),_vm._v(" "),_c('el-input',{staticClass:"search",staticStyle:{"display":"none"},attrs:{"size":"small","value":_vm.selectedArr[0],"placeholder":"请选择"}})],1),_vm._v(" "),_c('div',{directives:[{name:"loading",rawName:"v-loading",value:(_vm.loading),expression:"loading"}],staticClass:"list-popover-ay",style:('min-width: ' + _vm.minWidth + 'px')},[_c('div',{staticClass:"left"},[_c('ul',_vm._l((_vm.provinces),function(item,idx){return _c('li',{key:item.dm,class:{atthis: _vm.selectDwbm == item.dm},attrs:{"title":item.dwqc},on:{"click":function($event){$event.stopPropagation();return _vm.selectProvince(item.dm)}}},[(idx == 0)?_c('i',{staticClass:"el-icon-location-information"}):_vm._e(),_vm._v(" "),_c('span',[_vm._v(_vm._s(item.mc))])])}),0)]),_vm._v(" "),_c('div',{staticClass:"right"},[_c('div',{staticClass:"btn"},[_c('el-input',{staticClass:"search",attrs:{"size":"small","validateEvent":false,"placeholder":"请输入关键字搜索"},model:{value:(_vm.searchText),callback:function ($$v) {_vm.searchText=$$v;},expression:"searchText"}})],1),_vm._v(" "),_c('virtualTree',_vm._b({ref:"virtualTree",attrs:{"data":_vm.gxdwxxList},on:{"change":_vm.selectedIdsTreeChange},model:{value:(_vm.selectedIdsTree),callback:function ($$v) {_vm.selectedIdsTree=$$v;},expression:"selectedIdsTree"}},'virtualTree',_vm.$attrs,false))],1)])])],1)};
var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"virtualSelect",attrs:{"role":"button","tabindex":"0","aria-label":"请选择"}},[_c('el-popover',{attrs:{"popper-class":"treeSelect_v_popover","placement":"bottom-start","width":_vm.popoverWidth,"trigger":"manual"},model:{value:(_vm.isShowSelect),callback:function ($$v) {_vm.isShowSelect=$$v;},expression:"isShowSelect"}},[_c('div',{ref:"xz_content",staticClass:"xz",attrs:{"slot":"reference"},on:{"click":_vm.toggleSelect},slot:"reference"},[(_vm.$attrs.multiple && _vm.selectedArr.length)?_c('span',[_c('el-tag',{attrs:{"closable":"","title":_vm.selectedArr.map(function (item) { return item[_vm.$attrs.props.label]; }).join(';')},on:{"close":function($event){return _vm.closeTag(0)}}},[_vm._v(_vm._s(_vm.selectedArr[0][_vm.$attrs.props.label].substr(0, 4))+"\n "+_vm._s(_vm.selectedArr[0][_vm.$attrs.props.label].length > 4 ? "..." : ""))]),_vm._v(" "),_c('el-tag',{directives:[{name:"show",rawName:"v-show",value:(_vm.selectedArr.length > 1),expression:"selectedArr.length > 1"}]},[_vm._v("+"+_vm._s(_vm.selectedArr.length - 1))])],1):(_vm.selectedArr.length)?_c('span',{staticClass:"single",attrs:{"title":_vm.selectedArr[0][_vm.$attrs.props.label]}},[_vm._v(_vm._s(_vm.selectedArr[0][_vm.$attrs.props.label]))]):_c('span',[_vm._v("请选择")]),_vm._v(" "),(_vm.selectedArr.length && _vm.clearable)?_c('i',{staticClass:"el-icon-circle-close",on:{"click":function($event){$event.stopPropagation();return _vm.clear.apply(null, arguments)}}}):_vm._e(),_vm._v(" "),_c('i',{staticClass:"el-icon-arrow-down"}),_vm._v(" "),_c('el-input',{staticClass:"search",staticStyle:{"display":"none"},attrs:{"size":"small","value":_vm.selectedArr[0] && _vm.selectedArr[0].dm,"placeholder":"请选择"}})],1),_vm._v(" "),_c('div',{directives:[{name:"loading",rawName:"v-loading",value:(_vm.loading),expression:"loading"}],staticClass:"list-popover-ay",style:('min-width: ' + _vm.minWidth + 'px')},[_c('div',{staticClass:"left"},[_c('ul',_vm._l((_vm.provinces),function(item,idx){return _c('li',{key:item.dm,class:{atthis: _vm.selectDwbm == item.dm},attrs:{"title":item.dwqc},on:{"click":function($event){$event.stopPropagation();return _vm.selectProvince(item.dm)}}},[(idx == 0)?_c('i',{staticClass:"el-icon-location-information"}):_vm._e(),_vm._v(" "),_c('span',[_vm._v(_vm._s(item.mc))])])}),0)]),_vm._v(" "),_c('div',{staticClass:"right"},[_c('div',{staticClass:"btn"},[_c('el-input',{staticClass:"search",attrs:{"size":"small","validateEvent":false,"placeholder":"请输入关键字搜索"},model:{value:(_vm.searchText),callback:function ($$v) {_vm.searchText=$$v;},expression:"searchText"}})],1),_vm._v(" "),_c('virtualTree',_vm._b({ref:"virtualTree",attrs:{"data":_vm.gxdwxxList},on:{"change":_vm.selectedIdsTreeChange,"emitClick":function($event){_vm.isShowSelect = false;}},model:{value:(_vm.selectedIdsTree),callback:function ($$v) {_vm.selectedIdsTree=$$v;},expression:"selectedIdsTree"}},'virtualTree',_vm.$attrs,false))],1)])])],1)};
var __vue_staticRenderFns__ = [];

@@ -1492,8 +1535,8 @@

if (!inject) return
inject("data-v-24248b80_0", { source: "@charset \"UTF-8\";.virtualSelect[data-v-24248b80]{border:1px solid #a9c4df;background:#fff;height:34px;line-height:34px;border-radius:3px;padding:0 5px 0 10px;outline:0;cursor:pointer;user-select:none}.virtualSelect .xz[data-v-24248b80]{display:flex;outline:0}.virtualSelect .xz>span[data-v-24248b80]{flex:1;overflow:hidden;color:#879bc1;text-overflow:ellipsis;white-space:nowrap}.virtualSelect .xz>span.single[data-v-24248b80]{color:#4f5e7b}.virtualSelect .xz .el-tag[data-v-24248b80]{line-height:22px;height:24px;font-size:16px;color:#4084f0;margin-top:3px}.virtualSelect .xz i[data-v-24248b80]{width:20px;line-height:34px;color:#6fabef;font-size:14px}.virtualSelect .xz i.el-icon-circle-close[data-v-24248b80]{display:none}.virtualSelect .xz:hover i.el-icon-circle-close[data-v-24248b80]{display:block}", map: undefined, media: undefined })
,inject("data-v-24248b80_1", { source: "@charset \"UTF-8\";.list-popover-ay{min-height:100px;max-height:400px;min-width:490px;display:flex;position:relative}.list-popover-ay .left{width:130px;border-right:1px solid #a9c4df;overflow:auto}.list-popover-ay .left li{line-height:35px;font-size:16px;padding:0 10px;display:flex;cursor:pointer}.list-popover-ay .left li:first-child{position:relative}.list-popover-ay .left li:first-child::after{display:block;content:\"\";border-bottom:1px solid #a9c4df;position:absolute;left:10px;right:10px;bottom:0}.list-popover-ay .left li:first-child span{padding-left:0}.list-popover-ay .left li.atthis{background:#b3d8ff;color:#4084f0;font-weight:700}.list-popover-ay .left li i{align-content:center;padding-right:5px;line-height:35px}.list-popover-ay .left li span{padding-left:20px;display:block;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-popover-ay .right{flex:1;display:flex;flex-direction:column}.list-popover-ay .list{overflow:auto;position:relative;flex:1}.list-popover-ay .btn{height:36px;line-height:36px;display:flex;background:#fff}.list-popover-ay .btn .search{padding:0 5px;font-size:14px}.list-popover-ay .btn .search .el-input__inner{border:0;border-bottom:1px solid #a9c4df;border-radius:0}.list-popover-ay .btn .an{position:relative;top:-1px}.list-popover-ay .right ul{list-style:none;user-select:none;position:absolute;left:0;top:0;right:0}.list-popover-ay .right ul li{line-height:30px;white-space:nowrap;display:flex;align-items:center;font-size:16px;height:30px;cursor:pointer}.list-popover-ay .right ul li.active-li{background:#d7e5f9;color:#165ac6}.list-popover-ay .right ul li .el-checkbox{display:flex;overflow:hidden;align-items:center;flex:1}.list-popover-ay .right ul li .el-checkbox .el-checkbox__input{position:relative;top:1px;margin:0}.list-popover-ay .right ul li .el-checkbox .el-checkbox__label{text-overflow:ellipsis;overflow:hidden;line-height:16px!important}.list-popover-ay .right ul li i{display:inline-block;width:14px;color:#a9c4df;margin-right:5px;margin-top:2px;font-size:14px}.list-popover-ay .right ul li i.el-icon-caret-bottom{cursor:pointer}.list-popover-ay .right ul li i.hide{transform-origin:50% 50%;transform:rotate(-90deg)}.list-popover-ay .right ul .el-checkbox .el-checkbox__label{text-indent:0;font-size:16px;color:#606266}.list-popover-ay .right ul .el-checkbox__input.is-checked+.el-checkbox__label{color:#606266}.treeSelect_v_popover[x-placement^=bottom]{margin-top:4px;margin-left:-10px;padding:0}.treeSelect_v_popover[x-placement^=bottom] .popper__arrow{display:none}.treeSelect_v_popover[x-placement^=bottom] p{text-align:center;color:#b1b8c5;padding-top:20px}", map: undefined, media: undefined });
inject("data-v-4c6d7602_0", { source: "@charset \"UTF-8\";.virtualSelect[data-v-4c6d7602]{border:1px solid #a9c4df;height:34px;line-height:34px;border-radius:3px;padding:0 5px 0 10px;outline:0;cursor:pointer;user-select:none}.virtualSelect .xz[data-v-4c6d7602]{display:flex;outline:0}.virtualSelect .xz>span[data-v-4c6d7602]{flex:1;overflow:hidden;color:#879bc1;text-overflow:ellipsis;white-space:nowrap}.virtualSelect .xz>span.single[data-v-4c6d7602]{color:#4f5e7b}.virtualSelect .xz .el-tag[data-v-4c6d7602]{line-height:22px;height:24px;font-size:16px;color:#4084f0;margin-top:3px}.virtualSelect .xz i[data-v-4c6d7602]{width:20px;line-height:34px;color:#6fabef;font-size:14px}.virtualSelect .xz i.el-icon-circle-close[data-v-4c6d7602]{display:none}.virtualSelect .xz:hover i.el-icon-circle-close[data-v-4c6d7602]{display:block}", map: undefined, media: undefined })
,inject("data-v-4c6d7602_1", { source: "@charset \"UTF-8\";.list-popover-ay{min-height:100px;max-height:400px;min-width:490px;display:flex;position:relative}.list-popover-ay .left{width:123px;border-right:1px solid #a9c4df;overflow:auto}.list-popover-ay .left li{line-height:35px;font-size:16px;padding:0 10px;display:flex;cursor:pointer}.list-popover-ay .left li:first-child{position:relative}.list-popover-ay .left li:first-child::after{display:block;content:\"\";border-bottom:1px solid #a9c4df;position:absolute;left:10px;right:10px;bottom:0}.list-popover-ay .left li:first-child span{padding-left:0}.list-popover-ay .left li.atthis{background:#b3d8ff;color:#4084f0;font-weight:700}.list-popover-ay .left li i{align-content:center;padding-right:5px;line-height:35px}.list-popover-ay .left li span{padding-left:20px;display:block;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-popover-ay .right{flex:1;display:flex;flex-direction:column}.list-popover-ay .list{overflow:auto;position:relative;flex:1}.list-popover-ay .btn{height:36px;line-height:36px;display:flex;background:#fff}.list-popover-ay .btn .search{padding:0 5px;font-size:14px}.list-popover-ay .btn .search .el-input__inner{border:0;border-bottom:1px solid #a9c4df;border-radius:0}.list-popover-ay .btn .an{position:relative;top:-1px}.list-popover-ay .right ul{list-style:none;user-select:none;position:absolute;left:0;top:0;right:0}.list-popover-ay .right ul li{line-height:30px;white-space:nowrap;display:flex;align-items:center;font-size:16px;height:30px;cursor:pointer}.list-popover-ay .right ul li.active-li{background:#d7e5f9;color:#165ac6}.list-popover-ay .right ul li .el-checkbox{display:flex;overflow:hidden;align-items:center;flex:1}.list-popover-ay .right ul li .el-checkbox .el-checkbox__input{position:relative;top:1px;margin:0}.list-popover-ay .right ul li .el-checkbox .el-checkbox__label{text-overflow:ellipsis;overflow:hidden;line-height:16px!important}.list-popover-ay .right ul li i{display:inline-block;width:14px;color:#a9c4df;margin-right:5px;margin-top:2px;font-size:14px}.list-popover-ay .right ul li i.el-icon-caret-bottom{cursor:pointer}.list-popover-ay .right ul li i.hide{transform-origin:50% 50%;transform:rotate(-90deg)}.list-popover-ay .right ul .el-checkbox .el-checkbox__label{text-indent:0;font-size:16px;color:#606266}.list-popover-ay .right ul .el-checkbox__input.is-checked+.el-checkbox__label{color:#606266}.treeSelect_v_popover[x-placement^=bottom]{margin-top:4px;margin-left:-10px;padding:0}.treeSelect_v_popover[x-placement^=bottom] .popper__arrow{display:none}.treeSelect_v_popover[x-placement^=bottom] p{text-align:center;color:#b1b8c5;padding-top:20px}", map: undefined, media: undefined });
};
/* scoped */
const __vue_scope_id__ = "data-v-24248b80";
const __vue_scope_id__ = "data-v-4c6d7602";
/* module identifier */

@@ -1500,0 +1543,0 @@ const __vue_module_identifier__ = undefined;

@@ -9,3 +9,3 @@ (function (global, factory) {

var description = "虚拟下拉树选择框";
var version = "1.0.4";
var version = "1.0.5";
var author = "xyl <786549791@qq.com>";

@@ -229,9 +229,10 @@ var license = "MIT";

*/
function treeToListDFS(tree, defaultExpandAll) {
var nodeKey = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "id";
var nodeLable = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "lable";
var childrenKey = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : "children";
var initialLevel = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;
function treeToListDFS(tree, defaultExpandAll, defaultExpandedKeys) {
var nodeKey = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "id";
var nodeLable = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : "lable";
var childrenKey = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : "children";
var initialLevel = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : 0;
var result = [];
var _defaultExpandedKeys = new Set(defaultExpandedKeys);
var levelSet = new Set();
/**

@@ -246,5 +247,13 @@ * 递归遍历节点

// 创建包含扩展属性的节点对象(不修改原对象)
var collapse = true;
// 全部展开
if (defaultExpandAll) {
collapse = false;
} else if (_defaultExpandedKeys.has(node[nodeKey])) {
collapse = false;
levelSet.add(currentLevel + 1); // 下一级展示出来
}
var nodeWithLevel = Object.seal(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({
data: node
}, nodeKey, node[nodeKey]), nodeLable, node[nodeLable]), "level", currentLevel), "collapse", !defaultExpandAll), "isIndeterminate", false), "checked", false), "hide", currentLevel != 0 ? !defaultExpandAll : false), "children", !!(node[childrenKey] && node[childrenKey].length)), "idx", result.length), "fatherId", pNodeId));
}, nodeKey, node[nodeKey]), nodeLable, node[nodeLable]), "level", currentLevel), "collapse", collapse), "isIndeterminate", false), "checked", false), "hide", currentLevel != 0 ? collapse ? !levelSet.has(currentLevel) : false : false), "children", !!(node[childrenKey] && node[childrenKey].length)), "idx", result.length), "fatherId", pNodeId));
// 将节点存入全局映射表,便于后续快速查找父级关系

@@ -345,2 +354,8 @@ treeMap[node[nodeKey]] = nodeWithLevel;

},
defaultExpandedKeys: {
type: Array,
default: function _default() {
return [];
}
},
remoteSearch: {

@@ -367,3 +382,3 @@ type: Boolean,

var arr = this.listData.filter(function (item) {
return _this.ids[item[_this.nodeKey]];
return _this.ids[item[_this.nodeKey]] && !item.hide;
});

@@ -419,2 +434,3 @@ return arr;

var checkArr = new Set(vals);
var cs = false;
for (var index = 0; index < this.listData.length; index++) {

@@ -424,7 +440,20 @@ var item = this.listData[index];

if (checkArr.has(item[this.nodeKey])) {
cs = true;
item.checked = true;
}
}
this._emitChange('CHANGE');
// 如果没有找到 就先不更新
if (cs) {
this._emitChange('CHANGE');
}
},
// 设置节点
setExpandKeys: function setExpandKeys(vals, type) {
for (var i = 0; i < vals.length; i++) {
var item = treeMap[vals[i]];
if (item) {
this._changeStatus(item);
}
}
},
// 清空

@@ -483,2 +512,3 @@ clear: function clear() {

data.checked = true;
this.$emit('emitClick');
}

@@ -707,3 +737,3 @@ this._emitChange(type);

var arr = this.listData.filter(function (item) {
return item[_this4.props.label].indexOf(_this4.searchText) > -1;
return item[_this4.props.label] && item[_this4.props.label].indexOf(_this4.searchText) > -1;
});

@@ -742,3 +772,3 @@ var that = this;

if (v && v.length) {
this.listData = treeToListDFS(v, this.defaultExpandAll, this.nodeKey, this.props.label);
this.listData = treeToListDFS(v, this.defaultExpandAll, this.defaultExpandedKeys, this.nodeKey, this.props.label);
// 设置默认选中

@@ -897,7 +927,7 @@ this.setSelectedId();

if (!inject) return
inject("data-v-50544520_0", { source: ".list[data-v-50544520]{overflow:auto;flex:1;position:relative;height:100%}.list ul[data-v-50544520]{list-style:none;user-select:none;position:absolute;left:0;top:0;right:0}.list ul li[data-v-50544520]{line-height:30px;white-space:nowrap;display:flex;align-items:center;font-size:16px;height:30px;cursor:pointer}.list ul li.active-li[data-v-50544520]{background:#d7e5f9;color:#165ac6}.list ul li i[data-v-50544520]{display:inline-block;width:14px;color:#a9c4df;margin-right:5px;margin-top:2px}.list ul li i.el-icon-caret-bottom[data-v-50544520]{cursor:pointer}.list ul li i.hide[data-v-50544520]{transform-origin:50% 50%;transform:rotate(-90deg)}.list .no-data[data-v-50544520]{text-align:center;line-height:50px;color:#999}", map: undefined, media: undefined });
inject("data-v-7d91dfbc_0", { source: ".list[data-v-7d91dfbc]{overflow:auto;flex:1;position:relative;height:100%}.list ul[data-v-7d91dfbc]{list-style:none;user-select:none;position:absolute;left:0;top:0;right:0}.list ul li[data-v-7d91dfbc]{line-height:30px;white-space:nowrap;display:flex;align-items:center;font-size:16px;height:30px;cursor:pointer}.list ul li.active-li[data-v-7d91dfbc]{background:#d7e5f9;color:#165ac6}.list ul li i[data-v-7d91dfbc]{display:inline-block;width:14px;color:#a9c4df;margin-right:5px;margin-top:2px}.list ul li i.el-icon-caret-bottom[data-v-7d91dfbc]{cursor:pointer}.list ul li i.hide[data-v-7d91dfbc]{transform-origin:50% 50%;transform:rotate(-90deg)}.list .no-data[data-v-7d91dfbc]{text-align:center;line-height:50px;color:#999}", map: undefined, media: undefined });
};
/* scoped */
const __vue_scope_id__$2 = "data-v-50544520";
const __vue_scope_id__$2 = "data-v-7d91dfbc";
/* module identifier */

@@ -970,2 +1000,3 @@ const __vue_module_identifier__$2 = undefined;

document.addEventListener("click", this.handleClickOutside);
this.virtualTree = this.$refs.virtualTree;
},

@@ -1032,8 +1063,8 @@ destroyed: function destroyed() {

if (!inject) return
inject("data-v-091fb738_0", { source: ".virtualSelect[data-v-091fb738]{background:#fff;height:34px;line-height:34px;border-radius:3px;padding:0 10px;outline:0;border:1px solid #a9c4df;cursor:pointer;user-select:none}.virtualSelect .xz[data-v-091fb738]{display:flex;outline:0}.virtualSelect .xz>span[data-v-091fb738]{flex:1;overflow:hidden;color:#879bc1}.virtualSelect .xz>span.single[data-v-091fb738]{color:#4f5e7b}.virtualSelect .xz .el-tag[data-v-091fb738]{line-height:22px;height:24px;font-size:16px;color:#4084f0;background-color:#d7e5f9;margin-top:3px;border:1px solid #a9c4df}.virtualSelect .xz i[data-v-091fb738]{width:20px;line-height:34px}.virtualSelect .xz i.el-icon-circle-close[data-v-091fb738]{display:none}.virtualSelect .xz:hover i.el-icon-circle-close[data-v-091fb738]{display:block}", map: undefined, media: undefined })
,inject("data-v-091fb738_1", { source: ".list-popover{min-height:100px;max-height:400px;min-width:150px;display:flex;flex-direction:column;position:relative}.list-popover .list{overflow:auto;flex:1;position:relative}.list-popover .btn{height:36px;line-height:36px;display:flex;background:#fff}.list-popover .btn .search{padding:0 10px;font-size:14px}.list-popover .btn .search input{height:30px;line-height:28px;border:0;border-bottom:1px solid #a9c4df;outline:0}.list-popover .btn .an{position:relative;top:-1px}.list-popover .btn .an .el-button{background:#ebf4fe!important;border:1px solid #a9c4df!important;color:#5e7bad!important;font-size:14px;height:30px;line-height:28px;padding:0 10px!important}.list-popover ul{list-style:none;user-select:none;position:absolute;left:0;top:0;right:0}.list-popover ul li{line-height:30px;white-space:nowrap;display:flex;align-items:center;font-size:16px;height:30px;cursor:pointer}.list-popover ul li.active-li{background:#d7e5f9;color:#165ac6}.list-popover ul li .el-checkbox{display:flex;overflow:hidden;align-items:center;flex:1}.list-popover ul li .el-checkbox .el-checkbox__input{position:relative;top:1px;margin:0}.list-popover ul li .el-checkbox .el-checkbox__label{text-overflow:ellipsis;overflow:hidden;line-height:16px!important}.list-popover ul li i{display:inline-block;width:14px;color:#a9c4df;margin-right:5px;margin-top:2px}.list-popover ul li i.el-icon-caret-bottom{cursor:pointer}.list-popover ul li i.hide{transform-origin:50% 50%;transform:rotate(-90deg)}.list-popover ul .el-checkbox .el-checkbox__label{text-indent:0;font-size:16px;color:#606266}.list-popover ul .el-checkbox__input.is-checked+.el-checkbox__label{color:#606266}.treeSelect_v_popover[x-placement^=bottom]{margin-top:4px;margin-left:-10px;padding:5px 5px 5px 10px}.treeSelect_v_popover[x-placement^=bottom] .popper__arrow{display:none}.treeSelect_v_popover[x-placement^=bottom] p{text-align:center;color:#b1b8c5;padding-top:20px}", map: undefined, media: undefined });
inject("data-v-f56841a6_0", { source: ".virtualSelect[data-v-f56841a6]{background:#fff;height:34px;line-height:34px;border-radius:3px;padding:0 10px;outline:0;border:1px solid #a9c4df;cursor:pointer;user-select:none}.virtualSelect .xz[data-v-f56841a6]{display:flex;outline:0}.virtualSelect .xz>span[data-v-f56841a6]{flex:1;overflow:hidden;color:#879bc1}.virtualSelect .xz>span.single[data-v-f56841a6]{color:#4f5e7b}.virtualSelect .xz .el-tag[data-v-f56841a6]{line-height:22px;height:24px;font-size:16px;color:#4084f0;background-color:#d7e5f9;margin-top:3px;border:1px solid #a9c4df}.virtualSelect .xz i[data-v-f56841a6]{width:20px;line-height:34px}.virtualSelect .xz i.el-icon-circle-close[data-v-f56841a6]{display:none}.virtualSelect .xz:hover i.el-icon-circle-close[data-v-f56841a6]{display:block}", map: undefined, media: undefined })
,inject("data-v-f56841a6_1", { source: ".list-popover{min-height:100px;max-height:400px;min-width:150px;display:flex;flex-direction:column;position:relative}.list-popover .list{overflow:auto;flex:1;position:relative}.list-popover .btn{height:36px;line-height:36px;display:flex;background:#fff}.list-popover .btn .search{padding:0 10px;font-size:14px}.list-popover .btn .search input{height:30px;line-height:28px;border:0;border-bottom:1px solid #a9c4df;outline:0}.list-popover .btn .an{position:relative;top:-1px}.list-popover .btn .an .el-button{background:#ebf4fe!important;border:1px solid #a9c4df!important;color:#5e7bad!important;font-size:14px;height:30px;line-height:28px;padding:0 10px!important}.list-popover ul{list-style:none;user-select:none;position:absolute;left:0;top:0;right:0}.list-popover ul li{line-height:30px;white-space:nowrap;display:flex;align-items:center;font-size:16px;height:30px;cursor:pointer}.list-popover ul li.active-li{background:#d7e5f9;color:#165ac6}.list-popover ul li .el-checkbox{display:flex;overflow:hidden;align-items:center;flex:1}.list-popover ul li .el-checkbox .el-checkbox__input{position:relative;top:1px;margin:0}.list-popover ul li .el-checkbox .el-checkbox__label{text-overflow:ellipsis;overflow:hidden;line-height:16px!important}.list-popover ul li i{display:inline-block;width:14px;color:#a9c4df;margin-right:5px;margin-top:2px}.list-popover ul li i.el-icon-caret-bottom{cursor:pointer}.list-popover ul li i.hide{transform-origin:50% 50%;transform:rotate(-90deg)}.list-popover ul .el-checkbox .el-checkbox__label{text-indent:0;font-size:16px;color:#606266}.list-popover ul .el-checkbox__input.is-checked+.el-checkbox__label{color:#606266}.treeSelect_v_popover[x-placement^=bottom]{margin-top:4px;margin-left:-10px;padding:5px 5px 5px 10px}.treeSelect_v_popover[x-placement^=bottom] .popper__arrow{display:none}.treeSelect_v_popover[x-placement^=bottom] p{text-align:center;color:#b1b8c5;padding-top:20px}", map: undefined, media: undefined });
};
/* scoped */
const __vue_scope_id__$1 = "data-v-091fb738";
const __vue_scope_id__$1 = "data-v-f56841a6";
/* module identifier */

@@ -1068,12 +1099,12 @@ const __vue_module_identifier__$1 = undefined;

"dm": "110000",
"mc": "北京"
"mc": "北京市"
}, {
"dm": "120000",
"mc": "天津"
"mc": "天津市"
}, {
"dm": "130000",
"mc": "河北"
"mc": "河北省"
}, {
"dm": "140000",
"mc": "山西"
"mc": "山西省"
}, {

@@ -1084,42 +1115,42 @@ "dm": "150000",

"dm": "210000",
"mc": "辽宁"
"mc": "辽宁省"
}, {
"dm": "220000",
"mc": "吉林"
"mc": "吉林省"
}, {
"dm": "230000",
"mc": "黑龙江"
"mc": "黑龙江省"
}, {
"dm": "310000",
"mc": "上海"
"mc": "上海市"
}, {
"dm": "320000",
"mc": "江苏"
"mc": "江苏省"
}, {
"dm": "330000",
"mc": "浙江"
"mc": "浙江省"
}, {
"dm": "340000",
"mc": "安徽"
"mc": "安徽省"
}, {
"dm": "350000",
"mc": "福建"
"mc": "福建省"
}, {
"dm": "360000",
"mc": "江西"
"mc": "江西省"
}, {
"dm": "370000",
"mc": "山东"
"mc": "山东省"
}, {
"dm": "410000",
"mc": "河南"
"mc": "河南省"
}, {
"dm": "420000",
"mc": "湖北"
"mc": "湖北省"
}, {
"dm": "430000",
"mc": "湖南"
"mc": "湖南省"
}, {
"dm": "440000",
"mc": "广东"
"mc": "广东省"
}, {

@@ -1130,15 +1161,15 @@ "dm": "450000",

"dm": "460000",
"mc": "海南"
"mc": "海南省"
}, {
"dm": "500000",
"mc": "重庆"
"mc": "重庆市"
}, {
"dm": "510000",
"mc": "四川"
"mc": "四川省"
}, {
"dm": "520000",
"mc": "贵州"
"mc": "贵州省"
}, {
"dm": "530000",
"mc": "云南"
"mc": "云南省"
}, {

@@ -1149,9 +1180,9 @@ "dm": "540000",

"dm": "610000",
"mc": "陕西"
"mc": "陕西省"
}, {
"dm": "620000",
"mc": "甘肃"
"mc": "甘肃省"
}, {
"dm": "630000",
"mc": "青海"
"mc": "青海省"
}, {

@@ -1188,3 +1219,3 @@ "dm": "640000",

// 搜索关键字
popoverWidth: 150,
popoverWidth: 490,
// 弹出层宽度

@@ -1245,6 +1276,9 @@ isShowSelect: false // 是否显示下拉框

// 设置默认选中的省份代码
this.selectDwbm = this.dwbm.substring(0, 2) + '0000';
this.selectDwbm = this.unitDwbm;
},
// 计算属性
computed: {
unitDwbm: function unitDwbm() {
return this.dwbm.substring(0, 2) + '0000';
},
// 获取省份列表数据

@@ -1255,3 +1289,3 @@ provinces: function provinces() {

var arr = provinceArr.filter(function (item) {
if (item.dm !== _this.dwbm + '0000') {
if (item.dm !== _this.unitDwbm) {
return true;

@@ -1263,3 +1297,3 @@ } else {

arr.unshift({
dm: this.dwbm,
dm: this.unitDwbm,
mc: obj.mc || '本省'

@@ -1285,7 +1319,8 @@ });

// 设置弹出层宽度(比触发区域宽10px)
var minWidth = this.$refs.xz_content.clientWidth + 10;
this.popoverWidth = minWidth > 370 ? minWidth : 370;
var minWidth = this.$refs.xz_content.clientWidth;
this.popoverWidth = minWidth > 490 ? minWidth : 490 + 10;
this.virtualTree = this.$refs.virtualTree;
// 添加全局点击事件监听,用于点击外部关闭下拉框
document.addEventListener("click", this.handleClickOutside);
this._initSelectIds();
},

@@ -1346,3 +1381,2 @@ // 组件销毁前的生命周期钩子

var objMap = {};
// 按省份代码分组(取节点ID前两位+0000作为省份标识)

@@ -1359,2 +1393,3 @@ v.forEach(function (item) {

this._initSelectIds();
this._emitFn();
},

@@ -1441,3 +1476,2 @@ /**

this.selectedMap = {};
this.isShowSelect = false;
}

@@ -1448,2 +1482,26 @@ // 将虚拟树组件的选中数组更新到当前省份的映射中 //加载中的时候 不设置

}
},
// emit 事件
_emitFn: function _emitFn() {
var _this4 = this;
if (!this.$attrs['multiple']) {
if (this.selectedArr[0]) {
this.$emit("changeModel", this.selectedArr.map(function (item) {
return item[_this4.$attrs['node-key']];
})[0]);
this.$emit("change", this.selectedArr[0][this.$attrs['node-key']], this.selectedArr[0].data || this.selectedArr[0]);
} else {
this.$emit("changeModel", null);
this.$emit("change", '', null);
}
} else {
this.$emit("changeModel", this.selectedArr.map(function (item) {
return item[_this4.$attrs['node-key']];
}));
this.$emit("change", this.selectedArr.map(function (item) {
return item[_this4.$attrs['node-key']];
}), this.selectedArr.map(function (item) {
return item.data;
}));
}
}

@@ -1466,19 +1524,4 @@ },

selectedArr: function selectedArr(v, old) {
var _this4 = this;
// 向外触发changeModel事件,传递所有选中节点的ID数组
if (!this.$attrs['multiple']) {
this.$emit("changeModel", this.selectedArr.map(function (item) {
return item[_this4.$attrs['node-key']];
})[0]);
this.$emit("change", this.selectedArr[0][this.$attrs['node-key']], this.selectedArr[0].data);
} else {
this.$emit("changeModel", this.selectedArr.map(function (item) {
return item[_this4.$attrs['node-key']];
}));
this.$emit("change", this.selectedArr.map(function (item) {
return item[_this4.$attrs['node-key']];
}), this.selectedArr.map(function (item) {
return item.data;
}));
}
this._emitFn();
}

@@ -1492,3 +1535,3 @@ }

/* template */
var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"virtualSelect",attrs:{"role":"button","tabindex":"0","aria-label":"请选择"}},[_c('el-popover',{attrs:{"popper-class":"treeSelect_v_popover","placement":"bottom-start","width":_vm.popoverWidth,"trigger":"manual"},model:{value:(_vm.isShowSelect),callback:function ($$v) {_vm.isShowSelect=$$v;},expression:"isShowSelect"}},[_c('div',{ref:"xz_content",staticClass:"xz",attrs:{"slot":"reference"},on:{"click":_vm.toggleSelect},slot:"reference"},[(_vm.$attrs.multiple && _vm.selectedArr.length)?_c('span',[_c('el-tag',{attrs:{"closable":"","title":_vm.selectedArr.map(function (item) { return item[_vm.$attrs.props.label]; }).join(';')},on:{"close":function($event){return _vm.closeTag(0)}}},[_vm._v(_vm._s(_vm.selectedArr[0][_vm.$attrs.props.label].substr(0, 4))+"\n "+_vm._s(_vm.selectedArr[0][_vm.$attrs.props.label].length > 4 ? "..." : ""))]),_vm._v(" "),_c('el-tag',{directives:[{name:"show",rawName:"v-show",value:(_vm.selectedArr.length > 1),expression:"selectedArr.length > 1"}]},[_vm._v("+"+_vm._s(_vm.selectedArr.length - 1))])],1):(_vm.selectedArr.length)?_c('span',{staticClass:"single",attrs:{"title":_vm.selectedArr[0][_vm.$attrs.props.label]}},[_vm._v(_vm._s(_vm.selectedArr[0][_vm.$attrs.props.label]))]):_c('span',[_vm._v("请选择")]),_vm._v(" "),(_vm.$attrs.multiple && _vm.selectedArr.length && _vm.clearable)?_c('i',{staticClass:"el-icon-circle-close",on:{"click":function($event){$event.stopPropagation();return _vm.clear.apply(null, arguments)}}}):_vm._e(),_vm._v(" "),_c('i',{staticClass:"el-icon-arrow-down"}),_vm._v(" "),_c('el-input',{staticClass:"search",staticStyle:{"display":"none"},attrs:{"size":"small","value":_vm.selectedArr[0],"placeholder":"请选择"}})],1),_vm._v(" "),_c('div',{directives:[{name:"loading",rawName:"v-loading",value:(_vm.loading),expression:"loading"}],staticClass:"list-popover-ay",style:('min-width: ' + _vm.minWidth + 'px')},[_c('div',{staticClass:"left"},[_c('ul',_vm._l((_vm.provinces),function(item,idx){return _c('li',{key:item.dm,class:{atthis: _vm.selectDwbm == item.dm},attrs:{"title":item.dwqc},on:{"click":function($event){$event.stopPropagation();return _vm.selectProvince(item.dm)}}},[(idx == 0)?_c('i',{staticClass:"el-icon-location-information"}):_vm._e(),_vm._v(" "),_c('span',[_vm._v(_vm._s(item.mc))])])}),0)]),_vm._v(" "),_c('div',{staticClass:"right"},[_c('div',{staticClass:"btn"},[_c('el-input',{staticClass:"search",attrs:{"size":"small","validateEvent":false,"placeholder":"请输入关键字搜索"},model:{value:(_vm.searchText),callback:function ($$v) {_vm.searchText=$$v;},expression:"searchText"}})],1),_vm._v(" "),_c('virtualTree',_vm._b({ref:"virtualTree",attrs:{"data":_vm.gxdwxxList},on:{"change":_vm.selectedIdsTreeChange},model:{value:(_vm.selectedIdsTree),callback:function ($$v) {_vm.selectedIdsTree=$$v;},expression:"selectedIdsTree"}},'virtualTree',_vm.$attrs,false))],1)])])],1)};
var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"virtualSelect",attrs:{"role":"button","tabindex":"0","aria-label":"请选择"}},[_c('el-popover',{attrs:{"popper-class":"treeSelect_v_popover","placement":"bottom-start","width":_vm.popoverWidth,"trigger":"manual"},model:{value:(_vm.isShowSelect),callback:function ($$v) {_vm.isShowSelect=$$v;},expression:"isShowSelect"}},[_c('div',{ref:"xz_content",staticClass:"xz",attrs:{"slot":"reference"},on:{"click":_vm.toggleSelect},slot:"reference"},[(_vm.$attrs.multiple && _vm.selectedArr.length)?_c('span',[_c('el-tag',{attrs:{"closable":"","title":_vm.selectedArr.map(function (item) { return item[_vm.$attrs.props.label]; }).join(';')},on:{"close":function($event){return _vm.closeTag(0)}}},[_vm._v(_vm._s(_vm.selectedArr[0][_vm.$attrs.props.label].substr(0, 4))+"\n "+_vm._s(_vm.selectedArr[0][_vm.$attrs.props.label].length > 4 ? "..." : ""))]),_vm._v(" "),_c('el-tag',{directives:[{name:"show",rawName:"v-show",value:(_vm.selectedArr.length > 1),expression:"selectedArr.length > 1"}]},[_vm._v("+"+_vm._s(_vm.selectedArr.length - 1))])],1):(_vm.selectedArr.length)?_c('span',{staticClass:"single",attrs:{"title":_vm.selectedArr[0][_vm.$attrs.props.label]}},[_vm._v(_vm._s(_vm.selectedArr[0][_vm.$attrs.props.label]))]):_c('span',[_vm._v("请选择")]),_vm._v(" "),(_vm.selectedArr.length && _vm.clearable)?_c('i',{staticClass:"el-icon-circle-close",on:{"click":function($event){$event.stopPropagation();return _vm.clear.apply(null, arguments)}}}):_vm._e(),_vm._v(" "),_c('i',{staticClass:"el-icon-arrow-down"}),_vm._v(" "),_c('el-input',{staticClass:"search",staticStyle:{"display":"none"},attrs:{"size":"small","value":_vm.selectedArr[0] && _vm.selectedArr[0].dm,"placeholder":"请选择"}})],1),_vm._v(" "),_c('div',{directives:[{name:"loading",rawName:"v-loading",value:(_vm.loading),expression:"loading"}],staticClass:"list-popover-ay",style:('min-width: ' + _vm.minWidth + 'px')},[_c('div',{staticClass:"left"},[_c('ul',_vm._l((_vm.provinces),function(item,idx){return _c('li',{key:item.dm,class:{atthis: _vm.selectDwbm == item.dm},attrs:{"title":item.dwqc},on:{"click":function($event){$event.stopPropagation();return _vm.selectProvince(item.dm)}}},[(idx == 0)?_c('i',{staticClass:"el-icon-location-information"}):_vm._e(),_vm._v(" "),_c('span',[_vm._v(_vm._s(item.mc))])])}),0)]),_vm._v(" "),_c('div',{staticClass:"right"},[_c('div',{staticClass:"btn"},[_c('el-input',{staticClass:"search",attrs:{"size":"small","validateEvent":false,"placeholder":"请输入关键字搜索"},model:{value:(_vm.searchText),callback:function ($$v) {_vm.searchText=$$v;},expression:"searchText"}})],1),_vm._v(" "),_c('virtualTree',_vm._b({ref:"virtualTree",attrs:{"data":_vm.gxdwxxList},on:{"change":_vm.selectedIdsTreeChange,"emitClick":function($event){_vm.isShowSelect = false;}},model:{value:(_vm.selectedIdsTree),callback:function ($$v) {_vm.selectedIdsTree=$$v;},expression:"selectedIdsTree"}},'virtualTree',_vm.$attrs,false))],1)])])],1)};
var __vue_staticRenderFns__ = [];

@@ -1499,8 +1542,8 @@

if (!inject) return
inject("data-v-24248b80_0", { source: "@charset \"UTF-8\";.virtualSelect[data-v-24248b80]{border:1px solid #a9c4df;background:#fff;height:34px;line-height:34px;border-radius:3px;padding:0 5px 0 10px;outline:0;cursor:pointer;user-select:none}.virtualSelect .xz[data-v-24248b80]{display:flex;outline:0}.virtualSelect .xz>span[data-v-24248b80]{flex:1;overflow:hidden;color:#879bc1;text-overflow:ellipsis;white-space:nowrap}.virtualSelect .xz>span.single[data-v-24248b80]{color:#4f5e7b}.virtualSelect .xz .el-tag[data-v-24248b80]{line-height:22px;height:24px;font-size:16px;color:#4084f0;margin-top:3px}.virtualSelect .xz i[data-v-24248b80]{width:20px;line-height:34px;color:#6fabef;font-size:14px}.virtualSelect .xz i.el-icon-circle-close[data-v-24248b80]{display:none}.virtualSelect .xz:hover i.el-icon-circle-close[data-v-24248b80]{display:block}", map: undefined, media: undefined })
,inject("data-v-24248b80_1", { source: "@charset \"UTF-8\";.list-popover-ay{min-height:100px;max-height:400px;min-width:490px;display:flex;position:relative}.list-popover-ay .left{width:130px;border-right:1px solid #a9c4df;overflow:auto}.list-popover-ay .left li{line-height:35px;font-size:16px;padding:0 10px;display:flex;cursor:pointer}.list-popover-ay .left li:first-child{position:relative}.list-popover-ay .left li:first-child::after{display:block;content:\"\";border-bottom:1px solid #a9c4df;position:absolute;left:10px;right:10px;bottom:0}.list-popover-ay .left li:first-child span{padding-left:0}.list-popover-ay .left li.atthis{background:#b3d8ff;color:#4084f0;font-weight:700}.list-popover-ay .left li i{align-content:center;padding-right:5px;line-height:35px}.list-popover-ay .left li span{padding-left:20px;display:block;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-popover-ay .right{flex:1;display:flex;flex-direction:column}.list-popover-ay .list{overflow:auto;position:relative;flex:1}.list-popover-ay .btn{height:36px;line-height:36px;display:flex;background:#fff}.list-popover-ay .btn .search{padding:0 5px;font-size:14px}.list-popover-ay .btn .search .el-input__inner{border:0;border-bottom:1px solid #a9c4df;border-radius:0}.list-popover-ay .btn .an{position:relative;top:-1px}.list-popover-ay .right ul{list-style:none;user-select:none;position:absolute;left:0;top:0;right:0}.list-popover-ay .right ul li{line-height:30px;white-space:nowrap;display:flex;align-items:center;font-size:16px;height:30px;cursor:pointer}.list-popover-ay .right ul li.active-li{background:#d7e5f9;color:#165ac6}.list-popover-ay .right ul li .el-checkbox{display:flex;overflow:hidden;align-items:center;flex:1}.list-popover-ay .right ul li .el-checkbox .el-checkbox__input{position:relative;top:1px;margin:0}.list-popover-ay .right ul li .el-checkbox .el-checkbox__label{text-overflow:ellipsis;overflow:hidden;line-height:16px!important}.list-popover-ay .right ul li i{display:inline-block;width:14px;color:#a9c4df;margin-right:5px;margin-top:2px;font-size:14px}.list-popover-ay .right ul li i.el-icon-caret-bottom{cursor:pointer}.list-popover-ay .right ul li i.hide{transform-origin:50% 50%;transform:rotate(-90deg)}.list-popover-ay .right ul .el-checkbox .el-checkbox__label{text-indent:0;font-size:16px;color:#606266}.list-popover-ay .right ul .el-checkbox__input.is-checked+.el-checkbox__label{color:#606266}.treeSelect_v_popover[x-placement^=bottom]{margin-top:4px;margin-left:-10px;padding:0}.treeSelect_v_popover[x-placement^=bottom] .popper__arrow{display:none}.treeSelect_v_popover[x-placement^=bottom] p{text-align:center;color:#b1b8c5;padding-top:20px}", map: undefined, media: undefined });
inject("data-v-4c6d7602_0", { source: "@charset \"UTF-8\";.virtualSelect[data-v-4c6d7602]{border:1px solid #a9c4df;height:34px;line-height:34px;border-radius:3px;padding:0 5px 0 10px;outline:0;cursor:pointer;user-select:none}.virtualSelect .xz[data-v-4c6d7602]{display:flex;outline:0}.virtualSelect .xz>span[data-v-4c6d7602]{flex:1;overflow:hidden;color:#879bc1;text-overflow:ellipsis;white-space:nowrap}.virtualSelect .xz>span.single[data-v-4c6d7602]{color:#4f5e7b}.virtualSelect .xz .el-tag[data-v-4c6d7602]{line-height:22px;height:24px;font-size:16px;color:#4084f0;margin-top:3px}.virtualSelect .xz i[data-v-4c6d7602]{width:20px;line-height:34px;color:#6fabef;font-size:14px}.virtualSelect .xz i.el-icon-circle-close[data-v-4c6d7602]{display:none}.virtualSelect .xz:hover i.el-icon-circle-close[data-v-4c6d7602]{display:block}", map: undefined, media: undefined })
,inject("data-v-4c6d7602_1", { source: "@charset \"UTF-8\";.list-popover-ay{min-height:100px;max-height:400px;min-width:490px;display:flex;position:relative}.list-popover-ay .left{width:123px;border-right:1px solid #a9c4df;overflow:auto}.list-popover-ay .left li{line-height:35px;font-size:16px;padding:0 10px;display:flex;cursor:pointer}.list-popover-ay .left li:first-child{position:relative}.list-popover-ay .left li:first-child::after{display:block;content:\"\";border-bottom:1px solid #a9c4df;position:absolute;left:10px;right:10px;bottom:0}.list-popover-ay .left li:first-child span{padding-left:0}.list-popover-ay .left li.atthis{background:#b3d8ff;color:#4084f0;font-weight:700}.list-popover-ay .left li i{align-content:center;padding-right:5px;line-height:35px}.list-popover-ay .left li span{padding-left:20px;display:block;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-popover-ay .right{flex:1;display:flex;flex-direction:column}.list-popover-ay .list{overflow:auto;position:relative;flex:1}.list-popover-ay .btn{height:36px;line-height:36px;display:flex;background:#fff}.list-popover-ay .btn .search{padding:0 5px;font-size:14px}.list-popover-ay .btn .search .el-input__inner{border:0;border-bottom:1px solid #a9c4df;border-radius:0}.list-popover-ay .btn .an{position:relative;top:-1px}.list-popover-ay .right ul{list-style:none;user-select:none;position:absolute;left:0;top:0;right:0}.list-popover-ay .right ul li{line-height:30px;white-space:nowrap;display:flex;align-items:center;font-size:16px;height:30px;cursor:pointer}.list-popover-ay .right ul li.active-li{background:#d7e5f9;color:#165ac6}.list-popover-ay .right ul li .el-checkbox{display:flex;overflow:hidden;align-items:center;flex:1}.list-popover-ay .right ul li .el-checkbox .el-checkbox__input{position:relative;top:1px;margin:0}.list-popover-ay .right ul li .el-checkbox .el-checkbox__label{text-overflow:ellipsis;overflow:hidden;line-height:16px!important}.list-popover-ay .right ul li i{display:inline-block;width:14px;color:#a9c4df;margin-right:5px;margin-top:2px;font-size:14px}.list-popover-ay .right ul li i.el-icon-caret-bottom{cursor:pointer}.list-popover-ay .right ul li i.hide{transform-origin:50% 50%;transform:rotate(-90deg)}.list-popover-ay .right ul .el-checkbox .el-checkbox__label{text-indent:0;font-size:16px;color:#606266}.list-popover-ay .right ul .el-checkbox__input.is-checked+.el-checkbox__label{color:#606266}.treeSelect_v_popover[x-placement^=bottom]{margin-top:4px;margin-left:-10px;padding:0}.treeSelect_v_popover[x-placement^=bottom] .popper__arrow{display:none}.treeSelect_v_popover[x-placement^=bottom] p{text-align:center;color:#b1b8c5;padding-top:20px}", map: undefined, media: undefined });
};
/* scoped */
const __vue_scope_id__ = "data-v-24248b80";
const __vue_scope_id__ = "data-v-4c6d7602";
/* module identifier */

@@ -1507,0 +1550,0 @@ const __vue_module_identifier__ = undefined;

{
"name": "virtual-tree-select",
"description": "虚拟下拉树选择框",
"version": "1.0.5",
"version": "1.0.6",
"author": "xyl <786549791@qq.com>",

@@ -6,0 +6,0 @@ "license": "MIT",