@jecloud/func
Version:
JECloud 功能库
1 lines • 2.7 kB
JavaScript
import{createVNode as e}from"vue";import{defineComponent as t,ref as o,onMounted as r}from"vue";import{Panel as n}from"@jecloud/ui";import a from"./default-panel";import l from"./left-panel";import{isNotEmpty as s,encode as i,decode as u}from"@jecloud/utils";import{parseConfigInfo as c}from"../../../../field/src/config-info";import{addUserCommonUser as f,getUserPersonInfoEcho as p}from"../../../../data/api/rbac";export default t({name:"JeFuncSelectUser",inheritAttrs:!1,props:{selectOptions:Object,modal:Object},setup:function(t,d){d.slots,d.attrs,d.emit;var v=d.expose,m=t.selectOptions.configInfo,h="S",j=o([]),y=o([]),g=c({type:"user",configInfo:m,options:t.selectOptions}),D=o(t.selectOptions.showDeveloper?"1":"0"),A=o(!1);if(r((function(){!function(){var e,o,r,n={};if(s(g)&&s(g.sourceFields)&&(g.sourceFields.forEach((function(t,n){"id"==t&&(e=n),"USER_ID"==t&&(o=n),"DEPARTMENT_ID"==t&&(r=n)})),s(g.targetFields))){if(s(e)){var a=t.selectOptions.model[g.targetFields[e]];s(a)&&(n={type:"accountDept",jsonArray:[]},a.split(",").forEach((function(e){n.jsonArray.push({accountDeptId:e})})))}if(s(o)){var l=t.selectOptions.model[g.targetFields[o]];if(s(l))if(s(r)){var u=t.selectOptions.model[g.targetFields[r]].split(",");n={type:"userDept",jsonArray:[]},l.split(",").forEach((function(e,t){n.jsonArray.push({userId:e,deptId:u[t]})}))}else n={type:"user",jsonArray:[]},l.split(",").forEach((function(e){n.jsonArray.push({userId:e})}))}}s(n)&&n.jsonArray&&n.jsonArray.length>0?(n.jsonArray=i(n.jsonArray),p({params:n}).then((function(e){s(e)&&(j.value=e),A.value=!0}))):A.value=!0}()})),s(m)){var I=m.split(",")[3];h=I||"S"}var E=function(e){var t=e.checked,o=e.data,r=[];if("S"==h)return j.value=t?o:[],!1;if("drop"==t)r=o;else if(j.value&&j.value.length>0&&(r=u(i(j.value))),t){var n=[];o.forEach((function(e){r.some((function(t){return t.id==e.id}))||n.push(e)})),r=r.concat(n)}else{var a=[];r.forEach((function(e){o.some((function(t){return t.id==e.id}))||a.push(e)})),r=a,y.value=o}j.value=r},O=function(e,t){y.value=e,j.value=t};return v({select:function(){var e;!1!==t.selectOptions.callback({rows:j.value,config:g})&&(e=[],j.value.length>0&&(j.value.forEach((function(t){e.push(t.id)})),f({params:{accountDeptIds:e.join(",")}})),t.modal.value.close())}}),function(){return e(n,{class:"je-func-select-user"},{default:function(){return[e(n.Item,{region:"left",size:"401"},{default:function(){return[e(l,{multipleType:h,onGetSelectData:E,unCheckDatas:y.value,hideLeftPanel:A.value,checkedUser:j.value,showDeveloper:D.value},null)]}}),e(n.Item,null,{default:function(){return[e("div",{style:"width:100%;height:100%"},[e(a,{selectData:j,onUncheckUser:O,onGetSelectData:E},null)])]}})]}})}}});