2 lines
6.1 KiB
JavaScript
2 lines
6.1 KiB
JavaScript
|
|
import{u as O,G as B,r as i,j as e,H as N,B as c,I as H,z as f,v as E,R as K,T as A,U as G,V as J,K as Q,M as S,d5 as W,_ as X,d6 as Y,d7 as Z,s as _,d8 as ee}from"./index-D2cxrzyv.js";import{P as se}from"./index-DICUnuN_.js";import{u as ae}from"./useDict-BN4y0n-Y.js";import{g as te}from"./pagination-m5F4NDQi.js";import{F as r}from"./index-KuslyOWx.js";import{C as D}from"./index-BFDbUxK1.js";import{I as j}from"./index-4zw5l6IX.js";import{F as ie}from"./Table-BLvbgkX9.js";import{T as de}from"./index-C8Xnkbw4.js";import{P as ce}from"./index-Dv-9vGc2.js";import"./useForm-CaItC8xb.js";import"./row-C5EMotZ4.js";import"./iconUtil-CAY5Il88.js";import"./index-COTHVrjr.js";import"./index-Iw46KAPi.js";import"./Pagination-lXX40XmA.js";const{Text:T}=A;function be(){const{t:a}=O(),{can:u}=B(),{items:y}=ae("sys_common_status"),[P,g]=i.useState(!1),[F,w]=i.useState(!1),[o,I]=i.useState(""),L=()=>{},R=()=>{I("")},[m,k]=i.useState([]),[v,$]=i.useState([]),[V,l]=i.useState(!1),[p,b]=i.useState(null),[n]=r.useForm(),x=async()=>{g(!0);try{const[s,t]=await Promise.all([W(),X()]);k(s||[]),$(t||[])}finally{g(!1)}};i.useEffect(()=>{x()},[]);const h=i.useMemo(()=>{const s={};return v.forEach(t=>{s[t.userId]=t}),s},[v]),C=i.useMemo(()=>{if(!o)return m;const s=o.toLowerCase();return m.filter(t=>{const d=h[t.userId];return t.deviceCode.toLowerCase().includes(s)||(t.deviceName||"").toLowerCase().includes(s)||((d==null?void 0:d.displayName)||"").toLowerCase().includes(s)||String(t.userId).includes(s)})},[m,o,h]),M=()=>{b(null),n.resetFields(),n.setFieldsValue({status:1}),l(!0)},U=s=>{b(s),n.setFieldsValue({userId:s.userId,deviceCode:s.deviceCode,deviceName:s.deviceName,status:s.status??1}),l(!0)},q=async()=>{const s=await n.validateFields();w(!0);try{const t={userId:s.userId,deviceCode:s.deviceCode,deviceName:s.deviceName,status:s.status};p?await Y(p.deviceId,t):await Z(t),_.success(a("devicesExt.operationSucceeded")),l(!1),await x()}finally{w(!1)}},z=async s=>{await ee(s),_.success(a("devicesExt.operationSucceeded")),await x()};return e.jsxs("div",{className:"app-page devices-page",children:[e.jsx(se,{title:a("devices.title"),subtitle:a("devices.subtitle")}),e.jsx(D,{className:"devices-table-card app-page__filter-card",styles:{body:{padding:"16px"}},children:e.jsxs("div",{className:"app-page__toolbar",style:{justifyContent:"space-between",width:"100%"},children:[e.jsxs("div",{className:"app-page__toolbar",children:[e.jsx(j,{placeholder:a("devicesExt.searchPlaceholder"),prefix:e.jsx(N,{"aria-hidden":"true"}),style:{width:360},value:o,onChange:s=>I(s.target.value),allowClear:!0,"aria-label":a("devicesExt.searchLabel")}),e.jsx(c,{type:"primary",icon:e.jsx(N,{"aria-hidden":"true"}),onClick:L,children:a("common.search")}),e.jsx(c,{onClick:R,children:a("common.reset")})]}),u("device:create")?e.jsx(c,{type:"primary",icon:e.jsx(H,{"aria-hidden":"true"}),onClick:M,children:a("common.create")}):null]})}),e.jsx(D,{className:"app-page__content-card flex-1 flex flex-col overflow-hidden",styles:{body:{padding:0,flex:1,display:"flex",flexDirection:"column",overflow:"hidden"}},children:e.jsx(ie,{rowKey:"deviceId",dataSource:C,loading:P,size:"middle",scroll:{y:"calc(100vh - 350px)"},pagination:te(C.length,1,1e3),columns:[{title:a("devicesExt.device"),key:"device",render:(s,t)=>e.jsxs(f,{children:[e.jsx("div",{className:"device-icon-placeholder",children:e.jsx(E,{"aria-hidden":"true"})}),e.jsxs("div",{children:[e.jsx("div",{className:"device-name font-medium",children:t.deviceName||a("devicesExt.unnamedDevice")}),e.jsx("div",{className:"device-code text-xs text-gray-400 tabular-nums",children:t.deviceCode})]})]})},{title:a("devices.owner"),key:"user",render:(s,t)=>{const d=h[t.userId];return d?e.jsxs(f,{children:[e.jsx(K,{"aria-hidden":"true",style:{color:"#8c8c8c"}}),e.jsx("span",{children:d.displayName}),e.jsxs(T,{type:"secondary",style:{fontSize:"12px"},className:"tabular-nums",children:["(",a("devicesExt.ownerId"),": ",t.userId,")"]})]}):e.jsxs("span",{className:"tabular-nums",children:[a("devicesExt.ownerId"),": ",t.userId]})}},{title:a("common.status"),dataInd
|