2 lines
5.6 KiB
JavaScript
2 lines
5.6 KiB
JavaScript
var j=Object.defineProperty,q=Object.defineProperties;var H=Object.getOwnPropertyDescriptors;var E=Object.getOwnPropertySymbols;var J=Object.prototype.hasOwnProperty,Y=Object.prototype.propertyIsEnumerable;var $=(s,o,a)=>o in s?j(s,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):s[o]=a,A=(s,o)=>{for(var a in o||(o={}))J.call(o,a)&&$(s,a,o[a]);if(E)for(var a of E(o))Y.call(o,a)&&$(s,a,o[a]);return s},b=(s,o)=>q(s,H(o));var h=(s,o,a)=>new Promise((k,C)=>{var m=l=>{try{p(a.next(l))}catch(g){C(g)}},D=l=>{try{p(a.throw(l))}catch(g){C(g)}},p=l=>l.done?k(l.value):Promise.resolve(l.value).then(m,D);p((a=a.apply(s,o)).next())});import"./vxe-table-uq8U2E1u.js";import{d as K,c as P,a as B}from"./index-BvAci9nf.js";import{$ as _,a9 as u}from"./bootstrap-CRjSNGHY.js";import{u as Q,c as U}from"./data-Dg2RhqW8.js";import{_ as W}from"./device-bind-drawer.vue_vue_type_script_setup_true_lang-CoUW9AOs.js";import{_ as X}from"./form.vue_vue_type_script_setup_true_lang-iISHAWQq.js";import{_ as O}from"./table-action.vue_vue_type_script_setup_true_lang-BdzHKWY1.js";import{_ as Z}from"./page.vue_vue_type_script_setup_true_lang-3ywDTU7g.js";import{m as V,b9 as ee,ab as te,b2 as ne,bJ as N,j as y,ae,u as c}from"../jse/index-index-CMeVxoEG.js";import{u as ie}from"./use-modal-BABce5hC.js";import{u as oe}from"./use-drawer-7swngGBs.js";import{u as re}from"./use-vxe-grid-BMVG5Iiw.js";import{A as v}from"./icons-CieLeI1V.js";import{v as se}from"./AlertBuilder-BVlldnPG.js";import"./dict-tag.vue_vue_type_script_setup_true_lang-BB6x-AyV.js";import"./device-config-modal.vue_vue_type_script_setup_true_lang-BSWzpuV1.js";import"./code-editor.vue_vue_type_script_setup_true_lang-Br1_X9dM.js";import"./device-select-modal.vue_vue_type_script_setup_true_lang-DITdw-Pq.js";import"./index-CIc-2hgy.js";import"./index-Bljc00Y4.js";import"./index-BNS265yo.js";import"./x-CpZ5_sBZ.js";import"./circle-check-big-DP26Iidw.js";const ce={class:"rounded-xl border border-gray-200 bg-white shadow-sm dark:border-gray-700 dark:bg-gray-900"},Me=V({name:"OpsBusArea",__name:"index-enhanced",setup(s){const[o,a]=ie({connectedComponent:X,destroyOnClose:!0}),[k,C]=oe({connectedComponent:W,destroyOnClose:!0}),m=ee(!1);function D(){var e;m.value=!m.value,(e=T.grid)==null||e.setAllTreeExpand(m.value)}function p(){T.query()}function l(){a.setData({parentId:0}).open()}function g(e){a.setData({parentId:e.id}).open()}function M(e){a.setData(e).open()}function w(e){return h(this,null,function*(){var t;const i=u.loading({content:_("ui.actionMessage.deleting",[e.areaName]),duration:0});try{yield K(e.id),u.success(_("ui.actionMessage.deleteSuccess",[e.areaName])),p()}catch(n){const r=(n==null?void 0:n.message)||((t=n==null?void 0:n.data)==null?void 0:t.msg)||"删除失败";u.error(r)}finally{i()}})}function F(e){return h(this,null,function*(){var n;const i=!e.isActive;if(!i)try{yield se("确认停用该区域吗?停用后相关工单策略可能受影响。")}catch(r){return}const t=u.loading({content:i?"启用中...":"停用中...",duration:0});try{yield P(b(A({},e),{isActive:i})),u.success(i?"已启用":"已停用"),p()}catch(r){const f=(r==null?void 0:r.message)||((n=r==null?void 0:r.data)==null?void 0:n.msg)||"操作失败";u.error(f)}finally{t()}})}function L(e){C.setData(e).open()}const G=e=>{const i=e.children;return Array.isArray(i)&&i.length>0};function z(i){return h(this,arguments,function*({row:e}){var t;try{const n=yield B(),r=Array.isArray(n)?n:(t=n==null?void 0:n.list)!=null?t:[];return r.filter(d=>d.parentId===e.id).map(d=>{const x=r.filter(I=>I.parentId===d.id).length;return b(A({},d),{hasChildren:x>0})})}catch(n){return u.error(`加载子节点失败: ${(n==null?void 0:n.message)||"未知错误"}`),[]}})}function R(e){return h(this,null,function*(){var f;const i={};e!=null&&e.name&&(i.name=e.name),e!=null&&e.areaType&&(i.areaType=e.areaType),(e==null?void 0:e.isActive)!==void 0&&(e==null?void 0:e.isActive)!==""&&(i.isActive=e.isActive);const t=yield B(i),n=Array.isArray(t)?t:(f=t==null?void 0:t.list)!=null?f:[];return n.filter(d=>!d.parentId||d.parentId===0).map(d=>{const x=n.filter(I=>I.parentId===d.id).length;return b(A({},d),{hasChildren:x>0})})})}const[S,T]=re({formOptions:{schema:U()},gridOptions:{columns:Q(),maxHeight:700,pagerConfig:{enabled:!1},proxyConfig:{ajax:{query:(e,i)=>h(null,null,function*(){const t=yield R(i);return{list:t,total:t.length}})}},rowConfig:{keyField:"id",isHover:!0},scrollY:{enabled:!0,gt:50},toolbarConfig:{refresh:!0,search:!0},treeConfig:{parentField:"parentId",rowField:"id",lazy:!0,hasChild:"hasChildren",loadMethod:z,reserve:!0,accordion:!1}}});return(e,i)=>(ne(),te(c(Z),{"auto-content-height":"",class:"ops-area-page"},{default:N(()=>[y(c(o),{onSuccess:p}),y(c(k),{onRefresh:p}),ae("div",ce,[y(c(S),{"table-title":"业务区域管理"},{"toolbar-tools":N(()=>[y(c(O),{actions:[{label:"新增区域",type:"primary",icon:c(v).ADD,onClick:l},{label:m.value?"收缩全部":"展开全部",type:"default",icon:m.value?"lucide:minimize-2":"lucide:maximize-2",onClick:D}]},null,8,["actions"])]),actions:N(({row:t})=>[y(c(O),{actions:[{label:"新增下级",type:"link",icon:c(v).ADD,onClick:()=>g(t)},{label:c(_)("common.edit"),type:"link",icon:c(v).EDIT,onClick:()=>M(t)},{label:t.isActive?"停用":"启用",type:"link",icon:"lucide:power",onClick:()=>F(t)},{label:"绑定设备",type:"link",icon:"lucide:link",onClick:()=>L(t)},{label:c(_)("common.delete"),type:"link",danger:!0,icon:c(v).DELETE,disabled:G(t),popConfirm:{title:`确认删除区域【${t.areaName}】吗?删除后其下级区域将无法归属,请先处理子区域或关联设备。`,confirm:()=>w(t)}}]},null,8,["actions"])]),_:1})])]),_:1}))}});export{Me as default};
|