2 lines
4.3 KiB
JavaScript
2 lines
4.3 KiB
JavaScript
var g=(N,y,a)=>new Promise((c,d)=>{var S=r=>{try{o(a.next(r))}catch(f){d(f)}},h=r=>{try{o(a.throw(r))}catch(f){d(f)}},o=r=>r.done?c(r.value):Promise.resolve(r.value).then(S,h);o((a=a.apply(N,y)).next())});import{a as H}from"./index-Bx458qrB.js";import{g as J,u as O}from"./index-B5KW3F42.js";import{_ as Z}from"./AreaTree.vue_vue_type_script_setup_true_lang-B-mMpWie.js";import{c as q}from"./data-DvywVrDG.js";import{_ as z}from"./bind-staff-modal.vue_vue_type_script_setup_true_lang-SYRLOt-Q.js";import R from"./staff-card-zcKJTsOq.js";import{bZ as L,b_ as b,au as T,S as K,ay as U,bu as $,a9 as D,c3 as Q,ac as W}from"./bootstrap-peLAqOBq.js";import{m as X,b9 as m,aa as F,ad as u,b2 as i,I as k,j as l,u as t,bJ as n,ae as p,ab as v,ac as A,bp as x,ai as w,bb as M}from"../jse/index-index-fr7m5rpH.js";import{u as Y}from"./use-modal-C1IjSWqI.js";import"./index-DgY5-rEc.js";import"./x-CIbp0SZ0.js";const ee={class:"content-header mb-3"},te={class:"content-header__left"},ae={class:"content-title"},se={key:0,class:"content-subtitle"},le={key:0,class:"section"},ne={class:"section__title"},oe={key:1,class:"section"},re={class:"section__title"},ie=X({__name:"area-view",setup(N){const y=m(),a=m(null),c=m(""),d=m([]);function S(){return g(this,null,function*(){try{d.value=yield H({isActive:!0})}catch(e){d.value=[]}})}S();function h(e){var s;e&&e.id!==null&&e.id!==void 0?(a.value=e,c.value=((s=y.value)==null?void 0:s.getAreaPath(e.id))||e.areaName,f(e.id)):(a.value=null,c.value="",o.value=[])}const o=m([]),r=m(!1);function f(e){return g(this,null,function*(){r.value=!0;try{o.value=yield q(e,d.value,J)}catch(s){o.value=[]}finally{r.value=!1}})}const I=F(()=>o.value.filter(e=>e.bindType==="DIRECT")),C=F(()=>o.value.filter(e=>e.bindType==="INHERITED"));function B(){var e;(e=a.value)!=null&&e.id&&f(a.value.id)}const[P,V]=Y({connectedComponent:z});function E(){var e;if(!((e=a.value)!=null&&e.id)){D.warning("请先选择一个区域");return}V.setData({areaId:a.value.id,areaPath:c.value,boundUserIds:o.value.map(s=>s.userId)}),V.open()}function G(e){Q.confirm({title:"确认解除绑定",content:`确定要解除安保人员「${e.userName}」在该区域的绑定吗?`,okText:"确定",cancelText:"取消",okButtonProps:{danger:!0},onOk(){return g(this,null,function*(){yield O(e.id),D.success("已解除绑定"),B()})}})}function j(e){if(!e.sourceAreaId)return;const s={id:e.sourceAreaId,areaName:e.sourceAreaName||""};h(s)}return(e,s)=>(i(),u(k,null,[l(t(L),{gutter:12,class:"layout-row"},{default:n(()=>[l(t(b),{xs:24,sm:24,md:6,lg:5,xl:4,class:"tree-col"},{default:n(()=>[l(t(T),{class:"tree-card",title:"业务区域"},{default:n(()=>[l(Z,{ref_key:"areaTreeRef",ref:y,onSelect:h},null,512)]),_:1})]),_:1}),l(t(b),{xs:24,sm:24,md:18,lg:19,xl:20},{default:n(()=>[l(t(K),{spinning:r.value},{default:n(()=>[p("div",ee,[p("div",te,[p("span",ae,x(c.value||"请选择区域"),1),a.value?(i(),u("span",se," - 安保人员 ("+x(o.value.length)+") ",1)):A("",!0)]),a.value?(i(),v(t(U),{key:0,type:"primary",onClick:E},{default:n(()=>[...s[0]||(s[0]=[w(" + 新增绑定 ",-1)])]),_:1})):A("",!0)]),a.value?o.value.length===0&&!r.value?(i(),v(t(T),{key:1,class:"empty-card"},{default:n(()=>[l(t($),{description:"该区域暂无绑定安保人员"},{default:n(()=>[l(t(U),{type:"primary",onClick:E},{default:n(()=>[...s[1]||(s[1]=[w(" 新增绑定 ",-1)])]),_:1})]),_:1})]),_:1})):(i(),u(k,{key:2},[I.value.length>0?(i(),u("div",le,[p("div",ne,"直接绑定 ("+x(I.value.length)+")",1),l(t(L),{gutter:[12,12]},{default:n(()=>[(i(!0),u(k,null,M(I.value,_=>(i(),v(t(b),{key:_.id,xs:24,sm:12,md:12,lg:8,xl:6},{default:n(()=>[l(R,{item:_,onUnbind:G},null,8,["item"])]),_:2},1024))),128))]),_:1})])):A("",!0),C.value.length>0?(i(),u("div",oe,[p("div",re,[w(" 继承人员 ("+x(C.value.length)+") ",1),s[2]||(s[2]=p("span",{class:"section__hint"}," — 来自父级区域,如需修改请前往对应源区域 ",-1))]),l(t(L),{gutter:[12,12]},{default:n(()=>[(i(!0),u(k,null,M(C.value,_=>(i(),v(t(b),{key:`${_.id}-${_.sourceAreaId}`,xs:24,sm:12,md:12,lg:8,xl:6},{default:n(()=>[l(R,{item:_,onGoSource:j},null,8,["item"])]),_:2},1024))),128))]),_:1})])):A("",!0)],64)):(i(),v(t(T),{key:0,class:"empty-card"},{default:n(()=>[l(t($),{description:"请在左侧选择一个区域以查看安保人员"})]),_:1}))]),_:1},8,["spinning"])]),_:1})]),_:1}),l(t(P),{onSuccess:B})],64))}}),ke=W(ie,[["__scopeId","data-v-09672b7c"]]);export{ke as default};
|