index.lbbLqjbF.js 13 KB

1
  1. import{bl as e,bE as t,o as s,X as l,t as a,p as i,w as o,v as r,x as c,y as n,B as d,D as u,F as h,E as p,H as m,z as f,R as y,A as g,I as k,q as b,a6 as S,b6 as v}from"./index-P0fyQ2Em.js";import{_ as N}from"./u-search.CSVnMmHg.js";import{r as C}from"./uni-app.es.DOtS5Ldl.js";import{_}from"./u-tag.BmeG4z_q.js";import{l as T,_ as L}from"./ly-tree.DZ8MU_HY.js";import{_ as j}from"./u-avatar.q3DpmfEb.js";import{_ as w}from"./u-button.Chh1-6a-.js";import{_ as V}from"./u-popup.CXrq2y3n.js";import{_ as x}from"./index.BuZ8YmVY.js";import{u as K}from"./base.DOXur1tF.js";import{_ as $}from"./_plugin-vue_export-helper.BCo6x5W8.js";import{s as I}from"./index.DsvBnwWf.js";const P=K(),D={label:"fullName",value:"id",icon:"icon",children:"children"},z={enabledMark:1,groupId:"",organizeId:"",positionId:"",roleId:""},U=[{fullName:"当前用户",id:"@userId",orgNameTree:"当前用户"}],A=[{fullName:"当前组织",id:"--org",orgNameTree:""},{fullName:"当前组织及子组织",id:"--subOrg",orgNameTree:"及子组织"},{fullName:"当前组织及子孙组织",id:"--progenyOrg",orgNameTree:"及子孙组织"}],O=[{fullName:"当前岗位",id:"--pos",orgNameTree:""},{fullName:"当前岗位及子岗位",id:"--subPos",orgNameTree:"及子岗位"},{fullName:"当前岗位及子孙岗位",id:"--progenyPos",orgNameTree:"及子孙岗位"}];const Q=$({name:"jnpf-users-select",components:{SelectPopup:$({props:{selectedData:{type:Array,default:()=>[]},modelValue:{type:Boolean,default:!1},zIndex:{type:[String,Number],default:0},props:{type:Object,default:()=>({label:"fullName",value:"id",icon:"icon",children:"children",isLeaf:"isLeaf"})},multiple:{type:Boolean,default:!0},hasSys:{type:Boolean,default:!1}},components:{lyCheckbox:T,Empty:x},data:()=>({moving:!1,selectedList:[],selectedIds:[],keyword:"",showPopup:!1,lazyOptions:[],activeKey:"user",hasPage:!1,pagination:{hasPage:1,currentPage:1,pageSize:20},triggered:!1,finish:!1,list:[],userList:[],scrollTop:0,currStep:0,userQuery:{}}),watch:{modelValue:{handler(e){this.showPopup=e,e&&setTimeout((()=>this.init()),10)},immediate:!0},selectedList:{handler(e){this.selectedIds=e.map((e=>e.id)),this.$refs.tree&&this.$refs.tree.setCheckedKeys(this.selectedIds)},deep:!0},selectedData:{handler(e){e&&setTimeout((()=>this.init()),10)},deep:!0}},computed:{baseURL(){return this.define.baseURL},uZIndex(){return this.zIndex?this.zIndex:this.$u.zIndex.popup},realProps(){return{...D,...this.props}}},methods:{init(){this.keyword="",this.hasPage=0,this.currStep=0,this.activeKey="user",this.resetQuery(),this.$nextTick((()=>{this.triggered=!0})),this.selectedList=JSON.parse(JSON.stringify(this.selectedData)),this.getGroupList()},handleToFirst(){this.currStep&&(this.currStep=0,this.hasPage=!1,this.keyword="",this.resetQuery())},resetQuery(){this.userList=[],this.finish=!1,this.pagination.currentPage=1},loadNode(t,s){var l;const a=t.key||"0",i=(null==(l=null==t?void 0:t.data)?void 0:l.type)||"organize";e({id:a,type:i}).then((e=>{var t;const l=(null==(t=e.data)?void 0:t.list)||[];s(l)}))},handleScroll(e){this.scrollTop=e.detail.scrollTop},goTop(){this.scrollTop=0},handleScrollToLower(){this.finish||"user"!==this.activeKey||this.getUserList()},getUserList(){let e={keyword:this.keyword,...this.pagination,...this.userQuery};t(e).then((e=>{const t=(e.data.list||[]).map((e=>({...e,id:`${e.id}--user`,orgNameTree:e.orgNameTree||e.fullName})));t.length<this.pagination.pageSize&&(this.finish=!0),this.userList=this.userList.concat(t),this.pagination.currentPage++}))},handleTreeNodeClick(e){const t=e.data;this.currStep=1,this.getSubData(t)},getSubData(e){const t="organize"===e.type?A:O,s=[];for(const l of t)s.push({...e,fullName:l.fullName,icon:"",id:`${e.id}${l.id}`,orgNameTree:e.orgNameTree+l.orgNameTree});this.userList=s},handleNodeClick(e){this.userQuery={...z,groupId:e.id},this.currStep=1,this.keyword="",this.resetQuery(),this.getUserList()},handleUserNodeClick(e){const t=this.selectedList.findIndex((t=>t.id===e.id));if(-1!==t)return this.selectedList.splice(t,1);this.multiple?this.selectedList.push(e):this.selectedList=[e]},delSelect(e){this.selectedList.splice(e,1)},setCheckAll(){this.selectedIds=[],this.selectedList=[]},handleConfirm(){this.$emit("confirm",this.selectedList,this.selectedIds),this.close()},close(){this.$emit("close",!1)},toggloActive(e){this.activeKey!==e&&(this.currStep=0,this.keyword="",this.resetQuery(),this.$nextTick((async()=>{if(this.activeKey=e,this.goTop(),"group"===this.activeKey){const e=await P.getGroupList();this.userList=e.map((e=>({...e,id:`${e.id}--group`,orgNameTree:e.orgNameTree||e.fullName})))}if("role"!==this.activeKey)"system"===this.activeKey&&(this.userList=U);else{const e=await P.getRoleList();this.userList=e.map((e=>({...e,id:`${e.id}--role`,orgNameTree:e.orgNameTree||e.fullName})))}})))},async getGroupList(){const e=await P.getGroupList();this.list=[{fullName:"全部用户",icon:"icon-ym icon-ym-generator-group1",id:""},...e]},handleSearch(e){this.keyword=e,this.hasPage=!!e,this.currStep=e?1:0,this.goTop(),"user"!=this.activeKey&&(this.activeKey="user"),this.$nextTick((()=>{this.keyword&&(this.userQuery={...z},this.getGroupList(),this.resetQuery(),this.$u.debounce(this.getUserList,300))}))}}},[["render",function(e,t,v,T,x,K){const $=k,I=b,P=C(s("u-search"),N),D=C(s("u-tag"),_),z=S,U=C(s("ly-tree"),L),A=l("Empty"),O=l("lyCheckbox"),Q=C(s("u-avatar"),j),B=C(s("u-button"),w),E=C(s("u-popup"),V);return a(),i(E,{class:"jnpf-tree-select-popup",mode:"right",modelValue:x.showPopup,"onUpdate:modelValue":t[11]||(t[11]=e=>x.showPopup=e),width:"100%",onClose:K.close},{default:o((()=>[r(I,{class:"jnpf-tree-select-body"},{default:o((()=>[r(I,{class:"jnpf-tree-select-title"},{default:o((()=>[r($,{class:"icon-ym icon-ym-report-icon-preview-pagePre backIcon",onClick:t[0]||(t[0]=e=>K.close())}),r(I,{class:"title"},{default:o((()=>[c("选择用户")])),_:1})])),_:1}),r(I,{class:"jnpf-tree-select-search"},{default:o((()=>[r(P,{placeholder:e.$t("app.apply.pleaseKeyword"),modelValue:x.keyword,"onUpdate:modelValue":t[1]||(t[1]=e=>x.keyword=e),height:"72","show-action":!1,onChange:K.handleSearch,"bg-color":"#f0f2f6",shape:"square"},null,8,["placeholder","modelValue","onChange"])])),_:1}),r(I,{class:"jnpf-tree-selected"},{default:o((()=>[r(I,{class:"jnpf-tree-selected-head"},{default:o((()=>[r(I,null,{default:o((()=>[c(n(e.$t("component.jnpf.common.selected"))+"("+n(x.selectedList.length||0)+")",1)])),_:1}),v.multiple?(a(),i(I,{key:0,class:"clear-btn",onClick:K.setCheckAll},{default:o((()=>[c(n(e.$t("component.jnpf.common.clearAll")),1)])),_:1},8,["onClick"])):d("",!0)])),_:1}),r(I,{class:"jnpf-tree-selected-box"},{default:o((()=>[r(z,{"scroll-y":"true",class:"select-list"},{default:o((()=>[(a(!0),u(h,null,p(x.selectedList,((e,t)=>(a(),i(D,{closeable:"",onClose:e=>K.delSelect(t),key:t,text:e.orgNameTree,class:"u-selectTag"},null,8,["onClose","text"])))),128))])),_:1})])),_:1})])),_:1}),r(I,{class:"jnpf-tree-selected-line"}),r(I,{class:"jnpf-tree-selected-tabs"},{default:o((()=>[r(I,{class:m(["tab-item",{"tab-item-active":"user"===x.activeKey}]),onClick:t[2]||(t[2]=e=>K.toggloActive("user"))},{default:o((()=>[c(" 用户 ")])),_:1},8,["class"]),r(I,{class:m(["tab-item",{"tab-item-active":"position"===x.activeKey}]),onClick:t[3]||(t[3]=e=>K.toggloActive("position"))},{default:o((()=>[c(" 组织岗位 ")])),_:1},8,["class"]),r(I,{class:m(["tab-item",{"tab-item-active":"role"===x.activeKey}]),onClick:t[4]||(t[4]=e=>K.toggloActive("role"))},{default:o((()=>[c(" 角色 ")])),_:1},8,["class"]),r(I,{class:m(["tab-item",{"tab-item-active":"group"===x.activeKey}]),onClick:t[5]||(t[5]=e=>K.toggloActive("group"))},{default:o((()=>[c(" 用户组 ")])),_:1},8,["class"]),v.hasSys?(a(),i(I,{key:0,class:m(["tab-item",{"tab-item-active":"system"===x.activeKey}]),onClick:t[6]||(t[6]=e=>K.toggloActive("system"))},{default:o((()=>[c(" 动态参数 ")])),_:1},8,["class"])):d("",!0)])),_:1}),["user","position"].includes(x.activeKey)?(a(),i(I,{key:0,class:"jnpf-tree-selected-breadcrumb"},{default:o((()=>["user"===x.activeKey?(a(),i(I,{key:0,class:m(["breadcrumb-item",{"breadcrumb-item-active":!x.currStep}]),onClick:t[7]||(t[7]=e=>K.handleToFirst())},{default:o((()=>[c(" 用户组 ")])),_:1},8,["class"])):d("",!0),"position"===x.activeKey?(a(),i(I,{key:1,class:m(["breadcrumb-item",{"breadcrumb-item-active":!x.currStep}]),onClick:t[8]||(t[8]=e=>K.handleToFirst())},{default:o((()=>[c(" 组织岗位 ")])),_:1},8,["class"])):d("",!0),x.currStep?(a(),i(I,{key:2,class:"icon-ym icon-ym-caret-right breadcrumb-item"})):d("",!0),x.currStep&&"user"===x.activeKey?(a(),i(I,{key:3,class:m(["breadcrumb-item",{"breadcrumb-item-active":x.currStep}])},{default:o((()=>[c(" 用户列表 ")])),_:1},8,["class"])):d("",!0),x.currStep&&"position"===x.activeKey?(a(),i(I,{key:4,class:m(["breadcrumb-item",{"breadcrumb-item-active":x.currStep}])},{default:o((()=>[c(" 动态参数 ")])),_:1},8,["class"])):d("",!0)])),_:1})):d("",!0),r(I,{class:"jnpf-tree-select-tree"},{default:o((()=>[f(r(z,{"scroll-y":!0,style:{height:"100%"},"scroll-top":x.scrollTop,onScroll:K.handleScroll},{default:o((()=>["position"===x.activeKey?(a(),i(U,{key:0,ref:"tree",props:K.realProps,"node-key":K.realProps.value,load:K.loadNode,lazy:"","tree-data":x.lazyOptions,"show-node-icon":"",defaultExpandAll:!1,onNodeClick:K.handleTreeNodeClick,expandOnClickNode:!1,checkOnClickNode:!1},null,8,["props","node-key","load","tree-data","onNodeClick"])):(a(),u(h,{key:1},[x.list.length?(a(),i(I,{key:0,class:"jnpf-selcet-list"},{default:o((()=>[(a(!0),u(h,null,p(x.list,(e=>(a(),i(I,{class:"jnpf-selcet-cell",key:e.id,onClick:y((t=>K.handleNodeClick(e)),["stop"])},{default:o((()=>[r(I,{class:m(["jnpf-selcet-cell-icon",e.icon])},null,8,["class"]),r(I,{class:"jnpf-selcet-cell-name"},{default:o((()=>[c(n(e.fullName),1)])),_:2},1024)])),_:2},1032,["onClick"])))),128))])),_:1})):(a(),i(A,{key:1,class:"h-full"}))],64))])),_:1},8,["scroll-top","onScroll"]),[[g,!x.hasPage&&!x.currStep&&["user","position"].includes(x.activeKey)]]),x.hasPage||x.currStep||!["user","position"].includes(x.activeKey)?(a(),i(z,{key:0,"scroll-y":!0,style:{height:"100%"},"refresher-enabled":!1,"refresher-threshold":100,"scroll-with-animation":!0,"refresher-triggered":x.triggered,onScrolltolower:K.handleScrollToLower},{default:o((()=>[x.userList.length?(a(),i(I,{key:0,class:"jnpf-selcet-list"},{default:o((()=>[(a(!0),u(h,null,p(x.userList,(e=>(a(),i(I,{class:"jnpf-selcet-cell",key:e.id,onClick:y((t=>K.handleUserNodeClick(e)),["stop"])},{default:o((()=>[r(I,{class:"jnpf-selcet-cell-action"},{default:o((()=>[r(O,{type:v.multiple?"checkbox":"radio",checked:x.selectedIds.includes(e.id)},null,8,["type","checked"])])),_:2},1024),"user"===x.activeKey?(a(),i(Q,{key:0,class:"jnpf-selcet-cell-avatar",src:K.baseURL+e.headIcon,mode:"circle",size:"44"},null,8,["src"])):d("",!0),r(I,{class:"jnpf-selcet-cell-name"},{default:o((()=>[c(n(e.orgNameTree),1)])),_:2},1024)])),_:2},1032,["onClick"])))),128))])),_:1})):(a(),i(A,{key:1,class:"h-full"}))])),_:1},8,["refresher-triggered","onScrolltolower"])):d("",!0)])),_:1}),r(I,{class:"jnpf-tree-select-actions"},{default:o((()=>[r(B,{class:"buttom-btn",onClick:t[9]||(t[9]=e=>K.close())},{default:o((()=>[c(n(e.$t("common.cancelText")),1)])),_:1}),r(B,{class:"buttom-btn",type:"primary",onClick:t[10]||(t[10]=y((e=>K.handleConfirm()),["stop"]))},{default:o((()=>[c(n(e.$t("common.okText")),1)])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue","onClose"])}]]),selectBox:I},props:{modelValue:{default:""},isInput:{type:Boolean,default:!0},placeholder:{type:String,default:"请选择"},disabled:{type:Boolean,default:!1},hasSys:{type:Boolean,default:!1}},data:()=>({selectShow:!1,innerValue:"",selectedData:[],multiple:!0}),watch:{modelValue:{handler(){this.setDefault()},immediate:!0}},methods:{setDefault(){if(!this.modelValue||!this.modelValue.length)return this.setNullValue();const e=this.multiple?this.modelValue:[this.modelValue];v(e).then((e=>{if(!this.modelValue||!this.modelValue.length)return this.setNullValue();const t=e.data.list||[];this.selectedData=t,this.innerValue=this.selectedData.map((e=>e.orgNameTree)).join()}))},setNullValue(){this.innerValue="",this.selectedData=[]},openSelect(){this.disabled||(this.selectShow=!0)},handleConfirm(e,t){this.multiple?(this.$emit("update:modelValue",t),this.$emit("change",t,e)):(this.$emit("update:modelValue",t[0]),this.$emit("change",t[0],e[0]))},handleClose(){this.selectShow=!1}}},[["render",function(e,t,s,c,n,u){const h=l("selectBox"),p=l("SelectPopup"),m=b;return a(),i(m,{class:"jnpf-users-select w-full"},{default:o((()=>[s.isInput?(a(),i(h,{key:0,modelValue:n.innerValue,"onUpdate:modelValue":t[0]||(t[0]=e=>n.innerValue=e),placeholder:s.placeholder,onOpenSelect:u.openSelect,"select-open":n.selectShow,disabled:s.disabled},null,8,["modelValue","placeholder","onOpenSelect","select-open","disabled"])):d("",!0),r(p,{modelValue:n.selectShow,"onUpdate:modelValue":t[1]||(t[1]=e=>n.selectShow=e),selectedData:n.selectedData,hasSys:s.hasSys,onClose:u.handleClose,onConfirm:u.handleConfirm},null,8,["modelValue","selectedData","hasSys","onClose","onConfirm"])])),_:1})}]]);export{Q as _};