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-DekNocJG.js";import{g as J,u as O}from"./index-3sdJc-H9.js";import{_ as q}from"./AreaTree.vue_vue_type_script_setup_true_lang-klujiM9u.js";import{c as z}from"./data-DvywVrDG.js";import{_ as K}from"./bind-staff-modal.vue_vue_type_script_setup_true_lang-C67buxuJ.js";import R from"./staff-card-nBBxuHRn.js";import{c0 as L,c1 as b,au as T,S as Q,ay as U,bE as $,a9 as D,c6 as W,ac as X}from"./bootstrap-DwKkJn_4.js";import{m as Y,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-BpFlhWxK.js";import{u as Z}from"./use-modal-D3K6QxxX.js";import"./index-C772QYdW.js";import"./x-BBEQBGJU.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=Y({__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 z(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,E]=Z({connectedComponent:K});function V(){var e;if(!((e=a.value)!=null&&e.id)){D.warning("请先选择一个区域");return}E.setData({areaId:a.value.id,areaPath:c.value,boundUserIds:o.value.map(s=>s.userId)}),E.open()}function G(e){W.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(q,{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(Q),{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:V},{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:V},{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=X(ie,[["__scopeId","data-v-09672b7c"]]);export{ke as default};
|