vsyswin-ui 0.2.75 → 0.2.76

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./packages/search-bar/src/save-local.vue?26d8","webpack:///./packages/input-more/src/input-more.vue?5629","webpack:///./packages/search-bar/src/dialog-condition.vue?607d","webpack:///./packages/search-bar/src/search-bar.vue?945a","webpack:///./packages/styles/iconfont/iconfont.eot","webpack:///./examples/App1.vue?e2ad","webpack:///./packages/table/src/table.vue?8f27","webpack:///./packages/table/src/table.vue?1083","webpack:///./packages/search-bar/src/search-bar.vue?d661","webpack:///./packages/table/src/noData.vue?46dd","webpack:///./packages/table/src/noData.vue?9286","webpack:///./examples/App3.vue?a8fc","webpack:///./packages/select-tree/src/select-tree.vue?9d31","webpack:///./packages/styles/common-old.scss","webpack:///./examples/App4.vue?ab4f","webpack:///./packages/search-bar/src/search-bar.vue?d48e","webpack:///./packages/styles/iconfont/iconfont.ttf","webpack:///./examples/App1.vue?6bca","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./packages/search-tree/src/zoom-out.png","webpack:///./packages/styles/common-old.scss?ea5c","webpack:///./examples/App4.vue?e850","webpack:///./examples/App1.vue?e49b","webpack:///./packages/table/src/table.vue?1062","webpack:///./packages/styles/common.scss?e768","webpack:///./packages/select-project/src/select-project.vue?929a","webpack:///./packages/table/src/table.vue?7c33","webpack:///./examples/App4.vue?3f64","webpack:///./examples/App.vue?40e1","webpack:///./packages/layout/src/pick-left.png","webpack:///./examples/App.vue?a8e2","webpack:///./packages/search-tree/src/zTree.vue?af80","webpack:///./packages/button-ellipsis/src/button-container.vue?8263","webpack:///./examples/normalize.scss","webpack:///./packages/search-bar/src/save-local.vue?06c7","webpack:///./packages/select-tree/src/select-tree.vue?41d6","webpack:///./packages/newSearchBar/src/newSearchBar.vue?7547","webpack:///./packages/search-bar/src/dialog-condition.vue?48d2","webpack:///./examples/App.vue?cf79","webpack:///./packages/layout/src/pick-right.png","webpack:///./packages/select-tree/src/select-tree.vue?2333","webpack:///./packages/styles/iconfont/iconfont.css","webpack:///./examples/App2.vue?547c","webpack:///./packages/select-project/src/select-project.vue?0041","webpack:///./packages/search-tree/src/zTree.vue?0db5","webpack:///./packages/table/src/noData.vue?dd3d","webpack:///./packages/styles/common.scss","webpack:///./packages/input-more/src/input-more.vue?ced5","webpack:///./packages/styles/iconfont/iconfont.woff","webpack:///./packages/search-tree/src/zTree.vue?d744","webpack:///./packages/drag-set/src/dragSet.vue?f9ce","webpack:///./packages/styles/iconfont/iconfont.svg","webpack:///./packages/drag-set/src/dragSet.vue?aa1e","webpack:///./packages/button-ellipsis/src/button-container.vue?5249","webpack:///./packages/search-bar/src/save-local.vue?5fa1","webpack:///./packages/styles/iconfont/iconfont.css?3763","webpack:///./examples/App.vue?c34c","webpack:///examples/App.vue","webpack:///./examples/App.vue?517c","webpack:///./examples/App.vue","webpack:///./examples/App1.vue?f951","webpack:///./examples/listConfigs.js","webpack:///examples/App1.vue","webpack:///./examples/App1.vue?cf81","webpack:///./examples/App1.vue","webpack:///./examples/App2.vue?6f59","webpack:///examples/App2.vue","webpack:///./examples/App2.vue?168c","webpack:///./examples/App2.vue","webpack:///./examples/App3.vue?1a8d","webpack:///examples/App3.vue","webpack:///./examples/App3.vue?7dde","webpack:///./examples/App3.vue","webpack:///./examples/App4.vue?1907","webpack:///examples/App4.vue","webpack:///./examples/App4.vue?337d","webpack:///./examples/App4.vue","webpack:///./examples/router.js","webpack:///./packages/layout/src/layout.vue?47b7","webpack:///packages/layout/src/layout.vue","webpack:///./packages/layout/src/layout.vue?83f0","webpack:///./packages/layout/src/layout.vue","webpack:///./packages/layout/index.js","webpack:///./packages/search-tree/src/zTree.vue?31e8","webpack:///packages/search-tree/src/zTree.vue","webpack:///./packages/search-tree/src/zTree.vue?ed5c","webpack:///./packages/search-tree/src/zTree.vue","webpack:///./packages/search-tree/index.js","webpack:///./packages/select-project/src/select-project.vue?063d","webpack:///packages/select-project/src/select-project.vue","webpack:///./packages/select-project/src/select-project.vue?8550","webpack:///./packages/select-project/src/select-project.vue","webpack:///./packages/select-project/index.js","webpack:///./packages/select-tree/src/select-tree.vue?3524","webpack:///packages/select-tree/src/select-tree.vue","webpack:///./packages/select-tree/src/select-tree.vue?6700","webpack:///./packages/select-tree/src/select-tree.vue","webpack:///./packages/select-tree/index.js","webpack:///./packages/search-bar/src/search-bar.vue?0b03","webpack:///./packages/search-bar/src/save-local.vue?01a0","webpack:///./packages/search-bar/src/dialog-condition.vue?ef75","webpack:///packages/search-bar/src/dialog-condition.vue","webpack:///./packages/search-bar/src/dialog-condition.vue?933e","webpack:///./packages/search-bar/src/dialog-condition.vue","webpack:///packages/search-bar/src/save-local.vue","webpack:///./packages/search-bar/src/save-local.vue?5e07","webpack:///./packages/search-bar/src/save-local.vue","webpack:///packages/search-bar/src/search-bar.vue","webpack:///./packages/search-bar/src/search-bar.vue?e6f8","webpack:///./packages/search-bar/src/search-bar.vue","webpack:///./packages/search-bar/index.js","webpack:///./packages/simple-search-bar/src/simple-search-bar.vue?079d","webpack:///packages/simple-search-bar/src/simple-search-bar.vue","webpack:///./packages/simple-search-bar/src/simple-search-bar.vue?12a2","webpack:///./packages/simple-search-bar/src/simple-search-bar.vue","webpack:///./packages/simple-search-bar/index.js","webpack:///./packages/input-more/src/input-more.vue?4274","webpack:///packages/input-more/src/input-more.vue","webpack:///./packages/input-more/src/input-more.vue?4146","webpack:///./packages/input-more/src/input-more.vue","webpack:///./packages/input-more/index.js","webpack:///./packages/paging/src/paging.vue?2590","webpack:///packages/paging/src/paging.vue","webpack:///./packages/paging/src/paging.vue?1c34","webpack:///./packages/paging/src/paging.vue","webpack:///./packages/paging/index.js","webpack:///./packages/newSearchBar/src/newSearchBar.vue?a2d6","webpack:///packages/newSearchBar/src/newSearchBar.vue","webpack:///./packages/newSearchBar/src/newSearchBar.vue?e678","webpack:///./packages/newSearchBar/src/newSearchBar.vue","webpack:///./packages/newSearchBar/index.js","webpack:///./packages/table/src/table.vue?5e77","webpack:///./packages/table/src/noData.vue?5740","webpack:///packages/table/src/noData.vue","webpack:///./packages/table/src/noData.vue?37f4","webpack:///./packages/table/src/noData.vue","webpack:///./packages/drag-set/src/dragSet.vue?1253","webpack:///packages/drag-set/src/dragSet.vue","webpack:///./packages/drag-set/src/dragSet.vue?3e48","webpack:///./packages/drag-set/src/dragSet.vue","webpack:///./packages/drag-set/index.js","webpack:///./packages/table/src/BigDataTable.js","webpack:///packages/table/src/table.vue","webpack:///./packages/table/src/table.vue?60b6","webpack:///./packages/table/src/table.vue","webpack:///./packages/table/index.js","webpack:///./packages/button-ellipsis/src/button-container.vue","webpack:///./packages/button-ellipsis/src/button-item.vue","webpack:///./packages/button-ellipsis/src/button-list.vue?c2e0","webpack:///packages/button-ellipsis/src/button-container.vue","webpack:///./packages/button-ellipsis/src/button-container.vue?d374","webpack:///packages/button-ellipsis/src/button-list.vue","webpack:///./packages/button-ellipsis/src/button-list.vue?ec2d","webpack:///./packages/button-ellipsis/src/button-list.vue","webpack:///packages/button-ellipsis/src/button-item.vue","webpack:///./packages/button-ellipsis/src/button-item.vue?5aa3","webpack:///./packages/button-ellipsis/index.js","webpack:///./packages/top-tabs/src/top-tabs.vue?a7f0","webpack:///packages/top-tabs/src/top-tabs.vue","webpack:///./packages/top-tabs/src/top-tabs.vue?47a2","webpack:///./packages/top-tabs/src/top-tabs.vue","webpack:///./packages/top-tabs/index.js","webpack:///./packages/index.js","webpack:///./examples/main.js","webpack:///./packages/button-ellipsis/src/button-container.vue?356b","webpack:///./examples/normalize.scss?e90f","webpack:///./packages/table/src/table.vue?0f75","webpack:///./packages/input-more/src/input-more.vue?cc6c","webpack:///./examples/App2.vue?ae2b","webpack:///./packages/table/src/table.vue?c5ab","webpack:///./packages/select-project/src/select-project.vue?c63e","webpack:///./packages/search-bar/src/dialog-condition.vue?d6fc","webpack:///./packages/drag-set/src/dragSet.vue?3e56","webpack:///./packages/search-tree/src/lib/jquery.ztree.all.js","webpack:///./examples/App3.vue?494e","webpack:///./examples/App3.vue?314d","webpack:///./packages/newSearchBar/src/newSearchBar.vue?309d","webpack:///./examples/App2.vue?5240","webpack:///./packages/newSearchBar/src/newSearchBar.vue?bec6"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","___CSS_LOADER_API_IMPORT___","content","locals","add","default","map","webpackContext","req","id","webpackContextResolve","e","Error","code","keys","resolve","___CSS_LOADER_GET_URL_IMPORT___","___CSS_LOADER_URL_IMPORT_0___","___CSS_LOADER_URL_REPLACEMENT_0___","___CSS_LOADER_URL_IMPORT_1___","___CSS_LOADER_URL_IMPORT_2___","___CSS_LOADER_URL_IMPORT_3___","___CSS_LOADER_URL_REPLACEMENT_1___","hash","___CSS_LOADER_URL_REPLACEMENT_2___","___CSS_LOADER_URL_REPLACEMENT_3___","___CSS_LOADER_URL_REPLACEMENT_4___","_vm","this","_h","$createElement","_c","_self","attrs","staticClass","on","$event","menuShow","_v","staticStyle","directives","rawName","expression","jumpToPage","staticRenderFns","methods","$router","path","component","scopedSlots","_u","fn","ref","projectNodes","beforeClick","searchProject","onSelectProject","yearChange","model","callback","$$v","curYear","proxy","setting","nodes","onClick","handleCreated","searchTree","placeholder","savedCondition","searchTable","clearTags","saveScreeningCriteria","selectChange","deleteItem","slot","_t","_l","item","idx","class","h40","isShrink","style","lineHeight","_s","handleTimePicker","timeVal","trim","_e","listItem","index","isActive","clickItemHandle","handleSearch","keyword","searchList","handleReset","handleSave","columnsList","transContent","tableData","money","money1","handleSortChange","handleFilterChange","headerDragend","handleSelectionChange","cellClick","dragChange","visible","sn","stopPropagation","row","status","$set","scope","listConfigs","label","type","prop","minWidth","isShow","fixed","sortable","tooltip","align","headerAlign","filterType","slotHeader","slotCell","filters","props","String","flag","Date","getFullYear","ztreeObj","check","enable","iconMap","1","2","3","4","5","6","7","8","9","idKey","nodeType","title","children","view","showIcon","ztreeData","JSON","parse","stringify","sumType","tagList","filterItems","created","$emit","getSavedCondition","node","console","log","evt","treeNode","onCheck","expandNode","getNodes","$refs","leftTree","setSelectedNode","projectNode","column","alert","list","localStorage","getItem","updateTagList","len","Number","obj","$message","success","setItem","forEach","ids","searchTables","keyWord","itemList","sub","tags","pId","shrinkFilterItem","createTag","tagObj","assign","pName","timeArr","activeIndex","$nextTick","ele","handleCommand","command","mounted","selectProject","setTimeout","curSelectedNode","defaultSelectId","handleClick","activeName","tab","event","selectActive","searchKey","eltreeData","getNode","curElTreeNode","query","queryFollows","nameStr","openChooseFollows","clearQueryFollows","pagination","handlePageChange","totals","dialogTableVisible","gridData","currentPage","pageSize","lebel","chargeAreaMin","chargeAreaMax","members","watch","val","getSummaries","page","Vue","use","Router","routes","redirect","App1","meta","App2","App3","App4","router","beforeEach","to","from","next","document","headVisiable","$slots","width","showTree","pickLeft","noPadding","pickRight","Boolean","computed","headLeft","headRight","layout","install","searchClass","modifiers","domProps","onQueryInputFocus","onQueryInputBlur","$forceUpdate","target","composing","onSearchTree","ztreeId","pArray","pData","customType","jQuery","required","Array","searchable","beforeClickFn","beforeCheckFn","isSearching","searchIsActive","parseInt","Math","random","ztreeSetting","beforeCheck","onAsyncError","onAsyncSuccess","onCollapse","onDblClick","onDrag","onDragMove","onDrop","onExpand","onMouseDown","onMouseUp","onRemove","onRename","onRightClick","newVal","handler","destroy","deep","immediate","selectedKey","selectNode","noEmit","setCheckedNodes","checkedKeys","cancelAllSelectedNode","cancelSelectedNode","disabled","projectInfo","nodeName","isOpen","components","SySearchTree","mergeSetting","defaultCheckedKeys","ztreeRef","setDefaultCheckedNodes","arg","selectedNode","clearSelectedNode","nativeOn","toggleVisible","searchPlaceholder","nodeId","height","widthObj","heightObj","handleClickOutside","selectTree","handleClearInput","handleToggleFilterList","shrinkFilterList","showFilter","searchButtonText","resetButtonText","currentSearchList","maxConditionLength","hideName","pickerOptions","handleChangeDateragne","format","multiple","opt","conditionList","conditionValue","handleChangeCondition","handleEditCondition","handleDeleteCondition","handleConfirmCondition","currentData","customTagList","tag","handleTagClose","handleClearAllTags","saveToLocalPosition","dialogConditionVisible","handleClose","form","handleConfirm","newValue","dialogCondition","validator","indexOf","storageName","curConditionValue","$confirm","showClose","customClass","confirmButtonClass","cancelButtonClass","deepCopyFunction","arr1","arr2","item1","getValue","item2","setValue","saveLocal","Clickoutside","clickHandler","el","contains","btnsBox","binding","__vueClickOutside__","addEventListener","update","unbind","removeEventListener","saveToLocal","hasSetDefaultTag","shortcuts","setDefaultTagList","getLocalStorageConditionListData","undefined","includes","localList","createTagList","setTagList","filterList","skipShrink","handleClearData","old","now","parentItem","childIndex","parentIndex","defaultValue","valueOptions","defaultItem","childItem","warning","v","tList","momentValue","dialogList","classList","conditionDialog","deleteConfirm","SearchBar","SaveLocal","auto","search","blur","_k","keyCode","nVal","simpleSearchBar","str","open","clearChoosed","maxlength","intpuMore","pagerCount","pageSizes","handleSizeChange","ceil","alignStyle","maxNum","handleChange","paging","slotName","smallSearchWidth","shrinkFilter","rotate180","maxHeight","windowHeight","boxShadow","h0","mt0","choosedCondition","showSaveCondition","resetBtnFlag","getWinH","body","clientWidth","innerHeight","newSearchBar","columnList","_b","rowKey","showSummary","indent","lazy","load","treeProps","defaultExpandAll","expandRowKeys","handleExpandChange","handleHeaderDragend","resizable","refInFor","x","reset","$index","handleColumnClick","customSum","changeSumType","totalText","msg","dragVisible","overflow","dragOptions","save","listConf","cusStyle","animation","pull","group","ghostClass","draggable","lockItems","isLock","unLockItems","dragSet","BigDataTable","vm","options","_options","_flag","$options","$vm","$scource_data","$fill_data","$fill_data_length","$fill_data_height","$table_itemHeight","$vm_p","topspan","bottomspan","filldata","$scroller_ref","$scroll_top","$span","$Nodes","topNode","topUpdataNode","bottomUpdataNode","bottomNode","$view_pointer","$cache_pointer","init","_this","scrollerRef","top_span","bottom_span","fill_data","filldata_length","table_itemHeight","scrollerHandler","updataNode","scrollTop","_pointer","floor","requestAnimationFrame","pointerHandler","Node","pointer","side","oldNode","_length","totleLength","itemHeight","_newNode","span","topSpan","bottomSpan","_top","max","min","_bottom","setInfoNode","getFillData","setSpan","_data","element","fnc","attachEvent","detachEvent","arr","toString","elem","getComputedStyle","currentStyle","table","buttons","render","num","contents","btn","h","buttonList","buttonItem","topTabs","buttonEllipsis","inputMore","installed","ElementUI","vSyswinUI","config","productionTip","App","$mount","$","settings","roots","caches","_consts","className","BUTTON","LEVEL","ICO_LOADING","SWITCH","NAME","NODECREATED","CLICK","EXPAND","COLLAPSE","ASYNC_SUCCESS","ASYNC_ERROR","REMOVE","SELECTED","UNSELECTED","A","ICON","SPAN","UL","line","ROOT","ROOTS","CENTER","BOTTOM","NOLINE","LINE","folder","OPEN","CLOSE","DOCU","CURSELECTED","_setting","treeId","treeObj","addDiyDom","autoCancelSelected","dblClickExpand","expandSpeed","fontCss","nameIsHTML","selectedMulti","showLine","showTitle","txtSelectedEnable","isParent","url","icon","simpleData","pIdKey","rootPId","keep","parent","leaf","async","contentType","dataType","headers","xhrFields","autoParam","otherParam","dataFilter","beforeAsync","beforeDblClick","beforeRightClick","beforeMouseDown","beforeMouseUp","beforeExpand","beforeCollapse","beforeRemove","onNodeCreated","_initRoot","getRoot","setRoot","nodeChildren","expandTriggerFlag","curSelectedList","noSelection","createdNodes","zId","_ver","getTime","_initCache","getCache","setCache","doms","_bindEvent","consts","tools","srcEvent","clickFlag","XMLHttpRequest","textStatus","errorThrown","onSelected","onUnSelected","_unbindEvent","_eventProxy","getSetting","tId","nodeEventType","treeEventType","nodeEventCallback","treeEventCallback","tmp","eqs","tagName","getAttribute","getNodeMainDom","getMDom","attrName","getNodeCache","nodeIsParent","onSwitchNode","onClickNode","onZTreeMousedown","onZTreeMouseup","onZTreeDblclick","onZTreeContextmenu","proxyResult","stop","_initNode","level","parentNode","isFirstNode","isLastNode","openFlag","parentTId","isArray","zAsync","getParentNode","getPreNode","getNextNode","getIndex","getNodeIndex","getPath","getNodePath","isAjaxing","fixPIdKeyValue","_init","proxys","beforeA","afterA","innerBeforeA","innerAfterA","zTreeTools","addNodeCache","getNodeCacheId","substring","lastIndexOf","addAfterA","addBeforeA","addInnerAfterA","addInnerBeforeA","addInitBind","bindEvent","addInitUnBind","unbindEvent","addInitCache","initCache","addInitNode","initNode","addInitProxy","initProxy","isFirst","addInitRoot","initRoot","addNodesData","params","setNodeLineIcos","concat","addSelectedNode","root","isSelectedNode","addCreatedNode","addZTreeTools","exSetting","extend","getAfterA","array","arguments","getBeforeA","getInnerAfterA","getInnerBeforeA","getNodeByParam","getNodesByParam","getNodesByParamFuzzy","toLowerCase","getNodesByFilter","filter","isSingle","invokeParam","tmpResult","getRoots","getSettings","getZTreeTools","treeTools","preNode","nextNode","newChildren","newIsParent","newName","nodeIcon","nodeTitle","removeNodeCache","removeSelectedNode","trigger","cache","setZTreeTools","transformToArrayFormat","_do","_node","transformTozTreeFormat","sNodes","parentKey","tmpMap","bindTree","eventParam","onSelectStart","css","unbindTree","doProxy","results","uCanDo","switchNode","ctrlKey","metaKey","cancelPreSelectedNode","originalEvent","srcElement","fun","param","zt","canAsync","clone","str1","str2","isElement","HTMLElement","exp","ownerDocument","curDom","targetExpr","parentsUntil","isChildOrSelf","dom","parentId","closest","addNodes","newNodes","isSilent","target_switchObj","$$","target_icoObj","target_ulObj","replaceSwitchClass","replaceIcoClass","createNodes","expandCollapseParentNode","appendNodes","initFlag","html","tmpPNode","tmpPChild","childHtml","makeDOMNodeMainBefore","makeDOMNodeLine","makeDOMNodeNameBefore","makeDOMNodeIcon","makeDOMNodeNameAfter","makeUlHtml","join","makeDOMNodeMainAfter","appendParentULDom","nObj","ulObj","remove","append","asyncNode","icoObj","attr","tmpParam","pKey","split","spKey","_tmpV","ajax","eval","err","error","excludeNode","removeClass","createNodeCallback","parentObj","nextObj","zTreeHtml","before","empty","expandCollapseNode","expandFlag","animateFlag","tmpCb","_callback","switchObj","iconOpen","iconClose","makeNodeIcoStyle","show","slideDown","slideUp","hide","expandCollapseSonNode","treeNodes","selfAnimateSign","replace","makeNodeIcoClass","makeNodeLineClass","makeNodeUrl","fontcss","makeNodeFontCss","fontStyle","f","click","makeNodeTarget","icoCss","iconSkin","iconName","iconStyle","lineClass","makeNodeLineClassEx","urlKey","makeUlLineClass","removeChildNodes","tmp_switchObj","tmp_icoObj","scrollIntoView","Element","scrollIntoViewIfNeeded","centerIfNeeded","makeRange","start","coverRange","inner","outer","end","makePoint","y","dX","dY","absolute","pt","translate","offsetLeft","offsetTop","offsetParent","origin","extent","offsetWidth","offsetHeight","clientLeft","clientTop","scrollLeft","clientHeight","contRect","getBoundingClientRect","findMeRect","top","bottom","right","left","setFirstNode","setLastNode","removeNode","tmp_ulObj","childLength","newLast","tmp_first_switchObj","tmpName","tmpList","valType","removeAttr","addFlag","addClass","setNodeFontCss","aObj","ulLine","setNodeName","text","setNodeTarget","setNodeUrl","zTree","_z","getZTreeObj","zSetting","zNodes","isNaN","xNewNodes","addCallback","expandAll","sonSign","focus","callbackFlag","showNodeFocus","a","getNodeByTId","getSelectedNodes","reAsyncChildNodesPromise","reloadType","promise","Promise","reject","reAsyncChildNodes","isRoot","refresh","transformTozTreeNodes","simpleNodes","transformToArray","updateNode","checkTypeFlag","CHECK","checkbox","STYLE","DEFAULT","DISABLED","FALSE","TRUE","FULL","PART","FOCUS","radio","TYPE_ALL","TYPE_LEVEL","autoCheckTrigger","chkStyle","nocheckInherit","chkDisabledInherit","radioType","chkboxType","checked","radioCheckedList","_handler","onCheckNode","onMouseoverCheck","onMouseoutCheck","nodeChecked","checkedOld","nocheck","chkDisabled","halfCheck","check_Child_State","check_Focus","getCheckStatus","_beforeA","makeChkFlag","makeChkClass","_zTreeTools","checkNode","checkObj","checkNodeRelation","setChkClass","repairParentChkClassWithSelf","checkAllNodes","repairAllChk","getCheckedNodes","getTreeCheckedNodes","getChangeCheckedNodes","getTreeChangeCheckedNodes","setChkDisabled","inheritParent","inheritChildren","repairSonChkDisabled","repairParentChkDisabled","_updateNode","getRadioCheckedList","checkedList","half","onlyOne","chkFlag","cNode","_event","_tools","_view","pNode","pNodeChecked","Y","setSonNodeCheckBox","N","setParentNodeCheckBox","fullStyle","chkName","repairChkClass","repairParentChkClass","inherit","sNode","srcNode","pSign","pNodes","hasDisable","newChecked","_createNodes","_removeNode","_appendNodes","DRAG","DROP","RENAME","DRAGMOVE","EDIT","INPUT","move","TYPE_INNER","TYPE_PREV","TYPE_NEXT","CURSELECTED_EDIT","TMPTARGET_TREE","TMPTARGET_NODE","edit","editNameSelectAll","showRemoveBtn","showRenameBtn","removeTitle","renameTitle","drag","autoExpandTrigger","isCopy","isMove","prev","minMoveSize","borderMax","borderMin","maxShowNodeNum","autoOpenTime","addHoverDom","removeHoverDom","beforeDrag","beforeDragOpen","beforeDrop","beforeEditName","beforeRename","rs","curEditNode","curEditInput","curHoverNode","dragFlag","dragNodeShowBefore","dragMaskList","showHoverDom","isCancel","targetNode","moveType","relatedTarget","onMousedownNode","onHoverOverNode","onHoverOutNode","isHover","editNameFlag","cancelEditName","cancelCurEditNode","copyNode","newNode","copyCallback","moveNode","editName","editNode","find","moveCallback","setEditable","editable","setSonNodeLevel","removeTreeDom","eventMouseDown","button","_nodes","editNodeBlur","curNode","tmpArrow","tmpTarget","doc","isOtherTree","targetSetting","sourceSetting","preTmpTargetNodeId","preTmpMoveType","tmpTargetNodeId","mouseDownX","clientX","mouseDownY","clientY","startTime","_docMouseMove","abs","tmpNode","tmpDom","tmpNodes","_docMouseUp","showIfameMask","isOrder","lastIndex","appendTo","offset","xT","parents","docScrollTop","docScrollLeft","treeOffset","scrollHeight","scrollWidth","dTop","dBottom","dLeft","dRight","isTop","isBottom","isLeft","isRight","isTreeInner","isTreeTop","isTreeBottom","isTreeLeft","isTreeRight","targetObj","canMove","tmpTargetNode","isPrev","isNext","isInner","canPrev","canNext","canInner","clearMove","zTreeMoveTimer","clearTimeout","zTreeMoveTargetNodeTId","tmpTargetA","tmpNextA","tmpTop","tmpLeft","prevPercent","nextPercent","dY_percent","startTimer","_docSelect","dragTargetNode","selectNodes","dropCallback","getAbs","oRect","documentElement","inputFocus","inputObj","setCursorPosition","inputSelect","select","pos","setSelectionRange","createTextRange","range","collapse","moveEnd","moveStart","showSign","iframeList","dragMask","addEditBtn","editStr","addRemoveBtn","removeStr","forceName","oldParentNode","targetNodeIsRoot","targetParentNode","ulstr","nodeDom","after","tmpSrcIndex","tmpTargetIndex","oldNeighbor","newNeighbor","oldLevel","oldChildren","targetParentChildren","targetChildren","repairNodeLevelClass","removeEditBtn","removeRemoveBtn","liObj","oldClass","newClass","_cancelPreSelectedNode","_makeNodeUrl","_selectNode","_uCanDo"],"mappings":"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","file":"js/index.c1193e4a.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"index\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../../../node_modules/vue-style-loader/index.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./save-local.vue?vue&type=style&index=0&id=5c790fce&lang=scss&scoped=true&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".sy-input-more[data-v-3d5df6b4]{display:flex;align-items:center;box-sizing:border-box;padding-right:4px;height:32px;line-height:30px;border-radius:2px;border:1px solid #dcdfe6}.sy-input-more.is-active[data-v-3d5df6b4]{border-color:#027aff}.sy-input-more .el-input__inner[data-v-3d5df6b4]{border:none;height:30px;line-height:30px}.sy-input-more .span-input[data-v-3d5df6b4]{width:0;flex:1;padding-left:10px;padding-right:18px;position:relative}.sy-input-more .span-input .span-content[data-v-3d5df6b4]{display:block;width:100%;height:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sy-input-more .span-input .el-icon-circle-close[data-v-3d5df6b4]{position:absolute;right:2px;top:50%;transform:translateY(-50%);cursor:pointer}.sy-input-more .span-input .placeholder[data-v-3d5df6b4]{color:#c0c4cc}.sy-input-more>.el-icon-more[data-v-3d5df6b4]{cursor:pointer}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","export * from \"-!../../../node_modules/vue-style-loader/index.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dialog-condition.vue?vue&type=style&index=0&lang=scss&\"","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./search-bar.vue?vue&type=style&index=0&id=b4bbece4&lang=scss&scoped=true&\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"30ecb02d\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","module.exports = __webpack_public_path__ + \"fonts/iconfont.7712aa52.eot\";","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App1.vue?vue&type=style&index=0&id=6d2653ec&lang=scss&scoped=true&\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"e8389eb8\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","export * from \"-!../../../node_modules/vue-style-loader/index.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./table.vue?vue&type=style&index=1&lang=scss&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".sum[data-v-37a13262]{position:absolute;margin-left:10px;font-size:12px;height:36px;line-height:36px;text-align:center;background:#f5f7fa;left:1px;bottom:1px;z-index:4}.filterItem[data-v-37a13262]{width:100%;height:30px;line-height:30px;background:#fff;padding:0 10px;box-sizing:border-box}.filter-icon[data-v-37a13262]{margin-top:1px;float:right;font-size:9px!important;cursor:pointer;color:rgba(0,0,0,.5)}.selected-color[data-v-37a13262]{color:#027aff}.el-button--primary[data-v-37a13262]{background-color:#027aff;border-color:#027aff}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".syswin-searchbar[data-v-b4bbece4]{position:relative}.syswin-searchbar .syswin-searchbar-container[data-v-b4bbece4]{box-sizing:border-box;padding:16px 0;height:64px;overflow:hidden;display:flex;align-items:center}.syswin-searchbar .syswin-searchbar-container .el-button--small[data-v-b4bbece4]{padding:8px 15px}.syswin-searchbar-container__input[data-v-b4bbece4]{float:left;width:336px}.syswin-searchbar-container__input[data-v-b4bbece4] .el-input__inner{border-radius:2px}.syswin-searchbar-container__filter[data-v-b4bbece4]{margin-left:8px;color:#027aff;font-size:14px}.syswin-searchbar-container__filter[data-v-b4bbece4]:focus,.syswin-searchbar-container__filter[data-v-b4bbece4]:hover{background:transparent!important;color:#027aff!important;border-color:transparent!important}.syswin-searchbar-container__filter .el-icon-caret-bottom[data-v-b4bbece4]{transition:all .3s cubic-bezier(.645,.045,.355,1)}.syswin-searchbar-container__filter .el-icon-caret-bottom.is-rotate-180[data-v-b4bbece4]{transform:rotate(180deg)}.syswin-searchbar-container__search[data-v-b4bbece4]{padding:0;width:72px;height:32px;font-size:12px;border-radius:2px;background-color:#027aff}.syswin-searchbar-container__search.is-margin-left-16[data-v-b4bbece4]{margin-left:16px}.syswin-searchbar-container__reset[data-v-b4bbece4]{padding:0;width:72px;height:32px;font-size:12px;border-radius:2px}.syswin-searchbar-container__reset[data-v-b4bbece4]:hover{color:#606266!important;border-color:#dcdfe6!important;background:#fff!important}.syswin-searchbar-container__listBtns[data-v-b4bbece4]{position:absolute;right:0}.syswin-searchbar-container__listBtns .el-button--text[data-v-b4bbece4]{color:#027aff}.syswin-searchbar .syswin-searchbar-list[data-v-b4bbece4]{box-sizing:border-box;position:absolute;padding:16px 24px;width:100%;background-color:#fafafa;box-shadow:0 6px 16px -8px rgba(0,0,0,.08),0 9px 28px 0 rgba(0,0,0,.05),0 12px 48px 16px rgba(0,0,0,.03);z-index:1000;overflow:hidden}.syswin-searchbar .syswin-searchbar-list[data-v-b4bbece4] .el-range-editor--small .el-range-separator{line-height:28px}.syswin-searchbar-list__wrap[data-v-b4bbece4]{border:1px solid #eaedf1;border-bottom:none}.syswin-searchbar-list__footer[data-v-b4bbece4]{display:flex;margin-top:16px}.syswin-searchbar-list__footer.align-right[data-v-b4bbece4]{text-align:right;justify-content:flex-end}.syswin-searchbar .syswin-filter-item[data-v-b4bbece4]{display:flex;align-items:stretch;border-bottom:1px solid #eaedf1;background-color:#f6f7fb}.syswin-filter-item__title[data-v-b4bbece4]{box-sizing:border-box;width:96px;height:48px;margin:0;padding:0 8px;line-height:48px;text-align:center;color:#5e6470;font-size:14px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.syswin-filter-item__content[data-v-b4bbece4]{margin:0;padding:0;list-style:none;flex:1;border-left:1px solid #eaedf1;background-color:#fafafa;overflow:hidden;display:flex;flex-wrap:wrap}.syswin-filter-item__content .el-date-editor[data-v-b4bbece4]{border-radius:2px}.syswin-filter-item__li[data-v-b4bbece4]{display:flex;align-items:center;padding:0 12px;line-height:48px;color:rgba(0,0,0,.65)}.syswin-filter-item__li[data-v-b4bbece4] .el-select .el-input__icon{line-height:48px}.syswin-filter-item__span[data-v-b4bbece4]{box-sizing:border-box;display:block;width:100%;height:100%;font-size:14px;cursor:pointer}.syswin-filter-item__span.is-active[data-v-b4bbece4]{color:#027aff}.syswin-filter-item__name[data-v-b4bbece4]{margin-right:5px}.syswin-filter-item__subTitle[data-v-b4bbece4]{float:left;margin:0 8px 0 0;font-size:14px;font-weight:600}.syswin-filter-item__subContent[data-v-b4bbece4]{margin:0;padding:0;list-style:none;background-color:#fafafa;overflow:hidden}.syswin-filter-item__subContent .el-date-editor[data-v-b4bbece4]{border-radius:2px}.syswin-filter-item__subLi[data-v-b4bbece4]{float:left;padding:0 12px;line-height:48px;color:rgba(0,0,0,.65)}.syswin-footer__save[data-v-b4bbece4]{padding:0;width:72px;height:32px;font-size:12px;border-radius:2px}.syswin-footer__condition[data-v-b4bbece4]{margin:0 16px;width:127px;height:32px}.syswin-footer__condition[data-v-b4bbece4] .el-input__inner{border-radius:2px}.syswin-footer__label[data-v-b4bbece4]{float:left;width:116px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.syswin-footer__edit[data-v-b4bbece4]{color:#027aff}.syswin-footer__delete[data-v-b4bbece4],.syswin-footer__edit[data-v-b4bbece4]{float:right;margin-left:8px;line-height:34px}.syswin-footer__delete[data-v-b4bbece4]{color:#ff4d4f}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".noData[data-v-bf708e56]{height:100%;text-align:center;position:relative}.noData .noData-pic[data-v-bf708e56]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.noData .noData-pic img[data-v-bf708e56]{margin-bottom:10px}.noData p[data-v-bf708e56]{margin:0;padding:0;line-height:100%}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./noData.vue?vue&type=style&index=0&id=bf708e56&lang=scss&scoped=true&\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"199f4636\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App3.vue?vue&type=style&index=0&id=0ff81fba&lang=scss&scoped=true&\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"5555d23a\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select-tree.vue?vue&type=style&index=0&id=1dce1332&lang=scss&scoped=true&\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"41ade349\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \":root{--size-height:32px;--primary-color:#027aff;--page-bg:#f2f5f9;--primary-hover-color:#3595ff;--primary-disabled-color:#81bdff;--success-color:#67c23a;--warning-color:#e6a23c;--danger-color:#f56c6c;--active-color:#4a8df0;--disable-color:#b3b5b9;--light-color:#e6f2ff;--disable-text-color:#bcbec2;--disable-border-color:#ebeef5;--sideBarWidth:210px;--borderColor:#e4e7ed;--text-color:rgba(0,0,0,0.65)}*{margin:0;padding:0}#app,body,html{height:100%}body{color:#000;background:#fff;font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,微软雅黑,Arial,sans-serif;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:none;font-size:14px}li,ol,ul{list-style:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:8px}::-webkit-scrollbar-track-piece{background-color:transparent;border-radius:8px}a:focus,input:focus{outline:none}.main-container{height:100%;overflow:hidden;background:#f2f5f9;padding:0 24px;box-sizing:border-box}.main-container.no-head .bd{height:calc(100% - 20px)}.main-container .hd{height:44px;display:flex;padding:0 20px;align-items:center;justify-content:space-between}.main-container .hd>h2{font-size:14px;margin:0;color:#000;font-weight:700}.main-container .hd>.hd-right{color:#000;display:flex;align-items:center}.main-container .bd{height:calc(100% - 64px);padding:4px 20px 10px;box-sizing:border-box;background-color:#fff}.main-container .bd.west-east-wrap{padding:0;display:flex}.main-container .bd .con-main{height:calc(100% - 46px)}.main-container .bd .con-main .con-scroll-wrapper{height:100%;overflow:hidden}.main-container .bd .west-tree-box{width:260px;height:100%;background:#fff;border-right:1px solid #e3e3e3;position:relative;transition:all .5s}.main-container .bd .west-tree-box .west-tree-content{position:absolute;width:100%;height:100%;padding:0;overflow-x:hidden;overflow-y:auto;box-sizing:border-box}.main-container .bd .west-tree-box .pick-left{position:absolute;width:21px;height:54px;right:0;top:50%;margin-top:-27px;cursor:pointer}.main-container .bd .east-content{height:100%;padding:4px 20px 10px;box-sizing:border-box;transition:all .5s;position:relative}.main-container .bd .east-content.no-padding{padding:0}.main-container .bd .east-content .pick-right{position:absolute;width:21px;height:54px;left:0;top:50%;margin-top:-27px;cursor:pointer}.main-container .tab-content-container{height:calc(100% - 64px);overflow:hidden;background:#fff;display:flex}.main-container .tab-content-container.no-left{display:block}.main-container .tab-content-container .west-tree-box{width:260px;height:100%;background:#fff;border-right:1px solid #e3e3e3;position:relative;transition:all .5s}.main-container .tab-content-container .west-tree-box .pick-left{position:absolute;width:21px;height:54px;right:0;top:50%;margin-top:-27px;cursor:pointer}.main-container .tab-content-container .east-content{height:100%;transition:all .5s;position:relative}.main-container .tab-content-container .east-content .pick-right{position:absolute;width:21px;height:54px;left:0;top:50%;margin-top:-27px;cursor:pointer}.main-container .tab-content-container .tab-bd{height:100%;padding:4px 20px 10px;box-sizing:border-box;background-color:#fff}.main-container .tab-content-container .tab-bd .tab-search{height:46px;display:flex;justify-content:space-between}.main-container .tab-content-container .tab-bd .tab-main{height:calc(100% - 46px)}.main-container .tab-content-container .tab-bd .tab-main.footer-btns{height:calc(100% - 96px)}.main-container .tab-content-container .tab-bd .tab-main .tab-scroll-wrapper{height:100%;overflow:hidden}.main-container .tab-content-container .tab-bd .tab-footer-btns{padding-top:16px;text-align:center}.main-container .subpage-container,.main-container .subpage-container.no-head .sub-bd{height:100%}.main-container .subpage-container .sub-hd{height:44px;display:flex;padding:0 20px;align-items:center;justify-content:space-between;background-color:var(--page-bg)}.main-container .subpage-container .sub-hd>h2{font-size:14px;margin:0;color:#000;font-weight:700}.main-container .subpage-container .sub-bd{height:calc(100% - 44px);box-sizing:border-box;background-color:#fff}.main-container .subpage-container .sub-bd .sub-main{height:100%}.main-container .subpage-container .sub-bd .sub-main .sub-scroll-wrapper{height:100%;overflow:hidden}.main-container .el-textarea{position:relative}.main-container .el-textarea .txtCount{position:absolute;right:10px;bottom:5px;color:#afbacb}.title-tabs.el-tabs{height:44px!important}.title-tabs.el-tabs .el-tabs__header{padding-bottom:0!important;padding-right:20px}.title-tabs.el-tabs .el-tabs__header .el-tabs__active-bar{background-color:var(--primary-color)}.title-tabs.el-tabs .el-tabs__header .el-tabs__item{height:44px;line-height:44px;font-weight:600}.title-tabs.el-tabs .el-tabs__header .el-tabs__item.is-active,.title-tabs.el-tabs .el-tabs__header .el-tabs__item:hover{color:var(--primary-color)}.title-tabs.el-tabs .el-tabs__header .el-tabs__nav-wrap:after{background-color:transparent}.title-tabs.el-tabs .el-tab-pane{height:0!important}.header-filter{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.header-filter .el-input-group__append{background-color:var(--primary-color)!important;border:1px solid var(--primary-color)!important}.header-filter .el-input-group__append .el-button{padding-left:12px;padding-right:10px;color:#fff}.header-filter .el-input__icon{line-height:32px}.header-filter .header-filter-btns{min-height:40px}.header-filter .header-filter-btns .el-button--text{color:var(--primary-color)}.header-filter .el-input__inner{height:32px!important;line-height:32px!important;border-radius:0!important}.dialog-inner-content{border:1px solid rgba(0,0,0,.08);padding:40px 20px 10px;position:relative;box-sizing:border-box}.dialog-inner-content>h3{position:absolute;left:0;top:0;right:0;height:40px;line-height:40px;background-color:rgba(0,0,0,.08);padding-left:20px;color:var(--primary-color);font-weight:600}.vxe-modal--wrapper.type--modal.no-body-scroll .vxe-modal--body .vxe-modal--content{overflow:hidden}.dialog-footer-btns{text-align:center}.accessory .title{height:40px;line-height:40px}.accessory .title .label{float:left;font-size:14px;color:#777e8c}.accessory .title .upload{float:right}.el-input-group__append.select-append{padding:0 8px}.el-input-group__append.select-append .el-button{margin-left:-8px;margin-right:-8px;padding-left:5px;padding-right:5px}.el-pagination.cus-pagination .el-input__inner{padding-left:0!important}.cus-pagination.el-pagination span:not([class*=suffix]),.el-pagination button{padding:0 6px}.cus-pagination.el-pagination.is-background .btn-prev:disabled,.el-pagination.is-background .btn-next:disabled{background-color:transparent!important;border:1px solid #eaedf1}.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev,.el-pagination.is-background .el-pager li{margin:0 2px}.el-pagination.is-background.cus-pagination .btn-next,.el-pagination.is-background.cus-pagination .btn-prev{background-color:transparent!important;border:1px solid #eaedf1}.el-pagination.is-background.cus-pagination .btn-next,.el-pagination.is-background.cus-pagination .btn-prev,.el-pagination.is-background.cus-pagination .el-pager li{background-color:transparent;border:1px solid #eaedf1;border-radius:2px}.el-pagination.is-background.cus-pagination .el-pager li:not(.disabled).active{border-radius:2px;border-color:transparent}.cus-pagination .el-pagination__jump{margin-left:0}.cus-pagination .el-input__inner{height:28px!important;line-height:28px!important}.vxe-table .select-disable .vxe-cell--radio{padding-left:0}.vxe-table .select-disable .vxe-cell--radio.is--disabled{color:#666}.vxe-table .select-disable .vxe-cell--radio .vxe-radio--icon{display:none}.el-button .iconfont{font-size:14px}.el-button .iconfont+span{margin-left:5px}.el-button+.el-dropdown{margin-left:10px}.operation-a{color:var(--primary-color);cursor:pointer}.operation-a+.operation-a{margin-left:10px}.search-condition-list .el-tag{margin-bottom:10px}.search-condition-list .tags:not(:first-child){margin-left:6px}.search-condition-list .tags.clearall{cursor:pointer}.drop-select-year{position:relative}.drop-select-year .el-input--prefix .el-input__inner{font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,微软雅黑,Arial,sans-serif;padding-left:10px;padding-right:10px;border:none;background:none;cursor:pointer;color:#000;font-weight:600}.drop-select-year .el-input__icon{width:0;display:none}.drop-select-year .right-p{position:absolute;top:9px;right:-2px;color:#000}.sy-btn-ellipsis .el-button{outline:none!important}.sy-btn-ellipsis .el-button.el-button--text{color:var(--primary-color)}.sy-btn-ellipsis .el-button:active,.sy-btn-ellipsis .el-button:focus,.sy-btn-ellipsis .el-button:hover{background:none!important;color:var(--primary-color)!important;border:1px solid transparent!important}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App4.vue?vue&type=style&index=0&id=71bda11a&lang=scss&scoped=true&\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"3b10de88\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","export * from \"-!../../../node_modules/vue-style-loader/index.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./search-bar.vue?vue&type=style&index=0&id=b4bbece4&lang=scss&scoped=true&\"","module.exports = __webpack_public_path__ + \"fonts/iconfont.46438fa5.ttf\";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".filter-icon[data-v-6d2653ec]{margin-top:1px;float:right;font-size:9px!important;cursor:pointer;color:rgba(0,0,0,.5)}.selected-color[data-v-6d2653ec]{color:#027aff}.el-input__icon[data-v-6d2653ec]{line-height:normal!important;padding:0!important}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn-bd\": \"9686\",\n\t\"./bn-bd.js\": \"9686\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-in\": \"ec2e\",\n\t\"./en-in.js\": \"ec2e\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./en-sg\": \"b7e9\",\n\t\"./en-sg.js\": \"b7e9\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-mx\": \"b5b7\",\n\t\"./es-mx.js\": \"b5b7\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fil\": \"d69a\",\n\t\"./fil.js\": \"d69a\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-deva\": \"aaf2\",\n\t\"./gom-deva.js\": \"aaf2\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./oc-lnc\": \"167b\",\n\t\"./oc-lnc.js\": \"167b\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tk\": \"5aff\",\n\t\"./tk.js\": \"5aff\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf75\",\n\t\"./tlh.js\": \"cf75\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-mo\": \"3a6c\",\n\t\"./zh-mo.js\": \"3a6c\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4678\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAnNJREFUSMe9lD9I6lEUx++5WQRRDUm0WOmogzVEBQZB7dEclD+HttbADMrBoQz7tzSUnt+vEIzozxAFYTVGU5i/RvkpJDaIq4Pe8wa57z0UX8/yve/y4/K7h+/nnHPPAVZH6rl6rp739IhZMStml5b4BJ/gEyMjZCELWQCq71OUohRNJLiTO7lzf38hsZBYSLy/s0altWqtWuvMDDrQgY67OzWtptX09PQardEacf5n4PFx1aW6VNf1NZawhCVFadx4GIdx+Pj4NHYaO421tTWagASNUIQitLODiIi4uFg3QJZaZvxV43oguImbuHl1FbaELWGLzVZzsUK6vi5L/V3jamEc4xh3OCo+BwfV/zkYYIAxOprqT/Wn+u/vmw3gnnJPuad0HQIQgIDVWgPA3tgbeyuX/eAHPwjRbAAp8pGPfIXC0cbRxtFGZ+cvgP8kPsfn+Fy5XOoudZe6f5umSm9ub4mIiGrnu1mSPjVglc/Li3ahXWgXY2PNNtZyWk7Lyd7ncjUAcnOxEAux0OrqZwunUYkVsSJWAoGWj5aPlo+trRoAuTLpkR7p8ezMGrPGrLHt7e+2BJ/xGZ+9XhiCIRhKJuf75vvm+5LJOi1gzG1ym9ymSIQVWZEVdV0NqkE1eHkZ9oa9Ya/d/plhpceDg+hBD3qiUXiCJ3gCEDfiRtwYxmH2MHuYHRiojqubodxckIEMZJaXeTtv5+02G+UpT/l8nr2yV/ZaLsMkTMJkb68oiqIoZrOy1DJjaWwqmAqmAiLZyU52RVFAAQUMo+HSVh5VR8fJ7snuyW5X19/G/ayQjjrqDw/y/M/G7jMQbuZmbt7b+wE0CG2lQ38A3wAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxOC0wNy0yNVQxMDozMjoyMCswODowMKDox40AAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTgtMDctMjVUMTA6MzI6MjArMDg6MDDRtX8xAAAAS3RFWHRzdmc6YmFzZS11cmkAZmlsZTovLy9ob21lL2FkbWluL2ljb24tZm9udC90bXAvaWNvbl85cThtcnFkOGI0Ni96b29tLW91dC5zdmf4KajHAAAAAElFTkSuQmCC\"","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-3-1!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-3-2!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-3-3!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-3-4!./common-old.scss\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"a65e2bc6\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","export * from \"-!../node_modules/vue-style-loader/index.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App4.vue?vue&type=style&index=0&id=71bda11a&lang=scss&scoped=true&\"","export * from \"-!../node_modules/vue-style-loader/index.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App1.vue?vue&type=style&index=0&id=6d2653ec&lang=scss&scoped=true&\"","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./table.vue?vue&type=style&index=0&id=37a13262&lang=scss&scoped=true&\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"4cfc7dbe\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-3-1!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-3-2!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-3-3!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-3-4!./common.scss\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"4b426bd1\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select-project.vue?vue&type=style&index=0&id=4081269a&lang=scss&scoped=true&\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"4299bdf5\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#027aff;border-color:#027aff}.el-radio__input.is-checked .el-radio__inner{border-color:#027aff;background:#027aff}.el-input__inner:hover{border-color:#d0d3d6!important}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#4a8df0!important}.el-button--primary.is-plain{height:20px!important;line-height:18px!important;padding:0 9px!important;background:none!important;border:1px solid #4a8df0!important;color:#4a8df0!important;font-size:12px}.el-button--primary.is-plain:focus,.el-button--primary.is-plain:hover{background:#4184e7!important;color:#fff!important}.el-button--primary.is-plain:active{background:#3070cf!important;color:#fff!important}.syswin-table table{border-collapse:collapse;border-spacing:0}.syswin-table .el-table__empty-block{position:absolute!important;height:calc(100% - 60px)!important}.syswin-table .el-table__empty-block,.syswin-table .el-table table{width:100%!important}.syswin-table .el-table th{background:#f2f5f9!important;padding:3px 0!important}.syswin-table .el-table td,.syswin-table .el-table th.is-leaf{border-right:1px solid #d8d8d8}.syswin-table .el-table th:first-child{padding:0!important;box-sizing:border-box}.syswin-table .el-table th .cell{height:34px!important;line-height:34px!important}.syswin-table .el-table__footer .cell,.syswin-table .el-table th .cell{padding:0 10px!important;box-sizing:border-box;min-width:50px;overflow:hidden;text-overflow:clip;white-space:nowrap}.syswin-table .el-table__footer .cell{text-overflow:ellipsis}.syswin-table .el-table th:first-child .cell{padding:0 10px!important;box-sizing:border-box}.syswin-table .el-table td{padding:7px 0!important}.syswin-table .el-table tbody td{border-right:none}.syswin-table .el-table tbody .hover-row>td{background:#dce8f9!important}.syswin-table .el-table td:first-child{padding:0!important;box-sizing:border-box}.syswin-table .el-table td:first-child .cell{padding:0 10px!important;box-sizing:border-box}.syswin-table .el-table th>.cell{font-size:14px!important;font-weight:700!important;color:rgba(0,0,0,.65)!important}.syswin-table .el-table .sort-caret.ascending{border-bottom-color:rgba(0,0,0,.5)!important}.syswin-table .el-table .sort-caret.descending{border-top-color:rgba(0,0,0,.5)!important}.syswin-table .el-table .ascending .sort-caret.ascending{border-bottom-color:#027aff!important}.syswin-table .el-table .descending .sort-caret.descending{border-top-color:#027aff!important}.syswin-table .el-table__fixed-right:before,.syswin-table .el-table__fixed:before{height:0}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".filter-icon[data-v-71bda11a]{margin-top:1px;float:right;font-size:9px!important;cursor:pointer;color:rgba(0,0,0,.5)}.selected-color[data-v-71bda11a]{color:#027aff}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".fixed-btn[data-v-337b4410]{position:fixed;z-index:100;left:50%;top:6px;margin-left:-46px}.menu-box[data-v-337b4410]{display:flex}.transition-box[data-v-337b4410]{margin-bottom:4px;width:92px;border-radius:2px;background-color:#409eff;text-align:center;color:#fff;padding:10px 10px;box-sizing:border-box;cursor:pointer}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAA2CAYAAAAoL9IOAAACCElEQVRYhe3YQWsTQRjG8f9kk1ysSTw0N9uKiogWEU8W/BZiP0BvXqQohUAxUAhUStVD6kEvHjxU24PfRMSjYrOJYJvQltII3WZ3x0NNOk1nd5PduQh5IIdsyJPf5p0ZQkRz9wCDGQeqaYOFD4E1oJgyUDYOfAQ2gCJAUmlPp16MKz2nUxNHqtWpGUYaqlMzqDRSpyZKOrBOTZh0KJ0anTSWTk2/NLZOTVeaWKcmjSGdGtHcPZCmyroxcaCMSkelSrQHytzjeWp2nVRKRBb4vuTG9Wu8ef2id027+H9v7+C6LlKzLYSAI8fh8LANgGVZFPI5Jicuh0svFfJ0Oi6iTyqlBAljYxcQIvgutKVPFhb5/uNn4Jvu3b3DSqUMwPsP69iNX5RLz8JLXy0v4Xl+YKmVtrDrDcqVFex6g+lbN6Ol2WyWTscNLM1k0giRIpvJAOD7ZwHa0lK5wpev3wj62h7M3Od56Slvq6usb35mq1Y/87p2+s7xMc6Rox2GlJJc7mLgXQRK9/b28TzvZNp9EUKw02rRbv/pPS/kc0xNToSXLi4ts1WzQzVqrl6Z4t3ay9MPHp38o9L/pHQWaJku/QTc5uTHmbFSgCbw6N+jaaq0mw1gmoRq3aASq8OmH1sdtaRiqQddp0Oph1n8A6vj7KhIddxtGqpOuve1ahMHyjm1MPzHTBGo/gVyOKbfrsOPTQAAAABJRU5ErkJggg==\"","export * from \"-!../node_modules/vue-style-loader/index.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=337b4410&lang=scss&scoped=true&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_GET_URL_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/getUrl.js\");\nvar ___CSS_LOADER_URL_IMPORT_0___ = require(\"./zoom-out.png\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\nexports.push([module.id, \".ztree-box[data-v-7a8508a3]{height:100%;display:flex;flex-direction:column}.ztree-search[data-v-7a8508a3]{height:40px;padding-top:10px}.ztree-search-wrapper[data-v-7a8508a3]{height:30px;width:90%;margin:auto;border:1px solid #dcdfe6;border-radius:2px;display:flex;align-items:center;padding:0 10px}.ztree-search *[data-v-7a8508a3]{box-sizing:border-box}.ztree-search-wrapper.is-active[data-v-7a8508a3]{border-color:#027aff}.ztree-search-wrapper .icon[data-v-7a8508a3]{flex-basis:16px;width:16px;height:16px;background:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") no-repeat}.ztree-search-wrapper .input-box[data-v-7a8508a3]{flex:1}.ztree-search-wrapper .query-input[data-v-7a8508a3]{height:28px;line-height:29px;width:100%;border:none;padding:0 8px;background-color:transparent}.ztree-search-wrapper .query-input[data-v-7a8508a3]::-moz-placeholder{color:#aaa}.ztree-search-wrapper .query-input[data-v-7a8508a3]:-ms-input-placeholder{color:#aaa}.ztree-search-wrapper .query-input[data-v-7a8508a3]::placeholder{color:#aaa}.ztree-container[data-v-7a8508a3]{flex:1;overflow-y:auto}.empty[data-v-7a8508a3]{color:#999;padding-left:40px}.ztree[data-v-7a8508a3]{text-align:left;font-size:14px;padding-left:5px}.ztree[data-v-7a8508a3] li{list-style-type:none;white-space:nowrap;outline:none}.ztree[data-v-7a8508a3] li ul{position:relative;padding:0 0 0 18px;margin:0}.ztree[data-v-7a8508a3] .line:before{position:absolute;top:0;left:10px;height:100%;content:\\\"\\\";border-right:1px dotted #dbdbdb}.ztree[data-v-7a8508a3] .bottom_docu:after,.ztree[data-v-7a8508a3] .bottom_docu:before,.ztree[data-v-7a8508a3] .center_docu:after,.ztree[data-v-7a8508a3] .center_docu:before,.ztree[data-v-7a8508a3] .roots_docu:after,.ztree[data-v-7a8508a3] .roots_docu:before{position:absolute;content:\\\"\\\";border:0 dotted #dbdbdb}.ztree[data-v-7a8508a3] .roots_docu:before{left:10px;height:50%;top:50%;border-left-width:1px}.ztree[data-v-7a8508a3] .roots_docu:after{top:50%;left:11px;width:50%;border-top-width:1px}.ztree[data-v-7a8508a3] .center_docu:before{left:10px;height:100%;border-left-width:1px}.ztree[data-v-7a8508a3] .center_docu:after{top:50%;left:11px;width:50%;border-top-width:1px}.ztree[data-v-7a8508a3] .bottom_docu:before{left:10px;height:50%;border-left-width:1px}.ztree[data-v-7a8508a3] .bottom_docu:after{top:50%;left:11px;width:50%;border-top-width:1px}.ztree[data-v-7a8508a3] li a{display:inline-block;line-height:22px;height:22px;margin:0;cursor:pointer;transition:none;vertical-align:middle;color:#606266}.ztree[data-v-7a8508a3] .node_name{display:inline-block;padding:0 3px;border-radius:4px}.ztree[data-v-7a8508a3] .curSelectedNode .node_name{color:#000;background-color:#c9e9f7}.ztree[data-v-7a8508a3] .curSelectedNode_Edit{height:20px;opacity:.8;color:#000;border:1px solid #6cc2e8;background-color:#9dd6f0}.ztree[data-v-7a8508a3] .tmpTargetNode_inner{opacity:.8;color:#fff;background-color:#4fcbf0;filter:alpha(opacity=80)}.ztree[data-v-7a8508a3] .rename{font-size:12px;line-height:22px;width:80px;height:22px;margin:0;padding:0;vertical-align:top;border:0;background:none}.ztree[data-v-7a8508a3] .button{position:relative;display:inline-block;line-height:22px;height:22px;width:18px;cursor:pointer;text-align:center;vertical-align:middle;font-size:14px;color:#4a8df0}.ztree[data-v-7a8508a3] .button.edit{color:#25ae88}.ztree[data-v-7a8508a3] .button.remove{color:#cb4042}.ztree[data-v-7a8508a3] .button.chk{position:relative;width:14px;height:14px;margin:0 4px 0 0;border:1px solid #d7dde4;border-radius:2px;background:#fff}.ztree[data-v-7a8508a3] .chk.radio_false_disable,.ztree[data-v-7a8508a3] .chk.radio_false_full,.ztree[data-v-7a8508a3] .chk.radio_false_full_focus,.ztree[data-v-7a8508a3] .chk.radio_false_part,.ztree[data-v-7a8508a3] .chk.radio_false_part_focus,.ztree[data-v-7a8508a3] .chk.radio_true_disable,.ztree[data-v-7a8508a3] .chk.radio_true_full,.ztree[data-v-7a8508a3] .chk.radio_true_full_focus,.ztree[data-v-7a8508a3] .chk.radio_true_part,.ztree[data-v-7a8508a3] .chk.radio_true_part_focus{border-radius:8px}.ztree[data-v-7a8508a3] .button.chk:after{position:absolute;top:1px;left:4px;width:4px;height:8px;content:\\\"\\\";transition:transform .2s ease-in-out;transform:rotate(0deg) scale(0);border-right:2px solid #fff;border-bottom:2px solid #fff}.ztree[data-v-7a8508a3] .button.checkbox_false_full_focus{border-color:#ccc}.ztree[data-v-7a8508a3] .button.checkbox_true_disable,.ztree[data-v-7a8508a3] .button.checkbox_true_full,.ztree[data-v-7a8508a3] .button.checkbox_true_full_focus,.ztree[data-v-7a8508a3] .button.checkbox_true_part,.ztree[data-v-7a8508a3] .button.checkbox_true_part_focus{border-color:#39f;background-color:#39f}.ztree[data-v-7a8508a3] .button.checkbox_true_disable:after,.ztree[data-v-7a8508a3] .button.checkbox_true_full:after,.ztree[data-v-7a8508a3] .button.checkbox_true_full_focus:after{transform:rotate(45deg) scale(1)}.ztree[data-v-7a8508a3] .button.checkbox_true_part:after,.ztree[data-v-7a8508a3] .button.checkbox_true_part_focus:after{top:5px;left:1px;width:10px;height:1px;transform:rotate(0deg) scale(1);border-right:0}.ztree[data-v-7a8508a3] .button.radio_true_full,.ztree[data-v-7a8508a3] .chk.radio_true_full_focus,.ztree[data-v-7a8508a3] .chk.radio_true_part,.ztree[data-v-7a8508a3] .chk.radio_true_part_focus{border-color:#39f}.ztree[data-v-7a8508a3] .button.radio_true_full:after,.ztree[data-v-7a8508a3] .chk.radio_true_full_focus:after,.ztree[data-v-7a8508a3] .chk.radio_true_part:after,.ztree[data-v-7a8508a3] .chk.radio_true_part_focus:after{top:3px;left:3px;width:8px;transform:rotate(0deg) scale(1);border:0;border-radius:4px;background:#39f}.ztree[data-v-7a8508a3] .button.checkbox_false_disable,.ztree[data-v-7a8508a3] .button.checkbox_true_disable,.ztree[data-v-7a8508a3] .chk.radio_false_disable,.ztree[data-v-7a8508a3] .chk.radio_true_disable{cursor:not-allowed}.ztree[data-v-7a8508a3] .button.checkbox_false_disable{background-color:#f3f3f3}.ztree[data-v-7a8508a3] .button.bottom_close:before,.ztree[data-v-7a8508a3] .button.bottom_open:before,.ztree[data-v-7a8508a3] .button.center_close:before,.ztree[data-v-7a8508a3] .button.center_open:before,.ztree[data-v-7a8508a3] .button.noline_close:before,.ztree[data-v-7a8508a3] .button.noline_open:before,.ztree[data-v-7a8508a3] .button.root_close:before,.ztree[data-v-7a8508a3] .button.root_open:before,.ztree[data-v-7a8508a3] .button.roots_close:before,.ztree[data-v-7a8508a3] .button.roots_open:before{position:absolute;top:6px;left:5px;content:\\\"\\\";transition:transform .3s ease;transform:rotate(0deg);transform-origin:25% 50%;border:5px solid;border-color:transparent transparent transparent #999}.ztree[data-v-7a8508a3] .button.bottom_open:before,.ztree[data-v-7a8508a3] .button.center_open:before,.ztree[data-v-7a8508a3] .button.noline_open:before,.ztree[data-v-7a8508a3] .button.root_open:before,.ztree[data-v-7a8508a3] .button.roots_open:before{transform:rotate(90deg)}.ztree[data-v-7a8508a3] .button.ico_loading{margin-right:2px;background:url(\\\"data:image/gif;base64,R0lGODlhEAAQAKIGAMLY8YSx5HOm4Mjc88/g9Ofw+v///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFCgAGACwAAAAAEAAQAAADMGi6RbUwGjKIXCAA016PgRBElAVlG/RdLOO0X9nK61W39qvqiwz5Ls/rRqrggsdkAgAh+QQFCgAGACwCAAAABwAFAAADD2hqELAmiFBIYY4MAutdCQAh+QQFCgAGACwGAAAABwAFAAADD1hU1kaDOKMYCGAGEeYFCQAh+QQFCgAGACwKAAIABQAHAAADEFhUZjSkKdZqBQG0IELDQAIAIfkEBQoABgAsCgAGAAUABwAAAxBoVlRKgyjmlAIBqCDCzUoCACH5BAUKAAYALAYACgAHAAUAAAMPaGpFtYYMAgJgLogA610JACH5BAUKAAYALAIACgAHAAUAAAMPCAHWFiI4o1ghZZJB5i0JACH5BAUKAAYALAAABgAFAAcAAAMQCAFmIaEp1motpDQySMNFAgA7\\\") 0 no-repeat}.ztree[data-v-7a8508a3] .tmpTargetzTree{opacity:.8;background-color:#2ea9df;filter:alpha(opacity=80)}.ztree[data-v-7a8508a3] .tmpzTreeMove_arrow{position:absolute;width:18px;height:18px;color:#4fcbf0}.ztree[data-v-7a8508a3] .ztree.zTreeDragUL{overflow:hidden;position:absolute;width:auto;height:auto;margin:0;padding:0;opacity:.8;border:1px dotted #176b53;background-color:#dbdbdb;filter:alpha(opacity=80)}.zTreeMask[data-v-7a8508a3]{position:absolute;z-index:10000;opacity:0;background-color:#cfcfcf;filter:alpha(opacity=0)}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".sy-button-dots[data-v-7dfeed5e]{width:18px;height:18px;cursor:pointer}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto;resize:vertical}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}[hidden],template{display:none}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./save-local.vue?vue&type=style&index=0&id=5c790fce&lang=scss&scoped=true&\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"77eb15f6\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","export * from \"-!../../../node_modules/vue-style-loader/index.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select-tree.vue?vue&type=style&index=0&id=1dce1332&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/vue-style-loader/index.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./newSearchBar.vue?vue&type=style&index=0&id=2592bd66&lang=scss&scoped=true&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".syswin-searchbar-dialog .el-dialog__header{padding:16px 24px;border-bottom:1px solid #ebedf1}.syswin-searchbar-dialog .el-dialog__header .el-dialog__title{line-height:24px;font-size:16px;color:rgba(0,0,0,.85)}.syswin-searchbar-dialog .el-dialog__body{padding:24px}.syswin-searchbar-dialog .el-dialog__footer{padding:12px;border-top:1px solid #ebedf1}.syswin-searchbar-modal-container__input{width:336px}.syswin-searchbar-modal-container__input .el-input__inner{border-radius:2px}.syswin-searchbar-dialog .syswin-searchbar-modal-footer{text-align:center}.syswin-searchbar-modal-footer__confirm{background-color:#027aff}.syswin-searchbar-modal-footer__cancel,.syswin-searchbar-modal-footer__confirm{padding:0;width:72px;height:32px;font-size:12px;border-radius:2px}.syswin-searchbar-confirm{padding-bottom:0}.syswin-searchbar-confirm .el-message-box__header{padding:16px 24px 8px}.syswin-searchbar-confirm .el-message-box__header .el-message-box__title{line-height:24px;font-size:16px;color:rgba(0,0,0,.85)}.syswin-searchbar-confirm .el-message-box__content{padding:12px 24px;color:rgba(0,0,0,.65)}.syswin-searchbar-confirm .el-message-box__btns{padding:12px;text-align:center}.syswin-searchbar-confirm .syswin-searchbar-confirm-btns{text-align:center}.syswin-searchbar-confirm-btns__confirm{background-color:#027aff}.syswin-searchbar-confirm-btns__cancel,.syswin-searchbar-confirm-btns__confirm{padding:0;width:72px;height:32px;font-size:12px;border-radius:2px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=337b4410&lang=scss&scoped=true&\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"95177d78\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAA2CAYAAAAoL9IOAAAACXBIWXMAAAsTAAALEwEAmpwYAAAF62lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAxOC0wOS0wM1QxNzo0NzozMCswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMTgtMDktMDNUMTc6NDg6MDYrMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMTgtMDktMDNUMTc6NDg6MDYrMDg6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ZWVhMzg2ZWItZGE2Ni0yMjRjLTk0MDYtYmEzNzZlYWI2ZDNiIiB4bXBNTTpEb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6ZDAxMWU3YmYtZjBjNi02YTQyLTg2YjQtNWI2Mzk0NjU3MzM4IiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6MzZjYzg3Y2QtZTNiYi04NjQ0LWExY2UtMGRjODdhNmY3YjdmIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDozNmNjODdjZC1lM2JiLTg2NDQtYTFjZS0wZGM4N2E2ZjdiN2YiIHN0RXZ0OndoZW49IjIwMTgtMDktMDNUMTc6NDc6MzArMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cykiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmVlYTM4NmViLWRhNjYtMjI0Yy05NDA2LWJhMzc2ZWFiNmQzYiIgc3RFdnQ6d2hlbj0iMjAxOC0wOS0wM1QxNzo0ODowNiswODowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4CQO1WAAACDElEQVRYhe2XwWrUQABA32STTVy3N7faartV9GYp3or4ER6K9uDBs4p40ApVkBZKQSuKh4KHfkC7nyHoSaTUIqJiW29bCt219mKT8dBGJpvZZJOdi7jvlgnz8oZMBiLqO41l4A6wjSEs4BrwEZgwKQXoB2rAMlAxJQ0xUt0qBQPVOmlI7uokKeSsTpOGZKruVAoZqrNIQ1Kr80ghpTqvNERb3a0UNNWivtOQBsQhdeC2aSlgZvk9aU+qYKsXt+495POXr1iWSJ0YBJKR6jBLiy9i9yKbf3PrB7uNJr7vA9DXV8ZzXaTm8xACbNtm4NTJZGkrUkr29n6BACGi9TKQOI6N53mxeZHlz8wvUB06w80bkwBMPZ7l/YfVds/kwvlzvH61kFx69/40a+ufqA4PMfPoAZXKCfwDv620ULAolUrJpUEQAFB0HISwKDoOv2n/0hzH1o5HRk8PDnLl8jiTE1cBmJ1/zpu377QTpYRLY6M8m3sSu5d69DWbP2Mv6VAqcT0Xt1hMLt3Y3GK30UQe7aFy+TjHPO/vdaRGCAr7+9otFZHOPX3Jt+8bSeERzo5U0ze/Kf6dA6Un/U+l28B1k9IacBFY0Z9d2ahz+MdYCwe6La0Bo6oQWg6UDMTqVPKUautUspQm1ql0Wppap5JW2nGdSlJppjoVXWmuOpXW0tx1KmFp13UqFobqVP4AtSOiO7PzgXoAAAAASUVORK5CYII=\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".sy-select-tree[data-v-1dce1332]{position:relative;z-index:20}.sy-select-tree .tree-wrapper[data-v-1dce1332]{position:absolute;left:0;right:1px;top:34px;border:1px solid #ccc;background:#fff;padding-bottom:8px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_GET_URL_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/getUrl.js\");\nvar ___CSS_LOADER_URL_IMPORT_0___ = require(\"./iconfont.eot?t=1611200046448\");\nvar ___CSS_LOADER_URL_IMPORT_1___ = require(\"./iconfont.woff?t=1611200046448\");\nvar ___CSS_LOADER_URL_IMPORT_2___ = require(\"./iconfont.ttf?t=1611200046448\");\nvar ___CSS_LOADER_URL_IMPORT_3___ = require(\"./iconfont.svg?t=1611200046448\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___, { hash: \"#iefix\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\nvar ___CSS_LOADER_URL_REPLACEMENT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___, { hash: \"#iconfont\" });\n// Module\nexports.push([module.id, \"@font-face{font-family:iconfont;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format(\\\"embedded-opentype\\\"),url(\\\"data:application/x-font-woff2;charset=utf-8;base64,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\\\") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \") format(\\\"truetype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \") format(\\\"svg\\\")}.iconfont{font-family:iconfont!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-file:before{content:\\\"\\\\e671\\\"}.icon-modular:before{content:\\\"\\\\e678\\\"}.icon-add:before{content:\\\"\\\\e742\\\"}.icon-reduce:before{content:\\\"\\\\e75e\\\"}.icon-close:before{content:\\\"\\\\e668\\\"}.icon-minus:before{content:\\\"\\\\e67a\\\"}.icon-add-bold:before{content:\\\"\\\\e685\\\"}.icon-close-bold:before{content:\\\"\\\\e686\\\"}.icon-minus-bold:before{content:\\\"\\\\e687\\\"}.icon-quyufengongsi:before{content:\\\"\\\\e612\\\"}.icon-drag:before{content:\\\"\\\\e842\\\"}.icon-filter-fill:before{content:\\\"\\\\e866\\\"}.icon-yewushezhi:before{content:\\\"\\\\e65f\\\"}.icon-zuhu:before{content:\\\"\\\\e611\\\"}.icon-yezhu:before{content:\\\"\\\\e615\\\"}.icon-fengongsi:before{content:\\\"\\\\e608\\\"}.icon-guanlichu:before{content:\\\"\\\\e609\\\"}.icon-quyujiedian:before{content:\\\"\\\\e60a\\\"}.icon-loudong:before{content:\\\"\\\\e60b\\\"}.icon-fangjian:before{content:\\\"\\\\e60c\\\"}.icon-danyuan:before{content:\\\"\\\\e60e\\\"}.icon-xiangmujiedian:before{content:\\\"\\\\e60f\\\"}.icon-jituan:before{content:\\\"\\\\e610\\\"}.icon-zhuanyebumen:before{content:\\\"\\\\e613\\\"}.icon-gongyingshang:before{content:\\\"\\\\e614\\\"}.icon-add1:before{content:\\\"\\\\e664\\\"}.icon-add-circle:before{content:\\\"\\\\e665\\\"}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App2.vue?vue&type=style&index=0&id=c9d515ce&lang=scss&scoped=true&\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"e616f232\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"[data-v-4081269a]:root{--size-height:32px;--primary-color:#027aff;--page-bg:#f2f5f9;--primary-hover-color:#3595ff;--primary-disabled-color:#81bdff;--success-color:#67c23a;--warning-color:#e6a23c;--danger-color:#f56c6c;--active-color:#4a8df0;--disable-color:#b3b5b9;--light-color:#e6f2ff;--disable-text-color:#bcbec2;--disable-border-color:#ebeef5;--sideBarWidth:210px;--borderColor:#e4e7ed;--text-color:rgba(0,0,0,0.65)}.sy-select-project[data-v-4081269a]{height:100%;color:#000;font-weight:700}.sy-select-project .drop-icon[data-v-4081269a]{transition:all .3s linear}.sy-select-project .drop-icon.isOpen[data-v-4081269a]{transform:rotate(180deg)}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","export * from \"-!../../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./zTree.vue?vue&type=style&index=0&id=7a8508a3&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/vue-style-loader/index.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./noData.vue?vue&type=style&index=0&id=bf708e56&lang=scss&scoped=true&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \":root{--size-height:32px;--primary-color:#027aff;--page-bg:#f2f5f9;--primary-hover-color:#3595ff;--primary-disabled-color:#81bdff;--success-color:#67c23a;--warning-color:#e6a23c;--danger-color:#f56c6c;--active-color:#4a8df0;--disable-color:#b3b5b9;--light-color:#e6f2ff;--disable-text-color:#bcbec2;--disable-border-color:#ebeef5;--sideBarWidth:210px;--borderColor:#e4e7ed;--text-color:rgba(0,0,0,0.65)}.border-1{border:1px solid currentColor}.border-top-1{border-top:1px solid currentColor}.border-bottom-1{border-bottom:1px solid currentColor}.border-left-1{border-left:1px solid currentColor}.border-right-1{border-right:1px solid currentColor}.border-2{border:2px solid currentColor}.border-top-2{border-top:2px solid currentColor}.border-bottom-2{border-bottom:2px solid currentColor}.border-left-2{border-left:2px solid currentColor}.border-right-2{border-right:2px solid currentColor}.border-3{border:3px solid currentColor}.border-top-3{border-top:3px solid currentColor}.border-bottom-3{border-bottom:3px solid currentColor}.border-left-3{border-left:3px solid currentColor}.border-right-3{border-right:3px solid currentColor}.border-4{border:4px solid currentColor}.border-top-4{border-top:4px solid currentColor}.border-bottom-4{border-bottom:4px solid currentColor}.border-left-4{border-left:4px solid currentColor}.border-right-4{border-right:4px solid currentColor}.border-5{border:5px solid currentColor}.border-top-5{border-top:5px solid currentColor}.border-bottom-5{border-bottom:5px solid currentColor}.border-left-5{border-left:5px solid currentColor}.border-right-5{border-right:5px solid currentColor}.box-shadow{box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.margin-10{margin:10px}.margin-top-10{margin-top:10px}.margin-bottom-10{margin-bottom:10px}.margin-left-10{margin-left:10px}.margin-right-10{margin-right:10px}.padding-10{padding:10px}.padding-top-10{padding-top:10px}.padding-bottom-10{padding-bottom:10px}.padding-left-10{padding-left:10px}.padding-right-10{padding-right:10px}.margin-15{margin:15px}.margin-top-15{margin-top:15px}.margin-bottom-15{margin-bottom:15px}.margin-left-15{margin-left:15px}.margin-right-15{margin-right:15px}.padding-15{padding:15px}.padding-top-15{padding-top:15px}.padding-bottom-15{padding-bottom:15px}.padding-left-15{padding-left:15px}.padding-right-15{padding-right:15px}.margin-20{margin:20px}.margin-top-20{margin-top:20px}.margin-bottom-20{margin-bottom:20px}.margin-left-20{margin-left:20px}.margin-right-20{margin-right:20px}.padding-20{padding:20px}.padding-top-20{padding-top:20px}.padding-bottom-20{padding-bottom:20px}.padding-left-20{padding-left:20px}.padding-right-20{padding-right:20px}.margin-25{margin:25px}.margin-top-25{margin-top:25px}.margin-bottom-25{margin-bottom:25px}.margin-left-25{margin-left:25px}.margin-right-25{margin-right:25px}.padding-25{padding:25px}.padding-top-25{padding-top:25px}.padding-bottom-25{padding-bottom:25px}.padding-left-25{padding-left:25px}.padding-right-25{padding-right:25px}.margin-30{margin:30px}.margin-top-30{margin-top:30px}.margin-bottom-30{margin-bottom:30px}.margin-left-30{margin-left:30px}.margin-right-30{margin-right:30px}.padding-30{padding:30px}.padding-top-30{padding-top:30px}.padding-bottom-30{padding-bottom:30px}.padding-left-30{padding-left:30px}.padding-right-30{padding-right:30px}.fz-12{font-size:12px}.fz-13{font-size:13px}.fz-14{font-size:14px}.fz-15{font-size:15px}.fz-16{font-size:16px}.fz-17{font-size:17px}.fz-18{font-size:18px}.fz-19{font-size:19px}.fz-20{font-size:20px}.fz-21{font-size:21px}.fz-22{font-size:22px}.fz-23{font-size:23px}.fz-24{font-size:24px}.fz-25{font-size:25px}.fz-26{font-size:26px}.fz-27{font-size:27px}.fz-28{font-size:28px}.fz-29{font-size:29px}.fz-30{font-size:30px}.fz-31{font-size:31px}.fz-32{font-size:32px}.fz-33{font-size:33px}.fz-34{font-size:34px}.fz-35{font-size:35px}.fz-36{font-size:36px}.fz-37{font-size:37px}.fz-38{font-size:38px}.fz-39{font-size:39px}.fz-40{font-size:40px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.syswin-button:before,.vertical-center:before{content:\\\"\\\";display:inline-block;vertical-align:middle;height:100%}.text-overflow,.vertical-center{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.syswin-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #dcdfe6;color:#606266;text-align:center;box-sizing:border-box;outline:none;margin:0;transition:.1s;font-weight:500;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:9px 15px;font-size:12px;border-radius:2px}.syswin-button+.syswin-button{margin-left:10px}.syswin-button:hover{color:var(--primary-color);border-color:#b3d7ff;background-color:var(--light-color)}.syswin-button.disabled{cursor:not-allowed;color:var(--disable-text-color);background:#fff;border-color:var(--disable-border-color)}.syswin-button.primary{color:#fff;background:var(--primary-color);border-color:var(--primary-color)}.syswin-button.primary:focus,.syswin-button.primary:hover{background:var(--primary-hover-color);border-color:var(--primary-hover-color)}.syswin-button.primary.disabled{background:var(--primary-disabled-color);border-color:var(--primary-disabled-color)}.syswin-button.success{color:#fff;background:var(--success-color);border-color:var(--success-color)}.syswin-button.warning{color:#fff;background:var(--warning-color);border-color:var(--warning-color)}.syswin-button.danger{color:#fff;background:var(--danger-color);border-color:var(--danger-color)}.syswin-button.is-plain{color:var(--primary-color);background:#fff;border-color:var(--primary-color);height:20px;padding:0 10px;min-width:60px}.syswin-button.is-plain:hover{color:#fff;background:var(--primary-color);border-color:var(--primary-color)}.syswin-button.is-plain.disabled{cursor:not-allowed;color:var(--disable-text-color);background:#fff;border-color:var(--disable-border-color)}.syswin-button.is-text{font-size:14px;border-color:transparent;color:var(--primary-color);background:transparent;padding:0}.syswin-button.is-text.disabled{color:var(--disable-text-color)}.syswin-page{padding:0 24px 20px;background-color:var(--page-bg);box-sizing:border-box}.syswin-page>.syswin-container{padding:0 20px;background-color:#fff}.syswin-top{height:44px;display:flex;align-items:center;padding:0 20px;background-color:var(--page-bg);justify-content:space-between}.syswin-top>.name,.syswin-top>.title{font-size:14px;color:#000;font-weight:700}.syswin-container,.syswin-page{display:flex;flex:1;height:100%;overflow:hidden;position:relative;box-sizing:border-box}.syswin-container.horizontal,.syswin-page.horizontal{flex-direction:row}.syswin-container.vertical,.syswin-page.vertical{flex-direction:column}.syswin-container .syswin-aside,.syswin-page .syswin-aside{width:260px;position:relative}.syswin-container .syswin-aside.hidden,.syswin-page .syswin-aside.hidden{width:0}.syswin-container .syswin-aside__expand,.syswin-page .syswin-aside__expand{position:absolute;width:21px;height:54px;right:0;top:50%;cursor:pointer;transform:translateY(-50%);background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAA2CAYAAAAoL9IOAAACCElEQVRYhe3YQWsTQRjG8f9kk1ysSTw0N9uKiogWEU8W/BZiP0BvXqQohUAxUAhUStVD6kEvHjxU24PfRMSjYrOJYJvQltII3WZ3x0NNOk1nd5PduQh5IIdsyJPf5p0ZQkRz9wCDGQeqaYOFD4E1oJgyUDYOfAQ2gCJAUmlPp16MKz2nUxNHqtWpGUYaqlMzqDRSpyZKOrBOTZh0KJ0anTSWTk2/NLZOTVeaWKcmjSGdGtHcPZCmyroxcaCMSkelSrQHytzjeWp2nVRKRBb4vuTG9Wu8ef2id027+H9v7+C6LlKzLYSAI8fh8LANgGVZFPI5Jicuh0svFfJ0Oi6iTyqlBAljYxcQIvgutKVPFhb5/uNn4Jvu3b3DSqUMwPsP69iNX5RLz8JLXy0v4Xl+YKmVtrDrDcqVFex6g+lbN6Ol2WyWTscNLM1k0giRIpvJAOD7ZwHa0lK5wpev3wj62h7M3Od56Slvq6usb35mq1Y/87p2+s7xMc6Rox2GlJJc7mLgXQRK9/b28TzvZNp9EUKw02rRbv/pPS/kc0xNToSXLi4ts1WzQzVqrl6Z4t3ay9MPHp38o9L/pHQWaJku/QTc5uTHmbFSgCbw6N+jaaq0mw1gmoRq3aASq8OmH1sdtaRiqQddp0Oph1n8A6vj7KhIddxtGqpOuve1ahMHyjm1MPzHTBGo/gVyOKbfrsOPTQAAAABJRU5ErkJggg==\\\")}.syswin-container .syswin-aside__expand.is-collapse,.syswin-page .syswin-aside__expand.is-collapse{transform:rotateY(180deg) translate(-100%,-50%)}.syswin-container .syswin-header,.syswin-page .syswin-header{flex-shrink:0;padding:16px 0}.syswin-container .syswin-footer,.syswin-page .syswin-footer{flex-shrink:0;padding:10px 0}.syswin-container .syswin-main,.syswin-page .syswin-main{width:100%;flex-basis:auto;flex:1;overflow:auto}.syswin-form.col-1>.el-form-item{float:left;width:100%;margin-right:0;padding-right:15px;box-sizing:border-box}.syswin-form>.el-form-item.col-1{width:100%!important}.syswin-form.col-2>.el-form-item{float:left;width:50%;margin-right:0;padding-right:15px;box-sizing:border-box}.syswin-form>.el-form-item.col-2{width:50%!important}.syswin-form.col-3>.el-form-item{float:left;width:33.33333%;margin-right:0;padding-right:15px;box-sizing:border-box}.syswin-form>.el-form-item.col-3{width:33.33333%!important}.syswin-form.col-4>.el-form-item{float:left;width:25%;margin-right:0;padding-right:15px;box-sizing:border-box}.syswin-form>.el-form-item.col-4{width:25%!important}.syswin-form.col-5>.el-form-item{float:left;width:20%;margin-right:0;padding-right:15px;box-sizing:border-box}.syswin-form>.el-form-item.col-5{width:20%!important}.syswin-form:after{content:\\\".\\\";display:block;height:0;clear:both;visibility:hidden}.syswin-form .el-form-item__content{display:flex}.syswin-form .el-cascader,.syswin-form .el-input,.syswin-form .el-select,.syswin-form .el-textarea{flex:1;width:100%}.syswin-switch{position:relative;height:26px;line-height:26px}.syswin-switch:before{content:attr(inactive-label);color:#b3b5b9;position:absolute;left:26px;z-index:2}.syswin-switch .el-switch__core{box-sizing:border-box;width:64px!important;height:26px;line-height:26px;border-radius:13px;background:#f7faff}.syswin-switch .el-switch__core:before{display:none}.syswin-switch .el-switch__core:after{height:20px;width:20px;background:#e0e5ed;left:2px;top:2px}.syswin-switch.is-checked:before{content:attr(active-label);color:var(--active-color);left:8px}.syswin-switch.is-checked .el-switch__core{background-color:#fff!important}.syswin-switch.is-checked .el-switch__core:after{margin-left:-22px!important;background:#4a8df0!important}.syswin-dialog{display:flex;align-items:center}.syswin-dialog .el-dialog{max-height:90%;margin-top:0!important;margin-bottom:0;flex-direction:column;display:flex}.syswin-dialog .el-dialog .el-dialog__header{padding:0;border-bottom:1px solid var(--borderColor)}.syswin-dialog .el-dialog .el-dialog__header .el-dialog__title{font-size:14px;line-height:42px;height:42px;display:block;padding:0 24px;font-weight:700}.syswin-dialog .el-dialog .el-dialog__header .el-dialog__headerbtn{top:12px;right:17px}.syswin-dialog .el-dialog .el-dialog__body{padding:20px 12px;overflow:auto}.syswin-dialog .el-dialog .el-dialog__footer{border-top:1px solid var(--borderColor);padding:15px 20px;text-align:center}.syswin-dialog.fullscreen .el-dialog{width:100%;height:100%}.syswin-dialog.fullscreen .el-dialog,.syswin-dialog .is-fullscreen{max-height:100%}.syswin-dialog.fullscreen .el-dialog .el-dialog__body,.syswin-dialog .is-fullscreen .el-dialog__body{height:100%;padding:0;overflow:hidden}.syswin-dialog.no-scroll .el-dialog{height:90%}.syswin-dialog.no-scroll .el-dialog__body{display:flex;flex:1;flex-direction:column;overflow:hidden}.syswin-dialog.is-inner .el-dialog__title{text-align:center}.syswin-drawer.mini .el-drawer{width:400px}.syswin-drawer.small .el-drawer{width:50%}.syswin-drawer.large .el-drawer{width:80%}.syswin-drawer.fullscreen .el-drawer{width:100%}.syswin-drawer .el-drawer{top:0;bottom:0;height:auto}.syswin-drawer .el-drawer__header{font-size:14px;line-height:42px;height:42px;color:#333;padding:0 24px;font-weight:700;margin-bottom:0;border-bottom:1px solid var(--borderColor)}.syswin-drawer .el-drawer__header .el-drawer__close-btn{padding:0}.syswin-drawer .el-drawer__body{display:flex;flex-direction:column;overflow:hidden}.syswin-drawer .drawer-main{flex:1}.syswin-drawer .drawer-footer{text-align:center;padding:15px 20px;border-top:1px solid var(--borderColor)}.syswin-top-tabs{display:inline-block}.syswin-top-tabs .el-tabs__item{color:#131414;font-weight:400!important;font-size:16px;padding:0 16px!important;font-family:PingFang SC-Regular,PingFang SC}.syswin-top-tabs .el-tabs__item:hover{color:var(--primary-color)}.syswin-top-tabs .el-tabs__nav-wrap:after{height:0!important}.syswin-top-tabs .el-tabs__item:nth-child(2){padding-left:0!important}.syswin-top-tabs .el-tabs__item:after{content:\\\"\\\";display:inline-block;width:1px;height:20px;background-color:#d8dde5;position:relative;left:16px;top:4px}.syswin-top-tabs .el-tabs__item:last-child:after{content:\\\"\\\";display:none}.syswin-top-tabs .is-active{color:var(--primary-color);font-weight:600!important}.syswin-top-tabs .el-tabs__active-bar{display:none}.syswin-top-tabs .el-tabs__item:focus.is-active.is-focus:not(:active){box-shadow:none!important}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./input-more.vue?vue&type=style&index=0&id=3d5df6b4&lang=scss&scoped=true&\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"5c625b86\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","module.exports = __webpack_public_path__ + \"fonts/iconfont.f25a738c.woff\";","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./zTree.vue?vue&type=style&index=0&id=7a8508a3&scoped=true&lang=css&\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"46cf7f37\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".content[data-v-198eb7f9],.content .dragItem[data-v-198eb7f9]{width:100%;box-sizing:border-box}.content .dragItem[data-v-198eb7f9]{height:30px;line-height:30px;background:#fff;padding:0 10px;cursor:move}.content .dragItem .itemLock[data-v-198eb7f9]{float:right;opacity:0;cursor:pointer;transition:opacity .1s}.content .dragItem .itemIsLock[data-v-198eb7f9]{cursor:pointer;float:right}.content .dragItem .dragIcon[data-v-198eb7f9]{float:right;opacity:0;transition:opacity .1s;margin-right:8px}.content .dragItem[data-v-198eb7f9]:hover{color:#027aff}.content .dragItem:hover .dragIcon[data-v-198eb7f9],.content .dragItem:hover .itemLock[data-v-198eb7f9]{opacity:1}.content .confirmBtn[data-v-198eb7f9]{margin:16px auto 0;width:72px;height:32px;line-height:30px;text-align:center;border-radius:4px;color:#fff;background:#027aff;cursor:pointer}.dragSetting[data-v-198eb7f9]{position:absolute;right:0;top:0;height:40px;line-height:40px;padding:0 2px;background:#f2f5f9;border:1px solid #ebeef5;border-left:1px solid #d8d8d8;color:#606266;z-index:20}ul[data-v-198eb7f9]{margin:0;padding:0;border:0;line-height:100%}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","module.exports = __webpack_public_path__ + \"img/iconfont.451d6d18.svg\";","export * from \"-!../../../node_modules/vue-style-loader/index.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dragSet.vue?vue&type=style&index=0&id=198eb7f9&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/vue-style-loader/index.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./button-container.vue?vue&type=style&index=0&id=7dfeed5e&lang=scss&scoped=true&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".syswin-searchbar[data-v-5c790fce]{position:relative}.syswin-searchbar .syswin-searchbar-container[data-v-5c790fce]{box-sizing:border-box;padding:16px 0;height:64px;overflow:hidden;display:flex;align-items:center}.syswin-searchbar .syswin-searchbar-container .el-button--small[data-v-5c790fce]{padding:8px 15px}.syswin-searchbar-container__input[data-v-5c790fce]{float:left;width:336px}.syswin-searchbar-container__input[data-v-5c790fce] .el-input__inner{border-radius:2px}.syswin-searchbar-container__filter[data-v-5c790fce]{margin-left:8px;color:#027aff;font-size:14px}.syswin-searchbar-container__filter[data-v-5c790fce]:focus,.syswin-searchbar-container__filter[data-v-5c790fce]:hover{background:transparent!important;color:#027aff!important;border-color:transparent!important}.syswin-searchbar-container__filter .el-icon-caret-bottom[data-v-5c790fce]{transition:all .3s cubic-bezier(.645,.045,.355,1)}.syswin-searchbar-container__filter .el-icon-caret-bottom.is-rotate-180[data-v-5c790fce]{transform:rotate(180deg)}.syswin-searchbar-container__search[data-v-5c790fce]{padding:0;width:72px;height:32px;font-size:12px;border-radius:2px;background-color:#027aff}.syswin-searchbar-container__search.is-margin-left-16[data-v-5c790fce]{margin-left:16px}.syswin-searchbar-container__reset[data-v-5c790fce]{padding:0;width:72px;height:32px;font-size:12px;border-radius:2px}.syswin-searchbar-container__reset[data-v-5c790fce]:hover{color:#606266!important;border-color:#dcdfe6!important;background:#fff!important}.syswin-searchbar-container__listBtns[data-v-5c790fce]{position:absolute;right:0}.syswin-searchbar-container__listBtns .el-button--text[data-v-5c790fce]{color:#027aff}.syswin-searchbar .syswin-searchbar-list[data-v-5c790fce]{box-sizing:border-box;position:absolute;padding:16px 24px;width:100%;background-color:#fafafa;box-shadow:0 6px 16px -8px rgba(0,0,0,.08),0 9px 28px 0 rgba(0,0,0,.05),0 12px 48px 16px rgba(0,0,0,.03);z-index:1000;overflow:hidden}.syswin-searchbar .syswin-searchbar-list[data-v-5c790fce] .el-range-editor--small .el-range-separator{line-height:28px}.syswin-searchbar-list__wrap[data-v-5c790fce]{border:1px solid #eaedf1;border-bottom:none}.syswin-searchbar-list__footer[data-v-5c790fce]{display:flex;margin-top:16px}.syswin-searchbar-list__footer.align-right[data-v-5c790fce]{text-align:right;justify-content:flex-end}.syswin-searchbar .syswin-filter-item[data-v-5c790fce]{display:flex;align-items:stretch;border-bottom:1px solid #eaedf1;background-color:#f6f7fb}.syswin-filter-item__title[data-v-5c790fce]{box-sizing:border-box;width:96px;height:48px;margin:0;padding:0 8px;line-height:48px;text-align:center;color:#5e6470;font-size:14px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.syswin-filter-item__content[data-v-5c790fce]{margin:0;padding:0;list-style:none;flex:1;border-left:1px solid #eaedf1;background-color:#fafafa;overflow:hidden;display:flex;flex-wrap:wrap}.syswin-filter-item__content .el-date-editor[data-v-5c790fce]{border-radius:2px}.syswin-filter-item__li[data-v-5c790fce]{display:flex;align-items:center;padding:0 12px;line-height:48px;color:rgba(0,0,0,.65)}.syswin-filter-item__li[data-v-5c790fce] .el-select .el-input__icon{line-height:48px}.syswin-filter-item__span[data-v-5c790fce]{box-sizing:border-box;display:block;width:100%;height:100%;font-size:14px;cursor:pointer}.syswin-filter-item__span.is-active[data-v-5c790fce]{color:#027aff}.syswin-filter-item__name[data-v-5c790fce]{margin-right:5px}.syswin-filter-item__subTitle[data-v-5c790fce]{float:left;margin:0 8px 0 0;font-size:14px;font-weight:600}.syswin-filter-item__subContent[data-v-5c790fce]{margin:0;padding:0;list-style:none;background-color:#fafafa;overflow:hidden}.syswin-filter-item__subContent .el-date-editor[data-v-5c790fce]{border-radius:2px}.syswin-filter-item__subLi[data-v-5c790fce]{float:left;padding:0 12px;line-height:48px;color:rgba(0,0,0,.65)}.syswin-footer__save[data-v-5c790fce]{padding:0;width:72px;height:32px;font-size:12px;border-radius:2px}.syswin-footer__condition[data-v-5c790fce]{margin:0 16px;width:127px;height:32px}.syswin-footer__condition[data-v-5c790fce] .el-input__inner{border-radius:2px}.syswin-footer__label[data-v-5c790fce]{float:left;width:116px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.syswin-footer__edit[data-v-5c790fce]{color:#027aff}.syswin-footer__delete[data-v-5c790fce],.syswin-footer__edit[data-v-5c790fce]{float:right;margin-left:8px;line-height:34px}.syswin-footer__delete[data-v-5c790fce]{color:#ff4d4f}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-3-1!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-3-2!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-3-3!./iconfont.css\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"497924bc\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('div',{staticClass:\"fixed-btn\"},[_c('el-button',{attrs:{\"type\":\"success\",\"size\":\"small\"},on:{\"click\":function($event){_vm.menuShow = !_vm.menuShow}}},[_vm._v(\"切演示页面\")]),_c('div',{staticStyle:{\"margin-top\":\"4px\",\"user-select\":\"none\"}},[_c('el-collapse-transition',[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.menuShow),expression:\"menuShow\"}]},[_c('div',{staticClass:\"transition-box\",on:{\"click\":function($event){return _vm.jumpToPage('/app1')}}},[_vm._v(\"页面1\")]),_c('div',{staticClass:\"transition-box\",on:{\"click\":function($event){return _vm.jumpToPage('/app2')}}},[_vm._v(\"页面2\")]),_c('div',{staticClass:\"transition-box\",on:{\"click\":function($event){return _vm.jumpToPage('/app3')}}},[_vm._v(\"页面3\")]),_c('div',{staticClass:\"transition-box\",on:{\"click\":function($event){return _vm.jumpToPage('/app4')}}},[_vm._v(\"页面4\")])])])],1)],1),_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div id=\"app\">\r\n <div class=\"fixed-btn\">\r\n <el-button type=\"success\" size=\"small\" @click=\"menuShow = !menuShow\">切演示页面</el-button>\r\n <div style=\"margin-top: 4px; user-select: none\">\r\n <el-collapse-transition>\r\n <div v-show=\"menuShow\">\r\n <div @click=\"jumpToPage('/app1')\" class=\"transition-box\">页面1</div>\r\n <div @click=\"jumpToPage('/app2')\" class=\"transition-box\">页面2</div>\r\n <div @click=\"jumpToPage('/app3')\" class=\"transition-box\">页面3</div>\r\n <div @click=\"jumpToPage('/app4')\" class=\"transition-box\">页面4</div>\r\n </div>\r\n </el-collapse-transition>\r\n </div>\r\n </div>\r\n <router-view />\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n data: () => ({\r\n menuShow: false\r\n }),\r\n methods: {\r\n jumpToPage(path) {\r\n this.$router.push(path)\r\n this.menuShow = false\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.fixed-btn {\r\n position: fixed;\r\n z-index: 100;\r\n left: 50%;\r\n top: 6px;\r\n margin-left: -46px;\r\n}\r\n\r\n.menu-box {\r\n display: flex;\r\n}\r\n\r\n.transition-box {\r\n margin-bottom: 4px;\r\n width: 92px;\r\n border-radius: 2px;\r\n background-color: #409eff;\r\n text-align: center;\r\n color: #fff;\r\n padding: 10px 10px;\r\n box-sizing: border-box;\r\n cursor: pointer;\r\n}\r\n</style>\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=337b4410&scoped=true&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=337b4410&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"337b4410\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('sy-layout',{attrs:{\"title\":\"物料类别\"},scopedSlots:_vm._u([{key:\"headRight\",fn:function(){return [_c('sy-select-project',{ref:\"selectProject\",attrs:{\"nodes\":_vm.projectNodes,\"beforeClick\":_vm.beforeClick},on:{\"search\":_vm.searchProject,\"click\":_vm.onSelectProject}}),_c('div',{staticClass:\"drop-select-year\"},[_c('el-date-picker',{staticStyle:{\"width\":\"56px\"},attrs:{\"editable\":false,\"clearable\":false,\"type\":\"year\"},on:{\"change\":_vm.yearChange},model:{value:(_vm.curYear),callback:function ($$v) {_vm.curYear=$$v},expression:\"curYear\"}}),_c('i',{staticClass:\"el-icon-caret-bottom right-p\"})],1)]},proxy:true},{key:\"left\",fn:function(){return [_c('sy-search-tree',{ref:\"leftTree\",attrs:{\"setting\":_vm.setting,\"nodes\":_vm.nodes},on:{\"onClick\":_vm.onClick,\"onCreated\":_vm.handleCreated,\"searchTree\":_vm.searchTree}})]},proxy:true}])},[_c('sy-newsearchbar',{ref:\"syNewSearchBar\",attrs:{\"placeholder\":_vm.placeholder,\"savedCondition\":_vm.savedCondition},on:{\"searchTable\":_vm.searchTable,\"clearTags\":_vm.clearTags,\"saveScreeningCriteria\":_vm.saveScreeningCriteria,\"selectChange\":_vm.selectChange,\"deleteItem\":_vm.deleteItem}},[_c('span',{attrs:{\"slot\":\"filtrateConditions\"},slot:\"filtrateConditions\"},[_c('el-button',{staticClass:\"el-input__icon el-icon-menu\",attrs:{\"type\":\"text\"}})],1),_vm._t(\"listButtons\",null,{\"slot\":\"listBtns\"}),_c('ul',_vm._l((_vm.filterItems),function(item,idx){return _c('li',{key:item.name,staticClass:\"filter-item\",class:{ h40: item.isShrink },style:({ lineHeight: '48px' })},[_c('ul',[_c('li',{staticClass:\"item-title\",style:({ lineHeight: '48px' })},[_vm._v(\" \"+_vm._s(item.name)+\" \")]),_c('li',{staticClass:\"item-list\",staticStyle:{\"width\":\"calc(100% - 50px)\"}},[_c('ul',[(idx === 1)?_c('li',[_c('el-date-picker',{attrs:{\"type\":\"daterange\",\"format\":\"yyyy-MM-dd\",\"value-format\":\"yyyy-MM-dd HH:mm:ss\",\"default-time\":['00:00:00', '23:59:59'],\"prefix-icon\":\"el-icon-date\",\"range-separator\":\"至\",\"start-placeholder\":\"开始时间\",\"end-placeholder\":\"结束时间\"},on:{\"change\":_vm.handleTimePicker},model:{value:(_vm.timeVal),callback:function ($$v) {_vm.timeVal=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"timeVal\"}})],1):_vm._e(),_vm._l((item.itemList),function(listItem,index){return _c('li',{key:listItem.id,class:{\n isActive: listItem.isActive ? '#4A8DF0' : ''\n },on:{\"click\":function($event){return _vm.clickItemHandle(item.id, listItem.id, item, listItem, index)}}},[_vm._v(\" \"+_vm._s(listItem.name)+\" \")])})],2)])])])}),0)],2),_c('sy-simple-search-bar',{on:{\"search\":_vm.handleSearch},model:{value:(_vm.keyword),callback:function ($$v) {_vm.keyword=$$v},expression:\"keyword\"}},[_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"el-icon-plus\"}},[_vm._v(\"新建细类\")]),_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"el-icon-remove\"},on:{\"click\":function($event){_vm.keyword = ''}}},[_vm._v(\"清空关键字\")])],1),_c('sy-select-tree',{ref:\"selectTree\",attrs:{\"width\":\"260\",\"disabled\":true,\"nodes\":_vm.projectNodes,\"beforeClick\":_vm.beforeClick},on:{\"search\":_vm.searchProject}}),_c('sy-searchbar',{ref:\"searchbarRef\",attrs:{\"searchList\":_vm.searchList,\"saveToLocalPosition\":\"left\"},on:{\"on-search\":_vm.handleSearch,\"on-reset\":_vm.handleReset},scopedSlots:_vm._u([{key:\"suffix\",fn:function(){return [_c('el-button',{staticClass:\"el-input__icon el-icon-menu\",staticStyle:{\"padding\":\"0\"},attrs:{\"type\":\"text\"}})]},proxy:true},{key:\"listBtns\",fn:function(){return [_c('sy-button-list',[(_vm.flag)?_c('sy-button-item',[_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"el-icon-plus\"},on:{\"click\":_vm.handleSave}},[_vm._v(\"新建楼栋\")])],1):_vm._e(),_c('sy-button-item',[_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"el-icon-receiving\"},on:{\"click\":_vm.handleSave}},[_vm._v(\"批量导入\")])],1),_c('sy-button-item',[_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"el-icon-circle-plus-outline\"},on:{\"click\":_vm.handleSave}},[_vm._v(\"导入主数据编码\")])],1),_c('sy-button-item',[_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"el-icon-files\"},on:{\"click\":_vm.handleSave}},[_vm._v(\"批量生成\")])],1),_c('sy-button-item',[_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"el-icon-upload2\"},on:{\"click\":_vm.handleSave}},[_vm._v(\"全部导出\")])],1),_c('sy-button-item',[_c('el-button',{attrs:{\"type\":\"text\"},on:{\"click\":_vm.handleSave}},[_vm._v(\"不传icon\")])],1)],1)]},proxy:true}])}),_c('sy-table',{ref:\"table\",attrs:{\"height\":\"calc(100% - 280px)\",\"columns\":_vm.columnsList,\"transContent\":_vm.transContent,\"data\":_vm.tableData,\"showChoiseSum\":true,\"showSummary\":true,\"sumInfo\":{ money: 300, money1: 33 },\"rowKey\":\"id\",\"nameKey\":\"app1\"},on:{\"sort-change\":_vm.handleSortChange,\"filter-change\":_vm.handleFilterChange,\"header-dragend\":_vm.headerDragend,\"selection-change\":_vm.handleSelectionChange,\"cell-click\":_vm.cellClick,\"drag-change\":_vm.dragChange},scopedSlots:_vm._u([{key:\"sn\",fn:function(){return [_c('span',[_vm._v(\"自定义表头 \"),_c('el-popover',{attrs:{\"placement\":\"bottom\",\"trigger\":\"click\",\"width\":\"160\"},model:{value:(_vm.visible),callback:function ($$v) {_vm.visible=$$v},expression:\"visible\"}},[_c('el-input',{attrs:{\"clearable\":\"\"},model:{value:(_vm.sn),callback:function ($$v) {_vm.sn=$$v},expression:\"sn\"}}),_c('div',{staticStyle:{\"text-align\":\"center\",\"margin-top\":\"20px\"}},[_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\"},on:{\"click\":function($event){_vm.visible = false}}},[_vm._v(\"确定\")])],1),_c('i',{staticClass:\"iconfont icon-filter-fill filter-icon\",class:{ 'selected-color': _vm.sn },attrs:{\"slot\":\"reference\"},on:{\"click\":function($event){$event.stopPropagation();}},slot:\"reference\"})],1)],1)]},proxy:true},{key:\"status\",fn:function(ref){\n var row = ref.row;\n var index = ref.index;\nreturn _c('span',{},[_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"状态\")]),_c('span',[_vm._v(_vm._s(row.status)+_vm._s(index))])])}},{key:\"createDate\",fn:function(ref){\n var row = ref.row;\nreturn _c('span',{},[_c('el-date-picker',{staticStyle:{\"width\":\"100%\"},attrs:{\"size\":\"small\"},model:{value:(row.createDate),callback:function ($$v) {_vm.$set(row, \"createDate\", $$v)},expression:\"row.createDate\"}})],1)}}])},[_c('el-table-column',{attrs:{\"slot\":\"start\",\"type\":\"selection\",\"width\":\"50\",\"align\":\"center\",\"fixed\":\"\",\"reserve-selection\":\"\"},slot:\"start\"}),_c('el-table-column',{attrs:{\"slot\":\"end\",\"width\":\"100\",\"fixed\":\"right\",\"label\":\"操作\"},slot:\"end\",scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('span',{staticStyle:{\"cursor\":\"pointer\",\"color\":\"#1890ff\"},on:{\"click\":function($event){return _vm.handleSave(scope.row)}}},[_vm._v(\"保存\")])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const listConfigs = [\r\n {\r\n label: '减免单号',\r\n type: '',\r\n prop: 'sn',\r\n // width: '200',\r\n minWidth: '180',\r\n style: 'color: #1890FF;cursor: pointer;',\r\n isShow: true,\r\n fixed: false,\r\n sortable: true,\r\n tooltip: true,\r\n align: 'left',\r\n headerAlign: 'left',\r\n filterType: 'text',\r\n slotHeader: 'sn'\r\n },\r\n {\r\n label: '操作人',\r\n type: '',\r\n prop: 'createbyName',\r\n // width: '200',\r\n minWidth: '100',\r\n isShow: true,\r\n fixed: false,\r\n sortable: true,\r\n tooltip: true,\r\n filterType: 'text'\r\n },\r\n {\r\n label: '操作时间',\r\n type: '',\r\n prop: 'createDate',\r\n // width: '200',\r\n minWidth: '100',\r\n isShow: true,\r\n fixed: false,\r\n sortable: true,\r\n tooltip: true,\r\n slotCell: 'createDate',\r\n filterType: 'daterange'\r\n },\r\n {\r\n label: '减免来源',\r\n type: '',\r\n prop: 'sourceName',\r\n // width: '200',\r\n minWidth: '100',\r\n isShow: true,\r\n fixed: false,\r\n sortable: false,\r\n tooltip: true,\r\n filterType: 'multiple',\r\n filters: [\r\n { label: '应收减免应收减免应收减免应收减免应收减免应收减免应收减免', value: 0 },\r\n { label: '实收减免', value: 1 },\r\n { label: '应收减免', value: 2 },\r\n { label: '实收减免', value: 3 },\r\n { label: '应收减免', value: 5 },\r\n { label: '实收减免', value: 6 },\r\n { label: '应收减免', value: 7 },\r\n { label: '实收减免', value: 8 },\r\n { label: '应收减免', value: 9 },\r\n { label: '实收减免', value: 10 },\r\n { label: '应收减免', value: 11 },\r\n { label: '实收减免', value: 12 }\r\n ]\r\n },\r\n {\r\n label: '状态',\r\n type: '',\r\n prop: 'status',\r\n // width: '200',\r\n minWidth: '100',\r\n isShow: true,\r\n fixed: false,\r\n sortable: false,\r\n tooltip: true,\r\n slotCell: 'status',\r\n filterType: 'single',\r\n filters: [\r\n { label: '审核中', value: 0 },\r\n { label: '审核通过', value: 1 },\r\n { label: '审核不通过', value: 2 }\r\n ]\r\n },\r\n {\r\n label: '金额',\r\n type: '',\r\n prop: 'money',\r\n // width: '200',\r\n minWidth: '100',\r\n isShow: true,\r\n fixed: false,\r\n sortable: false,\r\n tooltip: true\r\n },\r\n {\r\n label: '减免金减免金额减免金额减免金额减免金额减免金额减免金额减免金额减免金额额',\r\n type: '',\r\n prop: 'money1',\r\n // width: '200',\r\n minWidth: '100',\r\n isShow: true,\r\n fixed: false,\r\n sortable: true,\r\n tooltip: true\r\n },\r\n {\r\n label: '结果',\r\n type: '',\r\n prop: 'result',\r\n // width: '200',\r\n minWidth: '100',\r\n isShow: true,\r\n fixed: false,\r\n sortable: false,\r\n tooltip: true\r\n }\r\n]\r\n","<template>\r\n <!-- 左右布局 -->\r\n <sy-layout title=\"物料类别\">\r\n <template v-slot:headRight>\r\n <sy-select-project\r\n ref=\"selectProject\"\r\n :nodes=\"projectNodes\"\r\n @search=\"searchProject\"\r\n @click=\"onSelectProject\"\r\n :beforeClick=\"beforeClick\"\r\n ></sy-select-project>\r\n <div class=\"drop-select-year\">\r\n <el-date-picker @change=\"yearChange\" :editable=\"false\" :clearable=\"false\" style=\"width: 56px\" v-model=\"curYear\" type=\"year\"></el-date-picker>\r\n <i class=\"el-icon-caret-bottom right-p\"></i>\r\n </div>\r\n </template>\r\n <template v-slot:left>\r\n <sy-search-tree ref=\"leftTree\" :setting=\"setting\" :nodes=\"nodes\" @onClick=\"onClick\" @onCreated=\"handleCreated\" @searchTree=\"searchTree\" />\r\n </template>\r\n <!-- 我是内容区域, 是默认插槽,此处可放置查询条件、表格、分页 -->\r\n\r\n <sy-newsearchbar\r\n ref=\"syNewSearchBar\"\r\n :placeholder=\"placeholder\"\r\n :savedCondition=\"savedCondition\"\r\n @searchTable=\"searchTable\"\r\n @clearTags=\"clearTags\"\r\n @saveScreeningCriteria=\"saveScreeningCriteria\"\r\n @selectChange=\"selectChange\"\r\n @deleteItem=\"deleteItem\"\r\n >\r\n <span slot=\"filtrateConditions\">\r\n <el-button class=\"el-input__icon el-icon-menu\" type=\"text\"></el-button>\r\n </span>\r\n <slot name=\"listButtons\" slot=\"listBtns\"></slot>\r\n <ul>\r\n <li class=\"filter-item\" v-for=\"(item, idx) in filterItems\" :style=\"{ lineHeight: '48px' }\" :key=\"item.name\" :class=\"{ h40: item.isShrink }\">\r\n <ul>\r\n <li class=\"item-title\" :style=\"{ lineHeight: '48px' }\">\r\n {{ item.name }}\r\n </li>\r\n <li class=\"item-list\" style=\"width: calc(100% - 50px)\">\r\n <ul>\r\n <!-- 申请时间选项,单独处理 -->\r\n <li v-if=\"idx === 1\">\r\n <el-date-picker\r\n v-model.trim=\"timeVal\"\r\n type=\"daterange\"\r\n format=\"yyyy-MM-dd\"\r\n value-format=\"yyyy-MM-dd HH:mm:ss\"\r\n :default-time=\"['00:00:00', '23:59:59']\"\r\n prefix-icon=\"el-icon-date\"\r\n range-separator=\"至\"\r\n start-placeholder=\"开始时间\"\r\n end-placeholder=\"结束时间\"\r\n @change=\"handleTimePicker\"\r\n >\r\n </el-date-picker>\r\n </li>\r\n <li\r\n v-for=\"(listItem, index) in item.itemList\"\r\n :key=\"listItem.id\"\r\n @click=\"clickItemHandle(item.id, listItem.id, item, listItem, index)\"\r\n :class=\"{\r\n isActive: listItem.isActive ? '#4A8DF0' : ''\r\n }\"\r\n >\r\n {{ listItem.name }}\r\n </li>\r\n </ul>\r\n </li>\r\n </ul>\r\n </li>\r\n </ul>\r\n </sy-newsearchbar>\r\n <sy-simple-search-bar v-model=\"keyword\" @search=\"handleSearch\">\r\n <el-button type=\"text\" icon=\"el-icon-plus\">新建细类</el-button>\r\n <el-button type=\"text\" icon=\"el-icon-remove\" @click=\"keyword = ''\">清空关键字</el-button>\r\n </sy-simple-search-bar>\r\n <sy-select-tree ref=\"selectTree\" width=\"260\" :disabled=\"true\" :nodes=\"projectNodes\" @search=\"searchProject\" :beforeClick=\"beforeClick\"></sy-select-tree>\r\n <sy-searchbar :searchList=\"searchList\" ref=\"searchbarRef\" @on-search=\"handleSearch\" @on-reset=\"handleReset\" saveToLocalPosition=\"left\">\r\n <template #suffix>\r\n <el-button class=\"el-input__icon el-icon-menu\" style=\"padding: 0\" type=\"text\"></el-button>\r\n </template>\r\n <template v-slot:listBtns>\r\n <sy-button-list>\r\n <!-- <el-button type=\"text\" icon=\"el-icon-plus\" @click=\"handleSave\">新建楼栋</el-button>\r\n <el-button type=\"text\" icon=\"el-icon-receiving\">批量导入</el-button>\r\n <el-dropdown trigger=\"hover\" size=\"medium\" divided @command=\"handleCommand\" placement=\"bottom-end\">\r\n <div style=\"width: 18px; height: 18px; cursor: pointer\"><i class=\"el-icon-more\"></i></div>\r\n <el-dropdown-menu slot=\"dropdown\">\r\n <el-dropdown-item command=\"masterHouseCodeVisible\" icon=\"el-icon-circle-plus-outline\">导入主数据编码</el-dropdown-item>\r\n <el-dropdown-item command=\"generateBuildingBatch\" icon=\"el-icon-files\">批量生成</el-dropdown-item>\r\n <el-dropdown-item command=\"export_all\" icon=\"el-icon-upload2\">全部导出</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </el-dropdown> -->\r\n <sy-button-item v-if=\"flag\"><el-button type=\"text\" icon=\"el-icon-plus\" @click=\"handleSave\">新建楼栋</el-button></sy-button-item>\r\n <sy-button-item><el-button type=\"text\" icon=\"el-icon-receiving\" @click=\"handleSave\">批量导入</el-button></sy-button-item>\r\n <sy-button-item><el-button type=\"text\" icon=\"el-icon-circle-plus-outline\" @click=\"handleSave\">导入主数据编码</el-button></sy-button-item>\r\n <sy-button-item><el-button type=\"text\" icon=\"el-icon-files\" @click=\"handleSave\">批量生成</el-button></sy-button-item>\r\n <sy-button-item><el-button type=\"text\" icon=\"el-icon-upload2\" @click=\"handleSave\">全部导出</el-button></sy-button-item>\r\n <sy-button-item><el-button type=\"text\" @click=\"handleSave\">不传icon</el-button></sy-button-item>\r\n </sy-button-list>\r\n </template>\r\n </sy-searchbar>\r\n <sy-table\r\n ref=\"table\"\r\n height=\"calc(100% - 280px)\"\r\n :columns=\"columnsList\"\r\n :transContent=\"transContent\"\r\n :data=\"tableData\"\r\n :showChoiseSum=\"true\"\r\n :showSummary=\"true\"\r\n :sumInfo=\"{ money: 300, money1: 33 }\"\r\n rowKey=\"id\"\r\n nameKey=\"app1\"\r\n @sort-change=\"handleSortChange\"\r\n @filter-change=\"handleFilterChange\"\r\n @header-dragend=\"headerDragend\"\r\n @selection-change=\"handleSelectionChange\"\r\n @cell-click=\"cellClick\"\r\n @drag-change=\"dragChange\"\r\n >\r\n <el-table-column type=\"selection\" width=\"50\" align=\"center\" fixed slot=\"start\" reserve-selection></el-table-column>\r\n\r\n <template #sn>\r\n <span\r\n >自定义表头\r\n <el-popover placement=\"bottom\" v-model=\"visible\" trigger=\"click\" width=\"160\">\r\n <el-input v-model=\"sn\" clearable></el-input>\r\n <div style=\"text-align: center; margin-top: 20px\">\r\n <el-button type=\"primary\" size=\"mini\" @click=\"visible = false\">确定</el-button>\r\n </div>\r\n <i class=\"iconfont icon-filter-fill filter-icon\" slot=\"reference\" :class=\"{ 'selected-color': sn }\" @click.stop=\"\"></i>\r\n </el-popover>\r\n </span>\r\n </template>\r\n <!-- 状态自定义表格内容 -->\r\n <span slot-scope=\"{ row, index }\" slot=\"status\">\r\n <span style=\"color: red\">状态</span><span>{{ row.status }}{{ index }}</span>\r\n </span>\r\n <!-- 操作时间 -->\r\n <span slot-scope=\"{ row }\" slot=\"createDate\">\r\n <el-date-picker style=\"width: 100%\" size=\"small\" v-model=\"row.createDate\"></el-date-picker>\r\n </span>\r\n <el-table-column width=\"100\" slot=\"end\" fixed=\"right\" label=\"操作\">\r\n <template slot-scope=\"scope\">\r\n <span style=\"cursor: pointer; color: #1890ff\" @click=\"handleSave(scope.row)\">保存</span>\r\n </template>\r\n </el-table-column>\r\n </sy-table>\r\n </sy-layout>\r\n <!-- 上下的布局 -->\r\n <!-- <sy-layout title=\"物料类别\">\r\n <template v-slot:headRight>\r\n <div>展示头部右侧选中的项目</div>\r\n </template>\r\n 我是内容区域, 是默认插槽,此处可放置查询条件、表格、分页\r\n </sy-layout> -->\r\n</template>\r\n\r\n<script>\r\nimport XEUtils from 'xe-utils'\r\nimport { listConfigs } from './listConfigs'\r\nconst ztreeData = require('./ztreeData.json')\r\n\r\nexport default {\r\n name: 'App',\r\n props: {\r\n placeholder: {\r\n type: String,\r\n default: '请输入'\r\n }\r\n },\r\n data() {\r\n return {\r\n flag: false,\r\n curYear: '' + new Date().getFullYear(),\r\n keyword: '',\r\n ztreeObj: null,\r\n setting: {\r\n check: {\r\n enable: false\r\n },\r\n data: {\r\n // simpleData: {\r\n // enable: true,\r\n // pIdKey: 'pid'\r\n // },\r\n // 设置图标库(采用iconfont class形式)\r\n iconMap: {\r\n 1: 'icon-jituan',\r\n 2: 'icon-quyufengongsi',\r\n 3: 'icon-fengongsi',\r\n 4: 'icon-guanlichu',\r\n 5: 'icon-xiangmujiedian',\r\n 6: 'icon-quyujiedian',\r\n 7: 'icon-loudong',\r\n 8: 'icon-danyuan',\r\n 9: 'icon-fangjian'\r\n },\r\n // 设置对应每个节点的节点类型,与数据中customType对应(25行)\r\n key: {\r\n idKey: 'nodeId',\r\n nodeType: 'customType',\r\n name: 'nodeName',\r\n title: 'nodeName',\r\n children: 'childList'\r\n }\r\n },\r\n view: {\r\n // 开启图标显示功能\r\n showIcon: true\r\n }\r\n },\r\n nodes: ztreeData,\r\n projectNodes: ztreeData,\r\n searchList: [\r\n {\r\n id: 10,\r\n name: '日期条件',\r\n multiple: false,\r\n itemList: [\r\n {\r\n id: 101,\r\n name: '自定义',\r\n value: [1638339452000, 1638339452439],\r\n default: true,\r\n defaultValue: [1638339452000, 1638339452439],\r\n type: 'daterange',\r\n isActive: true\r\n }\r\n ]\r\n },\r\n {\r\n id: 8,\r\n name: '时间条件',\r\n multiple: false,\r\n itemList: [\r\n {\r\n id: 81,\r\n name: '',\r\n value: null,\r\n type: 'datetimerange',\r\n format: 'yyyy-MM-dd HH:mm',\r\n isActive: true,\r\n pickerOptions: true\r\n },\r\n {\r\n id: 82,\r\n name: '本日',\r\n value: 'day',\r\n type: 'text',\r\n isActive: false\r\n },\r\n {\r\n id: 83,\r\n name: '本周',\r\n value: 'week',\r\n type: 'text',\r\n isActive: false\r\n },\r\n {\r\n id: 84,\r\n name: '本月',\r\n value: 'month',\r\n type: 'text',\r\n isActive: false\r\n },\r\n {\r\n id: 85,\r\n name: '月份',\r\n value: null,\r\n type: 'month',\r\n isActive: true\r\n }\r\n ]\r\n },\r\n {\r\n id: 30,\r\n name: '动态条件',\r\n itemList: []\r\n },\r\n {\r\n id: 40,\r\n name: '下拉条件',\r\n itemList: [\r\n {\r\n id: 11,\r\n name: '未完工原因',\r\n hideName: true,\r\n value: null,\r\n type: 'select',\r\n multiple: true,\r\n options: [\r\n { id: 1, value: '001', label: '选项1' },\r\n { id: 2, value: '002', label: '选项2' }\r\n ],\r\n isActive: false\r\n },\r\n {\r\n id: 12,\r\n name: '本月',\r\n value: 'month',\r\n type: 'text',\r\n isActive: false\r\n }\r\n ]\r\n },\r\n {\r\n id: 2,\r\n name: '多选场景',\r\n multiple: true,\r\n itemList: [\r\n {\r\n id: 21,\r\n name: '加急工单预警21',\r\n value: 1,\r\n type: 'text',\r\n isActive: true,\r\n default: true\r\n },\r\n {\r\n id: 22,\r\n name: '创新租赁22',\r\n value: 2,\r\n type: 'text',\r\n isActive: true,\r\n default: true\r\n }\r\n ]\r\n },\r\n {\r\n id: 3,\r\n name: '对应业务3',\r\n multiple: false,\r\n itemList: [\r\n {\r\n id: 31,\r\n name: '加急工单预警31',\r\n value: 1,\r\n type: 'text',\r\n isActive: false\r\n },\r\n {\r\n id: 32,\r\n name: '创新租赁32',\r\n value: 2,\r\n type: 'text',\r\n isActive: false\r\n }\r\n ]\r\n },\r\n {\r\n id: 4,\r\n name: '对应业务4',\r\n multiple: false,\r\n itemList: [\r\n {\r\n id: 41,\r\n name: '加急工单预警41',\r\n value: 1,\r\n type: 'text',\r\n isActive: false\r\n },\r\n {\r\n id: 42,\r\n name: '创新租赁42',\r\n value: 2,\r\n type: 'text',\r\n isActive: false\r\n }\r\n ]\r\n },\r\n {\r\n id: 5,\r\n name: '对应业务5',\r\n multiple: false,\r\n itemList: [\r\n {\r\n id: 51,\r\n name: '加急工单预警51',\r\n value: 1,\r\n type: 'text',\r\n isActive: false\r\n },\r\n {\r\n id: 52,\r\n name: '创新租赁52',\r\n value: 2,\r\n type: 'text',\r\n isActive: false\r\n }\r\n ]\r\n },\r\n {\r\n id: 6,\r\n name: '对应业务6',\r\n multiple: false,\r\n itemList: [\r\n {\r\n id: 61,\r\n name: '加急工单预警61',\r\n value: 1,\r\n type: 'text',\r\n isActive: true,\r\n default: true\r\n },\r\n {\r\n id: 62,\r\n name: '加急工单预警62',\r\n value: 2,\r\n type: 'text',\r\n isActive: false\r\n }\r\n ]\r\n },\r\n {\r\n id: 7,\r\n name: '合同标签',\r\n multiple: true,\r\n itemList: []\r\n },\r\n {\r\n id: 60,\r\n name: '合同起始日期',\r\n multiple: false,\r\n itemList: [{ id: 1, name: '', hideName: true, value: null, type: 'daterange', isActive: false }]\r\n },\r\n {\r\n id: 70,\r\n name: '合同起始日期',\r\n multiple: false,\r\n itemList: [{ id: 1, name: '', hideName: true, value: null, type: 'monthrange', isActive: false }]\r\n }\r\n ],\r\n columnsList: JSON.parse(JSON.stringify(listConfigs)),\r\n sumType: 2,\r\n tableData: [\r\n {\r\n approveFlag: 2,\r\n createDate: 1606788816000,\r\n createby: '1797',\r\n createbyName: '徐丹玲',\r\n proInstId: '1333595065964171264',\r\n projectId: '303187465865269248',\r\n reductionId: '518369061441110016',\r\n reductionReason: '测试',\r\n result: '待减免:2000条,共计金额:3000.0元',\r\n sn: 'JM2012010082',\r\n sourceName: '申请减免',\r\n money: 100,\r\n money1: 11,\r\n status: 1\r\n },\r\n {\r\n approveFlag: 2,\r\n createDate: 1606788816000,\r\n createby: '1797',\r\n createbyName: '徐丹玲',\r\n proInstId: '1333595065964171264',\r\n projectId: '303187465865269248',\r\n reductionId: '518369061441110016',\r\n reductionReason: '测试',\r\n result: '待减免:2000条,共计金额:3000.0元',\r\n sn: 'JM2012010082',\r\n sourceName: '申请减免',\r\n money: 100,\r\n money1: 11,\r\n status: 1\r\n }\r\n ],\r\n sn: '',\r\n visible: false,\r\n tagList: [],\r\n savedCondition: [], // 保存的搜索条件\r\n timeVal: '',\r\n filterItems: [\r\n {\r\n id: '1',\r\n name: '状态',\r\n itemList: [\r\n {\r\n id: 5,\r\n name: '未开审核',\r\n isActive: false\r\n },\r\n {\r\n id: 0,\r\n name: '待审',\r\n isActive: false\r\n },\r\n {\r\n id: 1,\r\n name: '审核通过',\r\n isActive: false\r\n },\r\n {\r\n id: 2,\r\n name: '审核不通过',\r\n isActive: false\r\n },\r\n {\r\n id: 3,\r\n name: '已撤销',\r\n isActive: false\r\n },\r\n {\r\n id: 4,\r\n name: '已作废',\r\n isActive: false\r\n }\r\n ],\r\n isShrink: false,\r\n height: 40\r\n },\r\n {\r\n id: '2',\r\n name: '申请时间',\r\n itemList: [\r\n {\r\n id: '2',\r\n name: '',\r\n isActive: false\r\n }\r\n ],\r\n isShrink: false,\r\n height: 40\r\n }\r\n ]\r\n }\r\n },\r\n created() {\r\n this.$emit('tableSearchHeightChange', 200)\r\n this.getSavedCondition()\r\n },\r\n methods: {\r\n beforeClick(node) {\r\n if (node.nodeType === '4') return true\r\n else {\r\n console.log('请选择项目节点') // 这里可以弹出一个提示框\r\n return false\r\n }\r\n },\r\n onClick: function(evt, treeId, treeNode) {\r\n // 点击事件\r\n console.log(evt.type, treeNode)\r\n },\r\n onCheck: function(evt, treeId, treeNode) {\r\n // 选中事件\r\n console.log(evt.type, treeNode)\r\n },\r\n handleCreated: function(ztreeObj) {\r\n this.ztreeObj = ztreeObj\r\n // onCreated 中操作ztreeObj对象展开第一个节点\r\n ztreeObj.expandNode(ztreeObj.getNodes()[0], true)\r\n this.$refs.leftTree.setSelectedNode('10845')\r\n },\r\n searchTree(keyword) {\r\n console.log('你搜索的关键字', keyword)\r\n if (keyword) {\r\n const options = { children: 'childList' }\r\n const searchProps = ['nodeName']\r\n this.nodes = XEUtils.searchTree(ztreeData, item => searchProps.some(key => XEUtils.toString(item[key]).indexOf(keyword) > -1), options)\r\n } else {\r\n this.nodes = ztreeData\r\n }\r\n },\r\n searchProject(keyword) {\r\n console.log('你搜索的关键字', keyword)\r\n if (keyword) {\r\n const options = { children: 'childList' }\r\n this.projectNodes = XEUtils.searchTree(ztreeData, item => item.nodeName.indexOf(keyword) > -1, options)\r\n } else {\r\n this.projectNodes = ztreeData\r\n }\r\n },\r\n onSelectProject(projectNode) {\r\n // 选中单个项目\r\n console.log('当前选择的项目节点:', projectNode)\r\n },\r\n handleSearch(value) {\r\n console.log(value)\r\n },\r\n handleReset(value) {\r\n console.log(value)\r\n },\r\n handleSave(row) {\r\n console.log(row)\r\n },\r\n transContent(row, prop) {\r\n const value = row[prop]\r\n return value\r\n },\r\n cellClick(row, column) {\r\n debugger\r\n if (column.prop === 'sn') {\r\n alert('点击事件')\r\n }\r\n },\r\n handleFilterChange(column) {\r\n debugger\r\n },\r\n headerDragend(newWidth, oldWidth, column, event) {},\r\n handleSelectionChange(selection) {\r\n debugger\r\n },\r\n handleSortChange({ column, prop, order }) {\r\n debugger\r\n },\r\n\r\n dragChange(list) {\r\n debugger\r\n this.columnsList = list\r\n // localStorage.setItem('acturalReceiveDetailListConf', JSON.stringify(this.columnsList));\r\n },\r\n yearChange() {},\r\n /**\r\n * 高级筛选函数\r\n */\r\n // 获取保存的搜索条件\r\n getSavedCondition() {\r\n if (localStorage.getItem('syNewsearchbar')) {\r\n // 如果保存了搜索条件\r\n this.savedCondition = JSON.parse(localStorage.getItem('syNewsearchbar'))\r\n } else {\r\n this.savedCondition = []\r\n }\r\n },\r\n // 保存的筛选条件\r\n saveScreeningCriteria(keyField) {\r\n this.updateTagList()\r\n const tagList = JSON.parse(JSON.stringify(this.tagList))\r\n const filterItems = JSON.parse(JSON.stringify(this.filterItems))\r\n const timeVal = JSON.parse(JSON.stringify(this.timeVal))\r\n const keyword = JSON.parse(JSON.stringify(keyField))\r\n const len = this.savedCondition.filter(item => item.label === '搜索条件' + Number(this.savedCondition.length + 1)).length\r\n const obj = {\r\n label: len > 0 ? '搜索条件' + Number(this.savedCondition.length + 2) : '搜索条件' + Number(this.savedCondition.length + 1),\r\n value: this.savedCondition.length + 1,\r\n content: {\r\n tagList: tagList,\r\n filterItems: filterItems,\r\n timeVal: timeVal,\r\n keyword: keyword\r\n }\r\n }\r\n this.savedCondition.push(obj)\r\n this.$message.success(obj.label + '保存成功')\r\n localStorage.setItem('syNewsearchbar', JSON.stringify(this.savedCondition))\r\n },\r\n // 选择保存的搜索条件\r\n selectChange(ids) {\r\n this.savedCondition.forEach(item => {\r\n if (item.value === ids) {\r\n this.filterItems = JSON.parse(JSON.stringify(item.content.filterItems))\r\n this.tagList = JSON.parse(JSON.stringify(item.content.tagList))\r\n this.timeVal = JSON.parse(JSON.stringify(item.content.timeVal))\r\n this.$nextTick(() => {\r\n this.$refs.syNewSearchBar.keyword = JSON.parse(JSON.stringify(item.content.keyword))\r\n })\r\n }\r\n })\r\n },\r\n // 搜索条件\r\n searchTables(keyWord) {\r\n this.updateTagList()\r\n this.$emit('filter', this.tagList, keyWord)\r\n this.$emit('tableSearchHeightChange', 200)\r\n },\r\n updateTagList() {\r\n const tags = []\r\n this.filterItems.forEach(item => {\r\n item.itemList.forEach((sub, index) => {\r\n if (sub.isActive) {\r\n tags.push(this.createTag(item, sub, index))\r\n }\r\n })\r\n })\r\n // 如果是自己选择的时间段\r\n const timeVal = this.timeVal\r\n tags.forEach(sub => {\r\n if (sub.pId === '2' && timeVal && timeVal.length) {\r\n sub.name = timeVal[0] + '至' + timeVal[1]\r\n sub.id = '2'\r\n }\r\n })\r\n this.tagList = tags\r\n },\r\n // 搜索表格\r\n searchTable(keyWord) {\r\n this.searchTables(keyWord)\r\n },\r\n // 收起展开过滤选项\r\n shrinkFilterItem(itemId) {\r\n const item = this.filterItems.find(item => item.id === itemId)\r\n item.isShrink = !item.isShrink\r\n },\r\n // 创建tag\r\n createTag(item, listItem, index) {\r\n const { name: pName, id: pId } = item\r\n let tagObj = {}\r\n if (pId === '2') {\r\n tagObj = Object.assign({\r\n pName,\r\n pId,\r\n timeArr: this.timeVal,\r\n ...listItem\r\n })\r\n } else {\r\n tagObj = Object.assign({\r\n pName,\r\n pId,\r\n ...listItem\r\n })\r\n }\r\n return tagObj\r\n },\r\n // 点击过滤选项(单选)\r\n clickItemHandle(itemId, listItemId, item, listItem, index) {\r\n const activeIndex = item.itemList.findIndex(item => item.isActive)\r\n if (activeIndex > -1 && activeIndex !== index) {\r\n item.itemList[activeIndex].isActive = false\r\n }\r\n this.$set(listItem, 'isActive', true)\r\n },\r\n // 清空过滤选项\r\n clearTags() {\r\n this.filterItems.forEach(item => {\r\n item.itemList.forEach(sub => {\r\n this.$set(sub, 'isActive', false)\r\n })\r\n })\r\n this.$nextTick(() => {\r\n this.$refs.syNewSearchBar.choosedCondition = ''\r\n this.$refs.syNewSearchBar.keyword = ''\r\n this.timeVal = ''\r\n this.searchTables('')\r\n })\r\n },\r\n deleteItem(index) {\r\n this.$nextTick(() => {\r\n this.$refs.syNewSearchBar.choosedCondition = ''\r\n this.$refs.syNewSearchBar.keyword = ''\r\n })\r\n this.savedCondition.splice(index, 1)\r\n localStorage.setItem('syNewsearchbar', JSON.stringify(this.savedCondition))\r\n this.filterItems.forEach(item => {\r\n item.itemList.forEach(sub => {\r\n this.$set(sub, 'isActive', false)\r\n })\r\n })\r\n this.tagList = []\r\n },\r\n // 选择所属账期时间\r\n handleTimePicker(value) {\r\n if (!this.timeVal) {\r\n this.filterItems.forEach(ele => {\r\n if (ele.id === '2') {\r\n ele.itemList[0].isActive = false\r\n ele.itemList = ele.itemList.map(item => {\r\n return item\r\n })\r\n }\r\n })\r\n } else {\r\n this.filterItems.forEach(ele => {\r\n if (ele.id === '2') {\r\n ele.itemList[0].isActive = true\r\n ele.itemList = ele.itemList.map(item => {\r\n return item\r\n })\r\n }\r\n })\r\n }\r\n },\r\n handleCommand(command) {\r\n switch (command) {\r\n case 'xxxx':\r\n break\r\n default:\r\n break\r\n }\r\n }\r\n },\r\n mounted() {\r\n this.$refs.selectProject.setSelectedNode('10845')\r\n setTimeout(() => {\r\n this.flag = true\r\n const options = [\r\n { id: 1, name: '室内报修' },\r\n { id: 2, name: '公区报修' }\r\n ].map(ele => {\r\n return {\r\n id: ele.id,\r\n value: ele.id,\r\n type: 'text',\r\n name: ele.name\r\n }\r\n })\r\n this.$set(this.searchList[2], 'itemList', options)\r\n\r\n this.$set(this.searchList[10].itemList[0], 'value', [1649865600000, 1657727999000])\r\n this.$set(this.searchList[10].itemList[0], 'isActive', true)\r\n this.$nextTick(() => {\r\n this.$refs.searchbarRef.setTagList()\r\n })\r\n }, 50)\r\n }\r\n}\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.filter-icon {\r\n margin-top: 1px;\r\n float: right;\r\n font-size: 9px !important;\r\n cursor: pointer;\r\n color: rgba(0, 0, 0, 0.5);\r\n}\r\n.selected-color {\r\n color: #027aff;\r\n}\r\n.el-input__icon {\r\n line-height: normal !important;\r\n padding: 0 !important;\r\n}\r\n</style>\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App1.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App1.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App1.vue?vue&type=template&id=6d2653ec&scoped=true&\"\nimport script from \"./App1.vue?vue&type=script&lang=js&\"\nexport * from \"./App1.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App1.vue?vue&type=style&index=0&id=6d2653ec&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6d2653ec\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('sy-layout',{attrs:{\"title\":\"物料类别\"},scopedSlots:_vm._u([{key:\"left\",fn:function(){return [_c('sy-search-tree',{ref:\"leftTree\",attrs:{\"setting\":_vm.setting,\"nodes\":_vm.nodes},on:{\"onClick\":_vm.onClick,\"onCreated\":_vm.handleCreated,\"searchTree\":_vm.searchTree}})]},proxy:true}])},[_c('div',{staticClass:\"subpage-container\"},[_c('div',{staticClass:\"sub-bd\"},[_c('div',{staticClass:\"sub-main\"},[_c('div',{staticClass:\"sub-scroll-wrapper\"},[_c('sy-simple-search-bar',{attrs:{\"placeholder\":\"请输入物料名称/物料编码\"},model:{value:(_vm.keyword),callback:function ($$v) {_vm.keyword=$$v},expression:\"keyword\"}},[_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"el-icon-plus\"}},[_vm._v(\"新建\")]),_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"iconfont icon-add-bold\"}},[_vm._v(\"新建\")])],1)],1)]),_c('div',{staticClass:\"sub-footer\"})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <!-- 左右布局 -->\r\n <sy-layout title=\"物料类别\">\r\n <template v-slot:left>\r\n <sy-search-tree ref=\"leftTree\" :setting=\"setting\" :nodes=\"nodes\" @onClick=\"onClick\" @onCreated=\"handleCreated\" @searchTree=\"searchTree\" />\r\n </template>\r\n <!-- 我是内容区域, 是默认插槽,此处可放置查询条件、表格、分页 -->\r\n <div class=\"subpage-container\">\r\n <div class=\"sub-bd\">\r\n <div class=\"sub-main\">\r\n <div class=\"sub-scroll-wrapper\">\r\n <sy-simple-search-bar v-model=\"keyword\" placeholder=\"请输入物料名称/物料编码\">\r\n <el-button type=\"text\" icon=\"el-icon-plus\">新建</el-button>\r\n <el-button type=\"text\" icon=\"iconfont icon-add-bold\">新建</el-button>\r\n </sy-simple-search-bar>\r\n </div>\r\n </div>\r\n <div class=\"sub-footer\"></div>\r\n </div>\r\n </div>\r\n </sy-layout>\r\n</template>\r\n\r\n<script>\r\nimport XEUtils from 'xe-utils'\r\n\r\nconst ztreeData = [\r\n {\r\n id: '519541084959801344',\r\n parentId: '0',\r\n children: [\r\n {\r\n id: '519544507495088128',\r\n parentId: '519541084959801344',\r\n children: [],\r\n materialCategoryId: '519544507495088128',\r\n materialCategoryName: '清洁用品-牙刷1',\r\n parentCategoryId: '519541084959801344',\r\n parentCode: 'aaa1',\r\n code: 'aaa1-1',\r\n remark: '',\r\n orderNumber: 0,\r\n status: 1,\r\n factorySetting: 0\r\n }\r\n ],\r\n materialCategoryId: '519541084959801344',\r\n materialCategoryName: '清洁用品',\r\n parentCategoryId: '0',\r\n parentCode: '',\r\n code: 'aaa1',\r\n remark: '1',\r\n orderNumber: 0,\r\n status: 1,\r\n factorySetting: 0\r\n },\r\n {\r\n id: '534713945596887040',\r\n parentId: '0',\r\n children: [\r\n {\r\n id: '535858289167040512',\r\n parentId: '534713945596887040',\r\n children: [\r\n {\r\n id: '535870569506148352',\r\n parentId: '535858289167040512',\r\n children: [\r\n {\r\n id: '535880107693182976',\r\n parentId: '535870569506148352',\r\n children: [\r\n {\r\n id: '535880802760658944',\r\n parentId: '535880107693182976',\r\n children: [],\r\n materialCategoryId: '535880802760658944',\r\n materialCategoryName: '第五层级',\r\n parentCategoryId: '535880107693182976',\r\n parentCode: 'CSLB-001-001-001',\r\n code: 'CSLB-Level5-001',\r\n remark: '',\r\n orderNumber: 1,\r\n status: 0,\r\n factorySetting: 0\r\n }\r\n ],\r\n materialCategoryId: '535880107693182976',\r\n materialCategoryName: '第四层级',\r\n parentCategoryId: '535870569506148352',\r\n parentCode: 'CSLB-001-001',\r\n code: 'CSLB-001-001-001',\r\n remark: '',\r\n orderNumber: 2,\r\n status: 0,\r\n factorySetting: 0\r\n }\r\n ],\r\n materialCategoryId: '535870569506148352',\r\n materialCategoryName: '第三层级',\r\n parentCategoryId: '535858289167040512',\r\n parentCode: 'CSLB-001',\r\n code: 'CSLB-001-001',\r\n remark: '',\r\n orderNumber: 2,\r\n status: 0,\r\n factorySetting: 0\r\n },\r\n {\r\n id: '535871196458127360',\r\n parentId: '535858289167040512',\r\n children: [],\r\n materialCategoryId: '535871196458127360',\r\n materialCategoryName: 'xxxx',\r\n parentCategoryId: '535858289167040512',\r\n parentCode: 'CSLB-001',\r\n code: 'xxxxx',\r\n remark: '',\r\n orderNumber: 1,\r\n status: 0,\r\n factorySetting: 0\r\n }\r\n ],\r\n materialCategoryId: '535858289167040512',\r\n materialCategoryName: '第二层级',\r\n parentCategoryId: '534713945596887040',\r\n parentCode: 'CSLB',\r\n code: 'CSLB-001',\r\n remark: '阿斯蒂芬',\r\n orderNumber: 3,\r\n status: 0,\r\n factorySetting: 0\r\n }\r\n ],\r\n materialCategoryId: '534713945596887040',\r\n materialCategoryName: '测试类别',\r\n parentCategoryId: '0',\r\n parentCode: '',\r\n code: 'CSLB',\r\n remark: '物料类别物料类别物料类别物料类别',\r\n orderNumber: 3,\r\n status: 1,\r\n factorySetting: 0\r\n },\r\n {\r\n id: '534714460787441664',\r\n parentId: '0',\r\n children: [],\r\n materialCategoryId: '534714460787441664',\r\n materialCategoryName: '一级类别',\r\n parentCategoryId: '0',\r\n parentCode: '',\r\n code: 'adfadsfs',\r\n remark: 'asdf',\r\n orderNumber: 12,\r\n status: 1,\r\n factorySetting: 0\r\n },\r\n {\r\n id: '534738272845303808',\r\n parentId: '0',\r\n children: [],\r\n materialCategoryId: '534738272845303808',\r\n materialCategoryName: '其他',\r\n parentCategoryId: '0',\r\n parentCode: '',\r\n code: 'QT',\r\n remark: '',\r\n orderNumber: 1,\r\n status: 1,\r\n factorySetting: 1\r\n }\r\n]\r\n\r\nexport default {\r\n name: 'App2',\r\n data() {\r\n return {\r\n keyword: '',\r\n ztreeObj: null,\r\n setting: {\r\n check: {\r\n enable: false\r\n },\r\n data: {\r\n // 设置图标库(采用iconfont class形式)\r\n iconMap: {\r\n 1: 'icon-modular',\r\n 2: 'icon-file'\r\n },\r\n // 设置对应每个节点的节点类型,与数据中customType对应(25行)\r\n key: {\r\n idKey: 'materialCategoryId',\r\n nodeType: 'customType',\r\n name: 'materialCategoryName',\r\n title: 'materialCategoryName',\r\n children: 'children'\r\n }\r\n },\r\n view: {\r\n // 开启图标显示功能\r\n showIcon: true\r\n }\r\n },\r\n nodes: ztreeData\r\n }\r\n },\r\n methods: {\r\n beforeClick(node) {\r\n if (node.nodeType === '4') return true\r\n else {\r\n console.log('请选择项目节点') // 这里可以弹出一个提示框\r\n return false\r\n }\r\n },\r\n onClick: function(evt, treeId, treeNode) {\r\n // 点击事件\r\n console.log(evt.type, treeNode)\r\n },\r\n onCheck: function(evt, treeId, treeNode) {\r\n // 选中事件\r\n console.log(evt.type, treeNode)\r\n },\r\n handleCreated: function(ztreeObj, curSelectedNode) {\r\n this.ztreeObj = ztreeObj\r\n // onCreated 中操作ztreeObj对象展开第一个节点\r\n ztreeObj.expandNode(ztreeObj.getNodes()[0], true)\r\n\r\n if (!curSelectedNode) {\r\n // 如果没有选中的节点,给个默认选中的节点\r\n const nodes = ztreeObj.getNodes()\r\n if (nodes.length) {\r\n const defaultSelectId = ztreeObj.getNodes()[0].children[0].materialCategoryId\r\n this.$refs.leftTree.setSelectedNode(defaultSelectId)\r\n }\r\n }\r\n },\r\n searchTree(keyword) {\r\n console.log('你搜索的关键字', keyword)\r\n if (keyword) {\r\n const options = { children: 'children' }\r\n const searchProps = ['materialCategoryName']\r\n this.nodes = XEUtils.searchTree(ztreeData, item => searchProps.some(key => XEUtils.toString(item[key]).indexOf(keyword) > -1), options)\r\n } else {\r\n this.nodes = ztreeData\r\n }\r\n }\r\n },\r\n mounted() {}\r\n}\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.filter-icon {\r\n margin-top: 1px;\r\n float: right;\r\n font-size: 9px !important;\r\n cursor: pointer;\r\n color: rgba(0, 0, 0, 0.5);\r\n}\r\n.selected-color {\r\n color: #027aff;\r\n}\r\n</style>\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App2.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App2.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App2.vue?vue&type=template&id=c9d515ce&scoped=true&\"\nimport script from \"./App2.vue?vue&type=script&lang=js&\"\nexport * from \"./App2.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App2.vue?vue&type=style&index=0&id=c9d515ce&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c9d515ce\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('sy-layout',{attrs:{\"no-padding\":\"\"},scopedSlots:_vm._u([{key:\"left\",fn:function(){return [_c('sy-search-tree',{ref:\"leftTree\",attrs:{\"setting\":_vm.setting,\"nodes\":_vm.nodes},on:{\"onClick\":_vm.onClick,\"onCreated\":_vm.handleCreated,\"searchTree\":_vm.searchTree}})]},proxy:true}])},[_c('div',{staticClass:\"subpage-container\"},[_c('div',{staticClass:\"sub-hd\"},[_c('el-tabs',{staticClass:\"title-tabs\",on:{\"tab-click\":_vm.handleClick},model:{value:(_vm.activeName),callback:function ($$v) {_vm.activeName=$$v},expression:\"activeName\"}},[_c('el-tab-pane',{attrs:{\"label\":\"用户管理\",\"name\":\"first\"}},[_vm._v(\"用户管理\")]),_c('el-tab-pane',{attrs:{\"label\":\"配置管理\",\"name\":\"second\"}},[_vm._v(\"配置管理\")]),_c('el-tab-pane',{attrs:{\"label\":\"角色管理\",\"name\":\"third\"}},[_vm._v(\"角色管理\")]),_c('el-tab-pane',{attrs:{\"label\":\"定时任务补偿\",\"name\":\"fourth\"}},[_vm._v(\"定时任务补偿\")])],1)],1),_c('div',{staticClass:\"sub-bd\"},[_c('div',{staticClass:\"sub-main\",staticStyle:{\"padding\":\"0 20px\"}},[_c('div',{staticClass:\"sub-scroll-wrapper\"},[_c('sy-simple-search-bar',{attrs:{\"placeholder\":\"请输入物料名称/物料编码\"},model:{value:(_vm.keyword),callback:function ($$v) {_vm.keyword=$$v},expression:\"keyword\"}},[_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"el-icon-plus\"}},[_vm._v(\"新建\")]),_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"iconfont icon-add-bold\"}},[_vm._v(\"新建\")])],1)],1)]),_c('div',{staticClass:\"sub-footer\"})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <!-- 左右布局 -->\r\n <sy-layout no-padding>\r\n <template v-slot:left>\r\n <sy-search-tree ref=\"leftTree\" :setting=\"setting\" :nodes=\"nodes\" @onClick=\"onClick\" @onCreated=\"handleCreated\" @searchTree=\"searchTree\" />\r\n </template>\r\n <!-- 我是内容区域, 是默认插槽,此处可放置查询条件、表格、分页 -->\r\n <div class=\"subpage-container\">\r\n <div class=\"sub-hd\">\r\n <el-tabs class=\"title-tabs\" v-model=\"activeName\" @tab-click=\"handleClick\">\r\n <el-tab-pane label=\"用户管理\" name=\"first\">用户管理</el-tab-pane>\r\n <el-tab-pane label=\"配置管理\" name=\"second\">配置管理</el-tab-pane>\r\n <el-tab-pane label=\"角色管理\" name=\"third\">角色管理</el-tab-pane>\r\n <el-tab-pane label=\"定时任务补偿\" name=\"fourth\">定时任务补偿</el-tab-pane>\r\n </el-tabs>\r\n </div>\r\n <div class=\"sub-bd\">\r\n <div class=\"sub-main\" style=\"padding: 0 20px;\">\r\n <div class=\"sub-scroll-wrapper\">\r\n <sy-simple-search-bar v-model=\"keyword\" placeholder=\"请输入物料名称/物料编码\">\r\n <el-button type=\"text\" icon=\"el-icon-plus\">新建</el-button>\r\n <el-button type=\"text\" icon=\"iconfont icon-add-bold\">新建</el-button>\r\n </sy-simple-search-bar>\r\n </div>\r\n </div>\r\n <div class=\"sub-footer\"></div>\r\n </div>\r\n </div>\r\n </sy-layout>\r\n</template>\r\n\r\n<script>\r\nimport XEUtils from 'xe-utils'\r\n\r\nconst ztreeData = [\r\n {\r\n id: '519541084959801344',\r\n parentId: '0',\r\n children: [\r\n {\r\n id: '519544507495088128',\r\n parentId: '519541084959801344',\r\n children: [],\r\n materialCategoryId: '519544507495088128',\r\n materialCategoryName: '清洁用品-牙刷1',\r\n parentCategoryId: '519541084959801344',\r\n parentCode: 'aaa1',\r\n code: 'aaa1-1',\r\n remark: '',\r\n orderNumber: 0,\r\n status: 1,\r\n factorySetting: 0\r\n }\r\n ],\r\n materialCategoryId: '519541084959801344',\r\n materialCategoryName: '清洁用品',\r\n parentCategoryId: '0',\r\n parentCode: '',\r\n code: 'aaa1',\r\n remark: '1',\r\n orderNumber: 0,\r\n status: 1,\r\n factorySetting: 0\r\n },\r\n {\r\n id: '534713945596887040',\r\n parentId: '0',\r\n children: [\r\n {\r\n id: '535858289167040512',\r\n parentId: '534713945596887040',\r\n children: [\r\n {\r\n id: '535870569506148352',\r\n parentId: '535858289167040512',\r\n children: [\r\n {\r\n id: '535880107693182976',\r\n parentId: '535870569506148352',\r\n children: [\r\n {\r\n id: '535880802760658944',\r\n parentId: '535880107693182976',\r\n children: [],\r\n materialCategoryId: '535880802760658944',\r\n materialCategoryName: '第五层级',\r\n parentCategoryId: '535880107693182976',\r\n parentCode: 'CSLB-001-001-001',\r\n code: 'CSLB-Level5-001',\r\n remark: '',\r\n orderNumber: 1,\r\n status: 0,\r\n factorySetting: 0\r\n }\r\n ],\r\n materialCategoryId: '535880107693182976',\r\n materialCategoryName: '第四层级',\r\n parentCategoryId: '535870569506148352',\r\n parentCode: 'CSLB-001-001',\r\n code: 'CSLB-001-001-001',\r\n remark: '',\r\n orderNumber: 2,\r\n status: 0,\r\n factorySetting: 0\r\n }\r\n ],\r\n materialCategoryId: '535870569506148352',\r\n materialCategoryName: '第三层级',\r\n parentCategoryId: '535858289167040512',\r\n parentCode: 'CSLB-001',\r\n code: 'CSLB-001-001',\r\n remark: '',\r\n orderNumber: 2,\r\n status: 0,\r\n factorySetting: 0\r\n },\r\n {\r\n id: '535871196458127360',\r\n parentId: '535858289167040512',\r\n children: [],\r\n materialCategoryId: '535871196458127360',\r\n materialCategoryName: 'xxxx',\r\n parentCategoryId: '535858289167040512',\r\n parentCode: 'CSLB-001',\r\n code: 'xxxxx',\r\n remark: '',\r\n orderNumber: 1,\r\n status: 0,\r\n factorySetting: 0\r\n }\r\n ],\r\n materialCategoryId: '535858289167040512',\r\n materialCategoryName: '第二层级',\r\n parentCategoryId: '534713945596887040',\r\n parentCode: 'CSLB',\r\n code: 'CSLB-001',\r\n remark: '阿斯蒂芬',\r\n orderNumber: 3,\r\n status: 0,\r\n factorySetting: 0\r\n }\r\n ],\r\n materialCategoryId: '534713945596887040',\r\n materialCategoryName: '测试类别',\r\n parentCategoryId: '0',\r\n parentCode: '',\r\n code: 'CSLB',\r\n remark: '物料类别物料类别物料类别物料类别',\r\n orderNumber: 3,\r\n status: 1,\r\n factorySetting: 0\r\n },\r\n {\r\n id: '534714460787441664',\r\n parentId: '0',\r\n children: [],\r\n materialCategoryId: '534714460787441664',\r\n materialCategoryName: '一级类别',\r\n parentCategoryId: '0',\r\n parentCode: '',\r\n code: 'adfadsfs',\r\n remark: 'asdf',\r\n orderNumber: 12,\r\n status: 1,\r\n factorySetting: 0\r\n },\r\n {\r\n id: '534738272845303808',\r\n parentId: '0',\r\n children: [],\r\n materialCategoryId: '534738272845303808',\r\n materialCategoryName: '其他',\r\n parentCategoryId: '0',\r\n parentCode: '',\r\n code: 'QT',\r\n remark: '',\r\n orderNumber: 1,\r\n status: 1,\r\n factorySetting: 1\r\n }\r\n]\r\n\r\nexport default {\r\n name: 'App2',\r\n data() {\r\n return {\r\n keyword: '',\r\n ztreeObj: null,\r\n setting: {\r\n check: {\r\n enable: false\r\n },\r\n data: {\r\n // 设置图标库(采用iconfont class形式)\r\n iconMap: {\r\n 1: 'icon-modular',\r\n 2: 'icon-file'\r\n },\r\n // 设置对应每个节点的节点类型,与数据中customType对应(25行)\r\n key: {\r\n idKey: 'materialCategoryId',\r\n nodeType: 'customType',\r\n name: 'materialCategoryName',\r\n title: 'materialCategoryName',\r\n children: 'children'\r\n }\r\n },\r\n view: {\r\n // 开启图标显示功能\r\n showIcon: true\r\n }\r\n },\r\n nodes: ztreeData,\r\n activeName: 'second'\r\n }\r\n },\r\n methods: {\r\n beforeClick(node) {\r\n if (node.nodeType === '4') return true\r\n else {\r\n console.log('请选择项目节点') // 这里可以弹出一个提示框\r\n return false\r\n }\r\n },\r\n onClick: function(evt, treeId, treeNode) {\r\n // 点击事件\r\n console.log(evt.type, treeNode)\r\n },\r\n onCheck: function(evt, treeId, treeNode) {\r\n // 选中事件\r\n console.log(evt.type, treeNode)\r\n },\r\n handleCreated: function(ztreeObj, curSelectedNode) {\r\n this.ztreeObj = ztreeObj\r\n // onCreated 中操作ztreeObj对象展开第一个节点\r\n ztreeObj.expandNode(ztreeObj.getNodes()[0], true)\r\n\r\n if (!curSelectedNode) {\r\n // 如果没有选中的节点,给个默认选中的节点\r\n const nodes = ztreeObj.getNodes()\r\n if (nodes.length) {\r\n const defaultSelectId = ztreeObj.getNodes()[0].children[0].materialCategoryId\r\n this.$refs.leftTree.setSelectedNode(defaultSelectId)\r\n }\r\n }\r\n },\r\n searchTree(keyword) {\r\n console.log('你搜索的关键字', keyword)\r\n if (keyword) {\r\n const options = { children: 'children' }\r\n const searchProps = ['materialCategoryName']\r\n this.nodes = XEUtils.searchTree(ztreeData, item => searchProps.some(key => XEUtils.toString(item[key]).indexOf(keyword) > -1), options)\r\n } else {\r\n this.nodes = ztreeData\r\n }\r\n },\r\n handleClick(tab, event) {\r\n console.log(tab, event)\r\n }\r\n },\r\n mounted() {}\r\n}\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.filter-icon {\r\n margin-top: 1px;\r\n float: right;\r\n font-size: 9px !important;\r\n cursor: pointer;\r\n color: rgba(0, 0, 0, 0.5);\r\n}\r\n.selected-color {\r\n color: #027aff;\r\n}\r\n</style>\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App3.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App3.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App3.vue?vue&type=template&id=0ff81fba&scoped=true&\"\nimport script from \"./App3.vue?vue&type=script&lang=js&\"\nexport * from \"./App3.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App3.vue?vue&type=style&index=0&id=0ff81fba&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0ff81fba\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('sy-layout',{attrs:{\"title\":\"物料类别\"},scopedSlots:_vm._u([{key:\"headRight\",fn:function(){return [_c('sy-select-project',{ref:\"selectProject\",attrs:{\"nodes\":_vm.projectNodes,\"beforeClick\":_vm.beforeClick},on:{\"search\":_vm.searchProject,\"click\":_vm.onSelectProject}})]},proxy:true},{key:\"left\",fn:function(){return [_c('sy-search-tree',{ref:\"leftTree\",attrs:{\"setting\":_vm.setting,\"nodes\":_vm.nodes},on:{\"onClick\":_vm.onClick,\"onCreated\":_vm.handleCreated,\"searchTree\":_vm.searchTree}})]},proxy:true}])},[_c('sy-searchbar',{attrs:{\"searchList\":_vm.searchList,\"saveToLocalPosition\":\"left\"},on:{\"on-search\":_vm.handleSearch,\"on-reset\":_vm.handleReset},scopedSlots:_vm._u([{key:\"listBtns\",fn:function(){return [_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"el-icon-plus\"}},[_vm._v(\"新建楼栋\")]),_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"el-icon-receiving\"}},[_vm._v(\"批量导入\")]),_c('el-dropdown',{attrs:{\"trigger\":\"hover\",\"size\":\"medium\",\"divided\":\"\",\"placement\":\"bottom-end\"},on:{\"command\":_vm.handleCommand}},[_c('div',{staticStyle:{\"width\":\"18px\",\"height\":\"18px\",\"cursor\":\"pointer\"}},[_c('i',{staticClass:\"el-icon-more\"})]),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('el-dropdown-item',{attrs:{\"command\":\"masterHouseCodeVisible\",\"icon\":\"el-icon-circle-plus-outline\"}},[_vm._v(\"导入主数据编码\")]),_c('el-dropdown-item',{attrs:{\"command\":\"generateBuildingBatch\",\"icon\":\"el-icon-files\"}},[_vm._v(\"批量生成\")]),_c('el-dropdown-item',{attrs:{\"command\":\"export_all\",\"icon\":\"el-icon-upload2\"}},[_vm._v(\"全部导出\")])],1)],1)]},proxy:true},{key:\"deviceLevel\",fn:function(){return [_c('el-popover',{attrs:{\"placement\":\"bottom\",\"width\":\"300\",\"trigger\":\"click\"},model:{value:(_vm.selectActive),callback:function ($$v) {_vm.selectActive=$$v},expression:\"selectActive\"}},[_c('el-input',{staticStyle:{\"margin-bottom\":\"10px\"},attrs:{\"placeholder\":\"搜索级别\",\"size\":\"small\"},model:{value:(_vm.searchKey),callback:function ($$v) {_vm.searchKey=$$v},expression:\"searchKey\"}}),_c('el-tree',{ref:\"tree2\",staticClass:\"popover-tree\",attrs:{\"highlight-current\":true,\"props\":{ children: 'children', label: 'label' },\"data\":_vm.eltreeData,\"node-key\":\"id\",\"default-expand-all\":\"\",\"expand-on-click-node\":false},on:{\"node-click\":_vm.getNode},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar node = ref.node;\nreturn _c('span',{staticClass:\"custom-tree-node\"},[_c('span',{staticClass:\"label-length\"},[_vm._v(_vm._s(node.label))])])}}])}),_c('div',{staticClass:\"el-select\",attrs:{\"slot\":\"reference\"},slot:\"reference\"},[_c('el-input',{staticClass:\"el-input--suffix\",attrs:{\"size\":\"small\",\"readonly\":\"\",\"placeholder\":\"请选择设备级别\"},on:{\"click\":function($event){_vm.selectActive = !_vm.selectActive}},model:{value:(_vm.curElTreeNode.label),callback:function ($$v) {_vm.$set(_vm.curElTreeNode, \"label\", $$v)},expression:\"curElTreeNode.label\"}}),_c('span',{staticClass:\"el-input__suffix\"},[_c('span',{staticClass:\"el-input__suffix-inner\"},[_c('i',{staticClass:\"el-select__caret el-input__icon el-icon-arrow-down\"})])])],1)],1)]},proxy:true},{key:\"chargingArea\",fn:function(){return [_c('li',[_c('el-input',{staticStyle:{\"width\":\"100px\"},attrs:{\"size\":\"small\",\"oninput\":\"value=value.replace(/[^\\\\d]/g,'')\"},model:{value:(_vm.query.chargeAreaMin),callback:function ($$v) {_vm.$set(_vm.query, \"chargeAreaMin\", $$v)},expression:\"query.chargeAreaMin\"}}),_vm._v(\" 至 \"),_c('el-input',{staticStyle:{\"width\":\"100px\"},attrs:{\"size\":\"small\",\"oninput\":\"value=value.replace(/[^\\\\d]/g,'')\"},model:{value:(_vm.query.chargeAreaMax),callback:function ($$v) {_vm.$set(_vm.query, \"chargeAreaMax\", $$v)},expression:\"query.chargeAreaMax\"}})],1)]},proxy:true},{key:\"chooseFollows\",fn:function(){return [_c('sy-input-more',{staticStyle:{\"width\":\"220px\"},attrs:{\"str\":_vm.queryFollows.nameStr,\"placeholder\":\"请选择请选择请选择请选择请选择请选择\"},on:{\"open\":_vm.openChooseFollows,\"clear\":_vm.clearQueryFollows}})]},proxy:true}])}),_c('sy-simple-search-bar',{scopedSlots:_vm._u([{key:\"filterInput\",fn:function(){return [_c('el-input',{staticClass:\"header-filter-input\",attrs:{\"placeholder\":\"请输入名字\",\"clearable\":\"\"},on:{\"input\":_vm.handleSearch},model:{value:(_vm.keyword),callback:function ($$v) {_vm.keyword=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"keyword\"}},[_c('el-button',{attrs:{\"slot\":\"append\",\"type\":\"primary\",\"icon\":\"el-icon-search\"},on:{\"click\":function($event){_vm.keyword && _vm.handleSearch()}},slot:\"append\"})],1)]},proxy:true},{key:\"default\",fn:function(){return [_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"el-icon-plus\"}},[_vm._v(\"新建细类\")])]},proxy:true}])}),_c('sy-select-tree',{ref:\"selectTree\",attrs:{\"width\":\"260\",\"nodes\":_vm.projectNodes,\"beforeClick\":_vm.beforeClick},on:{\"search\":_vm.searchProject}}),_c('h2',{staticStyle:{\"margin-top\":\"30px\"}},[_vm._v(\"分页组件的使用\")]),_c('sy-paging',{attrs:{\"pagination\":_vm.pagination},on:{\"change\":_vm.handlePageChange}}),_c('sy-paging',{attrs:{\"pagination\":_vm.pagination,\"align\":\"left\",\"layout\":\"prev, pager, next, jumper\"},on:{\"change\":_vm.handlePageChange}}),_c('sy-paging',{attrs:{\"pagination\":_vm.pagination,\"align\":\"center\"},on:{\"change\":_vm.handlePageChange}},[_c('span',{staticClass:\"el-pagination__total\"},[_vm._v(\"共 \"+_vm._s(_vm.pagination.totals)+\" 条\")])]),_c('el-dialog',{attrs:{\"title\":\"收货地址\",\"visible\":_vm.dialogTableVisible},on:{\"update:visible\":function($event){_vm.dialogTableVisible=$event}}},[_c('el-table',{attrs:{\"data\":_vm.gridData}},[_c('el-table-column',{attrs:{\"property\":\"date\",\"label\":\"日期\",\"width\":\"150\"}}),_c('el-table-column',{attrs:{\"property\":\"name\",\"label\":\"姓名\",\"width\":\"200\"}}),_c('el-table-column',{attrs:{\"property\":\"address\",\"label\":\"地址\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <!-- 左右布局 -->\r\n <sy-layout title=\"物料类别\">\r\n <template v-slot:headRight>\r\n <sy-select-project\r\n ref=\"selectProject\"\r\n :nodes=\"projectNodes\"\r\n @search=\"searchProject\"\r\n @click=\"onSelectProject\"\r\n :beforeClick=\"beforeClick\"\r\n ></sy-select-project>\r\n </template>\r\n <template v-slot:left>\r\n <sy-search-tree ref=\"leftTree\" :setting=\"setting\" :nodes=\"nodes\" @onClick=\"onClick\" @onCreated=\"handleCreated\" @searchTree=\"searchTree\" />\r\n </template>\r\n <!-- 我是内容区域, 是默认插槽,此处可放置查询条件、表格、分页 -->\r\n\r\n <sy-searchbar :searchList=\"searchList\" @on-search=\"handleSearch\" @on-reset=\"handleReset\" saveToLocalPosition=\"left\">\r\n <template v-slot:listBtns>\r\n <el-button type=\"text\" icon=\"el-icon-plus\">新建楼栋</el-button>\r\n <el-button type=\"text\" icon=\"el-icon-receiving\">批量导入</el-button>\r\n <el-dropdown trigger=\"hover\" size=\"medium\" divided @command=\"handleCommand\" placement=\"bottom-end\">\r\n <div style=\"width: 18px; height: 18px; cursor: pointer\"><i class=\"el-icon-more\"></i></div>\r\n <el-dropdown-menu slot=\"dropdown\">\r\n <el-dropdown-item command=\"masterHouseCodeVisible\" icon=\"el-icon-circle-plus-outline\">导入主数据编码</el-dropdown-item>\r\n <el-dropdown-item command=\"generateBuildingBatch\" icon=\"el-icon-files\">批量生成</el-dropdown-item>\r\n <el-dropdown-item command=\"export_all\" icon=\"el-icon-upload2\">全部导出</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </el-dropdown>\r\n </template>\r\n <template v-slot:deviceLevel>\r\n <el-popover placement=\"bottom\" width=\"300\" trigger=\"click\" v-model=\"selectActive\">\r\n <el-input placeholder=\"搜索级别\" size=\"small\" v-model=\"searchKey\" style=\"margin-bottom: 10px\"></el-input>\r\n <el-tree\r\n class=\"popover-tree\"\r\n @node-click=\"getNode\"\r\n :highlight-current=\"true\"\r\n :props=\"{ children: 'children', label: 'label' }\"\r\n :data=\"eltreeData\"\r\n node-key=\"id\"\r\n default-expand-all\r\n :expand-on-click-node=\"false\"\r\n ref=\"tree2\"\r\n >\r\n <span class=\"custom-tree-node\" slot-scope=\"{ node }\">\r\n <span class=\"label-length\">{{ node.label }}</span>\r\n </span>\r\n </el-tree>\r\n <div class=\"el-select\" slot=\"reference\">\r\n <el-input\r\n size=\"small\"\r\n @click=\"selectActive = !selectActive\"\r\n readonly\r\n class=\"el-input--suffix\"\r\n v-model=\"curElTreeNode.label\"\r\n placeholder=\"请选择设备级别\"\r\n ></el-input>\r\n <!-- <i class=\"el-select__caret el-input__icon el-icon-arrow-up tree-select\"></i> -->\r\n <span class=\"el-input__suffix\">\r\n <span class=\"el-input__suffix-inner\">\r\n <i class=\"el-select__caret el-input__icon el-icon-arrow-down\"></i>\r\n </span>\r\n </span>\r\n </div>\r\n </el-popover>\r\n </template>\r\n <template v-slot:chargingArea>\r\n <li>\r\n <el-input v-model=\"query.chargeAreaMin\" size=\"small\" oninput=\"value=value.replace(/[^\\d]/g,'')\" style=\"width: 100px\"></el-input>\r\n 至\r\n <el-input v-model=\"query.chargeAreaMax\" size=\"small\" oninput=\"value=value.replace(/[^\\d]/g,'')\" style=\"width: 100px\"></el-input>\r\n </li>\r\n </template>\r\n <template v-slot:chooseFollows>\r\n <sy-input-more\r\n style=\"width: 220px\"\r\n :str=\"queryFollows.nameStr\"\r\n placeholder=\"请选择请选择请选择请选择请选择请选择\"\r\n @open=\"openChooseFollows\"\r\n @clear=\"clearQueryFollows\"\r\n ></sy-input-more>\r\n </template>\r\n </sy-searchbar>\r\n <sy-simple-search-bar>\r\n <template #filterInput>\r\n <el-input class=\"header-filter-input\" placeholder=\"请输入名字\" v-model.trim=\"keyword\" @input=\"handleSearch\" clearable>\r\n <el-button type=\"primary\" slot=\"append\" icon=\"el-icon-search\" @click=\"keyword && handleSearch()\"></el-button>\r\n </el-input>\r\n </template>\r\n <template #default>\r\n <el-button type=\"text\" icon=\"el-icon-plus\">新建细类</el-button>\r\n </template>\r\n </sy-simple-search-bar>\r\n <sy-select-tree ref=\"selectTree\" width=\"260\" :nodes=\"projectNodes\" @search=\"searchProject\" :beforeClick=\"beforeClick\"></sy-select-tree>\r\n <h2 style=\"margin-top: 30px\">分页组件的使用</h2>\r\n <sy-paging :pagination=\"pagination\" @change=\"handlePageChange\"></sy-paging>\r\n <sy-paging :pagination=\"pagination\" @change=\"handlePageChange\" align=\"left\" layout=\"prev, pager, next, jumper\"></sy-paging>\r\n <sy-paging :pagination=\"pagination\" @change=\"handlePageChange\" align=\"center\">\r\n <span class=\"el-pagination__total\">共 {{ pagination.totals }} 条</span>\r\n </sy-paging>\r\n <el-dialog title=\"收货地址\" :visible.sync=\"dialogTableVisible\">\r\n <el-table :data=\"gridData\">\r\n <el-table-column property=\"date\" label=\"日期\" width=\"150\"></el-table-column>\r\n <el-table-column property=\"name\" label=\"姓名\" width=\"200\"></el-table-column>\r\n <el-table-column property=\"address\" label=\"地址\"></el-table-column>\r\n </el-table>\r\n </el-dialog>\r\n </sy-layout>\r\n</template>\r\n\r\n<script>\r\nimport XEUtils from 'xe-utils'\r\nconst ztreeData = require('./ztreeData.json')\r\nconst eltreeData = [\r\n {\r\n id: 1,\r\n label: '一级 1',\r\n children: [\r\n {\r\n id: 4,\r\n label: '二级 1-1',\r\n children: [\r\n {\r\n id: 9,\r\n label: '三级 1-1-1'\r\n },\r\n {\r\n id: 10,\r\n label: '三级 1-1-2'\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n id: 2,\r\n label: '一级 2',\r\n children: [\r\n {\r\n id: 5,\r\n label: '二级 2-1'\r\n },\r\n {\r\n id: 6,\r\n label: '二级 2-2'\r\n }\r\n ]\r\n },\r\n {\r\n id: 3,\r\n label: '一级 3',\r\n children: [\r\n {\r\n id: 7,\r\n label: '二级 3-1'\r\n },\r\n {\r\n id: 8,\r\n label: '二级 3-2'\r\n }\r\n ]\r\n }\r\n]\r\n\r\nexport default {\r\n name: 'App',\r\n data() {\r\n return {\r\n pagination: {\r\n currentPage: 1,\r\n pageSize: 20,\r\n totals: 200\r\n },\r\n keyword: '',\r\n ztreeObj: null,\r\n setting: {\r\n check: {\r\n enable: false\r\n },\r\n data: {\r\n // simpleData: {\r\n // enable: true,\r\n // pIdKey: 'pid'\r\n // },\r\n // 设置图标库(采用iconfont class形式)\r\n iconMap: {\r\n 1: 'icon-jituan',\r\n 2: 'icon-quyufengongsi',\r\n 3: 'icon-fengongsi',\r\n 4: 'icon-guanlichu',\r\n 5: 'icon-xiangmujiedian',\r\n 6: 'icon-quyujiedian',\r\n 7: 'icon-loudong',\r\n 8: 'icon-danyuan',\r\n 9: 'icon-fangjian'\r\n },\r\n // 设置对应每个节点的节点类型,与数据中customType对应(25行)\r\n key: {\r\n idKey: 'nodeId',\r\n nodeType: 'customType',\r\n name: 'nodeName',\r\n title: 'nodeName',\r\n children: 'childList'\r\n }\r\n },\r\n view: {\r\n // 开启图标显示功能\r\n showIcon: true\r\n }\r\n },\r\n nodes: ztreeData,\r\n projectNodes: ztreeData,\r\n selectActive: false,\r\n searchKey: '',\r\n curElTreeNode: {\r\n id: '',\r\n lebel: ''\r\n },\r\n searchList: [\r\n {\r\n id: 3,\r\n name: '动态条件',\r\n itemList: []\r\n },\r\n {\r\n id: 4,\r\n name: '下拉条件',\r\n itemList: [\r\n {\r\n id: 41,\r\n name: '未完工原因',\r\n hideName: true,\r\n value: null,\r\n type: 'select',\r\n multiple: true,\r\n options: [\r\n { id: 1, value: '001', label: '选项1' },\r\n { id: 2, value: '002', label: '选项2' }\r\n ],\r\n isActive: false\r\n },\r\n {\r\n id: 42,\r\n name: '本月',\r\n value: 'month',\r\n type: 'text',\r\n isActive: false\r\n }\r\n ]\r\n },\r\n {\r\n id: 5,\r\n name: '多选场景',\r\n multiple: true,\r\n itemList: [\r\n {\r\n id: 51,\r\n name: '加急工单预警21',\r\n value: 1,\r\n type: 'text',\r\n isActive: false\r\n },\r\n {\r\n id: 52,\r\n name: '创新租赁22',\r\n value: 2,\r\n type: 'text',\r\n isActive: false\r\n }\r\n ]\r\n },\r\n {\r\n id: 60,\r\n name: '自定义插槽场景',\r\n itemList: [\r\n {\r\n id: 601,\r\n name: '设备级别',\r\n value: '',\r\n type: 'slot',\r\n isActive: false,\r\n slot: 'deviceLevel',\r\n getValue: () => {\r\n return {\r\n name: this.curElTreeNode.label,\r\n value: this.curElTreeNode.id\r\n }\r\n },\r\n setValue: (nVal) => {\r\n if (nVal.value) {\r\n this.curElTreeNode.id = nVal.value\r\n this.curElTreeNode.label = nVal.name\r\n } else {\r\n this.curElTreeNode.id = ''\r\n this.curElTreeNode.label = ''\r\n }\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n id: 7,\r\n name: '收费面积',\r\n itemList: [\r\n {\r\n id: 71,\r\n name: '设备级别',\r\n value: '',\r\n type: 'slot',\r\n isActive: false,\r\n slot: 'chargingArea',\r\n getValue: () => {\r\n if (!this.query.chargeAreaMin || !this.query.chargeAreaMax) {\r\n return { name: '', value: '' }\r\n }\r\n return {\r\n name: `${this.query.chargeAreaMin}-${this.query.chargeAreaMax}`,\r\n value: [this.query.chargeAreaMin, this.query.chargeAreaMax]\r\n }\r\n },\r\n setValue: (nVal) => {\r\n if (nVal.value) {\r\n this.query.chargeAreaMin = nVal.value[0]\r\n this.query.chargeAreaMax = nVal.value[1]\r\n } else {\r\n this.query.chargeAreaMin = ''\r\n this.query.chargeAreaMax = ''\r\n }\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n id: 10,\r\n name: '跟进人',\r\n itemList: [\r\n {\r\n type: 'slot',\r\n isActive: false,\r\n slot: 'chooseFollows'\r\n }\r\n ]\r\n }\r\n ],\r\n eltreeData,\r\n query: {\r\n chargeAreaMin: '',\r\n chargeAreaMax: ''\r\n },\r\n queryFollows: {\r\n members: [],\r\n nameStr: '分页组件的使用'\r\n },\r\n gridData: [\r\n {\r\n date: '2016-05-02',\r\n name: '王小虎',\r\n address: '上海市普陀区金沙江路 1518 弄'\r\n },\r\n {\r\n date: '2016-05-04',\r\n name: '王小虎',\r\n address: '上海市普陀区金沙江路 1518 弄'\r\n },\r\n {\r\n date: '2016-05-01',\r\n name: '王小虎',\r\n address: '上海市普陀区金沙江路 1518 弄'\r\n },\r\n {\r\n date: '2016-05-03',\r\n name: '王小虎',\r\n address: '上海市普陀区金沙江路 1518 弄'\r\n }\r\n ],\r\n dialogTableVisible: false\r\n }\r\n },\r\n watch: {\r\n searchKey(val) {\r\n if (val) {\r\n this.eltreeData = XEUtils.searchTree(eltreeData, (item) => XEUtils.toString(item.label).indexOf(val) > -1, { children: 'children' })\r\n } else {\r\n this.eltreeData = eltreeData\r\n }\r\n }\r\n },\r\n methods: {\r\n beforeClick(node) {\r\n if (node.nodeType === '4') return true\r\n else {\r\n console.log('请选择项目节点') // 这里可以弹出一个提示框\r\n return false\r\n }\r\n },\r\n onClick: function (evt, treeId, treeNode) {\r\n // 点击事件\r\n console.log(evt.type, treeNode)\r\n },\r\n onCheck: function (evt, treeId, treeNode) {\r\n // 选中事件\r\n console.log(evt.type, treeNode)\r\n },\r\n handleCreated: function (ztreeObj) {\r\n this.ztreeObj = ztreeObj\r\n // onCreated 中操作ztreeObj对象展开第一个节点\r\n ztreeObj.expandNode(ztreeObj.getNodes()[0], true)\r\n this.$refs.leftTree.setSelectedNode('10845')\r\n },\r\n searchTree(keyword) {\r\n console.log('你搜索的关键字', keyword)\r\n if (keyword) {\r\n const options = { children: 'childList' }\r\n const searchProps = ['nodeName']\r\n this.nodes = XEUtils.searchTree(ztreeData, (item) => searchProps.some((key) => XEUtils.toString(item[key]).indexOf(keyword) > -1), options)\r\n } else {\r\n this.nodes = ztreeData\r\n }\r\n },\r\n searchProject(keyword) {\r\n console.log('你搜索的关键字', keyword)\r\n if (keyword) {\r\n const options = { children: 'childList' }\r\n this.projectNodes = XEUtils.searchTree(ztreeData, (item) => item.nodeName.indexOf(keyword) > -1, options)\r\n } else {\r\n this.projectNodes = ztreeData\r\n }\r\n },\r\n onSelectProject(projectNode) {\r\n // 选中单个项目\r\n console.log('当前选择的项目节点:', projectNode)\r\n },\r\n handleSearch(value) {\r\n console.log(value)\r\n },\r\n handleReset(value) {\r\n console.log(value)\r\n },\r\n handleSave(row) {\r\n console.log(row)\r\n },\r\n getSummaries(param) {\r\n // const { columns, data } = param;\r\n this.$nextTick(() => {\r\n this.$refs.table.doLayout()\r\n })\r\n return ['', '', '11', '', '', '']\r\n },\r\n transContent(row, prop) {\r\n const value = row[prop]\r\n return value\r\n },\r\n cellClick(row, column) {\r\n if (column.prop === 'sn') {\r\n alert('点击事件')\r\n }\r\n },\r\n handleFilterChange(column) {\r\n debugger\r\n },\r\n headerDragend(newWidth, oldWidth, column, event) {},\r\n handleSelectionChange(selection) {\r\n debugger\r\n },\r\n handleSortChange({ column, prop, order }) {\r\n debugger\r\n },\r\n\r\n dragChange(list) {\r\n debugger\r\n this.columnsList = list\r\n // localStorage.setItem('acturalReceiveDetailListConf', JSON.stringify(this.columnsList));\r\n },\r\n handleCommand(command) {\r\n switch (command) {\r\n case 'xxxx':\r\n break\r\n default:\r\n break\r\n }\r\n },\r\n getNode(data) {\r\n console.log(data)\r\n this.selectActive = false\r\n this.curElTreeNode = { ...data }\r\n },\r\n handlePageChange(page) {\r\n this.pagination = Object.assign(this.pagination, page)\r\n // this.getPageData() // 获取表格数据\r\n },\r\n openChooseFollows() {\r\n this.dialogTableVisible = true\r\n },\r\n clearQueryFollows() {\r\n this.queryFollows.nameStr = ''\r\n }\r\n },\r\n mounted() {\r\n this.$refs.selectProject.setSelectedNode('10845')\r\n setTimeout(() => {\r\n // 模拟接口获取数据\r\n const options = [\r\n { id: 1, name: '室内报修' },\r\n { id: 2, name: '公区报修' }\r\n ].map((ele) => {\r\n return {\r\n id: ele.id,\r\n value: ele.id,\r\n type: 'text',\r\n name: ele.name\r\n }\r\n })\r\n this.$set(this.searchList[0], 'itemList', options)\r\n }, 50)\r\n }\r\n}\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.filter-icon {\r\n margin-top: 1px;\r\n float: right;\r\n font-size: 9px !important;\r\n cursor: pointer;\r\n color: rgba(0, 0, 0, 0.5);\r\n}\r\n.selected-color {\r\n color: #027aff;\r\n}\r\n</style>\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App4.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App4.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App4.vue?vue&type=template&id=71bda11a&scoped=true&\"\nimport script from \"./App4.vue?vue&type=script&lang=js&\"\nexport * from \"./App4.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App4.vue?vue&type=style&index=0&id=71bda11a&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"71bda11a\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\r\nimport Router from 'vue-router'\r\n\r\nimport App1 from './App1.vue'\r\nimport App2 from './App2.vue'\r\nimport App3 from './App3.vue'\r\nimport App4 from './App4.vue'\r\n\r\nVue.use(Router)\r\n\r\nconst routes = [\r\n { path: '/', redirect: '/app1' },\r\n { path: '/app1', component: App1, meta: { title: '组件使用示例页面1' } },\r\n { path: '/app2', component: App2, meta: { title: '组件使用示例页面2' } },\r\n { path: '/app3', component: App3, meta: { title: '组件使用示例页面3' } },\r\n { path: '/app4', component: App4, meta: { title: '组件使用示例页面4' } }\r\n]\r\n\r\nconst router = new Router({\r\n routes: routes\r\n})\r\n\r\nrouter.beforeEach((to, from, next) => {\r\n if (to.meta && to.meta.title) {\r\n document.title = to.meta.title\r\n }\r\n next()\r\n})\r\n\r\nexport default router\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"main-container\",class:{ 'no-head': !_vm.headVisiable }},[(_vm.headVisiable)?_c('div',{staticClass:\"hd\"},[_vm._t(\"headLeft\",[_c('h2',[_vm._v(_vm._s(_vm.title))])]),_c('div',{staticClass:\"hd-right\"},[_vm._t(\"headRight\")],2)],2):_vm._e(),(_vm.$slots.left)?_c('div',{staticClass:\"bd west-east-wrap\"},[_c('div',{staticClass:\"west-tree-box\",style:({ width: _vm.showTree ? '260px' : '0' })},[_c('div',{staticClass:\"west-tree-content\"},[_vm._t(\"left\")],2),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showTree),expression:\"showTree\"}],staticClass:\"pick-left\",on:{\"click\":_vm.pickLeft}},[_c('img',{attrs:{\"src\":require(\"./pick-left.png\"),\"alt\":\"\"}})])]),_c('div',{staticClass:\"east-content\",class:{ 'no-padding': _vm.noPadding },style:({ width: _vm.showTree ? 'calc(100% - 261px)' : 'calc(100% - 1px)' })},[_vm._t(\"default\"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.showTree),expression:\"!showTree\"}],staticClass:\"pick-right\",on:{\"click\":_vm.pickRight}},[_c('img',{attrs:{\"src\":require(\"./pick-right.png\"),\"alt\":\"\"}})])],2)]):_c('div',{staticClass:\"bd\"},[_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div class=\"main-container\" :class=\"{ 'no-head': !headVisiable }\">\r\n <div class=\"hd\" v-if=\"headVisiable\">\r\n <slot name=\"headLeft\">\r\n <h2>{{ title }}</h2>\r\n </slot>\r\n <div class=\"hd-right\">\r\n <slot name=\"headRight\"></slot>\r\n </div>\r\n </div>\r\n <div class=\"bd west-east-wrap\" v-if=\"$slots.left\">\r\n <!-- 当有左侧树时使用这个布局 -->\r\n <div class=\"west-tree-box\" :style=\"{ width: showTree ? '260px' : '0' }\">\r\n <!-- 左侧树 -->\r\n <div class=\"west-tree-content\">\r\n <slot name=\"left\"></slot>\r\n </div>\r\n <div class=\"pick-left\" @click=\"pickLeft\" v-show=\"showTree\">\r\n <img src=\"./pick-left.png\" alt=\"\" />\r\n </div>\r\n </div>\r\n <div class=\"east-content\" :class=\"{ 'no-padding': noPadding }\" :style=\"{ width: showTree ? 'calc(100% - 261px)' : 'calc(100% - 1px)' }\">\r\n <!-- 右侧主区域 -->\r\n <slot />\r\n <div class=\"pick-right\" @click=\"pickRight\" v-show=\"!showTree\">\r\n <img src=\"./pick-right.png\" alt=\"\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"bd\" v-else>\r\n <!-- 默认的布局 -->\r\n <slot />\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: 'SyLayout',\r\n props: {\r\n title: {\r\n // 标题\r\n type: String,\r\n default: ''\r\n },\r\n noPadding: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n data() {\r\n return {\r\n showTree: true\r\n }\r\n },\r\n computed: {\r\n headVisiable() {\r\n // 不提供左侧头,右侧头和标题的视为没有头的布局\r\n return this.$slots.headLeft || this.$slots.headRight || this.title\r\n }\r\n },\r\n methods: {\r\n pickLeft() {\r\n this.showTree = false\r\n },\r\n pickRight() {\r\n this.showTree = true\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped></style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./layout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./layout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./layout.vue?vue&type=template&id=945b63aa&scoped=true&\"\nimport script from \"./layout.vue?vue&type=script&lang=js&\"\nexport * from \"./layout.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"945b63aa\",\n null\n \n)\n\nexport default component.exports","// 导入组件\r\nimport layout from './src/layout.vue'\r\n\r\n// 为组件提供 install 安装方法,供按需引入\r\nlayout.install = function (Vue) {\r\n Vue.component(layout.name, layout)\r\n}\r\n\r\n// 默认导出组件\r\nexport default layout\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ztree-box\"},[(_vm.searchable)?_c('div',{staticClass:\"ztree-search\"},[_c('div',{staticClass:\"ztree-search-wrapper\",class:_vm.searchClass},[_c('div',{staticClass:\"icon\"}),_c('div',{staticClass:\"input-box\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.keyword),expression:\"keyword\",modifiers:{\"trim\":true}}],staticClass:\"query-input\",attrs:{\"type\":\"text\",\"placeholder\":_vm.placeholder},domProps:{\"value\":(_vm.keyword)},on:{\"focus\":_vm.onQueryInputFocus,\"blur\":[_vm.onQueryInputBlur,function($event){return _vm.$forceUpdate()}],\"input\":[function($event){if($event.target.composing){ return; }_vm.keyword=$event.target.value.trim()},_vm.onSearchTree]}})])])]):_vm._e(),_c('div',{staticClass:\"ztree-container\"},[(_vm.nodes && _vm.nodes.length)?_c('div',{staticClass:\"ztree\",attrs:{\"id\":_vm.ztreeId}}):_c('div',{staticClass:\"empty\"},[_vm._v(\" 暂无数据 \")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div class=\"ztree-box\">\r\n <div class=\"ztree-search\" v-if=\"searchable\">\r\n <div class=\"ztree-search-wrapper\" :class=\"searchClass\">\r\n <div class=\"icon\"></div>\r\n <div class=\"input-box\">\r\n <input\r\n type=\"text\"\r\n v-model.trim=\"keyword\"\r\n class=\"query-input\"\r\n :placeholder=\"placeholder\"\r\n @focus=\"onQueryInputFocus\"\r\n @blur=\"onQueryInputBlur\"\r\n @input=\"onSearchTree\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"ztree-container\">\r\n <div class=\"ztree\" :id=\"ztreeId\" v-if=\"nodes && nodes.length\"></div>\r\n <div class=\"empty\" v-else>\r\n 暂无数据\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { debounce } from 'throttle-debounce'\r\nimport $ from 'jquery'\r\nif (!window.jQuery) {\r\n window.jQuery = $\r\n}\r\nrequire('./lib/jquery.ztree.all')\r\n\r\nfunction fn(pArray, key, showIcon) {\r\n // 对传递过来的数据进行处理,主要是增加图标,及去除childList:[]为空的\r\n pArray.forEach(pData => {\r\n if (showIcon) {\r\n // 如果显示图标\r\n if (pData.nodeType) {\r\n pData.customType = pData.nodeType * 1\r\n } else {\r\n if (!pData.customType) {\r\n // 如果没有定义图标\r\n if (pData[key] && pData[key].length === 0) {\r\n pData.customType = 2\r\n } else if (pData[key] && pData[key].length > 0) {\r\n pData.customType = 1\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (pData[key] && pData[key].length === 0) {\r\n delete pData[key]\r\n } else if (pData[key] && pData[key].length > 0) {\r\n fn(pData[key], key, showIcon)\r\n }\r\n })\r\n}\r\n\r\nexport default {\r\n name: 'SySearchTree',\r\n props: {\r\n setting: {\r\n type: Object,\r\n required: false,\r\n default: () => ({})\r\n },\r\n nodes: {\r\n type: Array,\r\n required: true,\r\n default: () => []\r\n },\r\n searchable: {\r\n type: Boolean,\r\n required: false,\r\n default: true\r\n },\r\n placeholder: {\r\n type: String,\r\n required: false,\r\n default: '请输入搜索关键字'\r\n },\r\n beforeClickFn: { type: Function },\r\n beforeCheckFn: { type: Function }\r\n },\r\n data() {\r\n return {\r\n keyword: '', // 搜索关键字\r\n isSearching: false, // 当前正处于输入状态\r\n curSelectedNode: null, // 当前选中的节点\r\n searchIsActive: false,\r\n ztreeId: 'ztree_' + parseInt(Math.random() * 1e10),\r\n ztreeObj: null,\r\n ztreeSetting: {\r\n view: {\r\n showIcon: true // default to hide icon\r\n },\r\n callback: {\r\n beforeClick: (treeId, treeNode, clickFlag) => {\r\n return this.beforeClickFn && this.beforeClickFn(treeNode)\r\n },\r\n beforeCheck: (treeId, treeNode) => {\r\n return this.beforeCheckFn && this.beforeCheckFn(treeNode)\r\n },\r\n onAsyncError: (...arg) => {\r\n this.$emit('onAsyncError', ...arg)\r\n },\r\n onAsyncSuccess: (...arg) => {\r\n this.$emit('onAsyncSuccess', ...arg)\r\n },\r\n onCheck: (...arg) => {\r\n this.$emit('onCheck', ...arg)\r\n },\r\n onClick: (...arg) => {\r\n this.curSelectedNode = arg[2]\r\n this.$emit('onClick', ...arg)\r\n },\r\n onCollapse: (...arg) => {\r\n this.$emit('onCollapse', ...arg)\r\n },\r\n onDblClick: (...arg) => {\r\n this.$emit('onDblClick', ...arg)\r\n },\r\n onDrag: (...arg) => {\r\n this.$emit('onDrag', ...arg)\r\n },\r\n onDragMove: (...arg) => {\r\n this.$emit('onDragMove', ...arg)\r\n },\r\n onDrop: (...arg) => {\r\n this.$emit('onDrop', ...arg)\r\n },\r\n onExpand: (...arg) => {\r\n this.$emit('onExpand', ...arg)\r\n },\r\n onMouseDown: (...arg) => {\r\n this.$emit('onMouseDown', ...arg)\r\n },\r\n onMouseUp: (...arg) => {\r\n this.$emit('onMouseUp', ...arg)\r\n },\r\n onRemove: (...arg) => {\r\n this.$emit('onRemove', ...arg)\r\n },\r\n onRename: (...arg) => {\r\n this.$emit('onRename', ...arg)\r\n },\r\n onRightClick: (...arg) => {\r\n this.$emit('onRightClick', ...arg)\r\n }\r\n }\r\n }\r\n }\r\n },\r\n computed: {\r\n searchClass() {\r\n return { 'is-active': this.searchIsActive }\r\n }\r\n },\r\n watch: {\r\n keyword(newVal) {\r\n this.isSearching = !!newVal\r\n },\r\n nodes: {\r\n handler: function(nodes) {\r\n const idKey = this.setting.data.key.idKey || 'nodeId'\r\n const showIcon = (this.setting.view && this.setting.view.showIcon) || false\r\n fn(nodes, this.setting.data.key.children, showIcon)\r\n const list = nodes\r\n\r\n // 数据变更后更新树\r\n if (this.ztreeObj) {\r\n this.ztreeObj.destroy()\r\n }\r\n this.$nextTick(() => {\r\n this.ztreeObj = $.fn.zTree.init($('#' + this.ztreeId), Object.assign({}, this.ztreeSetting, this.setting), list)\r\n this.$emit('onCreated', this.ztreeObj, this.curSelectedNode)\r\n if (!this.isSearching && this.curSelectedNode) {\r\n // 如果不处于搜索状态\r\n this.setSelectedNode(this.curSelectedNode[idKey], true)\r\n }\r\n if (this.isSearching) {\r\n // 如果是搜索展开所有\r\n this.ztreeObj.expandAll(true)\r\n }\r\n })\r\n },\r\n deep: true,\r\n immediate: true\r\n }\r\n },\r\n methods: {\r\n onQueryInputFocus() {\r\n // 搜索框获得焦点\r\n this.searchIsActive = true\r\n },\r\n onQueryInputBlur() {\r\n // 搜索框失去焦点\r\n this.searchIsActive = false\r\n },\r\n onSearchTree: debounce(200, function() {\r\n // 根据关键字搜索树\r\n this.$emit('searchTree', this.keyword)\r\n }),\r\n setSelectedNode(selectedKey, noEmit) {\r\n // 设置默认选中的节点\r\n if (!selectedKey) return\r\n const idKey = this.setting.data.key.idKey || 'nodeId'\r\n const nodes = this.ztreeObj.getNodesByParam(idKey, selectedKey, null)\r\n if (nodes.length) {\r\n const node = nodes[0]\r\n this.ztreeObj.selectNode(node)\r\n this.curSelectedNode = node\r\n if (noEmit) return\r\n this.$emit('onClick', ...[{ type: 0 }, null, node])\r\n }\r\n },\r\n setCheckedNodes(checkedKeys) {\r\n // 设置默认勾选的节点\r\n if (!checkedKeys || !(checkedKeys instanceof Array)) {\r\n console.log('请传递数组')\r\n return false\r\n }\r\n const idKey = this.setting.data.key.idKey || 'nodeId'\r\n checkedKeys.forEach(key => {\r\n const nodes = this.ztreeObj.getNodesByParam(idKey, key, null)\r\n if (nodes.length) {\r\n this.ztreeObj.checkNode(nodes[0], true, true)\r\n }\r\n })\r\n },\r\n cancelAllSelectedNode() {\r\n // 取消所有选中\r\n this.ztreeObj.cancelSelectedNode()\r\n this.curSelectedNode = null\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n.ztree-box {\r\n height: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n}\r\n.ztree-search {\r\n height: 40px;\r\n padding-top: 10px;\r\n}\r\n.ztree-search-wrapper {\r\n height: 30px;\r\n width: 90%;\r\n margin: auto;\r\n border: 1px solid #dcdfe6;\r\n border-radius: 2px;\r\n display: flex;\r\n align-items: center;\r\n padding: 0 10px;\r\n}\r\n.ztree-search * {\r\n box-sizing: border-box;\r\n}\r\n.ztree-search-wrapper.is-active {\r\n border-color: #027aff;\r\n}\r\n.ztree-search-wrapper .icon {\r\n flex-basis: 16px;\r\n width: 16px;\r\n height: 16px;\r\n background: url('./zoom-out.png') no-repeat;\r\n}\r\n.ztree-search-wrapper .input-box {\r\n flex: 1;\r\n}\r\n.ztree-search-wrapper .query-input {\r\n height: 28px;\r\n line-height: 29px;\r\n width: 100%;\r\n border: none;\r\n padding: 0 8px;\r\n background-color: transparent;\r\n}\r\n.ztree-search-wrapper .query-input::placeholder {\r\n color: #aaa;\r\n}\r\n.ztree-container {\r\n flex: 1;\r\n overflow-y: auto;\r\n}\r\n.empty {\r\n color: #999;\r\n padding-left: 40px;\r\n}\r\n/* beauty ztree! */\r\n.ztree {\r\n text-align: left;\r\n font-size: 14px;\r\n padding-left: 5px;\r\n}\r\n/* .ztree >>> .node-iconfont {\r\n font-size: 20px;\r\n} */\r\n.ztree >>> li {\r\n list-style-type: none;\r\n white-space: nowrap;\r\n outline: none;\r\n}\r\n.ztree >>> li ul {\r\n position: relative;\r\n padding: 0 0 0 18px;\r\n margin: 0;\r\n}\r\n.ztree >>> .line:before {\r\n position: absolute;\r\n top: 0;\r\n left: 10px;\r\n height: 100%;\r\n content: '';\r\n border-right: 1px dotted #dbdbdb;\r\n}\r\n.ztree >>> .roots_docu:before,\r\n.ztree >>> .roots_docu:after,\r\n.ztree >>> .center_docu:before,\r\n.ztree >>> .bottom_docu:before,\r\n.ztree >>> .center_docu:after,\r\n.ztree >>> .bottom_docu:after {\r\n position: absolute;\r\n content: '';\r\n border: 0 dotted #dbdbdb;\r\n}\r\n.ztree >>> .roots_docu:before {\r\n left: 10px;\r\n height: 50%;\r\n top: 50%;\r\n border-left-width: 1px;\r\n}\r\n.ztree >>> .roots_docu:after {\r\n top: 50%;\r\n left: 11px;\r\n width: 50%;\r\n border-top-width: 1px;\r\n}\r\n.ztree >>> .center_docu:before {\r\n left: 10px;\r\n height: 100%;\r\n border-left-width: 1px;\r\n}\r\n.ztree >>> .center_docu:after {\r\n top: 50%;\r\n left: 11px;\r\n width: 50%;\r\n border-top-width: 1px;\r\n}\r\n.ztree >>> .bottom_docu:before {\r\n left: 10px;\r\n height: 50%;\r\n border-left-width: 1px;\r\n}\r\n.ztree >>> .bottom_docu:after {\r\n top: 50%;\r\n left: 11px;\r\n width: 50%;\r\n border-top-width: 1px;\r\n}\r\n.ztree >>> li a {\r\n display: inline-block;\r\n line-height: 22px;\r\n height: 22px;\r\n margin: 0;\r\n cursor: pointer;\r\n transition: none;\r\n vertical-align: middle;\r\n color: #606266;\r\n}\r\n.ztree >>> .node_name {\r\n display: inline-block;\r\n padding: 0 3px;\r\n border-radius: 4px;\r\n}\r\n.ztree >>> .curSelectedNode .node_name {\r\n color: #000;\r\n background-color: #c9e9f7;\r\n}\r\n.ztree >>> .curSelectedNode_Edit {\r\n height: 20px;\r\n opacity: 0.8;\r\n color: #000;\r\n border: 1px #6cc2e8 solid;\r\n background-color: #9dd6f0;\r\n}\r\n.ztree >>> .tmpTargetNode_inner {\r\n opacity: 0.8;\r\n color: #fff;\r\n background-color: #4fcbf0;\r\n filter: alpha(opacity=80);\r\n}\r\n.ztree >>> .rename {\r\n font-size: 12px;\r\n line-height: 22px;\r\n width: 80px;\r\n height: 22px;\r\n margin: 0;\r\n padding: 0;\r\n vertical-align: top;\r\n border: 0;\r\n background: none;\r\n}\r\n.ztree >>> .button {\r\n position: relative;\r\n display: inline-block;\r\n line-height: 22px;\r\n height: 22px;\r\n width: 18px;\r\n cursor: pointer;\r\n text-align: center;\r\n vertical-align: middle;\r\n font-size: 14px;\r\n color: rgb(74, 141, 240);\r\n}\r\n\r\n.ztree >>> .button.edit {\r\n color: #25ae88;\r\n}\r\n.ztree >>> .button.remove {\r\n color: #cb4042;\r\n}\r\n.ztree >>> .button.chk {\r\n position: relative;\r\n width: 14px;\r\n height: 14px;\r\n margin: 0 4px 0 0;\r\n border: 1px solid #d7dde4;\r\n border-radius: 2px;\r\n background: #fff;\r\n}\r\n.ztree >>> .chk.radio_true_full,\r\n.ztree >>> .chk.radio_false_full,\r\n.ztree >>> .chk.radio_true_full_focus,\r\n.ztree >>> .chk.radio_false_full_focus,\r\n.ztree >>> .chk.radio_false_disable,\r\n.ztree >>> .chk.radio_true_disable,\r\n.ztree >>> .chk.radio_true_part,\r\n.ztree >>> .chk.radio_false_part,\r\n.ztree >>> .chk.radio_true_part_focus,\r\n.ztree >>> .chk.radio_false_part_focus {\r\n border-radius: 8px;\r\n}\r\n.ztree >>> .button.chk:after {\r\n position: absolute;\r\n top: 1px;\r\n left: 4px;\r\n width: 4px;\r\n height: 8px;\r\n content: '';\r\n transition: -webkit-transform 0.2s ease-in-out;\r\n transition: transform 0.2s ease-in-out;\r\n transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;\r\n -webkit-transform: rotate(0deg) scale(0);\r\n transform: rotate(0deg) scale(0);\r\n border-right: 2px solid #fff;\r\n border-bottom: 2px solid #fff;\r\n}\r\n.ztree >>> .button.checkbox_false_full_focus {\r\n border-color: #ccc;\r\n}\r\n.ztree >>> .button.checkbox_true_full,\r\n.ztree >>> .button.checkbox_true_full_focus,\r\n.ztree >>> .button.checkbox_true_part,\r\n.ztree >>> .button.checkbox_true_part_focus,\r\n.ztree >>> .button.checkbox_true_disable {\r\n border-color: #39f;\r\n background-color: #39f;\r\n}\r\n.ztree >>> .button.checkbox_true_full:after,\r\n.ztree >>> .button.checkbox_true_full_focus:after,\r\n.ztree >>> .button.checkbox_true_disable:after {\r\n -webkit-transform: rotate(45deg) scale(1);\r\n transform: rotate(45deg) scale(1);\r\n}\r\n.ztree >>> .button.checkbox_true_part:after,\r\n.ztree >>> .button.checkbox_true_part_focus:after {\r\n top: 5px;\r\n left: 1px;\r\n width: 10px;\r\n height: 1px;\r\n -webkit-transform: rotate(0deg) scale(1);\r\n transform: rotate(0deg) scale(1);\r\n border-right: 0;\r\n}\r\n.ztree >>> .button.radio_true_full,\r\n.ztree >>> .chk.radio_true_full_focus,\r\n.ztree >>> .chk.radio_true_part,\r\n.ztree >>> .chk.radio_true_part_focus {\r\n border-color: #39f;\r\n}\r\n.ztree >>> .button.radio_true_full:after,\r\n.ztree >>> .chk.radio_true_full_focus:after,\r\n.ztree >>> .chk.radio_true_part:after,\r\n.ztree >>> .chk.radio_true_part_focus:after {\r\n top: 3px;\r\n left: 3px;\r\n width: 8px;\r\n -webkit-transform: rotate(0deg) scale(1);\r\n transform: rotate(0deg) scale(1);\r\n border: 0;\r\n border-radius: 4px;\r\n background: #39f;\r\n}\r\n.ztree >>> .button.checkbox_true_disable,\r\n.ztree >>> .button.checkbox_false_disable,\r\n.ztree >>> .chk.radio_false_disable,\r\n.ztree >>> .chk.radio_true_disable {\r\n cursor: not-allowed;\r\n}\r\n.ztree >>> .button.checkbox_false_disable {\r\n background-color: #f3f3f3;\r\n}\r\n.ztree >>> .button.noline_close:before,\r\n.ztree >>> .button.noline_open:before,\r\n.ztree >>> .button.root_open:before,\r\n.ztree >>> .button.root_close:before,\r\n.ztree >>> .button.roots_open:before,\r\n.ztree >>> .button.roots_close:before,\r\n.ztree >>> .button.bottom_open:before,\r\n.ztree >>> .button.bottom_close:before,\r\n.ztree >>> .button.center_open:before,\r\n.ztree >>> .button.center_close:before {\r\n position: absolute;\r\n top: 6px;\r\n left: 5px;\r\n content: '';\r\n transition: -webkit-transform ease 0.3s;\r\n transition: transform ease 0.3s;\r\n transition: transform ease 0.3s, -webkit-transform ease 0.3s;\r\n -webkit-transform: rotateZ(0deg);\r\n transform: rotateZ(0deg);\r\n -webkit-transform-origin: 25% 50%;\r\n transform-origin: 25% 50%;\r\n border: 5px solid;\r\n border-color: transparent transparent transparent #999;\r\n}\r\n.ztree >>> .button.noline_open:before,\r\n.ztree >>> .button.root_open:before,\r\n.ztree >>> .button.roots_open:before,\r\n.ztree >>> .button.bottom_open:before,\r\n.ztree >>> .button.center_open:before {\r\n -webkit-transform: rotateZ(90deg);\r\n transform: rotateZ(90deg);\r\n}\r\n.ztree >>> .button.ico_loading {\r\n margin-right: 2px;\r\n background: url('data:image/gif;base64,R0lGODlhEAAQAKIGAMLY8YSx5HOm4Mjc88/g9Ofw+v///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFCgAGACwAAAAAEAAQAAADMGi6RbUwGjKIXCAA016PgRBElAVlG/RdLOO0X9nK61W39qvqiwz5Ls/rRqrggsdkAgAh+QQFCgAGACwCAAAABwAFAAADD2hqELAmiFBIYY4MAutdCQAh+QQFCgAGACwGAAAABwAFAAADD1hU1kaDOKMYCGAGEeYFCQAh+QQFCgAGACwKAAIABQAHAAADEFhUZjSkKdZqBQG0IELDQAIAIfkEBQoABgAsCgAGAAUABwAAAxBoVlRKgyjmlAIBqCDCzUoCACH5BAUKAAYALAYACgAHAAUAAAMPaGpFtYYMAgJgLogA610JACH5BAUKAAYALAIACgAHAAUAAAMPCAHWFiI4o1ghZZJB5i0JACH5BAUKAAYALAAABgAFAAcAAAMQCAFmIaEp1motpDQySMNFAgA7')\r\n 0 center no-repeat;\r\n}\r\n.ztree >>> .tmpTargetzTree {\r\n opacity: 0.8;\r\n background-color: #2ea9df;\r\n filter: alpha(opacity=80);\r\n}\r\n.ztree >>> .tmpzTreeMove_arrow {\r\n position: absolute;\r\n width: 18px;\r\n height: 18px;\r\n color: #4fcbf0;\r\n}\r\n.ztree >>> .ztree.zTreeDragUL {\r\n overflow: hidden;\r\n position: absolute;\r\n width: auto;\r\n height: auto;\r\n margin: 0;\r\n padding: 0;\r\n opacity: 0.8;\r\n border: 1px #176b53 dotted;\r\n background-color: #dbdbdb;\r\n filter: alpha(opacity=80);\r\n}\r\n.zTreeMask {\r\n position: absolute;\r\n z-index: 10000;\r\n opacity: 0;\r\n background-color: #cfcfcf;\r\n filter: alpha(opacity=0);\r\n}\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./zTree.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./zTree.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./zTree.vue?vue&type=template&id=7a8508a3&scoped=true&\"\nimport script from \"./zTree.vue?vue&type=script&lang=js&\"\nexport * from \"./zTree.vue?vue&type=script&lang=js&\"\nimport style0 from \"./zTree.vue?vue&type=style&index=0&id=7a8508a3&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7a8508a3\",\n null\n \n)\n\nexport default component.exports","// 导入组件\r\nimport searchTree from './src/zTree.vue'\r\n\r\n// 为组件提供 install 安装方法,供按需引入\r\nsearchTree.install = function (Vue) {\r\n Vue.component(searchTree.name, searchTree)\r\n}\r\n\r\n// 默认导出组件\r\nexport default searchTree\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"sy-select-project\"},[_c('el-popover',{attrs:{\"placement\":\"bottom\",\"trigger\":\"click\",\"disabled\":_vm.disabled},model:{value:(_vm.visible),callback:function ($$v) {_vm.visible=$$v},expression:\"visible\"}},[_c('div',{staticStyle:{\"height\":\"60vh\"}},[_c('sy-search-tree',{ref:\"ztreeRef\",attrs:{\"setting\":_vm.ztreeSetting,\"nodes\":_vm.nodes,\"placeholder\":_vm.placeholder,\"beforeClickFn\":_vm.beforeClickFn},on:{\"onClick\":_vm.onClick,\"onCreated\":_vm.handleCreated,\"searchTree\":_vm.searchTree}})],1),_c('a',{staticStyle:{\"cursor\":\"pointer\"},attrs:{\"slot\":\"reference\"},slot:\"reference\"},[_vm._v(_vm._s(_vm.projectInfo.nodeName)),_c('i',{staticClass:\"el-icon-caret-bottom el-icon--right drop-icon\",class:{ isOpen: _vm.visible }})])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div class=\"sy-select-project\">\r\n <el-popover placement=\"bottom\" trigger=\"click\" v-model=\"visible\" :disabled=\"disabled\">\r\n <div style=\"height: 60vh;\">\r\n <sy-search-tree\r\n ref=\"ztreeRef\"\r\n :setting=\"ztreeSetting\"\r\n :nodes=\"nodes\"\r\n :placeholder=\"placeholder\"\r\n @onClick=\"onClick\"\r\n @onCreated=\"handleCreated\"\r\n @searchTree=\"searchTree\"\r\n :beforeClickFn=\"beforeClickFn\"\r\n />\r\n </div>\r\n <a slot=\"reference\" style=\"cursor: pointer;\"\r\n >{{ projectInfo.nodeName }}<i class=\"el-icon-caret-bottom el-icon--right drop-icon\" :class=\"{ isOpen: visible }\"></i\r\n ></a>\r\n </el-popover>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport merge from 'deepmerge'\r\nimport searchTree from '../../search-tree'\r\n\r\nexport default {\r\n name: 'SySelectProject',\r\n components: {\r\n SySearchTree: searchTree\r\n },\r\n data() {\r\n const defaultSetting = {\r\n check: {\r\n enable: false\r\n },\r\n data: {\r\n // 设置图标库(采用iconfont class形式)\r\n iconMap: {\r\n 1: 'icon-jituan',\r\n 2: 'icon-quyufengongsi',\r\n 3: 'icon-fengongsi',\r\n 4: 'icon-guanlichu',\r\n 5: 'icon-xiangmujiedian',\r\n 6: 'icon-quyujiedian',\r\n 7: 'icon-loudong',\r\n 8: 'icon-danyuan',\r\n 9: 'icon-fangjian'\r\n },\r\n // 设置对应每个节点的节点类型,与数据中customType对应(25行)\r\n key: {\r\n idKey: 'nodeId',\r\n nodeType: 'customType',\r\n name: 'nodeName',\r\n title: 'nodeName',\r\n children: 'childList'\r\n }\r\n },\r\n view: {\r\n // 开启图标显示功能\r\n showIcon: true\r\n }\r\n }\r\n const mergeSetting = merge(defaultSetting, this.setting)\r\n return {\r\n visible: false,\r\n projectInfo: {\r\n nodeName: '请选择'\r\n },\r\n ztreeObj: null,\r\n ztreeSetting: mergeSetting\r\n }\r\n },\r\n props: {\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n },\r\n setting: {\r\n type: Object,\r\n required: false,\r\n default: () => ({})\r\n },\r\n nodes: {\r\n type: Array,\r\n default: () => []\r\n },\r\n placeholder: {\r\n type: String,\r\n default: '请输入搜索关键字'\r\n },\r\n beforeClick: { type: Function } // 选中节点之前的处理事件,如不允许选择nodeType='2'的节点\r\n },\r\n watch: {\r\n defaultCheckedKeys: {\r\n handler: function(newVal) {\r\n if (newVal.length && this.ztreeObj) {\r\n this.$refs.ztreeRef.setDefaultCheckedNodes(newVal)\r\n }\r\n },\r\n deep: true\r\n }\r\n },\r\n methods: {\r\n beforeClickFn(arg) {\r\n return this.beforeClick(arg)\r\n },\r\n onClick: function(evt, treeId, treeNode) {\r\n this.projectInfo = { ...treeNode }\r\n this.visible = false\r\n this.$emit('click', this.projectInfo)\r\n },\r\n onCheck: function(evt, treeId, treeNode) {\r\n // 选中事件\r\n console.log(evt.type, treeNode)\r\n },\r\n handleCreated: function(ztreeObj) {\r\n this.ztreeObj = ztreeObj\r\n // onCreated 中操作ztreeObj对象展开第一个节点\r\n ztreeObj.expandNode(ztreeObj.getNodes()[0], true)\r\n },\r\n searchTree(keyword) {\r\n // 关键字搜索\r\n this.$emit('search', keyword)\r\n },\r\n setSelectedNode(selectedKey) {\r\n // 设置默认选中的节点\r\n setTimeout(() => {\r\n this.$refs.ztreeRef.setSelectedNode(selectedKey)\r\n }, 20)\r\n },\r\n setCheckedNodes(checkedKeys) {\r\n setTimeout(() => {\r\n this.$refs.ztreeRef.setCheckedNodes(checkedKeys)\r\n }, 20)\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n@import '../../styles/variables.scss';\r\n.sy-select-project {\r\n height: 100%;\r\n color: $header-color;\r\n font-weight: 700;\r\n\r\n .drop-icon {\r\n transition: all 0.3s linear;\r\n &.isOpen {\r\n transform: rotateZ(180deg);\r\n }\r\n }\r\n}\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select-project.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select-project.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./select-project.vue?vue&type=template&id=4081269a&scoped=true&\"\nimport script from \"./select-project.vue?vue&type=script&lang=js&\"\nexport * from \"./select-project.vue?vue&type=script&lang=js&\"\nimport style0 from \"./select-project.vue?vue&type=style&index=0&id=4081269a&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4081269a\",\n null\n \n)\n\nexport default component.exports","// 导入组件\r\nimport selectProject from './src/select-project.vue'\r\n\r\n// 为组件提供 install 安装方法,供按需引入\r\nselectProject.install = function (Vue) {\r\n Vue.component(selectProject.name, selectProject)\r\n}\r\n\r\n// 默认导出组件\r\nexport default selectProject\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"clickoutside\",rawName:\"v-clickoutside\",value:(_vm.handleClickOutside),expression:\"handleClickOutside\"}],staticClass:\"sy-select-tree\",style:(_vm.widthObj)},[_c('el-input',{attrs:{\"value\":_vm.selectedNode.nodeName,\"disabled\":_vm.disabled,\"size\":\"small\",\"placeholder\":_vm.placeholder,\"clearable\":\"\"},on:{\"clear\":_vm.clearSelectedNode},nativeOn:{\"click\":function($event){return _vm.toggleVisible($event)}}}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.visible),expression:\"visible\"}],staticClass:\"tree-wrapper\",style:(_vm.heightObj)},[_c('sy-search-tree',{ref:\"ztreeRef\",attrs:{\"setting\":_vm.ztreeSetting,\"nodes\":_vm.nodes,\"placeholder\":_vm.searchPlaceholder,\"beforeClickFn\":_vm.beforeClickFn},on:{\"onClick\":_vm.onClick,\"onCreated\":_vm.handleCreated,\"searchTree\":_vm.searchTree}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div class=\"sy-select-tree\" :style=\"widthObj\" v-clickoutside=\"handleClickOutside\">\r\n <el-input\r\n v-bind:value=\"selectedNode.nodeName\"\r\n @click.native=\"toggleVisible\"\r\n :disabled=\"disabled\"\r\n size=\"small\"\r\n :placeholder=\"placeholder\"\r\n clearable\r\n @clear=\"clearSelectedNode\"\r\n />\r\n <div class=\"tree-wrapper\" :style=\"heightObj\" v-show=\"visible\">\r\n <sy-search-tree\r\n ref=\"ztreeRef\"\r\n :setting=\"ztreeSetting\"\r\n :nodes=\"nodes\"\r\n :placeholder=\"searchPlaceholder\"\r\n @onClick=\"onClick\"\r\n @onCreated=\"handleCreated\"\r\n @searchTree=\"searchTree\"\r\n :beforeClickFn=\"beforeClickFn\"\r\n />\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport merge from 'deepmerge'\r\nimport searchTree from '../../search-tree'\r\nimport Clickoutside from 'element-ui/src/utils/clickoutside'\r\n\r\nexport default {\r\n name: 'SySelectTree',\r\n components: {\r\n SySearchTree: searchTree\r\n },\r\n directives: { Clickoutside },\r\n data() {\r\n const defaultSetting = {\r\n check: {\r\n enable: false\r\n },\r\n data: {\r\n // 设置图标库(采用iconfont class形式)\r\n iconMap: {\r\n 1: 'icon-jituan',\r\n 2: 'icon-quyufengongsi',\r\n 3: 'icon-fengongsi',\r\n 4: 'icon-guanlichu',\r\n 5: 'icon-xiangmujiedian',\r\n 6: 'icon-quyujiedian',\r\n 7: 'icon-loudong',\r\n 8: 'icon-danyuan',\r\n 9: 'icon-fangjian'\r\n },\r\n // 设置对应每个节点的节点类型,与数据中customType对应(25行)\r\n key: {\r\n idKey: 'nodeId',\r\n nodeType: 'customType',\r\n name: 'nodeName',\r\n title: 'nodeName',\r\n children: 'childList'\r\n }\r\n },\r\n view: {\r\n // 开启图标显示功能\r\n showIcon: true\r\n }\r\n }\r\n const mergeSetting = merge(defaultSetting, this.setting)\r\n return {\r\n visible: false,\r\n selectedNode: {\r\n nodeId: '',\r\n nodeName: ''\r\n },\r\n ztreeObj: null,\r\n ztreeSetting: mergeSetting\r\n }\r\n },\r\n props: {\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n },\r\n width: {\r\n type: [Number, String],\r\n default: () => {\r\n return '100%'\r\n }\r\n },\r\n height: {\r\n type: [Number, String],\r\n default: () => {\r\n return '200px'\r\n }\r\n },\r\n setting: {\r\n type: Object,\r\n required: false,\r\n default: () => ({})\r\n },\r\n nodes: {\r\n type: Array,\r\n default: () => []\r\n },\r\n placeholder: {\r\n type: String,\r\n default: '请选择'\r\n },\r\n searchPlaceholder: {\r\n type: String,\r\n default: '请输入搜索关键字'\r\n },\r\n beforeClick: { type: Function } // 选中节点之前的处理事件,如不允许选择nodeType='2'的节点\r\n },\r\n computed: {\r\n widthObj() {\r\n if (this.width === '100%') {\r\n return { width: '100%' }\r\n }\r\n const width = parseInt(this.width)\r\n return { width: width + 'px' }\r\n },\r\n heightObj() {\r\n if (this.height === '100%') {\r\n return { height: '100%' }\r\n }\r\n const height = parseInt(this.height)\r\n return { height: height + 'px' }\r\n }\r\n },\r\n methods: {\r\n toggleVisible() {\r\n if (this.disabled) return\r\n this.visible = !this.visible\r\n },\r\n beforeClickFn(arg) {\r\n return this.beforeClick(arg)\r\n },\r\n onClick: function(evt, treeId, treeNode) {\r\n this.selectedNode = { ...treeNode }\r\n this.visible = false\r\n this.$emit('click', this.selectedNode)\r\n },\r\n onCheck: function(evt, treeId, treeNode) {\r\n // 选中事件\r\n console.log(evt.type, treeNode)\r\n },\r\n handleCreated: function(ztreeObj) {\r\n this.ztreeObj = ztreeObj\r\n // onCreated 中操作ztreeObj对象展开第一个节点\r\n ztreeObj.expandNode(ztreeObj.getNodes()[0], true)\r\n },\r\n searchTree(keyword) {\r\n // 关键字搜索\r\n this.$emit('search', keyword)\r\n },\r\n setSelectedNode(selectedKey) {\r\n // 设置默认选中的节点\r\n setTimeout(() => {\r\n this.$refs.ztreeRef.setSelectedNode(selectedKey)\r\n }, 20)\r\n },\r\n setCheckedNodes(checkedKeys) {\r\n setTimeout(() => {\r\n this.$refs.ztreeRef.setCheckedNodes(checkedKeys)\r\n }, 20)\r\n },\r\n clearSelectedNode() {\r\n this.selectedNode = {\r\n nodeId: '',\r\n nodeName: ''\r\n }\r\n this.$refs.ztreeRef.cancelAllSelectedNode()\r\n this.$emit('click', this.selectedNode)\r\n },\r\n handleClickOutside() {\r\n this.visible = false\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.sy-select-tree {\r\n position: relative;\r\n z-index: 20;\r\n .tree-wrapper {\r\n position: absolute;\r\n left: 0;\r\n right: 1px;\r\n top: 34px;\r\n border: 1px solid #ccc;\r\n background: #fff;\r\n padding-bottom: 8px;\r\n }\r\n}\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select-tree.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select-tree.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./select-tree.vue?vue&type=template&id=1dce1332&scoped=true&\"\nimport script from \"./select-tree.vue?vue&type=script&lang=js&\"\nexport * from \"./select-tree.vue?vue&type=script&lang=js&\"\nimport style0 from \"./select-tree.vue?vue&type=style&index=0&id=1dce1332&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1dce1332\",\n null\n \n)\n\nexport default component.exports","// 导入组件\r\nimport selectTree from './src/select-tree.vue'\r\n\r\n// 为组件提供 install 安装方法,供按需引入\r\nselectTree.install = function (Vue) {\r\n Vue.component(selectTree.name, selectTree)\r\n}\r\n\r\n// 默认导出组件\r\nexport default selectTree\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"clickoutside\",rawName:\"v-clickoutside\",value:(_vm.handleClickOutside),expression:\"handleClickOutside\"}],staticClass:\"syswin-searchbar\"},[_c('div',{staticClass:\"syswin-searchbar-container\"},[_c('el-input',{staticClass:\"syswin-searchbar-container__input\",attrs:{\"placeholder\":_vm.placeholder,\"clearable\":\"\",\"size\":\"small\"},on:{\"clear\":_vm.handleClearInput},model:{value:(_vm.keyword),callback:function ($$v) {_vm.keyword=$$v},expression:\"keyword\"}},[_vm._t(\"suffix\",null,{\"slot\":\"suffix\"})],2),(_vm.showFilter)?_c('el-button',{staticClass:\"syswin-searchbar-container__filter\",attrs:{\"type\":\"text\",\"size\":\"small\"},on:{\"click\":_vm.handleToggleFilterList}},[_vm._v(\" \"+_vm._s(_vm.shrinkFilterList ? '收起筛选' : '更多筛选')+\" \"),_c('i',{staticClass:\"el-icon-caret-bottom\",class:{ 'is-rotate-180': _vm.shrinkFilterList }})]):_vm._e(),_c('el-button',{staticClass:\"syswin-searchbar-container__search\",class:{ 'is-margin-left-16': !_vm.showFilter },attrs:{\"type\":\"primary\",\"size\":\"small\"},on:{\"click\":function($event){return _vm.handleSearch()}}},[_vm._v(\" \"+_vm._s(_vm.searchButtonText)+\" \")]),(_vm.showFilter)?_c('el-button',{staticClass:\"syswin-searchbar-container__reset\",attrs:{\"size\":\"small\"},on:{\"click\":_vm.handleReset}},[_vm._v(\" \"+_vm._s(_vm.resetButtonText)+\" \")]):_vm._e(),_c('div',{staticClass:\"syswin-searchbar-container__listBtns\"},[_vm._t(\"listBtns\")],2)],1),_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.shrinkFilterList)?_c('div',{staticClass:\"syswin-searchbar-list\"},[_c('div',{staticClass:\"syswin-searchbar-list__wrap\"},[_vm._t(\"default\"),(_vm.currentSearchList.length <= _vm.maxConditionLength + 1)?_vm._l((_vm.currentSearchList),function(ele,index){return _c('div',{key:ele.id,staticClass:\"syswin-filter-item\"},[_c('h5',{staticClass:\"syswin-filter-item__title\"},[_vm._v(\" \"+_vm._s(ele.name)+\" \")]),_c('ul',{staticClass:\"syswin-filter-item__content\"},_vm._l((ele.itemList),function(item,idx){return _c('li',{key:item.id,staticClass:\"syswin-filter-item__li\"},[(item.type === 'text')?[_c('span',{staticClass:\"syswin-filter-item__span\",class:{\n 'is-active': item.isActive\n },on:{\"click\":function($event){return _vm.handleClick(item, idx, index)}}},[_vm._v(_vm._s(item.name))])]:(item.type === 'daterange')?[(item.name && !item.hideName)?_c('span',{staticClass:\"syswin-filter-item__name\"},[_vm._v(_vm._s(item.name))]):_vm._e(),_c('el-date-picker',{attrs:{\"type\":\"daterange\",\"size\":\"small\",\"picker-options\":item.pickerOptions && _vm.pickerOptions,\"range-separator\":\"至\",\"start-placeholder\":\"开始日期\",\"end-placeholder\":\"结束日期\",\"editable\":false,\"unlink-panels\":true,\"value-format\":\"timestamp\"},on:{\"change\":function($event){return _vm.handleChangeDateragne(idx, index)}},model:{value:(item.value),callback:function ($$v) {_vm.$set(item, \"value\", $$v)},expression:\"item.value\"}})]:(item.type === 'monthrange')?[(item.name && !item.hideName)?_c('span',{staticClass:\"syswin-filter-item__name\"},[_vm._v(_vm._s(item.name))]):_vm._e(),_c('el-date-picker',{attrs:{\"type\":\"monthrange\",\"size\":\"small\",\"range-separator\":\"至\",\"start-placeholder\":\"开始月份\",\"end-placeholder\":\"结束月份\",\"editable\":false,\"unlink-panels\":true,\"value-format\":\"timestamp\"},on:{\"change\":function($event){return _vm.handleChangeDateragne(idx, index)}},model:{value:(item.value),callback:function ($$v) {_vm.$set(item, \"value\", $$v)},expression:\"item.value\"}})]:(item.type === 'month' || item.type === 'year')?[(item.name && !item.hideName)?_c('span',{staticClass:\"syswin-filter-item__name\"},[_vm._v(_vm._s(item.name))]):_vm._e(),_c('el-date-picker',{attrs:{\"type\":item.type,\"size\":\"small\",\"placeholder\":(\"选择\" + (item.type === 'month' ? '月' : '年')),\"value-format\":(\"\" + (item.type === 'month' ? 'yyyy-MM' : 'yyyy'))},on:{\"change\":function($event){return _vm.handleChangeDateragne(idx, index)}},model:{value:(item.value),callback:function ($$v) {_vm.$set(item, \"value\", $$v)},expression:\"item.value\"}})]:(item.type === 'datetimerange')?[(item.name && !item.hideName)?_c('span',{staticClass:\"syswin-filter-item__name\"},[_vm._v(_vm._s(item.name))]):_vm._e(),_c('el-date-picker',{attrs:{\"type\":\"datetimerange\",\"size\":\"small\",\"picker-options\":item.pickerOptions && _vm.pickerOptions,\"format\":item.format ? item.format : 'yyyy-MM-dd HH:mm:ss',\"default-time\":['00:00:00', '23:59:59'],\"unlink-panels\":true,\"prefix-icon\":\"el-icon-date\",\"range-separator\":\"至\",\"start-placeholder\":\"开始时间\",\"end-placeholder\":\"结束时间\",\"value-format\":\"timestamp\"},on:{\"change\":function($event){return _vm.handleChangeDateragne(idx, index)}},model:{value:(item.value),callback:function ($$v) {_vm.$set(item, \"value\", $$v)},expression:\"item.value\"}})]:(item.type === 'select')?[(item.name && !item.hideName)?_c('span',{staticClass:\"syswin-filter-item__name\"},[_vm._v(_vm._s(item.name))]):_vm._e(),_c('el-select',{style:({\n width: item.width ? item.width : '200px'\n }),attrs:{\"size\":\"small\",\"multiple\":!!item.multiple,\"collapse-tags\":\"\",\"clearable\":\"\",\"placeholder\":(\"请选择\" + (item.name))},on:{\"change\":function($event){return _vm.handleChangeDateragne(idx, index)}},model:{value:(item.value),callback:function ($$v) {_vm.$set(item, \"value\", $$v)},expression:\"item.value\"}},_vm._l((item.options),function(opt){return _c('el-option',{key:opt.id,attrs:{\"label\":opt.label,\"value\":opt.value}})}),1)]:(item.type === 'slot')?[_vm._t(item.slot,[_vm._v(\"内容为空\")],{\"item\":item})]:_vm._e()],2)}),0)])}):[_vm._l((_vm.currentSearchList.slice(0, _vm.maxConditionLength)),function(ele,index){return _c('div',{key:ele.id,staticClass:\"syswin-filter-item\"},[_c('h5',{staticClass:\"syswin-filter-item__title\"},[_vm._v(\" \"+_vm._s(ele.name)+\" \")]),_c('ul',{staticClass:\"syswin-filter-item__content\"},_vm._l((ele.itemList),function(item,idx){return _c('li',{key:item.id,staticClass:\"syswin-filter-item__li\"},[(item.type === 'text')?[_c('span',{staticClass:\"syswin-filter-item__span\",class:{\n 'is-active': item.isActive\n },on:{\"click\":function($event){return _vm.handleClick(item, idx, index)}}},[_vm._v(_vm._s(item.name))])]:(item.type === 'daterange')?[(item.name)?_c('span',{staticClass:\"syswin-filter-item__name\"},[_vm._v(_vm._s(item.name))]):_vm._e(),_c('el-date-picker',{attrs:{\"type\":\"daterange\",\"size\":\"small\",\"picker-options\":item.pickerOptions && _vm.pickerOptions,\"range-separator\":\"至\",\"start-placeholder\":\"开始日期\",\"end-placeholder\":\"结束日期\",\"editable\":false,\"unlink-panels\":true,\"value-format\":\"timestamp\"},on:{\"change\":function($event){return _vm.handleChangeDateragne(idx, index)}},model:{value:(item.value),callback:function ($$v) {_vm.$set(item, \"value\", $$v)},expression:\"item.value\"}})]:(item.type === 'monthrange')?[(item.name)?_c('span',{staticClass:\"syswin-filter-item__name\"},[_vm._v(_vm._s(item.name))]):_vm._e(),_c('el-date-picker',{attrs:{\"type\":\"monthrange\",\"size\":\"small\",\"range-separator\":\"至\",\"start-placeholder\":\"开始月份\",\"end-placeholder\":\"结束月份\",\"editable\":false,\"unlink-panels\":true,\"value-format\":\"timestamp\"},on:{\"change\":function($event){return _vm.handleChangeDateragne(idx, index)}},model:{value:(item.value),callback:function ($$v) {_vm.$set(item, \"value\", $$v)},expression:\"item.value\"}})]:(item.type === 'month' || item.type === 'year')?[(item.name && !item.hideName)?_c('span',{staticClass:\"syswin-filter-item__name\"},[_vm._v(_vm._s(item.name))]):_vm._e(),_c('el-date-picker',{attrs:{\"type\":item.type,\"size\":\"small\",\"placeholder\":(\"选择\" + (item.type === 'month' ? '月' : '年')),\"value-format\":(\"\" + (item.type === 'month' ? 'yyyy-MM' : 'yyyy'))},on:{\"change\":function($event){return _vm.handleChangeDateragne(idx, index)}},model:{value:(item.value),callback:function ($$v) {_vm.$set(item, \"value\", $$v)},expression:\"item.value\"}})]:(item.type === 'datetimerange')?[(item.name)?_c('span',{staticClass:\"syswin-filter-item__name\"},[_vm._v(_vm._s(item.name))]):_vm._e(),_c('el-date-picker',{attrs:{\"type\":\"datetimerange\",\"size\":\"small\",\"picker-options\":item.pickerOptions && _vm.pickerOptions,\"format\":item.format ? item.format : 'yyyy-MM-dd HH:mm:ss',\"default-time\":['00:00:00', '23:59:59'],\"unlink-panels\":true,\"prefix-icon\":\"el-icon-date\",\"range-separator\":\"至\",\"start-placeholder\":\"开始时间\",\"end-placeholder\":\"结束时间\",\"value-format\":\"timestamp\"},on:{\"change\":function($event){return _vm.handleChangeDateragne(idx, index)}},model:{value:(item.value),callback:function ($$v) {_vm.$set(item, \"value\", $$v)},expression:\"item.value\"}})]:(item.type === 'select')?[(item.name && !item.hideName)?_c('span',{staticClass:\"syswin-filter-item__name\"},[_vm._v(_vm._s(item.name))]):_vm._e(),_c('el-select',{style:({\n width: item.width ? item.width : '200px'\n }),attrs:{\"size\":\"small\",\"multiple\":!!item.multiple,\"collapse-tags\":\"\",\"clearable\":\"\",\"placeholder\":(\"请选择\" + (item.name))},on:{\"change\":function($event){return _vm.handleChangeDateragne(idx, index)}},model:{value:(item.value),callback:function ($$v) {_vm.$set(item, \"value\", $$v)},expression:\"item.value\"}},_vm._l((item.options),function(opt){return _c('el-option',{key:opt.id,attrs:{\"label\":opt.label,\"value\":opt.value}})}),1)]:(item.type === 'slot')?[_vm._t(item.slot,[_vm._v(\"内容为空\")],{\"item\":item})]:_vm._e()],2)}),0)])}),(_vm.currentSearchList.length > _vm.maxConditionLength)?_c('div',{staticClass:\"syswin-filter-item\"},[_c('h5',{staticClass:\"syswin-filter-item__title\"},[_vm._v(\"更多搜索\")]),_c('ul',{staticClass:\"syswin-filter-item__content\"},_vm._l((_vm.currentSearchList.slice(_vm.maxConditionLength)),function(ele,index){return _c('li',{key:ele.id,staticClass:\"syswin-filter-item__li\"},[_c('h6',{staticClass:\"syswin-filter-item__subTitle\"},[_vm._v(\" \"+_vm._s(ele.name)+\" \")]),_c('ul',{staticClass:\"syswin-filter-item__subContent\"},_vm._l((ele.itemList),function(item,idx){return _c('li',{key:item.id,staticClass:\"syswin-filter-item__subLi\"},[(item.type === 'text')?[_c('span',{staticClass:\"syswin-filter-item__span\",class:{\n 'is-active': item.isActive\n },on:{\"click\":function($event){return _vm.handleClick(item, idx, index + _vm.maxConditionLength)}}},[_vm._v(_vm._s(item.name))])]:(item.type === 'daterange')?[(item.name)?_c('span',{staticClass:\"syswin-filter-item__name\"},[_vm._v(_vm._s(item.name))]):_vm._e(),_c('el-date-picker',{attrs:{\"type\":\"daterange\",\"size\":\"small\",\"picker-options\":item.pickerOptions && _vm.pickerOptions,\"range-separator\":\"至\",\"start-placeholder\":\"开始日期\",\"end-placeholder\":\"结束日期\",\"editable\":false,\"unlink-panels\":true,\"value-format\":\"timestamp\"},on:{\"change\":function($event){return _vm.handleChangeDateragne(idx, index + _vm.maxConditionLength)}},model:{value:(item.value),callback:function ($$v) {_vm.$set(item, \"value\", $$v)},expression:\"item.value\"}})]:(item.type === 'monthrange')?[(item.name)?_c('span',{staticClass:\"syswin-filter-item__name\"},[_vm._v(_vm._s(item.name))]):_vm._e(),_c('el-date-picker',{attrs:{\"type\":\"monthrange\",\"size\":\"small\",\"range-separator\":\"至\",\"start-placeholder\":\"开始月份\",\"end-placeholder\":\"结束月份\",\"editable\":false,\"unlink-panels\":true,\"value-format\":\"timestamp\"},on:{\"change\":function($event){return _vm.handleChangeDateragne(idx, index + _vm.maxConditionLength)}},model:{value:(item.value),callback:function ($$v) {_vm.$set(item, \"value\", $$v)},expression:\"item.value\"}})]:(item.type === 'datetimerange')?[(item.name)?_c('span',{staticClass:\"syswin-filter-item__name\"},[_vm._v(_vm._s(item.name))]):_vm._e(),_c('el-date-picker',{attrs:{\"type\":\"datetimerange\",\"size\":\"small\",\"picker-options\":item.pickerOptions && _vm.pickerOptions,\"format\":item.format ? item.format : 'yyyy-MM-dd HH:mm:ss',\"default-time\":['00:00:00', '23:59:59'],\"unlink-panels\":true,\"prefix-icon\":\"el-icon-date\",\"range-separator\":\"至\",\"start-placeholder\":\"开始时间\",\"end-placeholder\":\"结束时间\",\"value-format\":\"timestamp\"},on:{\"change\":function($event){return _vm.handleChangeDateragne(idx, index + _vm.maxConditionLength)}},model:{value:(item.value),callback:function ($$v) {_vm.$set(item, \"value\", $$v)},expression:\"item.value\"}})]:(item.type === 'select')?[(item.name)?_c('span',{staticClass:\"syswin-filter-item__name\"},[_vm._v(_vm._s(item.name))]):_vm._e(),_c('el-select',{style:({\n width: item.width ? item.width : '200px'\n }),attrs:{\"size\":\"small\",\"multiple\":!!item.multiple,\"collapse-tags\":\"\",\"clearable\":\"\",\"placeholder\":(\"请选择\" + (item.name))},on:{\"change\":function($event){return _vm.handleChangeDateragne(idx, index + _vm.maxConditionLength)}},model:{value:(item.value),callback:function ($$v) {_vm.$set(item, \"value\", $$v)},expression:\"item.value\"}},_vm._l((item.options),function(opt){return _c('el-option',{key:opt.id,attrs:{\"label\":opt.label,\"value\":opt.value}})}),1)]:(item.type === 'slot')?[_vm._t(item.slot,[_vm._v(\"内容为空\")],{\"item\":item})]:_vm._e()],2)}),0)])}),0)]):_vm._e()]],2),(_vm.saveToLocal)?_c('save-local',{attrs:{\"conditionList\":_vm.conditionList,\"curConditionValue\":_vm.conditionValue},on:{\"handleSave\":_vm.handleSave,\"handleChangeCondition\":_vm.handleChangeCondition,\"handleEditCondition\":_vm.handleEditCondition,\"handleDeleteCondition\":_vm.handleDeleteCondition,\"handleConfirmCondition\":_vm.handleConfirmCondition},model:{value:(_vm.currentData),callback:function ($$v) {_vm.currentData=$$v},expression:\"currentData\"}}):_vm._e()],1):_vm._e()]),(_vm.tagList.length && !_vm.customTagList)?_c('div',{staticClass:\"search-condition-list\"},[_vm._l((_vm.tagList),function(tag){return _c('el-tag',{key:((tag.pId) + \"_\" + (tag.id)),staticClass:\"tags\",attrs:{\"size\":\"small\",\"closable\":\"\"},on:{\"close\":function($event){return _vm.handleTagClose(tag)}}},[_vm._v(\" \"+_vm._s(tag.pName)+\": \"+_vm._s(tag.name)+\" \")])}),(_vm.tagList.length > 1)?_c('el-tag',{staticClass:\"tags clearall\",attrs:{\"size\":\"small\"},on:{\"click\":_vm.handleClearAllTags}},[_vm._v(\"清除所有\")]):_vm._e()],2):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"syswin-searchbar-list__footer\",class:{ 'align-right': _vm.saveToLocalPosition === 'right' }},[(_vm.saveToLocalPosition === 'left')?_c('el-button',{staticClass:\"syswin-footer__save\",attrs:{\"size\":\"small\"},on:{\"click\":_vm.handleSave}},[_vm._v(\"保存\")]):_vm._e(),_c('el-select',{staticClass:\"syswin-footer__condition\",attrs:{\"size\":\"small\"},on:{\"change\":_vm.handleChangeCondition},model:{value:(_vm.conditionValue),callback:function ($$v) {_vm.conditionValue=$$v},expression:\"conditionValue\"}},_vm._l((_vm.conditionList),function(item,index){return _c('el-option',{key:index,attrs:{\"label\":item.label,\"value\":item.value}},[_c('span',{staticClass:\"syswin-footer__label\"},[_vm._v(_vm._s(item.label))]),_c('i',{staticClass:\"syswin-footer__edit el-icon-edit-outline\",on:{\"click\":function($event){$event.stopPropagation();return _vm.handleEditCondition(index)}}}),_c('i',{staticClass:\"syswin-footer__delete el-icon-delete\",on:{\"click\":function($event){$event.stopPropagation();return _vm.handleDeleteCondition(index)}}})])}),1),(_vm.saveToLocalPosition === 'right')?_c('el-button',{staticClass:\"syswin-footer__save\",attrs:{\"size\":\"small\"},on:{\"click\":_vm.handleSave}},[_vm._v(\"保存\")]):_vm._e(),_c('dialogCondition',{ref:\"dialogCondition\",attrs:{\"visible\":_vm.dialogConditionVisible,\"currentData\":_vm.value},on:{\"update:visible\":function($event){_vm.dialogConditionVisible=$event},\"on-confirm\":_vm.handleConfirmCondition}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"syswin-searchbar-modal\"},[_c('el-dialog',{attrs:{\"visible\":_vm.visible,\"append-to-body\":true,\"width\":\"560px\",\"title\":\"筛选器名称\",\"custom-class\":\"syswin-searchbar-dialog\"},on:{\"close\":_vm.handleClose}},[_c('div',{staticClass:\"syswin-searchbar-modal-container\"},[_c('div',{staticClass:\"syswin-searchbar-modal-container__form\"},[_c('el-form',{ref:\"form\",attrs:{\"size\":\"small\",\"model\":_vm.form,\"label-width\":\"120px\"}},[_c('el-form-item',{attrs:{\"label\":\"筛选器名称 :\",\"prop\":\"name\"}},[_c('el-input',{staticClass:\"syswin-searchbar-modal-container__input\",attrs:{\"placeholder\":\"给筛选器起个名字吧\",\"clearable\":\"\"},model:{value:(_vm.form.name),callback:function ($$v) {_vm.$set(_vm.form, \"name\", $$v)},expression:\"form.name\"}})],1)],1)],1)]),_c('div',{staticClass:\"syswin-searchbar-modal-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{staticClass:\"syswin-searchbar-modal-footer__confirm\",attrs:{\"type\":\"primary\",\"size\":\"small\",\"disabled\":this.form.name === ''},on:{\"click\":_vm.handleConfirm}},[_vm._v(\"确定\")]),_c('el-button',{staticClass:\"syswin-searchbar-modal-footer__cancel\",attrs:{\"size\":\"small\"},on:{\"click\":_vm.handleClose}},[_vm._v(\"取消\")])],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div class=\"syswin-searchbar-modal\">\r\n <el-dialog :visible=\"visible\" :append-to-body=\"true\" width=\"560px\" title=\"筛选器名称\" custom-class=\"syswin-searchbar-dialog\" @close=\"handleClose\">\r\n <div class=\"syswin-searchbar-modal-container\">\r\n <div class=\"syswin-searchbar-modal-container__form\">\r\n <el-form ref=\"form\" size=\"small\" :model=\"form\" label-width=\"120px\">\r\n <el-form-item label=\"筛选器名称 :\" prop=\"name\">\r\n <el-input class=\"syswin-searchbar-modal-container__input\" v-model=\"form.name\" placeholder=\"给筛选器起个名字吧\" clearable> </el-input>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n </div>\r\n <div class=\"syswin-searchbar-modal-footer\" slot=\"footer\">\r\n <el-button type=\"primary\" size=\"small\" class=\"syswin-searchbar-modal-footer__confirm\" @click=\"handleConfirm\" :disabled=\"this.form.name === ''\"\r\n >确定</el-button\r\n >\r\n <el-button size=\"small\" class=\"syswin-searchbar-modal-footer__cancel\" @click=\"handleClose\">取消</el-button>\r\n </div>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n<script>\r\nexport default {\r\n name: 'SyswinSearchbarModal',\r\n components: {},\r\n props: {\r\n visible: {\r\n type: Boolean,\r\n default: false\r\n },\r\n currentData: {\r\n type: Object,\r\n default() {\r\n return {}\r\n }\r\n }\r\n },\r\n data() {\r\n return {\r\n form: {\r\n name: ''\r\n }\r\n }\r\n },\r\n computed: {},\r\n watch: {\r\n visible(newValue) {\r\n this.form.name = newValue && this.currentData && this.currentData.label ? this.currentData.label : ''\r\n }\r\n },\r\n filters: {},\r\n created() {},\r\n mounted() {},\r\n methods: {\r\n handleConfirm() {\r\n this.$emit('on-confirm', this.form.name)\r\n this.handleClose()\r\n },\r\n handleClose() {\r\n this.$emit('update:visible', false)\r\n }\r\n }\r\n}\r\n</script>\r\n<style lang=\"scss\">\r\n@import './dialog-condition';\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dialog-condition.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dialog-condition.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./dialog-condition.vue?vue&type=template&id=a4a667ec&\"\nimport script from \"./dialog-condition.vue?vue&type=script&lang=js&\"\nexport * from \"./dialog-condition.vue?vue&type=script&lang=js&\"\nimport style0 from \"./dialog-condition.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\r\n <div class=\"syswin-searchbar-list__footer\" :class=\"{ 'align-right': saveToLocalPosition === 'right' }\">\r\n <el-button size=\"small\" v-if=\"saveToLocalPosition === 'left'\" class=\"syswin-footer__save\" @click=\"handleSave\">保存</el-button>\r\n <el-select size=\"small\" class=\"syswin-footer__condition\" v-model=\"conditionValue\" @change=\"handleChangeCondition\">\r\n <el-option v-for=\"(item, index) in conditionList\" :key=\"index\" :label=\"item.label\" :value=\"item.value\">\r\n <span class=\"syswin-footer__label\">{{ item.label }}</span>\r\n <i class=\"syswin-footer__edit el-icon-edit-outline\" @click.stop=\"handleEditCondition(index)\"></i>\r\n <i class=\"syswin-footer__delete el-icon-delete\" @click.stop=\"handleDeleteCondition(index)\"></i>\r\n </el-option>\r\n </el-select>\r\n <el-button size=\"small\" v-if=\"saveToLocalPosition === 'right'\" class=\"syswin-footer__save\" @click=\"handleSave\">保存</el-button>\r\n <dialogCondition ref=\"dialogCondition\" :visible.sync=\"dialogConditionVisible\" :currentData=\"value\" @on-confirm=\"handleConfirmCondition\" />\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport dialogCondition from './dialog-condition'\r\nexport default {\r\n name: 'SySaveLocal',\r\n components: {\r\n dialogCondition\r\n },\r\n props: {\r\n saveToLocalPosition: {\r\n type: String,\r\n default: 'right',\r\n validator: function(value) {\r\n return ['left', 'right'].indexOf(value) !== -1\r\n }\r\n },\r\n storageName: {\r\n type: String,\r\n default: 'searchbar'\r\n },\r\n value: {\r\n type: Object,\r\n default: () => ({})\r\n },\r\n conditionList: {\r\n type: Array,\r\n default() {\r\n return []\r\n }\r\n },\r\n // 当前搜索条件的value,select双向绑定的值\r\n curConditionValue: {\r\n type: [String, Number]\r\n }\r\n },\r\n data() {\r\n return {\r\n dialogConditionVisible: false,\r\n conditionValue: this.curConditionValue\r\n }\r\n },\r\n watch: {\r\n curConditionValue: function(newVal) {\r\n this.conditionValue = newVal\r\n }\r\n },\r\n methods: {\r\n // 保存按钮\r\n handleSave() {\r\n this.$emit('input', {})\r\n this.dialogConditionVisible = true\r\n },\r\n // 切换保存过滤条件的下拉框\r\n handleChangeCondition(value) {\r\n this.$emit('handleChangeCondition', value)\r\n },\r\n // 编辑保存过滤条件的下拉框选项\r\n handleEditCondition(index) {\r\n this.$emit('handleEditCondition', index)\r\n this.dialogConditionVisible = true\r\n },\r\n // 删除保存过滤条件的下拉框选项\r\n handleDeleteCondition(index) {\r\n this.$confirm('确定删除筛选条件?', '提示', {\r\n showClose: false,\r\n customClass: 'syswin-searchbar-confirm',\r\n confirmButtonClass: 'syswin-searchbar-confirm-btns__confirm',\r\n cancelButtonClass: 'syswin-searchbar-confirm-btns__cancel'\r\n })\r\n .then(() => {\r\n this.$emit('handleDeleteCondition', index)\r\n })\r\n .catch(() => {})\r\n },\r\n // 筛选器名称模态框确定按钮事件\r\n handleConfirmCondition(label) {\r\n this.$emit('handleConfirmCondition', label)\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n@import './search-bar';\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./save-local.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./save-local.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./save-local.vue?vue&type=template&id=5c790fce&scoped=true&\"\nimport script from \"./save-local.vue?vue&type=script&lang=js&\"\nexport * from \"./save-local.vue?vue&type=script&lang=js&\"\nimport style0 from \"./save-local.vue?vue&type=style&index=0&id=5c790fce&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5c790fce\",\n null\n \n)\n\nexport default component.exports","<template>\r\n <!-- <div class=\"syswin-searchbar\" v-clickoutside=\"handleClickOutside\"> -->\r\n <div class=\"syswin-searchbar\" v-clickoutside=\"handleClickOutside\">\r\n <div class=\"syswin-searchbar-container\">\r\n <el-input class=\"syswin-searchbar-container__input\" v-model=\"keyword\" :placeholder=\"placeholder\" clearable size=\"small\" @clear=\"handleClearInput\">\r\n <slot slot=\"suffix\" name=\"suffix\"></slot>\r\n </el-input>\r\n <el-button v-if=\"showFilter\" type=\"text\" size=\"small\" class=\"syswin-searchbar-container__filter\" @click=\"handleToggleFilterList\">\r\n {{ shrinkFilterList ? '收起筛选' : '更多筛选' }}\r\n <i class=\"el-icon-caret-bottom\" :class=\"{ 'is-rotate-180': shrinkFilterList }\"></i>\r\n </el-button>\r\n <el-button type=\"primary\" size=\"small\" class=\"syswin-searchbar-container__search\" :class=\"{ 'is-margin-left-16': !showFilter }\" @click=\"handleSearch()\">\r\n {{ searchButtonText }}\r\n </el-button>\r\n <el-button v-if=\"showFilter\" size=\"small\" class=\"syswin-searchbar-container__reset\" @click=\"handleReset\">\r\n {{ resetButtonText }}\r\n </el-button>\r\n <div class=\"syswin-searchbar-container__listBtns\">\r\n <slot name=\"listBtns\"></slot>\r\n </div>\r\n </div>\r\n <transition name=\"fade\">\r\n <div class=\"syswin-searchbar-list\" v-if=\"shrinkFilterList\">\r\n <div class=\"syswin-searchbar-list__wrap\">\r\n <slot></slot>\r\n\r\n <!-- 没有更多搜索 -->\r\n <template v-if=\"currentSearchList.length <= maxConditionLength + 1\">\r\n <div class=\"syswin-filter-item\" v-for=\"(ele, index) in currentSearchList\" :key=\"ele.id\">\r\n <h5 class=\"syswin-filter-item__title\">\r\n {{ ele.name }}\r\n </h5>\r\n <ul class=\"syswin-filter-item__content\">\r\n <li class=\"syswin-filter-item__li\" v-for=\"(item, idx) in ele.itemList\" :key=\"item.id\">\r\n <template v-if=\"item.type === 'text'\">\r\n <span\r\n class=\"syswin-filter-item__span\"\r\n :class=\"{\r\n 'is-active': item.isActive\r\n }\"\r\n @click=\"handleClick(item, idx, index)\"\r\n >{{ item.name }}</span\r\n >\r\n </template>\r\n <template v-else-if=\"item.type === 'daterange'\">\r\n <span class=\"syswin-filter-item__name\" v-if=\"item.name && !item.hideName\">{{ item.name }}</span>\r\n <el-date-picker\r\n type=\"daterange\"\r\n v-model=\"item.value\"\r\n size=\"small\"\r\n :picker-options=\"item.pickerOptions && pickerOptions\"\r\n range-separator=\"至\"\r\n start-placeholder=\"开始日期\"\r\n end-placeholder=\"结束日期\"\r\n :editable=\"false\"\r\n :unlink-panels=\"true\"\r\n value-format=\"timestamp\"\r\n @change=\"handleChangeDateragne(idx, index)\"\r\n >\r\n </el-date-picker>\r\n </template>\r\n <template v-else-if=\"item.type === 'monthrange'\">\r\n <span class=\"syswin-filter-item__name\" v-if=\"item.name && !item.hideName\">{{ item.name }}</span>\r\n <el-date-picker\r\n type=\"monthrange\"\r\n v-model=\"item.value\"\r\n size=\"small\"\r\n range-separator=\"至\"\r\n start-placeholder=\"开始月份\"\r\n end-placeholder=\"结束月份\"\r\n :editable=\"false\"\r\n :unlink-panels=\"true\"\r\n value-format=\"timestamp\"\r\n @change=\"handleChangeDateragne(idx, index)\"\r\n >\r\n </el-date-picker>\r\n </template>\r\n <template v-else-if=\"item.type === 'month' || item.type === 'year'\">\r\n <span class=\"syswin-filter-item__name\" v-if=\"item.name && !item.hideName\">{{ item.name }}</span>\r\n <el-date-picker\r\n :type=\"item.type\"\r\n v-model=\"item.value\"\r\n size=\"small\"\r\n :placeholder=\"`选择${item.type === 'month' ? '月' : '年'}`\"\r\n :value-format=\"`${item.type === 'month' ? 'yyyy-MM' : 'yyyy'}`\"\r\n @change=\"handleChangeDateragne(idx, index)\"\r\n >\r\n </el-date-picker>\r\n </template>\r\n <template v-else-if=\"item.type === 'datetimerange'\">\r\n <span class=\"syswin-filter-item__name\" v-if=\"item.name && !item.hideName\">{{ item.name }}</span>\r\n <el-date-picker\r\n type=\"datetimerange\"\r\n v-model=\"item.value\"\r\n size=\"small\"\r\n :picker-options=\"item.pickerOptions && pickerOptions\"\r\n :format=\"item.format ? item.format : 'yyyy-MM-dd HH:mm:ss'\"\r\n :default-time=\"['00:00:00', '23:59:59']\"\r\n :unlink-panels=\"true\"\r\n prefix-icon=\"el-icon-date\"\r\n range-separator=\"至\"\r\n start-placeholder=\"开始时间\"\r\n end-placeholder=\"结束时间\"\r\n value-format=\"timestamp\"\r\n @change=\"handleChangeDateragne(idx, index)\"\r\n >\r\n </el-date-picker>\r\n </template>\r\n <template v-else-if=\"item.type === 'select'\">\r\n <span class=\"syswin-filter-item__name\" v-if=\"item.name && !item.hideName\">{{ item.name }}</span>\r\n <el-select\r\n size=\"small\"\r\n :multiple=\"!!item.multiple\"\r\n collapse-tags\r\n clearable\r\n v-model=\"item.value\"\r\n :placeholder=\"`请选择${item.name}`\"\r\n :style=\"{\r\n width: item.width ? item.width : '200px'\r\n }\"\r\n @change=\"handleChangeDateragne(idx, index)\"\r\n >\r\n <el-option v-for=\"opt in item.options\" :key=\"opt.id\" :label=\"opt.label\" :value=\"opt.value\"></el-option>\r\n </el-select>\r\n </template>\r\n <template v-else-if=\"item.type === 'slot'\">\r\n <slot :name=\"item.slot\" :item=\"item\">内容为空</slot>\r\n </template>\r\n </li>\r\n </ul>\r\n </div>\r\n </template>\r\n\r\n <!-- 含有更多搜索 -->\r\n <template v-else>\r\n <div class=\"syswin-filter-item\" v-for=\"(ele, index) in currentSearchList.slice(0, maxConditionLength)\" :key=\"ele.id\">\r\n <h5 class=\"syswin-filter-item__title\">\r\n {{ ele.name }}\r\n </h5>\r\n <ul class=\"syswin-filter-item__content\">\r\n <li class=\"syswin-filter-item__li\" v-for=\"(item, idx) in ele.itemList\" :key=\"item.id\">\r\n <template v-if=\"item.type === 'text'\">\r\n <span\r\n class=\"syswin-filter-item__span\"\r\n :class=\"{\r\n 'is-active': item.isActive\r\n }\"\r\n @click=\"handleClick(item, idx, index)\"\r\n >{{ item.name }}</span\r\n >\r\n </template>\r\n <template v-else-if=\"item.type === 'daterange'\">\r\n <span class=\"syswin-filter-item__name\" v-if=\"item.name\">{{ item.name }}</span>\r\n <el-date-picker\r\n type=\"daterange\"\r\n v-model=\"item.value\"\r\n size=\"small\"\r\n :picker-options=\"item.pickerOptions && pickerOptions\"\r\n range-separator=\"至\"\r\n start-placeholder=\"开始日期\"\r\n end-placeholder=\"结束日期\"\r\n :editable=\"false\"\r\n :unlink-panels=\"true\"\r\n value-format=\"timestamp\"\r\n @change=\"handleChangeDateragne(idx, index)\"\r\n >\r\n </el-date-picker>\r\n </template>\r\n <template v-else-if=\"item.type === 'monthrange'\">\r\n <span class=\"syswin-filter-item__name\" v-if=\"item.name\">{{ item.name }}</span>\r\n <el-date-picker\r\n type=\"monthrange\"\r\n v-model=\"item.value\"\r\n size=\"small\"\r\n range-separator=\"至\"\r\n start-placeholder=\"开始月份\"\r\n end-placeholder=\"结束月份\"\r\n :editable=\"false\"\r\n :unlink-panels=\"true\"\r\n value-format=\"timestamp\"\r\n @change=\"handleChangeDateragne(idx, index)\"\r\n >\r\n </el-date-picker>\r\n </template>\r\n <template v-else-if=\"item.type === 'month' || item.type === 'year'\">\r\n <span class=\"syswin-filter-item__name\" v-if=\"item.name && !item.hideName\">{{ item.name }}</span>\r\n <el-date-picker\r\n :type=\"item.type\"\r\n v-model=\"item.value\"\r\n size=\"small\"\r\n :placeholder=\"`选择${item.type === 'month' ? '月' : '年'}`\"\r\n :value-format=\"`${item.type === 'month' ? 'yyyy-MM' : 'yyyy'}`\"\r\n @change=\"handleChangeDateragne(idx, index)\"\r\n >\r\n </el-date-picker>\r\n </template>\r\n <template v-else-if=\"item.type === 'datetimerange'\">\r\n <span class=\"syswin-filter-item__name\" v-if=\"item.name\">{{ item.name }}</span>\r\n <el-date-picker\r\n type=\"datetimerange\"\r\n v-model=\"item.value\"\r\n size=\"small\"\r\n :picker-options=\"item.pickerOptions && pickerOptions\"\r\n :format=\"item.format ? item.format : 'yyyy-MM-dd HH:mm:ss'\"\r\n :default-time=\"['00:00:00', '23:59:59']\"\r\n :unlink-panels=\"true\"\r\n prefix-icon=\"el-icon-date\"\r\n range-separator=\"至\"\r\n start-placeholder=\"开始时间\"\r\n end-placeholder=\"结束时间\"\r\n value-format=\"timestamp\"\r\n @change=\"handleChangeDateragne(idx, index)\"\r\n >\r\n </el-date-picker>\r\n </template>\r\n <template v-else-if=\"item.type === 'select'\">\r\n <span class=\"syswin-filter-item__name\" v-if=\"item.name && !item.hideName\">{{ item.name }}</span>\r\n <el-select\r\n size=\"small\"\r\n :multiple=\"!!item.multiple\"\r\n collapse-tags\r\n clearable\r\n v-model=\"item.value\"\r\n :placeholder=\"`请选择${item.name}`\"\r\n :style=\"{\r\n width: item.width ? item.width : '200px'\r\n }\"\r\n @change=\"handleChangeDateragne(idx, index)\"\r\n >\r\n <el-option v-for=\"opt in item.options\" :key=\"opt.id\" :label=\"opt.label\" :value=\"opt.value\"></el-option>\r\n </el-select>\r\n </template>\r\n <template v-else-if=\"item.type === 'slot'\">\r\n <slot :name=\"item.slot\" :item=\"item\">内容为空</slot>\r\n </template>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"syswin-filter-item\" v-if=\"currentSearchList.length > maxConditionLength\">\r\n <h5 class=\"syswin-filter-item__title\">更多搜索</h5>\r\n <ul class=\"syswin-filter-item__content\">\r\n <li class=\"syswin-filter-item__li\" v-for=\"(ele, index) in currentSearchList.slice(maxConditionLength)\" :key=\"ele.id\">\r\n <h6 class=\"syswin-filter-item__subTitle\">\r\n {{ ele.name }}\r\n </h6>\r\n <ul class=\"syswin-filter-item__subContent\">\r\n <li class=\"syswin-filter-item__subLi\" v-for=\"(item, idx) in ele.itemList\" :key=\"item.id\">\r\n <template v-if=\"item.type === 'text'\">\r\n <span\r\n class=\"syswin-filter-item__span\"\r\n :class=\"{\r\n 'is-active': item.isActive\r\n }\"\r\n @click=\"handleClick(item, idx, index + maxConditionLength)\"\r\n >{{ item.name }}</span\r\n >\r\n </template>\r\n <template v-else-if=\"item.type === 'daterange'\">\r\n <span class=\"syswin-filter-item__name\" v-if=\"item.name\">{{ item.name }}</span>\r\n <el-date-picker\r\n type=\"daterange\"\r\n v-model=\"item.value\"\r\n size=\"small\"\r\n :picker-options=\"item.pickerOptions && pickerOptions\"\r\n range-separator=\"至\"\r\n start-placeholder=\"开始日期\"\r\n end-placeholder=\"结束日期\"\r\n :editable=\"false\"\r\n :unlink-panels=\"true\"\r\n value-format=\"timestamp\"\r\n @change=\"handleChangeDateragne(idx, index + maxConditionLength)\"\r\n >\r\n </el-date-picker>\r\n </template>\r\n <template v-else-if=\"item.type === 'monthrange'\">\r\n <span class=\"syswin-filter-item__name\" v-if=\"item.name\">{{ item.name }}</span>\r\n <el-date-picker\r\n type=\"monthrange\"\r\n v-model=\"item.value\"\r\n size=\"small\"\r\n range-separator=\"至\"\r\n start-placeholder=\"开始月份\"\r\n end-placeholder=\"结束月份\"\r\n :editable=\"false\"\r\n :unlink-panels=\"true\"\r\n value-format=\"timestamp\"\r\n @change=\"handleChangeDateragne(idx, index + maxConditionLength)\"\r\n >\r\n </el-date-picker>\r\n </template>\r\n <template v-else-if=\"item.type === 'datetimerange'\">\r\n <span class=\"syswin-filter-item__name\" v-if=\"item.name\">{{ item.name }}</span>\r\n <el-date-picker\r\n type=\"datetimerange\"\r\n v-model=\"item.value\"\r\n size=\"small\"\r\n :picker-options=\"item.pickerOptions && pickerOptions\"\r\n :format=\"item.format ? item.format : 'yyyy-MM-dd HH:mm:ss'\"\r\n :default-time=\"['00:00:00', '23:59:59']\"\r\n :unlink-panels=\"true\"\r\n prefix-icon=\"el-icon-date\"\r\n range-separator=\"至\"\r\n start-placeholder=\"开始时间\"\r\n end-placeholder=\"结束时间\"\r\n value-format=\"timestamp\"\r\n @change=\"handleChangeDateragne(idx, index + maxConditionLength)\"\r\n >\r\n </el-date-picker>\r\n </template>\r\n <template v-else-if=\"item.type === 'select'\">\r\n <span class=\"syswin-filter-item__name\" v-if=\"item.name\">{{ item.name }}</span>\r\n <el-select\r\n size=\"small\"\r\n :multiple=\"!!item.multiple\"\r\n collapse-tags\r\n clearable\r\n v-model=\"item.value\"\r\n :placeholder=\"`请选择${item.name}`\"\r\n :style=\"{\r\n width: item.width ? item.width : '200px'\r\n }\"\r\n @change=\"handleChangeDateragne(idx, index + maxConditionLength)\"\r\n >\r\n <el-option v-for=\"opt in item.options\" :key=\"opt.id\" :label=\"opt.label\" :value=\"opt.value\"></el-option>\r\n </el-select>\r\n </template>\r\n <template v-else-if=\"item.type === 'slot'\">\r\n <slot :name=\"item.slot\" :item=\"item\">内容为空</slot>\r\n </template>\r\n </li>\r\n </ul>\r\n </li>\r\n </ul>\r\n </div>\r\n </template>\r\n </div>\r\n <!-- <div class=\"syswin-searchbar-list__footer\" :class=\"{ 'align-right': saveToLocalPosition === 'right' }\" v-if=\"saveToLocal\">\r\n <el-button size=\"small\" v-if=\"saveToLocalPosition === 'left'\" class=\"syswin-footer__save\" @click=\"handleSave\">保存</el-button>\r\n <el-select size=\"small\" class=\"syswin-footer__condition\" v-model=\"conditionValue\" @change=\"handleChangeCondition\">\r\n <el-option v-for=\"(item, index) in conditionList\" :key=\"index\" :label=\"item.label\" :value=\"item.value\">\r\n <span class=\"syswin-footer__label\">{{ item.label }}</span>\r\n <i class=\"syswin-footer__edit el-icon-edit-outline\" @click.stop=\"handleEditCondition(index)\"></i>\r\n <i class=\"syswin-footer__delete el-icon-delete\" @click.stop=\"handleDeleteCondition(index)\"></i>\r\n </el-option>\r\n </el-select>\r\n <el-button size=\"small\" v-if=\"saveToLocalPosition === 'right'\" class=\"syswin-footer__save\" @click=\"handleSave\">保存</el-button>\r\n </div> -->\r\n <save-local\r\n v-if=\"saveToLocal\"\r\n @handleSave=\"handleSave\"\r\n @handleChangeCondition=\"handleChangeCondition\"\r\n @handleEditCondition=\"handleEditCondition\"\r\n @handleDeleteCondition=\"handleDeleteCondition\"\r\n @handleConfirmCondition=\"handleConfirmCondition\"\r\n :conditionList=\"conditionList\"\r\n v-model=\"currentData\"\r\n :curConditionValue=\"conditionValue\"\r\n />\r\n </div>\r\n </transition>\r\n <div class=\"search-condition-list\" v-if=\"tagList.length && !customTagList\">\r\n <el-tag v-for=\"tag in tagList\" class=\"tags\" :key=\"`${tag.pId}_${tag.id}`\" size=\"small\" closable @close=\"handleTagClose(tag)\">\r\n {{ tag.pName }}: {{ tag.name }}\r\n </el-tag>\r\n <el-tag size=\"small\" class=\"tags clearall\" v-if=\"tagList.length > 1\" @click=\"handleClearAllTags\">清除所有</el-tag>\r\n </div>\r\n </div>\r\n</template>\r\n<script>\r\n// import Clickoutside from 'element-ui/src/utils/clickoutside'\r\nimport _ from 'lodash'\r\nimport moment from 'moment'\r\nimport saveLocal from './save-local'\r\n\r\nfunction deepCopyFunction(arr1, arr2) {\r\n for (let i = 0; i < arr1.length; i++) {\r\n const father1 = arr1[i]\r\n const father2 = arr2[i]\r\n for (let j = 0; j < father1.itemList.length; j++) {\r\n const item1 = father1.itemList[j]\r\n const item2 = father2.itemList[j]\r\n if (item1.type === 'slot') {\r\n item1.getValue = item2.getValue\r\n item1.setValue = item2.setValue\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport default {\r\n name: 'SySearchbar',\r\n components: {\r\n saveLocal\r\n },\r\n // directives: { Clickoutside },\r\n directives: {\r\n Clickoutside: {\r\n // 初始化指令\r\n bind(el, binding, vnode) {\r\n function clickHandler(e) {\r\n // 这里判断点击的元素是否是本身,是本身,则返回\r\n if (el.contains(e.target)) {\r\n const btnsBox = el.querySelector('.syswin-searchbar-container__listBtns') // 点击右侧的按钮时也要隐藏所有条件面板\r\n if (!btnsBox.contains(e.target)) {\r\n return false\r\n }\r\n }\r\n // 判断指令中是否绑定了函数\r\n if (binding.expression) {\r\n // 如果绑定了函数 则调用那个函数,此处binding.value就是handleClose方法\r\n binding.value(e)\r\n }\r\n }\r\n // 给当前元素绑定个私有变量,方便在unbind中可以解除事件监听\r\n el.__vueClickOutside__ = clickHandler\r\n document.addEventListener('click', clickHandler)\r\n },\r\n update() {},\r\n unbind(el, binding) {\r\n // 解除事件监听\r\n document.removeEventListener('click', el.__vueClickOutside__)\r\n delete el.__vueClickOutside__\r\n }\r\n }\r\n },\r\n props: {\r\n saveToLocal: {\r\n // 搜索条件保存到本地\r\n type: Boolean,\r\n default: false\r\n },\r\n searchList: {\r\n type: Array,\r\n default() {\r\n return []\r\n }\r\n },\r\n placeholder: {\r\n type: String,\r\n default: '请输入关键字'\r\n },\r\n showFilter: {\r\n type: Boolean,\r\n default: true\r\n },\r\n searchButtonText: {\r\n type: String,\r\n default: '搜索'\r\n },\r\n resetButtonText: {\r\n type: String,\r\n default: '重置'\r\n },\r\n storageName: {\r\n type: String,\r\n default: 'searchbar'\r\n },\r\n saveToLocalPosition: {\r\n type: String,\r\n default: 'right',\r\n validator: function (value) {\r\n return ['left', 'right'].indexOf(value) !== -1\r\n }\r\n },\r\n customTagList: {\r\n // 自定义条件标签的显示\r\n type: Boolean,\r\n default: false\r\n },\r\n maxConditionLength: {\r\n type: Number,\r\n default: 4\r\n }\r\n },\r\n data() {\r\n return {\r\n keyword: '',\r\n currentSearchList: [],\r\n shrinkFilterList: false,\r\n conditionList: [],\r\n conditionValue: '',\r\n currentData: {},\r\n dialogConditionVisible: false,\r\n hasSetDefaultTag: false, // 是否设置过默认tag\r\n tagList: [],\r\n pickerOptions: {\r\n shortcuts: [\r\n {\r\n text: '今日',\r\n onClick(picker) {\r\n const end = new Date(new Date().setHours(0, 0, 0, 0) + 24 * 60 * 60 * 1000 - 1) // 今日23:59:59的时间\r\n const start = new Date(new Date().setHours(0, 0, 0, 0)) // 今日0点\r\n picker.$emit('pick', [start, end])\r\n }\r\n },\r\n {\r\n text: '最近三天',\r\n onClick(picker) {\r\n const end = new Date()\r\n const start = new Date()\r\n start.setTime(start.getTime() - 3600 * 1000 * 24 * 3)\r\n picker.$emit('pick', [start, end])\r\n }\r\n },\r\n {\r\n text: '最近一周',\r\n onClick(picker) {\r\n const end = new Date()\r\n const start = new Date()\r\n start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)\r\n picker.$emit('pick', [start, end])\r\n }\r\n },\r\n {\r\n text: '最近一个月',\r\n onClick(picker) {\r\n const end = new Date()\r\n const start = new Date()\r\n start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)\r\n picker.$emit('pick', [start, end])\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n },\r\n computed: {},\r\n watch: {\r\n searchList: {\r\n handler(value) {\r\n this.currentSearchList = _.cloneDeep(value)\r\n deepCopyFunction(this.currentSearchList, value)\r\n if (!this.hasSetDefaultTag) {\r\n this.setDefaultTagList()\r\n this.hasSetDefaultTag = true\r\n }\r\n },\r\n deep: true,\r\n immediate: true\r\n }\r\n },\r\n filters: {},\r\n created() {},\r\n mounted() {\r\n this.getLocalStorageConditionListData()\r\n },\r\n methods: {\r\n // 从localStorage里面读取已保存的筛选条件数据\r\n getLocalStorageConditionListData() {\r\n let localList = localStorage.getItem(`syswin${this.storageName}`)\r\n if (!['', undefined, null].includes(localList)) {\r\n localList = JSON.parse(localList)\r\n this.conditionList = localList && localList.length ? _.cloneDeep(localList) : []\r\n }\r\n },\r\n // 创建选中的标签数据\r\n createTagList() {\r\n const list = []\r\n this.currentSearchList.length &&\r\n this.currentSearchList.forEach((ele) => {\r\n ele.itemList.forEach((item) => {\r\n if (item.isActive || item.type === 'slot') {\r\n let obj = {\r\n pId: ele.id,\r\n pName: ele.name,\r\n // multiple: ele.multiple,\r\n id: item.id,\r\n name: '',\r\n value: item.value,\r\n type: item.type\r\n }\r\n if (item.type === 'text') {\r\n obj.name = item.name\r\n } else if (item.type === 'month' || item.type === 'year') {\r\n if (!item.value) return\r\n obj.name = item.value + (item.type === 'month' ? '月' : '年')\r\n } else if (item.type === 'daterange') {\r\n if (!item.value || !item.value[0]) {\r\n return\r\n }\r\n obj.name = `${moment(item.value[0]).format('YYYY-MM-DD')}至${moment(item.value[1]).format('YYYY-MM-DD')}`\r\n } else if (item.type === 'monthrange') {\r\n if (!item.value || !item.value[0]) {\r\n return\r\n }\r\n obj.name = `${moment(item.value[0]).format('YYYY-MM')}至${moment(item.value[1]).format('YYYY-MM')}`\r\n } else if (item.type === 'datetimerange') {\r\n if (!item.value || !item.value[0]) {\r\n return\r\n }\r\n if (item.format && item.format === 'yyyy-MM-dd HH:mm') {\r\n obj.name = `${moment(item.value[0]).format('YYYY-MM-DD HH:mm')}至${moment(item.value[1]).format('YYYY-MM-DD HH:mm')}`\r\n } else {\r\n obj.name = `${moment(item.value[0]).format('YYYY-MM-DD HH:mm:ss')}至${moment(item.value[1]).format('YYYY-MM-DD HH:mm:ss')}`\r\n }\r\n } else if (item.type === 'select') {\r\n if (!item.value) return\r\n if (item.multiple) {\r\n const valueOptions = item.value.map((x) => item.options.find((f) => f.value === x))\r\n obj.name = valueOptions.map((x) => x.label).join(',')\r\n } else {\r\n obj.name = item.options.find((x) => x.value === item.value).label\r\n }\r\n } else if (item.type === 'slot') {\r\n if (!item.getValue) return\r\n const info = item.getValue() // 这里不能直接调,因为是深拷贝过来的\r\n if (!info.name || !info.value) {\r\n // 如果没有选择数据,则不处理\r\n return\r\n }\r\n obj.name = info.name || ''\r\n obj.value = info.value\r\n obj = Object.assign(obj, info)\r\n }\r\n list.push(obj)\r\n }\r\n })\r\n })\r\n return list\r\n },\r\n // 设置底部标签,比如日期重新设置了值,但是底部没有标签,使用该方法来生成\r\n /*\r\n this.$set(this.searchList[10].itemList[0], 'value', [1649865600000, 1657727999000])\r\n this.$set(this.searchList[10].itemList[0], 'isActive', true)\r\n this.$nextTick(() => {\r\n this.$refs.searchbarRef.setTagList()\r\n })\r\n */\r\n setTagList() {\r\n const filterList = this.createTagList()\r\n this.tagList = filterList\r\n },\r\n // 搜索按钮\r\n handleSearch(skipShrink) {\r\n if (this.$slots.default) {\r\n // 如果使用的是slot,则只触发on-search事件\r\n this.$emit('on-search', { keyword: this.keyword, filterList: [] })\r\n return\r\n }\r\n const filterList = this.createTagList()\r\n this.tagList = filterList\r\n if (!skipShrink) {\r\n this.shrinkFilterList = false\r\n }\r\n this.$emit('on-search', { keyword: this.keyword, filterList })\r\n },\r\n // 重置按钮\r\n handleReset() {\r\n this.handleClearData()\r\n this.conditionValue = ''\r\n this.$emit('on-reset', { keyword: this.keyword, filterList: [...this.tagList] })\r\n },\r\n // 更多筛选/收起筛选点击事件\r\n handleToggleFilterList() {\r\n if (this.shrinkFilterList) {\r\n const old = JSON.stringify(this.tagList)\r\n const now = JSON.stringify(this.createTagList())\r\n if (old !== now) {\r\n // 条件改变后才去执行查询\r\n this.handleSearch(true)\r\n }\r\n }\r\n this.shrinkFilterList = !this.shrinkFilterList\r\n },\r\n // 清空输入框的关键字\r\n handleClearInput() {\r\n this.keyword = ''\r\n const filterList = this.createTagList()\r\n this.$emit('on-search', { keyword: this.keyword, filterList })\r\n },\r\n handleTagClose(tag) {\r\n const parentItem = this.currentSearchList.find((x) => x.id === tag.pId)\r\n const parentIndex = this.currentSearchList.findIndex((x) => x.id === tag.pId)\r\n const childIndex = parentItem.itemList.findIndex((x) => x.id === tag.id)\r\n parentItem.itemList.forEach((item, index) => {\r\n if (parentItem.multiple) {\r\n // 多选\r\n index === childIndex && (item.isActive = false)\r\n } else {\r\n // 单选\r\n if (index === childIndex) {\r\n item.isActive = false\r\n ;(item.type === 'daterange' || item.type === 'monthrange' || item.type === 'datetimerange') && (item.value = null)\r\n if (item.type === 'month' || item.type === 'year') {\r\n item.value = ''\r\n }\r\n if (item.type === 'select') {\r\n item.value = item.multiple ? [] : null\r\n }\r\n if (item.type === 'slot') {\r\n item.setValue({ name: '', value: '' })\r\n }\r\n }\r\n }\r\n })\r\n this.$set(this.currentSearchList, parentIndex, parentItem)\r\n const filterList = this.createTagList()\r\n this.tagList = filterList\r\n this.$emit('on-search', { keyword: this.keyword, filterList })\r\n },\r\n // 关闭所有的标签\r\n handleClearAllTags() {\r\n this.tagList.forEach((tag) => {\r\n const parentItem = this.currentSearchList.find((x) => x.id === tag.pId)\r\n const parentIndex = this.currentSearchList.findIndex((x) => x.id === tag.pId)\r\n const childIndex = parentItem.itemList.findIndex((x) => x.id === tag.id)\r\n parentItem.itemList.forEach((item, index) => {\r\n if (parentItem.multiple) {\r\n // 多选\r\n index === childIndex && (item.isActive = false)\r\n } else {\r\n // 单选\r\n if (index === childIndex) {\r\n item.isActive = false\r\n ;(item.type === 'daterange' || item.type === 'monthrange' || item.type === 'datetimerange') && (item.value = null)\r\n if (item.type === 'month' || item.type === 'year') {\r\n item.value = ''\r\n }\r\n if (item.type === 'select') {\r\n item.value = item.multiple ? [] : null\r\n }\r\n if (item.type === 'slot') {\r\n item.setValue({ name: '', value: '' })\r\n }\r\n }\r\n }\r\n })\r\n this.$set(this.currentSearchList, parentIndex, parentItem)\r\n })\r\n const filterList = this.createTagList()\r\n this.tagList = filterList\r\n this.$emit('on-search', { keyword: this.keyword, filterList })\r\n },\r\n // 清除关键字/选中标签/选中条件\r\n handleClearData() {\r\n this.conditionValue = ''\r\n this.keyword = ''\r\n\r\n const currentSearchList = _.cloneDeep(this.currentSearchList)\r\n currentSearchList.forEach((ele) => {\r\n ele.itemList.forEach((item) => {\r\n item.isActive = !!item.default\r\n if (['month', 'year'].includes(item.type)) {\r\n item.value = item.default && item.defaultValue ? item.defaultValue : ''\r\n }\r\n if (item.type === 'daterange' || item.type === 'monthrange' || item.type === 'datetimerange') {\r\n item.value = item.default && item.defaultValue ? item.defaultValue : null\r\n }\r\n if (item.type === 'select') {\r\n if (item.default && item.defaultValue) {\r\n if (item.multiple) {\r\n const valueOptions = item.defaultValue.map((x) => item.options.find((f) => f.value === x))\r\n item.value = valueOptions.map((x) => x.value)\r\n } else {\r\n item.value = item.defaultValue\r\n }\r\n } else {\r\n item.value = null\r\n }\r\n }\r\n item.type === 'slot' && item.setValue({ value: '', name: '' })\r\n })\r\n })\r\n this.currentSearchList = currentSearchList\r\n this.setDefaultTagList()\r\n },\r\n setDefaultTagList() {\r\n const list = []\r\n if (this.currentSearchList) {\r\n this.currentSearchList.forEach((ele) => {\r\n ele.itemList.forEach((item) => {\r\n if (item.default) {\r\n // 如果是默认值\r\n const obj = {\r\n pId: ele.id,\r\n pName: ele.name,\r\n id: item.id,\r\n name: '',\r\n value: item.value,\r\n type: item.type\r\n }\r\n if (item.type === 'text') {\r\n obj.name = item.name\r\n } else if (item.type === 'month' || item.type === 'year') {\r\n if (!item.defaultValue) return\r\n obj.name = item.defaultValue + (item.type === 'month' ? '月' : '年')\r\n } else if (item.type === 'daterange') {\r\n if (!item.defaultValue || !item.defaultValue[0]) {\r\n return\r\n }\r\n obj.name = `${moment(item.defaultValue[0]).format('YYYY-MM-DD')}至${moment(item.defaultValue[1]).format('YYYY-MM-DD')}`\r\n } else if (item.type === 'monthrange') {\r\n if (!item.defaultValue || !item.defaultValue[0]) {\r\n return\r\n }\r\n obj.name = `${moment(item.defaultValue[0]).format('YYYY-MM')}至${moment(item.defaultValue[1]).format('YYYY-MM')}`\r\n } else if (item.type === 'datetimerange') {\r\n if (!item.defaultValue || !item.defaultValue[0]) {\r\n return\r\n }\r\n if (item.format && item.format === 'yyyy-MM-dd HH:mm') {\r\n obj.name = `${moment(item.defaultValue[0]).format('YYYY-MM-DD HH:mm')}至${moment(item.defaultValue[1]).format('YYYY-MM-DD HH:mm')}`\r\n } else {\r\n obj.name = `${moment(item.defaultValue[0]).format('YYYY-MM-DD HH:mm:ss')}至${moment(item.defaultValue[1]).format('YYYY-MM-DD HH:mm:ss')}`\r\n }\r\n } else if (item.type === 'select') {\r\n if (!item.defaultValue) return\r\n if (item.multiple) {\r\n const valueOptions = item.defaultValue.map((x) => item.options.find((f) => f.value === x))\r\n obj.name = valueOptions.map((x) => x.label).join(',')\r\n } else {\r\n const defaultItem = item.options.find((x) => x.value === item.defaultValue)\r\n obj.name = defaultItem.label\r\n obj.value = defaultItem\r\n }\r\n } else if (item.type === 'slot') {\r\n // slot选项不设置默认值\r\n }\r\n list.push(obj)\r\n }\r\n })\r\n })\r\n }\r\n this.tagList = list\r\n },\r\n // text标签点击\r\n handleClick(childItem, childIndex, parentIndex) {\r\n const parentItem = this.currentSearchList[parentIndex]\r\n parentItem.itemList.forEach((item, index) => {\r\n if (parentItem.multiple) {\r\n // 多选\r\n index === childIndex && (item.isActive = !childItem.isActive)\r\n } else {\r\n // 单选\r\n item.isActive = index === childIndex ? !childItem.isActive : false\r\n ;(item.type === 'daterange' || item.type === 'monthrange' || item.type === 'datetimerange') && (item.value = null)\r\n if (item.type === 'month' || item.type === 'year') {\r\n item.value = ''\r\n }\r\n if (item.type === 'select') {\r\n item.value = item.multiple ? [] : null\r\n }\r\n }\r\n })\r\n this.$set(this.currentSearchList, parentIndex, parentItem)\r\n },\r\n // daterage输入框点击\r\n handleChangeDateragne(childIndex, parentIndex) {\r\n const parentItem = this.currentSearchList[parentIndex]\r\n const item = parentItem.itemList[childIndex]\r\n if (!['', undefined, null].includes(item.value) && item.value.length) {\r\n // 限制时间间隔为一年内\r\n if ((item.type === 'daterange' || item.type === 'datetimerange') && item.value[1] - item.value[0] > 366 * 24 * 60 * 60 * 1000) {\r\n this.$message.warning('所选时间间隔不能超过一年')\r\n item.value = null\r\n item.isActive = false\r\n this.$set(this.currentSearchList[parentIndex].itemList, childIndex, item)\r\n } else {\r\n parentItem.itemList.forEach((ele, index) => {\r\n if (parentItem.multiple) {\r\n // 多选\r\n index === childIndex && (ele.isActive = true)\r\n } else {\r\n // 单选\r\n ele.isActive = index === childIndex\r\n }\r\n })\r\n this.$set(this.currentSearchList, parentIndex, parentItem)\r\n }\r\n } else {\r\n item.value = item.type === 'month' || item.type === 'year' ? '' : null\r\n item.isActive = false\r\n this.$set(this.currentSearchList[parentIndex].itemList, childIndex, item)\r\n }\r\n },\r\n // 保存按钮\r\n handleSave() {\r\n this.currentData = {}\r\n this.dialogConditionVisible = true\r\n },\r\n // 切换保存过滤条件的下拉框\r\n handleChangeCondition(value) {\r\n this.conditionValue = value\r\n const list = this.conditionList.filter((item) => item.value === value)\r\n if (list.length) {\r\n const currentSearchList = _.cloneDeep(this.currentSearchList)\r\n deepCopyFunction(currentSearchList, this.currentSearchList)\r\n const { keyword = '', filterList = [] } = list[0]\r\n this.keyword = keyword\r\n\r\n // 先清空所有标签\r\n currentSearchList.forEach((ele) => {\r\n ele.itemList.forEach((item) => {\r\n item.isActive = ['daterange', 'monthrange'].includes(item.type) && (item.value = null)\r\n })\r\n })\r\n\r\n // 设置选中的标签\r\n if (filterList && filterList.length) {\r\n filterList.forEach((ele) => {\r\n currentSearchList.forEach((item) => {\r\n if (ele.pId === item.id) {\r\n item.itemList.forEach((v) => {\r\n if (v.type === 'text') {\r\n if (item.multiple) {\r\n // 多选\r\n v.id === ele.id && (v.isActive = true)\r\n v.id === ele.id && ['daterange', 'monthrange'].includes(v.type) && (v.value = ele.value)\r\n } else {\r\n // 单选\r\n v.isActive = v.id === ele.id\r\n v.id === ele.id && [('daterange', 'monthrange')].includes(v.type) && (v.value = v.id === ele.id ? ele.value : null)\r\n }\r\n } else if (v.type === 'slot') {\r\n v.setValue && v.setValue({ value: ele.value, name: ele.name, ...ele })\r\n } else if (v.type === 'select') {\r\n if (v.multiple) {\r\n v.value = ele.value\r\n } else {\r\n v.value = ele.value\r\n }\r\n if (ele.value) v.isActive = true\r\n } else if (v.type === 'month' || v.type === 'year') {\r\n v.value = ele.value\r\n if (ele.value) v.isActive = true\r\n } else if (v.type === 'daterange' || v.type === 'monthrange' || v.type === 'datetimerange') {\r\n v.value = ele.value\r\n if (ele.value.length && ele.value[0]) v.isActive = true\r\n }\r\n })\r\n }\r\n })\r\n })\r\n }\r\n\r\n this.currentSearchList = currentSearchList\r\n const tList = this.createTagList()\r\n this.tagList = tList\r\n }\r\n },\r\n // 编辑保存过滤条件的下拉框选项\r\n handleEditCondition(index) {\r\n this.currentData = this.conditionList[index]\r\n this.dialogConditionVisible = true\r\n },\r\n // 删除保存过滤条件的下拉框选项\r\n handleDeleteCondition(index) {\r\n const item = this.conditionList[index]\r\n this.conditionValue === item.value && this.handleClearData()\r\n this.conditionList.splice(index, 1)\r\n\r\n // 删除localStorage保存的数据\r\n let localList = localStorage.getItem(`syswin${this.storageName}`)\r\n if (!['', undefined, null].includes(localList)) {\r\n localList = JSON.parse(localList)\r\n const idx = localList.findIndex((ele) => ele.value === item.value)\r\n idx > -1 && localList.splice(idx, 1)\r\n localList.length > 0\r\n ? localStorage.setItem(`syswin${this.storageName}`, JSON.stringify(localList))\r\n : localStorage.removeItem(`syswin${this.storageName}`)\r\n }\r\n },\r\n // 筛选器名称模态框确定按钮事件\r\n handleConfirmCondition(label) {\r\n if (_.isEmpty(this.currentData)) {\r\n // 新建\r\n const momentValue = moment().valueOf()\r\n this.conditionList.push({\r\n label,\r\n value: momentValue,\r\n keyword: this.keyword,\r\n filterList: this.createTagList()\r\n })\r\n this.conditionValue = momentValue\r\n } else {\r\n // 编辑\r\n const index = this.conditionList.findIndex((ele) => ele.value === this.currentData.value)\r\n const item = this.conditionList[index]\r\n item.label = label\r\n this.$set(this.conditionList, index, item)\r\n }\r\n localStorage.setItem(`syswin${this.storageName}`, JSON.stringify(this.conditionList))\r\n },\r\n handleClickOutside(e) {\r\n // console.log(e)\r\n const target = e.target\r\n // console.log(target)\r\n const dialogList = [...document.querySelectorAll('.el-dialog__wrapper')]\r\n for (let i = 0; i < dialogList.length; i++) {\r\n if (dialogList[i].contains(target)) {\r\n return false\r\n }\r\n }\r\n\r\n if (target.classList.contains('el-dialog__wrapper')) {\r\n // 点击弹窗遮罩时不隐藏\r\n return false\r\n }\r\n const conditionDialog = document.querySelector('.syswin-searchbar-dialog') // 条件设置的弹窗\r\n const deleteConfirm = document.querySelector('.el-message-box.syswin-searchbar-confirm') // 条件设置的删除弹窗\r\n if (conditionDialog && conditionDialog.contains(target)) {\r\n return false\r\n }\r\n if (deleteConfirm && deleteConfirm.contains(target)) {\r\n return false\r\n }\r\n this.shrinkFilterList = false\r\n }\r\n }\r\n}\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n@import './search-bar';\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./search-bar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./search-bar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./search-bar.vue?vue&type=template&id=b4bbece4&scoped=true&\"\nimport script from \"./search-bar.vue?vue&type=script&lang=js&\"\nexport * from \"./search-bar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./search-bar.vue?vue&type=style&index=0&id=b4bbece4&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b4bbece4\",\n null\n \n)\n\nexport default component.exports","import SearchBar from './src/search-bar'\r\nimport SaveLocal from './src/save-local'\r\n\r\nSearchBar.install = function(Vue) {\r\n Vue.component(SearchBar.name, SearchBar)\r\n Vue.component(SaveLocal.name, SaveLocal)\r\n}\r\n\r\nexport default SearchBar\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"header-filter\"},[_c('div',{staticClass:\"header-filter-input\"},[_vm._t(\"filterInput\",[_c('el-input',{staticClass:\"header-filter-input\",attrs:{\"size\":\"small\",\"placeholder\":_vm.placeholder,\"clearable\":\"\"},on:{\"input\":function($event){_vm.auto && _vm.search},\"clear\":_vm.search,\"blur\":_vm.blur},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.search($event)}},model:{value:(_vm.keyword),callback:function ($$v) {_vm.keyword=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"keyword\"}},[_c('el-button',{attrs:{\"slot\":\"append\",\"type\":\"primary\",\"icon\":\"el-icon-search\"},on:{\"click\":function($event){return _vm.search()}},slot:\"append\"})],1)])],2),_c('div',{staticClass:\"header-filter-btns\"},[_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div class=\"header-filter\">\r\n <div class=\"header-filter-input\">\r\n <slot name=\"filterInput\">\r\n <el-input\r\n class=\"header-filter-input\"\r\n size=\"small\"\r\n :placeholder=\"placeholder\"\r\n @keyup.enter.native=\"search\"\r\n v-model.trim=\"keyword\"\r\n @input=\"auto && search\"\r\n @clear=\"search\"\r\n @blur=\"blur\"\r\n clearable\r\n >\r\n <el-button type=\"primary\" slot=\"append\" icon=\"el-icon-search\" @click=\"search()\"></el-button>\r\n </el-input>\r\n </slot>\r\n </div>\r\n <div class=\"header-filter-btns\">\r\n <slot></slot>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { debounce } from 'throttle-debounce'\r\n\r\n// 简单搜索组件\r\nexport default {\r\n name: 'SySimpleSearchBar',\r\n data() {\r\n return {\r\n keyword: this.value\r\n }\r\n },\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 // 在input框输入是否自动搜索->也即,是否会自动触发@input事件\r\n auto: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n watch: {\r\n value(nVal) {\r\n this.keyword = nVal\r\n }\r\n },\r\n methods: {\r\n search: debounce(200, function() {\r\n // 执行搜索事件\r\n this.$emit('input', this.keyword)\r\n this.$emit('search', this.keyword)\r\n }),\r\n blur() {\r\n if (!this.auto) {\r\n this.$emit('input', this.keyword)\r\n this.$emit('search', this.keyword)\r\n }\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped></style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./simple-search-bar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./simple-search-bar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./simple-search-bar.vue?vue&type=template&id=40df3cd6&scoped=true&\"\nimport script from \"./simple-search-bar.vue?vue&type=script&lang=js&\"\nexport * from \"./simple-search-bar.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"40df3cd6\",\n null\n \n)\n\nexport default component.exports","// 导入组件\r\nimport simpleSearchBar from './src/simple-search-bar.vue'\r\n\r\n// 为组件提供 install 安装方法,供按需引入\r\nsimpleSearchBar.install = function (Vue) {\r\n Vue.component(simpleSearchBar.name, simpleSearchBar)\r\n}\r\n\r\n// 默认导出组件\r\nexport default simpleSearchBar\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"sy-input-more\",class:{ 'is-active': _vm.isActive },on:{\"mouseleave\":function($event){_vm.isActive = false}}},[_c('span',{staticClass:\"span-input\",attrs:{\"title\":_vm.str},on:{\"click\":_vm.open,\"mouseenter\":function($event){_vm.isActive = true}}},[(!!_vm.str)?_c('span',{staticClass:\"span-content\"},[_vm._v(_vm._s(_vm.str))]):_c('span',{staticClass:\"span-content placeholder\"},[_vm._v(_vm._s(_vm.placeholder))]),(!!_vm.str && _vm.isActive)?_c('i',{staticClass:\"el-icon-circle-close\",on:{\"click\":function($event){$event.stopPropagation();return _vm.clearChoosed($event)}}}):_vm._e()]),_c('i',{staticClass:\"el-icon-more more-icon\",on:{\"click\":_vm.open}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div class=\"sy-input-more\" :class=\"{ 'is-active': isActive }\" @mouseleave=\"isActive = false\">\r\n <!-- <input type=\"text\" :title=\"str\" :value=\"str\" :placeholder=\"placeholder\" :maxlength=\"maxlength\" readonly @focus=\"open\" /> -->\r\n <span class=\"span-input\" :title=\"str\" @click=\"open\" @mouseenter=\"isActive = true\">\r\n <span class=\"span-content\" v-if=\"!!str\">{{ str }}</span>\r\n <span v-else class=\"span-content placeholder\">{{ placeholder }}</span>\r\n <i class=\"el-icon-circle-close\" v-if=\"!!str && isActive\" @click.stop=\"clearChoosed\"></i>\r\n </span>\r\n <i class=\"el-icon-more more-icon\" @click=\"open\"></i>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: 'SyInputMore',\r\n props: {\r\n placeholder: {\r\n type: String,\r\n default: '请选择'\r\n },\r\n str: {\r\n type: String,\r\n default: ''\r\n },\r\n maxlength: {\r\n type: Number,\r\n default: 0\r\n }\r\n },\r\n data() {\r\n return {\r\n isActive: false\r\n }\r\n },\r\n methods: {\r\n clearChoosed() {\r\n this.$emit('clear')\r\n },\r\n open() {\r\n this.isActive = true\r\n this.$emit('open')\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.sy-input-more {\r\n display: flex;\r\n align-items: center;\r\n box-sizing: border-box;\r\n padding-right: 4px;\r\n height: 32px;\r\n line-height: 30px;\r\n border-radius: 2px;\r\n border: 1px solid #dcdfe6;\r\n &.is-active {\r\n border-color: #027aff;\r\n }\r\n .el-input__inner {\r\n border: none;\r\n height: 30px;\r\n line-height: 30px;\r\n }\r\n .span-input {\r\n width: 0;\r\n flex: 1;\r\n padding-left: 10px;\r\n padding-right: 18px;\r\n position: relative;\r\n .span-content {\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n overflow: hidden;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n }\r\n .el-icon-circle-close {\r\n position: absolute;\r\n right: 2px;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n cursor: pointer;\r\n }\r\n .placeholder {\r\n color: #c0c4cc;\r\n }\r\n }\r\n > .el-icon-more {\r\n cursor: pointer;\r\n }\r\n}\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./input-more.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./input-more.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./input-more.vue?vue&type=template&id=3d5df6b4&scoped=true&\"\nimport script from \"./input-more.vue?vue&type=script&lang=js&\"\nexport * from \"./input-more.vue?vue&type=script&lang=js&\"\nimport style0 from \"./input-more.vue?vue&type=style&index=0&id=3d5df6b4&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3d5df6b4\",\n null\n \n)\n\nexport default component.exports","// 导入组件\r\nimport intpuMore from './src/input-more.vue'\r\n\r\n// 为组件提供 install 安装方法,供按需引入\r\nintpuMore.install = function (Vue) {\r\n Vue.component(intpuMore.name, intpuMore)\r\n}\r\n\r\n// 默认导出组件\r\nexport default intpuMore\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{style:(_vm.alignStyle)},[_c('el-pagination',{staticClass:\"cus-pagination\",attrs:{\"background\":\"\",\"prev-text\":\"上一页\",\"next-text\":\"下一页\",\"size\":\"small\",\"pager-count\":_vm.pagerCount,\"current-page\":_vm.pagination.currentPage,\"page-sizes\":_vm.pageSizes,\"page-size\":_vm.pagination.pageSize,\"layout\":_vm.layout,\"total\":_vm.pagination.totals},on:{\"size-change\":_vm.handleSizeChange,\"current-change\":_vm.handlePageChange}},[_vm._t(\"default\",[_c('span',{staticClass:\"el-pagination__total\"},[_vm._v(\"总共 \"+_vm._s(_vm.pagination.totals)+\" 条,\"+_vm._s(Math.ceil(_vm.pagination.totals / _vm.pagination.pageSize))+\" 页\")])])],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!-- 分页组件 -->\r\n<template>\r\n <div :style=\"alignStyle\">\r\n <el-pagination\r\n class=\"cus-pagination\"\r\n background\r\n prev-text=\"上一页\"\r\n next-text=\"下一页\"\r\n size=\"small\"\r\n :pager-count=\"pagerCount\"\r\n @size-change=\"handleSizeChange\"\r\n @current-change=\"handlePageChange\"\r\n :current-page=\"pagination.currentPage\"\r\n :page-sizes=\"pageSizes\"\r\n :page-size=\"pagination.pageSize\"\r\n :layout=\"layout\"\r\n :total=\"pagination.totals\"\r\n >\r\n <slot>\r\n <span class=\"el-pagination__total\">总共 {{ pagination.totals }} 条,{{ Math.ceil(pagination.totals / pagination.pageSize) }} 页</span>\r\n </slot>\r\n </el-pagination>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n/*\r\n pagination: {\r\n currentPage: 1,\r\n pageSize: 20,\r\n totals: 0\r\n }\r\n*/\r\nexport default {\r\n name: 'SyPaging',\r\n props: {\r\n align: {\r\n type: String,\r\n default: 'right',\r\n validator: function (value) {\r\n return ['left', 'center', 'right'].indexOf(value) !== -1\r\n }\r\n },\r\n layout: {\r\n type: String,\r\n default: 'slot, prev, pager, next, sizes, jumper'\r\n },\r\n pagination: {\r\n type: Object,\r\n required: true\r\n },\r\n pageSizes: {\r\n type: Array,\r\n default() {\r\n return [10, 20, 50, 100, 200]\r\n }\r\n },\r\n pagerCount: {\r\n type: Number,\r\n default: 7\r\n }\r\n },\r\n computed: {\r\n alignStyle() {\r\n return {\r\n 'text-align': this.align\r\n }\r\n }\r\n },\r\n methods: {\r\n // 每页数量发生改变\r\n handleSizeChange(val) {\r\n const { currentPage, totals } = this.pagination\r\n const maxNum = Math.ceil(totals / val)\r\n this.pagination.currentPage = maxNum < currentPage ? maxNum : currentPage\r\n this.pagination.pageSize = val\r\n this.handleChange('pageSize')\r\n },\r\n // 页码发生改变\r\n handlePageChange(val) {\r\n this.pagination.currentPage = val\r\n this.handleChange('currentPage')\r\n },\r\n\r\n handleChange(type) {\r\n const { currentPage, pageSize } = this.pagination\r\n this.$emit('change', { currentPage, pageSize }, type)\r\n }\r\n }\r\n}\r\n</script>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./paging.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./paging.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./paging.vue?vue&type=template&id=6478caad&\"\nimport script from \"./paging.vue?vue&type=script&lang=js&\"\nexport * from \"./paging.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// 导入组件\r\nimport paging from './src/paging.vue'\r\n\r\n// 为组件提供 install 安装方法,供按需引入\r\npaging.install = function (Vue) {\r\n Vue.component(paging.name, paging)\r\n}\r\n\r\n// 默认导出组件\r\nexport default paging\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"syNewsearchbar\"},[_c('section',{staticClass:\"search-wrap\"},[(_vm.slotName)?_vm._t(_vm.slotName):_c('el-input',{staticClass:\"search-input\",class:{ 'search-input-small': _vm.smallSearchWidth === true },attrs:{\"clearable\":\"\",\"placeholder\":_vm.placeholder},model:{value:(_vm.keyword),callback:function ($$v) {_vm.keyword=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"keyword\"}},[_vm._t(\"filtrateConditions\",null,{\"slot\":\"suffix\"})],2),(_vm.showFilter)?_c('a',{staticClass:\"dropdown-search\",on:{\"click\":_vm.shrinkFilter}},[_vm._v(\" \"+_vm._s(_vm.shrinkFilterList ? '更多筛选' : '更多筛选')+\" \"),_c('i',{staticClass:\"el-icon-caret-bottom\",class:{ rotate180: !_vm.shrinkFilterList }})]):_vm._e(),_c('el-button',{staticClass:\"search-btn hover-btn\",attrs:{\"size\":\"small\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.searchTable($event)}}},[_vm._v(\"查询\")]),(_vm.resetBtnFlag)?_c('el-button',{staticClass:\"search-btn reset-btn\",attrs:{\"size\":\"small\"},on:{\"click\":_vm.clearTags}},[_vm._v(\"重置\")]):_vm._e(),_c('div',{staticClass:\"header-filter-btns\"},[_vm._t(\"listBtns\")],2)],2),_c('section',{staticClass:\"filter-wrap\",style:({\n maxHeight: _vm.shrinkFilterList ? '0px' : (_vm.windowHeight + \"px\"),\n boxShadow: _vm.shrinkFilterList ? 'none' : 'rgba(0, 0, 0, 0.12) 0px 10px 20px 0px'\n })},[_c('div',{staticClass:\"filter-list\",class:{ h0: _vm.shrinkFilterList, mt0: _vm.shrinkFilterList }},[_vm._t(\"default\")],2),(_vm.showSaveCondition)?_c('div',{staticClass:\"mt10 mb10 clearfix\"},[_c('el-button',{staticClass:\"save-btn search-btn reset-btn\",attrs:{\"size\":\"small\"},on:{\"click\":_vm.saveScreeningCriteria}},[_vm._v(\"保存\")]),_c('el-select',{staticClass:\"condition-selector\",attrs:{\"size\":\"small\",\"clearable\":\"\"},on:{\"change\":_vm.selectChange},model:{value:(_vm.choosedCondition),callback:function ($$v) {_vm.choosedCondition=$$v},expression:\"choosedCondition\"}},_vm._l((_vm.savedCondition),function(item,index){return _c('el-option',{key:index,attrs:{\"label\":item.label,\"value\":item.value,\"placeholder\":\"已保存的条件\"}},[_c('span',{staticStyle:{\"float\":\"left\"}},[_vm._v(_vm._s(item.label))]),_c('span',{staticStyle:{\"float\":\"right\"}},[_c('i',{staticClass:\"el-icon-circle-close\",on:{\"click\":function($event){$event.stopPropagation();return _vm.deleteItem(index)}}})])])}),1)],1):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div class=\"syNewsearchbar\">\r\n <section class=\"search-wrap\">\r\n <slot v-if=\"slotName\" :name=\"slotName\"></slot>\r\n <el-input\r\n v-else\r\n class=\"search-input\"\r\n :class=\"{ 'search-input-small': smallSearchWidth === true }\"\r\n clearable\r\n :placeholder=\"placeholder\"\r\n v-model.trim=\"keyword\"\r\n >\r\n <slot slot=\"suffix\" name=\"filtrateConditions\"></slot>\r\n </el-input>\r\n <a class=\"dropdown-search\" v-if=\"showFilter\" @click=\"shrinkFilter\">\r\n {{ shrinkFilterList ? '更多筛选' : '更多筛选' }}\r\n <i class=\"el-icon-caret-bottom\" :class=\"{ rotate180: !shrinkFilterList }\"></i>\r\n </a>\r\n <el-button size=\"small\" class=\"search-btn hover-btn\" @click.stop=\"searchTable\">查询</el-button>\r\n <el-button v-if=\"resetBtnFlag\" size=\"small\" class=\"search-btn reset-btn\" @click=\"clearTags\">重置</el-button>\r\n <div class=\"header-filter-btns\">\r\n <slot name=\"listBtns\"></slot>\r\n </div>\r\n </section>\r\n <section\r\n class=\"filter-wrap\"\r\n :style=\"{\r\n maxHeight: shrinkFilterList ? '0px' : `${windowHeight}px`,\r\n boxShadow: shrinkFilterList ? 'none' : 'rgba(0, 0, 0, 0.12) 0px 10px 20px 0px'\r\n }\"\r\n >\r\n <div class=\"filter-list\" :class=\"{ h0: shrinkFilterList, mt0: shrinkFilterList }\">\r\n <slot ></slot>\r\n </div>\r\n <!-- 保存筛选数据-->\r\n <div v-if=\"showSaveCondition\" class=\"mt10 mb10 clearfix\">\r\n <el-button size=\"small\" class=\"save-btn search-btn reset-btn\" @click=\"saveScreeningCriteria\">保存</el-button>\r\n <el-select size=\"small\" class=\"condition-selector\" v-model=\"choosedCondition\" clearable @change=\"selectChange\">\r\n <el-option v-for=\"(item, index) in savedCondition\" :key=\"index\" :label=\"item.label\" :value=\"item.value\" placeholder=\"已保存的条件\">\r\n <span style=\"float: left\">{{ item.label }}</span>\r\n <span style=\"float: right;\">\r\n <i class=\"el-icon-circle-close\" @click.stop=\"deleteItem(index)\"></i>\r\n </span>\r\n </el-option>\r\n </el-select>\r\n </div>\r\n </section>\r\n </div>\r\n</template>\r\n<script>\r\nexport default {\r\n name: 'SyNewsearchbar',\r\n data() {\r\n return {\r\n keyword: '',\r\n shrinkFilterList: true,\r\n windowHeight: 0, // 窗口高度\r\n // 选中的搜索条件\r\n choosedCondition: ''\r\n }\r\n },\r\n props: {\r\n slotName: {\r\n type: String,\r\n default: ''\r\n },\r\n placeholder: {\r\n type: String,\r\n default: '请输入'\r\n },\r\n showFilter: {\r\n type: Boolean,\r\n default: true\r\n },\r\n savedCondition: {\r\n // 保存的搜索条件\r\n type: Array,\r\n default() {\r\n return []\r\n }\r\n },\r\n showSaveCondition: {\r\n type: Boolean,\r\n default: true\r\n },\r\n resetBtnFlag: {\r\n type: Boolean,\r\n default: true\r\n }\r\n },\r\n created() {\r\n this.getWinH()\r\n window.addEventListener('resize', event => {\r\n this.getWinH()\r\n })\r\n // 根据分辨率大于显示搜索输入框的宽度\r\n if (document.body.clientWidth < 1366) {\r\n this.smallSearchWidth = true\r\n } else {\r\n this.smallSearchWidth = false\r\n }\r\n },\r\n methods: {\r\n // 得到窗口高度\r\n getWinH() {\r\n this.windowHeight = window.innerHeight - 140\r\n },\r\n // 搜索表格\r\n searchTable() {\r\n this.$emit('searchTable', this.keyword)\r\n this.shrinkFilterList = true\r\n },\r\n // 收起展开过滤区\r\n shrinkFilter() {\r\n this.shrinkFilterList = !this.shrinkFilterList\r\n },\r\n // 清空过滤选项\r\n clearTags() {\r\n this.shrinkFilterList = true\r\n this.$emit('clearTags')\r\n },\r\n saveScreeningCriteria() {\r\n this.$emit('saveScreeningCriteria', this.keyword)\r\n },\r\n selectChange(ids) {\r\n this.$emit('selectChange', ids)\r\n },\r\n deleteItem(index) {\r\n this.$emit('deleteItem', index)\r\n }\r\n }\r\n}\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.syNewsearchbar {\r\n .search-wrap {\r\n position: relative;\r\n height: 64px;\r\n box-sizing: border-box;\r\n overflow: hidden;\r\n padding: 16px 0;\r\n min-width: 850px;\r\n .search-input {\r\n width: 408px;\r\n float: left;\r\n i {\r\n cursor: pointer;\r\n }\r\n }\r\n .search-input-small {\r\n width: 336px;\r\n }\r\n .dropdown-search {\r\n color: #027aff;\r\n font-size: 14px;\r\n float: left;\r\n margin: 10px 10px 0;\r\n cursor: pointer;\r\n }\r\n .header-filter-btns {\r\n display: flex;\r\n align-items: center;\r\n position: absolute;\r\n right: 0;\r\n top: 16px;\r\n height: 32px;\r\n }\r\n }\r\n .search-btn {\r\n background: #027aff;\r\n color: #fefafa;\r\n font-size: 14px;\r\n height: 32px;\r\n width: 72px;\r\n border: 1px solid #027aff;\r\n }\r\n .reset-btn {\r\n background: #fff;\r\n border: 1px solid #d9d9d9;\r\n color: rgba(0, 0, 0, 0.65);\r\n }\r\n .filter-wrap {\r\n position: relative;\r\n width: 100%;\r\n box-sizing: border-box;\r\n position: absolute;\r\n background: #fafafa;\r\n z-index: 999;\r\n transition: all 0.3s;\r\n overflow: hidden;\r\n padding: 0 25px;\r\n margin-left: -25px;\r\n .save-btn {\r\n margin-left: 5px;\r\n float: right;\r\n }\r\n .condition-selector {\r\n float: right;\r\n }\r\n .filter-list {\r\n margin-top: 20px;\r\n border-top: 1px solid #eaedf1;\r\n border-left: 1px solid #eaedf1;\r\n border-right: 1px solid #eaedf1;\r\n ul {\r\n overflow: hidden;\r\n position: relative;\r\n }\r\n .filter-item {\r\n border-bottom: 1px solid #eaedf1;\r\n text-align: center;\r\n font-size: 14px;\r\n position: relative;\r\n height: auto;\r\n .item-title {\r\n position: absolute;\r\n width: 95px;\r\n left: 0;\r\n top: 0;\r\n bottom: 0;\r\n height: auto;\r\n line-height: 48px;\r\n background: #f6f7fb;\r\n color: #5e6470;\r\n border-right: 1px solid #eaedf1;\r\n }\r\n .item-list {\r\n position: relative;\r\n left: 100px;\r\n right: 0;\r\n padding-right: 50px;\r\n box-sizing: border-box;\r\n ul > li {\r\n float: left;\r\n color: rgba(0, 0, 0, 0.65);\r\n line-height: 48px;\r\n padding: 0 12px;\r\n cursor: pointer;\r\n }\r\n ul > li.isActive {\r\n color: #027aff;\r\n }\r\n .moreFilters {\r\n width: 100%;\r\n .showMore {\r\n float: right;\r\n line-height: 48px;\r\n margin-right: 36px;\r\n color: #027aff;\r\n font-size: 12px;\r\n }\r\n > div {\r\n width: 100%;\r\n height: auto;\r\n > div {\r\n float: left;\r\n height: 40px;\r\n line-height: 30px;\r\n p {\r\n height: 100%;\r\n line-height: 30px;\r\n padding: 0 4px 0 24px;\r\n float: left;\r\n }\r\n .operators {\r\n float: left;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n .h0 {\r\n height: 0;\r\n overflow: hidden;\r\n margin-bottom: 0;\r\n }\r\n .mt0 {\r\n margin-top: 0;\r\n }\r\n .mt10 {\r\n margin-top: 10px;\r\n }\r\n .mb10 {\r\n margin-bottom: 10px;\r\n }\r\n .h40 {\r\n height: 40px;\r\n overflow: hidden;\r\n }\r\n }\r\n .clearfix:after {\r\n content: '.';\r\n height: 0;\r\n display: block;\r\n visibility: hidden;\r\n clear: both;\r\n overflow: hidden;\r\n }\r\n .rotate180 {\r\n transform: rotateZ(180deg);\r\n }\r\n}\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./newSearchBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./newSearchBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./newSearchBar.vue?vue&type=template&id=2592bd66&scoped=true&\"\nimport script from \"./newSearchBar.vue?vue&type=script&lang=js&\"\nexport * from \"./newSearchBar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./newSearchBar.vue?vue&type=style&index=0&id=2592bd66&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2592bd66\",\n null\n \n)\n\nexport default component.exports","import newSearchBar from './src/newSearchBar';\r\n\r\nnewSearchBar.install = function(Vue) {\r\n Vue.component(newSearchBar.name, newSearchBar);\r\n};\r\n\r\nexport default newSearchBar;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"syswin-table\",staticStyle:{\"position\":\"relative\"},style:({height: _vm.height})},[(_vm.showDragSet)?_c('drag-set',{attrs:{\"listConf\":_vm.columnList},on:{\"save\":_vm.dragChange}}):_vm._e(),_c('el-table',_vm._b({ref:\"cusTable\",staticClass:\"cusTable\",attrs:{\"border\":\"\",\"stripe\":\"\",\"row-key\":_vm.rowKey,\"show-summary\":_vm.showSummary,\"summary-method\":_vm.getSummaries,\"height\":\"100%\",\"indent\":_vm.indent,\"lazy\":_vm.lazy,\"load\":_vm.load,\"tree-props\":_vm.treeProps,\"default-expand-all\":_vm.defaultExpandAll,\"expand-row-keys\":_vm.expandRowKeys},on:{\"sort-change\":_vm.handleSortChange,\"selection-change\":_vm.handleSelectionChange,\"expand-change\":_vm.handleExpandChange,\"header-dragend\":_vm.handleHeaderDragend}},'el-table',_vm.attrs,false),[_vm._t(\"start\"),_vm._l((_vm.columnData),function(item,index){return _c('el-table-column',{key:item.prop + index,attrs:{\"prop\":item.prop,\"label\":item.label,\"width\":item.width || 'auto',\"min-width\":item.minWidth,\"fixed\":item.fixed,\"align\":item.align,\"sortable\":item.sortable,\"show-overflow-tooltip\":item.tooltip,\"resizable\":item.resizable,\"header-align\":item.headerAlign},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [(!item.slotHeader)?[(!item.filterType)?_c('span',[_vm._v(_vm._s(item.label))]):_c('span',[_vm._v(\" \"+_vm._s(item.label)+\" \"),(item.filterType === 'multiple')?_c('el-popover',{ref:(\"\" + (item.prop)),refInFor:true,attrs:{\"placement\":\"bottom\",\"trigger\":\"click\",\"width\":\"160\"},model:{value:(item.visible),callback:function ($$v) {_vm.$set(item, \"visible\", $$v)},expression:\"item.visible\"}},[_c('div',{staticStyle:{\"max-height\":\"300px\",\"overflow\":\"auto\"}},[_c('el-checkbox-group',{model:{value:(item.value),callback:function ($$v) {_vm.$set(item, \"value\", $$v)},expression:\"item.value\"}},_vm._l((item.filters || []),function(x,index){return _c('div',{key:index,staticClass:\"filterItem\",attrs:{\"title\":x.label}},[_c('el-checkbox',{attrs:{\"label\":x.value}},[_vm._v(_vm._s(x.label))])],1)}),0)],1),_c('div',{staticStyle:{\"text-align\":\"center\",\"margin-top\":\"10px\"}},[_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\"},on:{\"click\":function($event){item.visible = false;_vm.handleSearch(item)}}},[_vm._v(\"确定\")]),_c('el-button',{attrs:{\"size\":\"mini\"},on:{\"click\":function($event){item.visible = false; _vm.reset(item)}}},[_vm._v(\"重置\")])],1),_c('i',{staticClass:\"iconfont icon-filter-fill filter-icon\",class:{'selected-color': item.value && item.value.length},attrs:{\"slot\":\"reference\"},on:{\"click\":function($event){$event.stopPropagation();}},slot:\"reference\"})]):(item.filterType === 'daterange')?_c('el-popover',{ref:(\"\" + (item.prop)),refInFor:true,attrs:{\"placement\":\"bottom\",\"trigger\":\"click\",\"width\":\"360\"},model:{value:(item.visible),callback:function ($$v) {_vm.$set(item, \"visible\", $$v)},expression:\"item.visible\"}},[_c('el-date-picker',{attrs:{\"type\":\"daterange\",\"size\":\"small\",\"range-separator\":\"至\",\"start-placeholder\":\"开始日期\",\"end-placeholder\":\"结束日期\"},model:{value:(item.value),callback:function ($$v) {_vm.$set(item, \"value\", $$v)},expression:\"item.value\"}}),_c('div',{staticStyle:{\"text-align\":\"center\",\"margin-top\":\"10px\"}},[_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\"},on:{\"click\":function($event){item.visible = false;_vm.handleSearch(item)}}},[_vm._v(\"确定\")]),_c('el-button',{attrs:{\"size\":\"mini\"},on:{\"click\":function($event){item.visible = false; _vm.reset(item)}}},[_vm._v(\"重置\")])],1),_c('i',{staticClass:\"iconfont icon-filter-fill filter-icon\",class:{'selected-color': item.value && item.value.length},attrs:{\"slot\":\"reference\"},on:{\"click\":function($event){$event.stopPropagation();}},slot:\"reference\"})],1):(item.filterType === 'monthrange')?_c('el-popover',{ref:(\"\" + (item.prop)),refInFor:true,attrs:{\"placement\":\"bottom\",\"trigger\":\"click\",\"width\":\"300\"},model:{value:(item.visible),callback:function ($$v) {_vm.$set(item, \"visible\", $$v)},expression:\"item.visible\"}},[_c('el-date-picker',{attrs:{\"type\":\"monthrange\",\"size\":\"small\",\"range-separator\":\"至\",\"start-placeholder\":\"开始月份\",\"end-placeholder\":\"结束月份\"},model:{value:(item.value),callback:function ($$v) {_vm.$set(item, \"value\", $$v)},expression:\"item.value\"}}),_c('div',{staticStyle:{\"text-align\":\"center\",\"margin-top\":\"10px\"}},[_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\"},on:{\"click\":function($event){item.visible = false;_vm.handleSearch(item)}}},[_vm._v(\"确定\")]),_c('el-button',{attrs:{\"size\":\"mini\"},on:{\"click\":function($event){item.visible = false; _vm.reset(item)}}},[_vm._v(\"重置\")])],1),_c('i',{staticClass:\"iconfont icon-filter-fill filter-icon\",class:{'selected-color': item.value && item.value.length},attrs:{\"slot\":\"reference\"},on:{\"click\":function($event){$event.stopPropagation();}},slot:\"reference\"})],1):(item.filterType === 'text')?_c('el-popover',{ref:(\"\" + (item.prop)),refInFor:true,attrs:{\"placement\":\"bottom\",\"trigger\":\"click\",\"width\":\"160\"},model:{value:(item.visible),callback:function ($$v) {_vm.$set(item, \"visible\", $$v)},expression:\"item.visible\"}},[_c('el-input',{attrs:{\"clearable\":\"\",\"size\":\"small\"},model:{value:(item.value),callback:function ($$v) {_vm.$set(item, \"value\", $$v)},expression:\"item.value\"}}),_c('div',{staticStyle:{\"text-align\":\"center\",\"margin-top\":\"10px\"}},[_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\"},on:{\"click\":function($event){item.visible = false;_vm.handleSearch(item)}}},[_vm._v(\"确定\")]),_c('el-button',{attrs:{\"size\":\"mini\"},on:{\"click\":function($event){item.visible = false; _vm.reset(item)}}},[_vm._v(\"重置\")])],1),_c('i',{staticClass:\"iconfont icon-filter-fill filter-icon\",class:{'selected-color': item.value},attrs:{\"slot\":\"reference\"},on:{\"click\":function($event){$event.stopPropagation();}},slot:\"reference\"})],1):(item.filterType === 'single')?_c('el-popover',{ref:(\"\" + (item.prop)),refInFor:true,attrs:{\"placement\":\"bottom\",\"trigger\":\"click\",\"width\":\"160\"},model:{value:(item.visible),callback:function ($$v) {_vm.$set(item, \"visible\", $$v)},expression:\"item.visible\"}},[_c('div',{staticStyle:{\"max-height\":\"300px\",\"overflow\":\"auto\"}},[_c('el-radio-group',{model:{value:(item.value),callback:function ($$v) {_vm.$set(item, \"value\", $$v)},expression:\"item.value\"}},_vm._l((item.filters || []),function(x,index){return _c('div',{key:index,staticClass:\"filterItem\",attrs:{\"title\":x.label}},[_c('el-radio',{attrs:{\"label\":x.value}},[_vm._v(_vm._s(x.label))])],1)}),0)],1),_c('div',{staticStyle:{\"text-align\":\"center\",\"margin-top\":\"10px\"}},[_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\"},on:{\"click\":function($event){item.visible = false;_vm.handleSearch(item)}}},[_vm._v(\"确定\")]),_c('el-button',{attrs:{\"size\":\"mini\"},on:{\"click\":function($event){item.visible = false; _vm.reset(item)}}},[_vm._v(\"重置\")])],1),_c('i',{staticClass:\"iconfont icon-filter-fill filter-icon\",class:{'selected-color': item.value || item.value === 0},attrs:{\"slot\":\"reference\"},on:{\"click\":function($event){$event.stopPropagation();}},slot:\"reference\"})]):_vm._e()],1)]:_vm._t(item.slotHeader)]},proxy:true},{key:\"default\",fn:function(scope){return [(!item.slotCell)?_c('span',{style:(item.style),on:{\"click\":function($event){return _vm.handleColumnClick(scope.row, item)}}},[_vm._v(\" \"+_vm._s(_vm.transContent(scope.row, item.prop) || '-')+\" \")]):_vm._t(item.slotCell,null,{\"row\":scope.row,\"index\":scope.$index})]}}],null,true)})}),_vm._t(\"end\"),_c('div',{staticClass:\"empty\",staticStyle:{\"margin-top\":\"22px\"},attrs:{\"slot\":\"empty\"},slot:\"empty\"},[_c('noData')],1)],2),(_vm.customSum)?_c('div',{staticClass:\"sum\"},[_vm._t(\"customSum\")],2):_vm._e(),(_vm.showSummary && _vm.data.length && !_vm.customSum)?_c('el-dropdown',{staticClass:\"sum\",on:{\"command\":_vm.changeSumType}},[_c('span',{staticClass:\"el-dropdown-link\"},[_vm._v(\" \"+_vm._s(_vm.totalText[_vm.sumType])),_c('i',{staticClass:\"el-icon-arrow-down el-icon--right\"})]),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[(_vm.showPageSum)?_c('el-dropdown-item',{attrs:{\"command\":0}},[_vm._v(\"分页合计\")]):_vm._e(),(_vm.showChoiseSum)?_c('el-dropdown-item',{attrs:{\"command\":1}},[_vm._v(\"选中合计\")]):_vm._e(),_c('el-dropdown-item',{attrs:{\"command\":2}},[_vm._v(\"全部合计\")])],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"noData\"},[_c('div',{staticClass:\"noData-pic\"},[_c('img',{attrs:{\"width\":\"240\",\"src\":\"data:image/png;base64,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AABwB9jVDpBYDBDVDrC1GMCyGEAjACAOABIDAHVxUT3/DHmWi/OYF1UGgP80OvrOEIDYBvBNNjo6sm109NtuAOw+QHvB2A4PABBlD0A8DQBwCXWFf41/ADoxDh9OVuYfAAAACXBIWXMAABYlAAAWJQFJUiTwAAAKn2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIiB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjAtMDUtMjlUMTU6NDE6MjYrMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjAtMDYtMDFUMDk6NDc6NDkrMDg6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIwLTA2LTAxVDA5OjQ3OjQ5KzA4OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo5YTY4NWFkNS04MjU4LTQ3ZjMtOWFlMC1jYzk1MTI0ZDMyMzIiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpmMmNjM2I5NC1jNDBiLTRjNGMtYTgyYi1jMWU2MDg5YTU2MzEiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpkNzg4MjFiOC00NjdiLTQ2ZDgtODE3Yy02NGQzZjc1ZWM2YzAiIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJEaXNwbGF5IiB0aWZmOk9yaWVudGF0aW9uPSIxIiB0aWZmOlhSZXNvbHV0aW9uPSIxNDQwMDAwLzEwMDAwIiB0aWZmOllSZXNvbHV0aW9uPSIxNDQwMDAwLzEwMDAwIiB0aWZmOlJlc29sdXRpb25Vbml0PSIyIiBleGlmOkNvbG9yU3BhY2U9IjY1NTM1IiBleGlmOlBpeGVsWERpbWVuc2lvbj0iNDAwIiBleGlmOlBpeGVsWURpbWVuc2lvbj0iMzAwIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpkNzg4MjFiOC00NjdiLTQ2ZDgtODE3Yy02NGQzZjc1ZWM2YzAiIHN0RXZ0OndoZW49IjIwMjAtMDUtMjlUMTU6NDE6MjYrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChNYWNpbnRvc2gpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDozNzMwZmUwYS1hNWEwLTQ3ZjYtYWZkOC0yZTU5ZjQwNDUxYTYiIHN0RXZ0OndoZW49IjIwMjAtMDUtMjlUMTU6NDQ6NTcrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDoxZTMwOWVkYy0xNzVlLTRlNGMtYjJhZS1kM2JmMTBiNDdhMjEiIHN0RXZ0OndoZW49IjIwMjAtMDYtMDFUMDk6NDc6NDkrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjb252ZXJ0ZWQiIHN0RXZ0OnBhcmFtZXRlcnM9ImZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmciLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImRlcml2ZWQiIHN0RXZ0OnBhcmFtZXRlcnM9ImNvbnZlcnRlZCBmcm9tIGFwcGxpY2F0aW9uL3ZuZC5hZG9iZS5waG90b3Nob3AgdG8gaW1hZ2UvcG5nIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo5YTY4NWFkNS04MjU4LTQ3ZjMtOWFlMC1jYzk1MTI0ZDMyMzIiIHN0RXZ0OndoZW49IjIwMjAtMDYtMDFUMDk6NDc6NDkrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxZTMwOWVkYy0xNzVlLTRlNGMtYjJhZS1kM2JmMTBiNDdhMjEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6ZDc4ODIxYjgtNDY3Yi00NmQ4LTgxN2MtNjRkM2Y3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\"}}),_c('p',[_vm._v(_vm._s(_vm.msg))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div class=\"noData\">\r\n <div class=\"noData-pic\">\r\n <img\r\n width=\"240\"\r\n src=\"data:image/png;base64,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AABwB9jVDpBYDBDVDrC1GMCyGEAjACAOABIDAHVxUT3/DHmWi/OYF1UGgP80OvrOEIDYBvBNNjo6sm109NtuAOw+QHvB2A4PABBlD0A8DQBwCXWFf41/ADoxDh9OVuYfAAAACXBIWXMAABYlAAAWJQFJUiTwAAAKn2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIiB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjAtMDUtMjlUMTU6NDE6MjYrMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjAtMDYtMDFUMDk6NDc6NDkrMDg6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIwLTA2LTAxVDA5OjQ3OjQ5KzA4OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo5YTY4NWFkNS04MjU4LTQ3ZjMtOWFlMC1jYzk1MTI0ZDMyMzIiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpmMmNjM2I5NC1jNDBiLTRjNGMtYTgyYi1jMWU2MDg5YTU2MzEiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpkNzg4MjFiOC00NjdiLTQ2ZDgtODE3Yy02NGQzZjc1ZWM2YzAiIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJEaXNwbGF5IiB0aWZmOk9yaWVudGF0aW9uPSIxIiB0aWZmOlhSZXNvbHV0aW9uPSIxNDQwMDAwLzEwMDAwIiB0aWZmOllSZXNvbHV0aW9uPSIxNDQwMDAwLzEwMDAwIiB0aWZmOlJlc29sdXRpb25Vbml0PSIyIiBleGlmOkNvbG9yU3BhY2U9IjY1NTM1IiBleGlmOlBpeGVsWERpbWVuc2lvbj0iNDAwIiBleGlmOlBpeGVsWURpbWVuc2lvbj0iMzAwIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpkNzg4MjFiOC00NjdiLTQ2ZDgtODE3Yy02NGQzZjc1ZWM2YzAiIHN0RXZ0OndoZW49IjIwMjAtMDUtMjlUMTU6NDE6MjYrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChNYWNpbnRvc2gpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDozNzMwZmUwYS1hNWEwLTQ3ZjYtYWZkOC0yZTU5ZjQwNDUxYTYiIHN0RXZ0OndoZW49IjIwMjAtMDUtMjlUMTU6NDQ6NTcrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDoxZTMwOWVkYy0xNzVlLTRlNGMtYjJhZS1kM2JmMTBiNDdhMjEiIHN0RXZ0OndoZW49IjIwMjAtMDYtMDFUMDk6NDc6NDkrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjb252ZXJ0ZWQiIHN0RXZ0OnBhcmFtZXRlcnM9ImZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmciLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImRlcml2ZWQiIHN0RXZ0OnBhcmFtZXRlcnM9ImNvbnZlcnRlZCBmcm9tIGFwcGxpY2F0aW9uL3ZuZC5hZG9iZS5waG90b3Nob3AgdG8gaW1hZ2UvcG5nIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo5YTY4NWFkNS04MjU4LTQ3ZjMtOWFlMC1jYzk1MTI0ZDMyMzIiIHN0RXZ0OndoZW49IjIwMjAtMDYtMDFUMDk6NDc6NDkrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxZTMwOWVkYy0xNzVlLTRlNGMtYjJhZS1kM2JmMTBiNDdhMjEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6ZDc4ODIxYjgtNDY3Yi00NmQ4LTgxN2MtNjRkM2Y3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\"\r\n />\r\n <p>{{ msg }}</p>\r\n </div>\r\n </div>\r\n</template>\r\n<script>\r\nexport default {\r\n name: 'noData',\r\n props: {\r\n msg: {\r\n type: String,\r\n default() {\r\n return '暂无数据'\r\n }\r\n }\r\n }\r\n}\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.noData {\r\n height: 100%;\r\n text-align: center;\r\n position: relative;\r\n .noData-pic {\r\n position: absolute;\r\n left: 50%;\r\n top: 50%;\r\n transform: translate(-50%, -50%);\r\n img {\r\n margin-bottom: 10px;\r\n }\r\n }\r\n p {\r\n margin: 0;\r\n padding: 0;\r\n line-height: 100%;\r\n }\r\n}\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./noData.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./noData.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./noData.vue?vue&type=template&id=bf708e56&scoped=true&\"\nimport script from \"./noData.vue?vue&type=script&lang=js&\"\nexport * from \"./noData.vue?vue&type=script&lang=js&\"\nimport style0 from \"./noData.vue?vue&type=style&index=0&id=bf708e56&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"bf708e56\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"dragSet\",staticClass:\"dragSetting\"},[_c('el-popover',{attrs:{\"trigger\":\"click\"},model:{value:(_vm.dragVisible),callback:function ($$v) {_vm.dragVisible=$$v},expression:\"dragVisible\"}},[_c('div',{staticClass:\"content\",staticStyle:{\"height\":\"300px\",\"overflow\":\"auto\"}},[_c('draggable',{staticStyle:{\"transition\":\"all 0.3s\",\"border-bottom\":\"1px solid #EBEEF5\"},style:({ height: _vm.dragVisible ? 'calc(100% - 50px)' : '0', overflow: 'auto' }),attrs:{\"element\":\"ul\",\"options\":_vm.dragOptions},model:{value:(_vm.list),callback:function ($$v) {_vm.list=$$v},expression:\"list\"}},_vm._l((_vm.list),function(item,index){return _c('div',{key:index,staticClass:\"dragItem\",attrs:{\"domProp\":item.prop}},[_c('el-checkbox',{model:{value:(item.isShow),callback:function ($$v) {_vm.$set(item, \"isShow\", $$v)},expression:\"item.isShow\"}}),_vm._v(\" \"+_vm._s(item.label)+\" \"),_c('i',{staticClass:\"iconfont icon-drag dragIcon\"})],1)}),0),_c('div',{staticClass:\"confirmBtn\",attrs:{\"slot\":\"footer\"},on:{\"click\":_vm.save},slot:\"footer\"},[_vm._v(\"确定\")])],1),_c('i',{staticClass:\"iconfont icon-yewushezhi\",staticStyle:{\"font-size\":\"14px\",\"cursor\":\"pointer\"},attrs:{\"slot\":\"reference\"},slot:\"reference\"})])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div ref=\"dragSet\" class=\"dragSetting\">\r\n <el-popover trigger=\"click\" v-model=\"dragVisible\">\r\n <div class=\"content\" style=\"height:300px;overflow: auto;\">\r\n <draggable\r\n element=\"ul\"\r\n style=\"transition: all 0.3s;border-bottom: 1px solid #EBEEF5;\"\r\n :style=\"{ height: dragVisible ? 'calc(100% - 50px)' : '0', overflow: 'auto' }\"\r\n v-model=\"list\"\r\n :options=\"dragOptions\"\r\n >\r\n <div class=\"dragItem\" v-for=\"(item, index) in list\" :domProp=\"item.prop\" :key=\"index\">\r\n <el-checkbox v-model=\"item.isShow\" />\r\n {{ item.label }}\r\n <!-- <i\r\n class=\"iconfont icon-lock itemIsLock\"\r\n v-if=\"item.isLock\"\r\n @click=\"unLockItems(index)\"\r\n ></i> -->\r\n <!-- <i class=\"iconfont icon-unlock itemLock\" v-else @click=\"lockItems(index)\"></i> -->\r\n <i class=\"iconfont icon-drag dragIcon\"></i>\r\n </div>\r\n </draggable>\r\n <div class=\"confirmBtn\" slot=\"footer\" @click=\"save\">确定</div>\r\n </div>\r\n <i class=\"iconfont icon-yewushezhi\" style=\"font-size: 14px;cursor: pointer;\" slot=\"reference\"></i>\r\n </el-popover>\r\n </div>\r\n</template>\r\n<script>\r\nimport draggable from 'vuedraggable'\r\nexport default {\r\n name: 'SyDragSet',\r\n props: {\r\n // 列\r\n listConf: {\r\n type: Array,\r\n required: true,\r\n default: () => []\r\n },\r\n value: {\r\n type: Boolean,\r\n default: false\r\n },\r\n cusStyle: {}\r\n },\r\n data() {\r\n return {\r\n // vuedrag的配置项\r\n dragOptions: {\r\n animation: 300,\r\n pull: false,\r\n group: { name: 'description', pull: false },\r\n disabled: false,\r\n ghostClass: 'ghost'\r\n },\r\n list: [],\r\n dragVisible: false\r\n }\r\n },\r\n components: {\r\n draggable\r\n },\r\n methods: {\r\n // 列表项目锁定\r\n lockItems(index) {\r\n const arr1 = this.list.slice(0, index + 1)\r\n arr1.forEach(item => {\r\n item.isLock = true\r\n })\r\n this.list.splice(0, index + 1, ...arr1)\r\n },\r\n // 列表项目解锁\r\n unLockItems(index) {\r\n const arr1 = this.list.slice(index, this.list.length)\r\n arr1.forEach(item => {\r\n item.isLock = false\r\n })\r\n this.list.splice(index, this.list.length, ...arr1)\r\n },\r\n save() {\r\n this.dragVisible = false\r\n this.$emit('save', this.list)\r\n }\r\n },\r\n watch: {\r\n listConf: {\r\n handler() {\r\n this.list = JSON.parse(JSON.stringify(this.listConf))\r\n },\r\n immediate: true,\r\n deep: true\r\n }\r\n }\r\n}\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.content {\r\n width: 100%;\r\n box-sizing: border-box;\r\n .dragItem {\r\n width: 100%;\r\n height: 30px;\r\n line-height: 30px;\r\n background: #fff;\r\n padding: 0 10px;\r\n box-sizing: border-box;\r\n cursor: move;\r\n .itemLock {\r\n float: right;\r\n opacity: 0;\r\n cursor: pointer;\r\n transition: opacity 0.1s;\r\n }\r\n .itemIsLock {\r\n cursor: pointer;\r\n float: right;\r\n }\r\n .dragIcon {\r\n float: right;\r\n opacity: 0;\r\n transition: opacity 0.1s;\r\n margin-right: 8px;\r\n }\r\n &:hover {\r\n color: #027aff;\r\n .itemLock {\r\n opacity: 1;\r\n }\r\n .dragIcon {\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n .confirmBtn {\r\n margin: 16px auto 0;\r\n width: 72px;\r\n height: 32px;\r\n line-height: 30px;\r\n text-align: center;\r\n border-radius: 4px;\r\n color: #fff;\r\n background: #027aff;\r\n cursor: pointer;\r\n }\r\n}\r\n\r\n.dragSetting {\r\n position: absolute;\r\n right: 0;\r\n top: 0;\r\n height: 40px;\r\n line-height: 40px;\r\n padding: 0 2px;\r\n background: #f2f5f9;\r\n border: 1px solid #ebeef5;\r\n border-left: 1px solid #d8d8d8;\r\n color: #606266;\r\n z-index: 20;\r\n}\r\nul {\r\n margin: 0;\r\n padding: 0;\r\n border: 0;\r\n line-height: 100%;\r\n}\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dragSet.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dragSet.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./dragSet.vue?vue&type=template&id=198eb7f9&scoped=true&\"\nimport script from \"./dragSet.vue?vue&type=script&lang=js&\"\nexport * from \"./dragSet.vue?vue&type=script&lang=js&\"\nimport style0 from \"./dragSet.vue?vue&type=style&index=0&id=198eb7f9&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"198eb7f9\",\n null\n \n)\n\nexport default component.exports","// 导入组件\r\nimport dragSet from './src/dragSet.vue'\r\n\r\n// 为组件提供 install 安装方法,供按需引入\r\ndragSet.install = function (Vue) {\r\n Vue.component(dragSet.name, dragSet)\r\n}\r\n\r\n// 默认导出组件\r\nexport default dragSet\r\n","class BigDataTable {\r\n constructor(vm, options) {\r\n // 以下为私有变量\r\n this._options = options\r\n this._flag = true\r\n this.$options = {}\r\n this.$vm = vm\r\n\r\n // data\r\n this.$scource_data = []\r\n this.$fill_data = []\r\n this.$fill_data_length = 25\r\n this.$fill_data_height = 0\r\n this.$table_itemHeight = 32\r\n\r\n // 指针\r\n this.$vm_p = {\r\n topspan: '',\r\n bottomspan: '',\r\n filldata: '',\r\n }\r\n\r\n // dom\r\n this.$scroller_ref = null\r\n\r\n // index\r\n this.$scroll_top = 0\r\n this.$span = {\r\n topspan: 0,\r\n bottomspan: 0\r\n }\r\n this.$Nodes = {\r\n topNode: 0,\r\n topUpdataNode: 0,\r\n bottomUpdataNode: 0,\r\n bottomNode: 0,\r\n }\r\n this.$view_pointer = 0\r\n this.$cache_pointer = 0\r\n this.init()\r\n }\r\n\r\n init() {\r\n const options = this._options\r\n const _this = this\r\n this.$options = options\r\n this.$scource_data = this.$vm[this.$options.data]\r\n this.$scroller_ref = this.$options.scrollerRef\r\n this.$vm_p.topspan = options.top_span\r\n this.$vm_p.bottomspan = options.bottom_span\r\n this.$vm_p.filldata = options.fill_data\r\n if (options.filldata_length) this.$fill_data_length = options.filldata_length\r\n if (options.table_itemHeight) this.$table_itemHeight = options.table_itemHeight\r\n\r\n const handler = this.scrollerHandler.bind(_this)\r\n this.$scroller_ref && this.on('scroll', this.$scroller_ref, handler)\r\n this.updataNode('ref')\r\n }\r\n\r\n /* getFillData() {\r\n return this.$fill_data\r\n } */\r\n\r\n scrollerHandler() {\r\n // const _this = this\r\n const scrollTop = this.$scroller_ref.scrollTop\r\n this.$scroll_top = scrollTop\r\n const _pointer = Math.floor(scrollTop / this.$table_itemHeight)\r\n // console.log(this.$view_pointer)\r\n // if(this.$view_pointer != _pointer){\r\n this.$view_pointer = _pointer\r\n window.requestAnimationFrame(this.pointerHandler.bind(this))\r\n // this.pointerHandler()\r\n // }\r\n }\r\n\r\n pointerHandler() {\r\n const Node = this.$Nodes\r\n const pointer = this.$view_pointer\r\n if (pointer < Node.topNode || pointer > Node.bottomNode) {\r\n this.updataNode('ref')\r\n return\r\n }\r\n\r\n if (pointer < Node.topUpdataNode && pointer !== 0) {\r\n this.updataNode('top')\r\n return\r\n }\r\n\r\n if (pointer > Node.bottomUpdataNode && pointer !== this.$scource_data.length) {\r\n this.updataNode('bottom')\r\n return\r\n }\r\n window.requestAnimationFrame(this.pointerHandler.bind(this))\r\n }\r\n\r\n setInfoNode({ topNode, topUpdataNode, bottomUpdataNode, bottomNode }) {\r\n this.$Nodes.topNode = topNode\r\n this.$Nodes.topUpdataNode = topUpdataNode\r\n this.$Nodes.bottomUpdataNode = bottomUpdataNode\r\n this.$Nodes.bottomNode = bottomNode\r\n }\r\n\r\n updataNode(side) {\r\n const pointer = this.$view_pointer\r\n // const cachePointer = this.$cache_pointer\r\n const oldNode = this.$Nodes\r\n const _length = this.$fill_data_length\r\n const totleLength = this.$scource_data.length\r\n const itemHeight = this.$table_itemHeight\r\n let _newNode = {\r\n topNode: 0,\r\n topUpdataNode: 0,\r\n bottomUpdataNode: 0,\r\n bottomNode: 0\r\n }\r\n let span = {\r\n topSpan: 0,\r\n bottomSpan: 0\r\n }\r\n if (side === 'top') {\r\n const _top = oldNode.topNode\r\n _newNode = {\r\n topNode: Math.max(0, _top - _length),\r\n topUpdataNode: Math.max(0, _top),\r\n bottomUpdataNode: Math.min(totleLength, _top + _length * 2),\r\n bottomNode: Math.min(totleLength, _top + _length * 3)\r\n }\r\n } else if (side === 'bottom') {\r\n const _bottom = oldNode.bottomNode\r\n _newNode = {\r\n topNode: Math.max(0, _bottom - _length * 3),\r\n topUpdataNode: Math.max(0, _bottom - _length * 2),\r\n bottomUpdataNode: Math.min(totleLength, _bottom),\r\n bottomNode: Math.min(totleLength, _bottom + _length)\r\n }\r\n } else if (side === 'ref') {\r\n _newNode = {\r\n topNode: Math.max(0, pointer - _length * 2),\r\n topUpdataNode: Math.max(0, pointer - _length),\r\n bottomUpdataNode: Math.min(totleLength, pointer + _length),\r\n bottomNode: Math.min(totleLength, pointer + _length * 2)\r\n }\r\n }\r\n\r\n span = {\r\n topSpan: _newNode.topNode * itemHeight,\r\n bottomSpan: (totleLength - _newNode.bottomNode) * itemHeight\r\n }\r\n this.$cache_pointer = pointer\r\n\r\n this.setInfoNode(_newNode)\r\n\r\n this.getFillData(_newNode)\r\n\r\n this.setSpan(span)\r\n }\r\n\r\n setSpan({ topSpan, bottomSpan }) {\r\n this.$span.topspan = topSpan\r\n this.$span.bottomspan = bottomSpan\r\n this.$vm[this.$vm_p.bottomspan] = bottomSpan\r\n this.$vm[this.$vm_p.topspan] = topSpan\r\n this.$vm.$nextTick(() => {\r\n this.$scroller_ref.scrollTop = this.$cache_pointer * this.$table_itemHeight\r\n })\r\n }\r\n\r\n // api:getFillData获取渲染数据\r\n getFillData(node) {\r\n let _data = []\r\n _data = this.$scource_data.slice(node.topNode, node.bottomNode)\r\n this.$fill_data = _data\r\n this.$vm[this.$vm_p.filldata] = _data\r\n }\r\n\r\n // api:refresh\r\n refresh() {\r\n this.$scource_data = this.$vm[this.$options.data]\r\n this.updataNode('ref')\r\n }\r\n\r\n // util\r\n on(evt, element, fnc) {\r\n return element.addEventListener ? element.addEventListener(evt, fnc, false) : element.attachEvent('on' + evt, fnc);\r\n }\r\n\r\n off(evt, element, fnc) {\r\n return element.removeEventListener ? element.removeEventListener(evt, fnc, false) : element.detachEvent('on' + evt,\r\n fnc);\r\n }\r\n\r\n isArray(arr) {\r\n return Object.prototype.toString.call(arr) === '[object Array]';\r\n }\r\n\r\n getStyle(prop, elem) {\r\n return window.getComputedStyle ? window.getComputedStyle(elem)[prop] : elem.currentStyle[prop];\r\n }\r\n}\r\n\r\nexport default BigDataTable\r\n","<template>\r\n <div class=\"syswin-table\" style=\"position: relative;\" :style=\"{height}\">\r\n <!--筛选下拉-->\r\n <drag-set v-if=\"showDragSet\" :listConf='columnList' @save=\"dragChange\" />\r\n <el-table\r\n border\r\n stripe\r\n class=\"cusTable\"\r\n :row-key=\"rowKey\"\r\n :show-summary=\"showSummary\"\r\n :summary-method=\"getSummaries\"\r\n ref=\"cusTable\"\r\n height='100%'\r\n :indent=\"indent\"\r\n :lazy=\"lazy\"\r\n :load=\"load\"\r\n :tree-props=\"treeProps\"\r\n v-bind=\"attrs\"\r\n :default-expand-all=\"defaultExpandAll\"\r\n :expand-row-keys=\"expandRowKeys\"\r\n @sort-change=\"handleSortChange\"\r\n @selection-change=\"handleSelectionChange\"\r\n @expand-change=\"handleExpandChange\"\r\n @header-dragend=\"handleHeaderDragend\"\r\n >\r\n <slot name=\"start\"></slot>\r\n <el-table-column\r\n v-for=\"(item, index) in columnData\"\r\n :key=\"item.prop + index\"\r\n :prop=\"item.prop\"\r\n :label=\"item.label\"\r\n :width=\"item.width || 'auto'\"\r\n :min-width=\"item.minWidth\"\r\n :fixed=\"item.fixed\"\r\n :align=\"item.align\"\r\n :sortable=\"item.sortable\"\r\n :show-overflow-tooltip=\"item.tooltip\"\r\n :resizable=\"item.resizable\"\r\n :header-align=\"item.headerAlign\"\r\n >\r\n <template #header>\r\n <template v-if=\"!item.slotHeader\">\r\n <span v-if=\"!item.filterType\">{{item.label}}</span>\r\n <span v-else>\r\n {{item.label}}\r\n <!-- 多选 -->\r\n <el-popover\r\n v-if=\"item.filterType === 'multiple'\"\r\n placement=\"bottom\"\r\n :ref=\"`${item.prop}`\"\r\n v-model=\"item.visible\"\r\n trigger=\"click\"\r\n width=\"160\">\r\n <div style=\"max-height:300px;overflow: auto;\">\r\n <el-checkbox-group v-model=\"item.value\">\r\n <div class=\"filterItem\" v-for=\"(x, index) in item.filters || []\" :key=\"index\" :title=\"x.label\">\r\n <el-checkbox :label=\"x.value\">{{x.label}}</el-checkbox>\r\n </div>\r\n </el-checkbox-group>\r\n </div>\r\n <div style=\"text-align: center;margin-top:10px\">\r\n <el-button type=\"primary\" size=\"mini\" @click=\"item.visible = false;handleSearch(item)\">确定</el-button>\r\n <el-button size=\"mini\" @click=\"item.visible = false; reset(item)\">重置</el-button>\r\n </div>\r\n <i class=\"iconfont icon-filter-fill filter-icon\" slot=\"reference\" :class=\"{'selected-color': item.value && item.value.length}\" @click.stop=\"\"></i>\r\n </el-popover>\r\n <!-- 日期选择 -->\r\n <el-popover\r\n v-else-if=\"item.filterType === 'daterange'\"\r\n placement=\"bottom\"\r\n :ref=\"`${item.prop}`\"\r\n v-model=\"item.visible\"\r\n trigger=\"click\"\r\n width=\"360\">\r\n <el-date-picker\r\n v-model=\"item.value\"\r\n type=\"daterange\"\r\n size=\"small\"\r\n range-separator=\"至\"\r\n start-placeholder=\"开始日期\"\r\n end-placeholder=\"结束日期\">\r\n </el-date-picker>\r\n <div style=\"text-align: center;margin-top:10px\">\r\n <el-button type=\"primary\" size=\"mini\" @click=\"item.visible = false;handleSearch(item)\">确定</el-button>\r\n <el-button size=\"mini\" @click=\"item.visible = false; reset(item)\">重置</el-button>\r\n </div>\r\n <i class=\"iconfont icon-filter-fill filter-icon\" slot=\"reference\" :class=\"{'selected-color': item.value && item.value.length}\" @click.stop=\"\"></i>\r\n </el-popover>\r\n <!-- 月份选择 -->\r\n <el-popover\r\n v-else-if=\"item.filterType === 'monthrange'\"\r\n placement=\"bottom\"\r\n :ref=\"`${item.prop}`\"\r\n v-model=\"item.visible\"\r\n trigger=\"click\"\r\n width=\"300\">\r\n <el-date-picker\r\n v-model=\"item.value\"\r\n type=\"monthrange\"\r\n size=\"small\"\r\n range-separator=\"至\"\r\n start-placeholder=\"开始月份\"\r\n end-placeholder=\"结束月份\">\r\n </el-date-picker>\r\n <div style=\"text-align: center;margin-top:10px\">\r\n <el-button type=\"primary\" size=\"mini\" @click=\"item.visible = false;handleSearch(item)\">确定</el-button>\r\n <el-button size=\"mini\" @click=\"item.visible = false; reset(item)\">重置</el-button>\r\n </div>\r\n <i class=\"iconfont icon-filter-fill filter-icon\" slot=\"reference\" :class=\"{'selected-color': item.value && item.value.length}\" @click.stop=\"\"></i>\r\n </el-popover>\r\n <!-- 输入框 -->\r\n <el-popover\r\n v-else-if=\"item.filterType === 'text'\"\r\n placement=\"bottom\"\r\n :ref=\"`${item.prop}`\"\r\n v-model=\"item.visible\"\r\n trigger=\"click\"\r\n width=\"160\">\r\n <el-input v-model=\"item.value\" clearable size=\"small\"></el-input>\r\n <div style=\"text-align: center;margin-top:10px\">\r\n <el-button type=\"primary\" size=\"mini\" @click=\"item.visible = false;handleSearch(item)\">确定</el-button>\r\n <el-button size=\"mini\" @click=\"item.visible = false; reset(item)\">重置</el-button>\r\n </div>\r\n <i class=\"iconfont icon-filter-fill filter-icon\" slot=\"reference\" :class=\"{'selected-color': item.value}\" @click.stop=\"\"></i>\r\n </el-popover>\r\n <!-- 单选 -->\r\n <el-popover\r\n v-else-if=\"item.filterType === 'single'\"\r\n placement=\"bottom\"\r\n :ref=\"`${item.prop}`\"\r\n v-model=\"item.visible\"\r\n trigger=\"click\"\r\n width=\"160\">\r\n <div style=\"max-height:300px;overflow: auto;\">\r\n <el-radio-group v-model=\"item.value\">\r\n <div class=\"filterItem\" v-for=\"(x, index) in item.filters || []\" :key=\"index\" :title=\"x.label\">\r\n <el-radio :label=\"x.value\">{{x.label}}</el-radio>\r\n </div>\r\n </el-radio-group>\r\n </div>\r\n <div style=\"text-align: center;margin-top:10px\">\r\n <el-button type=\"primary\" size=\"mini\" @click=\"item.visible = false;handleSearch(item)\">确定</el-button>\r\n <el-button size=\"mini\" @click=\"item.visible = false; reset(item)\">重置</el-button>\r\n </div>\r\n <i class=\"iconfont icon-filter-fill filter-icon\" slot=\"reference\" :class=\"{'selected-color': item.value || item.value === 0}\" @click.stop=\"\"></i>\r\n </el-popover>\r\n </span>\r\n </template>\r\n <!-- 自定义表头 -->\r\n <slot v-else :name=\"item.slotHeader\"></slot>\r\n </template>\r\n <template slot-scope=\"scope\" >\r\n <span v-if=\"!item.slotCell\" :style=\"item.style\" @click=\"handleColumnClick(scope.row, item)\">\r\n {{transContent(scope.row, item.prop) || '-'}}\r\n </span>\r\n <!--自定义表格内容-->\r\n <slot v-else :name=\"item.slotCell\" :row=\"scope.row\" :index=\"scope.$index\"></slot>\r\n </template>\r\n </el-table-column>\r\n <!-- 自定义表尾列 -->\r\n <slot name=\"end\"></slot>\r\n <div slot=\"empty\" class=\"empty\" style=\"margin-top:22px;\">\r\n <noData></noData>\r\n </div>\r\n </el-table>\r\n <div class=\"sum\" v-if=\"customSum\">\r\n <slot name=\"customSum\"></slot>\r\n </div>\r\n <el-dropdown class=\"sum\" @command=\"changeSumType\" v-if=\"showSummary && data.length && !customSum\">\r\n <span class=\"el-dropdown-link\">\r\n {{totalText[sumType]}}<i class=\"el-icon-arrow-down el-icon--right\"></i>\r\n </span>\r\n <el-dropdown-menu slot=\"dropdown\">\r\n <el-dropdown-item v-if=\"showPageSum\" :command=\"0\">分页合计</el-dropdown-item>\r\n <el-dropdown-item v-if=\"showChoiseSum\" :command=\"1\">选中合计</el-dropdown-item>\r\n <el-dropdown-item :command=\"2\">全部合计</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </el-dropdown>\r\n </div>\r\n</template>\r\n<script>\r\nimport noData from './noData';\r\nimport dragSet from '../../drag-set';\r\nimport BigDataTable from './BigDataTable.js'\r\nexport default {\r\n name: 'SyTable',\r\n props: {\r\n // 列表数据\r\n data: {\r\n type: Array,\r\n required: true,\r\n default: () => []\r\n },\r\n // 列表列\r\n columns: {\r\n type: Array,\r\n default: () => []\r\n },\r\n // 列表高度\r\n height: {},\r\n // 列表内容转换的方法\r\n transContent: {\r\n type: Function,\r\n required: true,\r\n default: () => {}\r\n },\r\n // 是否显示合计功能\r\n showSummary: {\r\n type: Boolean,\r\n default: () => false\r\n },\r\n // 是否显示选中合计: 默认不显示\r\n showChoiseSum: {\r\n type: Boolean,\r\n default: () => false\r\n },\r\n // 是否显示当前页合计: 默认显示\r\n showPageSum: {\r\n type: Boolean,\r\n default: () => true\r\n },\r\n // 自定义合计样式\r\n customSum: {\r\n type: Boolean,\r\n default: () => false\r\n },\r\n // 行数据的 Key,用来优化 Table 的渲染;在使用 reserve-selection 功能与显示树形数据时,该属性是必填的。\r\n rowKey: {\r\n type: String,\r\n default: () => ''\r\n },\r\n // 展示树形数据时,树节点的缩进\r\n indent: {\r\n type: Number,\r\n default: () => 16\r\n },\r\n // 是否懒加载子节点数据\r\n lazy: {\r\n type: Boolean,\r\n default: () => false\r\n },\r\n // 加载子节点数据的函数,lazy 为 true 时生效,函数第二个参数包含了节点的层级信息\r\n load: {\r\n type: Function,\r\n default: () => {}\r\n },\r\n // 渲染嵌套数据的配置选项\r\n treeProps: {\r\n type: Object,\r\n default: () => { return { hasChildren: 'hasChildren', children: 'children' }; }\r\n },\r\n // 是否默认展开所有行,当 Table 包含展开行存在或者为树形表格时有效\r\n defaultExpandAll: {\r\n type: Boolean,\r\n default: () => false\r\n },\r\n // 可以通过该属性设置 Table 目前的展开行,需要设置 row-key 属性才能使用,该属性为展开行的 keys 数组。\r\n expandRowKeys: {\r\n type: Array,\r\n default: () => undefined\r\n },\r\n // 是否显示表格右上角设置功能,默认true\r\n showDragSet: {\r\n type: Boolean,\r\n default: () => true\r\n },\r\n // 合计信息\r\n sumInfo: {\r\n type: Object,\r\n default: () => {}\r\n },\r\n // 功能模块key唯一\r\n nameKey: {\r\n type: String,\r\n default: () => ''\r\n },\r\n // 合计功能保留小数位\r\n decimalNum: {\r\n type: Number,\r\n default: () => 2\r\n },\r\n virtual: Boolean\r\n },\r\n data () {\r\n return {\r\n totalText: {\r\n 0: '分页合计',\r\n 1: '选中合计',\r\n 2: '全部合计'\r\n },\r\n columnList: [], // 表格列数据\r\n sumType: 2, // 合计类型 0:分页合计;1选中合计;2全部合计\r\n selection: [], // 当前选中表格数据\r\n fillData: [],\r\n };\r\n },\r\n components: {\r\n noData,\r\n dragSet\r\n },\r\n computed: {\r\n // 表格列数据\r\n columnData () {\r\n return this.columnList.filter((item) => item.isShow);\r\n },\r\n table () {\r\n return this.$refs.cusTable;\r\n },\r\n attrs() {\r\n if (this.virtual) {\r\n return {\r\n data: this.fillData,\r\n 'row-style': this.fillrow\r\n }\r\n } else {\r\n return {\r\n data: this.data,\r\n }\r\n }\r\n }\r\n },\r\n watch: {\r\n data: {\r\n handler(data) {\r\n if (this.virtual) {\r\n this.reload()\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n created() {\r\n this.getColumnsData(); // 获取表格列数据\r\n },\r\n mounted () {\r\n for (const item of this.columnList) {\r\n this.$set(item, 'visible', false);\r\n if (['multiple', 'daterange', 'monthrange'].indexOf(item.filterType) > -1) {\r\n this.$set(item, 'value', []);\r\n } else if (['text', 'single'].indexOf(item.filterType) > -1) {\r\n this.$set(item, 'value', '');\r\n }\r\n }\r\n },\r\n updated () {\r\n this.doLayout();\r\n },\r\n methods: {\r\n fillrow({\r\n row,\r\n rowIndex\r\n }) {\r\n if (rowIndex === 0) {\r\n return {\r\n height: this.topSpan + 'px'\r\n }\r\n }\r\n if (rowIndex === this.fillData.length - 1) {\r\n return {\r\n height: this.bottomSpan + 'px'\r\n }\r\n }\r\n },\r\n reload() {\r\n this.$nextTick(() => {\r\n console.log(this.$refs.cusTable, 353)\r\n if (!this.$refs.cusTable) return\r\n const ref = this.$refs.cusTable.$refs.bodyWrapper\r\n if (!this.tableControl) {\r\n this.initBigDataTable(ref)\r\n } else {\r\n this.tableControl.refresh()\r\n }\r\n })\r\n },\r\n // 初始化大数据表\r\n initBigDataTable(ref) {\r\n const options = {\r\n scrollerRef: ref,\r\n data: 'data', // length:50000\r\n fill_data: 'fillData',\r\n top_span: 'topSpan',\r\n bottom_span: 'bottomSpan',\r\n filldata_length: 33,\r\n table_item_height: 32\r\n }\r\n this.tableControl = new BigDataTable(this, options)\r\n console.log(this.fillData, 375)\r\n },\r\n // 获取表格列数据\r\n getColumnsData () {\r\n if (this.nameKey) {\r\n const list = localStorage.getItem(`vsyswin_${this.nameKey}`);\r\n if (list) {\r\n this.columnList = JSON.parse(list);\r\n } else {\r\n this.columnList = this.columns;\r\n }\r\n } else {\r\n this.columnList = this.columns;\r\n }\r\n },\r\n // 列表头宽度拉伸\r\n handleHeaderDragend (newWidth, oldWidth, column, event) {\r\n if (this.nameKey) {\r\n for (const item of this.columnList) {\r\n if (item.label === column.label && item.prop === column.property) {\r\n this.$set(item, 'width', newWidth);\r\n }\r\n }\r\n localStorage.setItem(`vsyswin_${this.nameKey}`, JSON.stringify(this.columnList));\r\n } else {\r\n this.$emit('header-dragend', newWidth, oldWidth, column, event);\r\n }\r\n },\r\n // 点击表格内容\r\n handleColumnClick (row, column) {\r\n this.$emit('cell-click', row, column);\r\n },\r\n // 列表排序 value, row, column\r\n handleSortChange (params) {\r\n this.$emit('sort-change', params);\r\n },\r\n // 表格勾选事件\r\n handleSelectionChange (selection) {\r\n this.selection = selection;\r\n this.$emit('selection-change', selection);\r\n },\r\n // 表格行展开事件\r\n handleExpandChange (row, value) {\r\n this.$emit('expand-change', row, value);\r\n },\r\n // 合计类型转换\r\n changeSumType (type) {\r\n this.sumType = type;\r\n },\r\n doLayout () {\r\n this.$refs.cusTable.doLayout();\r\n },\r\n // 列表控制列表点击确定\r\n dragChange (list) {\r\n if (this.nameKey) {\r\n this.columnList = list;\r\n localStorage.setItem(`vsyswin_${this.nameKey}`, JSON.stringify(this.columnList));\r\n } else {\r\n this.$emit('drag-change', list);\r\n }\r\n },\r\n // 表头过滤筛选\r\n handleSearch (column) {\r\n this.$emit('filter-change', column);\r\n },\r\n // 表头过滤条件重置\r\n reset (column) {\r\n if (['multiple', 'daterange', 'monthrange'].indexOf(column.filterType) > -1) {\r\n column.value = [];\r\n } else if (['text', 'single'].indexOf(column.filterType) > -1) {\r\n column.value = '';\r\n }\r\n this.$emit('filter-change', column);\r\n },\r\n // 清空用户的选择,用于多选表格\r\n clearSelection () {\r\n this.$refs.cusTable.clearSelection();\r\n },\r\n // 用于多选表格,切换某一行的选中状态,如果使用了第二个参数,则是设置这一行选中与否(selected 为 true 则选中)\r\n toggleRowSelection (row, selected) {\r\n this.$refs.cusTable.toggleRowSelection(row, selected);\r\n },\r\n // 用于多选表格,切换所有行的选中状态\r\n toggleAllSelection () {\r\n this.$refs.cusTable.toggleAllSelection();\r\n },\r\n // 用于可展开表格与树形表格,切换某一行的展开状态,如果使用了第二个参数,则是设置这一行展开与否(expanded 为 true 则展开)\r\n toggleRowExpansion (row, expanded) {\r\n this.$refs.cusTable.toggleRowExpansion(row, expanded);\r\n },\r\n // 用于清空排序条件,数据会恢复成未排序的状态\r\n clearSort () {\r\n this.$refs.cusTable.clearSort();\r\n },\r\n // 自定义合计方法\r\n getSummaries ({ columns, data }) {\r\n this.$nextTick(() => {\r\n this.doLayout();\r\n });\r\n const sums = [];\r\n columns.forEach((column, index) => {\r\n let values = data.map(item => Number(item[column.property]));\r\n if (this.sumType === 1) { // 当为选中合计时\r\n values = this.selection.map(item => Number(item[column.property]));\r\n }\r\n // 判断当前列是否需要进行合计\r\n if (this.sumInfo[column.property] || this.sumInfo[column.property] === 0) {\r\n if (this.sumType === 2) { // 当为全部合计时;使用传入的合计值\r\n sums[index] = this.sumInfo[column.property];\r\n } else {\r\n sums[index] = values.reduce((prev, curr) => {\r\n const value = Number(curr);\r\n if (!isNaN(value)) {\r\n return prev + curr;\r\n } else {\r\n return prev;\r\n }\r\n }, 0);\r\n }\r\n sums[index] = (+sums[index]).toFixed(this.decimalNum);\r\n } else {\r\n sums[index] = '';\r\n }\r\n });\r\n return sums;\r\n }\r\n },\r\n};\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n .sum {\r\n position: absolute;\r\n margin-left: 10px;\r\n // width: 82px;\r\n font-size: 12px;\r\n height: 36px;\r\n line-height: 36px;\r\n text-align: center;\r\n background: #F5F7FA;\r\n left: 1px;\r\n bottom: 1px;\r\n z-index: 4;\r\n }\r\n .filterItem {\r\n width: 100%;\r\n height: 30px;\r\n line-height: 30px;\r\n background: #fff;\r\n padding: 0 10px;\r\n box-sizing: border-box;\r\n }\r\n .filter-icon {\r\n margin-top: 1px;\r\n float: right;\r\n font-size: 9px !important;\r\n cursor: pointer;\r\n color: rgba(0, 0, 0, .5);\r\n }\r\n .selected-color {\r\n color: #027AFF;\r\n }\r\n .el-button--primary {\r\n background-color: #027AFF;\r\n border-color: #027AFF;\r\n }\r\n // .el-button:hover {\r\n // background: #027aff !important;\r\n // color: #fff !important;\r\n // border: 1px solid #027aff !important;\r\n // }\r\n</style>\r\n<style lang=\"scss\">\r\n.el-checkbox__input.is-checked .el-checkbox__inner, .el-checkbox__input.is-indeterminate .el-checkbox__inner {\r\n background-color: #027AFF;\r\n border-color: #027AFF;\r\n}\r\n.el-radio__input.is-checked .el-radio__inner {\r\n border-color: #027AFF;\r\n background: #027AFF;\r\n}\r\n// .el-input__inner {\r\n// height: 32px !important;\r\n// line-height: 32px !important;\r\n// border-radius: 2px !important;\r\n// box-sizing: border-box !important;\r\n// border-color: #D9D9D9 !important;\r\n// }\r\n\r\n.el-input__inner:hover {\r\n border-color: #D0D3D6!important;\r\n}\r\n\r\n.el-input.is-active .el-input__inner, .el-input__inner:focus {\r\n border-color: #4A8DF0!important;\r\n}\r\n.el-button--primary.is-plain {\r\n height: 20px!important;\r\n line-height: 18px!important;\r\n padding: 0 9px!important;\r\n background: none!important;\r\n border: 1px solid #4A8DF0!important;\r\n color: #4A8DF0!important;\r\n font-size: 12px;\r\n}\r\n\r\n.el-button--primary.is-plain:focus, .el-button--primary.is-plain:hover {\r\n background: #4184E7!important;\r\n color: #fff!important;\r\n}\r\n\r\n.el-button--primary.is-plain:active {\r\n background: #3070CF!important;\r\n color: #fff!important;\r\n}\r\n\r\n.syswin-table {\r\n table {\r\n border-collapse: collapse;\r\n border-spacing: 0;\r\n }\r\n .el-table__empty-block {\r\n position: absolute!important;\r\n height: calc(100% - 60px)!important;\r\n }\r\n\r\n // .el-table::before {\r\n // background: none!important;\r\n // }\r\n\r\n .el-table table {\r\n width: 100% !important;\r\n }\r\n\r\n .el-table__empty-block {\r\n width: 100% !important;\r\n }\r\n\r\n .el-table th {\r\n background: #F2F5F9 !important;\r\n padding: 3px 0!important;\r\n }\r\n\r\n .el-table td, .el-table th.is-leaf {\r\n border-right: 1px solid #D8D8D8;\r\n }\r\n\r\n .el-table th:first-child {\r\n padding: 0 !important;\r\n box-sizing: border-box;\r\n }\r\n\r\n .el-table th .cell {\r\n height: 34px !important;\r\n line-height: 34px !important;\r\n padding: 0 10px !important;\r\n box-sizing: border-box;\r\n min-width: 50px;\r\n overflow: hidden;\r\n text-overflow: clip;\r\n white-space: nowrap;\r\n }\r\n\r\n .el-table__footer .cell {\r\n padding: 0 10px !important;\r\n box-sizing: border-box;\r\n min-width: 50px;\r\n overflow: hidden;\r\n text-overflow: clip;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n }\r\n\r\n .el-table th:first-child .cell {\r\n padding: 0 10px !important;\r\n box-sizing: border-box;\r\n }\r\n\r\n .el-table td {\r\n padding: 7px 0!important;\r\n }\r\n\r\n .el-table tbody td {\r\n border-right: none;\r\n }\r\n\r\n .el-table tbody .hover-row>td {\r\n background: #DCE8F9 !important;\r\n }\r\n\r\n .el-table td:first-child {\r\n padding: 0 !important;\r\n box-sizing: border-box;\r\n }\r\n\r\n .el-table td:first-child .cell {\r\n padding: 0 10px !important;\r\n box-sizing: border-box;\r\n }\r\n\r\n .el-table th>.cell {\r\n font-size: 14px !important;\r\n font-weight: bold !important;\r\n color: rgba(0, 0, 0, 0.65) !important;\r\n }\r\n .el-table .sort-caret.ascending {\r\n border-bottom-color: rgba(0, 0, 0, .5) !important;\r\n }\r\n\r\n .el-table .sort-caret.descending {\r\n border-top-color: rgba(0, 0, 0, .5) !important;\r\n }\r\n\r\n .el-table .ascending .sort-caret.ascending {\r\n border-bottom-color: #027AFF !important;\r\n }\r\n\r\n .el-table .descending .sort-caret.descending {\r\n border-top-color: #027AFF !important;\r\n }\r\n\r\n .el-table__fixed-right::before, .el-table__fixed::before {\r\n height: 0;\r\n }\r\n}\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./table.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./table.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./table.vue?vue&type=template&id=37a13262&scoped=true&\"\nimport script from \"./table.vue?vue&type=script&lang=js&\"\nexport * from \"./table.vue?vue&type=script&lang=js&\"\nimport style0 from \"./table.vue?vue&type=style&index=0&id=37a13262&lang=scss&scoped=true&\"\nimport style1 from \"./table.vue?vue&type=style&index=1&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"37a13262\",\n null\n \n)\n\nexport default component.exports","// 导入组件\r\nimport table from './src/table.vue'\r\n\r\n// 为组件提供 install 安装方法,供按需引入\r\ntable.install = function (Vue) {\r\n Vue.component(table.name, table)\r\n}\r\n\r\n// 默认导出组件\r\nexport default table\r\n","var render, staticRenderFns\nimport script from \"./button-container.vue?vue&type=script&lang=js&\"\nexport * from \"./button-container.vue?vue&type=script&lang=js&\"\nimport style0 from \"./button-container.vue?vue&type=style&index=0&id=7dfeed5e&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7dfeed5e\",\n null\n \n)\n\nexport default component.exports","var render, staticRenderFns\nimport script from \"./button-item.vue?vue&type=script&lang=js&\"\nexport * from \"./button-item.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1f265b82\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"sy-btn-ellipsis\"},[_vm._t(\"default\"),_c('button-container',{attrs:{\"buttons\":_vm.buttons}})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<script>\r\nexport default {\r\n name: 'SyButtonContainer',\r\n props: {\r\n buttons: {\r\n type: Array,\r\n default: () => []\r\n }\r\n },\r\n computed: {\r\n trigger() {\r\n return this.$parent.trigger\r\n },\r\n num() {\r\n return this.$parent.num\r\n }\r\n },\r\n render(h) {\r\n let contents = []\r\n if (this.buttons.length <= this.num) {\r\n contents = this.buttons.map((btn) => {\r\n return btn.$slots.default\r\n })\r\n } else {\r\n const idx = this.num - 1\r\n const preBtns = this.buttons.slice(0, idx).map((btn) => btn.$slots.default)\r\n const moreBtns = this.buttons.slice(idx).map((btn) => {\r\n const slotDefault = btn.$slots.default\r\n const elBtn = slotDefault[0].componentOptions.children[0]\r\n const listenersFn = slotDefault[0].componentOptions.listeners.click\r\n const icon = slotDefault[0].componentOptions.propsData.icon || ''\r\n const text = elBtn.text\r\n return h(\r\n 'el-dropdown-item',\r\n {\r\n props: { icon },\r\n nativeOn: {\r\n click: listenersFn\r\n }\r\n },\r\n [text]\r\n )\r\n })\r\n const moreDiv = h('div', { class: 'sy-button-dots' }, [h('i', { class: 'el-icon-more' })])\r\n const dropDown = h(\r\n 'el-dropdown',\r\n {\r\n props: { trigger: this.trigger, size: 'medium', placement: 'bottom-end' }\r\n },\r\n [moreDiv, h('el-dropdown-menu', { slot: 'dropdown' }, moreBtns)]\r\n )\r\n contents = [...preBtns, dropDown]\r\n }\r\n\r\n return h(\r\n 'div',\r\n {\r\n class: 'sy-buttons'\r\n },\r\n contents\r\n )\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.sy-button-dots {\r\n width: 18px;\r\n height: 18px;\r\n cursor: pointer;\r\n}\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./button-container.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./button-container.vue?vue&type=script&lang=js&\"","<template>\r\n <div class=\"sy-btn-ellipsis\">\r\n <slot></slot>\r\n <button-container :buttons=\"buttons\"></button-container>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n import buttonContainer from './button-container.vue'\r\n export default {\r\n name: 'SyButtonList',\r\n components: { buttonContainer },\r\n props: {\r\n // 触发下拉框的方式\r\n trigger: {\r\n type: String,\r\n default: 'hover',\r\n validator: (value) => ['hover', 'click'].includes(value)\r\n },\r\n // 最多显示多少数量的按钮,超过此数量是显示下拉菜单\r\n num: {\r\n type: Number,\r\n default: 3\r\n }\r\n },\r\n data() {\r\n return {\r\n buttons: []\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./button-list.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./button-list.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./button-list.vue?vue&type=template&id=03cdd756&scoped=true&\"\nimport script from \"./button-list.vue?vue&type=script&lang=js&\"\nexport * from \"./button-list.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"03cdd756\",\n null\n \n)\n\nexport default component.exports","<script>\r\n export default {\r\n name: 'SyButtonItem',\r\n mounted() {\r\n this.$parent.buttons.push(this)\r\n },\r\n render(h) {\r\n return h('div', { style: { display: 'none' } })\r\n }\r\n }\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./button-item.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./button-item.vue?vue&type=script&lang=js&\"","\r\nimport buttonList from './src/button-list.vue'\r\nimport buttonItem from './src/button-item.vue'\r\n\r\n// 为组件提供 install 安装方法,供按需引入\r\nbuttonList.install = function (Vue) {\r\n Vue.component(buttonList.name, buttonList)\r\n}\r\nbuttonItem.install = function (Vue) {\r\n Vue.component(buttonItem.name, buttonItem)\r\n}\r\n\r\n// 默认导出组件\r\nexport default { buttonList, buttonItem }\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-tabs',{staticClass:\"syswin-top-tabs\",on:{\"tab-click\":_vm.handleClick},model:{value:(_vm.activeName),callback:function ($$v) {_vm.activeName=$$v},expression:\"activeName\"}},_vm._l((_vm.tabs),function(item){return _c('el-tab-pane',{key:item.name,attrs:{\"label\":item.label,\"name\":item.name}})}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <el-tabs class=\"syswin-top-tabs\" v-model=\"activeName\" @tab-click=\"handleClick\">\r\n <el-tab-pane v-for=\"item in tabs\" :key=\"item.name\" :label=\"item.label\" :name=\"item.name\"></el-tab-pane>\r\n </el-tabs>\r\n</template>\r\n<script>\r\nexport default {\r\n name: 'SyTopTabs',\r\n props: {\r\n value: {\r\n type: [Number, String],\r\n default: ''\r\n },\r\n props: {\r\n type: Object,\r\n default() {\r\n return {}\r\n }\r\n },\r\n data: {\r\n type: Array,\r\n default() {\r\n return []\r\n }\r\n }\r\n },\r\n data() {\r\n return {\r\n activeName: ''\r\n }\r\n },\r\n computed: {\r\n defaultProps() {\r\n return Object.assign({\r\n label: 'label',\r\n name: 'name'\r\n }, this.props)\r\n },\r\n tabs() {\r\n const { name, label } = this.defaultProps\r\n return this.data.map(item => {\r\n return {\r\n name: item[name],\r\n label: item[label]\r\n }\r\n })\r\n }\r\n },\r\n watch: {\r\n value(name) {\r\n this.updateValue(name)\r\n }\r\n },\r\n created() {\r\n this.updateValue(this.value)\r\n },\r\n methods: {\r\n updateValue(name) {\r\n if (name !== this.activeName) {\r\n const tab = this.data.find(it => it.name === name)\r\n if (tab) {\r\n this.click(tab)\r\n }\r\n }\r\n },\r\n handleClick(tab) {\r\n const { name } = this.defaultProps\r\n const item = this.data.find(it => it[name] === tab.name)\r\n this.click(item)\r\n },\r\n click(tab) {\r\n this.activeName = tab.name\r\n this.$emit('input', tab.name)\r\n this.$emit('tab-click', tab)\r\n }\r\n }\r\n}\r\n</script>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./top-tabs.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./top-tabs.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./top-tabs.vue?vue&type=template&id=a405a5a2&\"\nimport script from \"./top-tabs.vue?vue&type=script&lang=js&\"\nexport * from \"./top-tabs.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// 导入组件\r\nimport topTabs from './src/top-tabs.vue'\r\n\r\n// 为组件提供 install 安装方法,供按需引入\r\ntopTabs.install = function (Vue) {\r\n Vue.component(topTabs.name, topTabs)\r\n}\r\n\r\n// 默认导出组件\r\nexport default topTabs\r\n","import './styles/common-old.scss'\r\nimport './styles/common.scss'\r\nimport './styles/iconfont/iconfont.css'\r\n\r\nimport layout from './layout' // 布局组件\r\nimport searchTree from './search-tree' // 树搜索组件\r\nimport selectProject from './select-project' // 项目选择组件\r\nimport selectTree from './select-tree' // 表单树选择器\r\nimport SearchBar from './search-bar' // 搜索工具栏\r\nimport simpleSearchBar from './simple-search-bar' // 简单搜索栏组件\r\nimport inputMore from './input-more' // 简单搜索栏组件\r\nimport paging from './paging'\r\nimport newSearchBar from './newSearchBar' // 高级筛选\r\nimport table from './table' // 表格组件\r\nimport dragSet from './drag-set'\r\nimport buttonEllipsis from './button-ellipsis'\r\nimport topTabs from './top-tabs'\r\nexport { default as Progress } from './progress';\r\nconst { buttonList, buttonItem } = buttonEllipsis\r\n\r\n// 存储组件列表\r\nconst components = [layout, searchTree, selectProject, selectTree, buttonItem, buttonList, SearchBar, simpleSearchBar, inputMore, paging, newSearchBar, table, dragSet, topTabs]\r\n\r\n// 定义 install 方法,接收 Vue 作为参数。如果使用 use 注册插件,则所有的组件都将被注册\r\nconst install = function (Vue) {\r\n // 判断是否可以安装\r\n if (install.installed) return\r\n // 遍历注册全局组件\r\n components.map((component) => Vue.component(component.name, component))\r\n}\r\n\r\n// 判断是否是直接引入文件\r\nif (typeof window !== 'undefined' && window.Vue) {\r\n install(window.Vue)\r\n}\r\n\r\nexport default {\r\n // 导出的对象必须具有 install,才能被 Vue.use() 方法安装\r\n install,\r\n // 以下是具体的组件列表\r\n layout,\r\n searchTree,\r\n selectProject,\r\n selectTree,\r\n buttonItem,\r\n buttonList,\r\n SearchBar,\r\n simpleSearchBar,\r\n inputMore,\r\n paging,\r\n newSearchBar,\r\n table,\r\n topTabs,\r\n dragSet\r\n}\r\n","import Vue from 'vue'\r\nimport './normalize.scss'\r\nimport ElementUI from 'element-ui'\r\nimport 'element-ui/lib/theme-chalk/index.css'\r\nimport App from './App.vue'\r\nimport router from './router'\r\n// 导入组件库\r\nimport vSyswinUI from '../packages/index'\r\n\r\nVue.use(ElementUI)\r\n\r\n// 注册组件库\r\nVue.use(vSyswinUI)\r\n\r\nVue.config.productionTip = false\r\n\r\nnew Vue({\r\n router,\r\n render: h => h(App)\r\n}).$mount('#app')\r\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./button-container.vue?vue&type=style&index=0&id=7dfeed5e&lang=scss&scoped=true&\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"1069c566\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-3-1!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-3-2!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-3-3!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-3-4!./normalize.scss\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"54bb7b28\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","export * from \"-!../../../node_modules/vue-style-loader/index.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./table.vue?vue&type=style&index=0&id=37a13262&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/vue-style-loader/index.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./input-more.vue?vue&type=style&index=0&id=3d5df6b4&lang=scss&scoped=true&\"","export * from \"-!../node_modules/vue-style-loader/index.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App2.vue?vue&type=style&index=0&id=c9d515ce&lang=scss&scoped=true&\"","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./table.vue?vue&type=style&index=1&lang=scss&\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"1ac63102\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","export * from \"-!../../../node_modules/vue-style-loader/index.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select-project.vue?vue&type=style&index=0&id=4081269a&lang=scss&scoped=true&\"","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dialog-condition.vue?vue&type=style&index=0&lang=scss&\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"6d48485d\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dragSet.vue?vue&type=style&index=0&id=198eb7f9&lang=scss&scoped=true&\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"9ed39540\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","/* eslint-disable */\r\n/*\r\n * JQuery zTree core v3.5.41\r\n * http://treejs.cn/\r\n *\r\n * Copyright (c) 2010 Hunter.z\r\n *\r\n * Licensed same as jquery - MIT License\r\n * http://www.opensource.org/licenses/mit-license.php\r\n *\r\n * Date: 2020-01-06\r\n */\r\n(function ($) {\r\n var settings = {}, roots = {}, caches = {},\r\n //default consts of core\r\n _consts = {\r\n className: {\r\n BUTTON: \"button\",\r\n LEVEL: \"level\",\r\n ICO_LOADING: \"ico_loading\",\r\n SWITCH: \"switch\",\r\n NAME: 'node_name'\r\n },\r\n event: {\r\n NODECREATED: \"ztree_nodeCreated\",\r\n CLICK: \"ztree_click\",\r\n EXPAND: \"ztree_expand\",\r\n COLLAPSE: \"ztree_collapse\",\r\n ASYNC_SUCCESS: \"ztree_async_success\",\r\n ASYNC_ERROR: \"ztree_async_error\",\r\n REMOVE: \"ztree_remove\",\r\n SELECTED: \"ztree_selected\",\r\n UNSELECTED: \"ztree_unselected\"\r\n },\r\n id: {\r\n A: \"_a\",\r\n ICON: \"_ico\",\r\n SPAN: \"_span\",\r\n SWITCH: \"_switch\",\r\n UL: \"_ul\"\r\n },\r\n line: {\r\n ROOT: \"root\",\r\n ROOTS: \"roots\",\r\n CENTER: \"center\",\r\n BOTTOM: \"bottom\",\r\n NOLINE: \"noline\",\r\n LINE: \"line\"\r\n },\r\n folder: {\r\n OPEN: \"open\",\r\n CLOSE: \"close\",\r\n DOCU: \"docu\"\r\n },\r\n node: {\r\n CURSELECTED: \"curSelectedNode\"\r\n }\r\n },\r\n //default setting of core\r\n _setting = {\r\n treeId: \"\",\r\n treeObj: null,\r\n view: {\r\n addDiyDom: null,\r\n autoCancelSelected: true,\r\n dblClickExpand: true,\r\n expandSpeed: \"fast\",\r\n fontCss: {},\r\n nameIsHTML: false,\r\n selectedMulti: true,\r\n showIcon: true,\r\n showLine: true,\r\n showTitle: true,\r\n txtSelectedEnable: false\r\n },\r\n data: {\r\n key: {\r\n isParent: \"isParent\",\r\n children: \"children\",\r\n name: \"name\",\r\n title: \"\",\r\n url: \"url\",\r\n icon: \"icon\",\r\n nodeType: \"nodeType\"\r\n },\r\n iconMap: {},\r\n simpleData: {\r\n enable: false,\r\n idKey: \"id\",\r\n pIdKey: \"pId\",\r\n rootPId: null\r\n },\r\n keep: {\r\n parent: false,\r\n leaf: false\r\n }\r\n },\r\n async: {\r\n enable: false,\r\n contentType: \"application/x-www-form-urlencoded\",\r\n type: \"post\",\r\n dataType: \"text\",\r\n headers: {},\r\n xhrFields: {},\r\n url: \"\",\r\n autoParam: [],\r\n otherParam: [],\r\n dataFilter: null\r\n },\r\n callback: {\r\n beforeAsync: null,\r\n beforeClick: null,\r\n beforeDblClick: null,\r\n beforeRightClick: null,\r\n beforeMouseDown: null,\r\n beforeMouseUp: null,\r\n beforeExpand: null,\r\n beforeCollapse: null,\r\n beforeRemove: null,\r\n\r\n onAsyncError: null,\r\n onAsyncSuccess: null,\r\n onNodeCreated: null,\r\n onClick: null,\r\n onDblClick: null,\r\n onRightClick: null,\r\n onMouseDown: null,\r\n onMouseUp: null,\r\n onExpand: null,\r\n onCollapse: null,\r\n onRemove: null\r\n }\r\n },\r\n //default root of core\r\n //zTree use root to save full data\r\n _initRoot = function (setting) {\r\n var r = data.getRoot(setting);\r\n if (!r) {\r\n r = {};\r\n data.setRoot(setting, r);\r\n }\r\n data.nodeChildren(setting, r, []);\r\n r.expandTriggerFlag = false;\r\n r.curSelectedList = [];\r\n r.noSelection = true;\r\n r.createdNodes = [];\r\n r.zId = 0;\r\n r._ver = (new Date()).getTime();\r\n },\r\n //default cache of core\r\n _initCache = function (setting) {\r\n var c = data.getCache(setting);\r\n if (!c) {\r\n c = {};\r\n data.setCache(setting, c);\r\n }\r\n c.nodes = [];\r\n c.doms = [];\r\n },\r\n //default bindEvent of core\r\n _bindEvent = function (setting) {\r\n var o = setting.treeObj,\r\n c = consts.event;\r\n o.bind(c.NODECREATED, function (event, treeId, node) {\r\n tools.apply(setting.callback.onNodeCreated, [event, treeId, node]);\r\n });\r\n\r\n o.bind(c.CLICK, function (event, srcEvent, treeId, node, clickFlag) {\r\n tools.apply(setting.callback.onClick, [srcEvent, treeId, node, clickFlag]);\r\n });\r\n\r\n o.bind(c.EXPAND, function (event, treeId, node) {\r\n tools.apply(setting.callback.onExpand, [event, treeId, node]);\r\n });\r\n\r\n o.bind(c.COLLAPSE, function (event, treeId, node) {\r\n tools.apply(setting.callback.onCollapse, [event, treeId, node]);\r\n });\r\n\r\n o.bind(c.ASYNC_SUCCESS, function (event, treeId, node, msg) {\r\n tools.apply(setting.callback.onAsyncSuccess, [event, treeId, node, msg]);\r\n });\r\n\r\n o.bind(c.ASYNC_ERROR, function (event, treeId, node, XMLHttpRequest, textStatus, errorThrown) {\r\n tools.apply(setting.callback.onAsyncError, [event, treeId, node, XMLHttpRequest, textStatus, errorThrown]);\r\n });\r\n\r\n o.bind(c.REMOVE, function (event, treeId, treeNode) {\r\n tools.apply(setting.callback.onRemove, [event, treeId, treeNode]);\r\n });\r\n\r\n o.bind(c.SELECTED, function (event, treeId, node) {\r\n tools.apply(setting.callback.onSelected, [treeId, node]);\r\n });\r\n o.bind(c.UNSELECTED, function (event, treeId, node) {\r\n tools.apply(setting.callback.onUnSelected, [treeId, node]);\r\n });\r\n },\r\n _unbindEvent = function (setting) {\r\n var o = setting.treeObj,\r\n c = consts.event;\r\n o.unbind(c.NODECREATED)\r\n .unbind(c.CLICK)\r\n .unbind(c.EXPAND)\r\n .unbind(c.COLLAPSE)\r\n .unbind(c.ASYNC_SUCCESS)\r\n .unbind(c.ASYNC_ERROR)\r\n .unbind(c.REMOVE)\r\n .unbind(c.SELECTED)\r\n .unbind(c.UNSELECTED);\r\n },\r\n //default event proxy of core\r\n _eventProxy = function (event) {\r\n var target = event.target,\r\n setting = data.getSetting(event.data.treeId),\r\n tId = \"\", node = null,\r\n nodeEventType = \"\", treeEventType = \"\",\r\n nodeEventCallback = null, treeEventCallback = null,\r\n tmp = null;\r\n\r\n if (tools.eqs(event.type, \"mousedown\")) {\r\n treeEventType = \"mousedown\";\r\n } else if (tools.eqs(event.type, \"mouseup\")) {\r\n treeEventType = \"mouseup\";\r\n } else if (tools.eqs(event.type, \"contextmenu\")) {\r\n treeEventType = \"contextmenu\";\r\n } else if (tools.eqs(event.type, \"click\")) {\r\n if (tools.eqs(target.tagName, \"span\") && target.getAttribute(\"treeNode\" + consts.id.SWITCH) !== null) {\r\n tId = tools.getNodeMainDom(target).id;\r\n nodeEventType = \"switchNode\";\r\n } else {\r\n tmp = tools.getMDom(setting, target, [{tagName: \"a\", attrName: \"treeNode\" + consts.id.A}]);\r\n if (tmp) {\r\n tId = tools.getNodeMainDom(tmp).id;\r\n nodeEventType = \"clickNode\";\r\n }\r\n }\r\n } else if (tools.eqs(event.type, \"dblclick\")) {\r\n treeEventType = \"dblclick\";\r\n tmp = tools.getMDom(setting, target, [{tagName: \"a\", attrName: \"treeNode\" + consts.id.A}]);\r\n if (tmp) {\r\n tId = tools.getNodeMainDom(tmp).id;\r\n nodeEventType = \"switchNode\";\r\n }\r\n }\r\n if (treeEventType.length > 0 && tId.length == 0) {\r\n tmp = tools.getMDom(setting, target, [{tagName: \"a\", attrName: \"treeNode\" + consts.id.A}]);\r\n if (tmp) {\r\n tId = tools.getNodeMainDom(tmp).id;\r\n }\r\n }\r\n // event to node\r\n if (tId.length > 0) {\r\n node = data.getNodeCache(setting, tId);\r\n switch (nodeEventType) {\r\n case \"switchNode\" :\r\n var isParent = data.nodeIsParent(setting, node);\r\n if (!isParent) {\r\n nodeEventType = \"\";\r\n } else if (tools.eqs(event.type, \"click\")\r\n || (tools.eqs(event.type, \"dblclick\") && tools.apply(setting.view.dblClickExpand, [setting.treeId, node], setting.view.dblClickExpand))) {\r\n nodeEventCallback = handler.onSwitchNode;\r\n } else {\r\n nodeEventType = \"\";\r\n }\r\n break;\r\n case \"clickNode\" :\r\n nodeEventCallback = handler.onClickNode;\r\n break;\r\n }\r\n }\r\n // event to zTree\r\n switch (treeEventType) {\r\n case \"mousedown\" :\r\n treeEventCallback = handler.onZTreeMousedown;\r\n break;\r\n case \"mouseup\" :\r\n treeEventCallback = handler.onZTreeMouseup;\r\n break;\r\n case \"dblclick\" :\r\n treeEventCallback = handler.onZTreeDblclick;\r\n break;\r\n case \"contextmenu\" :\r\n treeEventCallback = handler.onZTreeContextmenu;\r\n break;\r\n }\r\n var proxyResult = {\r\n stop: false,\r\n node: node,\r\n nodeEventType: nodeEventType,\r\n nodeEventCallback: nodeEventCallback,\r\n treeEventType: treeEventType,\r\n treeEventCallback: treeEventCallback\r\n };\r\n return proxyResult\r\n },\r\n //default init node of core\r\n _initNode = function (setting, level, n, parentNode, isFirstNode, isLastNode, openFlag) {\r\n if (!n) return;\r\n var r = data.getRoot(setting),\r\n children = data.nodeChildren(setting, n);\r\n n.level = level;\r\n n.tId = setting.treeId + \"_\" + (++r.zId);\r\n n.parentTId = parentNode ? parentNode.tId : null;\r\n n.open = (typeof n.open == \"string\") ? tools.eqs(n.open, \"true\") : !!n.open;\r\n var isParent = data.nodeIsParent(setting, n);\r\n if (tools.isArray(children)) {\r\n data.nodeIsParent(setting, n, true);\r\n n.zAsync = true;\r\n } else {\r\n isParent = data.nodeIsParent(setting, n, isParent);\r\n n.open = (isParent && !setting.async.enable) ? n.open : false;\r\n n.zAsync = !isParent;\r\n }\r\n n.isFirstNode = isFirstNode;\r\n n.isLastNode = isLastNode;\r\n n.getParentNode = function () {\r\n return data.getNodeCache(setting, n.parentTId);\r\n };\r\n n.getPreNode = function () {\r\n return data.getPreNode(setting, n);\r\n };\r\n n.getNextNode = function () {\r\n return data.getNextNode(setting, n);\r\n };\r\n n.getIndex = function () {\r\n return data.getNodeIndex(setting, n);\r\n };\r\n n.getPath = function () {\r\n return data.getNodePath(setting, n);\r\n };\r\n n.isAjaxing = false;\r\n data.fixPIdKeyValue(setting, n);\r\n },\r\n _init = {\r\n bind: [_bindEvent],\r\n unbind: [_unbindEvent],\r\n caches: [_initCache],\r\n nodes: [_initNode],\r\n proxys: [_eventProxy],\r\n roots: [_initRoot],\r\n beforeA: [],\r\n afterA: [],\r\n innerBeforeA: [],\r\n innerAfterA: [],\r\n zTreeTools: []\r\n },\r\n //method of operate data\r\n data = {\r\n addNodeCache: function (setting, node) {\r\n data.getCache(setting).nodes[data.getNodeCacheId(node.tId)] = node;\r\n },\r\n getNodeCacheId: function (tId) {\r\n return tId.substring(tId.lastIndexOf(\"_\") + 1);\r\n },\r\n addAfterA: function (afterA) {\r\n _init.afterA.push(afterA);\r\n },\r\n addBeforeA: function (beforeA) {\r\n _init.beforeA.push(beforeA);\r\n },\r\n addInnerAfterA: function (innerAfterA) {\r\n _init.innerAfterA.push(innerAfterA);\r\n },\r\n addInnerBeforeA: function (innerBeforeA) {\r\n _init.innerBeforeA.push(innerBeforeA);\r\n },\r\n addInitBind: function (bindEvent) {\r\n _init.bind.push(bindEvent);\r\n },\r\n addInitUnBind: function (unbindEvent) {\r\n _init.unbind.push(unbindEvent);\r\n },\r\n addInitCache: function (initCache) {\r\n _init.caches.push(initCache);\r\n },\r\n addInitNode: function (initNode) {\r\n _init.nodes.push(initNode);\r\n },\r\n addInitProxy: function (initProxy, isFirst) {\r\n if (isFirst) {\r\n _init.proxys.splice(0, 0, initProxy);\r\n } else {\r\n _init.proxys.push(initProxy);\r\n }\r\n },\r\n addInitRoot: function (initRoot) {\r\n _init.roots.push(initRoot);\r\n },\r\n addNodesData: function (setting, parentNode, index, nodes) {\r\n var children = data.nodeChildren(setting, parentNode), params;\r\n if (!children) {\r\n children = data.nodeChildren(setting, parentNode, []);\r\n index = -1;\r\n } else if (index >= children.length) {\r\n index = -1;\r\n }\r\n\r\n if (children.length > 0 && index === 0) {\r\n children[0].isFirstNode = false;\r\n view.setNodeLineIcos(setting, children[0]);\r\n } else if (children.length > 0 && index < 0) {\r\n children[children.length - 1].isLastNode = false;\r\n view.setNodeLineIcos(setting, children[children.length - 1]);\r\n }\r\n data.nodeIsParent(setting, parentNode, true);\r\n\r\n if (index < 0) {\r\n data.nodeChildren(setting, parentNode, children.concat(nodes));\r\n } else {\r\n params = [index, 0].concat(nodes);\r\n children.splice.apply(children, params);\r\n }\r\n },\r\n addSelectedNode: function (setting, node) {\r\n var root = data.getRoot(setting);\r\n if (!data.isSelectedNode(setting, node)) {\r\n root.curSelectedList.push(node);\r\n }\r\n },\r\n addCreatedNode: function (setting, node) {\r\n if (!!setting.callback.onNodeCreated || !!setting.view.addDiyDom) {\r\n var root = data.getRoot(setting);\r\n root.createdNodes.push(node);\r\n }\r\n },\r\n addZTreeTools: function (zTreeTools) {\r\n _init.zTreeTools.push(zTreeTools);\r\n },\r\n exSetting: function (s) {\r\n $.extend(true, _setting, s);\r\n },\r\n fixPIdKeyValue: function (setting, node) {\r\n if (setting.data.simpleData.enable) {\r\n node[setting.data.simpleData.pIdKey] = node.parentTId ? node.getParentNode()[setting.data.simpleData.idKey] : setting.data.simpleData.rootPId;\r\n }\r\n },\r\n getAfterA: function (setting, node, array) {\r\n for (var i = 0, j = _init.afterA.length; i < j; i++) {\r\n _init.afterA[i].apply(this, arguments);\r\n }\r\n },\r\n getBeforeA: function (setting, node, array) {\r\n for (var i = 0, j = _init.beforeA.length; i < j; i++) {\r\n _init.beforeA[i].apply(this, arguments);\r\n }\r\n },\r\n getInnerAfterA: function (setting, node, array) {\r\n for (var i = 0, j = _init.innerAfterA.length; i < j; i++) {\r\n _init.innerAfterA[i].apply(this, arguments);\r\n }\r\n },\r\n getInnerBeforeA: function (setting, node, array) {\r\n for (var i = 0, j = _init.innerBeforeA.length; i < j; i++) {\r\n _init.innerBeforeA[i].apply(this, arguments);\r\n }\r\n },\r\n getCache: function (setting) {\r\n return caches[setting.treeId];\r\n },\r\n getNodeIndex: function (setting, node) {\r\n if (!node) return null;\r\n var p = node.parentTId ? node.getParentNode() : data.getRoot(setting),\r\n children = data.nodeChildren(setting, p);\r\n for (var i = 0, l = children.length - 1; i <= l; i++) {\r\n if (children[i] === node) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n },\r\n getNextNode: function (setting, node) {\r\n if (!node) return null;\r\n var p = node.parentTId ? node.getParentNode() : data.getRoot(setting),\r\n children = data.nodeChildren(setting, p);\r\n for (var i = 0, l = children.length - 1; i <= l; i++) {\r\n if (children[i] === node) {\r\n return (i == l ? null : children[i + 1]);\r\n }\r\n }\r\n return null;\r\n },\r\n getNodeByParam: function (setting, nodes, key, value) {\r\n if (!nodes || !key) return null;\r\n for (var i = 0, l = nodes.length; i < l; i++) {\r\n var node = nodes[i];\r\n if (node[key] == value) {\r\n return nodes[i];\r\n }\r\n var children = data.nodeChildren(setting, node);\r\n var tmp = data.getNodeByParam(setting, children, key, value);\r\n if (tmp) return tmp;\r\n }\r\n return null;\r\n },\r\n getNodeCache: function (setting, tId) {\r\n if (!tId) return null;\r\n var n = caches[setting.treeId].nodes[data.getNodeCacheId(tId)];\r\n return n ? n : null;\r\n },\r\n getNodePath: function (setting, node) {\r\n if (!node) return null;\r\n\r\n var path;\r\n if (node.parentTId) {\r\n path = node.getParentNode().getPath();\r\n } else {\r\n path = [];\r\n }\r\n\r\n if (path) {\r\n path.push(node);\r\n }\r\n\r\n return path;\r\n },\r\n getNodes: function (setting) {\r\n return data.nodeChildren(setting, data.getRoot(setting));\r\n },\r\n getNodesByParam: function (setting, nodes, key, value) {\r\n if (!nodes || !key) return [];\r\n var result = [];\r\n for (var i = 0, l = nodes.length; i < l; i++) {\r\n var node = nodes[i];\r\n if (node[key] == value) {\r\n result.push(node);\r\n }\r\n var children = data.nodeChildren(setting, node);\r\n result = result.concat(data.getNodesByParam(setting, children, key, value));\r\n }\r\n return result;\r\n },\r\n getNodesByParamFuzzy: function (setting, nodes, key, value) {\r\n if (!nodes || !key) return [];\r\n var result = [];\r\n value = value.toLowerCase();\r\n for (var i = 0, l = nodes.length; i < l; i++) {\r\n var node = nodes[i];\r\n if (typeof node[key] == \"string\" && nodes[i][key].toLowerCase().indexOf(value) > -1) {\r\n result.push(node);\r\n }\r\n var children = data.nodeChildren(setting, node);\r\n result = result.concat(data.getNodesByParamFuzzy(setting, children, key, value));\r\n }\r\n return result;\r\n },\r\n getNodesByFilter: function (setting, nodes, filter, isSingle, invokeParam) {\r\n if (!nodes) return (isSingle ? null : []);\r\n var result = isSingle ? null : [];\r\n for (var i = 0, l = nodes.length; i < l; i++) {\r\n var node = nodes[i];\r\n if (tools.apply(filter, [node, invokeParam], false)) {\r\n if (isSingle) {\r\n return node;\r\n }\r\n result.push(node);\r\n }\r\n var children = data.nodeChildren(setting, node);\r\n var tmpResult = data.getNodesByFilter(setting, children, filter, isSingle, invokeParam);\r\n if (isSingle && !!tmpResult) {\r\n return tmpResult;\r\n }\r\n result = isSingle ? tmpResult : result.concat(tmpResult);\r\n }\r\n return result;\r\n },\r\n getPreNode: function (setting, node) {\r\n if (!node) return null;\r\n var p = node.parentTId ? node.getParentNode() : data.getRoot(setting),\r\n children = data.nodeChildren(setting, p);\r\n for (var i = 0, l = children.length; i < l; i++) {\r\n if (children[i] === node) {\r\n return (i == 0 ? null : children[i - 1]);\r\n }\r\n }\r\n return null;\r\n },\r\n getRoot: function (setting) {\r\n return setting ? roots[setting.treeId] : null;\r\n },\r\n getRoots: function () {\r\n return roots;\r\n },\r\n getSetting: function (treeId) {\r\n return settings[treeId];\r\n },\r\n getSettings: function () {\r\n return settings;\r\n },\r\n getZTreeTools: function (treeId) {\r\n var r = this.getRoot(this.getSetting(treeId));\r\n return r ? r.treeTools : null;\r\n },\r\n initCache: function (setting) {\r\n for (var i = 0, j = _init.caches.length; i < j; i++) {\r\n _init.caches[i].apply(this, arguments);\r\n }\r\n },\r\n initNode: function (setting, level, node, parentNode, preNode, nextNode) {\r\n for (var i = 0, j = _init.nodes.length; i < j; i++) {\r\n _init.nodes[i].apply(this, arguments);\r\n }\r\n },\r\n initRoot: function (setting) {\r\n for (var i = 0, j = _init.roots.length; i < j; i++) {\r\n _init.roots[i].apply(this, arguments);\r\n }\r\n },\r\n isSelectedNode: function (setting, node) {\r\n var root = data.getRoot(setting);\r\n for (var i = 0, j = root.curSelectedList.length; i < j; i++) {\r\n if (node === root.curSelectedList[i]) return true;\r\n }\r\n return false;\r\n },\r\n nodeChildren: function (setting, node, newChildren) {\r\n if (!node) {\r\n return null;\r\n }\r\n var key = setting.data.key.children;\r\n if (typeof newChildren !== 'undefined') {\r\n node[key] = newChildren;\r\n }\r\n return node[key];\r\n },\r\n nodeIsParent: function (setting, node, newIsParent) {\r\n if (!node) {\r\n return false;\r\n }\r\n var key = setting.data.key.isParent;\r\n if (typeof newIsParent !== 'undefined') {\r\n if (typeof newIsParent === \"string\") {\r\n newIsParent = tools.eqs(newIsParent, \"true\");\r\n }\r\n newIsParent = !!newIsParent;\r\n node[key] = newIsParent;\r\n } else if (typeof node[key] == \"string\"){\r\n node[key] = tools.eqs(node[key], \"true\");\r\n } else {\r\n node[key] = !!node[key];\r\n }\r\n return node[key];\r\n },\r\n nodeName: function (setting, node, newName) {\r\n var key = setting.data.key.name;\r\n if (typeof newName !== 'undefined') {\r\n node[key] = newName;\r\n }\r\n return \"\" + node[key];\r\n },\r\n nodeIcon: function (setting, node, newName) {\r\n var key = setting.data.key.nodeType;\r\n if (typeof newName !== 'undefined') {\r\n node[key] = newName;\r\n }\r\n return setting.data.iconMap[node[key]] || \"\";\r\n },\r\n nodeTitle: function (setting, node) {\r\n var t = setting.data.key.title === \"\" ? setting.data.key.name : setting.data.key.title;\r\n return \"\" + node[t];\r\n },\r\n removeNodeCache: function (setting, node) {\r\n var children = data.nodeChildren(setting, node);\r\n if (children) {\r\n for (var i = 0, l = children.length; i < l; i++) {\r\n data.removeNodeCache(setting, children[i]);\r\n }\r\n }\r\n data.getCache(setting).nodes[data.getNodeCacheId(node.tId)] = null;\r\n },\r\n removeSelectedNode: function (setting, node) {\r\n var root = data.getRoot(setting);\r\n for (var i = 0, j = root.curSelectedList.length; i < j; i++) {\r\n if (node === root.curSelectedList[i] || !data.getNodeCache(setting, root.curSelectedList[i].tId)) {\r\n root.curSelectedList.splice(i, 1);\r\n setting.treeObj.trigger(consts.event.UNSELECTED, [setting.treeId, node]);\r\n i--;\r\n j--;\r\n }\r\n }\r\n },\r\n setCache: function (setting, cache) {\r\n caches[setting.treeId] = cache;\r\n },\r\n setRoot: function (setting, root) {\r\n roots[setting.treeId] = root;\r\n },\r\n setZTreeTools: function (setting, zTreeTools) {\r\n for (var i = 0, j = _init.zTreeTools.length; i < j; i++) {\r\n _init.zTreeTools[i].apply(this, arguments);\r\n }\r\n },\r\n transformToArrayFormat: function (setting, nodes) {\r\n if (!nodes) return [];\r\n var r = [];\r\n if (tools.isArray(nodes)) {\r\n for (var i = 0, l = nodes.length; i < l; i++) {\r\n var node = nodes[i];\r\n _do(node);\r\n }\r\n } else {\r\n _do(nodes);\r\n }\r\n return r;\r\n\r\n function _do(_node) {\r\n r.push(_node);\r\n var children = data.nodeChildren(setting, _node);\r\n if (children) {\r\n r = r.concat(data.transformToArrayFormat(setting, children));\r\n }\r\n }\r\n },\r\n transformTozTreeFormat: function (setting, sNodes) {\r\n var i, l,\r\n key = setting.data.simpleData.idKey,\r\n parentKey = setting.data.simpleData.pIdKey;\r\n if (!key || key == \"\" || !sNodes) return [];\r\n\r\n if (tools.isArray(sNodes)) {\r\n var r = [];\r\n var tmpMap = {};\r\n for (i = 0, l = sNodes.length; i < l; i++) {\r\n tmpMap[sNodes[i][key]] = sNodes[i];\r\n }\r\n for (i = 0, l = sNodes.length; i < l; i++) {\r\n var p = tmpMap[sNodes[i][parentKey]];\r\n if (p && sNodes[i][key] != sNodes[i][parentKey]) {\r\n var children = data.nodeChildren(setting, p);\r\n if (!children) {\r\n children = data.nodeChildren(setting, p, []);\r\n }\r\n children.push(sNodes[i]);\r\n } else {\r\n r.push(sNodes[i]);\r\n }\r\n }\r\n return r;\r\n } else {\r\n return [sNodes];\r\n }\r\n }\r\n },\r\n //method of event proxy\r\n event = {\r\n bindEvent: function (setting) {\r\n for (var i = 0, j = _init.bind.length; i < j; i++) {\r\n _init.bind[i].apply(this, arguments);\r\n }\r\n },\r\n unbindEvent: function (setting) {\r\n for (var i = 0, j = _init.unbind.length; i < j; i++) {\r\n _init.unbind[i].apply(this, arguments);\r\n }\r\n },\r\n bindTree: function (setting) {\r\n var eventParam = {\r\n treeId: setting.treeId\r\n },\r\n o = setting.treeObj;\r\n if (!setting.view.txtSelectedEnable) {\r\n // for can't select text\r\n o.bind('selectstart', handler.onSelectStart).css({\r\n \"-moz-user-select\": \"-moz-none\"\r\n });\r\n }\r\n o.bind('click', eventParam, event.proxy);\r\n o.bind('dblclick', eventParam, event.proxy);\r\n o.bind('mouseover', eventParam, event.proxy);\r\n o.bind('mouseout', eventParam, event.proxy);\r\n o.bind('mousedown', eventParam, event.proxy);\r\n o.bind('mouseup', eventParam, event.proxy);\r\n o.bind('contextmenu', eventParam, event.proxy);\r\n },\r\n unbindTree: function (setting) {\r\n var o = setting.treeObj;\r\n o.unbind('selectstart', handler.onSelectStart)\r\n .unbind('click', event.proxy)\r\n .unbind('dblclick', event.proxy)\r\n .unbind('mouseover', event.proxy)\r\n .unbind('mouseout', event.proxy)\r\n .unbind('mousedown', event.proxy)\r\n .unbind('mouseup', event.proxy)\r\n .unbind('contextmenu', event.proxy);\r\n },\r\n doProxy: function (e) {\r\n var results = [];\r\n for (var i = 0, j = _init.proxys.length; i < j; i++) {\r\n var proxyResult = _init.proxys[i].apply(this, arguments);\r\n results.push(proxyResult);\r\n if (proxyResult.stop) {\r\n break;\r\n }\r\n }\r\n return results;\r\n },\r\n proxy: function (e) {\r\n var setting = data.getSetting(e.data.treeId);\r\n if (!tools.uCanDo(setting, e)) return true;\r\n var results = event.doProxy(e),\r\n r = true, x = false;\r\n for (var i = 0, l = results.length; i < l; i++) {\r\n var proxyResult = results[i];\r\n if (proxyResult.nodeEventCallback) {\r\n x = true;\r\n r = proxyResult.nodeEventCallback.apply(proxyResult, [e, proxyResult.node]) && r;\r\n }\r\n if (proxyResult.treeEventCallback) {\r\n x = true;\r\n r = proxyResult.treeEventCallback.apply(proxyResult, [e, proxyResult.node]) && r;\r\n }\r\n }\r\n return r;\r\n }\r\n },\r\n //method of event handler\r\n handler = {\r\n onSwitchNode: function (event, node) {\r\n var setting = data.getSetting(event.data.treeId);\r\n if (node.open) {\r\n if (tools.apply(setting.callback.beforeCollapse, [setting.treeId, node], true) == false) return true;\r\n data.getRoot(setting).expandTriggerFlag = true;\r\n view.switchNode(setting, node);\r\n } else {\r\n if (tools.apply(setting.callback.beforeExpand, [setting.treeId, node], true) == false) return true;\r\n data.getRoot(setting).expandTriggerFlag = true;\r\n view.switchNode(setting, node);\r\n }\r\n return true;\r\n },\r\n onClickNode: function (event, node) {\r\n var setting = data.getSetting(event.data.treeId),\r\n clickFlag = ((setting.view.autoCancelSelected && (event.ctrlKey || event.metaKey)) && data.isSelectedNode(setting, node)) ? 0 : (setting.view.autoCancelSelected && (event.ctrlKey || event.metaKey) && setting.view.selectedMulti) ? 2 : 1;\r\n if (tools.apply(setting.callback.beforeClick, [setting.treeId, node, clickFlag], true) == false) return true;\r\n if (clickFlag === 0) {\r\n view.cancelPreSelectedNode(setting, node);\r\n } else {\r\n view.selectNode(setting, node, clickFlag === 2);\r\n }\r\n setting.treeObj.trigger(consts.event.CLICK, [event, setting.treeId, node, clickFlag]);\r\n return true;\r\n },\r\n onZTreeMousedown: function (event, node) {\r\n var setting = data.getSetting(event.data.treeId);\r\n if (tools.apply(setting.callback.beforeMouseDown, [setting.treeId, node], true)) {\r\n tools.apply(setting.callback.onMouseDown, [event, setting.treeId, node]);\r\n }\r\n return true;\r\n },\r\n onZTreeMouseup: function (event, node) {\r\n var setting = data.getSetting(event.data.treeId);\r\n if (tools.apply(setting.callback.beforeMouseUp, [setting.treeId, node], true)) {\r\n tools.apply(setting.callback.onMouseUp, [event, setting.treeId, node]);\r\n }\r\n return true;\r\n },\r\n onZTreeDblclick: function (event, node) {\r\n var setting = data.getSetting(event.data.treeId);\r\n if (tools.apply(setting.callback.beforeDblClick, [setting.treeId, node], true)) {\r\n tools.apply(setting.callback.onDblClick, [event, setting.treeId, node]);\r\n }\r\n return true;\r\n },\r\n onZTreeContextmenu: function (event, node) {\r\n var setting = data.getSetting(event.data.treeId);\r\n if (tools.apply(setting.callback.beforeRightClick, [setting.treeId, node], true)) {\r\n tools.apply(setting.callback.onRightClick, [event, setting.treeId, node]);\r\n }\r\n return (typeof setting.callback.onRightClick) != \"function\";\r\n },\r\n onSelectStart: function (e) {\r\n var n = e.originalEvent.srcElement.nodeName.toLowerCase();\r\n return (n === \"input\" || n === \"textarea\");\r\n }\r\n },\r\n //method of tools for zTree\r\n tools = {\r\n apply: function (fun, param, defaultValue) {\r\n if ((typeof fun) == \"function\") {\r\n return fun.apply(zt, param ? param : []);\r\n }\r\n return defaultValue;\r\n },\r\n canAsync: function (setting, node) {\r\n var children = data.nodeChildren(setting, node);\r\n var isParent = data.nodeIsParent(setting, node);\r\n return (setting.async.enable && node && isParent && !(node.zAsync || (children && children.length > 0)));\r\n },\r\n clone: function (obj) {\r\n if (obj === null) return null;\r\n var o = tools.isArray(obj) ? [] : {};\r\n for (var i in obj) {\r\n o[i] = (obj[i] instanceof Date) ? new Date(obj[i].getTime()) : (typeof obj[i] === \"object\" ? tools.clone(obj[i]) : obj[i]);\r\n }\r\n return o;\r\n },\r\n eqs: function (str1, str2) {\r\n return str1.toLowerCase() === str2.toLowerCase();\r\n },\r\n isArray: function (arr) {\r\n return Object.prototype.toString.apply(arr) === \"[object Array]\";\r\n },\r\n isElement: function (o) {\r\n return (\r\n typeof HTMLElement === \"object\" ? o instanceof HTMLElement : //DOM2\r\n o && typeof o === \"object\" && o !== null && o.nodeType === 1 && typeof o.nodeName === \"string\"\r\n );\r\n },\r\n $: function (node, exp, setting) {\r\n if (!!exp && typeof exp != \"string\") {\r\n setting = exp;\r\n exp = \"\";\r\n }\r\n if (typeof node == \"string\") {\r\n return $(node, setting ? setting.treeObj.get(0).ownerDocument : null);\r\n } else {\r\n return $(\"#\" + node.tId + exp, setting ? setting.treeObj : null);\r\n }\r\n },\r\n getMDom: function (setting, curDom, targetExpr) {\r\n if (!curDom) return null;\r\n while (curDom && curDom.id !== setting.treeId) {\r\n for (var i = 0, l = targetExpr.length; curDom.tagName && i < l; i++) {\r\n if (tools.eqs(curDom.tagName, targetExpr[i].tagName) && curDom.getAttribute(targetExpr[i].attrName) !== null) {\r\n return curDom;\r\n }\r\n }\r\n curDom = curDom.parentNode;\r\n }\r\n return null;\r\n },\r\n getNodeMainDom: function (target) {\r\n return ($(target).parent(\"li\").get(0) || $(target).parentsUntil(\"li\").parent().get(0));\r\n },\r\n isChildOrSelf: function (dom, parentId) {\r\n return ($(dom).closest(\"#\" + parentId).length > 0);\r\n },\r\n uCanDo: function (setting, e) {\r\n return true;\r\n }\r\n },\r\n //method of operate ztree dom\r\n view = {\r\n addNodes: function (setting, parentNode, index, newNodes, isSilent) {\r\n var isParent = data.nodeIsParent(setting, parentNode);\r\n if (setting.data.keep.leaf && parentNode && !isParent) {\r\n return;\r\n }\r\n if (!tools.isArray(newNodes)) {\r\n newNodes = [newNodes];\r\n }\r\n if (setting.data.simpleData.enable) {\r\n newNodes = data.transformTozTreeFormat(setting, newNodes);\r\n }\r\n if (parentNode) {\r\n var target_switchObj = $$(parentNode, consts.id.SWITCH, setting),\r\n target_icoObj = $$(parentNode, consts.id.ICON, setting),\r\n target_ulObj = $$(parentNode, consts.id.UL, setting);\r\n\r\n if (!parentNode.open) {\r\n view.replaceSwitchClass(parentNode, target_switchObj, consts.folder.CLOSE);\r\n view.replaceIcoClass(parentNode, target_icoObj, consts.folder.CLOSE);\r\n parentNode.open = false;\r\n target_ulObj.css({\r\n \"display\": \"none\"\r\n });\r\n }\r\n\r\n data.addNodesData(setting, parentNode, index, newNodes);\r\n view.createNodes(setting, parentNode.level + 1, newNodes, parentNode, index);\r\n if (!isSilent) {\r\n view.expandCollapseParentNode(setting, parentNode, true);\r\n }\r\n } else {\r\n data.addNodesData(setting, data.getRoot(setting), index, newNodes);\r\n view.createNodes(setting, 0, newNodes, null, index);\r\n }\r\n },\r\n appendNodes: function (setting, level, nodes, parentNode, index, initFlag, openFlag) {\r\n if (!nodes) return [];\r\n var html = [];\r\n\r\n var tmpPNode = (parentNode) ? parentNode : data.getRoot(setting),\r\n tmpPChild = data.nodeChildren(setting, tmpPNode),\r\n isFirstNode, isLastNode;\r\n\r\n if (!tmpPChild || index >= tmpPChild.length - nodes.length) {\r\n index = -1;\r\n }\r\n\r\n for (var i = 0, l = nodes.length; i < l; i++) {\r\n var node = nodes[i];\r\n if (initFlag) {\r\n isFirstNode = ((index === 0 || tmpPChild.length == nodes.length) && (i == 0));\r\n isLastNode = (index < 0 && i == (nodes.length - 1));\r\n data.initNode(setting, level, node, parentNode, isFirstNode, isLastNode, openFlag);\r\n data.addNodeCache(setting, node);\r\n }\r\n var isParent = data.nodeIsParent(setting, node);\r\n\r\n var childHtml = [];\r\n var children = data.nodeChildren(setting, node);\r\n if (children && children.length > 0) {\r\n //make child html first, because checkType\r\n childHtml = view.appendNodes(setting, level + 1, children, node, -1, initFlag, openFlag && node.open);\r\n }\r\n if (openFlag) {\r\n view.makeDOMNodeMainBefore(html, setting, node);\r\n view.makeDOMNodeLine(html, setting, node);\r\n data.getBeforeA(setting, node, html);\r\n view.makeDOMNodeNameBefore(html, setting, node);\r\n data.getInnerBeforeA(setting, node, html);\r\n view.makeDOMNodeIcon(html, setting, node);\r\n data.getInnerAfterA(setting, node, html);\r\n view.makeDOMNodeNameAfter(html, setting, node);\r\n data.getAfterA(setting, node, html);\r\n if (isParent && node.open) {\r\n view.makeUlHtml(setting, node, html, childHtml.join(''));\r\n }\r\n view.makeDOMNodeMainAfter(html, setting, node);\r\n data.addCreatedNode(setting, node);\r\n }\r\n }\r\n return html;\r\n },\r\n appendParentULDom: function (setting, node) {\r\n var html = [],\r\n nObj = $$(node, setting);\r\n if (!nObj.get(0) && !!node.parentTId) {\r\n view.appendParentULDom(setting, node.getParentNode());\r\n nObj = $$(node, setting);\r\n }\r\n var ulObj = $$(node, consts.id.UL, setting);\r\n if (ulObj.get(0)) {\r\n ulObj.remove();\r\n }\r\n var children = data.nodeChildren(setting, node),\r\n childHtml = view.appendNodes(setting, node.level + 1, children, node, -1, false, true);\r\n view.makeUlHtml(setting, node, html, childHtml.join(''));\r\n nObj.append(html.join(''));\r\n },\r\n asyncNode: function (setting, node, isSilent, callback) {\r\n var i, l;\r\n var isParent = data.nodeIsParent(setting, node);\r\n if (node && !isParent) {\r\n tools.apply(callback);\r\n return false;\r\n } else if (node && node.isAjaxing) {\r\n return false;\r\n } else if (tools.apply(setting.callback.beforeAsync, [setting.treeId, node], true) == false) {\r\n tools.apply(callback);\r\n return false;\r\n }\r\n if (node) {\r\n node.isAjaxing = true;\r\n var icoObj = $$(node, consts.id.ICON, setting);\r\n icoObj.attr({\"style\": \"\", \"class\": consts.className.BUTTON + \" \" + consts.className.ICO_LOADING});\r\n }\r\n\r\n var tmpParam = {};\r\n var autoParam = tools.apply(setting.async.autoParam, [setting.treeId, node], setting.async.autoParam);\r\n for (i = 0, l = autoParam.length; node && i < l; i++) {\r\n var pKey = autoParam[i].split(\"=\"), spKey = pKey;\r\n if (pKey.length > 1) {\r\n spKey = pKey[1];\r\n pKey = pKey[0];\r\n }\r\n tmpParam[spKey] = node[pKey];\r\n }\r\n var otherParam = tools.apply(setting.async.otherParam, [setting.treeId, node], setting.async.otherParam);\r\n if (tools.isArray(otherParam)) {\r\n for (i = 0, l = otherParam.length; i < l; i += 2) {\r\n tmpParam[otherParam[i]] = otherParam[i + 1];\r\n }\r\n } else {\r\n for (var p in otherParam) {\r\n tmpParam[p] = otherParam[p];\r\n }\r\n }\r\n\r\n var _tmpV = data.getRoot(setting)._ver;\r\n $.ajax({\r\n contentType: setting.async.contentType,\r\n cache: false,\r\n type: setting.async.type,\r\n url: tools.apply(setting.async.url, [setting.treeId, node], setting.async.url),\r\n data: setting.async.contentType.indexOf('application/json') > -1 ? JSON.stringify(tmpParam) : tmpParam,\r\n dataType: setting.async.dataType,\r\n headers: setting.async.headers,\r\n xhrFields: setting.async.xhrFields,\r\n success: function (msg) {\r\n if (_tmpV != data.getRoot(setting)._ver) {\r\n return;\r\n }\r\n var newNodes = [];\r\n try {\r\n if (!msg || msg.length == 0) {\r\n newNodes = [];\r\n } else if (typeof msg == \"string\") {\r\n newNodes = eval(\"(\" + msg + \")\");\r\n } else {\r\n newNodes = msg;\r\n }\r\n } catch (err) {\r\n newNodes = msg;\r\n }\r\n\r\n if (node) {\r\n node.isAjaxing = null;\r\n node.zAsync = true;\r\n }\r\n view.setNodeLineIcos(setting, node);\r\n if (newNodes && newNodes !== \"\") {\r\n newNodes = tools.apply(setting.async.dataFilter, [setting.treeId, node, newNodes], newNodes);\r\n view.addNodes(setting, node, -1, newNodes ? tools.clone(newNodes) : [], !!isSilent);\r\n } else {\r\n view.addNodes(setting, node, -1, [], !!isSilent);\r\n }\r\n setting.treeObj.trigger(consts.event.ASYNC_SUCCESS, [setting.treeId, node, msg]);\r\n tools.apply(callback);\r\n },\r\n error: function (XMLHttpRequest, textStatus, errorThrown) {\r\n if (_tmpV != data.getRoot(setting)._ver) {\r\n return;\r\n }\r\n if (node) node.isAjaxing = null;\r\n view.setNodeLineIcos(setting, node);\r\n setting.treeObj.trigger(consts.event.ASYNC_ERROR, [setting.treeId, node, XMLHttpRequest, textStatus, errorThrown]);\r\n }\r\n });\r\n return true;\r\n },\r\n cancelPreSelectedNode: function (setting, node, excludeNode) {\r\n var list = data.getRoot(setting).curSelectedList,\r\n i, n;\r\n for (i = list.length - 1; i >= 0; i--) {\r\n n = list[i];\r\n if (node === n || (!node && (!excludeNode || excludeNode !== n))) {\r\n $$(n, consts.id.A, setting).removeClass(consts.node.CURSELECTED);\r\n if (node) {\r\n data.removeSelectedNode(setting, node);\r\n break;\r\n } else {\r\n list.splice(i, 1);\r\n setting.treeObj.trigger(consts.event.UNSELECTED, [setting.treeId, n]);\r\n }\r\n }\r\n }\r\n },\r\n createNodeCallback: function (setting) {\r\n if (!!setting.callback.onNodeCreated || !!setting.view.addDiyDom) {\r\n var root = data.getRoot(setting);\r\n while (root.createdNodes.length > 0) {\r\n var node = root.createdNodes.shift();\r\n tools.apply(setting.view.addDiyDom, [setting.treeId, node]);\r\n if (setting.callback.onNodeCreated) {\r\n setting.treeObj.trigger(consts.event.NODECREATED, [setting.treeId, node]);\r\n }\r\n }\r\n }\r\n },\r\n createNodes: function (setting, level, nodes, parentNode, index) {\r\n if (!nodes || nodes.length == 0) return;\r\n var root = data.getRoot(setting),\r\n openFlag = !parentNode || parentNode.open || !!$$(data.nodeChildren(setting, parentNode)[0], setting).get(0);\r\n root.createdNodes = [];\r\n var zTreeHtml = view.appendNodes(setting, level, nodes, parentNode, index, true, openFlag),\r\n parentObj, nextObj;\r\n\r\n if (!parentNode) {\r\n parentObj = setting.treeObj;\r\n //setting.treeObj.append(zTreeHtml.join(''));\r\n } else {\r\n var ulObj = $$(parentNode, consts.id.UL, setting);\r\n if (ulObj.get(0)) {\r\n parentObj = ulObj;\r\n //ulObj.append(zTreeHtml.join(''));\r\n }\r\n }\r\n if (parentObj) {\r\n if (index >= 0) {\r\n nextObj = parentObj.children()[index];\r\n }\r\n if (index >= 0 && nextObj) {\r\n $(nextObj).before(zTreeHtml.join(''));\r\n } else {\r\n parentObj.append(zTreeHtml.join(''));\r\n }\r\n }\r\n\r\n view.createNodeCallback(setting);\r\n },\r\n destroy: function (setting) {\r\n if (!setting) return;\r\n data.initCache(setting);\r\n data.initRoot(setting);\r\n event.unbindTree(setting);\r\n event.unbindEvent(setting);\r\n setting.treeObj.empty();\r\n delete settings[setting.treeId];\r\n },\r\n expandCollapseNode: function (setting, node, expandFlag, animateFlag, callback) {\r\n var root = data.getRoot(setting);\r\n var tmpCb, _callback;\r\n if (!node) {\r\n tools.apply(callback, []);\r\n return;\r\n }\r\n var children = data.nodeChildren(setting, node);\r\n var isParent = data.nodeIsParent(setting, node);\r\n if (root.expandTriggerFlag) {\r\n _callback = callback;\r\n tmpCb = function () {\r\n if (_callback) _callback();\r\n if (node.open) {\r\n setting.treeObj.trigger(consts.event.EXPAND, [setting.treeId, node]);\r\n } else {\r\n setting.treeObj.trigger(consts.event.COLLAPSE, [setting.treeId, node]);\r\n }\r\n };\r\n callback = tmpCb;\r\n root.expandTriggerFlag = false;\r\n }\r\n if (!node.open && isParent && ((!$$(node, consts.id.UL, setting).get(0)) || (children && children.length > 0 && !$$(children[0], setting).get(0)))) {\r\n view.appendParentULDom(setting, node);\r\n view.createNodeCallback(setting);\r\n }\r\n if (node.open == expandFlag) {\r\n tools.apply(callback, []);\r\n return;\r\n }\r\n var ulObj = $$(node, consts.id.UL, setting),\r\n switchObj = $$(node, consts.id.SWITCH, setting),\r\n icoObj = $$(node, consts.id.ICON, setting);\r\n\r\n if (isParent) {\r\n node.open = !node.open;\r\n if (node.iconOpen && node.iconClose) {\r\n icoObj.attr(\"style\", view.makeNodeIcoStyle(setting, node));\r\n }\r\n\r\n if (node.open) {\r\n view.replaceSwitchClass(node, switchObj, consts.folder.OPEN);\r\n view.replaceIcoClass(node, icoObj, consts.folder.OPEN);\r\n if (animateFlag == false || setting.view.expandSpeed == \"\") {\r\n ulObj.show();\r\n tools.apply(callback, []);\r\n } else {\r\n if (children && children.length > 0) {\r\n ulObj.slideDown(setting.view.expandSpeed, callback);\r\n } else {\r\n ulObj.show();\r\n tools.apply(callback, []);\r\n }\r\n }\r\n } else {\r\n view.replaceSwitchClass(node, switchObj, consts.folder.CLOSE);\r\n view.replaceIcoClass(node, icoObj, consts.folder.CLOSE);\r\n if (animateFlag == false || setting.view.expandSpeed == \"\" || !(children && children.length > 0)) {\r\n ulObj.hide();\r\n tools.apply(callback, []);\r\n } else {\r\n ulObj.slideUp(setting.view.expandSpeed, callback);\r\n }\r\n }\r\n } else {\r\n tools.apply(callback, []);\r\n }\r\n },\r\n expandCollapseParentNode: function (setting, node, expandFlag, animateFlag, callback) {\r\n if (!node) return;\r\n if (!node.parentTId) {\r\n view.expandCollapseNode(setting, node, expandFlag, animateFlag, callback);\r\n return;\r\n } else {\r\n view.expandCollapseNode(setting, node, expandFlag, animateFlag);\r\n }\r\n if (node.parentTId) {\r\n view.expandCollapseParentNode(setting, node.getParentNode(), expandFlag, animateFlag, callback);\r\n }\r\n },\r\n expandCollapseSonNode: function (setting, node, expandFlag, animateFlag, callback) {\r\n var root = data.getRoot(setting),\r\n treeNodes = (node) ? data.nodeChildren(setting, node) : data.nodeChildren(setting, root),\r\n selfAnimateSign = (node) ? false : animateFlag,\r\n expandTriggerFlag = data.getRoot(setting).expandTriggerFlag;\r\n data.getRoot(setting).expandTriggerFlag = false;\r\n if (treeNodes) {\r\n for (var i = 0, l = treeNodes.length; i < l; i++) {\r\n if (treeNodes[i]) view.expandCollapseSonNode(setting, treeNodes[i], expandFlag, selfAnimateSign);\r\n }\r\n }\r\n data.getRoot(setting).expandTriggerFlag = expandTriggerFlag;\r\n view.expandCollapseNode(setting, node, expandFlag, animateFlag, callback);\r\n },\r\n isSelectedNode: function (setting, node) {\r\n if (!node) {\r\n return false;\r\n }\r\n var list = data.getRoot(setting).curSelectedList,\r\n i;\r\n for (i = list.length - 1; i >= 0; i--) {\r\n if (node === list[i]) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n },\r\n // 渲染节点名称和图标\r\n makeDOMNodeIcon: function (html, setting, node) {\r\n var nameStr = data.nodeName(setting, node),\r\n name = setting.view.nameIsHTML ? nameStr : nameStr.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');\r\n\r\n html.push(\"<span id='\", node.tId, consts.id.ICON,\r\n \"' title='' treeNode\", consts.id.ICON, \" class='\", view.makeNodeIcoClass(setting, node),\r\n \"' style='\", view.makeNodeIcoStyle(setting, node), \"'></span><span id='\", node.tId, consts.id.SPAN,\r\n \"' class='\", consts.className.NAME,\r\n \"'>\", name, \"</span>\")\r\n\r\n },\r\n makeDOMNodeLine: function (html, setting, node) {\r\n html.push(\"<span id='\", node.tId, consts.id.SWITCH, \"' title='' class='\", view.makeNodeLineClass(setting, node), \"' treeNode\", consts.id.SWITCH, \"></span>\");\r\n },\r\n makeDOMNodeMainAfter: function (html, setting, node) {\r\n html.push(\"</li>\");\r\n },\r\n makeDOMNodeMainBefore: function (html, setting, node) {\r\n html.push(\"<li id='\", node.tId, \"' class='\", consts.className.LEVEL, node.level, \"' tabindex='0' hidefocus='true' treenode>\");\r\n },\r\n makeDOMNodeNameAfter: function (html, setting, node) {\r\n html.push(\"</a>\");\r\n },\r\n makeDOMNodeNameBefore: function (html, setting, node) {\r\n var title = data.nodeTitle(setting, node),\r\n url = view.makeNodeUrl(setting, node),\r\n fontcss = view.makeNodeFontCss(setting, node),\r\n fontStyle = [];\r\n for (var f in fontcss) {\r\n fontStyle.push(f, \":\", fontcss[f], \";\");\r\n }\r\n html.push(\"<a id='\", node.tId, consts.id.A, \"' class='\", consts.className.LEVEL, node.level, \"' treeNode\", consts.id.A, \" onclick=\\\"\", (node.click || ''),\r\n \"\\\" \", ((url != null && url.length > 0) ? \"href='\" + url + \"'\" : \"\"), \" target='\", view.makeNodeTarget(node), \"' style='\", fontStyle.join(''),\r\n \"'\");\r\n if (tools.apply(setting.view.showTitle, [setting.treeId, node], setting.view.showTitle) && title) {\r\n html.push(\"title='\", title.replace(/'/g, \"&#39;\").replace(/</g, '&lt;').replace(/>/g, '&gt;'), \"'\");\r\n }\r\n html.push(\">\");\r\n },\r\n makeNodeFontCss: function (setting, node) {\r\n var fontCss = tools.apply(setting.view.fontCss, [setting.treeId, node], setting.view.fontCss);\r\n return (fontCss && ((typeof fontCss) != \"function\")) ? fontCss : {};\r\n },\r\n makeNodeIcoClass: function (setting, node) {\r\n var icoCss = [\"ico\"];\r\n if (!node.isAjaxing) {\r\n var isParent = data.nodeIsParent(setting, node);\r\n icoCss[0] = (node.iconSkin ? node.iconSkin + \"_\" : \"\") + icoCss[0];\r\n if (isParent) {\r\n icoCss.push(node.open ? consts.folder.OPEN : consts.folder.CLOSE);\r\n } else {\r\n icoCss.push(consts.folder.DOCU);\r\n }\r\n }\r\n const iconName = data.nodeIcon(setting, node);\r\n return `${consts.className.BUTTON} ${icoCss.join('_')} iconfont ${iconName}`;\r\n },\r\n makeNodeIcoStyle: function (setting, node) {\r\n if(!node.isAjaxing) {\r\n if (setting.view.showIcon == false\r\n || !tools.apply(setting.view.showIcon, [setting.treeId, node], true)\r\n || data.nodeIcon(setting, node) === ''\r\n ) {\r\n const iconStyle = \"display:none;\"\r\n return iconStyle\r\n }else {\r\n return ''\r\n }\r\n }\r\n },\r\n makeNodeLineClass: function (setting, node) {\r\n var lineClass = [];\r\n if (setting.view.showLine) {\r\n if (node.level == 0 && node.isFirstNode && node.isLastNode) {\r\n lineClass.push(consts.line.ROOT);\r\n } else if (node.level == 0 && node.isFirstNode) {\r\n lineClass.push(consts.line.ROOTS);\r\n } else if (node.isLastNode) {\r\n lineClass.push(consts.line.BOTTOM);\r\n } else {\r\n lineClass.push(consts.line.CENTER);\r\n }\r\n } else {\r\n lineClass.push(consts.line.NOLINE);\r\n }\r\n if (data.nodeIsParent(setting, node)) {\r\n lineClass.push(node.open ? consts.folder.OPEN : consts.folder.CLOSE);\r\n } else {\r\n lineClass.push(consts.folder.DOCU);\r\n }\r\n return view.makeNodeLineClassEx(node) + lineClass.join('_');\r\n },\r\n makeNodeLineClassEx: function (node) {\r\n return consts.className.BUTTON + \" \" + consts.className.LEVEL + node.level + \" \" + consts.className.SWITCH + \" \";\r\n },\r\n makeNodeTarget: function (node) {\r\n return (node.target || \"_blank\");\r\n },\r\n makeNodeUrl: function (setting, node) {\r\n var urlKey = setting.data.key.url;\r\n return node[urlKey] ? node[urlKey] : null;\r\n },\r\n makeUlHtml: function (setting, node, html, content) {\r\n html.push(\"<ul id='\", node.tId, consts.id.UL, \"' class='\", consts.className.LEVEL, node.level, \" \", view.makeUlLineClass(setting, node), \"' style='display:\", (node.open ? \"block\" : \"none\"), \"'>\");\r\n html.push(content);\r\n html.push(\"</ul>\");\r\n },\r\n makeUlLineClass: function (setting, node) {\r\n return ((setting.view.showLine && !node.isLastNode) ? consts.line.LINE : \"\");\r\n },\r\n removeChildNodes: function (setting, node) {\r\n if (!node) return;\r\n var nodes = data.nodeChildren(setting, node);\r\n if (!nodes) return;\r\n\r\n for (var i = 0, l = nodes.length; i < l; i++) {\r\n data.removeNodeCache(setting, nodes[i]);\r\n }\r\n data.removeSelectedNode(setting);\r\n delete node[setting.data.key.children];\r\n\r\n if (!setting.data.keep.parent) {\r\n data.nodeIsParent(setting, node, false);\r\n node.open = false;\r\n var tmp_switchObj = $$(node, consts.id.SWITCH, setting),\r\n tmp_icoObj = $$(node, consts.id.ICON, setting);\r\n view.replaceSwitchClass(node, tmp_switchObj, consts.folder.DOCU);\r\n view.replaceIcoClass(node, tmp_icoObj, consts.folder.DOCU);\r\n $$(node, consts.id.UL, setting).remove();\r\n } else {\r\n $$(node, consts.id.UL, setting).empty();\r\n }\r\n },\r\n scrollIntoView: function (setting, dom) {\r\n if (!dom) {\r\n return;\r\n }\r\n // support IE 7\r\n if (typeof Element === 'undefined') {\r\n var contRect = setting.treeObj.get(0).getBoundingClientRect(),\r\n findMeRect = dom.getBoundingClientRect();\r\n if (findMeRect.top < contRect.top || findMeRect.bottom > contRect.bottom\r\n || findMeRect.right > contRect.right || findMeRect.left < contRect.left) {\r\n dom.scrollIntoView();\r\n }\r\n return;\r\n }\r\n // CC-BY jocki84@googlemail.com, https://gist.github.com/jocki84/6ffafd003387179a988e\r\n if (!Element.prototype.scrollIntoViewIfNeeded) {\r\n Element.prototype.scrollIntoViewIfNeeded = function (centerIfNeeded) {\r\n \"use strict\";\r\n\r\n function makeRange(start, length) {\r\n return {\"start\": start, \"length\": length, \"end\": start + length};\r\n }\r\n\r\n function coverRange(inner, outer) {\r\n if (\r\n false === centerIfNeeded ||\r\n (outer.start < inner.end && inner.start < outer.end)\r\n ) {\r\n return Math.max(\r\n inner.end - outer.length,\r\n Math.min(outer.start, inner.start)\r\n );\r\n }\r\n return (inner.start + inner.end - outer.length) / 2;\r\n }\r\n\r\n function makePoint(x, y) {\r\n return {\r\n \"x\": x,\r\n \"y\": y,\r\n \"translate\": function translate(dX, dY) {\r\n return makePoint(x + dX, y + dY);\r\n }\r\n };\r\n }\r\n\r\n function absolute(elem, pt) {\r\n while (elem) {\r\n pt = pt.translate(elem.offsetLeft, elem.offsetTop);\r\n elem = elem.offsetParent;\r\n }\r\n return pt;\r\n }\r\n\r\n var target = absolute(this, makePoint(0, 0)),\r\n extent = makePoint(this.offsetWidth, this.offsetHeight),\r\n elem = this.parentNode,\r\n origin;\r\n\r\n while (elem instanceof HTMLElement) {\r\n // Apply desired scroll amount.\r\n origin = absolute(elem, makePoint(elem.clientLeft, elem.clientTop));\r\n elem.scrollLeft = coverRange(\r\n makeRange(target.x - origin.x, extent.x),\r\n makeRange(elem.scrollLeft, elem.clientWidth)\r\n );\r\n elem.scrollTop = coverRange(\r\n makeRange(target.y - origin.y, extent.y),\r\n makeRange(elem.scrollTop, elem.clientHeight)\r\n );\r\n\r\n // Determine actual scroll amount by reading back scroll properties.\r\n target = target.translate(-elem.scrollLeft, -elem.scrollTop);\r\n elem = elem.parentNode;\r\n }\r\n };\r\n }\r\n dom.scrollIntoViewIfNeeded();\r\n },\r\n setFirstNode: function (setting, parentNode) {\r\n var children = data.nodeChildren(setting, parentNode);\r\n if (children.length > 0) {\r\n children[0].isFirstNode = true;\r\n }\r\n },\r\n setLastNode: function (setting, parentNode) {\r\n var children = data.nodeChildren(setting, parentNode);\r\n if (children.length > 0) {\r\n children[children.length - 1].isLastNode = true;\r\n }\r\n },\r\n removeNode: function (setting, node) {\r\n var root = data.getRoot(setting),\r\n parentNode = (node.parentTId) ? node.getParentNode() : root;\r\n\r\n node.isFirstNode = false;\r\n node.isLastNode = false;\r\n node.getPreNode = function () {\r\n return null;\r\n };\r\n node.getNextNode = function () {\r\n return null;\r\n };\r\n\r\n if (!data.getNodeCache(setting, node.tId)) {\r\n return;\r\n }\r\n\r\n $$(node, setting).remove();\r\n data.removeNodeCache(setting, node);\r\n data.removeSelectedNode(setting, node);\r\n\r\n var children = data.nodeChildren(setting, parentNode);\r\n for (var i = 0, l = children.length; i < l; i++) {\r\n if (children[i].tId == node.tId) {\r\n children.splice(i, 1);\r\n break;\r\n }\r\n }\r\n view.setFirstNode(setting, parentNode);\r\n view.setLastNode(setting, parentNode);\r\n\r\n var tmp_ulObj, tmp_switchObj, tmp_icoObj,\r\n childLength = children.length;\r\n\r\n //repair nodes old parent\r\n if (!setting.data.keep.parent && childLength == 0) {\r\n //old parentNode has no child nodes\r\n data.nodeIsParent(setting, parentNode, false);\r\n parentNode.open = false;\r\n delete parentNode[setting.data.key.children];\r\n tmp_ulObj = $$(parentNode, consts.id.UL, setting);\r\n tmp_switchObj = $$(parentNode, consts.id.SWITCH, setting);\r\n tmp_icoObj = $$(parentNode, consts.id.ICON, setting);\r\n view.replaceSwitchClass(parentNode, tmp_switchObj, consts.folder.DOCU);\r\n view.replaceIcoClass(parentNode, tmp_icoObj, consts.folder.DOCU);\r\n tmp_ulObj.css(\"display\", \"none\");\r\n\r\n } else if (setting.view.showLine && childLength > 0) {\r\n //old parentNode has child nodes\r\n var newLast = children[childLength - 1];\r\n tmp_ulObj = $$(newLast, consts.id.UL, setting);\r\n tmp_switchObj = $$(newLast, consts.id.SWITCH, setting);\r\n tmp_icoObj = $$(newLast, consts.id.ICON, setting);\r\n if (parentNode == root) {\r\n if (children.length == 1) {\r\n //node was root, and ztree has only one root after move node\r\n view.replaceSwitchClass(newLast, tmp_switchObj, consts.line.ROOT);\r\n } else {\r\n var tmp_first_switchObj = $$(children[0], consts.id.SWITCH, setting);\r\n view.replaceSwitchClass(children[0], tmp_first_switchObj, consts.line.ROOTS);\r\n view.replaceSwitchClass(newLast, tmp_switchObj, consts.line.BOTTOM);\r\n }\r\n } else {\r\n view.replaceSwitchClass(newLast, tmp_switchObj, consts.line.BOTTOM);\r\n }\r\n tmp_ulObj.removeClass(consts.line.LINE);\r\n }\r\n },\r\n replaceIcoClass: function (node, obj, newName) {\r\n if (!obj || node.isAjaxing) return;\r\n var tmpName = obj.attr(\"class\");\r\n \r\n if (tmpName == undefined) return;\r\n var tmpList = tmpName.split(\"_\");\r\n\r\n const valType = typeof tmpName;\r\n if(valType === 'array') {\r\n switch (newName) {\r\n case consts.folder.OPEN:\r\n case consts.folder.CLOSE:\r\n case consts.folder.DOCU:\r\n tmpList[tmpList.length - 1] = newName;\r\n break;\r\n }\r\n obj.attr(\"class\", tmpList.join(\"_\"));\r\n }\r\n\r\n if(valType === 'string') {\r\n // 啥也不干\r\n }\r\n \r\n },\r\n replaceSwitchClass: function (node, obj, newName) {\r\n if (!obj) return;\r\n var tmpName = obj.attr(\"class\");\r\n if (tmpName == undefined) return;\r\n var tmpList = tmpName.split(\"_\");\r\n switch (newName) {\r\n case consts.line.ROOT:\r\n case consts.line.ROOTS:\r\n case consts.line.CENTER:\r\n case consts.line.BOTTOM:\r\n case consts.line.NOLINE:\r\n tmpList[0] = view.makeNodeLineClassEx(node) + newName;\r\n break;\r\n case consts.folder.OPEN:\r\n case consts.folder.CLOSE:\r\n case consts.folder.DOCU:\r\n tmpList[1] = newName;\r\n break;\r\n }\r\n obj.attr(\"class\", tmpList.join(\"_\"));\r\n if (newName !== consts.folder.DOCU) {\r\n obj.removeAttr(\"disabled\");\r\n } else {\r\n obj.attr(\"disabled\", \"disabled\");\r\n }\r\n },\r\n selectNode: function (setting, node, addFlag) {\r\n if (!addFlag) {\r\n view.cancelPreSelectedNode(setting, null, node);\r\n }\r\n $$(node, consts.id.A, setting).addClass(consts.node.CURSELECTED);\r\n data.addSelectedNode(setting, node);\r\n setting.treeObj.trigger(consts.event.SELECTED, [setting.treeId, node]);\r\n },\r\n setNodeFontCss: function (setting, treeNode) {\r\n var aObj = $$(treeNode, consts.id.A, setting),\r\n fontCss = view.makeNodeFontCss(setting, treeNode);\r\n if (fontCss) {\r\n aObj.css(fontCss);\r\n }\r\n },\r\n setNodeLineIcos: function (setting, node) {\r\n if (!node) return;\r\n var switchObj = $$(node, consts.id.SWITCH, setting),\r\n ulObj = $$(node, consts.id.UL, setting),\r\n icoObj = $$(node, consts.id.ICON, setting),\r\n ulLine = view.makeUlLineClass(setting, node);\r\n if (ulLine.length == 0) {\r\n ulObj.removeClass(consts.line.LINE);\r\n } else {\r\n ulObj.addClass(ulLine);\r\n }\r\n switchObj.attr(\"class\", view.makeNodeLineClass(setting, node));\r\n if (data.nodeIsParent(setting, node)) {\r\n switchObj.removeAttr(\"disabled\");\r\n } else {\r\n switchObj.attr(\"disabled\", \"disabled\");\r\n }\r\n icoObj.removeAttr(\"style\");\r\n icoObj.attr(\"style\", view.makeNodeIcoStyle(setting, node));\r\n icoObj.attr(\"class\", view.makeNodeIcoClass(setting, node));\r\n },\r\n setNodeName: function (setting, node) {\r\n var title = data.nodeTitle(setting, node),\r\n nObj = $$(node, consts.id.SPAN, setting);\r\n nObj.empty();\r\n if (setting.view.nameIsHTML) {\r\n nObj.html(data.nodeName(setting, node));\r\n } else {\r\n nObj.text(data.nodeName(setting, node));\r\n }\r\n if (tools.apply(setting.view.showTitle, [setting.treeId, node], setting.view.showTitle)) {\r\n var aObj = $$(node, consts.id.A, setting);\r\n aObj.attr(\"title\", !title ? \"\" : title);\r\n }\r\n },\r\n setNodeTarget: function (setting, node) {\r\n var aObj = $$(node, consts.id.A, setting);\r\n aObj.attr(\"target\", view.makeNodeTarget(node));\r\n },\r\n setNodeUrl: function (setting, node) {\r\n var aObj = $$(node, consts.id.A, setting),\r\n url = view.makeNodeUrl(setting, node);\r\n if (url == null || url.length == 0) {\r\n aObj.removeAttr(\"href\");\r\n } else {\r\n aObj.attr(\"href\", url);\r\n }\r\n },\r\n switchNode: function (setting, node) {\r\n if (node.open || !tools.canAsync(setting, node)) {\r\n view.expandCollapseNode(setting, node, !node.open);\r\n } else if (setting.async.enable) {\r\n if (!view.asyncNode(setting, node)) {\r\n view.expandCollapseNode(setting, node, !node.open);\r\n return;\r\n }\r\n } else if (node) {\r\n view.expandCollapseNode(setting, node, !node.open);\r\n }\r\n }\r\n };\r\n // zTree defind\r\n $.fn.zTree = {\r\n consts: _consts,\r\n _z: {\r\n tools: tools,\r\n view: view,\r\n event: event,\r\n data: data\r\n },\r\n getZTreeObj: function (treeId) {\r\n var o = data.getZTreeTools(treeId);\r\n return o ? o : null;\r\n },\r\n destroy: function (treeId) {\r\n if (!!treeId && treeId.length > 0) {\r\n view.destroy(data.getSetting(treeId));\r\n } else {\r\n for (var s in settings) {\r\n view.destroy(settings[s]);\r\n }\r\n }\r\n },\r\n init: function (obj, zSetting, zNodes) {\r\n var setting = tools.clone(_setting);\r\n $.extend(true, setting, zSetting);\r\n setting.treeId = obj.attr(\"id\");\r\n setting.treeObj = obj;\r\n setting.treeObj.empty();\r\n settings[setting.treeId] = setting;\r\n //For some older browser,(e.g., ie6)\r\n if (typeof document.body.style.maxHeight === \"undefined\") {\r\n setting.view.expandSpeed = \"\";\r\n }\r\n data.initRoot(setting);\r\n var root = data.getRoot(setting);\r\n zNodes = zNodes ? tools.clone(tools.isArray(zNodes) ? zNodes : [zNodes]) : [];\r\n if (setting.data.simpleData.enable) {\r\n data.nodeChildren(setting, root, data.transformTozTreeFormat(setting, zNodes));\r\n } else {\r\n data.nodeChildren(setting, root, zNodes);\r\n }\r\n\r\n data.initCache(setting);\r\n event.unbindTree(setting);\r\n event.bindTree(setting);\r\n event.unbindEvent(setting);\r\n event.bindEvent(setting);\r\n\r\n var zTreeTools = {\r\n setting: setting,\r\n addNodes: function (parentNode, index, newNodes, isSilent) {\r\n if (!parentNode) parentNode = null;\r\n var isParent = data.nodeIsParent(setting, parentNode);\r\n if (parentNode && !isParent && setting.data.keep.leaf) return null;\r\n\r\n var i = parseInt(index, 10);\r\n if (isNaN(i)) {\r\n isSilent = !!newNodes;\r\n newNodes = index;\r\n index = -1;\r\n } else {\r\n index = i;\r\n }\r\n if (!newNodes) return null;\r\n\r\n\r\n var xNewNodes = tools.clone(tools.isArray(newNodes) ? newNodes : [newNodes]);\r\n\r\n function addCallback() {\r\n view.addNodes(setting, parentNode, index, xNewNodes, (isSilent == true));\r\n }\r\n\r\n if (tools.canAsync(setting, parentNode)) {\r\n view.asyncNode(setting, parentNode, isSilent, addCallback);\r\n } else {\r\n addCallback();\r\n }\r\n return xNewNodes;\r\n },\r\n cancelSelectedNode: function (node) {\r\n view.cancelPreSelectedNode(setting, node);\r\n },\r\n destroy: function () {\r\n view.destroy(setting);\r\n },\r\n expandAll: function (expandFlag) {\r\n expandFlag = !!expandFlag;\r\n view.expandCollapseSonNode(setting, null, expandFlag, true);\r\n return expandFlag;\r\n },\r\n expandNode: function (node, expandFlag, sonSign, focus, callbackFlag) {\r\n if (!node || !data.nodeIsParent(setting, node)) return null;\r\n if (expandFlag !== true && expandFlag !== false) {\r\n expandFlag = !node.open;\r\n }\r\n callbackFlag = !!callbackFlag;\r\n\r\n if (callbackFlag && expandFlag && (tools.apply(setting.callback.beforeExpand, [setting.treeId, node], true) == false)) {\r\n return null;\r\n } else if (callbackFlag && !expandFlag && (tools.apply(setting.callback.beforeCollapse, [setting.treeId, node], true) == false)) {\r\n return null;\r\n }\r\n if (expandFlag && node.parentTId) {\r\n view.expandCollapseParentNode(setting, node.getParentNode(), expandFlag, false);\r\n }\r\n if (expandFlag === node.open && !sonSign) {\r\n return null;\r\n }\r\n\r\n data.getRoot(setting).expandTriggerFlag = callbackFlag;\r\n if (!tools.canAsync(setting, node) && sonSign) {\r\n view.expandCollapseSonNode(setting, node, expandFlag, true, showNodeFocus);\r\n } else {\r\n node.open = !expandFlag;\r\n view.switchNode(this.setting, node);\r\n showNodeFocus();\r\n }\r\n return expandFlag;\r\n\r\n function showNodeFocus() {\r\n var a = $$(node, setting).get(0);\r\n if (a && focus !== false) {\r\n view.scrollIntoView(setting, a);\r\n }\r\n }\r\n },\r\n getNodes: function () {\r\n return data.getNodes(setting);\r\n },\r\n getNodeByParam: function (key, value, parentNode) {\r\n if (!key) return null;\r\n return data.getNodeByParam(setting, parentNode ? data.nodeChildren(setting, parentNode) : data.getNodes(setting), key, value);\r\n },\r\n getNodeByTId: function (tId) {\r\n return data.getNodeCache(setting, tId);\r\n },\r\n getNodesByParam: function (key, value, parentNode) {\r\n if (!key) return null;\r\n return data.getNodesByParam(setting, parentNode ? data.nodeChildren(setting, parentNode) : data.getNodes(setting), key, value);\r\n },\r\n getNodesByParamFuzzy: function (key, value, parentNode) {\r\n if (!key) return null;\r\n return data.getNodesByParamFuzzy(setting, parentNode ? data.nodeChildren(setting, parentNode) : data.getNodes(setting), key, value);\r\n },\r\n getNodesByFilter: function (filter, isSingle, parentNode, invokeParam) {\r\n isSingle = !!isSingle;\r\n if (!filter || (typeof filter != \"function\")) return (isSingle ? null : []);\r\n return data.getNodesByFilter(setting, parentNode ? data.nodeChildren(setting, parentNode) : data.getNodes(setting), filter, isSingle, invokeParam);\r\n },\r\n getNodeIndex: function (node) {\r\n if (!node) return null;\r\n var parentNode = (node.parentTId) ? node.getParentNode() : data.getRoot(setting);\r\n var children = data.nodeChildren(setting, parentNode);\r\n for (var i = 0, l = children.length; i < l; i++) {\r\n if (children[i] == node) return i;\r\n }\r\n return -1;\r\n },\r\n getSelectedNodes: function () {\r\n var r = [], list = data.getRoot(setting).curSelectedList;\r\n for (var i = 0, l = list.length; i < l; i++) {\r\n r.push(list[i]);\r\n }\r\n return r;\r\n },\r\n isSelectedNode: function (node) {\r\n return data.isSelectedNode(setting, node);\r\n },\r\n reAsyncChildNodesPromise: function (parentNode, reloadType, isSilent) {\r\n var promise = new Promise(function (resolve, reject) {\r\n try {\r\n zTreeTools.reAsyncChildNodes(parentNode, reloadType, isSilent, function () {\r\n resolve(parentNode);\r\n });\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n return promise;\r\n },\r\n reAsyncChildNodes: function (parentNode, reloadType, isSilent, callback) {\r\n if (!this.setting.async.enable) return;\r\n var isRoot = !parentNode;\r\n if (isRoot) {\r\n parentNode = data.getRoot(setting);\r\n }\r\n if (reloadType == \"refresh\") {\r\n var children = data.nodeChildren(setting, parentNode);\r\n for (var i = 0, l = children ? children.length : 0; i < l; i++) {\r\n data.removeNodeCache(setting, children[i]);\r\n }\r\n data.removeSelectedNode(setting);\r\n data.nodeChildren(setting, parentNode, []);\r\n if (isRoot) {\r\n this.setting.treeObj.empty();\r\n } else {\r\n var ulObj = $$(parentNode, consts.id.UL, setting);\r\n ulObj.empty();\r\n }\r\n }\r\n view.asyncNode(this.setting, isRoot ? null : parentNode, !!isSilent, callback);\r\n },\r\n refresh: function () {\r\n this.setting.treeObj.empty();\r\n var root = data.getRoot(setting),\r\n nodes = data.nodeChildren(setting, root);\r\n data.initRoot(setting);\r\n data.nodeChildren(setting, root, nodes);\r\n data.initCache(setting);\r\n view.createNodes(setting, 0, data.nodeChildren(setting, root), null, -1);\r\n },\r\n removeChildNodes: function (node) {\r\n if (!node) return null;\r\n var nodes = data.nodeChildren(setting, node);\r\n view.removeChildNodes(setting, node);\r\n return nodes ? nodes : null;\r\n },\r\n removeNode: function (node, callbackFlag) {\r\n if (!node) return;\r\n callbackFlag = !!callbackFlag;\r\n if (callbackFlag && tools.apply(setting.callback.beforeRemove, [setting.treeId, node], true) == false) return;\r\n view.removeNode(setting, node);\r\n if (callbackFlag) {\r\n this.setting.treeObj.trigger(consts.event.REMOVE, [setting.treeId, node]);\r\n }\r\n },\r\n selectNode: function (node, addFlag, isSilent) {\r\n if (!node) return;\r\n if (tools.uCanDo(setting)) {\r\n addFlag = setting.view.selectedMulti && addFlag;\r\n if (node.parentTId) {\r\n view.expandCollapseParentNode(setting, node.getParentNode(), true, false, showNodeFocus);\r\n } else if (!isSilent) {\r\n try {\r\n $$(node, setting).focus().blur();\r\n } catch (e) {\r\n }\r\n }\r\n view.selectNode(setting, node, addFlag);\r\n }\r\n\r\n function showNodeFocus() {\r\n if (isSilent) {\r\n return;\r\n }\r\n var a = $$(node, setting).get(0);\r\n view.scrollIntoView(setting, a);\r\n }\r\n },\r\n transformTozTreeNodes: function (simpleNodes) {\r\n return data.transformTozTreeFormat(setting, simpleNodes);\r\n },\r\n transformToArray: function (nodes) {\r\n return data.transformToArrayFormat(setting, nodes);\r\n },\r\n updateNode: function (node, checkTypeFlag) {\r\n if (!node) return;\r\n var nObj = $$(node, setting);\r\n if (nObj.get(0) && tools.uCanDo(setting)) {\r\n view.setNodeName(setting, node);\r\n view.setNodeTarget(setting, node);\r\n view.setNodeUrl(setting, node);\r\n view.setNodeLineIcos(setting, node);\r\n view.setNodeFontCss(setting, node);\r\n }\r\n }\r\n };\r\n root.treeTools = zTreeTools;\r\n data.setZTreeTools(setting, zTreeTools);\r\n var children = data.nodeChildren(setting, root);\r\n if (children && children.length > 0) {\r\n view.createNodes(setting, 0, children, null, -1);\r\n } else if (setting.async.enable && setting.async.url && setting.async.url !== '') {\r\n view.asyncNode(setting);\r\n }\r\n return zTreeTools;\r\n }\r\n };\r\n\r\n var zt = $.fn.zTree,\r\n $$ = tools.$,\r\n consts = zt.consts;\r\n})(jQuery);\r\n/*\r\n * JQuery zTree excheck v3.5.41\r\n * http://treejs.cn/\r\n *\r\n * Copyright (c) 2010 Hunter.z\r\n *\r\n * Licensed same as jquery - MIT License\r\n * http://www.opensource.org/licenses/mit-license.php\r\n *\r\n * Date: 2020-01-06\r\n */\r\n(function ($) {\r\n //default consts of excheck\r\n var _consts = {\r\n event: {\r\n CHECK: \"ztree_check\"\r\n },\r\n id: {\r\n CHECK: \"_check\"\r\n },\r\n checkbox: {\r\n STYLE: \"checkbox\",\r\n DEFAULT: \"chk\",\r\n DISABLED: \"disable\",\r\n FALSE: \"false\",\r\n TRUE: \"true\",\r\n FULL: \"full\",\r\n PART: \"part\",\r\n FOCUS: \"focus\"\r\n },\r\n radio: {\r\n STYLE: \"radio\",\r\n TYPE_ALL: \"all\",\r\n TYPE_LEVEL: \"level\"\r\n }\r\n },\r\n //default setting of excheck\r\n _setting = {\r\n check: {\r\n enable: false,\r\n autoCheckTrigger: false,\r\n chkStyle: _consts.checkbox.STYLE,\r\n nocheckInherit: false,\r\n chkDisabledInherit: false,\r\n radioType: _consts.radio.TYPE_LEVEL,\r\n chkboxType: {\r\n \"Y\": \"ps\",\r\n \"N\": \"ps\"\r\n }\r\n },\r\n data: {\r\n key: {\r\n checked: \"checked\"\r\n }\r\n },\r\n callback: {\r\n beforeCheck: null,\r\n onCheck: null\r\n }\r\n },\r\n //default root of excheck\r\n _initRoot = function (setting) {\r\n var r = data.getRoot(setting);\r\n r.radioCheckedList = [];\r\n },\r\n //default cache of excheck\r\n _initCache = function (treeId) {\r\n },\r\n //default bind event of excheck\r\n _bindEvent = function (setting) {\r\n var o = setting.treeObj,\r\n c = consts.event;\r\n o.bind(c.CHECK, function (event, srcEvent, treeId, node) {\r\n event.srcEvent = srcEvent;\r\n tools.apply(setting.callback.onCheck, [event, treeId, node]);\r\n });\r\n },\r\n _unbindEvent = function (setting) {\r\n var o = setting.treeObj,\r\n c = consts.event;\r\n o.unbind(c.CHECK);\r\n },\r\n //default event proxy of excheck\r\n _eventProxy = function (e) {\r\n var target = e.target,\r\n setting = data.getSetting(e.data.treeId),\r\n tId = \"\", node = null,\r\n nodeEventType = \"\", treeEventType = \"\",\r\n nodeEventCallback = null, treeEventCallback = null;\r\n\r\n if (tools.eqs(e.type, \"mouseover\")) {\r\n if (setting.check.enable && tools.eqs(target.tagName, \"span\") && target.getAttribute(\"treeNode\" + consts.id.CHECK) !== null) {\r\n tId = tools.getNodeMainDom(target).id;\r\n nodeEventType = \"mouseoverCheck\";\r\n }\r\n } else if (tools.eqs(e.type, \"mouseout\")) {\r\n if (setting.check.enable && tools.eqs(target.tagName, \"span\") && target.getAttribute(\"treeNode\" + consts.id.CHECK) !== null) {\r\n tId = tools.getNodeMainDom(target).id;\r\n nodeEventType = \"mouseoutCheck\";\r\n }\r\n } else if (tools.eqs(e.type, \"click\")) {\r\n if (setting.check.enable && tools.eqs(target.tagName, \"span\") && target.getAttribute(\"treeNode\" + consts.id.CHECK) !== null) {\r\n tId = tools.getNodeMainDom(target).id;\r\n nodeEventType = \"checkNode\";\r\n }\r\n }\r\n if (tId.length > 0) {\r\n node = data.getNodeCache(setting, tId);\r\n switch (nodeEventType) {\r\n case \"checkNode\" :\r\n nodeEventCallback = _handler.onCheckNode;\r\n break;\r\n case \"mouseoverCheck\" :\r\n nodeEventCallback = _handler.onMouseoverCheck;\r\n break;\r\n case \"mouseoutCheck\" :\r\n nodeEventCallback = _handler.onMouseoutCheck;\r\n break;\r\n }\r\n }\r\n var proxyResult = {\r\n stop: nodeEventType === \"checkNode\",\r\n node: node,\r\n nodeEventType: nodeEventType,\r\n nodeEventCallback: nodeEventCallback,\r\n treeEventType: treeEventType,\r\n treeEventCallback: treeEventCallback\r\n };\r\n return proxyResult\r\n },\r\n //default init node of excheck\r\n _initNode = function (setting, level, n, parentNode, isFirstNode, isLastNode, openFlag) {\r\n if (!n) return;\r\n var checked = data.nodeChecked(setting, n);\r\n n.checkedOld = checked;\r\n if (typeof n.nocheck == \"string\") n.nocheck = tools.eqs(n.nocheck, \"true\");\r\n n.nocheck = !!n.nocheck || (setting.check.nocheckInherit && parentNode && !!parentNode.nocheck);\r\n if (typeof n.chkDisabled == \"string\") n.chkDisabled = tools.eqs(n.chkDisabled, \"true\");\r\n n.chkDisabled = !!n.chkDisabled || (setting.check.chkDisabledInherit && parentNode && !!parentNode.chkDisabled);\r\n if (typeof n.halfCheck == \"string\") n.halfCheck = tools.eqs(n.halfCheck, \"true\");\r\n n.halfCheck = !!n.halfCheck;\r\n n.check_Child_State = -1;\r\n n.check_Focus = false;\r\n n.getCheckStatus = function () {\r\n return data.getCheckStatus(setting, n);\r\n };\r\n\r\n if (setting.check.chkStyle == consts.radio.STYLE && setting.check.radioType == consts.radio.TYPE_ALL && checked) {\r\n var r = data.getRoot(setting);\r\n r.radioCheckedList.push(n);\r\n }\r\n },\r\n //add dom for check\r\n _beforeA = function (setting, node, html) {\r\n if (setting.check.enable) {\r\n data.makeChkFlag(setting, node);\r\n html.push(\"<span ID='\", node.tId, consts.id.CHECK, \"' class='\", view.makeChkClass(setting, node), \"' treeNode\", consts.id.CHECK, (node.nocheck === true ? \" style='display:none;'\" : \"\"), \"></span>\");\r\n }\r\n },\r\n //update zTreeObj, add method of check\r\n _zTreeTools = function (setting, zTreeTools) {\r\n zTreeTools.checkNode = function (node, checked, checkTypeFlag, callbackFlag) {\r\n var nodeChecked = data.nodeChecked(setting, node);\r\n if (node.chkDisabled === true) return;\r\n if (checked !== true && checked !== false) {\r\n checked = !nodeChecked;\r\n }\r\n callbackFlag = !!callbackFlag;\r\n\r\n if (nodeChecked === checked && !checkTypeFlag) {\r\n return;\r\n } else if (callbackFlag && tools.apply(this.setting.callback.beforeCheck, [this.setting.treeId, node], true) == false) {\r\n return;\r\n }\r\n if (tools.uCanDo(this.setting) && this.setting.check.enable && node.nocheck !== true) {\r\n data.nodeChecked(setting, node, checked);\r\n var checkObj = $$(node, consts.id.CHECK, this.setting);\r\n if (checkTypeFlag || this.setting.check.chkStyle === consts.radio.STYLE) view.checkNodeRelation(this.setting, node);\r\n view.setChkClass(this.setting, checkObj, node);\r\n view.repairParentChkClassWithSelf(this.setting, node);\r\n if (callbackFlag) {\r\n this.setting.treeObj.trigger(consts.event.CHECK, [null, this.setting.treeId, node]);\r\n }\r\n }\r\n }\r\n\r\n zTreeTools.checkAllNodes = function (checked) {\r\n view.repairAllChk(this.setting, !!checked);\r\n }\r\n\r\n zTreeTools.getCheckedNodes = function (checked) {\r\n checked = (checked !== false);\r\n var children = data.nodeChildren(setting, data.getRoot(this.setting));\r\n return data.getTreeCheckedNodes(this.setting, children, checked);\r\n }\r\n\r\n zTreeTools.getChangeCheckedNodes = function () {\r\n var children = data.nodeChildren(setting, data.getRoot(this.setting));\r\n return data.getTreeChangeCheckedNodes(this.setting, children);\r\n }\r\n\r\n zTreeTools.setChkDisabled = function (node, disabled, inheritParent, inheritChildren) {\r\n disabled = !!disabled;\r\n inheritParent = !!inheritParent;\r\n inheritChildren = !!inheritChildren;\r\n view.repairSonChkDisabled(this.setting, node, disabled, inheritChildren);\r\n view.repairParentChkDisabled(this.setting, node.getParentNode(), disabled, inheritParent);\r\n }\r\n\r\n var _updateNode = zTreeTools.updateNode;\r\n zTreeTools.updateNode = function (node, checkTypeFlag) {\r\n if (_updateNode) _updateNode.apply(zTreeTools, arguments);\r\n if (!node || !this.setting.check.enable) return;\r\n var nObj = $$(node, this.setting);\r\n if (nObj.get(0) && tools.uCanDo(this.setting)) {\r\n var checkObj = $$(node, consts.id.CHECK, this.setting);\r\n if (checkTypeFlag == true || this.setting.check.chkStyle === consts.radio.STYLE) view.checkNodeRelation(this.setting, node);\r\n view.setChkClass(this.setting, checkObj, node);\r\n view.repairParentChkClassWithSelf(this.setting, node);\r\n }\r\n }\r\n },\r\n //method of operate data\r\n _data = {\r\n getRadioCheckedList: function (setting) {\r\n var checkedList = data.getRoot(setting).radioCheckedList;\r\n for (var i = 0, j = checkedList.length; i < j; i++) {\r\n if (!data.getNodeCache(setting, checkedList[i].tId)) {\r\n checkedList.splice(i, 1);\r\n i--;\r\n j--;\r\n }\r\n }\r\n return checkedList;\r\n },\r\n getCheckStatus: function (setting, node) {\r\n if (!setting.check.enable || node.nocheck || node.chkDisabled) return null;\r\n var checked = data.nodeChecked(setting, node),\r\n r = {\r\n checked: checked,\r\n half: node.halfCheck ? node.halfCheck : (setting.check.chkStyle == consts.radio.STYLE ? (node.check_Child_State === 2) : (checked ? (node.check_Child_State > -1 && node.check_Child_State < 2) : (node.check_Child_State > 0)))\r\n };\r\n return r;\r\n },\r\n getTreeCheckedNodes: function (setting, nodes, checked, results) {\r\n if (!nodes) return [];\r\n var onlyOne = (checked && setting.check.chkStyle == consts.radio.STYLE && setting.check.radioType == consts.radio.TYPE_ALL);\r\n results = !results ? [] : results;\r\n for (var i = 0, l = nodes.length; i < l; i++) {\r\n var node = nodes[i];\r\n var children = data.nodeChildren(setting, node);\r\n var nodeChecked = data.nodeChecked(setting, node);\r\n if (node.nocheck !== true && node.chkDisabled !== true && nodeChecked == checked) {\r\n results.push(node);\r\n if (onlyOne) {\r\n break;\r\n }\r\n }\r\n data.getTreeCheckedNodes(setting, children, checked, results);\r\n if (onlyOne && results.length > 0) {\r\n break;\r\n }\r\n }\r\n return results;\r\n },\r\n getTreeChangeCheckedNodes: function (setting, nodes, results) {\r\n if (!nodes) return [];\r\n results = !results ? [] : results;\r\n for (var i = 0, l = nodes.length; i < l; i++) {\r\n var node = nodes[i];\r\n var children = data.nodeChildren(setting, node);\r\n var nodeChecked = data.nodeChecked(setting, node);\r\n if (node.nocheck !== true && node.chkDisabled !== true && nodeChecked != node.checkedOld) {\r\n results.push(node);\r\n }\r\n data.getTreeChangeCheckedNodes(setting, children, results);\r\n }\r\n return results;\r\n },\r\n makeChkFlag: function (setting, node) {\r\n if (!node) return;\r\n var chkFlag = -1;\r\n var children = data.nodeChildren(setting, node);\r\n if (children) {\r\n for (var i = 0, l = children.length; i < l; i++) {\r\n var cNode = children[i];\r\n var nodeChecked = data.nodeChecked(setting, cNode);\r\n var tmp = -1;\r\n if (setting.check.chkStyle == consts.radio.STYLE) {\r\n if (cNode.nocheck === true || cNode.chkDisabled === true) {\r\n tmp = cNode.check_Child_State;\r\n } else if (cNode.halfCheck === true) {\r\n tmp = 2;\r\n } else if (nodeChecked) {\r\n tmp = 2;\r\n } else {\r\n tmp = cNode.check_Child_State > 0 ? 2 : 0;\r\n }\r\n if (tmp == 2) {\r\n chkFlag = 2;\r\n break;\r\n } else if (tmp == 0) {\r\n chkFlag = 0;\r\n }\r\n } else if (setting.check.chkStyle == consts.checkbox.STYLE) {\r\n if (cNode.nocheck === true || cNode.chkDisabled === true) {\r\n tmp = cNode.check_Child_State;\r\n } else if (cNode.halfCheck === true) {\r\n tmp = 1;\r\n } else if (nodeChecked) {\r\n tmp = (cNode.check_Child_State === -1 || cNode.check_Child_State === 2) ? 2 : 1;\r\n } else {\r\n tmp = (cNode.check_Child_State > 0) ? 1 : 0;\r\n }\r\n if (tmp === 1) {\r\n chkFlag = 1;\r\n break;\r\n } else if (tmp === 2 && chkFlag > -1 && i > 0 && tmp !== chkFlag) {\r\n chkFlag = 1;\r\n break;\r\n } else if (chkFlag === 2 && tmp > -1 && tmp < 2) {\r\n chkFlag = 1;\r\n break;\r\n } else if (tmp > -1) {\r\n chkFlag = tmp;\r\n }\r\n }\r\n }\r\n }\r\n node.check_Child_State = chkFlag;\r\n }\r\n },\r\n //method of event proxy\r\n _event = {},\r\n //method of event handler\r\n _handler = {\r\n onCheckNode: function (event, node) {\r\n if (node.chkDisabled === true) return false;\r\n var setting = data.getSetting(event.data.treeId);\r\n if (tools.apply(setting.callback.beforeCheck, [setting.treeId, node], true) == false) return true;\r\n var nodeChecked = data.nodeChecked(setting, node);\r\n data.nodeChecked(setting, node, !nodeChecked);\r\n view.checkNodeRelation(setting, node);\r\n var checkObj = $$(node, consts.id.CHECK, setting);\r\n view.setChkClass(setting, checkObj, node);\r\n view.repairParentChkClassWithSelf(setting, node);\r\n setting.treeObj.trigger(consts.event.CHECK, [event, setting.treeId, node]);\r\n return true;\r\n },\r\n onMouseoverCheck: function (event, node) {\r\n if (node.chkDisabled === true) return false;\r\n var setting = data.getSetting(event.data.treeId),\r\n checkObj = $$(node, consts.id.CHECK, setting);\r\n node.check_Focus = true;\r\n view.setChkClass(setting, checkObj, node);\r\n return true;\r\n },\r\n onMouseoutCheck: function (event, node) {\r\n if (node.chkDisabled === true) return false;\r\n var setting = data.getSetting(event.data.treeId),\r\n checkObj = $$(node, consts.id.CHECK, setting);\r\n node.check_Focus = false;\r\n view.setChkClass(setting, checkObj, node);\r\n return true;\r\n }\r\n },\r\n //method of tools for zTree\r\n _tools = {},\r\n //method of operate ztree dom\r\n _view = {\r\n checkNodeRelation: function (setting, node) {\r\n var pNode, i, l,\r\n r = consts.radio;\r\n var nodeChecked = data.nodeChecked(setting, node);\r\n if (setting.check.chkStyle == r.STYLE) {\r\n var checkedList = data.getRadioCheckedList(setting);\r\n if (nodeChecked) {\r\n if (setting.check.radioType == r.TYPE_ALL) {\r\n for (i = checkedList.length - 1; i >= 0; i--) {\r\n pNode = checkedList[i];\r\n var pNodeChecked = data.nodeChecked(setting, pNode);\r\n if (pNodeChecked && pNode != node) {\r\n data.nodeChecked(setting, pNode, false);\r\n checkedList.splice(i, 1);\r\n\r\n view.setChkClass(setting, $$(pNode, consts.id.CHECK, setting), pNode);\r\n if (pNode.parentTId != node.parentTId) {\r\n view.repairParentChkClassWithSelf(setting, pNode);\r\n }\r\n }\r\n }\r\n checkedList.push(node);\r\n } else {\r\n var parentNode = (node.parentTId) ? node.getParentNode() : data.getRoot(setting);\r\n var children = data.nodeChildren(setting, parentNode);\r\n for (i = 0, l = children.length; i < l; i++) {\r\n pNode = children[i];\r\n var pNodeChecked = data.nodeChecked(setting, pNode);\r\n if (pNodeChecked && pNode != node) {\r\n data.nodeChecked(setting, pNode, false);\r\n view.setChkClass(setting, $$(pNode, consts.id.CHECK, setting), pNode);\r\n }\r\n }\r\n }\r\n } else if (setting.check.radioType == r.TYPE_ALL) {\r\n for (i = 0, l = checkedList.length; i < l; i++) {\r\n if (node == checkedList[i]) {\r\n checkedList.splice(i, 1);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n } else {\r\n var children = data.nodeChildren(setting, node);\r\n if (nodeChecked && (!children || children.length == 0 || setting.check.chkboxType.Y.indexOf(\"s\") > -1)) {\r\n view.setSonNodeCheckBox(setting, node, true);\r\n }\r\n if (!nodeChecked && (!children || children.length == 0 || setting.check.chkboxType.N.indexOf(\"s\") > -1)) {\r\n view.setSonNodeCheckBox(setting, node, false);\r\n }\r\n if (nodeChecked && setting.check.chkboxType.Y.indexOf(\"p\") > -1) {\r\n view.setParentNodeCheckBox(setting, node, true);\r\n }\r\n if (!nodeChecked && setting.check.chkboxType.N.indexOf(\"p\") > -1) {\r\n view.setParentNodeCheckBox(setting, node, false);\r\n }\r\n }\r\n },\r\n makeChkClass: function (setting, node) {\r\n var c = consts.checkbox, r = consts.radio,\r\n fullStyle = \"\";\r\n var nodeChecked = data.nodeChecked(setting, node);\r\n if (node.chkDisabled === true) {\r\n fullStyle = c.DISABLED;\r\n } else if (node.halfCheck) {\r\n fullStyle = c.PART;\r\n } else if (setting.check.chkStyle == r.STYLE) {\r\n fullStyle = (node.check_Child_State < 1) ? c.FULL : c.PART;\r\n } else if (setting.check.chkboxType.Y === ''\r\n && setting.check.chkboxType.N === ''\r\n ) {\r\n fullStyle = c.FULL\r\n } else {\r\n fullStyle = nodeChecked ? ((node.check_Child_State === 2 || node.check_Child_State === -1) ? c.FULL : c.PART) : ((node.check_Child_State < 1) ? c.FULL : c.PART);\r\n }\r\n\r\n var chkName = setting.check.chkStyle + \"_\" + (nodeChecked ? c.TRUE : c.FALSE) + \"_\" + fullStyle;\r\n chkName = (node.check_Focus && node.chkDisabled !== true) ? chkName + \"_\" + c.FOCUS : chkName;\r\n return consts.className.BUTTON + \" \" + c.DEFAULT + \" \" + chkName;\r\n },\r\n repairAllChk: function (setting, checked) {\r\n if (setting.check.enable && setting.check.chkStyle === consts.checkbox.STYLE) {\r\n var root = data.getRoot(setting);\r\n var children = data.nodeChildren(setting, root);\r\n for (var i = 0, l = children.length; i < l; i++) {\r\n var node = children[i];\r\n if (node.nocheck !== true && node.chkDisabled !== true) {\r\n data.nodeChecked(setting, node, checked);\r\n }\r\n view.setSonNodeCheckBox(setting, node, checked);\r\n }\r\n }\r\n },\r\n repairChkClass: function (setting, node) {\r\n if (!node) return;\r\n data.makeChkFlag(setting, node);\r\n if (node.nocheck !== true) {\r\n var checkObj = $$(node, consts.id.CHECK, setting);\r\n view.setChkClass(setting, checkObj, node);\r\n }\r\n },\r\n repairParentChkClass: function (setting, node) {\r\n if (!node || !node.parentTId) return;\r\n var pNode = node.getParentNode();\r\n view.repairChkClass(setting, pNode);\r\n view.repairParentChkClass(setting, pNode);\r\n },\r\n repairParentChkClassWithSelf: function (setting, node) {\r\n if (!node) return;\r\n var children = data.nodeChildren(setting, node);\r\n if (children && children.length > 0) {\r\n view.repairParentChkClass(setting, children[0]);\r\n } else {\r\n view.repairParentChkClass(setting, node);\r\n }\r\n },\r\n repairSonChkDisabled: function (setting, node, chkDisabled, inherit) {\r\n if (!node) return;\r\n if (node.chkDisabled != chkDisabled) {\r\n node.chkDisabled = chkDisabled;\r\n }\r\n view.repairChkClass(setting, node);\r\n var children = data.nodeChildren(setting, node);\r\n if (children && inherit) {\r\n for (var i = 0, l = children.length; i < l; i++) {\r\n var sNode = children[i];\r\n view.repairSonChkDisabled(setting, sNode, chkDisabled, inherit);\r\n }\r\n }\r\n },\r\n repairParentChkDisabled: function (setting, node, chkDisabled, inherit) {\r\n if (!node) return;\r\n if (node.chkDisabled != chkDisabled && inherit) {\r\n node.chkDisabled = chkDisabled;\r\n }\r\n view.repairChkClass(setting, node);\r\n view.repairParentChkDisabled(setting, node.getParentNode(), chkDisabled, inherit);\r\n },\r\n setChkClass: function (setting, obj, node) {\r\n if (!obj) return;\r\n if (node.nocheck === true) {\r\n obj.hide();\r\n } else {\r\n obj.show();\r\n }\r\n obj.attr('class', view.makeChkClass(setting, node));\r\n },\r\n setParentNodeCheckBox: function (setting, node, value, srcNode) {\r\n var checkObj = $$(node, consts.id.CHECK, setting);\r\n if (!srcNode) srcNode = node;\r\n data.makeChkFlag(setting, node);\r\n if (node.nocheck !== true && node.chkDisabled !== true) {\r\n data.nodeChecked(setting, node, value);\r\n view.setChkClass(setting, checkObj, node);\r\n if (setting.check.autoCheckTrigger && node != srcNode) {\r\n setting.treeObj.trigger(consts.event.CHECK, [null, setting.treeId, node]);\r\n }\r\n }\r\n if (node.parentTId) {\r\n var pSign = true;\r\n if (!value) {\r\n var pNodes = data.nodeChildren(setting, node.getParentNode());\r\n for (var i = 0, l = pNodes.length; i < l; i++) {\r\n var pNode = pNodes[i];\r\n var nodeChecked = data.nodeChecked(setting, pNode);\r\n if ((pNode.nocheck !== true && pNode.chkDisabled !== true && nodeChecked)\r\n || ((pNode.nocheck === true || pNode.chkDisabled === true) && pNode.check_Child_State > 0)) {\r\n pSign = false;\r\n break;\r\n }\r\n }\r\n }\r\n if (pSign) {\r\n view.setParentNodeCheckBox(setting, node.getParentNode(), value, srcNode);\r\n }\r\n }\r\n },\r\n setSonNodeCheckBox: function (setting, node, value, srcNode) {\r\n if (!node) return;\r\n var checkObj = $$(node, consts.id.CHECK, setting);\r\n if (!srcNode) srcNode = node;\r\n\r\n var hasDisable = false;\r\n var children = data.nodeChildren(setting, node);\r\n if (children) {\r\n for (var i = 0, l = children.length; i < l; i++) {\r\n var sNode = children[i];\r\n view.setSonNodeCheckBox(setting, sNode, value, srcNode);\r\n if (sNode.chkDisabled === true) hasDisable = true;\r\n }\r\n }\r\n\r\n if (node != data.getRoot(setting) && node.chkDisabled !== true) {\r\n if (hasDisable && node.nocheck !== true) {\r\n data.makeChkFlag(setting, node);\r\n }\r\n if (node.nocheck !== true && node.chkDisabled !== true) {\r\n data.nodeChecked(setting, node, value);\r\n if (!hasDisable) node.check_Child_State = (children && children.length > 0) ? (value ? 2 : 0) : -1;\r\n } else {\r\n node.check_Child_State = -1;\r\n }\r\n view.setChkClass(setting, checkObj, node);\r\n if (setting.check.autoCheckTrigger && node != srcNode && node.nocheck !== true && node.chkDisabled !== true) {\r\n setting.treeObj.trigger(consts.event.CHECK, [null, setting.treeId, node]);\r\n }\r\n }\r\n\r\n }\r\n },\r\n\r\n _z = {\r\n tools: _tools,\r\n view: _view,\r\n event: _event,\r\n data: _data\r\n };\r\n $.extend(true, $.fn.zTree.consts, _consts);\r\n $.extend(true, $.fn.zTree._z, _z);\r\n\r\n var zt = $.fn.zTree,\r\n tools = zt._z.tools,\r\n consts = zt.consts,\r\n view = zt._z.view,\r\n data = zt._z.data,\r\n event = zt._z.event,\r\n $$ = tools.$;\r\n\r\n data.nodeChecked = function (setting, node, newChecked) {\r\n if (!node) {\r\n return false;\r\n }\r\n var key = setting.data.key.checked;\r\n if (typeof newChecked !== 'undefined') {\r\n if (typeof newChecked === \"string\") {\r\n newChecked = tools.eqs(newChecked, \"true\");\r\n }\r\n newChecked = !!newChecked;\r\n node[key] = newChecked;\r\n } else if (typeof node[key] == \"string\"){\r\n node[key] = tools.eqs(node[key], \"true\");\r\n } else {\r\n node[key] = !!node[key];\r\n }\r\n return node[key];\r\n };\r\n\r\n data.exSetting(_setting);\r\n data.addInitBind(_bindEvent);\r\n data.addInitUnBind(_unbindEvent);\r\n data.addInitCache(_initCache);\r\n data.addInitNode(_initNode);\r\n data.addInitProxy(_eventProxy, true);\r\n data.addInitRoot(_initRoot);\r\n data.addBeforeA(_beforeA);\r\n data.addZTreeTools(_zTreeTools);\r\n\r\n var _createNodes = view.createNodes;\r\n view.createNodes = function (setting, level, nodes, parentNode, index) {\r\n if (_createNodes) _createNodes.apply(view, arguments);\r\n if (!nodes) return;\r\n view.repairParentChkClassWithSelf(setting, parentNode);\r\n }\r\n var _removeNode = view.removeNode;\r\n view.removeNode = function (setting, node) {\r\n var parentNode = node.getParentNode();\r\n if (_removeNode) _removeNode.apply(view, arguments);\r\n if (!node || !parentNode) return;\r\n view.repairChkClass(setting, parentNode);\r\n view.repairParentChkClass(setting, parentNode);\r\n }\r\n\r\n var _appendNodes = view.appendNodes;\r\n view.appendNodes = function (setting, level, nodes, parentNode, index, initFlag, openFlag) {\r\n var html = \"\";\r\n if (_appendNodes) {\r\n html = _appendNodes.apply(view, arguments);\r\n }\r\n if (parentNode) {\r\n data.makeChkFlag(setting, parentNode);\r\n }\r\n return html;\r\n }\r\n})(jQuery);\r\n/*\r\n * JQuery zTree exedit v3.5.41\r\n * http://treejs.cn/\r\n *\r\n * Copyright (c) 2010 Hunter.z\r\n *\r\n * Licensed same as jquery - MIT License\r\n * http://www.opensource.org/licenses/mit-license.php\r\n *\r\n * Date: 2020-01-06\r\n */\r\n(function ($) {\r\n //default consts of exedit\r\n var _consts = {\r\n event: {\r\n DRAG: \"ztree_drag\",\r\n DROP: \"ztree_drop\",\r\n RENAME: \"ztree_rename\",\r\n DRAGMOVE: \"ztree_dragmove\"\r\n },\r\n id: {\r\n EDIT: \"_edit\",\r\n INPUT: \"_input\",\r\n REMOVE: \"_remove\"\r\n },\r\n move: {\r\n TYPE_INNER: \"inner\",\r\n TYPE_PREV: \"prev\",\r\n TYPE_NEXT: \"next\"\r\n },\r\n node: {\r\n CURSELECTED_EDIT: \"curSelectedNode_Edit\",\r\n TMPTARGET_TREE: \"tmpTargetzTree\",\r\n TMPTARGET_NODE: \"tmpTargetNode\"\r\n }\r\n },\r\n //default setting of exedit\r\n _setting = {\r\n edit: {\r\n enable: false,\r\n editNameSelectAll: false,\r\n showRemoveBtn: true,\r\n showRenameBtn: true,\r\n removeTitle: \"remove\",\r\n renameTitle: \"rename\",\r\n drag: {\r\n autoExpandTrigger: false,\r\n isCopy: true,\r\n isMove: true,\r\n prev: true,\r\n next: true,\r\n inner: true,\r\n minMoveSize: 5,\r\n borderMax: 10,\r\n borderMin: -5,\r\n maxShowNodeNum: 5,\r\n autoOpenTime: 500\r\n }\r\n },\r\n view: {\r\n addHoverDom: null,\r\n removeHoverDom: null\r\n },\r\n callback: {\r\n beforeDrag: null,\r\n beforeDragOpen: null,\r\n beforeDrop: null,\r\n beforeEditName: null,\r\n beforeRename: null,\r\n onDrag: null,\r\n onDragMove: null,\r\n onDrop: null,\r\n onRename: null\r\n }\r\n },\r\n //default root of exedit\r\n _initRoot = function (setting) {\r\n var r = data.getRoot(setting), rs = data.getRoots();\r\n r.curEditNode = null;\r\n r.curEditInput = null;\r\n r.curHoverNode = null;\r\n r.dragFlag = 0;\r\n r.dragNodeShowBefore = [];\r\n r.dragMaskList = new Array();\r\n rs.showHoverDom = true;\r\n },\r\n //default cache of exedit\r\n _initCache = function (treeId) {\r\n },\r\n //default bind event of exedit\r\n _bindEvent = function (setting) {\r\n var o = setting.treeObj;\r\n var c = consts.event;\r\n o.bind(c.RENAME, function (event, treeId, treeNode, isCancel) {\r\n tools.apply(setting.callback.onRename, [event, treeId, treeNode, isCancel]);\r\n });\r\n\r\n o.bind(c.DRAG, function (event, srcEvent, treeId, treeNodes) {\r\n tools.apply(setting.callback.onDrag, [srcEvent, treeId, treeNodes]);\r\n });\r\n\r\n o.bind(c.DRAGMOVE, function (event, srcEvent, treeId, treeNodes) {\r\n tools.apply(setting.callback.onDragMove, [srcEvent, treeId, treeNodes]);\r\n });\r\n\r\n o.bind(c.DROP, function (event, srcEvent, treeId, treeNodes, targetNode, moveType, isCopy) {\r\n tools.apply(setting.callback.onDrop, [srcEvent, treeId, treeNodes, targetNode, moveType, isCopy]);\r\n });\r\n },\r\n _unbindEvent = function (setting) {\r\n var o = setting.treeObj;\r\n var c = consts.event;\r\n o.unbind(c.RENAME);\r\n o.unbind(c.DRAG);\r\n o.unbind(c.DRAGMOVE);\r\n o.unbind(c.DROP);\r\n },\r\n //default event proxy of exedit\r\n _eventProxy = function (e) {\r\n var target = e.target,\r\n setting = data.getSetting(e.data.treeId),\r\n relatedTarget = e.relatedTarget,\r\n tId = \"\", node = null,\r\n nodeEventType = \"\", treeEventType = \"\",\r\n nodeEventCallback = null, treeEventCallback = null,\r\n tmp = null;\r\n\r\n if (tools.eqs(e.type, \"mouseover\")) {\r\n tmp = tools.getMDom(setting, target, [{tagName: \"a\", attrName: \"treeNode\" + consts.id.A}]);\r\n if (tmp) {\r\n tId = tools.getNodeMainDom(tmp).id;\r\n nodeEventType = \"hoverOverNode\";\r\n }\r\n } else if (tools.eqs(e.type, \"mouseout\")) {\r\n tmp = tools.getMDom(setting, relatedTarget, [{tagName: \"a\", attrName: \"treeNode\" + consts.id.A}]);\r\n if (!tmp) {\r\n tId = \"remove\";\r\n nodeEventType = \"hoverOutNode\";\r\n }\r\n } else if (tools.eqs(e.type, \"mousedown\")) {\r\n tmp = tools.getMDom(setting, target, [{tagName: \"a\", attrName: \"treeNode\" + consts.id.A}]);\r\n if (tmp) {\r\n tId = tools.getNodeMainDom(tmp).id;\r\n nodeEventType = \"mousedownNode\";\r\n }\r\n }\r\n if (tId.length > 0) {\r\n node = data.getNodeCache(setting, tId);\r\n switch (nodeEventType) {\r\n case \"mousedownNode\" :\r\n nodeEventCallback = _handler.onMousedownNode;\r\n break;\r\n case \"hoverOverNode\" :\r\n nodeEventCallback = _handler.onHoverOverNode;\r\n break;\r\n case \"hoverOutNode\" :\r\n nodeEventCallback = _handler.onHoverOutNode;\r\n break;\r\n }\r\n }\r\n var proxyResult = {\r\n stop: false,\r\n node: node,\r\n nodeEventType: nodeEventType,\r\n nodeEventCallback: nodeEventCallback,\r\n treeEventType: treeEventType,\r\n treeEventCallback: treeEventCallback\r\n };\r\n return proxyResult\r\n },\r\n //default init node of exedit\r\n _initNode = function (setting, level, n, parentNode, isFirstNode, isLastNode, openFlag) {\r\n if (!n) return;\r\n n.isHover = false;\r\n n.editNameFlag = false;\r\n },\r\n //update zTreeObj, add method of edit\r\n _zTreeTools = function (setting, zTreeTools) {\r\n zTreeTools.cancelEditName = function (newName) {\r\n var root = data.getRoot(this.setting);\r\n if (!root.curEditNode) return;\r\n view.cancelCurEditNode(this.setting, newName ? newName : null, true);\r\n }\r\n zTreeTools.copyNode = function (targetNode, node, moveType, isSilent) {\r\n if (!node) return null;\r\n var isParent = data.nodeIsParent(setting, targetNode);\r\n if (targetNode && !isParent && this.setting.data.keep.leaf && moveType === consts.move.TYPE_INNER) return null;\r\n var _this = this,\r\n newNode = tools.clone(node);\r\n if (!targetNode) {\r\n targetNode = null;\r\n moveType = consts.move.TYPE_INNER;\r\n }\r\n if (moveType == consts.move.TYPE_INNER) {\r\n function copyCallback() {\r\n view.addNodes(_this.setting, targetNode, -1, [newNode], isSilent);\r\n }\r\n\r\n if (tools.canAsync(this.setting, targetNode)) {\r\n view.asyncNode(this.setting, targetNode, isSilent, copyCallback);\r\n } else {\r\n copyCallback();\r\n }\r\n } else {\r\n view.addNodes(this.setting, targetNode.parentNode, -1, [newNode], isSilent);\r\n view.moveNode(this.setting, targetNode, newNode, moveType, false, isSilent);\r\n }\r\n return newNode;\r\n }\r\n zTreeTools.editName = function (node) {\r\n if (!node || !node.tId || node !== data.getNodeCache(this.setting, node.tId)) return;\r\n if (node.parentTId) view.expandCollapseParentNode(this.setting, node.getParentNode(), true);\r\n view.editNode(this.setting, node)\r\n }\r\n zTreeTools.moveNode = function (targetNode, node, moveType, isSilent) {\r\n if (!node) return node;\r\n var isParent = data.nodeIsParent(setting, targetNode);\r\n if (targetNode && !isParent && this.setting.data.keep.leaf && moveType === consts.move.TYPE_INNER) {\r\n return null;\r\n } else if (targetNode && ((node.parentTId == targetNode.tId && moveType == consts.move.TYPE_INNER) || $$(node, this.setting).find(\"#\" + targetNode.tId).length > 0)) {\r\n return null;\r\n } else if (!targetNode) {\r\n targetNode = null;\r\n }\r\n var _this = this;\r\n\r\n function moveCallback() {\r\n view.moveNode(_this.setting, targetNode, node, moveType, false, isSilent);\r\n }\r\n\r\n if (tools.canAsync(this.setting, targetNode) && moveType === consts.move.TYPE_INNER) {\r\n view.asyncNode(this.setting, targetNode, isSilent, moveCallback);\r\n } else {\r\n moveCallback();\r\n }\r\n return node;\r\n }\r\n zTreeTools.setEditable = function (editable) {\r\n this.setting.edit.enable = editable;\r\n return this.refresh();\r\n }\r\n },\r\n //method of operate data\r\n _data = {\r\n setSonNodeLevel: function (setting, parentNode, node) {\r\n if (!node) return;\r\n var children = data.nodeChildren(setting, node);\r\n node.level = (parentNode) ? parentNode.level + 1 : 0;\r\n if (!children) return;\r\n for (var i = 0, l = children.length; i < l; i++) {\r\n if (children[i]) data.setSonNodeLevel(setting, node, children[i]);\r\n }\r\n }\r\n },\r\n //method of event proxy\r\n _event = {},\r\n //method of event handler\r\n _handler = {\r\n onHoverOverNode: function (event, node) {\r\n var setting = data.getSetting(event.data.treeId),\r\n root = data.getRoot(setting);\r\n if (root.curHoverNode != node) {\r\n _handler.onHoverOutNode(event);\r\n }\r\n root.curHoverNode = node;\r\n view.addHoverDom(setting, node);\r\n },\r\n onHoverOutNode: function (event, node) {\r\n var setting = data.getSetting(event.data.treeId),\r\n root = data.getRoot(setting);\r\n if (root.curHoverNode && !data.isSelectedNode(setting, root.curHoverNode)) {\r\n view.removeTreeDom(setting, root.curHoverNode);\r\n root.curHoverNode = null;\r\n }\r\n },\r\n onMousedownNode: function (eventMouseDown, _node) {\r\n var i, l,\r\n setting = data.getSetting(eventMouseDown.data.treeId),\r\n root = data.getRoot(setting), roots = data.getRoots();\r\n //right click can't drag & drop\r\n if (eventMouseDown.button == 2 || !setting.edit.enable || (!setting.edit.drag.isCopy && !setting.edit.drag.isMove)) return true;\r\n\r\n //input of edit node name can't drag & drop\r\n var target = eventMouseDown.target,\r\n _nodes = data.getRoot(setting).curSelectedList,\r\n nodes = [];\r\n if (!data.isSelectedNode(setting, _node)) {\r\n nodes = [_node];\r\n } else {\r\n for (i = 0, l = _nodes.length; i < l; i++) {\r\n if (_nodes[i].editNameFlag && tools.eqs(target.tagName, \"input\") && target.getAttribute(\"treeNode\" + consts.id.INPUT) !== null) {\r\n return true;\r\n }\r\n nodes.push(_nodes[i]);\r\n if (nodes[0].parentTId !== _nodes[i].parentTId) {\r\n nodes = [_node];\r\n break;\r\n }\r\n }\r\n }\r\n\r\n view.editNodeBlur = true;\r\n view.cancelCurEditNode(setting);\r\n\r\n var doc = $(setting.treeObj.get(0).ownerDocument),\r\n body = $(setting.treeObj.get(0).ownerDocument.body), curNode, tmpArrow, tmpTarget,\r\n isOtherTree = false,\r\n targetSetting = setting,\r\n sourceSetting = setting,\r\n preNode, nextNode,\r\n preTmpTargetNodeId = null,\r\n preTmpMoveType = null,\r\n tmpTargetNodeId = null,\r\n moveType = consts.move.TYPE_INNER,\r\n mouseDownX = eventMouseDown.clientX,\r\n mouseDownY = eventMouseDown.clientY,\r\n startTime = (new Date()).getTime();\r\n\r\n if (tools.uCanDo(setting)) {\r\n doc.bind(\"mousemove\", _docMouseMove);\r\n }\r\n\r\n function _docMouseMove(event) {\r\n //avoid start drag after click node\r\n if (root.dragFlag == 0 && Math.abs(mouseDownX - event.clientX) < setting.edit.drag.minMoveSize\r\n && Math.abs(mouseDownY - event.clientY) < setting.edit.drag.minMoveSize) {\r\n return true;\r\n }\r\n var i, l, tmpNode, tmpDom, tmpNodes;\r\n body.css(\"cursor\", \"pointer\");\r\n\r\n if (root.dragFlag == 0) {\r\n if (tools.apply(setting.callback.beforeDrag, [setting.treeId, nodes], true) == false) {\r\n _docMouseUp(event);\r\n return true;\r\n }\r\n\r\n for (i = 0, l = nodes.length; i < l; i++) {\r\n if (i == 0) {\r\n root.dragNodeShowBefore = [];\r\n }\r\n tmpNode = nodes[i];\r\n if (data.nodeIsParent(setting, tmpNode) && tmpNode.open) {\r\n view.expandCollapseNode(setting, tmpNode, !tmpNode.open);\r\n root.dragNodeShowBefore[tmpNode.tId] = true;\r\n } else {\r\n root.dragNodeShowBefore[tmpNode.tId] = false;\r\n }\r\n }\r\n\r\n root.dragFlag = 1;\r\n roots.showHoverDom = false;\r\n tools.showIfameMask(setting, true);\r\n\r\n //sort\r\n var isOrder = true, lastIndex = -1;\r\n if (nodes.length > 1) {\r\n var pNodes = nodes[0].parentTId ? data.nodeChildren(setting, nodes[0].getParentNode()) : data.getNodes(setting);\r\n tmpNodes = [];\r\n for (i = 0, l = pNodes.length; i < l; i++) {\r\n if (root.dragNodeShowBefore[pNodes[i].tId] !== undefined) {\r\n if (isOrder && lastIndex > -1 && (lastIndex + 1) !== i) {\r\n isOrder = false;\r\n }\r\n tmpNodes.push(pNodes[i]);\r\n lastIndex = i;\r\n }\r\n if (nodes.length === tmpNodes.length) {\r\n nodes = tmpNodes;\r\n break;\r\n }\r\n }\r\n }\r\n if (isOrder) {\r\n preNode = nodes[0].getPreNode();\r\n nextNode = nodes[nodes.length - 1].getNextNode();\r\n }\r\n\r\n //set node in selected\r\n curNode = $$(\"<ul class='zTreeDragUL'></ul>\", setting);\r\n for (i = 0, l = nodes.length; i < l; i++) {\r\n tmpNode = nodes[i];\r\n tmpNode.editNameFlag = false;\r\n view.selectNode(setting, tmpNode, i > 0);\r\n view.removeTreeDom(setting, tmpNode);\r\n\r\n if (i > setting.edit.drag.maxShowNodeNum - 1) {\r\n continue;\r\n }\r\n\r\n tmpDom = $$(\"<li id='\" + tmpNode.tId + \"_tmp'></li>\", setting);\r\n tmpDom.append($$(tmpNode, consts.id.A, setting).clone());\r\n tmpDom.css(\"padding\", \"0\");\r\n tmpDom.children(\"#\" + tmpNode.tId + consts.id.A).removeClass(consts.node.CURSELECTED);\r\n curNode.append(tmpDom);\r\n if (i == setting.edit.drag.maxShowNodeNum - 1) {\r\n tmpDom = $$(\"<li id='\" + tmpNode.tId + \"_moretmp'><a> ... </a></li>\", setting);\r\n curNode.append(tmpDom);\r\n }\r\n }\r\n curNode.attr(\"id\", nodes[0].tId + consts.id.UL + \"_tmp\");\r\n curNode.addClass(setting.treeObj.attr(\"class\"));\r\n curNode.appendTo(body);\r\n\r\n tmpArrow = $$(\"<span class='tmpzTreeMove_arrow'></span>\", setting);\r\n tmpArrow.attr(\"id\", \"zTreeMove_arrow_tmp\");\r\n tmpArrow.appendTo(body);\r\n\r\n setting.treeObj.trigger(consts.event.DRAG, [event, setting.treeId, nodes]);\r\n }\r\n\r\n if (root.dragFlag == 1) {\r\n if (tmpTarget && tmpArrow.attr(\"id\") == event.target.id && tmpTargetNodeId && (event.clientX + doc.scrollLeft() + 2) > ($(\"#\" + tmpTargetNodeId + consts.id.A, tmpTarget).offset().left)) {\r\n var xT = $(\"#\" + tmpTargetNodeId + consts.id.A, tmpTarget);\r\n event.target = (xT.length > 0) ? xT.get(0) : event.target;\r\n } else if (tmpTarget) {\r\n tmpTarget.removeClass(consts.node.TMPTARGET_TREE);\r\n if (tmpTargetNodeId) $(\"#\" + tmpTargetNodeId + consts.id.A, tmpTarget).removeClass(consts.node.TMPTARGET_NODE + \"_\" + consts.move.TYPE_PREV)\r\n .removeClass(consts.node.TMPTARGET_NODE + \"_\" + _consts.move.TYPE_NEXT).removeClass(consts.node.TMPTARGET_NODE + \"_\" + _consts.move.TYPE_INNER);\r\n }\r\n tmpTarget = null;\r\n tmpTargetNodeId = null;\r\n\r\n //judge drag & drop in multi ztree\r\n isOtherTree = false;\r\n targetSetting = setting;\r\n var settings = data.getSettings();\r\n for (var s in settings) {\r\n if (settings[s].treeId && settings[s].edit.enable && settings[s].treeId != setting.treeId\r\n && (event.target.id == settings[s].treeId || $(event.target).parents(\"#\" + settings[s].treeId).length > 0)) {\r\n isOtherTree = true;\r\n targetSetting = settings[s];\r\n }\r\n }\r\n\r\n var docScrollTop = doc.scrollTop(),\r\n docScrollLeft = doc.scrollLeft(),\r\n treeOffset = targetSetting.treeObj.offset(),\r\n scrollHeight = targetSetting.treeObj.get(0).scrollHeight,\r\n scrollWidth = targetSetting.treeObj.get(0).scrollWidth,\r\n dTop = (event.clientY + docScrollTop - treeOffset.top),\r\n dBottom = (targetSetting.treeObj.height() + treeOffset.top - event.clientY - docScrollTop),\r\n dLeft = (event.clientX + docScrollLeft - treeOffset.left),\r\n dRight = (targetSetting.treeObj.width() + treeOffset.left - event.clientX - docScrollLeft),\r\n isTop = (dTop < setting.edit.drag.borderMax && dTop > setting.edit.drag.borderMin),\r\n isBottom = (dBottom < setting.edit.drag.borderMax && dBottom > setting.edit.drag.borderMin),\r\n isLeft = (dLeft < setting.edit.drag.borderMax && dLeft > setting.edit.drag.borderMin),\r\n isRight = (dRight < setting.edit.drag.borderMax && dRight > setting.edit.drag.borderMin),\r\n isTreeInner = dTop > setting.edit.drag.borderMin && dBottom > setting.edit.drag.borderMin && dLeft > setting.edit.drag.borderMin && dRight > setting.edit.drag.borderMin,\r\n isTreeTop = (isTop && targetSetting.treeObj.scrollTop() <= 0),\r\n isTreeBottom = (isBottom && (targetSetting.treeObj.scrollTop() + targetSetting.treeObj.height() + 10) >= scrollHeight),\r\n isTreeLeft = (isLeft && targetSetting.treeObj.scrollLeft() <= 0),\r\n isTreeRight = (isRight && (targetSetting.treeObj.scrollLeft() + targetSetting.treeObj.width() + 10) >= scrollWidth);\r\n\r\n if (event.target && tools.isChildOrSelf(event.target, targetSetting.treeId)) {\r\n //get node <li> dom\r\n var targetObj = event.target;\r\n while (targetObj && targetObj.tagName && !tools.eqs(targetObj.tagName, \"li\") && targetObj.id != targetSetting.treeId) {\r\n targetObj = targetObj.parentNode;\r\n }\r\n\r\n var canMove = true;\r\n //don't move to self or children of self\r\n for (i = 0, l = nodes.length; i < l; i++) {\r\n tmpNode = nodes[i];\r\n if (targetObj.id === tmpNode.tId) {\r\n canMove = false;\r\n break;\r\n } else if ($$(tmpNode, setting).find(\"#\" + targetObj.id).length > 0) {\r\n canMove = false;\r\n break;\r\n }\r\n }\r\n if (canMove && event.target && tools.isChildOrSelf(event.target, targetObj.id + consts.id.A)) {\r\n tmpTarget = $(targetObj);\r\n tmpTargetNodeId = targetObj.id;\r\n }\r\n }\r\n\r\n //the mouse must be in zTree\r\n tmpNode = nodes[0];\r\n if (isTreeInner && tools.isChildOrSelf(event.target, targetSetting.treeId)) {\r\n //judge mouse move in root of ztree\r\n if (!tmpTarget && (event.target.id == targetSetting.treeId || isTreeTop || isTreeBottom || isTreeLeft || isTreeRight) && (isOtherTree || (!isOtherTree && tmpNode.parentTId))) {\r\n tmpTarget = targetSetting.treeObj;\r\n }\r\n //auto scroll top\r\n if (isTop) {\r\n targetSetting.treeObj.scrollTop(targetSetting.treeObj.scrollTop() - 10);\r\n } else if (isBottom) {\r\n targetSetting.treeObj.scrollTop(targetSetting.treeObj.scrollTop() + 10);\r\n }\r\n if (isLeft) {\r\n targetSetting.treeObj.scrollLeft(targetSetting.treeObj.scrollLeft() - 10);\r\n } else if (isRight) {\r\n targetSetting.treeObj.scrollLeft(targetSetting.treeObj.scrollLeft() + 10);\r\n }\r\n //auto scroll left\r\n if (tmpTarget && tmpTarget != targetSetting.treeObj && tmpTarget.offset().left < targetSetting.treeObj.offset().left) {\r\n targetSetting.treeObj.scrollLeft(targetSetting.treeObj.scrollLeft() + tmpTarget.offset().left - targetSetting.treeObj.offset().left);\r\n }\r\n }\r\n\r\n curNode.css({\r\n \"top\": (event.clientY + docScrollTop + 3) + \"px\",\r\n \"left\": (event.clientX + docScrollLeft + 3) + \"px\"\r\n });\r\n\r\n var dX = 0;\r\n var dY = 0;\r\n if (tmpTarget && tmpTarget.attr(\"id\") != targetSetting.treeId) {\r\n var tmpTargetNode = tmpTargetNodeId == null ? null : data.getNodeCache(targetSetting, tmpTargetNodeId),\r\n isCopy = ((event.ctrlKey || event.metaKey) && setting.edit.drag.isMove && setting.edit.drag.isCopy) || (!setting.edit.drag.isMove && setting.edit.drag.isCopy),\r\n isPrev = !!(preNode && tmpTargetNodeId === preNode.tId),\r\n isNext = !!(nextNode && tmpTargetNodeId === nextNode.tId),\r\n isInner = (tmpNode.parentTId && tmpNode.parentTId == tmpTargetNodeId),\r\n canPrev = (isCopy || !isNext) && tools.apply(targetSetting.edit.drag.prev, [targetSetting.treeId, nodes, tmpTargetNode], !!targetSetting.edit.drag.prev),\r\n canNext = (isCopy || !isPrev) && tools.apply(targetSetting.edit.drag.next, [targetSetting.treeId, nodes, tmpTargetNode], !!targetSetting.edit.drag.next),\r\n canInner = (isCopy || !isInner) && !(targetSetting.data.keep.leaf && !data.nodeIsParent(setting, tmpTargetNode)) && tools.apply(targetSetting.edit.drag.inner, [targetSetting.treeId, nodes, tmpTargetNode], !!targetSetting.edit.drag.inner);\r\n\r\n function clearMove() {\r\n tmpTarget = null;\r\n tmpTargetNodeId = \"\";\r\n moveType = consts.move.TYPE_INNER;\r\n tmpArrow.css({\r\n \"display\": \"none\"\r\n });\r\n if (window.zTreeMoveTimer) {\r\n clearTimeout(window.zTreeMoveTimer);\r\n window.zTreeMoveTargetNodeTId = null\r\n }\r\n }\r\n\r\n if (!canPrev && !canNext && !canInner) {\r\n clearMove();\r\n } else {\r\n var tmpTargetA = $(\"#\" + tmpTargetNodeId + consts.id.A, tmpTarget),\r\n tmpNextA = tmpTargetNode.isLastNode ? null : $(\"#\" + tmpTargetNode.getNextNode().tId + consts.id.A, tmpTarget.next()),\r\n tmpTop = tmpTargetA.offset().top,\r\n tmpLeft = tmpTargetA.offset().left,\r\n prevPercent = canPrev ? (canInner ? 0.25 : (canNext ? 0.5 : 1)) : -1,\r\n nextPercent = canNext ? (canInner ? 0.75 : (canPrev ? 0.5 : 0)) : -1,\r\n dY_percent = (event.clientY + docScrollTop - tmpTop) / tmpTargetA.height();\r\n\r\n if ((prevPercent == 1 || dY_percent <= prevPercent && dY_percent >= -.2) && canPrev) {\r\n dX = 1 - tmpArrow.width();\r\n dY = tmpTop - tmpArrow.height() / 2;\r\n moveType = consts.move.TYPE_PREV;\r\n } else if ((nextPercent == 0 || dY_percent >= nextPercent && dY_percent <= 1.2) && canNext) {\r\n dX = 1 - tmpArrow.width();\r\n dY = (tmpNextA == null || (data.nodeIsParent(setting, tmpTargetNode) && tmpTargetNode.open)) ? (tmpTop + tmpTargetA.height() - tmpArrow.height() / 2) : (tmpNextA.offset().top - tmpArrow.height() / 2);\r\n moveType = consts.move.TYPE_NEXT;\r\n } else if (canInner) {\r\n dX = 5 - tmpArrow.width();\r\n dY = tmpTop;\r\n moveType = consts.move.TYPE_INNER;\r\n } else {\r\n clearMove();\r\n }\r\n\r\n if (tmpTarget) {\r\n tmpArrow.css({\r\n \"display\": \"block\",\r\n \"top\": dY + \"px\",\r\n \"left\": (tmpLeft + dX) + \"px\"\r\n });\r\n tmpTargetA.addClass(consts.node.TMPTARGET_NODE + \"_\" + moveType);\r\n\r\n if (preTmpTargetNodeId != tmpTargetNodeId || preTmpMoveType != moveType) {\r\n startTime = (new Date()).getTime();\r\n }\r\n if (tmpTargetNode && data.nodeIsParent(setting, tmpTargetNode) && moveType == consts.move.TYPE_INNER) {\r\n var startTimer = true;\r\n if (window.zTreeMoveTimer && window.zTreeMoveTargetNodeTId !== tmpTargetNode.tId) {\r\n clearTimeout(window.zTreeMoveTimer);\r\n window.zTreeMoveTargetNodeTId = null;\r\n } else if (window.zTreeMoveTimer && window.zTreeMoveTargetNodeTId === tmpTargetNode.tId) {\r\n startTimer = false;\r\n }\r\n if (startTimer) {\r\n window.zTreeMoveTimer = setTimeout(function () {\r\n if (moveType != consts.move.TYPE_INNER) return;\r\n if (tmpTargetNode && data.nodeIsParent(setting, tmpTargetNode) && !tmpTargetNode.open && (new Date()).getTime() - startTime > targetSetting.edit.drag.autoOpenTime\r\n && tools.apply(targetSetting.callback.beforeDragOpen, [targetSetting.treeId, tmpTargetNode], true)) {\r\n view.switchNode(targetSetting, tmpTargetNode);\r\n if (targetSetting.edit.drag.autoExpandTrigger) {\r\n targetSetting.treeObj.trigger(consts.event.EXPAND, [targetSetting.treeId, tmpTargetNode]);\r\n }\r\n }\r\n }, targetSetting.edit.drag.autoOpenTime + 50);\r\n window.zTreeMoveTargetNodeTId = tmpTargetNode.tId;\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n moveType = consts.move.TYPE_INNER;\r\n if (tmpTarget && tools.apply(targetSetting.edit.drag.inner, [targetSetting.treeId, nodes, null], !!targetSetting.edit.drag.inner)) {\r\n tmpTarget.addClass(consts.node.TMPTARGET_TREE);\r\n } else {\r\n tmpTarget = null;\r\n }\r\n tmpArrow.css({\r\n \"display\": \"none\"\r\n });\r\n if (window.zTreeMoveTimer) {\r\n clearTimeout(window.zTreeMoveTimer);\r\n window.zTreeMoveTargetNodeTId = null;\r\n }\r\n }\r\n preTmpTargetNodeId = tmpTargetNodeId;\r\n preTmpMoveType = moveType;\r\n\r\n setting.treeObj.trigger(consts.event.DRAGMOVE, [event, setting.treeId, nodes]);\r\n }\r\n return false;\r\n }\r\n\r\n doc.bind(\"mouseup\", _docMouseUp);\r\n\r\n function _docMouseUp(event) {\r\n if (window.zTreeMoveTimer) {\r\n clearTimeout(window.zTreeMoveTimer);\r\n window.zTreeMoveTargetNodeTId = null;\r\n }\r\n preTmpTargetNodeId = null;\r\n preTmpMoveType = null;\r\n doc.unbind(\"mousemove\", _docMouseMove);\r\n doc.unbind(\"mouseup\", _docMouseUp);\r\n doc.unbind(\"selectstart\", _docSelect);\r\n body.css(\"cursor\", \"\");\r\n if (tmpTarget) {\r\n tmpTarget.removeClass(consts.node.TMPTARGET_TREE);\r\n if (tmpTargetNodeId) $(\"#\" + tmpTargetNodeId + consts.id.A, tmpTarget).removeClass(consts.node.TMPTARGET_NODE + \"_\" + consts.move.TYPE_PREV)\r\n .removeClass(consts.node.TMPTARGET_NODE + \"_\" + _consts.move.TYPE_NEXT).removeClass(consts.node.TMPTARGET_NODE + \"_\" + _consts.move.TYPE_INNER);\r\n }\r\n tools.showIfameMask(setting, false);\r\n\r\n roots.showHoverDom = true;\r\n if (root.dragFlag == 0) return;\r\n root.dragFlag = 0;\r\n\r\n var i, l, tmpNode;\r\n for (i = 0, l = nodes.length; i < l; i++) {\r\n tmpNode = nodes[i];\r\n if (data.nodeIsParent(setting, tmpNode) && root.dragNodeShowBefore[tmpNode.tId] && !tmpNode.open) {\r\n view.expandCollapseNode(setting, tmpNode, !tmpNode.open);\r\n delete root.dragNodeShowBefore[tmpNode.tId];\r\n }\r\n }\r\n\r\n if (curNode) curNode.remove();\r\n if (tmpArrow) tmpArrow.remove();\r\n\r\n var isCopy = ((event.ctrlKey || event.metaKey) && setting.edit.drag.isMove && setting.edit.drag.isCopy) || (!setting.edit.drag.isMove && setting.edit.drag.isCopy);\r\n if (!isCopy && tmpTarget && tmpTargetNodeId && nodes[0].parentTId && tmpTargetNodeId == nodes[0].parentTId && moveType == consts.move.TYPE_INNER) {\r\n tmpTarget = null;\r\n }\r\n if (tmpTarget) {\r\n var dragTargetNode = tmpTargetNodeId == null ? null : data.getNodeCache(targetSetting, tmpTargetNodeId);\r\n if (tools.apply(setting.callback.beforeDrop, [targetSetting.treeId, nodes, dragTargetNode, moveType, isCopy], true) == false) {\r\n view.selectNodes(sourceSetting, nodes);\r\n return;\r\n }\r\n var newNodes = isCopy ? tools.clone(nodes) : nodes;\r\n\r\n function dropCallback() {\r\n if (isOtherTree) {\r\n if (!isCopy) {\r\n for (var i = 0, l = nodes.length; i < l; i++) {\r\n view.removeNode(setting, nodes[i]);\r\n }\r\n }\r\n if (moveType == consts.move.TYPE_INNER) {\r\n view.addNodes(targetSetting, dragTargetNode, -1, newNodes);\r\n } else {\r\n view.addNodes(targetSetting, dragTargetNode.getParentNode(), moveType == consts.move.TYPE_PREV ? dragTargetNode.getIndex() : dragTargetNode.getIndex() + 1, newNodes);\r\n }\r\n } else {\r\n if (isCopy && moveType == consts.move.TYPE_INNER) {\r\n view.addNodes(targetSetting, dragTargetNode, -1, newNodes);\r\n } else if (isCopy) {\r\n view.addNodes(targetSetting, dragTargetNode.getParentNode(), moveType == consts.move.TYPE_PREV ? dragTargetNode.getIndex() : dragTargetNode.getIndex() + 1, newNodes);\r\n } else {\r\n if (moveType != consts.move.TYPE_NEXT) {\r\n for (i = 0, l = newNodes.length; i < l; i++) {\r\n view.moveNode(targetSetting, dragTargetNode, newNodes[i], moveType, false);\r\n }\r\n } else {\r\n for (i = -1, l = newNodes.length - 1; i < l; l--) {\r\n view.moveNode(targetSetting, dragTargetNode, newNodes[l], moveType, false);\r\n }\r\n }\r\n }\r\n }\r\n view.selectNodes(targetSetting, newNodes);\r\n\r\n var a = $$(newNodes[0], setting).get(0);\r\n view.scrollIntoView(setting, a);\r\n\r\n setting.treeObj.trigger(consts.event.DROP, [event, targetSetting.treeId, newNodes, dragTargetNode, moveType, isCopy]);\r\n }\r\n\r\n if (moveType == consts.move.TYPE_INNER && tools.canAsync(targetSetting, dragTargetNode)) {\r\n view.asyncNode(targetSetting, dragTargetNode, false, dropCallback);\r\n } else {\r\n dropCallback();\r\n }\r\n\r\n } else {\r\n view.selectNodes(sourceSetting, nodes);\r\n setting.treeObj.trigger(consts.event.DROP, [event, setting.treeId, nodes, null, null, null]);\r\n }\r\n }\r\n\r\n doc.bind(\"selectstart\", _docSelect);\r\n\r\n function _docSelect() {\r\n return false;\r\n }\r\n\r\n // 2018-03-30 FireFox has fixed this issue.\r\n //Avoid FireFox's Bug\r\n //If zTree Div CSS set 'overflow', so drag node outside of zTree, and event.target is error.\r\n // if(eventMouseDown.preventDefault) {\r\n // \teventMouseDown.preventDefault();\r\n // }\r\n return true;\r\n }\r\n },\r\n //method of tools for zTree\r\n _tools = {\r\n getAbs: function (obj) {\r\n var oRect = obj.getBoundingClientRect(),\r\n scrollTop = document.body.scrollTop + document.documentElement.scrollTop,\r\n scrollLeft = document.body.scrollLeft + document.documentElement.scrollLeft;\r\n return [oRect.left + scrollLeft, oRect.top + scrollTop];\r\n },\r\n inputFocus: function (inputObj) {\r\n if (inputObj.get(0)) {\r\n inputObj.focus();\r\n tools.setCursorPosition(inputObj.get(0), inputObj.val().length);\r\n }\r\n },\r\n inputSelect: function (inputObj) {\r\n if (inputObj.get(0)) {\r\n inputObj.focus();\r\n inputObj.select();\r\n }\r\n },\r\n setCursorPosition: function (obj, pos) {\r\n if (obj.setSelectionRange) {\r\n obj.focus();\r\n obj.setSelectionRange(pos, pos);\r\n } else if (obj.createTextRange) {\r\n var range = obj.createTextRange();\r\n range.collapse(true);\r\n range.moveEnd('character', pos);\r\n range.moveStart('character', pos);\r\n range.select();\r\n }\r\n },\r\n showIfameMask: function (setting, showSign) {\r\n var root = data.getRoot(setting);\r\n //clear full mask\r\n while (root.dragMaskList.length > 0) {\r\n root.dragMaskList[0].remove();\r\n root.dragMaskList.shift();\r\n }\r\n if (showSign) {\r\n //show mask\r\n var iframeList = $$(\"iframe\", setting);\r\n for (var i = 0, l = iframeList.length; i < l; i++) {\r\n var obj = iframeList.get(i),\r\n r = tools.getAbs(obj),\r\n dragMask = $$(\"<div id='zTreeMask_\" + i + \"' class='zTreeMask' style='top:\" + r[1] + \"px; left:\" + r[0] + \"px; width:\" + obj.offsetWidth + \"px; height:\" + obj.offsetHeight + \"px;'></div>\", setting);\r\n dragMask.appendTo($$(\"body\", setting));\r\n root.dragMaskList.push(dragMask);\r\n }\r\n }\r\n }\r\n },\r\n //method of operate ztree dom\r\n _view = {\r\n addEditBtn: function (setting, node) {\r\n if (node.editNameFlag || $$(node, consts.id.EDIT, setting).length > 0) {\r\n return;\r\n }\r\n if (!tools.apply(setting.edit.showRenameBtn, [setting.treeId, node], setting.edit.showRenameBtn)) {\r\n return;\r\n }\r\n var aObj = $$(node, consts.id.A, setting),\r\n editStr = \"<span class='\" + consts.className.BUTTON + \" edit' id='\" + node.tId + consts.id.EDIT + \"' title='\" + tools.apply(setting.edit.renameTitle, [setting.treeId, node], setting.edit.renameTitle) + \"' treeNode\" + consts.id.EDIT + \" style='display:none;'>编辑</span>\";\r\n aObj.append(editStr);\r\n\r\n $$(node, consts.id.EDIT, setting).bind('click',\r\n function () {\r\n if (!tools.uCanDo(setting) || tools.apply(setting.callback.beforeEditName, [setting.treeId, node], true) == false) return false;\r\n view.editNode(setting, node);\r\n return false;\r\n }\r\n ).show();\r\n },\r\n addRemoveBtn: function (setting, node) {\r\n if (node.editNameFlag || $$(node, consts.id.REMOVE, setting).length > 0) {\r\n return;\r\n }\r\n if (!tools.apply(setting.edit.showRemoveBtn, [setting.treeId, node], setting.edit.showRemoveBtn)) {\r\n return;\r\n }\r\n var aObj = $$(node, consts.id.A, setting),\r\n removeStr = \"<span class='\" + consts.className.BUTTON + \" remove' id='\" + node.tId + consts.id.REMOVE + \"' title='\" + tools.apply(setting.edit.removeTitle, [setting.treeId, node], setting.edit.removeTitle) + \"' treeNode\" + consts.id.REMOVE + \" style='display:none;'>删除</span>\";\r\n aObj.append(removeStr);\r\n\r\n $$(node, consts.id.REMOVE, setting).bind('click',\r\n function () {\r\n if (!tools.uCanDo(setting) || tools.apply(setting.callback.beforeRemove, [setting.treeId, node], true) == false) return false;\r\n view.removeNode(setting, node);\r\n setting.treeObj.trigger(consts.event.REMOVE, [setting.treeId, node]);\r\n return false;\r\n }\r\n ).bind('mousedown',\r\n function (eventMouseDown) {\r\n return true;\r\n }\r\n ).show();\r\n },\r\n addHoverDom: function (setting, node) {\r\n if (data.getRoots().showHoverDom) {\r\n node.isHover = true;\r\n if (setting.edit.enable) {\r\n view.addEditBtn(setting, node);\r\n view.addRemoveBtn(setting, node);\r\n }\r\n tools.apply(setting.view.addHoverDom, [setting.treeId, node]);\r\n }\r\n },\r\n cancelCurEditNode: function (setting, forceName, isCancel) {\r\n var root = data.getRoot(setting),\r\n node = root.curEditNode;\r\n\r\n if (node) {\r\n var inputObj = root.curEditInput,\r\n newName = forceName ? forceName : (isCancel ? data.nodeName(setting, node) : inputObj.val());\r\n if (tools.apply(setting.callback.beforeRename, [setting.treeId, node, newName, isCancel], true) === false) {\r\n return false;\r\n }\r\n data.nodeName(setting, node, newName);\r\n var aObj = $$(node, consts.id.A, setting);\r\n aObj.removeClass(consts.node.CURSELECTED_EDIT);\r\n inputObj.unbind();\r\n view.setNodeName(setting, node);\r\n node.editNameFlag = false;\r\n root.curEditNode = null;\r\n root.curEditInput = null;\r\n view.selectNode(setting, node, false);\r\n setting.treeObj.trigger(consts.event.RENAME, [setting.treeId, node, isCancel]);\r\n }\r\n root.noSelection = true;\r\n return true;\r\n },\r\n editNode: function (setting, node) {\r\n var root = data.getRoot(setting);\r\n view.editNodeBlur = false;\r\n if (data.isSelectedNode(setting, node) && root.curEditNode == node && node.editNameFlag) {\r\n setTimeout(function () {\r\n tools.inputFocus(root.curEditInput);\r\n }, 0);\r\n return;\r\n }\r\n node.editNameFlag = true;\r\n view.removeTreeDom(setting, node);\r\n view.cancelCurEditNode(setting);\r\n view.selectNode(setting, node, false);\r\n $$(node, consts.id.SPAN, setting).html(\"<input type=text class='rename' id='\" + node.tId + consts.id.INPUT + \"' treeNode\" + consts.id.INPUT + \" >\");\r\n var inputObj = $$(node, consts.id.INPUT, setting);\r\n inputObj.attr(\"value\", data.nodeName(setting, node));\r\n if (setting.edit.editNameSelectAll) {\r\n tools.inputSelect(inputObj);\r\n } else {\r\n tools.inputFocus(inputObj);\r\n }\r\n\r\n inputObj.bind('blur', function (event) {\r\n if (!view.editNodeBlur) {\r\n view.cancelCurEditNode(setting);\r\n }\r\n }).bind('keydown', function (event) {\r\n if (event.keyCode == \"13\") {\r\n view.editNodeBlur = true;\r\n view.cancelCurEditNode(setting);\r\n } else if (event.keyCode == \"27\") {\r\n view.cancelCurEditNode(setting, null, true);\r\n }\r\n }).bind('click', function (event) {\r\n return false;\r\n }).bind('dblclick', function (event) {\r\n return false;\r\n });\r\n\r\n $$(node, consts.id.A, setting).addClass(consts.node.CURSELECTED_EDIT);\r\n root.curEditInput = inputObj;\r\n root.noSelection = false;\r\n root.curEditNode = node;\r\n },\r\n moveNode: function (setting, targetNode, node, moveType, animateFlag, isSilent) {\r\n var root = data.getRoot(setting);\r\n if (targetNode == node) return;\r\n if (setting.data.keep.leaf && targetNode && !data.nodeIsParent(setting, targetNode) && moveType == consts.move.TYPE_INNER) return;\r\n var oldParentNode = (node.parentTId ? node.getParentNode() : root),\r\n targetNodeIsRoot = (targetNode === null || targetNode == root);\r\n if (targetNodeIsRoot && targetNode === null) targetNode = root;\r\n if (targetNodeIsRoot) moveType = consts.move.TYPE_INNER;\r\n var targetParentNode = (targetNode.parentTId ? targetNode.getParentNode() : root);\r\n\r\n if (moveType != consts.move.TYPE_PREV && moveType != consts.move.TYPE_NEXT) {\r\n moveType = consts.move.TYPE_INNER;\r\n }\r\n\r\n if (moveType == consts.move.TYPE_INNER) {\r\n if (targetNodeIsRoot) {\r\n //parentTId of root node is null\r\n node.parentTId = null;\r\n } else {\r\n if (!data.nodeIsParent(setting, targetNode)) {\r\n data.nodeIsParent(setting, targetNode, true);\r\n targetNode.open = !!targetNode.open;\r\n view.setNodeLineIcos(setting, targetNode);\r\n }\r\n node.parentTId = targetNode.tId;\r\n }\r\n }\r\n\r\n //move node Dom\r\n var targetObj, target_ulObj;\r\n if (targetNodeIsRoot) {\r\n targetObj = setting.treeObj;\r\n target_ulObj = targetObj;\r\n } else {\r\n if (!isSilent && moveType == consts.move.TYPE_INNER) {\r\n view.expandCollapseNode(setting, targetNode, true, false);\r\n } else if (!isSilent) {\r\n view.expandCollapseNode(setting, targetNode.getParentNode(), true, false);\r\n }\r\n targetObj = $$(targetNode, setting);\r\n target_ulObj = $$(targetNode, consts.id.UL, setting);\r\n if (!!targetObj.get(0) && !target_ulObj.get(0)) {\r\n var ulstr = [];\r\n view.makeUlHtml(setting, targetNode, ulstr, '');\r\n targetObj.append(ulstr.join(''));\r\n }\r\n target_ulObj = $$(targetNode, consts.id.UL, setting);\r\n }\r\n var nodeDom = $$(node, setting);\r\n if (!nodeDom.get(0)) {\r\n nodeDom = view.appendNodes(setting, node.level, [node], null, -1, false, true).join('');\r\n } else if (!targetObj.get(0)) {\r\n nodeDom.remove();\r\n }\r\n if (target_ulObj.get(0) && moveType == consts.move.TYPE_INNER) {\r\n target_ulObj.append(nodeDom);\r\n } else if (targetObj.get(0) && moveType == consts.move.TYPE_PREV) {\r\n targetObj.before(nodeDom);\r\n } else if (targetObj.get(0) && moveType == consts.move.TYPE_NEXT) {\r\n targetObj.after(nodeDom);\r\n }\r\n\r\n //repair the data after move\r\n var i, l,\r\n tmpSrcIndex = -1,\r\n tmpTargetIndex = 0,\r\n oldNeighbor = null,\r\n newNeighbor = null,\r\n oldLevel = node.level;\r\n var oldChildren = data.nodeChildren(setting, oldParentNode);\r\n var targetParentChildren = data.nodeChildren(setting, targetParentNode);\r\n var targetChildren = data.nodeChildren(setting, targetNode);\r\n if (node.isFirstNode) {\r\n tmpSrcIndex = 0;\r\n if (oldChildren.length > 1) {\r\n oldNeighbor = oldChildren[1];\r\n oldNeighbor.isFirstNode = true;\r\n }\r\n } else if (node.isLastNode) {\r\n tmpSrcIndex = oldChildren.length - 1;\r\n oldNeighbor = oldChildren[tmpSrcIndex - 1];\r\n oldNeighbor.isLastNode = true;\r\n } else {\r\n for (i = 0, l = oldChildren.length; i < l; i++) {\r\n if (oldChildren[i].tId == node.tId) {\r\n tmpSrcIndex = i;\r\n break;\r\n }\r\n }\r\n }\r\n if (tmpSrcIndex >= 0) {\r\n oldChildren.splice(tmpSrcIndex, 1);\r\n }\r\n if (moveType != consts.move.TYPE_INNER) {\r\n for (i = 0, l = targetParentChildren.length; i < l; i++) {\r\n if (targetParentChildren[i].tId == targetNode.tId) tmpTargetIndex = i;\r\n }\r\n }\r\n if (moveType == consts.move.TYPE_INNER) {\r\n if (!targetChildren) {\r\n targetChildren = data.nodeChildren(setting, targetNode, []);\r\n }\r\n if (targetChildren.length > 0) {\r\n newNeighbor = targetChildren[targetChildren.length - 1];\r\n newNeighbor.isLastNode = false;\r\n }\r\n targetChildren.splice(targetChildren.length, 0, node);\r\n node.isLastNode = true;\r\n node.isFirstNode = (targetChildren.length == 1);\r\n } else if (targetNode.isFirstNode && moveType == consts.move.TYPE_PREV) {\r\n targetParentChildren.splice(tmpTargetIndex, 0, node);\r\n newNeighbor = targetNode;\r\n newNeighbor.isFirstNode = false;\r\n node.parentTId = targetNode.parentTId;\r\n node.isFirstNode = true;\r\n node.isLastNode = false;\r\n\r\n } else if (targetNode.isLastNode && moveType == consts.move.TYPE_NEXT) {\r\n targetParentChildren.splice(tmpTargetIndex + 1, 0, node);\r\n newNeighbor = targetNode;\r\n newNeighbor.isLastNode = false;\r\n node.parentTId = targetNode.parentTId;\r\n node.isFirstNode = false;\r\n node.isLastNode = true;\r\n\r\n } else {\r\n if (moveType == consts.move.TYPE_PREV) {\r\n targetParentChildren.splice(tmpTargetIndex, 0, node);\r\n } else {\r\n targetParentChildren.splice(tmpTargetIndex + 1, 0, node);\r\n }\r\n node.parentTId = targetNode.parentTId;\r\n node.isFirstNode = false;\r\n node.isLastNode = false;\r\n }\r\n data.fixPIdKeyValue(setting, node);\r\n data.setSonNodeLevel(setting, node.getParentNode(), node);\r\n\r\n //repair node what been moved\r\n view.setNodeLineIcos(setting, node);\r\n view.repairNodeLevelClass(setting, node, oldLevel);\r\n\r\n //repair node's old parentNode dom\r\n if (!setting.data.keep.parent && oldChildren.length < 1) {\r\n //old parentNode has no child nodes\r\n data.nodeIsParent(setting, oldParentNode, false);\r\n oldParentNode.open = false;\r\n var tmp_ulObj = $$(oldParentNode, consts.id.UL, setting),\r\n tmp_switchObj = $$(oldParentNode, consts.id.SWITCH, setting),\r\n tmp_icoObj = $$(oldParentNode, consts.id.ICON, setting);\r\n view.replaceSwitchClass(oldParentNode, tmp_switchObj, consts.folder.DOCU);\r\n view.replaceIcoClass(oldParentNode, tmp_icoObj, consts.folder.DOCU);\r\n tmp_ulObj.css(\"display\", \"none\");\r\n\r\n } else if (oldNeighbor) {\r\n //old neigbor node\r\n view.setNodeLineIcos(setting, oldNeighbor);\r\n }\r\n\r\n //new neigbor node\r\n if (newNeighbor) {\r\n view.setNodeLineIcos(setting, newNeighbor);\r\n }\r\n\r\n //repair checkbox / radio\r\n if (!!setting.check && setting.check.enable && view.repairChkClass) {\r\n view.repairChkClass(setting, oldParentNode);\r\n view.repairParentChkClassWithSelf(setting, oldParentNode);\r\n if (oldParentNode != node.parent)\r\n view.repairParentChkClassWithSelf(setting, node);\r\n }\r\n\r\n //expand parents after move\r\n if (!isSilent) {\r\n view.expandCollapseParentNode(setting, node.getParentNode(), true, animateFlag);\r\n }\r\n },\r\n removeEditBtn: function (setting, node) {\r\n $$(node, consts.id.EDIT, setting).unbind().remove();\r\n },\r\n removeRemoveBtn: function (setting, node) {\r\n $$(node, consts.id.REMOVE, setting).unbind().remove();\r\n },\r\n removeTreeDom: function (setting, node) {\r\n node.isHover = false;\r\n view.removeEditBtn(setting, node);\r\n view.removeRemoveBtn(setting, node);\r\n tools.apply(setting.view.removeHoverDom, [setting.treeId, node]);\r\n },\r\n repairNodeLevelClass: function (setting, node, oldLevel) {\r\n if (oldLevel === node.level) return;\r\n var liObj = $$(node, setting),\r\n aObj = $$(node, consts.id.A, setting),\r\n ulObj = $$(node, consts.id.UL, setting),\r\n oldClass = consts.className.LEVEL + oldLevel,\r\n newClass = consts.className.LEVEL + node.level;\r\n liObj.removeClass(oldClass);\r\n liObj.addClass(newClass);\r\n aObj.removeClass(oldClass);\r\n aObj.addClass(newClass);\r\n ulObj.removeClass(oldClass);\r\n ulObj.addClass(newClass);\r\n },\r\n selectNodes: function (setting, nodes) {\r\n for (var i = 0, l = nodes.length; i < l; i++) {\r\n view.selectNode(setting, nodes[i], i > 0);\r\n }\r\n }\r\n },\r\n\r\n _z = {\r\n tools: _tools,\r\n view: _view,\r\n event: _event,\r\n data: _data\r\n };\r\n $.extend(true, $.fn.zTree.consts, _consts);\r\n $.extend(true, $.fn.zTree._z, _z);\r\n\r\n var zt = $.fn.zTree,\r\n tools = zt._z.tools,\r\n consts = zt.consts,\r\n view = zt._z.view,\r\n data = zt._z.data,\r\n event = zt._z.event,\r\n $$ = tools.$;\r\n\r\n data.exSetting(_setting);\r\n data.addInitBind(_bindEvent);\r\n data.addInitUnBind(_unbindEvent);\r\n data.addInitCache(_initCache);\r\n data.addInitNode(_initNode);\r\n data.addInitProxy(_eventProxy);\r\n data.addInitRoot(_initRoot);\r\n data.addZTreeTools(_zTreeTools);\r\n\r\n var _cancelPreSelectedNode = view.cancelPreSelectedNode;\r\n view.cancelPreSelectedNode = function (setting, node) {\r\n var list = data.getRoot(setting).curSelectedList;\r\n for (var i = 0, j = list.length; i < j; i++) {\r\n if (!node || node === list[i]) {\r\n view.removeTreeDom(setting, list[i]);\r\n if (node) break;\r\n }\r\n }\r\n if (_cancelPreSelectedNode) _cancelPreSelectedNode.apply(view, arguments);\r\n }\r\n\r\n var _createNodes = view.createNodes;\r\n view.createNodes = function (setting, level, nodes, parentNode, index) {\r\n if (_createNodes) {\r\n _createNodes.apply(view, arguments);\r\n }\r\n if (!nodes) return;\r\n if (view.repairParentChkClassWithSelf) {\r\n view.repairParentChkClassWithSelf(setting, parentNode);\r\n }\r\n }\r\n\r\n var _makeNodeUrl = view.makeNodeUrl;\r\n view.makeNodeUrl = function (setting, node) {\r\n return setting.edit.enable ? null : (_makeNodeUrl.apply(view, arguments));\r\n }\r\n\r\n var _removeNode = view.removeNode;\r\n view.removeNode = function (setting, node) {\r\n var root = data.getRoot(setting);\r\n if (root.curEditNode === node) root.curEditNode = null;\r\n if (_removeNode) {\r\n _removeNode.apply(view, arguments);\r\n }\r\n }\r\n\r\n var _selectNode = view.selectNode;\r\n view.selectNode = function (setting, node, addFlag) {\r\n var root = data.getRoot(setting);\r\n if (data.isSelectedNode(setting, node) && root.curEditNode == node && node.editNameFlag) {\r\n return false;\r\n }\r\n if (_selectNode) _selectNode.apply(view, arguments);\r\n view.addHoverDom(setting, node);\r\n return true;\r\n }\r\n\r\n var _uCanDo = tools.uCanDo;\r\n tools.uCanDo = function (setting, e) {\r\n var root = data.getRoot(setting);\r\n if (e && (tools.eqs(e.type, \"mouseover\") || tools.eqs(e.type, \"mouseout\") || tools.eqs(e.type, \"mousedown\") || tools.eqs(e.type, \"mouseup\"))) {\r\n return true;\r\n }\r\n if (root.curEditNode) {\r\n view.editNodeBlur = false;\r\n root.curEditInput.focus();\r\n }\r\n return (!root.curEditNode) && (_uCanDo ? _uCanDo.apply(view, arguments) : true);\r\n }\r\n})(jQuery);\r\n","export * from \"-!../node_modules/vue-style-loader/index.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App3.vue?vue&type=style&index=0&id=0ff81fba&lang=scss&scoped=true&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".filter-icon[data-v-0ff81fba]{margin-top:1px;float:right;font-size:9px!important;cursor:pointer;color:rgba(0,0,0,.5)}.selected-color[data-v-0ff81fba]{color:#027aff}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./newSearchBar.vue?vue&type=style&index=0&id=2592bd66&lang=scss&scoped=true&\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"0b3743cf\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".filter-icon[data-v-c9d515ce]{margin-top:1px;float:right;font-size:9px!important;cursor:pointer;color:rgba(0,0,0,.5)}.selected-color[data-v-c9d515ce]{color:#027aff}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".syNewsearchbar .search-wrap[data-v-2592bd66]{position:relative;height:64px;box-sizing:border-box;overflow:hidden;padding:16px 0;min-width:850px}.syNewsearchbar .search-wrap .search-input[data-v-2592bd66]{width:408px;float:left}.syNewsearchbar .search-wrap .search-input i[data-v-2592bd66]{cursor:pointer}.syNewsearchbar .search-wrap .search-input-small[data-v-2592bd66]{width:336px}.syNewsearchbar .search-wrap .dropdown-search[data-v-2592bd66]{color:#027aff;font-size:14px;float:left;margin:10px 10px 0;cursor:pointer}.syNewsearchbar .search-wrap .header-filter-btns[data-v-2592bd66]{display:flex;align-items:center;position:absolute;right:0;top:16px;height:32px}.syNewsearchbar .search-btn[data-v-2592bd66]{background:#027aff;color:#fefafa;font-size:14px;height:32px;width:72px;border:1px solid #027aff}.syNewsearchbar .reset-btn[data-v-2592bd66]{background:#fff;border:1px solid #d9d9d9;color:rgba(0,0,0,.65)}.syNewsearchbar .filter-wrap[data-v-2592bd66]{position:relative;width:100%;box-sizing:border-box;position:absolute;background:#fafafa;z-index:999;transition:all .3s;overflow:hidden;padding:0 25px;margin-left:-25px}.syNewsearchbar .filter-wrap .save-btn[data-v-2592bd66]{margin-left:5px;float:right}.syNewsearchbar .filter-wrap .condition-selector[data-v-2592bd66]{float:right}.syNewsearchbar .filter-wrap .filter-list[data-v-2592bd66]{margin-top:20px;border-top:1px solid #eaedf1;border-left:1px solid #eaedf1;border-right:1px solid #eaedf1}.syNewsearchbar .filter-wrap .filter-list ul[data-v-2592bd66]{overflow:hidden;position:relative}.syNewsearchbar .filter-wrap .filter-list .filter-item[data-v-2592bd66]{border-bottom:1px solid #eaedf1;text-align:center;font-size:14px;position:relative;height:auto}.syNewsearchbar .filter-wrap .filter-list .filter-item .item-title[data-v-2592bd66]{position:absolute;width:95px;left:0;top:0;bottom:0;height:auto;line-height:48px;background:#f6f7fb;color:#5e6470;border-right:1px solid #eaedf1}.syNewsearchbar .filter-wrap .filter-list .filter-item .item-list[data-v-2592bd66]{position:relative;left:100px;right:0;padding-right:50px;box-sizing:border-box}.syNewsearchbar .filter-wrap .filter-list .filter-item .item-list ul>li[data-v-2592bd66]{float:left;color:rgba(0,0,0,.65);line-height:48px;padding:0 12px;cursor:pointer}.syNewsearchbar .filter-wrap .filter-list .filter-item .item-list ul>li.isActive[data-v-2592bd66]{color:#027aff}.syNewsearchbar .filter-wrap .filter-list .filter-item .item-list .moreFilters[data-v-2592bd66]{width:100%}.syNewsearchbar .filter-wrap .filter-list .filter-item .item-list .moreFilters .showMore[data-v-2592bd66]{float:right;line-height:48px;margin-right:36px;color:#027aff;font-size:12px}.syNewsearchbar .filter-wrap .filter-list .filter-item .item-list .moreFilters>div[data-v-2592bd66]{width:100%;height:auto}.syNewsearchbar .filter-wrap .filter-list .filter-item .item-list .moreFilters>div>div[data-v-2592bd66]{float:left;height:40px;line-height:30px}.syNewsearchbar .filter-wrap .filter-list .filter-item .item-list .moreFilters>div>div p[data-v-2592bd66]{height:100%;line-height:30px;padding:0 4px 0 24px;float:left}.syNewsearchbar .filter-wrap .filter-list .filter-item .item-list .moreFilters>div>div .operators[data-v-2592bd66]{float:left}.syNewsearchbar .filter-wrap .h0[data-v-2592bd66]{height:0;overflow:hidden;margin-bottom:0}.syNewsearchbar .filter-wrap .mt0[data-v-2592bd66]{margin-top:0}.syNewsearchbar .filter-wrap .mt10[data-v-2592bd66]{margin-top:10px}.syNewsearchbar .filter-wrap .mb10[data-v-2592bd66]{margin-bottom:10px}.syNewsearchbar .filter-wrap .h40[data-v-2592bd66]{height:40px;overflow:hidden}.syNewsearchbar .clearfix[data-v-2592bd66]:after{content:\\\".\\\";height:0;display:block;visibility:hidden;clear:both;overflow:hidden}.syNewsearchbar .rotate180[data-v-2592bd66]{transform:rotate(180deg)}\", \"\"]);\n// Exports\nmodule.exports = exports;\n"],"sourceRoot":""}