LJWWDMSelect.68ccc02a.js 6.1 KB

1
  1. import{n as H,r as o,b as I,w as y,t as c,o as R,$ as L}from"./index.9d8a3e8d.js";import{L as $}from"./LJWWData.05f5d8d0.js";const B={__name:"LJWWDMSelect",props:{visible:{type:Boolean,default:!1},value:{type:Array,default:()=>[]},valueType:{type:String,default:"string"},treeProps:{type:Object,default:()=>({children:"children",label:"name",value:"mark"})},defaultCheckedKeys:{type:Array,default:()=>[]},placeholder:{type:String,default:"\u8BF7\u9009\u62E9"},height:{type:String,default:"36px"},dialog:{type:Boolean,default:!1},dialogWidth:{type:String,default:"600px"},dialogHeight:{type:String,default:"500px"}},emits:["input","dept","member"],setup(x,{expose:s,emit:t}){const l=x,a=o([]),d=o(""),p=o(!1),i=o(),f=o([]),h=o([]),w=o(!1),v=o(!1),K=o({true:"el-icon-arrow-up",false:"el-icon-arrow-down"}),m=o(!1);function _(e=""){return!e||e.indexOf("-")<0?e:e.split("-")[1]}const C=I(()=>a.value.filter(e=>e.type===1).map(e=>_(e.mark))),k=I(()=>a.value.filter(e=>e.type===2).map(e=>_(e.mark)));y(()=>a.value,()=>{p.value=a.value.length===h.value.length;let e,n;l.valueType==="string"?(e=C.value.join(","),n=k.value.join(",")):l.valueType==="array"&&(e=C.value,n=k.value),c(()=>{t("input",a.value),t("dept",e),t("member",n)})}),y(()=>d.value,e=>{i.value.filter(e)}),y(()=>l.defaultCheckedKeys,()=>{c(()=>{g()})},{deep:!0}),y(()=>l.visible,e=>{e&&j()});const P=(e,n)=>e?n.name.indexOf(e)!==-1:!0;function V(e=""){return e.indexOf("user")>-1?2:e.indexOf("dept")>-1?1:""}const A=()=>{if(v.value)return v.value=!1;w.value=!w.value};function N(e,n){a.value.splice(n,1),i.value.setChecked(e.mark,!1,!1)}function W(e){const n=e.data;n&&typeof n=="object"&&!Array.isArray(n)&&e.checked&&(console.log("modelInputValue.value:",a.value),i.value.setChecked(n.mark,!1,!1)),e.parent?W(e.parent):c(()=>{m.value=!1,D()})}function b(e){const n=i.value.getNode(e.mark);n&&n.parent&&W(n.parent)}function D(){c(()=>{const e=i.value.getCheckedNodes();a.value=e.map(n=>({mark:n.mark,name:n.name,type:n.type}))})}const g=(e,n)=>{if(!m.value){if(!n&&e&&e.type===2){m.value=!0,b(e);return}e&&e.type===1&&e.children&&e.children.length&&e.children.filter(r=>r.type===2).map(r=>{i.value.setChecked(r.mark,n,!1)}),D()}};function O(e){e?(i.value.setCheckedKeys(h.value),c(()=>{g()})):j()}function j(){a.value=[],i.value.setCheckedKeys([])}function S(){if(!L.getters.company){console.log("LJWWDMSelect getCompanyDept not company");return}HTTP.post("get_company_dept",{company_id:L.getters.company}).then(e=>{if(e.code!==0)return f.value=[];f.value=e.data;const n=(r=[])=>{for(let u=0;u<r.length;u++)h.value.push(r[u].mark),r[u].children&&n(r[u].children)};n(f.value),c(()=>{l.defaultCheckedKeys.length&&g()})}).catch(e=>{console.log("error:",e)})}function T(){v.value=!0,console.log("\u6253\u5F00dialog")}return s({show:T}),R(()=>{S()}),{__sfc:!0,emits:t,props:l,modelInputValue:a,filterText:d,allChecked:p,downTreeRef:i,treeData:f,treeDataKeys:h,isDown:w,isDialogShow:v,lJWWDMIcons:K,cancel_personnel_ing:m,formatId:_,deptIds:C,memberIds:k,filterNode:P,getWWDataNodeKeyType:V,handleClick:A,handleDeleteModelValue:N,removeDeptParent:W,getUpperLevelDeptParent:b,updateModelInputValue:D,handleCheckChange:g,handleAllChecked:O,handleAllClear:j,getCompanyDept:S,show:T,LJWWData:$}}};var M=function(){var s=this,t=s._self._c,l=s._self._setupProxy;return t("div",{staticClass:"lj-ww-d-m-tree",class:{"lj-ww-d-m-tree-down":l.isDown,"lj-ww-d-m-tree-dialog":s.dialog,"lj-ww-d-m-tree-dialog-is-dialog-show":l.isDialogShow},style:{"--lj-ww-d-m-content-height":s.height,"--lj-ww-d-m-dialog-width":s.dialogWidth,"--lj-ww-d-m-dialog-height":s.dialogHeight},on:{click:function(a){return a.stopPropagation(),l.handleClick.apply(null,arguments)}}},[t("div",{staticClass:"lj-ww-d-m-content"},[l.modelInputValue.length?t("div",{staticClass:"lj-ww-d-m-input"},s._l(l.modelInputValue,function(a,d){return t("div",{key:d,staticClass:"lj-d-m-item"},[t("div",{staticClass:"lj-d-m-label"},[t(l.LJWWData,{attrs:{type:l.getWWDataNodeKeyType(a.mark),openid:a.name}})],1),t("i",{staticClass:"lj-d-m-delete-icon el-icon-close",on:{click:function(p){return p.stopPropagation(),l.handleDeleteModelValue(a,d)}}})])}),0):s._e(),l.modelInputValue.length?s._e():t("div",{staticClass:"lj-ww-d-m-input-placeholder"},[s._v(" "+s._s(s.placeholder)+" ")]),t("div",{staticClass:"lj-ww-d-m-icon"},[t("i",{class:l.lJWWDMIcons[l.isDown]})])]),t("div",{staticClass:"lj-ww-d-m-down-main",on:{click:function(a){return a.stopPropagation(),(()=>{}).apply(null,arguments)}}},[t("div",{staticClass:"lj-ww-d-m-down-title"},[s._v("\u90E8\u95E8/\u5458\u5DE5")]),t("div",{staticClass:"lj-ww-d-m-down-filter"},[t("el-input",{attrs:{placeholder:"\u8BF7\u8F93\u5165\u5185\u5BB9"},model:{value:l.filterText,callback:function(a){l.filterText=a},expression:"filterText"}})],1),t("div",{staticClass:"lj-ww-d-m-down-tree"},[t("el-checkbox",{on:{change:l.handleAllChecked},model:{value:l.allChecked,callback:function(a){l.allChecked=a},expression:"allChecked"}},[s._v(" \u5168\u90E8 ")]),t("el-tree",{ref:"downTreeRef",attrs:{"show-checkbox":"","check-strictly":"","node-key":"mark",data:l.treeData,"default-checked-keys":s.defaultCheckedKeys,props:s.treeProps,"filter-node-method":l.filterNode},on:{"check-change":l.handleCheckChange},scopedSlots:s._u([{key:"default",fn:function({data:a}){return t("div",{staticClass:"lj-ww-d-m-custom-tree-node"},[t(l.LJWWData,{attrs:{type:a.type,openid:a.name}}),t("div",{staticClass:"next-level-btn",class:{show:a.type===1&&a.children.length}},[t("i",{staticClass:"iconfont icon-xiaji"}),t("span",{staticClass:"next-level-label"},[s._v("\u4E0B\u7EA7")])])],1)}}])})],1),t("div",{staticClass:"lj-ww-d-m-down-footer"},[t("div",{staticClass:"statistics"},[s._v(" \u5DF2\u9009\u62E9 "),t("span",{staticClass:"statistics-value"},[s._v(s._s(l.modelInputValue.length))]),s._v(" \u9879 ")]),t("el-button",{attrs:{type:"text"},on:{click:function(a){return a.stopPropagation(),l.handleAllClear.apply(null,arguments)}}},[s._v("\u6E05\u7A7A")])],1)])])},z=[];M._withStripped=!0;var J=H(B,M,z,!1,null,null,null,null);J.options.__file="E:/\u5341\u4E8C\u79D1\u6280/\u9879\u76EE/\u4E5D\u53F7\u540C\u4E8B/salary-management-web/src/components/LJWWDMSelect/LJWWDMSelect.vue";const U=J.exports;export{U as L};