vsyswin-ui 0.2.95 → 0.2.97

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:///./examples/App1.vue?19ea","webpack:///./packages/drag-set/src/dragSet.vue?d35a","webpack:///./examples/normalize.scss","webpack:///./packages/table/src/noData.vue?7ac4","webpack:///./packages/styles/iconfont/iconfont.css","webpack:///./packages/styles/iconfont/iconfont.eot","webpack:///./examples/App.vue?ea5f","webpack:///./examples/App2.vue?a388","webpack:///./packages/button-ellipsis/src/button-container.vue?5f6c","webpack:///./packages/base-dialog/src/base-dialog.vue?e2cb","webpack:///./packages/styles/common.scss","webpack:///./packages/newSearchBar/src/newSearchBar.vue?e266","webpack:///./packages/drag-set/src/dragSet.vue?5401","webpack:///./packages/search-tree/src/zTree.vue?07e3","webpack:///./packages/table/src/table.vue?cf2d","webpack:///./packages/select-tree/src/select-tree.vue?317d","webpack:///./examples/App.vue?04b0","webpack:///./packages/select-tree/src/select-tree.vue?b84a","webpack:///./packages/drag-set/src/dragSet.vue?048d","webpack:///./packages/styles/iconfont/iconfont.ttf","webpack:///./examples/App4.vue?4793","webpack:///./packages/search-tree/src/zoom-out.png","webpack:///./packages/styles/common-old.scss?26e9","webpack:///./packages/select-tree/src/select-tree.vue?559a","webpack:///./packages/search-bar/src/save-local.vue?7382","webpack:///./packages/table/src/table.vue?3b42","webpack:///./packages/table/src/table.vue?c09d","webpack:///./packages/button-ellipsis/src/button-container.vue?8ec2","webpack:///./packages/input-more/src/input-more.vue?b3ed","webpack:///./packages/styles/common-old.scss","webpack:///./packages/styles/common.scss?b94b","webpack:///./packages/search-bar/src/search-bar.vue?acac","webpack:///./examples/App2.vue?ea2e","webpack:///./packages/layout/src/pick-left.png","webpack:///./packages/table/src/noData.vue?0f3d","webpack:///./examples/App1.vue?b3f0","webpack:///./packages/search-bar/src/dialog-condition.vue?ba70","webpack:///./examples/App2.vue?57ba","webpack:///./packages/search-bar/src/dialog-condition.vue?381b","webpack:///./packages/input-more/src/input-more.vue?9417","webpack:///./packages/search-bar/src/search-bar.vue?82cf","webpack:///./packages/table/src/table.vue?7173","webpack:///./packages/search-bar/src/search-bar.vue?e753","webpack:///./packages/layout/src/pick-right.png","webpack:///./packages/select-project/src/select-project.vue?ce69","webpack:///./packages/select-project/src/select-project.vue?62e5","webpack:///./packages/newSearchBar/src/newSearchBar.vue?98fe","webpack:///./packages/table/src/table.vue?fa7a","webpack:///./packages/newSearchBar/src/newSearchBar.vue?d075","webpack:///./packages/styles/iconfont/iconfont.woff","webpack:///./packages/search-tree/src/zTree.vue?5730","webpack:///./packages/styles/iconfont/iconfont.svg","webpack:///./packages/table/src/table.vue?71fd","webpack:///./packages/select-project/src/select-project.vue?e852","webpack:///./packages/base-dialog/src/base-dialog.vue?21dd","webpack:///./examples/App3.vue?1048","webpack:///./packages/styles/iconfont/iconfont.css?5d15","webpack:///./packages/base-dialog/src/base-dialog.vue?bbfa","webpack:///./packages/table/src/noData.vue?f9ea","webpack:///./examples/App.vue?5280","webpack:///./packages/search-tree/src/zTree.vue?31a3","webpack:///./examples/App.vue","webpack:///examples/App.vue","webpack:///./examples/App.vue?95d0","webpack:///./examples/App.vue?375b","webpack:///./examples/App1.vue","webpack:///./examples/listConfigs.js","webpack:///examples/App1.vue","webpack:///./examples/App1.vue?5c0f","webpack:///./examples/App1.vue?e268","webpack:///./examples/App2.vue","webpack:///examples/App2.vue","webpack:///./examples/App2.vue?35c1","webpack:///./examples/App2.vue?5a99","webpack:///./examples/App3.vue","webpack:///examples/App3.vue","webpack:///./examples/App3.vue?1935","webpack:///./examples/App3.vue?9afb","webpack:///./examples/App4.vue","webpack:///examples/App4.vue","webpack:///./examples/App4.vue?8678","webpack:///./examples/App4.vue?f34a","webpack:///./examples/router.js","webpack:///./packages/layout/src/layout.vue","webpack:///packages/layout/src/layout.vue","webpack:///./packages/layout/src/layout.vue?3ec9","webpack:///./packages/layout/src/layout.vue?71f3","webpack:///./packages/layout/index.js","webpack:///./packages/search-tree/src/zTree.vue","webpack:///packages/search-tree/src/zTree.vue","webpack:///./packages/search-tree/src/zTree.vue?35e1","webpack:///./packages/search-tree/src/zTree.vue?c6e0","webpack:///./packages/search-tree/index.js","webpack:///./packages/select-project/src/select-project.vue","webpack:///packages/select-project/src/select-project.vue","webpack:///./packages/select-project/src/select-project.vue?27f3","webpack:///./packages/select-project/src/select-project.vue?0a24","webpack:///./packages/select-project/index.js","webpack:///./packages/select-tree/src/select-tree.vue","webpack:///packages/select-tree/src/select-tree.vue","webpack:///./packages/select-tree/src/select-tree.vue?65c8","webpack:///./packages/select-tree/src/select-tree.vue?8cbd","webpack:///./packages/select-tree/index.js","webpack:///./packages/search-bar/src/search-bar.vue","webpack:///./packages/search-bar/src/save-local.vue","webpack:///./packages/search-bar/src/dialog-condition.vue","webpack:///packages/search-bar/src/dialog-condition.vue","webpack:///./packages/search-bar/src/dialog-condition.vue?258d","webpack:///./packages/search-bar/src/dialog-condition.vue?17c9","webpack:///packages/search-bar/src/save-local.vue","webpack:///./packages/search-bar/src/save-local.vue?fac0","webpack:///./packages/search-bar/src/save-local.vue?507c","webpack:///packages/search-bar/src/search-bar.vue","webpack:///./packages/search-bar/src/search-bar.vue?b01a","webpack:///./packages/search-bar/src/search-bar.vue?cdeb","webpack:///./packages/search-bar/index.js","webpack:///./packages/simple-search-bar/src/simple-search-bar.vue","webpack:///packages/simple-search-bar/src/simple-search-bar.vue","webpack:///./packages/simple-search-bar/src/simple-search-bar.vue?7ce9","webpack:///./packages/simple-search-bar/src/simple-search-bar.vue?7a55","webpack:///./packages/simple-search-bar/index.js","webpack:///./packages/input-more/src/input-more.vue","webpack:///packages/input-more/src/input-more.vue","webpack:///./packages/input-more/src/input-more.vue?34df","webpack:///./packages/input-more/src/input-more.vue?0c3a","webpack:///./packages/input-more/index.js","webpack:///./packages/paging/src/paging.vue","webpack:///packages/paging/src/paging.vue","webpack:///./packages/paging/src/paging.vue?8406","webpack:///./packages/paging/src/paging.vue?b271","webpack:///./packages/paging/index.js","webpack:///./packages/base-dialog/src/base-dialog.vue","webpack:///packages/base-dialog/src/base-dialog.vue","webpack:///./packages/base-dialog/src/base-dialog.vue?c4bc","webpack:///./packages/base-dialog/src/base-dialog.vue?f079","webpack:///./packages/base-dialog/index.js","webpack:///./packages/newSearchBar/src/newSearchBar.vue","webpack:///packages/newSearchBar/src/newSearchBar.vue","webpack:///./packages/newSearchBar/src/newSearchBar.vue?849a","webpack:///./packages/newSearchBar/src/newSearchBar.vue?3636","webpack:///./packages/newSearchBar/index.js","webpack:///./packages/table/src/table.vue","webpack:///./packages/table/src/noData.vue","webpack:///packages/table/src/noData.vue","webpack:///./packages/table/src/noData.vue?1459","webpack:///./packages/table/src/noData.vue?3eb8","webpack:///./packages/drag-set/src/dragSet.vue","webpack:///packages/drag-set/src/dragSet.vue","webpack:///./packages/drag-set/src/dragSet.vue?2821","webpack:///./packages/drag-set/src/dragSet.vue?4f38","webpack:///./packages/drag-set/index.js","webpack:///./packages/table/src/BigDataTable.js","webpack:///packages/table/src/table.vue","webpack:///./packages/table/src/table.vue?29db","webpack:///./packages/table/src/table.vue?b8b5","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","webpack:///packages/button-ellipsis/src/button-container.vue","webpack:///./packages/button-ellipsis/src/button-container.vue?ade0","webpack:///packages/button-ellipsis/src/button-list.vue","webpack:///./packages/button-ellipsis/src/button-list.vue?a5cf","webpack:///./packages/button-ellipsis/src/button-list.vue?d02a","webpack:///packages/button-ellipsis/src/button-item.vue","webpack:///./packages/button-ellipsis/src/button-item.vue?f518","webpack:///./packages/button-ellipsis/index.js","webpack:///./packages/top-tabs/src/top-tabs.vue","webpack:///packages/top-tabs/src/top-tabs.vue","webpack:///./packages/top-tabs/src/top-tabs.vue?0db2","webpack:///./packages/top-tabs/src/top-tabs.vue?106a","webpack:///./packages/top-tabs/index.js","webpack:///./packages/index.js","webpack:///./examples/main.js","webpack:///./examples/normalize.scss?1cbe","webpack:///./examples/App4.vue?7ebb","webpack:///./packages/search-bar/src/dialog-condition.vue?ac09","webpack:///./packages/button-ellipsis/src/button-container.vue?1a5c","webpack:///./examples/App3.vue?3b3f","webpack:///./packages/search-bar/src/save-local.vue?5e6f","webpack:///./packages/search-tree/src/lib/jquery.ztree.all.js","webpack:///./examples/App3.vue?918a","webpack:///./node_modules/_moment@2.29.4@moment/locale sync ^\\.\\/.*$","webpack:///./examples/App1.vue?315b","webpack:///./packages/input-more/src/input-more.vue?565a","webpack:///./examples/App4.vue?2723","webpack:///./packages/search-bar/src/save-local.vue?0758"],"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","default","locals","add","___CSS_LOADER_GET_URL_IMPORT___","___CSS_LOADER_URL_IMPORT_0___","___CSS_LOADER_URL_IMPORT_1___","___CSS_LOADER_URL_IMPORT_2___","___CSS_LOADER_URL_IMPORT_3___","___CSS_LOADER_URL_REPLACEMENT_0___","___CSS_LOADER_URL_REPLACEMENT_1___","hash","___CSS_LOADER_URL_REPLACEMENT_2___","___CSS_LOADER_URL_REPLACEMENT_3___","___CSS_LOADER_URL_REPLACEMENT_4___","render","_vm","this","_c","_self","attrs","staticClass","on","$event","menuShow","_v","staticStyle","directives","rawName","expression","jumpToPage","staticRenderFns","methods","component","scopedSlots","_u","fn","ref","projectNodes","beforeClick","searchProject","onSelectProject","yearChange","model","curYear","callback","$$v","proxy","setting","nodes","onClick","handleCreated","searchTree","placeholder","savedCondition","searchTable","clearTags","saveScreeningCriteria","selectChange","deleteItem","slot","_t","_l","filterItems","item","idx","class","h40","isShrink","style","lineHeight","_s","handleTimePicker","timeVal","trim","_e","itemList","listItem","index","id","isActive","clickItemHandle","handleSearch","keyword","searchList","handleReset","select","flag","handleSave","columnsList","transContent","tableData","money","money1","getSummaries","handleSortChange","handleFilterChange","headerDragend","handleSelectionChange","cellClick","dragChange","visible","sn","stopPropagation","row","status","createDate","$set","scope","listConfigs","label","type","prop","minWidth","isShow","fixed","sortable","tooltip","align","headerAlign","filterType","slotHeader","slotCell","filters","cascadeOptions","children","ztreeData","props","sumInfo","ztreeObj","check","enable","iconMap","idKey","nodeType","title","view","showIcon","multiple","defaultValue","format","pickerOptions","hideName","options","checkStrictly","sumType","approveFlag","createby","createbyName","proInstId","projectId","reductionId","reductionReason","sourceName","tagList","height","created","console","onCheck","alert","column","order","getSavedCondition","localStorage","searchTables","updateTagList","tags","sub","columns","values","sums","shrinkFilterItem","createTag","tagObj","pName","pId","timeArr","ele","handleCommand","mounted","setTimeout","parentId","materialCategoryId","materialCategoryName","parentCategoryId","parentCode","code","remark","orderNumber","factorySetting","handleClick","activeName","showCommonDialog","dialogVisible","confirm","selectActive","searchKey","eltreeData","getNode","node","curElTreeNode","query","chargeAreaMin","chargeAreaMax","queryFollows","nameStr","openChooseFollows","clearQueryFollows","pagination","handlePageChange","totals","dialogTableVisible","gridData","currentPage","pageSize","lebel","getValue","setValue","members","date","address","watch","Vue","use","Router","routes","path","redirect","App1","meta","App2","App3","App4","router","beforeEach","to","from","next","document","headVisiable","$slots","left","width","showTree","pickLeft","require","noPadding","pickRight","computed","layout","install","searchable","searchClass","modifiers","domProps","typing","onCompositionEnd","onQueryInputFocus","onQueryInputBlur","$forceUpdate","target","composing","onInput","ztreeId","pArray","pData","jQuery","required","beforeClickFn","beforeCheckFn","isSearching","curSelectedNode","searchIsActive","ztreeSetting","beforeCheck","onAsyncError","onAsyncSuccess","onCollapse","onDblClick","onDrag","onDragMove","onDrop","onExpand","onMouseDown","onMouseUp","onRemove","onRename","onRightClick","handler","deep","immediate","onSearchTree","setSelectedNode","setCheckedNodes","checkedKeys","cancelAllSelectedNode","disabled","projectInfo","nodeName","isOpen","components","SySearchTree","defaultCheckedKeys","selectProject","handleClickOutside","widthObj","selectedNode","clearSelectedNode","nativeOn","toggleVisible","arguments","heightObj","searchPlaceholder","Clickoutside","nodeId","selectTree","handleClearInput","showFilter","handleToggleFilterList","shrinkFilterList","searchButtonText","resetButtonText","currentSearchList","maxConditionLength","handleChangeDateragne","filterable","opt","saveToLocal","conditionList","conditionValue","handleChangeCondition","handleEditCondition","handleDeleteCondition","handleConfirmCondition","currentData","customTagList","tag","handleTagClose","handleClearAllTags","saveToLocalPosition","dialogConditionVisible","handleClose","form","handleConfirm","dialogCondition","validator","storageName","curConditionValue","showClose","customClass","confirmButtonClass","cancelButtonClass","then","catch","deepCopyFunction","arr1","arr2","item1","findTree","allData","saveLocal","binding","el","update","unbind","hasSetDefaultTag","shortcuts","text","picker","start","getLocalStorageConditionListData","localList","createTagList","obj","list","setTagList","filterList","parentItem","handleClearData","setDefaultTagList","v","SearchBar","SaveLocal","auto","search","blur","indexOf","_k","keyCode","simpleSearchBar","str","open","clearChoosed","maxlength","intpuMore","alignStyle","pagerCount","pageSizes","handleSizeChange","Math","ceil","handleChange","paging","dialogTitle","closeOnClickModal","footer","loading","Save","Cancel","set","baseDialog","slotName","smallSearchWidth","shrinkFilter","rotate180","resetBtnFlag","maxHeight","windowHeight","boxShadow","h0","mt0","showSaveCondition","choosedCondition","getWinH","newSearchBar","showDragSet","columnList","_b","rowKey","showSummary","customSum","getSummariesNum","indent","lazy","load","treeProps","defaultExpandAll","expandRowKeys","handleSelectAll","handleSelect","handleExpandChange","handleHeaderDragend","columnData","resizable","refInFor","x","reset","$index","handleColumnClick","changeSumType","totalText","showPageSum","showChoiseSum","msg","dragVisible","overflow","dragOptions","isDragDisabled","save","listConf","cusStyle","animation","pull","group","ghostClass","draggable","lockItems","unLockItems","dragSet","BigDataTable","constructor","vm","_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","setInfoNode","side","oldNode","_length","totleLength","itemHeight","_newNode","span","topSpan","bottomSpan","_top","max","min","_bottom","getFillData","setSpan","$nextTick","_data","refresh","evt","element","fnc","addEventListener","attachEvent","off","removeEventListener","detachEvent","isArray","arr","toString","getStyle","elem","getComputedStyle","currentStyle","hasChildren","nameKey","decimalNum","virtual","selection","fillData","noData","table","updated","fillrow","rowIndex","reload","initBigDataTable","table_item_height","getColumnsData","doLayout","clearSelection","toggleRowSelection","toggleAllSelection","toggleRowExpansion","clearSort","buttons","trigger","num","contents","icon","click","size","placement","buttonContainer","display","buttonList","buttonItem","tabs","defaultProps","updateValue","topTabs","buttonEllipsis","inputMore","installed","map","ElementUI","vSyswinUI","config","productionTip","h","App","$mount","$","settings","roots","caches","_consts","className","BUTTON","LEVEL","ICO_LOADING","SWITCH","NAME","event","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","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","Date","getTime","_initCache","getCache","setCache","doms","_bindEvent","consts","tools","srcEvent","clickFlag","XMLHttpRequest","textStatus","errorThrown","treeNode","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","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","getBeforeA","getInnerAfterA","getInnerBeforeA","getNodeByParam","getNodes","getNodesByParam","getNodesByParamFuzzy","toLowerCase","getNodesByFilter","filter","isSingle","invokeParam","tmpResult","getRoots","getSettings","getZTreeTools","treeTools","preNode","nextNode","newChildren","newIsParent","newName","nodeIcon","nodeTitle","removeNodeCache","removeSelectedNode","cache","setZTreeTools","transformToArrayFormat","_do","_node","transformTozTreeFormat","sNodes","parentKey","tmpMap","bindTree","eventParam","onSelectStart","css","unbindTree","doProxy","e","results","uCanDo","switchNode","ctrlKey","metaKey","cancelPreSelectedNode","selectNode","originalEvent","srcElement","fun","param","zt","canAsync","clone","str1","str2","isElement","HTMLElement","exp","ownerDocument","curDom","targetExpr","parentsUntil","isChildOrSelf","dom","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","JSON","stringify","success","eval","err","error","excludeNode","removeClass","createNodeCallback","parentObj","nextObj","zTreeHtml","before","destroy","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","makeNodeTarget","icoCss","iconSkin","iconName","iconStyle","lineClass","makeNodeLineClassEx","urlKey","makeUlLineClass","removeChildNodes","tmp_switchObj","tmp_icoObj","scrollIntoView","Element","scrollIntoViewIfNeeded","centerIfNeeded","makeRange","coverRange","inner","outer","end","makePoint","y","dX","dY","absolute","pt","translate","offsetLeft","offsetTop","offsetParent","origin","extent","offsetWidth","offsetHeight","clientLeft","clientTop","scrollLeft","clientWidth","clientHeight","contRect","getBoundingClientRect","findMeRect","top","bottom","right","setFirstNode","setLastNode","removeNode","tmp_ulObj","childLength","newLast","tmp_first_switchObj","tmpName","undefined","tmpList","valType","removeAttr","addFlag","addClass","setNodeFontCss","aObj","ulLine","setNodeName","setNodeTarget","setNodeUrl","zTree","_z","getZTreeObj","zSetting","zNodes","body","parseInt","isNaN","xNewNodes","addCallback","cancelSelectedNode","expandAll","expandNode","sonSign","focus","callbackFlag","showNodeFocus","a","getNodeByTId","getSelectedNodes","reAsyncChildNodesPromise","reloadType","promise","Promise","resolve","reject","reAsyncChildNodes","isRoot","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","Array","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","val","inputSelect","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","webpackContext","req","webpackContextResolve","Error","keys"],"mappings":"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ACP+H,MAAO,MAET,CACE/H,MAAO,SACP+H,MAAO,MAET,CACE/H,MAAO,SACP+H,MAAO,MAET,CACE/H,MAAO,SACP+H,MAAO,QAIb,CACE/H,MAAO,UACP+H,MAAO,KACPe,SAAU,CACR,CACE9I,MAAO,iBACP+H,MAAO,QAET,CACE/H,MAAO,gBACP+H,MAAO,YAMjB,CACE/H,MAAO,SACP+H,MAAO,KACPe,SAAU,CACR,CACE9I,MAAO,QACP+H,MAAO,QACPe,SAAU,CACR,CACE9I,MAAO,SACP+H,MAAO,aAET,CACE/H,MAAO,QACP+H,MAAO,YAET,CACE/H,MAAO,aACP+H,MAAO,iBAET,CACE/H,MAAO,OACP+H,MAAO,WAET,CACE/H,MAAO,SACP+H,MAAO,eAIb,CACE/H,MAAO,OACP+H,MAAO,OACPe,SAAU,CACR,CACE9I,MAAO,QACP+H,MAAO,aAET,CACE/H,MAAO,WACP+H,MAAO,gBAET,CACE/H,MAAO,QACP+H,MAAO,aAET,CACE/H,MAAO,eACP+H,MAAO,mBAET,CACE/H,MAAO,SACP+H,MAAO,cAET,CACE/H,MAAO,WACP+H,MAAO,kBAET,CACE/H,MAAO,SACP+H,MAAO,aAET,CACE/H,MAAO,SACP+H,MAAO,aAET,CACE/H,MAAO,cACP+H,MAAO,oBAET,CACE/H,MAAO,cACP+H,MAAO,oBAET,CACE/H,MAAO,kBACP+H,MAAO,0BAET,CACE/H,MAAO,SACP+H,MAAO,aAET,CACE/H,MAAO,OACP+H,MAAO,WAET,CACE/H,MAAO,OACP+H,MAAO,aAIb,CACE/H,MAAO,OACP+H,MAAO,OACPe,SAAU,CACR,CACE9I,MAAO,QACP+H,MAAO,YAET,CACE/H,MAAO,MACP+H,MAAO,UAET,CACE/H,MAAO,WACP+H,MAAO,gBAET,CACE/H,MAAO,OACP+H,MAAO,aAET,CACE/H,MAAO,aACP+H,MAAO,iBAET,CACE/H,MAAO,QACP+H,MAAO,cAIb,CACE/H,MAAO,SACP+H,MAAO,SACPe,SAAU,CACR,CACE9I,MAAO,QACP+H,MAAO,YAET,CACE/H,MAAO,UACP+H,MAAO,cAET,CACE/H,MAAO,UACP+H,MAAO,gBAET,CACE/H,MAAO,cACP+H,MAAO,iBAET,CACE/H,MAAO,eACP+H,MAAO,qBAIb,CACE/H,MAAO,aACP+H,MAAO,aACPe,SAAU,CACR,CACE9I,MAAO,OACP+H,MAAO,gBAET,CACE/H,MAAO,OACP+H,MAAO,YAET,CACE/H,MAAO,aACP+H,MAAO,kBAET,CACE/H,MAAO,WACP+H,MAAO,iBAET,CACE/H,MAAO,QACP+H,MAAO,eAIb,CACE/H,MAAO,SACP+H,MAAO,SACPe,SAAU,CACR,CACE9I,MAAO,SACP+H,MAAO,cAET,CACE/H,MAAO,UACP+H,MAAO,gBAET,CACE/H,MAAO,UACP+H,MAAO,eAET,CACE/H,MAAO,OACP+H,MAAO,WAET,CACE/H,MAAO,WACP+H,MAAO,gBAET,CACE/H,MAAO,WACP+H,MAAO,qBAMjB,CACE/H,MAAO,SACP+H,MAAO,KACPe,SAAU,CACR,CACE9I,MAAO,QACP+H,MAAO,oBAET,CACE/H,MAAO,SACP+H,MAAO,oBAET,CACE/H,MAAO,SACP+H,MAAO,aClNTgB,EAAY,EAAQ,QAKX,OACfxJ,WACAyJ,OACA1E,aACA0D,YACA9G,gBAGA/D,OACA,OACA8L,SAAApC,UAAAC,WACAN,QACA3C,oCACA0C,UACAH,WACA8C,cACAjF,SACAkF,OACAC,WAEAjM,MAMAkM,SACA,gBACA,uBACA,mBACA,mBACA,wBACA,qBACA,iBACA,iBACA,mBAGA/I,KACAgJ,eACAC,sBACAhK,gBACAiK,iBACAV,uBAGAW,MAEAC,cAGAxF,QACAX,eACA8C,YACA,CACAL,MACAzG,YACAoK,YACA9D,UACA,CACAG,OACAzG,WACAS,mCACAkB,WACA0I,0CACA5B,iBACA/B,eAIA,CACAD,KACAzG,YACAoK,YACA9D,UACA,CACAG,MACAzG,QACAS,WACAgI,qBACA6B,0BACA5D,YACA6D,kBAEA,CACA9D,MACAzG,UACAS,YACAgI,YACA/B,aAEA,CACAD,MACAzG,UACAS,aACAgI,YACA/B,aAEA,CACAD,MACAzG,UACAS,cACAgI,YACA/B,aAEA,CACAD,MACAzG,UACAS,WACAgI,aACA/B,eAIA,CACAD,MACAzG,YACAsG,aAEA,CACAG,MACAzG,YACAsG,UACA,CACAG,MACAzG,aACAwK,YACA/J,WACAgI,cACA2B,YACAK,SACA,CAAAhE,KAAAhG,YAAA+H,aACA,CAAA/B,KAAAhG,YAAA+H,cAEA9B,aAEA,CACAD,MACAzG,UACAS,cACAgI,YACA/B,eAIA,CACAD,OACAzG,YACAsG,UACA,CACAG,OACAzG,YACAwK,YACA/J,WACAgI,eACA2B,YACAM,iBACAD,UACA/D,eAIA,CACAD,KACAzG,YACAoK,YACA9D,UACA,CACAG,MACAzG,gBACAS,QACAgI,YACA/B,YACA/E,YAEA,CACA8E,MACAzG,cACAS,QACAgI,YACA/B,YACA/E,cAIA,CACA8E,KACAzG,aACAoK,YACA9D,UACA,CACAG,MACAzG,gBACAS,QACAgI,YACA/B,aAEA,CACAD,MACAzG,cACAS,QACAgI,YACA/B,eAIA,CACAD,KACAzG,aACAoK,YACA9D,UACA,CACAG,MACAzG,gBACAS,QACAgI,YACA/B,aAEA,CACAD,MACAzG,cACAS,QACAgI,YACA/B,eAIA,CACAD,KACAzG,aACAoK,YACA9D,UACA,CACAG,MACAzG,gBACAS,QACAgI,YACA/B,aAEA,CACAD,MACAzG,cACAS,QACAgI,YACA/B,eAIA,CACAD,KACAzG,aACAoK,YACA9D,UACA,CACAG,MACAzG,gBACAS,QACAgI,YACA/B,YACA/E,YAEA,CACA8E,MACAzG,gBACAS,QACAgI,YACA/B,eAIA,CACAD,KACAzG,YACAoK,YACA9D,aAEA,CACAG,MACAzG,cACAoK,YACA9D,WAAAG,KAAAzG,QAAAwK,YAAA/J,WAAAgI,iBAAA/B,eAEA,CACAD,MACAzG,cACAoK,YACA9D,WAAAG,KAAAzG,QAAAwK,YAAA/J,WAAAgI,kBAAA/B,gBAGAS,0CACAwD,UACAtD,WACA,CACAuD,cACAxC,wBACAyC,gBACAC,mBACAC,gCACAC,+BACAC,iCACAC,qBACAjM,gCACA+I,kBACAmD,kBACA7D,UACAC,UACAY,UAEA,CACAyC,cACAxC,wBACAyC,gBACAC,mBACAC,gCACAC,+BACAC,iCACAC,qBACAjM,gCACA+I,kBACAmD,kBACA7D,UACAC,UACAY,WAGAH,MACAD,WACAqD,WACApG,kBACAmB,WACAV,aACA,CACAgB,OACAzG,UACAsG,UACA,CACAG,KACAzG,YACA0G,aAEA,CACAD,KACAzG,UACA0G,aAEA,CACAD,KACAzG,YACA0G,aAEA,CACAD,KACAzG,aACA0G,aAEA,CACAD,KACAzG,WACA0G,aAEA,CACAD,KACAzG,WACA0G,cAGAZ,YACAuF,WAEA,CACA5E,OACAzG,YACAsG,UACA,CACAG,OACAzG,QACA0G,cAGAZ,YACAuF,cAKAC,UACA,0CACA,0BAEA5H,SACAO,eACA,yBAEAsH,wBACA,IAGA3G,wBAEA2G,uBAEAC,wBAEAD,uBAEA1G,0BACA,gBAEA8E,iCACA,8CAEA7E,cAEA,GADAyG,yBACA,GACA,SAAAhC,sBACA,eACA,mFAEA,cAGArF,iBAEA,GADAqH,yBACA,GACA,SAAAhC,sBACA,uEAEA,qBAGApF,mBAEAoH,6BAEA3E,gBACA2E,gBAEAxE,eACAwE,gBAEArE,cACAqE,gBAEAnE,kBACA,aACA,UAEAS,eAEA,eACA4D,eAGA/D,wBAGAC,yBACAC,2BAGAH,yBAAAiE,OAAAhD,QAAAiD,MAIA7D,cAEA,oBAGA1D,eAKAwH,oBACA,uCAEA,uEAEA,wBAIAzG,yBACA,qBACA,iDACA,+CACA,2CACA,gCACA,8FACA,GACAqD,kGACA/H,mCACAiB,SACA0J,UACA3F,cACAU,UACAU,YAGA,4BACA,sCACAgF,4EAGAzG,gBACA,gCACA,cACA,mEACA,2DACA,2DACA,oBACA,sFAMA0G,gBACA,qBACA,oCACA,2CAEAC,gBACA,WACA,6BACArG,2BACA,YACAsG,kCAKA,qBACAA,cACA,2BACAC,qBACAA,YAGA,gBAEAzE,sBAAA0E,OAAAtO,IACA,oBACA,8BAEA,WAyBA,OAxBAsO,kBACA,sCACA,mBACAC,gDAGA,wDACA,iBACAC,8BAEAA,sBACA,kBACA,gBAGA,EAFA,KAIA,GAEAA,uCAEAA,UAGA,GAGAnH,eACA,sBAGAoH,oBACA,2CACA3G,wBAGA4G,iBACA,MAAAtM,OAAAyG,MAAA,EACA,SAeA,OAbA8F,EADA,QACAA,eACAC,QACAC,MACAC,wBACA,IAGAH,eACAC,QACAC,SACA,IAGA,GAGA9F,2BACA,4CACA,cACAjB,2BAEA,4BAGAR,YACA,6BACAQ,uBACA,+BAGA,oBACA,8CACA,qCACA,gBACA,yBAGAL,cACA,oBACA,8CACA,uCAEA,gCACAwG,2EACA,6BACAnG,uBACA,+BAGA,iBAGAQ,oBACA,aAUA,6BACA,aACAyG,0BACAA,6BACA,MAbA,6BACA,aACAA,0BACAA,6BACA,OAeAC,iBACA,UACA,WACA,MACA,QACA,SAIAC,UACA,kDACAC,gBACA,aACA,SACA,CAAArG,KAAAzG,aACA,CAAAyG,KAAAzG,cACA,QACA,CACAyG,QACAhG,WACAgI,YACAzI,eAGA,2CAEA,6EACA,yDACA,oBACA,wCAEA,MCt2Boa,ICQha,G,UAAY,eACd,EACA,EACA,GACA,EACA,KACA,WACA,OAIa,I,QCnBXyC,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,QAAQc,YAAYlB,EAAImB,GAAG,CAAC,CAAC9C,IAAI,OAAO+C,GAAG,WAAW,MAAO,CAAClB,EAAG,iBAAiB,CAACmB,IAAI,WAAWjB,MAAM,CAAC,QAAUJ,EAAIgC,QAAQ,MAAQhC,EAAIiC,OAAO3B,GAAG,CAAC,QAAUN,EAAIkC,QAAQ,UAAYlC,EAAImC,cAAc,WAAanC,EAAIoC,gBAAgBL,OAAM,MAAS,CAAC7B,EAAG,MAAM,CAACG,YAAY,qBAAqB,CAACH,EAAG,MAAM,CAACG,YAAY,UAAU,CAACH,EAAG,MAAM,CAACG,YAAY,YAAY,CAACH,EAAG,MAAM,CAACG,YAAY,sBAAsB,CAACH,EAAG,uBAAuB,CAACE,MAAM,CAAC,YAAc,gBAAgBuB,MAAM,CAAC5D,MAAOiC,EAAImE,QAAStC,SAAS,SAAUC,GAAM9B,EAAImE,QAAQrC,GAAKjB,WAAW,YAAY,CAACX,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,OAAO,KAAO,iBAAiB,CAACJ,EAAIS,GAAG,QAAQP,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,OAAO,KAAO,2BAA2B,CAACJ,EAAIS,GAAG,SAAS,IAAI,KAAKP,EAAG,MAAM,CAACG,YAAY,sBAEv1BU,EAAkB,GCwBtB,MAAM,EAAY,CAClB,CACAgD,wBACAsG,aACAxD,UACA,CACA9C,wBACAsG,8BACAxD,YACAyD,wCACAC,gCACAC,sCACAC,kBACAC,cACAC,UACAC,cACAnF,SACAoF,mBAGAP,wCACAC,4BACAC,qBACAC,cACAC,YACAC,WACAC,cACAnF,SACAoF,kBAEA,CACA9G,wBACAsG,aACAxD,UACA,CACA9C,wBACAsG,8BACAxD,UACA,CACA9C,wBACAsG,8BACAxD,UACA,CACA9C,wBACAsG,8BACAxD,UACA,CACA9C,wBACAsG,8BACAxD,YACAyD,wCACAC,4BACAC,sCACAC,8BACAC,uBACAC,UACAC,cACAnF,SACAoF,mBAGAP,wCACAC,4BACAC,sCACAC,0BACAC,wBACAC,UACAC,cACAnF,SACAoF,mBAGAP,wCACAC,4BACAC,sCACAC,sBACAC,oBACAC,UACAC,cACAnF,SACAoF,kBAEA,CACA9G,wBACAsG,8BACAxD,YACAyD,wCACAC,4BACAC,sCACAC,sBACAC,aACAC,UACAC,cACAnF,SACAoF,mBAGAP,wCACAC,4BACAC,sCACAC,kBACAC,gBACAC,cACAC,cACAnF,SACAoF,mBAGAP,wCACAC,4BACAC,qBACAC,cACAC,YACAC,0BACAC,cACAnF,SACAoF,kBAEA,CACA9G,wBACAsG,aACAxD,YACAyD,wCACAC,4BACAC,qBACAC,cACAC,gBACAC,cACAC,eACAnF,SACAoF,kBAEA,CACA9G,wBACAsG,aACAxD,YACAyD,wCACAC,0BACAC,qBACAC,cACAC,UACAC,UACAC,cACAnF,SACAoF,mBAIe,OACfvN,YACApC,OACA,OACAiJ,WACA8C,cACAjF,SACAkF,OACAC,WAEAjM,MAEAkM,SACA,i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aAEA,CACAD,MACAzG,UACAS,cACAgI,YACA/B,eAIA,CACAD,KACAzG,YACAoK,YACA9D,UACA,CACAG,MACAzG,gBACAS,QACAgI,YACA/B,aAEA,CACAD,MACAzG,cACAS,QACAgI,YACA/B,eAIA,CACAD,MACAzG,eACAsG,UACA,CACAG,OACAzG,YACAS,SACAgI,YACA/B,YACApB,mBACA4J,cACA,CACAlP,8BACAS,8BAGA0O,aACA,SACA,8BACA,kCAEA,yBACA,iCAMA,CACA1I,KACAzG,YACAsG,UACA,CACAG,MACAzG,YACAS,SACAgI,YACA/B,YACApB,oBACA4J,aACA,mDAGA,CACAlP,+DACAS,2DAJA,CAAAT,QAAAS,UAOA0O,aACA,SACA,oCACA,sCAEA,4BACA,iCAMA,CACA1I,MACAzG,WACAsG,UACA,CACAmC,YACA/B,YACApB,yBAKAyI,aACAI,OACAC,iBACAC,kBAEAC,cACAc,WACAb,mBAEAO,UACA,CACAO,kBACArP,WACAsP,6BAEA,CACAD,kBACArP,WACAsP,6BAEA,CACAD,kBACArP,WACAsP,6BAEA,CACAD,kBACArP,WACAsP,8BAGAT,wBAGAU,OACAzB,aAEA,gBADA,EACA,yDAAAvE,sBAEA,IAIA7F,SACAO,eACA,yBAEAsH,wBACA,IAGA3G,wBAEA2G,uBAEAC,wBAEAD,uBAEA1G,0BACA,gBAEA8E,iCACA,4CAEA7E,cAEA,GADAyG,yBACA,GACA,SAAAhC,sBACA,eACA,mFAEA,cAGArF,iBAEA,GADAqH,yBACA,GACA,SAAAhC,sBACA,uEAEA,qBAGApF,mBAEAoH,6BAEA3E,gBACA2E,gBAEAxE,eACAwE,gBAEArE,cACAqE,gBAEA/D,gBAKA,OAHA,oBACA,8BAEA,uBAEAJ,kBACA,aACA,UAEAS,eACA,eACA4D,eAGA/D,wBAGAC,yBACAC,2BAGAH,yBAAAiE,OAAAhD,QAAAiD,MAIA7D,cAEA,oBAGA8E,iBACA,UACA,WACA,MACA,QACA,QAGAoB,WACAzC,eACA,qBACA,2BAEAoD,oBACA,kDAGAH,oBACA,4BAEAC,oBACA,+BAGA5B,UACA,g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A,aACA,OACAzG,IACA,YAKA,GAHA,aACAA,mBAEA,YAGA,aACA,SAGe,QACfe,mBACAsU,YACA4D,cAGA7U,YACA8R,cAEAnU,YACA,cAEA,yBACA,iEACA,yBACA,SAIA,cAEAmX,WAIAC,wBACA5H,sCAEA6H,WACAC,YAEA9H,mEACA,yBAIA/G,OACAwM,aAEAxN,aACA9G,YAEAmF,YACA2B,WACA9G,UACA,WAGAoD,aACA0D,YACA9G,kBAEA4T,YACA9M,aACA9G,YAEA+T,kBACAjN,YACA9G,cAEAgU,iBACAlN,YACA9G,cAEAyV,aACA3O,YACA9G,qBAEAkV,qBACApO,YACA9G,gBACAwV,sBACA,yCAGAV,eAEAhO,aACA9G,YAEAkU,oBACApN,YACA9G,YAGA/D,OACA,OACAiJ,WACA+O,qBACAH,oBACAS,iBACAC,kBACAK,eACAM,0BACAyB,oBACAnN,WACAb,eACAiO,WACA,CACAC,UACA7T,WACA,uDACA,yCACA8T,wBAGA,CACAD,YACA7T,WACA,iBACA,WACA+T,8BACAD,wBAGA,CACAD,YACA7T,WACA,iBACA,WACA+T,8BACAD,wBAGA,CACAD,aACA7T,WACA,iBACA,WACA+T,8BACAD,4BAOAxH,YACA3B,OACAzI,YACA4M,WACA,yCACAkE,6BACA,wBACA,yBACA,2BAGAjE,QACAC,eAGAvK,WACAiC,YACAuB,UACA,yCAEAnJ,SAEAkV,mCACA,sDACA,+BACAC,gBACA,sDAIAC,gBACA,WAgFA,OA/EA,+BACA,mCACAnM,uBACA,gCACA,OACAF,SACAD,aAEA/F,QACAzG,QACAS,cACAgI,aAEA,mBACAsQ,mBACA,sCACA,mBACAA,+CACA,yBACA,yBACA,OAEAA,gGACA,0BACA,yBACA,OAEAA,0FACA,6BACA,yBACA,OAEA,wCACAA,uGAEAA,kHAEA,sBACA,mBACA,eACA,uDACAA,wCAEAA,uDAEA,uBACA,mBACA,eACA,mBACA,OAGA,wBAEA,sBACA,+BACA,WAEAA,iEACA,CACA,kCACA,+BACAA,oDAEA,oBACA,sBACA,qBACA,qBAEA,OAEAA,kBACAA,gBACAA,qBAE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","file":"js/index.66686c86.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@4.1.3@vue-style-loader/index.js??ref--9-oneOf-1-0!../node_modules/_css-loader@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-2!../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-3!../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./App1.vue?vue&type=style&index=0&id=3e6cdb04&prod&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js??ref--9-oneOf-1-0!../../../node_modules/_css-loader@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-3!../../../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./dragSet.vue?vue&type=style&index=0&id=37403d81&prod&lang=scss&scoped=true&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../node_modules/_css-loader@3.6.0@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@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-3!../../../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./noData.vue?vue&type=style&index=0&id=bf708e56&prod&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\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@4.1.3@vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"77f741ad\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/_css-loader@3.6.0@css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_GET_URL_IMPORT___ = require(\"../../../node_modules/_css-loader@3.6.0@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","module.exports = __webpack_public_path__ + \"fonts/iconfont.7712aa52.eot\";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../node_modules/_css-loader@3.6.0@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","export * from \"-!../node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js??ref--9-oneOf-1-0!../node_modules/_css-loader@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-2!../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-3!../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./App2.vue?vue&type=style&index=0&id=c9d515ce&prod&lang=scss&scoped=true&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/_css-loader@3.6.0@css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".sy-button-dots[data-v-94147ef4]{width:18px;height:18px;cursor:pointer}\", \"\"]);\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@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-3!../../../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./base-dialog.vue?vue&type=style&index=0&id=21527198&prod&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\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@4.1.3@vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"6fd2a0c6\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/_css-loader@3.6.0@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;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-dialog-center-footer .el-dialog__body{padding:10px;box-sizing:border-box}.syswin-dialog-center-footer .el-dialog__footer,.syswin-dialog-center-footer .my-footer{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}.no-border-input .el-input.is-active .el-input__inner,.no-border-input .el-input__inner:focus{border-color:transparent!important}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/_css-loader@3.6.0@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","// 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@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-3!../../../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./dragSet.vue?vue&type=style&index=0&id=37403d81&prod&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\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@4.1.3@vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"cbed242e\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","export * from \"-!../../../node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js??ref--7-oneOf-1-0!../../../node_modules/_css-loader@3.6.0@css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--7-oneOf-1-3!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./zTree.vue?vue&type=style&index=0&id=227fd0c2&prod&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js??ref--9-oneOf-1-0!../../../node_modules/_css-loader@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-3!../../../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./table.vue?vue&type=style&index=1&id=695bb168&prod&lang=scss&\"","export * from \"-!../../../node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js??ref--9-oneOf-1-0!../../../node_modules/_css-loader@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-3!../../../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./select-tree.vue?vue&type=style&index=0&id=1dce1332&prod&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@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-2!../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-3!../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=337b4410&prod&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\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@4.1.3@vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"2d406518\", 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@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-3!../../../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./select-tree.vue?vue&type=style&index=0&id=1dce1332&prod&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\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@4.1.3@vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"690fd706\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/_css-loader@3.6.0@css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".content[data-v-37403d81],.content .dragItem[data-v-37403d81]{width:100%;box-sizing:border-box}.content .dragItem[data-v-37403d81]{height:30px;line-height:30px;background:#fff;padding:0 10px;cursor:move}.content .dragItem .itemLock[data-v-37403d81]{float:right;opacity:0;cursor:pointer;transition:opacity .1s}.content .dragItem .itemIsLock[data-v-37403d81]{cursor:pointer;float:right}.content .dragItem .dragIcon[data-v-37403d81]{float:right;opacity:0;transition:opacity .1s;margin-right:8px}.content .dragItem[data-v-37403d81]:hover{color:#027aff}.content .dragItem:hover .dragIcon[data-v-37403d81],.content .dragItem:hover .itemLock[data-v-37403d81]{opacity:1}.content .confirmBtn[data-v-37403d81]{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-37403d81]{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-37403d81]{margin:0;padding:0;border:0;line-height:100%}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","module.exports = __webpack_public_path__ + \"fonts/iconfont.46438fa5.ttf\";","// 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@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-2!../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-3!../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./App4.vue?vue&type=style&index=0&id=50d98bba&prod&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\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@4.1.3@vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"20ebc21a\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","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@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-3-1!../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-3-2!../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-3-3!../../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-3-4!./common-old.scss\");\nif(content.__esModule) content = content.default;\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@4.1.3@vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"ce48ac96\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/_css-loader@3.6.0@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","export * from \"-!../../../node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js??ref--9-oneOf-1-0!../../../node_modules/_css-loader@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-3!../../../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./save-local.vue?vue&type=style&index=0&id=5c790fce&prod&lang=scss&scoped=true&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/_css-loader@3.6.0@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@3.6.0@css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".sum[data-v-695bb168]{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-695bb168]{width:100%;height:30px;line-height:30px;background:#fff;padding:0 10px;box-sizing:border-box}.filter-icon[data-v-695bb168]{margin-top:1px;float:right;font-size:9px!important;cursor:pointer;color:rgba(0,0,0,.5)}.selected-color[data-v-695bb168]{color:#027aff}.el-button--primary[data-v-695bb168]{background-color:#027aff;border-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@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-3!../../../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./button-container.vue?vue&type=style&index=0&id=94147ef4&prod&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\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@4.1.3@vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"b43c4404\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","export * from \"-!../../../node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js??ref--9-oneOf-1-0!../../../node_modules/_css-loader@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-3!../../../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./input-more.vue?vue&type=style&index=0&id=3d5df6b4&prod&lang=scss&scoped=true&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/_css-loader@3.6.0@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@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-3-1!../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-3-2!../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-3-3!../../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-3-4!./common.scss\");\nif(content.__esModule) content = content.default;\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@4.1.3@vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"54724369\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","export * from \"-!../../../node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js??ref--9-oneOf-1-0!../../../node_modules/_css-loader@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-3!../../../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./search-bar.vue?vue&type=style&index=0&id=7faf2514&prod&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@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-2!../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-3!../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./App2.vue?vue&type=style&index=0&id=c9d515ce&prod&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\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@4.1.3@vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"089a6f27\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","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@4.1.3@vue-style-loader/index.js??ref--9-oneOf-1-0!../../../node_modules/_css-loader@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-3!../../../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./noData.vue?vue&type=style&index=0&id=bf708e56&prod&lang=scss&scoped=true&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../node_modules/_css-loader@3.6.0@css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".filter-icon[data-v-3e6cdb04]{margin-top:1px;float:right;font-size:9px!important;cursor:pointer;color:rgba(0,0,0,.5)}.selected-color[data-v-3e6cdb04]{color:#027aff}.el-input__icon[data-v-3e6cdb04]{line-height:normal!important;padding:0!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@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-3!../../../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./dialog-condition.vue?vue&type=style&index=0&id=a4a667ec&prod&lang=scss&\");\nif(content.__esModule) content = content.default;\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@4.1.3@vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"73b7f6b6\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../node_modules/_css-loader@3.6.0@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","export * from \"-!../../../node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js??ref--9-oneOf-1-0!../../../node_modules/_css-loader@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-3!../../../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./dialog-condition.vue?vue&type=style&index=0&id=a4a667ec&prod&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@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-3!../../../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./input-more.vue?vue&type=style&index=0&id=3d5df6b4&prod&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\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@4.1.3@vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"9d198d2c\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/_css-loader@3.6.0@css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".syswin-searchbar[data-v-7faf2514]{position:relative}.syswin-searchbar .syswin-searchbar-container[data-v-7faf2514]{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-7faf2514]{padding:8px 15px}.syswin-searchbar-container__input[data-v-7faf2514]{float:left;width:336px}.syswin-searchbar-container__input[data-v-7faf2514].el-input__inner{border-radius:2px}.syswin-searchbar-container__filter[data-v-7faf2514]{margin-left:8px;color:#027aff;font-size:14px}.syswin-searchbar-container__filter[data-v-7faf2514]:focus,.syswin-searchbar-container__filter[data-v-7faf2514]:hover{background:transparent!important;color:#027aff!important;border-color:transparent!important}.syswin-searchbar-container__filter .el-icon-caret-bottom[data-v-7faf2514]{transition:all .3s cubic-bezier(.645,.045,.355,1)}.syswin-searchbar-container__filter .el-icon-caret-bottom.is-rotate-180[data-v-7faf2514]{transform:rotate(180deg)}.syswin-searchbar-container__search[data-v-7faf2514]{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-7faf2514]{margin-left:16px}.syswin-searchbar-container__reset[data-v-7faf2514]{padding:0;width:72px;height:32px;font-size:12px;border-radius:2px}.syswin-searchbar-container__reset[data-v-7faf2514]:hover{color:#606266!important;border-color:#dcdfe6!important;background:#fff!important}.syswin-searchbar-container__listBtns[data-v-7faf2514]{position:absolute;right:0}.syswin-searchbar-container__listBtns .el-button--text[data-v-7faf2514]{color:#027aff}.syswin-searchbar .syswin-searchbar-list[data-v-7faf2514]{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-7faf2514] .el-range-editor--small .el-range-separator{line-height:28px}.syswin-searchbar-list__wrap[data-v-7faf2514]{border:1px solid #eaedf1;border-bottom:none}.syswin-searchbar-list__footer[data-v-7faf2514]{display:flex;margin-top:16px}.syswin-searchbar-list__footer.align-right[data-v-7faf2514]{text-align:right;justify-content:flex-end}.syswin-searchbar .syswin-filter-item[data-v-7faf2514]{display:flex;align-items:stretch;border-bottom:1px solid #eaedf1;background-color:#f6f7fb}.syswin-filter-item__title[data-v-7faf2514]{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-7faf2514]{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-7faf2514]{border-radius:2px}.syswin-filter-item__li[data-v-7faf2514]{display:flex;align-items:center;padding:0 12px;line-height:48px;color:rgba(0,0,0,.65)}.syswin-filter-item__li[data-v-7faf2514].el-select .el-input__icon{line-height:48px}.syswin-filter-item__span[data-v-7faf2514]{box-sizing:border-box;display:block;width:100%;height:100%;font-size:14px;cursor:pointer}.syswin-filter-item__span.is-active[data-v-7faf2514]{color:#027aff}.syswin-filter-item__name[data-v-7faf2514]{margin-right:5px}.syswin-filter-item__subTitle[data-v-7faf2514]{float:left;margin:0 8px 0 0;font-size:14px;font-weight:600}.syswin-filter-item__subContent[data-v-7faf2514]{margin:0;padding:0;list-style:none;background-color:#fafafa;overflow:hidden}.syswin-filter-item__subContent .el-date-editor[data-v-7faf2514]{border-radius:2px}.syswin-filter-item__subLi[data-v-7faf2514]{float:left;padding:0 12px;line-height:48px;color:rgba(0,0,0,.65)}.syswin-footer__save[data-v-7faf2514]{padding:0;width:72px;height:32px;font-size:12px;border-radius:2px}.syswin-footer__condition[data-v-7faf2514]{margin:0 16px;width:127px;height:32px}.syswin-footer__condition[data-v-7faf2514].el-input__inner{border-radius:2px}.syswin-footer__label[data-v-7faf2514]{float:left;width:116px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.syswin-footer__edit[data-v-7faf2514]{color:#027aff}.syswin-footer__delete[data-v-7faf2514],.syswin-footer__edit[data-v-7faf2514]{float:right;margin-left:8px;line-height:34px}.syswin-footer__delete[data-v-7faf2514]{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@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-3!../../../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./table.vue?vue&type=style&index=0&id=695bb168&prod&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\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@4.1.3@vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"2a60132f\", 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@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-3!../../../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./search-bar.vue?vue&type=style&index=0&id=7faf2514&prod&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\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@4.1.3@vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"12c3e548\", 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=\"","export * from \"-!../../../node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js??ref--9-oneOf-1-0!../../../node_modules/_css-loader@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-3!../../../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./select-project.vue?vue&type=style&index=0&id=4081269a&prod&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@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-3!../../../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./select-project.vue?vue&type=style&index=0&id=4081269a&prod&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\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@4.1.3@vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"199cfadb\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","export * from \"-!../../../node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js??ref--9-oneOf-1-0!../../../node_modules/_css-loader@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-3!../../../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./newSearchBar.vue?vue&type=style&index=0&id=2592bd66&prod&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@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-3!../../../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./table.vue?vue&type=style&index=1&id=695bb168&prod&lang=scss&\");\nif(content.__esModule) content = content.default;\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@4.1.3@vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"6b4e848e\", 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@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-3!../../../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./newSearchBar.vue?vue&type=style&index=0&id=2592bd66&prod&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\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@4.1.3@vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"512ba0c1\", 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@3.6.0@css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--7-oneOf-1-3!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./zTree.vue?vue&type=style&index=0&id=227fd0c2&prod&scoped=true&lang=css&\");\nif(content.__esModule) content = content.default;\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@4.1.3@vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"5bbe692a\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","module.exports = __webpack_public_path__ + \"img/iconfont.451d6d18.svg\";","export * from \"-!../../../node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js??ref--9-oneOf-1-0!../../../node_modules/_css-loader@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-3!../../../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./table.vue?vue&type=style&index=0&id=695bb168&prod&lang=scss&scoped=true&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/_css-loader@3.6.0@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","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/_css-loader@3.6.0@css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".popup .el-dialog[data-v-21527198]{background-color:#fff;box-shadow:0 0 10px 0 rgba(17,130,251,.5);border-radius:5px;margin-top:10%!important}.popup .el-dialog__header[data-v-21527198]{width:100%;height:40px;line-height:38px;border-bottom:1px solid #f6f7f9;box-sizing:border-box;padding:0 20px;font-size:16px}.popup .el-dialog__close.el-icon.el-icon-close[data-v-21527198]{font-size:20px;width:17px;height:17px}.popup .el-button.el-button--default[data-v-21527198]{color:var(--primary-color);border:1px solid var(--primary-color)}.popup .el-dialog__headerbtn[data-v-21527198]{top:4px}.popup .el-dialog__title[data-v-21527198]{color:#3c4354;font-family:PingFangSC-Regular;font-size:16px;line-height:16px}\", \"\"]);\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@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-2!../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-3!../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./App3.vue?vue&type=style&index=0&id=26940c5e&prod&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\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@4.1.3@vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"cee5d4c8\", 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@3.6.0@css-loader/dist/cjs.js??ref--7-oneOf-3-1!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--7-oneOf-3-2!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--7-oneOf-3-3!./iconfont.css\");\nif(content.__esModule) content = content.default;\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@4.1.3@vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"59739b5c\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","export * from \"-!../../../node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js??ref--9-oneOf-1-0!../../../node_modules/_css-loader@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-3!../../../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./base-dialog.vue?vue&type=style&index=0&id=21527198&prod&lang=scss&scoped=true&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/_css-loader@3.6.0@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","export * from \"-!../node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js??ref--9-oneOf-1-0!../node_modules/_css-loader@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-2!../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-3!../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=337b4410&prod&lang=scss&scoped=true&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/_css-loader@3.6.0@css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_GET_URL_IMPORT___ = require(\"../../../node_modules/_css-loader@3.6.0@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-227fd0c2]{height:100%;display:flex;flex-direction:column}.ztree-search[data-v-227fd0c2]{height:40px;padding-top:10px}.ztree-search-wrapper[data-v-227fd0c2]{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-227fd0c2]{box-sizing:border-box}.ztree-search-wrapper.is-active[data-v-227fd0c2]{border-color:#027aff}.ztree-search-wrapper .icon[data-v-227fd0c2]{flex-basis:16px;width:16px;height:16px;background:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") no-repeat}.ztree-search-wrapper .input-box[data-v-227fd0c2]{flex:1}.ztree-search-wrapper .query-input[data-v-227fd0c2]{height:28px;line-height:29px;width:100%;border:none;padding:0 8px;background-color:transparent}.ztree-search-wrapper .query-input[data-v-227fd0c2]::-moz-placeholder{color:#aaa}.ztree-search-wrapper .query-input[data-v-227fd0c2]::placeholder{color:#aaa}.ztree-container[data-v-227fd0c2]{flex:1;overflow-y:auto}.empty[data-v-227fd0c2]{color:#999;padding-left:40px}.ztree[data-v-227fd0c2]{text-align:left;font-size:14px;padding-left:5px}.ztree[data-v-227fd0c2] li{list-style-type:none;white-space:nowrap;outline:none}.ztree[data-v-227fd0c2] li ul{position:relative;padding:0 0 0 18px;margin:0}.ztree[data-v-227fd0c2] .line:before{position:absolute;top:0;left:10px;height:100%;content:\\\"\\\";border-right:1px dotted #dbdbdb}.ztree[data-v-227fd0c2] .bottom_docu:after,.ztree[data-v-227fd0c2] .bottom_docu:before,.ztree[data-v-227fd0c2] .center_docu:after,.ztree[data-v-227fd0c2] .center_docu:before,.ztree[data-v-227fd0c2] .roots_docu:after,.ztree[data-v-227fd0c2] .roots_docu:before{position:absolute;content:\\\"\\\";border:0 dotted #dbdbdb}.ztree[data-v-227fd0c2] .roots_docu:before{left:10px;height:50%;top:50%;border-left-width:1px}.ztree[data-v-227fd0c2] .roots_docu:after{top:50%;left:11px;width:50%;border-top-width:1px}.ztree[data-v-227fd0c2] .center_docu:before{left:10px;height:100%;border-left-width:1px}.ztree[data-v-227fd0c2] .center_docu:after{top:50%;left:11px;width:50%;border-top-width:1px}.ztree[data-v-227fd0c2] .bottom_docu:before{left:10px;height:50%;border-left-width:1px}.ztree[data-v-227fd0c2] .bottom_docu:after{top:50%;left:11px;width:50%;border-top-width:1px}.ztree[data-v-227fd0c2] li a{display:inline-block;line-height:22px;height:22px;margin:0;cursor:pointer;transition:none;vertical-align:middle;color:#606266}.ztree[data-v-227fd0c2] .node_name{display:inline-block;padding:0 3px;border-radius:4px}.ztree[data-v-227fd0c2] .curSelectedNode .node_name{color:#000;background-color:#c9e9f7}.ztree[data-v-227fd0c2] .curSelectedNode_Edit{height:20px;opacity:.8;color:#000;border:1px solid #6cc2e8;background-color:#9dd6f0}.ztree[data-v-227fd0c2] .tmpTargetNode_inner{opacity:.8;color:#fff;background-color:#4fcbf0;filter:alpha(opacity=80)}.ztree[data-v-227fd0c2] .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-227fd0c2] .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-227fd0c2] .button.edit{color:#25ae88}.ztree[data-v-227fd0c2] .button.remove{color:#cb4042}.ztree[data-v-227fd0c2] .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-227fd0c2] .chk.radio_false_disable,.ztree[data-v-227fd0c2] .chk.radio_false_full,.ztree[data-v-227fd0c2] .chk.radio_false_full_focus,.ztree[data-v-227fd0c2] .chk.radio_false_part,.ztree[data-v-227fd0c2] .chk.radio_false_part_focus,.ztree[data-v-227fd0c2] .chk.radio_true_disable,.ztree[data-v-227fd0c2] .chk.radio_true_full,.ztree[data-v-227fd0c2] .chk.radio_true_full_focus,.ztree[data-v-227fd0c2] .chk.radio_true_part,.ztree[data-v-227fd0c2] .chk.radio_true_part_focus{border-radius:8px}.ztree[data-v-227fd0c2] .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-227fd0c2] .button.checkbox_false_full_focus{border-color:#ccc}.ztree[data-v-227fd0c2] .button.checkbox_true_disable,.ztree[data-v-227fd0c2] .button.checkbox_true_full,.ztree[data-v-227fd0c2] .button.checkbox_true_full_focus,.ztree[data-v-227fd0c2] .button.checkbox_true_part,.ztree[data-v-227fd0c2] .button.checkbox_true_part_focus{border-color:#39f;background-color:#39f}.ztree[data-v-227fd0c2] .button.checkbox_true_disable:after,.ztree[data-v-227fd0c2] .button.checkbox_true_full:after,.ztree[data-v-227fd0c2] .button.checkbox_true_full_focus:after{transform:rotate(45deg) scale(1)}.ztree[data-v-227fd0c2] .button.checkbox_true_part:after,.ztree[data-v-227fd0c2] .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-227fd0c2] .button.radio_true_full,.ztree[data-v-227fd0c2] .chk.radio_true_full_focus,.ztree[data-v-227fd0c2] .chk.radio_true_part,.ztree[data-v-227fd0c2] .chk.radio_true_part_focus{border-color:#39f}.ztree[data-v-227fd0c2] .button.radio_true_full:after,.ztree[data-v-227fd0c2] .chk.radio_true_full_focus:after,.ztree[data-v-227fd0c2] .chk.radio_true_part:after,.ztree[data-v-227fd0c2] .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-227fd0c2] .button.checkbox_false_disable,.ztree[data-v-227fd0c2] .button.checkbox_true_disable,.ztree[data-v-227fd0c2] .chk.radio_false_disable,.ztree[data-v-227fd0c2] .chk.radio_true_disable{cursor:not-allowed}.ztree[data-v-227fd0c2] .button.checkbox_false_disable{background-color:#f3f3f3}.ztree[data-v-227fd0c2] .button.bottom_close:before,.ztree[data-v-227fd0c2] .button.bottom_open:before,.ztree[data-v-227fd0c2] .button.center_close:before,.ztree[data-v-227fd0c2] .button.center_open:before,.ztree[data-v-227fd0c2] .button.noline_close:before,.ztree[data-v-227fd0c2] .button.noline_open:before,.ztree[data-v-227fd0c2] .button.root_close:before,.ztree[data-v-227fd0c2] .button.root_open:before,.ztree[data-v-227fd0c2] .button.roots_close:before,.ztree[data-v-227fd0c2] .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-227fd0c2] .button.bottom_open:before,.ztree[data-v-227fd0c2] .button.center_open:before,.ztree[data-v-227fd0c2] .button.noline_open:before,.ztree[data-v-227fd0c2] .button.root_open:before,.ztree[data-v-227fd0c2] .button.roots_open:before{transform:rotate(90deg)}.ztree[data-v-227fd0c2] .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-227fd0c2] .tmpTargetzTree{opacity:.8;background-color:#2ea9df;filter:alpha(opacity=80)}.ztree[data-v-227fd0c2] .tmpzTreeMove_arrow{position:absolute;width:18px;height:18px;color:#4fcbf0}.ztree[data-v-227fd0c2] .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-227fd0c2]{position:absolute;z-index:10000;opacity:0;background-color:#cfcfcf;filter:alpha(opacity=0)}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var render = function render(){var _vm=this,_c=_vm._self._c;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)\n}\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@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../node_modules/_vue-loader@15.10.1@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&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/_vue-loader@15.10.1@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 render(){var _vm=this,_c=_vm._self._c;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:\"prepend\",fn:function(){return [_c('el-select',{staticClass:\"no-border-input\",staticStyle:{\"width\":\"100px\"},attrs:{\"placeholder\":\"请选择\"},model:{value:(_vm.select),callback:function ($$v) {_vm.select=$$v},expression:\"select\"}},[_c('el-option',{attrs:{\"label\":\"餐厅名\",\"value\":\"1\"}}),_c('el-option',{attrs:{\"label\":\"订单号\",\"value\":\"2\"}}),_c('el-option',{attrs:{\"label\":\"用户电话\",\"value\":\"3\"}})],1)]},proxy:true},{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,\"customSum\":false,\"sumInfo\":{ money: 300, money1: 33 },\"rowKey\":\"id\",\"nameKey\":\"app1\",\"getSummaries\":_vm.getSummaries},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({ row, index }){return _c('span',{},[_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"状态\")]),_c('span',[_vm._v(_vm._s(row.status)+_vm._s(index))])])}},{key:\"createDate\",fn:function({ row }){return _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(\"保存\")])]}}])}),_c('div',{attrs:{\"slot\":\"customSum\"},slot:\"customSum\"},[_vm._v(\"合计\")])],1)],1)\n}\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\r\nexport const cascadeOptions = [\r\n {\r\n value: 'zhinan',\r\n label: '指南',\r\n children: [\r\n {\r\n value: 'shejiyuanze',\r\n label: '设计原则',\r\n children: [\r\n {\r\n value: 'yizhi',\r\n label: '一致'\r\n },\r\n {\r\n value: 'fankui',\r\n label: '反馈'\r\n },\r\n {\r\n value: 'xiaolv',\r\n label: '效率'\r\n },\r\n {\r\n value: 'kekong',\r\n label: '可控'\r\n }\r\n ]\r\n },\r\n {\r\n value: 'daohang',\r\n label: '导航',\r\n children: [\r\n {\r\n value: 'cexiangdaohang',\r\n label: '侧向导航'\r\n },\r\n {\r\n value: 'dingbudaohang',\r\n label: '顶部导航'\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n value: 'zujian',\r\n label: '组件',\r\n children: [\r\n {\r\n value: 'basic',\r\n label: 'Basic',\r\n children: [\r\n {\r\n value: 'layout',\r\n label: 'Layout 布局'\r\n },\r\n {\r\n value: 'color',\r\n label: 'Color 色彩'\r\n },\r\n {\r\n value: 'typography',\r\n label: 'Typography 字体'\r\n },\r\n {\r\n value: 'icon',\r\n label: 'Icon 图标'\r\n },\r\n {\r\n value: 'button',\r\n label: 'Button 按钮'\r\n }\r\n ]\r\n },\r\n {\r\n value: 'form',\r\n label: 'Form',\r\n children: [\r\n {\r\n value: 'radio',\r\n label: 'Radio 单选框'\r\n },\r\n {\r\n value: 'checkbox',\r\n label: 'Checkbox 多选框'\r\n },\r\n {\r\n value: 'input',\r\n label: 'Input 输入框'\r\n },\r\n {\r\n value: 'input-number',\r\n label: 'InputNumber 计数器'\r\n },\r\n {\r\n value: 'select',\r\n label: 'Select 选择器'\r\n },\r\n {\r\n value: 'cascader',\r\n label: 'Cascader 级联选择器'\r\n },\r\n {\r\n value: 'switch',\r\n label: 'Switch 开关'\r\n },\r\n {\r\n value: 'slider',\r\n label: 'Slider 滑块'\r\n },\r\n {\r\n value: 'time-picker',\r\n label: 'TimePicker 时间选择器'\r\n },\r\n {\r\n value: 'date-picker',\r\n label: 'DatePicker 日期选择器'\r\n },\r\n {\r\n value: 'datetime-picker',\r\n label: 'DateTimePicker 日期时间选择器'\r\n },\r\n {\r\n value: 'upload',\r\n label: 'Upload 上传'\r\n },\r\n {\r\n value: 'rate',\r\n label: 'Rate 评分'\r\n },\r\n {\r\n value: 'form',\r\n label: 'Form 表单'\r\n }\r\n ]\r\n },\r\n {\r\n value: 'data',\r\n label: 'Data',\r\n children: [\r\n {\r\n value: 'table',\r\n label: 'Table 表格'\r\n },\r\n {\r\n value: 'tag',\r\n label: 'Tag 标签'\r\n },\r\n {\r\n value: 'progress',\r\n label: 'Progress 进度条'\r\n },\r\n {\r\n value: 'tree',\r\n label: 'Tree 树形控件'\r\n },\r\n {\r\n value: 'pagination',\r\n label: 'Pagination 分页'\r\n },\r\n {\r\n value: 'badge',\r\n label: 'Badge 标记'\r\n }\r\n ]\r\n },\r\n {\r\n value: 'notice',\r\n label: 'Notice',\r\n children: [\r\n {\r\n value: 'alert',\r\n label: 'Alert 警告'\r\n },\r\n {\r\n value: 'loading',\r\n label: 'Loading 加载'\r\n },\r\n {\r\n value: 'message',\r\n label: 'Message 消息提示'\r\n },\r\n {\r\n value: 'message-box',\r\n label: 'MessageBox 弹框'\r\n },\r\n {\r\n value: 'notification',\r\n label: 'Notification 通知'\r\n }\r\n ]\r\n },\r\n {\r\n value: 'navigation',\r\n label: 'Navigation',\r\n children: [\r\n {\r\n value: 'menu',\r\n label: 'NavMenu 导航菜单'\r\n },\r\n {\r\n value: 'tabs',\r\n label: 'Tabs 标签页'\r\n },\r\n {\r\n value: 'breadcrumb',\r\n label: 'Breadcrumb 面包屑'\r\n },\r\n {\r\n value: 'dropdown',\r\n label: 'Dropdown 下拉菜单'\r\n },\r\n {\r\n value: 'steps',\r\n label: 'Steps 步骤条'\r\n }\r\n ]\r\n },\r\n {\r\n value: 'others',\r\n label: 'Others',\r\n children: [\r\n {\r\n value: 'dialog',\r\n label: 'Dialog 对话框'\r\n },\r\n {\r\n value: 'tooltip',\r\n label: 'Tooltip 文字提示'\r\n },\r\n {\r\n value: 'popover',\r\n label: 'Popover 弹出框'\r\n },\r\n {\r\n value: 'card',\r\n label: 'Card 卡片'\r\n },\r\n {\r\n value: 'carousel',\r\n label: 'Carousel 走马灯'\r\n },\r\n {\r\n value: 'collapse',\r\n label: 'Collapse 折叠面板'\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n value: 'ziyuan',\r\n label: '资源',\r\n children: [\r\n {\r\n value: 'axure',\r\n label: 'Axure Components'\r\n },\r\n {\r\n value: 'sketch',\r\n label: 'Sketch Templates'\r\n },\r\n {\r\n value: 'jiaohu',\r\n label: '组件交互文档'\r\n }\r\n ]\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 #prepend>\r\n <el-select class=\"no-border-input\" style=\"width: 100px;\" v-model=\"select\" placeholder=\"请选择\">\r\n <el-option label=\"餐厅名\" value=\"1\"></el-option>\r\n <el-option label=\"订单号\" value=\"2\"></el-option>\r\n <el-option label=\"用户电话\" value=\"3\"></el-option>\r\n </el-select>\r\n </template>\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 :customSum=\"false\"\r\n :sumInfo=\"{ money: 300, money1: 33 }\"\r\n rowKey=\"id\"\r\n nameKey=\"app1\"\r\n :getSummaries=\"getSummaries\"\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 <div slot=\"customSum\">合计</div>\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, cascadeOptions } from './listConfigs'\r\nconst ztreeData = require('./ztreeData.json')\r\n\r\n// const x = XEUtils.findTree(cascadeOptions, y => y.value === 'button')\r\n// console.log('找到的数据', x)\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 sumInfo: { money: 300, money1: 33 },\r\n flag: false,\r\n curYear: '' + new Date().getFullYear(),\r\n select: '',\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: 400,\r\n name: '服务类型',\r\n itemList: [\r\n {\r\n id: 401,\r\n name: '服务类型',\r\n hideName: true,\r\n value: null,\r\n type: 'cascade',\r\n multiple: true,\r\n checkStrictly: true,\r\n options: cascadeOptions,\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 getSummaries ({ columns, data }) {\r\n this.$nextTick(() => {\r\n this.$refs.table.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 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@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./App1.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../node_modules/_vue-loader@15.10.1@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=3e6cdb04&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=3e6cdb04&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/_vue-loader@15.10.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3e6cdb04\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;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\"})])])])\n}\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@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./App2.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../node_modules/_vue-loader@15.10.1@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&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/_vue-loader@15.10.1@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 render(){var _vm=this,_c=_vm._self._c;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\"},on:{\"click\":function($event){return _vm.showCommonDialog()}}},[_vm._v(\"基础弹框\")]),_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"iconfont icon-add-bold\"}},[_vm._v(\"新建\")])],1)],1)]),_c('div',{staticClass:\"sub-footer\"})])]),_c('sy-base-dialog',{attrs:{\"dialogTitle\":\"测试弹框\",\"visible\":_vm.dialogVisible,\"width\":\"880px\"},on:{\"update:visible\":function($event){_vm.dialogVisible=$event},\"confirm\":_vm.confirm}},[_c('div',[_vm._v(\"基础弹框\")])])],1)\n}\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\" @click=\"showCommonDialog()\">基础弹框</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-base-dialog dialogTitle=\"测试弹框\" :visible.sync=\"dialogVisible\" @confirm=\"confirm\" width=\"880px\">\r\n <div>基础弹框</div>\r\n </sy-base-dialog>\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 dialogVisible: false\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 showCommonDialog() {\r\n this.dialogVisible = true\r\n },\r\n confirm() {\r\n console.log('您点击了确定')\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@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./App3.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../node_modules/_vue-loader@15.10.1@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=26940c5e&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=26940c5e&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/_vue-loader@15.10.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"26940c5e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;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({ node }){return _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)\n}\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('122')\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('122')\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@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./App4.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../node_modules/_vue-loader@15.10.1@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=50d98bba&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=50d98bba&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/_vue-loader@15.10.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"50d98bba\",\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 render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"main-container\",class:{ 'no-head': !_vm.headVisiable }},[(_vm.headVisiable)?_c('div',{staticClass:\"hd\"},[_vm._t(\"headLeft\",function(){return [_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)])\n}\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@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./layout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@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@15.10.1@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 render(){var _vm=this,_c=_vm._self._c;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}}],ref:\"queryInputRef\",staticClass:\"query-input\",attrs:{\"type\":\"text\",\"placeholder\":_vm.placeholder},domProps:{\"value\":(_vm.keyword)},on:{\"compositionstart\":function($event){_vm.typing=true},\"compositionend\":_vm.onCompositionEnd,\"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.onInput]}})])])]):_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(\" 暂无数据 \")])])])\n}\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 ref='queryInputRef'\r\n :placeholder=\"placeholder\"\r\n @compositionstart=\"typing=true\"\r\n @compositionend=\"onCompositionEnd\"\r\n @focus=\"onQueryInputFocus\"\r\n @blur=\"onQueryInputBlur\"\r\n @input=\"onInput\"\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 typing: false,\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 this.$refs.queryInputRef.focus()\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 onCompositionEnd() {\r\n this.typing = false\r\n this.onSearchTree()\r\n },\r\n onInput() {\r\n // 正在输入中文时就不执行后面的代码\r\n if (this.typing) return\r\n this.onSearchTree()\r\n },\r\n onSearchTree: debounce(200, function() {\r\n // 根据关键字搜索树\r\n this.$emit('searchTree', this.keyword)\r\n this.$refs.queryInputRef.focus()\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@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./zTree.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@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=227fd0c2&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=227fd0c2&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"227fd0c2\",\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 render(){var _vm=this,_c=_vm._self._c;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)\n}\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@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@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@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@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&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.10.1@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 render(){var _vm=this,_c=_vm._self._c;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.apply(null, arguments)}}}),_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)\n}\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@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@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@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@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&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.10.1@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 render(){var _vm=this,_c=_vm._self._c;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(\"prepend\",null,{\"slot\":\"prepend\"}),_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,\"filterable\":item.filterable,\"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 === 'cascade')?[(item.name && !item.hideName)?_c('span',{staticClass:\"syswin-filter-item__name\"},[_vm._v(_vm._s(item.name))]):_vm._e(),_c('el-cascader',{style:({\n width: item.width ? item.width : '200px'\n }),attrs:{\"size\":\"small\",\"placeholder\":`请选择${item.name}`,\"options\":item.options,\"props\":{ multiple: !!item.multiple, checkStrictly: !!item.checkStrictly },\"collapse-tags\":\"\",\"clearable\":\"\"},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 === 'slot')?[_vm._t(item.slot,function(){return [_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,\"filterable\":item.filterable,\"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 === 'cascade')?[(item.name && !item.hideName)?_c('span',{staticClass:\"syswin-filter-item__name\"},[_vm._v(_vm._s(item.name))]):_vm._e(),_c('el-cascader',{style:({\n width: item.width ? item.width : '200px'\n }),attrs:{\"size\":\"small\",\"placeholder\":`请选择${item.name}`,\"options\":item.options,\"props\":{ multiple: !!item.multiple, checkStrictly: !!item.checkStrictly },\"collapse-tags\":\"\",\"clearable\":\"\"},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 === 'slot')?[_vm._t(item.slot,function(){return [_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,\"filterable\":item.filterable,\"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 === 'cascade')?[(item.name && !item.hideName)?_c('span',{staticClass:\"syswin-filter-item__name\"},[_vm._v(_vm._s(item.name))]):_vm._e(),_c('el-cascader',{style:({\n width: item.width ? item.width : '200px'\n }),attrs:{\"size\":\"small\",\"placeholder\":`请选择${item.name}`,\"options\":item.options,\"props\":{ multiple: !!item.multiple, checkStrictly: !!item.checkStrictly },\"collapse-tags\":\"\",\"clearable\":\"\"},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 === 'slot')?[_vm._t(item.slot,function(){return [_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)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;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)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;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)\n}\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@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@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@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@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&id=a4a667ec&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.10.1@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@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@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@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@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&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.10.1@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=\"prepend\" name=\"prepend\"></slot>\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 :filterable=\"item.filterable\"\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 === 'cascade'\">\r\n <span class=\"syswin-filter-item__name\" v-if=\"item.name && !item.hideName\">{{ item.name }}</span>\r\n <el-cascader size=\"small\" v-model=\"item.value\" :placeholder=\"`请选择${item.name}`\" :style=\"{\r\n width: item.width ? item.width : '200px'\r\n }\" :options=\"item.options\" :props=\"{ multiple: !!item.multiple, checkStrictly: !!item.checkStrictly }\" collapse-tags clearable @change=\"handleChangeDateragne(idx, index)\"></el-cascader>\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 :filterable=\"item.filterable\"\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 === 'cascade'\">\r\n <span class=\"syswin-filter-item__name\" v-if=\"item.name && !item.hideName\">{{ item.name }}</span>\r\n <el-cascader size=\"small\" v-model=\"item.value\" :placeholder=\"`请选择${item.name}`\" :style=\"{\r\n width: item.width ? item.width : '200px'\r\n }\" :options=\"item.options\" :props=\"{ multiple: !!item.multiple, checkStrictly: !!item.checkStrictly }\" collapse-tags clearable @change=\"handleChangeDateragne(idx, index)\"></el-cascader>\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 :filterable=\"item.filterable\"\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 === 'cascade'\">\r\n <span class=\"syswin-filter-item__name\" v-if=\"item.name && !item.hideName\">{{ item.name }}</span>\r\n <el-cascader size=\"small\" v-model=\"item.value\" :placeholder=\"`请选择${item.name}`\" :style=\"{\r\n width: item.width ? item.width : '200px'\r\n }\" :options=\"item.options\" :props=\"{ multiple: !!item.multiple, checkStrictly: !!item.checkStrictly }\" collapse-tags clearable @change=\"handleChangeDateragne(idx, index + maxConditionLength)\"></el-cascader>\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\nfunction findTree(allData, fn) {\r\n function loopFn(arr, pNode) {\r\n for (let i = 0; i < arr.length; i++) {\r\n // debugger\r\n let result = null\r\n const item = arr[i]\r\n item.nodes = [item]\r\n if (pNode) {\r\n item.nodes = [...pNode.nodes, item]\r\n }\r\n // findTree(item.options, tItem => tItem.value === lastValue)\r\n const flag = fn(item)\r\n if (flag) {\r\n result = item\r\n if (result) return result\r\n }\r\n if (item.children) {\r\n result = loopFn(item.children, item)\r\n }\r\n if (result) return result\r\n }\r\n }\r\n const res = loopFn(allData)\r\n return res\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 === 'cascade') {\r\n if (!item.value) return\r\n if (item.multiple) {\r\n if (!item.value.length) {\r\n return\r\n }\r\n // const valueOptions = item.value.map((x) => item.options.find((f) => f.value === x))\r\n const valueOptions = item.value.map((x) => {\r\n // console.log('xxxxxxxxxxxxx', x) // 这里的x是个数组\r\n const lastValue = x[x.length - 1]\r\n const find = findTree(item.options, tItem => tItem.value === lastValue)\r\n return find\r\n })\r\n obj.name = valueOptions.map((x) => x.nodes.map(y => y.label).join('/')).join(',')\r\n } else {\r\n const lastValue = item.value[item.value.length - 1]\r\n const find = findTree(item.options, tItem => tItem.value === lastValue)\r\n obj.name = find ? find.nodes.map(y => y.label).join('/') : ''\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 === 'cascade') {\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 === 'cascade') {\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 if (item.type === 'cascade') {\r\n if (item.multiple) {\r\n item.value = []\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 if (item.type === 'cascade') {\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 === 'cascade') {\r\n v.value = ele.value\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@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@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@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@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=7faf2514&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=7faf2514&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7faf2514\",\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 render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"header-filter\"},[_c('div',{staticClass:\"header-filter-input\"},[_vm._t(\"filterInput\",function(){return [_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.apply(null, arguments)}},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)])\n}\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@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@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@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@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@15.10.1@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 render(){var _vm=this,_c=_vm._self._c;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.apply(null, arguments)}}}):_vm._e()]),_c('i',{staticClass:\"el-icon-more more-icon\",on:{\"click\":_vm.open}})])\n}\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@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@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@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@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&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.10.1@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 render(){var _vm=this,_c=_vm._self._c;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\",function(){return [_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)\n}\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@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./paging.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@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@15.10.1@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 render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"popup\"},[_c('el-dialog',{attrs:{\"title\":_vm.dialogTitle,\"appendToBody\":\"\",\"custom-class\":\"syswin-dialog-center-footer\",\"visible\":_vm.dialogVisible,\"width\":_vm.width,\"before-close\":_vm.handleClose,\"close-on-click-modal\":_vm.closeOnClickModal},on:{\"update:visible\":function($event){_vm.dialogVisible=$event}}},[_vm._t(\"default\",function(){return [_c('p',[_vm._v(\"弹框自定义的内容\")])]}),(!_vm.$slots.footer)?_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"small\",\"loading\":_vm.loading},on:{\"click\":_vm.Save}},[_vm._v(\"确 定\")]),_c('el-button',{attrs:{\"size\":\"small\"},on:{\"click\":_vm.Cancel}},[_vm._v(\"取 消\")])],1):_c('div',{staticClass:\"my-footer\"},[_vm._t(\"footer\")],2)],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <!-- 封装弹框 -->\r\n <div class=\"popup\">\r\n <el-dialog :title=\"dialogTitle\" appendToBody custom-class=\"syswin-dialog-center-footer\" :visible.sync=\"dialogVisible\" :width=\"width\" :before-close=\"handleClose\" :close-on-click-modal=\"closeOnClickModal\">\r\n <slot>\r\n <p>弹框自定义的内容</p>\r\n </slot>\r\n <span v-if=\"!$slots.footer\" slot=\"footer\" class=\"dialog-footer\">\r\n <el-button type=\"primary\" @click=\"Save\" size=\"small\" :loading=\"loading\">确 定</el-button>\r\n <el-button @click=\"Cancel\" size=\"small\">取 消</el-button>\r\n </span>\r\n <div v-else class=\"my-footer\">\r\n <slot name=\"footer\" />\r\n </div>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: 'SyBaseDialog',\r\n props: {\r\n dialogTitle: {\r\n type: String,\r\n default: '标题'\r\n },\r\n visible: {\r\n type: Boolean,\r\n default: false\r\n },\r\n width: {\r\n type: String,\r\n default: '550px'\r\n },\r\n closeOnClickModal: {\r\n type: Boolean,\r\n default: false\r\n },\r\n loading: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n computed: {\r\n dialogVisible: {\r\n get() {\r\n return this.visible\r\n },\r\n set(val) {\r\n // 当visible改变的时候,触发父组件的 updateVisible方法,在该方法中更改传入子组件的 centerDialogVisible的值\r\n this.$emit('update:visible', val)\r\n }\r\n }\r\n },\r\n methods: {\r\n Cancel() {\r\n this.$emit('update:visible', false)\r\n },\r\n Save() {\r\n this.$emit('confirm')\r\n },\r\n handleClose() {\r\n this.$emit('update:visible', false)\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.popup {\r\n .el-dialog {\r\n background-color: #ffffff;\r\n box-shadow: 0px 0px 10px 0px rgba(17, 130, 251, 0.5);\r\n border-radius: 5px;\r\n margin-top: 10% !important;\r\n }\r\n .el-dialog__header {\r\n width: 100%;\r\n height: 40px;\r\n line-height: 38px;\r\n border-bottom: 1px solid #f6f7f9;\r\n box-sizing: border-box;\r\n padding: 0 20px;\r\n font-size: 16px;\r\n }\r\n .el-dialog__close.el-icon.el-icon-close {\r\n font-size: 20px;\r\n width: 17px;\r\n height: 17px;\r\n }\r\n .el-button.el-button--default {\r\n // width: 88px;\r\n color: var(--primary-color);\r\n border: 1px solid var(--primary-color);\r\n }\r\n\r\n .el-dialog__headerbtn {\r\n top: 4px;\r\n }\r\n .el-dialog__title {\r\n color: #3c4354;\r\n font-family: PingFangSC-Regular;\r\n font-size: 16px;\r\n line-height: 16px;\r\n }\r\n}\r\n</style>\r\n","import mod from \"-!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./base-dialog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./base-dialog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./base-dialog.vue?vue&type=template&id=21527198&scoped=true&\"\nimport script from \"./base-dialog.vue?vue&type=script&lang=js&\"\nexport * from \"./base-dialog.vue?vue&type=script&lang=js&\"\nimport style0 from \"./base-dialog.vue?vue&type=style&index=0&id=21527198&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"21527198\",\n null\n \n)\n\nexport default component.exports","// 导入组件\r\nimport baseDialog from './src/base-dialog.vue'\r\n\r\n// 为组件提供 install 安装方法,供按需引入\r\nbaseDialog.install = function (Vue) {\r\n Vue.component(baseDialog.name, baseDialog)\r\n}\r\n\r\n// 默认导出组件\r\nexport default baseDialog\r\n","var render = function render(){var _vm=this,_c=_vm._self._c;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.apply(null, arguments)}}},[_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()])])\n}\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@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./newSearchBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@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&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.10.1@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 render(){var _vm=this,_c=_vm._self._c;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.customSum ? _vm.getSummaries : _vm.getSummariesNum,\"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,\"select-all\":_vm.handleSelectAll,\"select\":_vm.handleSelect,\"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)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;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))])])])\n}\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@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./noData.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@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&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.10.1@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 render(){var _vm=this,_c=_vm._self._c;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',{attrs:{\"disabled\":item.isDragDisabled},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)\n}\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\" :disabled=\"item.isDragDisabled\" />\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@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./dragSet.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@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=37403d81&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=37403d81&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"37403d81\",\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=\"customSum ? getSummaries : getSummariesNum\"\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 @select-all=\"handleSelectAll\"\r\n @select=\"handleSelect\"\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 // 合计的处理方法\r\n getSummaries: {\r\n type: Function,\r\n default: () => {}\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 // 当用户手动勾选全选 Checkbox 时触发的事件\r\n handleSelectAll (selection) {\r\n this.$emit('select-all', selection);\r\n },\r\n // 当用户手动勾选数据行的 Checkbox 时触发的事件\r\n handleSelect (selection, row) {\r\n this.$emit('select', selection, row);\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 getSummariesNum ({ 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 if (this.decimalNum < 0) {\r\n // sums[index] = sums[index];\r\n } else {\r\n sums[index] = (+sums[index]).toFixed(this.decimalNum);\r\n }\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@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./table.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@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=695bb168&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=695bb168&prod&lang=scss&scoped=true&\"\nimport style1 from \"./table.vue?vue&type=style&index=1&id=695bb168&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"695bb168\",\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=94147ef4&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"94147ef4\",\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@15.10.1@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 render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"sy-btn-ellipsis\"},[_vm._t(\"default\"),_c('button-container',{attrs:{\"buttons\":_vm.buttons}})],2)\n}\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@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@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@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@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@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@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@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@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@15.10.1@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@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@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@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@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 render(){var _vm=this,_c=_vm._self._c;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)\n}\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@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@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@4.1.0@cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@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@15.10.1@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 baseDialog from './base-dialog'\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, baseDialog]\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 baseDialog\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@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-3-1!../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-3-2!../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-3-3!../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-3-4!./normalize.scss\");\nif(content.__esModule) content = content.default;\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@4.1.3@vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"8b5d47e0\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","export * from \"-!../node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js??ref--9-oneOf-1-0!../node_modules/_css-loader@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-2!../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-3!../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./App4.vue?vue&type=style&index=0&id=50d98bba&prod&lang=scss&scoped=true&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/_css-loader@3.6.0@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","export * from \"-!../../../node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js??ref--9-oneOf-1-0!../../../node_modules/_css-loader@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-3!../../../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./button-container.vue?vue&type=style&index=0&id=94147ef4&prod&lang=scss&scoped=true&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../node_modules/_css-loader@3.6.0@css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".filter-icon[data-v-26940c5e]{margin-top:1px;float:right;font-size:9px!important;cursor:pointer;color:rgba(0,0,0,.5)}.selected-color[data-v-26940c5e]{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@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-3!../../../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./save-local.vue?vue&type=style&index=0&id=5c790fce&prod&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\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@4.1.3@vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"599197b4\", 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@4.1.3@vue-style-loader/index.js??ref--9-oneOf-1-0!../node_modules/_css-loader@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-2!../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-3!../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./App3.vue?vue&type=style&index=0&id=26940c5e&prod&lang=scss&scoped=true&\"","var map = {\n\t\"./af\": \"6e3b\",\n\t\"./af.js\": \"6e3b\",\n\t\"./ar\": \"8888\",\n\t\"./ar-dz\": \"6128\",\n\t\"./ar-dz.js\": \"6128\",\n\t\"./ar-kw\": \"a309\",\n\t\"./ar-kw.js\": \"a309\",\n\t\"./ar-ly\": \"7a31\",\n\t\"./ar-ly.js\": \"7a31\",\n\t\"./ar-ma\": \"02c0\",\n\t\"./ar-ma.js\": \"02c0\",\n\t\"./ar-sa\": \"4558\",\n\t\"./ar-sa.js\": \"4558\",\n\t\"./ar-tn\": \"f9ce\",\n\t\"./ar-tn.js\": \"f9ce\",\n\t\"./ar.js\": \"8888\",\n\t\"./az\": \"7721\",\n\t\"./az.js\": \"7721\",\n\t\"./be\": \"e25c\",\n\t\"./be.js\": \"e25c\",\n\t\"./bg\": \"1f0b\",\n\t\"./bg.js\": \"1f0b\",\n\t\"./bm\": \"92cd\",\n\t\"./bm.js\": \"92cd\",\n\t\"./bn\": \"184e\",\n\t\"./bn-bd\": \"7422\",\n\t\"./bn-bd.js\": \"7422\",\n\t\"./bn.js\": \"184e\",\n\t\"./bo\": \"4acd\",\n\t\"./bo.js\": \"4acd\",\n\t\"./br\": \"03e8\",\n\t\"./br.js\": \"03e8\",\n\t\"./bs\": \"61a3\",\n\t\"./bs.js\": \"61a3\",\n\t\"./ca\": \"f855\",\n\t\"./ca.js\": \"f855\",\n\t\"./cs\": \"d4e6\",\n\t\"./cs.js\": \"d4e6\",\n\t\"./cv\": \"51ed\",\n\t\"./cv.js\": \"51ed\",\n\t\"./cy\": \"d892\",\n\t\"./cy.js\": \"d892\",\n\t\"./da\": \"21e4\",\n\t\"./da.js\": \"21e4\",\n\t\"./de\": \"1b69\",\n\t\"./de-at\": \"7d15\",\n\t\"./de-at.js\": \"7d15\",\n\t\"./de-ch\": \"c033\",\n\t\"./de-ch.js\": \"c033\",\n\t\"./de.js\": \"1b69\",\n\t\"./dv\": \"0581\",\n\t\"./dv.js\": \"0581\",\n\t\"./el\": \"7860\",\n\t\"./el.js\": \"7860\",\n\t\"./en-au\": \"b9cd\",\n\t\"./en-au.js\": \"b9cd\",\n\t\"./en-ca\": \"c889\",\n\t\"./en-ca.js\": \"c889\",\n\t\"./en-gb\": \"994c\",\n\t\"./en-gb.js\": \"994c\",\n\t\"./en-ie\": \"38b0\",\n\t\"./en-ie.js\": \"38b0\",\n\t\"./en-il\": \"863c\",\n\t\"./en-il.js\": \"863c\",\n\t\"./en-in\": \"160b\",\n\t\"./en-in.js\": \"160b\",\n\t\"./en-nz\": \"648a\",\n\t\"./en-nz.js\": \"648a\",\n\t\"./en-sg\": \"5c66\",\n\t\"./en-sg.js\": \"5c66\",\n\t\"./eo\": \"0e1f\",\n\t\"./eo.js\": \"0e1f\",\n\t\"./es\": \"7c4a\",\n\t\"./es-do\": \"58da\",\n\t\"./es-do.js\": \"58da\",\n\t\"./es-mx\": \"4fcd\",\n\t\"./es-mx.js\": \"4fcd\",\n\t\"./es-us\": \"382c\",\n\t\"./es-us.js\": \"382c\",\n\t\"./es.js\": \"7c4a\",\n\t\"./et\": \"63cd\",\n\t\"./et.js\": \"63cd\",\n\t\"./eu\": \"01ad\",\n\t\"./eu.js\": \"01ad\",\n\t\"./fa\": \"8280\",\n\t\"./fa.js\": \"8280\",\n\t\"./fi\": \"9f3c\",\n\t\"./fi.js\": \"9f3c\",\n\t\"./fil\": \"375c\",\n\t\"./fil.js\": \"375c\",\n\t\"./fo\": \"f731\",\n\t\"./fo.js\": \"f731\",\n\t\"./fr\": \"ff55\",\n\t\"./fr-ca\": \"713c\",\n\t\"./fr-ca.js\": \"713c\",\n\t\"./fr-ch\": \"16be\",\n\t\"./fr-ch.js\": \"16be\",\n\t\"./fr.js\": \"ff55\",\n\t\"./fy\": \"e89a\",\n\t\"./fy.js\": \"e89a\",\n\t\"./ga\": \"d532\",\n\t\"./ga.js\": \"d532\",\n\t\"./gd\": \"3ca6\",\n\t\"./gd.js\": \"3ca6\",\n\t\"./gl\": \"3ecb\",\n\t\"./gl.js\": \"3ecb\",\n\t\"./gom-deva\": \"d4cf\",\n\t\"./gom-deva.js\": \"d4cf\",\n\t\"./gom-latn\": \"9843\",\n\t\"./gom-latn.js\": \"9843\",\n\t\"./gu\": \"6ba0\",\n\t\"./gu.js\": \"6ba0\",\n\t\"./he\": \"fe0f\",\n\t\"./he.js\": \"fe0f\",\n\t\"./hi\": \"06e7\",\n\t\"./hi.js\": \"06e7\",\n\t\"./hr\": \"c472\",\n\t\"./hr.js\": \"c472\",\n\t\"./hu\": \"7877\",\n\t\"./hu.js\": \"7877\",\n\t\"./hy-am\": \"7bac\",\n\t\"./hy-am.js\": \"7bac\",\n\t\"./id\": \"0ec9\",\n\t\"./id.js\": \"0ec9\",\n\t\"./is\": \"bb0e\",\n\t\"./is.js\": \"bb0e\",\n\t\"./it\": \"6277\",\n\t\"./it-ch\": \"6e33\",\n\t\"./it-ch.js\": \"6e33\",\n\t\"./it.js\": \"6277\",\n\t\"./ja\": \"32ac\",\n\t\"./ja.js\": \"32ac\",\n\t\"./jv\": \"1bc3\",\n\t\"./jv.js\": \"1bc3\",\n\t\"./ka\": \"b80f\",\n\t\"./ka.js\": \"b80f\",\n\t\"./kk\": \"f3e3\",\n\t\"./kk.js\": \"f3e3\",\n\t\"./km\": \"f5b7\",\n\t\"./km.js\": \"f5b7\",\n\t\"./kn\": \"fd71\",\n\t\"./kn.js\": \"fd71\",\n\t\"./ko\": \"19ea\",\n\t\"./ko.js\": \"19ea\",\n\t\"./ku\": \"ea9d\",\n\t\"./ku.js\": \"ea9d\",\n\t\"./ky\": \"38ef\",\n\t\"./ky.js\": \"38ef\",\n\t\"./lb\": \"7887\",\n\t\"./lb.js\": \"7887\",\n\t\"./lo\": \"3973\",\n\t\"./lo.js\": \"3973\",\n\t\"./lt\": \"0853\",\n\t\"./lt.js\": \"0853\",\n\t\"./lv\": \"8f6f\",\n\t\"./lv.js\": \"8f6f\",\n\t\"./me\": \"20fe\",\n\t\"./me.js\": \"20fe\",\n\t\"./mi\": \"0dd4\",\n\t\"./mi.js\": \"0dd4\",\n\t\"./mk\": \"1e98\",\n\t\"./mk.js\": \"1e98\",\n\t\"./ml\": \"70a7\",\n\t\"./ml.js\": \"70a7\",\n\t\"./mn\": \"bb40\",\n\t\"./mn.js\": \"bb40\",\n\t\"./mr\": \"3ff9\",\n\t\"./mr.js\": \"3ff9\",\n\t\"./ms\": \"7625\",\n\t\"./ms-my\": \"12c6\",\n\t\"./ms-my.js\": \"12c6\",\n\t\"./ms.js\": \"7625\",\n\t\"./mt\": \"b082\",\n\t\"./mt.js\": \"b082\",\n\t\"./my\": \"5a95\",\n\t\"./my.js\": \"5a95\",\n\t\"./nb\": \"66aa\",\n\t\"./nb.js\": \"66aa\",\n\t\"./ne\": \"fa04\",\n\t\"./ne.js\": \"fa04\",\n\t\"./nl\": \"474b\",\n\t\"./nl-be\": \"4802\",\n\t\"./nl-be.js\": \"4802\",\n\t\"./nl.js\": \"474b\",\n\t\"./nn\": \"2875\",\n\t\"./nn.js\": \"2875\",\n\t\"./oc-lnc\": \"71ba\",\n\t\"./oc-lnc.js\": \"71ba\",\n\t\"./pa-in\": \"d879\",\n\t\"./pa-in.js\": \"d879\",\n\t\"./pl\": \"ad76\",\n\t\"./pl.js\": \"ad76\",\n\t\"./pt\": \"e15c\",\n\t\"./pt-br\": \"7d70\",\n\t\"./pt-br.js\": \"7d70\",\n\t\"./pt.js\": \"e15c\",\n\t\"./ro\": \"a02a\",\n\t\"./ro.js\": \"a02a\",\n\t\"./ru\": \"5fc8\",\n\t\"./ru.js\": \"5fc8\",\n\t\"./sd\": \"661e\",\n\t\"./sd.js\": \"661e\",\n\t\"./se\": \"eb7c\",\n\t\"./se.js\": \"eb7c\",\n\t\"./si\": \"e4f1\",\n\t\"./si.js\": \"e4f1\",\n\t\"./sk\": \"9de7\",\n\t\"./sk.js\": \"9de7\",\n\t\"./sl\": \"e05e\",\n\t\"./sl.js\": \"e05e\",\n\t\"./sq\": \"0f2a\",\n\t\"./sq.js\": \"0f2a\",\n\t\"./sr\": \"5be6\",\n\t\"./sr-cyrl\": \"ebd0\",\n\t\"./sr-cyrl.js\": \"ebd0\",\n\t\"./sr.js\": \"5be6\",\n\t\"./ss\": \"f9c9\",\n\t\"./ss.js\": \"f9c9\",\n\t\"./sv\": \"dd25\",\n\t\"./sv.js\": \"dd25\",\n\t\"./sw\": \"f63b\",\n\t\"./sw.js\": \"f63b\",\n\t\"./ta\": \"a9b5\",\n\t\"./ta.js\": \"a9b5\",\n\t\"./te\": \"652d\",\n\t\"./te.js\": \"652d\",\n\t\"./tet\": \"200a\",\n\t\"./tet.js\": \"200a\",\n\t\"./tg\": \"5d85\",\n\t\"./tg.js\": \"5d85\",\n\t\"./th\": \"6b54\",\n\t\"./th.js\": \"6b54\",\n\t\"./tk\": \"a28b\",\n\t\"./tk.js\": \"a28b\",\n\t\"./tl-ph\": \"a972\",\n\t\"./tl-ph.js\": \"a972\",\n\t\"./tlh\": \"efd1\",\n\t\"./tlh.js\": \"efd1\",\n\t\"./tr\": \"49ea\",\n\t\"./tr.js\": \"49ea\",\n\t\"./tzl\": \"5ebb\",\n\t\"./tzl.js\": \"5ebb\",\n\t\"./tzm\": \"d8d6\",\n\t\"./tzm-latn\": \"b247\",\n\t\"./tzm-latn.js\": \"b247\",\n\t\"./tzm.js\": \"d8d6\",\n\t\"./ug-cn\": \"0d0f\",\n\t\"./ug-cn.js\": \"0d0f\",\n\t\"./uk\": \"075f\",\n\t\"./uk.js\": \"075f\",\n\t\"./ur\": \"d52d\",\n\t\"./ur.js\": \"d52d\",\n\t\"./uz\": \"2b62\",\n\t\"./uz-latn\": \"da6d\",\n\t\"./uz-latn.js\": \"da6d\",\n\t\"./uz.js\": \"2b62\",\n\t\"./vi\": \"37de\",\n\t\"./vi.js\": \"37de\",\n\t\"./x-pseudo\": \"c818\",\n\t\"./x-pseudo.js\": \"c818\",\n\t\"./yo\": \"da39\",\n\t\"./yo.js\": \"da39\",\n\t\"./zh-cn\": \"baff\",\n\t\"./zh-cn.js\": \"baff\",\n\t\"./zh-hk\": \"be79\",\n\t\"./zh-hk.js\": \"be79\",\n\t\"./zh-mo\": \"b3c4\",\n\t\"./zh-mo.js\": \"b3c4\",\n\t\"./zh-tw\": \"f064\",\n\t\"./zh-tw.js\": \"f064\"\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 = \"f9ce1\";","// 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@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-2!../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--9-oneOf-1-3!../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--1-0!../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./App1.vue?vue&type=style&index=0&id=3e6cdb04&prod&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\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@4.1.3@vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"7bdd99bb\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/_css-loader@3.6.0@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","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../node_modules/_css-loader@3.6.0@css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".filter-icon[data-v-50d98bba]{margin-top:1px;float:right;font-size:9px!important;cursor:pointer;color:rgba(0,0,0,.5)}.selected-color[data-v-50d98bba]{color:#027aff}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/_css-loader@3.6.0@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"],"sourceRoot":""}